Kaynağa Gözat

입점 단품등록 안전인증 필수 처리

eskim 5 yıl önce
ebeveyn
işleme
63c9a74442

+ 49 - 37
src/main/java/com/style24/scm/biz/service/TssGoodsService.java

@@ -146,20 +146,20 @@ public class TssGoodsService {
 
 		if ("Y".equals(goodsSearch.getImageViewYn())) {
 			// 헤더 title 설정
-			String[] listTitles = {"이미지", "상품코드", "업체명", "브랜드명", "상품명", "품목", 
-				"전시재고", "상품상태", "스타일년도", "시즌","정상가", "판매가", 
+			String[] listTitles = {"이미지", "상품코드", "업체명", "브랜드명", "상품명", "품목",
+				"전시재고", "상품상태", "스타일년도", "시즌", "정상가", "판매가",
 				"할인율", "가격변경일", "정상이월구분", "반품가능 여부"};
 
 			// DB 처리 시 사용되는 파라미터명(셀명) 설정
 			String[] cellNames = {"SYS_IMG_NM", "GOODS_CD", "SUPPLY_COMP_CD", "BRAND_GRP_NM", "GOODS_NM", "ITEMKIND_NM",
 				"STOCK_QTY_SUM", "GOODS_STAT", "STYLE_YEAR", "SEASON_CD", "LIST_PRICE", "CURR_PRICE",
-				"DC_RATE", "PRICE_UPD_DT","FORMAL_GB", "RETURNABLE_YN"};
+				"DC_RATE", "PRICE_UPD_DT", "FORMAL_GB", "RETURNABLE_YN"};
 
 			String[] cellTypes = {GagaExcelConstants.CellType.IMAGE.name(),
 				GagaExcelConstants.CellType.CHAR_CENTER.name(), GagaExcelConstants.CellType.CHAR_CENTER.name(),
 				GagaExcelConstants.CellType.CHAR_CENTER.name(), GagaExcelConstants.CellType.CHAR_CENTER.name(),
 				GagaExcelConstants.CellType.CHAR_CENTER.name(), GagaExcelConstants.CellType.CHAR_RIGHT.name(),
-				GagaExcelConstants.CellType.CHAR_CENTER.name(),  GagaExcelConstants.CellType.CHAR_CENTER.name(),
+				GagaExcelConstants.CellType.CHAR_CENTER.name(), GagaExcelConstants.CellType.CHAR_CENTER.name(),
 				GagaExcelConstants.CellType.CHAR_CENTER.name(), GagaExcelConstants.CellType.CHAR_RIGHT.name(),
 				GagaExcelConstants.CellType.CHAR_RIGHT.name(), GagaExcelConstants.CellType.CHAR_RIGHT.name(),
 				GagaExcelConstants.CellType.CHAR_CENTER.name(), GagaExcelConstants.CellType.CHAR_CENTER.name(),
@@ -186,25 +186,25 @@ public class TssGoodsService {
 
 		} else {
 			// 헤더 title 설정
-			String[] listTitles = {"상품코드", "업체명", "브랜드명", "상품명", "품목", 
-				"전시재고", "상품상태", "스타일년도", "시즌","정상가", "판매가", 
+			String[] listTitles = {"상품코드", "업체명", "브랜드명", "상품명", "품목",
+				"전시재고", "상품상태", "스타일년도", "시즌", "정상가", "판매가",
 				"할인율", "가격변경일", "정상이월구분", "반품가능 여부"};
 
 			// DB 처리 시 사용되는 파라미터명(셀명) 설정
 			String[] cellNames = {"GOODS_CD", "SUPPLY_COMP_CD", "BRAND_GRP_NM", "GOODS_NM", "ITEMKIND_NM",
 				"STOCK_QTY_SUM", "GOODS_STAT", "STYLE_YEAR", "SEASON_CD", "LIST_PRICE", "CURR_PRICE",
-				"DC_RATE", "PRICE_UPD_DT","FORMAL_GB", "RETURNABLE_YN"};
+				"DC_RATE", "PRICE_UPD_DT", "FORMAL_GB", "RETURNABLE_YN"};
 
 			String[] cellTypes = {
 				GagaExcelConstants.CellType.CHAR_CENTER.name(), GagaExcelConstants.CellType.CHAR_CENTER.name(),
 				GagaExcelConstants.CellType.CHAR_CENTER.name(), GagaExcelConstants.CellType.CHAR_CENTER.name(),
 				GagaExcelConstants.CellType.CHAR_CENTER.name(), GagaExcelConstants.CellType.CHAR_RIGHT.name(),
-				GagaExcelConstants.CellType.CHAR_CENTER.name(),  GagaExcelConstants.CellType.CHAR_CENTER.name(),
+				GagaExcelConstants.CellType.CHAR_CENTER.name(), GagaExcelConstants.CellType.CHAR_CENTER.name(),
 				GagaExcelConstants.CellType.CHAR_CENTER.name(), GagaExcelConstants.CellType.CHAR_RIGHT.name(),
 				GagaExcelConstants.CellType.CHAR_RIGHT.name(), GagaExcelConstants.CellType.CHAR_RIGHT.name(),
 				GagaExcelConstants.CellType.CHAR_CENTER.name(), GagaExcelConstants.CellType.CHAR_CENTER.name(),
 				GagaExcelConstants.CellType.CHAR_CENTER.name()};
-			
+
 			Collection<GagaMap> dataList = goodsDao.getGoodsInfoExcelList(goodsSearch);
 
 			try {
@@ -787,14 +787,14 @@ public class TssGoodsService {
 			goodsDesc.setDescGb("40");
 			goodsDesc.setGoodsDesc(goods.getGoodsPcTopDesc());
 			this.saveGoodsDesc(goodsDesc);
-		}	
+		}
 
 		// PC 하단
 		if (!StringUtils.isEmpty(goods.getGoodsPcTopDesc())) {
 			goodsDesc.setDescGb("50");
 			goodsDesc.setGoodsDesc(goods.getGoodsPcTopDesc());
 			this.saveGoodsDesc(goodsDesc);
-		}	
+		}
 
 		// MO 상단
 		if (!StringUtils.isEmpty(goods.getGoodsMobileTopDesc())) {
@@ -808,14 +808,14 @@ public class TssGoodsService {
 			goodsDesc.setDescGb("70");
 			goodsDesc.setGoodsDesc(goods.getGoodsMobileDownDesc());
 			this.saveGoodsDesc(goodsDesc);
-		}	
+		}
 
 		// 상품상세(as-is,입점)
 		if (!StringUtils.isEmpty(goods.getGoodsDesc())) {
 			goodsDesc.setDescGb("80");
 			goodsDesc.setGoodsDesc(goods.getGoodsDesc());
 			this.saveGoodsDesc(goodsDesc);
-		}	
+		}
 	}
 
 	/**
@@ -1624,7 +1624,7 @@ public class TssGoodsService {
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		
+
 		//상품연령
 		if (StringUtils.isNotBlank(goodsMass.getAgeGrpCd())) {
 			goods.setAgeGrpCd(goodsMass.getAgeGrpCd().trim().toUpperCase());
@@ -2112,7 +2112,7 @@ public class TssGoodsService {
 			goodsSafeNo.setCertNum(goods.getCertNum());
 			saveGoodsDetailCertNum(goodsSafeNo);
 		}
-		
+
 		this.setGoodsRegResult(goods, goodsMass, procJob);
 
 		return goods.getGoodsStat();
@@ -2323,7 +2323,7 @@ public class TssGoodsService {
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		
+
 		// 시즌
 		if (StringUtils.isBlank(goodsMass.getSeasonCd())) {
 			goods.setGoodsRegMsg("시즌코드 오류");
@@ -2401,7 +2401,7 @@ public class TssGoodsService {
 
 		// 배송비 정책
 		goods.setDelvFeeCd(goodsMass.getDelvFeeCd()); // 화면에서 받은값
-		
+
 		// 출고처 적용
 		boolean delvLocCd = false;
 		Collection<CommonCode> supplyDeliveryLocList = rendererService.getSupplyDeliveryLocList(goods.getSupplyCompCd());
@@ -2425,7 +2425,7 @@ public class TssGoodsService {
 
 		// 출고처 정책
 		goods.setDelvLocCd(goodsMass.getDelvLocCd()); // 화면에서 받은값
-		
+
 		// 원산지 / 제조국
 		if (StringUtils.isBlank(goodsMass.getOriginCd())) {
 			goods.setGoodsRegMsg("원산지 오류");
@@ -2504,12 +2504,12 @@ public class TssGoodsService {
 
 		// 영유야용품 - 안전인증 체크
 		if ("G004_23".equals(safeNiClsfCd)) {
-			if (StringUtils.isBlank(goodsMass.getCertTargetGb())){
+			if (StringUtils.isBlank(goodsMass.getCertTargetGb())) {
 				goods.setGoodsRegMsg("영유야용품 인증대상 오류");
 				goods.setGoodsStat("10");
-				return goods;	
+				return goods;
 			}
-			
+
 			//인증대상구분
 			commonCode.setCdGb("G083");
 			commonCode.setCd(goodsMass.getCertTargetGb());
@@ -2520,8 +2520,8 @@ public class TssGoodsService {
 				return goods;
 			}
 			goods.setCertTargetGb(goodsMass.getCertTargetGb().trim());
-			
-			if (!"G083_1".equals(goodsMass.getCertTargetGb())){
+
+			if (!"G083_1".equals(goodsMass.getCertTargetGb())) {
 				if (!StringUtils.isBlank(goodsMass.getCertNum()) ||
 					!StringUtils.isBlank(goodsMass.getCertFormGb()) ||
 					!StringUtils.isBlank(goodsMass.getCertType())) {
@@ -2530,14 +2530,14 @@ public class TssGoodsService {
 					return goods;
 				}
 			}
-			
+
 			//인증형태구분
-			if (StringUtils.isBlank(goodsMass.getCertFormGb())){
+			if (StringUtils.isBlank(goodsMass.getCertFormGb())) {
 				goods.setGoodsRegMsg("인증형태 오류");
 				goods.setGoodsStat("10");
-				return goods;	
+				return goods;
 			}
-			
+
 			commonCode.setCdGb("G084");
 			commonCode.setCd(goodsMass.getCertFormGb());
 			Collection<CommonCode> certFormGbList = rendererService.getCommonCodeList(commonCode);
@@ -2547,14 +2547,14 @@ public class TssGoodsService {
 				return goods;
 			}
 			goods.setCertFormGb(goodsMass.getCertFormGb().trim());
-			
+
 			//인증타입
-			if (StringUtils.isBlank(goodsMass.getCertType())){
+			if (StringUtils.isBlank(goodsMass.getCertType())) {
 				goods.setGoodsRegMsg("인증타입 오류");
 				goods.setGoodsStat("10");
-				return goods;	
+				return goods;
 			}
-			
+
 			commonCode.setCdGb("G081");
 			commonCode.setCd(goodsMass.getCertType());
 			Collection<CommonCode> certTypeList = rendererService.getCommonCodeList(commonCode);
@@ -2572,11 +2572,11 @@ public class TssGoodsService {
 					return goods;
 				}
 			}
-			if (!StringUtils.isBlank(goodsMass.getCertNum())){
+			if (!StringUtils.isBlank(goodsMass.getCertNum())) {
 				goods.setCertNum(goodsMass.getCertNum().trim()); //안전인증번호
 			}
-			
-		}else {
+
+		} else {
 			if (!StringUtils.isBlank(goodsMass.getCertTargetGb()) ||
 				!StringUtils.isBlank(goodsMass.getCertNum()) ||
 				!StringUtils.isBlank(goodsMass.getCertFormGb()) ||
@@ -3730,7 +3730,7 @@ public class TssGoodsService {
 			if ("G083_1".equals(goodsSafeNo.getCertTargetGb())) {
 
 				//인증형태 (방송통신, 위해) or 인증타입 - 공급자적합성,해당없음
-				if ("G084_4".equals(goodsSafeNo.getCertFormGb()) || "G084_5".equals(goodsSafeNo.getCertFormGb()) || "G081_3".equals(goodsSafeNo.getCertType())  || "G081_4".equals(goodsSafeNo.getCertType())) {
+				if ("G084_4".equals(goodsSafeNo.getCertFormGb()) || "G084_5".equals(goodsSafeNo.getCertFormGb()) || "G081_3".equals(goodsSafeNo.getCertType()) || "G081_4".equals(goodsSafeNo.getCertType())) {
 					goodsSafeNo.setCertDt("");
 					goodsSafeNo.setCertState("");
 					goodsSafeNo.setCertDiv("");
@@ -3744,7 +3744,7 @@ public class TssGoodsService {
 						goodsSafeNo.setCertDiv(result.get("certDiv").toString());
 						goodsSafeNo.setCertOrganName(result.get("certOrganName").toString());
 						goodsDao.saveGoodsSafeNo(goodsSafeNo);
-					}else {
+					} else {
 						goodsSafeNo.setCertDt("");
 						goodsSafeNo.setCertState("");
 						goodsSafeNo.setCertDiv("");
@@ -3985,7 +3985,7 @@ public class TssGoodsService {
 		regGoods.setFormalGb("G009_10"); // 정상 기본값 처리
 		regGoods.setGoodsGb("G073_11"); // 신규
 		regGoods.setTaxGb("10"); // 과세구분
-		regGoods.setTobeFormYn("N"); 
+		regGoods.setTobeFormYn("N");
 
 		Collection<GoodsCompose> goodsComposeList = null;
 		try {
@@ -4127,4 +4127,16 @@ public class TssGoodsService {
 	public Collection<GoodsCompose> getGoodsDetailComposeList(Goods goods) {
 		return goodsDao.getGoodsDetailComposeList(goods);
 	}
+
+	/**
+	 * 품목 목록
+	 * @param itemkind - 품목 정보
+	 * @return 품목 목록
+	 * @author eskim
+	 * @since 2021. 06. 17
+	 */
+	public Collection<Itemkind> getItemkindList(Itemkind itemkind) {
+		return goodsDao.getItemkindList(itemkind);
+	}
+
 }

+ 17 - 1
src/main/java/com/style24/scm/biz/web/TssGoodsController.java

@@ -42,6 +42,7 @@ import com.style24.persistence.domain.GoodsNotiInfo;
 import com.style24.persistence.domain.GoodsPriceRes;
 import com.style24.persistence.domain.GoodsSafeNo;
 import com.style24.persistence.domain.GoodsSearch;
+import com.style24.persistence.domain.Itemkind;
 import com.style24.persistence.domain.NotiInfo;
 import com.style24.persistence.domain.Notice;
 import com.style24.persistence.domain.NoticeGoods;
@@ -1205,7 +1206,7 @@ public class TssGoodsController extends TssBaseController {
 			// 입점상품등록
 			// DB 처리 시 사용되는 파라미터명(셀명) 설정 -
 			String[] goodsNames = {"supplyGoodsCd", "supplyCompCd", "brandCd", "goodsNm", "goodsTnm", "goodsSnm1", "itemkindCd",
-				"sexGb", "listPrice", "currPrice", "goodsGb", "formalGb",  "seasonCd", "originCd", "makeYmd", "taxGb", "ageGrpCd", "adultYn",
+				"sexGb", "listPrice", "currPrice", "goodsGb", "formalGb", "seasonCd", "originCd", "makeYmd", "taxGb", "ageGrpCd", "adultYn",
 				"certTargetGb", "certFormGb", "certType", "certNum", "optStr", "goodsContent",
 				"niClsfCd", "niContent1", "niContent2", "niContent3", "niContent4", "niContent5",
 				"niContent6", "niContent7", "niContent8", "niContent9", "niContent10", "niContent11", "niContent12",
@@ -1845,4 +1846,19 @@ public class TssGoodsController extends TssBaseController {
 	public Collection<GoodsCompose> getGoodsDetailComposeList(Goods goods) {
 		return goodsService.getGoodsDetailComposeList(goods);
 	}
+
+	/**
+	 * 품목 목록
+	 *
+	 * @param goods
+	 * @return
+	 * @author eskim
+	 * @since 2021. 06. 27
+	 */
+	@PostMapping("/itemkind/list")
+	@ResponseBody
+	public Collection<Itemkind> getItemkindList(Itemkind itemkind) {
+		return goodsService.getItemkindList(itemkind);
+	}
+
 }

+ 11 - 6
src/main/webapp/WEB-INF/views/goods/GoodsRegisterForm.html

@@ -742,13 +742,18 @@
 	
 	//품목코드변경시
 	$('#goodsDetailForm select[name=itemkindCd]').on('change', function() {
-		var delvFeeCd = $("#goodsDetailForm select[name=itemkindCd]").val();
-		ㄷ나ㅑㅡㅇㄹㅇ 
-		 if
-		
+		var itemkindCd = $("#goodsDetailForm select[name=itemkindCd]").val();
+		var params = new Object();
+		params.itemkindCd = itemkindCd;
+		cfnAjaxSubmit("/goods/itemkind/list", "json", fnItemkindCallback, params);
 		
 	});	
 	
+	var fnItemkindCallback = function(result){
+		if (result == null) return;
+		$("#goodsDetailForm input[name=safeNiClsfCd]").val(result[0].niClsfCd)
+	}
+	
 	// 상품 고시 선택 버튼 클릭 시
 	$('#btnNotinfo').click(function(e) {
 
@@ -830,14 +835,14 @@
 	//안전인증관련 체크
 	var fnGoodsSafetyCertNumCheck = function(){
 		
-		// 유아용품 확인  ESKIM
+		// 유아용품 확인  
 		if ("G004_23" == $("#goodsDetailForm input[name=safeNiClsfCd]").val()){
 			if (gagajf.isNull($("#goodsDetailForm input[name=selCertTargetGb]:checked").val())){
 				mcxDialog.alert("안전인증대상을 선택해 주세요.");
 				return false;	
 			}
 		}else{
-			if ((!gagajf.isNull($("#goodsDetailForm input[name=selCertTargetGb]:checked").val()) && "G083_2" != $("#goodsDetailForm input[name=selCertTargetGb]:checked").val())||
+			if ((!gagajf.isNull($("#goodsDetailForm input[name=selCertTargetGb]:checked").val()) && "G083_1" != $("#goodsDetailForm input[name=selCertTargetGb]:checked").val())||
 				!gagajf.isNull($("#goodsDetailForm select[name=certFormGb]").val()) ||
 				!gagajf.isNull($("#goodsDetailForm select[name=certType]").val()) ||
 				!gagajf.isNull($("#goodsDetailForm input[name=certNum]").val())){