Przeglądaj źródła

입점상품 안전인증관련 수정중

eskim 4 lat temu
rodzic
commit
65e89ad592

+ 0 - 1
src/main/java/com/style24/persistence/mybatis/shop/TssGoods.xml

@@ -1460,7 +1460,6 @@
 		      , UPD_DT = NOW()
 		      <if test='selfGoodsYn != null and selfGoodsYn == "N"'>
 		      , CURR_STOCK_QTY = #{currStockQty}
-		      , STORE_MAX_QTY = #{storeMaxQty}
 		      </if>
 	</update>
 	

+ 72 - 32
src/main/java/com/style24/scm/biz/service/TssGoodsService.java

@@ -2103,14 +2103,16 @@ public class TssGoodsService {
 		goodsDao.createCategoryGoods(goods);
 
 		// 안전안증작업
-		GoodsSafeNo goodsSafeNo = new GoodsSafeNo();
-		goodsSafeNo.setGoodsCd(goods.getGoodsCd());
-		goodsSafeNo.setCertTargetGb(goods.getCertTargetGb());
-		goodsSafeNo.setCertFormGb(goods.getCertFormGb());
-		goodsSafeNo.setCertType(goods.getCertType());
-		goodsSafeNo.setCertNum(goods.getCertNum());
-		saveGoodsDetailCertNum(goodsSafeNo);
-
+		if (!StringUtils.isEmpty(goods.getCertTargetGb())) {
+			GoodsSafeNo goodsSafeNo = new GoodsSafeNo();
+			goodsSafeNo.setGoodsCd(goods.getGoodsCd());
+			goodsSafeNo.setCertTargetGb(goods.getCertTargetGb());
+			goodsSafeNo.setCertFormGb(goods.getCertFormGb());
+			goodsSafeNo.setCertType(goods.getCertType());
+			goodsSafeNo.setCertNum(goods.getCertNum());
+			saveGoodsDetailCertNum(goodsSafeNo);
+		}
+		
 		this.setGoodsRegResult(goods, goodsMass, procJob);
 
 		return goods.getGoodsStat();
@@ -2230,6 +2232,7 @@ public class TssGoodsService {
 			return goods;
 		}
 		goods.setItemkindNm(getItemkindList.iterator().next().getItemkindLeafNm());	//LEAF품목명
+		String safeNiClsfCd = getItemkindList.iterator().next().getNiClsfCd(); // 안전인증확인용 고시분류- 유아용품 G004_23
 
 		// 성별
 		if (StringUtils.isBlank(goodsMass.getSexGb())) {
@@ -2499,8 +2502,15 @@ public class TssGoodsService {
 			return goods;
 		}
 
-		//인증대상구분
-		if (StringUtils.isNotBlank(goodsMass.getCertTargetGb())) {
+		// 영유야용품 - 안전인증 체크
+		if ("G004_23".equals(safeNiClsfCd)) {
+			if (StringUtils.isBlank(goodsMass.getCertTargetGb())){
+				goods.setGoodsRegMsg("영유야용품 인증대상 오류");
+				goods.setGoodsStat("10");
+				return goods;	
+			}
+			
+			//인증대상구분
 			commonCode.setCdGb("G083");
 			commonCode.setCd(goodsMass.getCertTargetGb());
 			Collection<CommonCode> certTargetGbList = rendererService.getCommonCodeList(commonCode);
@@ -2510,10 +2520,24 @@ public class TssGoodsService {
 				return goods;
 			}
 			goods.setCertTargetGb(goodsMass.getCertTargetGb().trim());
-		}
-
-		//인증형태구분
-		if (StringUtils.isNotBlank(goodsMass.getCertFormGb())) {
+			
+			if (!"G083_1".equals(goodsMass.getCertTargetGb())){
+				if (!StringUtils.isBlank(goodsMass.getCertNum()) ||
+					!StringUtils.isBlank(goodsMass.getCertFormGb()) ||
+					!StringUtils.isBlank(goodsMass.getCertType())) {
+					goods.setGoodsRegMsg("인증정보 오류(인증대상만 입력)");
+					goods.setGoodsStat("10");
+					return goods;
+				}
+			}
+			
+			//인증형태구분
+			if (StringUtils.isBlank(goodsMass.getCertFormGb())){
+				goods.setGoodsRegMsg("인증형태 오류");
+				goods.setGoodsStat("10");
+				return goods;	
+			}
+			
 			commonCode.setCdGb("G084");
 			commonCode.setCd(goodsMass.getCertFormGb());
 			Collection<CommonCode> certFormGbList = rendererService.getCommonCodeList(commonCode);
@@ -2523,10 +2547,14 @@ public class TssGoodsService {
 				return goods;
 			}
 			goods.setCertFormGb(goodsMass.getCertFormGb().trim());
-		}
-
-		//인증타입
-		if (StringUtils.isNotBlank(goodsMass.getCertType())) {
+			
+			//인증타입
+			if (StringUtils.isBlank(goodsMass.getCertType())){
+				goods.setGoodsRegMsg("인증타입 오류");
+				goods.setGoodsStat("10");
+				return goods;	
+			}
+			
 			commonCode.setCdGb("G081");
 			commonCode.setCd(goodsMass.getCertType());
 			Collection<CommonCode> certTypeList = rendererService.getCommonCodeList(commonCode);
@@ -2536,17 +2564,27 @@ public class TssGoodsService {
 				return goods;
 			}
 			goods.setCertType(goodsMass.getCertType().trim());
-		}
 
-		if (StringUtils.isNotBlank(goodsMass.getCertNum())) {
-			if (StringUtils.isBlank(goodsMass.getCertTargetGb()) ||
-				StringUtils.isBlank(goodsMass.getCertFormGb()) ||
-				StringUtils.isBlank(goodsMass.getCertType())) {
-				goods.setGoodsRegMsg("인증관련 구분 오류");
+			if ("G081_1".equals(goodsMass.getCertType()) || "G081_2".equals(goodsMass.getCertType())) {
+				if (StringUtils.isBlank(goodsMass.getCertNum())) {
+					goods.setGoodsRegMsg("인증번호 오류");
+					goods.setGoodsStat("10");
+					return goods;
+				}
+			}
+			if (!StringUtils.isBlank(goodsMass.getCertNum())){
+				goods.setCertNum(goodsMass.getCertNum().trim()); //안전인증번호
+			}
+			
+		}else {
+			if (!StringUtils.isBlank(goodsMass.getCertTargetGb()) ||
+				!StringUtils.isBlank(goodsMass.getCertNum()) ||
+				!StringUtils.isBlank(goodsMass.getCertFormGb()) ||
+				!StringUtils.isBlank(goodsMass.getCertType())) {
+				goods.setGoodsRegMsg("인증정보 오류(영유야용품만 입력)");
 				goods.setGoodsStat("10");
 				return goods;
 			}
-			goods.setCertNum(goodsMass.getCertNum().trim()); //안전인증번호
 		}
 
 		goods.setGoodsType("G056_N"); //상품타입
@@ -2827,7 +2865,7 @@ public class TssGoodsService {
 		}
 
 		// 품목변경시 카테고리 자동 전시
-		if (!UPDATE_NO_PATTERN.equals(goods.getItemkindCd().trim())) {
+		if ("Y".equals(goods.getChDataYn()) && !UPDATE_NO_PATTERN.equals(goods.getItemkindCd().trim())) {
 			GoodsCategory goodsCategory = new GoodsCategory();
 			goodsCategory.setRegNo(TssSession.getInfo().getUserNo());
 			goodsCategory.setUpdNo(TssSession.getInfo().getUserNo());
@@ -3691,10 +3729,9 @@ 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())) {
+				//인증형태 (방송통신, 위해) or 인증타입 - 공급자적합성,해당없음
+				if ("G084_4".equals(goodsSafeNo.getCertFormGb()) || "G084_5".equals(goodsSafeNo.getCertFormGb()) || "G081_3".equals(goodsSafeNo.getCertType())  || "G081_4".equals(goodsSafeNo.getCertType())) {
 					goodsSafeNo.setCertDt("");
-//					goodsSafeNo.setCertNum("");
 					goodsSafeNo.setCertState("");
 					goodsSafeNo.setCertDiv("");
 					goodsSafeNo.setCertOrganName("");
@@ -3707,13 +3744,16 @@ public class TssGoodsService {
 						goodsSafeNo.setCertDiv(result.get("certDiv").toString());
 						goodsSafeNo.setCertOrganName(result.get("certOrganName").toString());
 						goodsDao.saveGoodsSafeNo(goodsSafeNo);
-					} else {
-						throw new IllegalStateException(message.getMessage("FAIL_1001"));
+					}else {
+						goodsSafeNo.setCertDt("");
+						goodsSafeNo.setCertState("");
+						goodsSafeNo.setCertDiv("");
+						goodsSafeNo.setCertOrganName("");
+						goodsDao.saveGoodsSafeNo(goodsSafeNo);
 					}
 				}
 			} else {	//인증대상 그외 - 인증처리 안해도 됨
 				goodsSafeNo.setCertDt("");
-//				goodsSafeNo.setCertNum("");
 				goodsSafeNo.setCertState("");
 				goodsSafeNo.setCertDiv("");
 				goodsSafeNo.setCertOrganName("");

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

@@ -1273,7 +1273,7 @@ public class TssGoodsController extends TssBaseController {
 
 		ecxelGoodsList = GagaExcelUtil.getList(GagaFileUtil.getConcatenationPath(targetPath, goodsMass.getExcelFileNm()), 0, goodsNames, 0);
 
-		// 입점담당자, 촬영업체
+		// 입점담당자
 		if (!"G001_B000".equals(TssSession.getInfo().getRoleCd()) && !"G001_E000".equals(TssSession.getInfo().getRoleCd())) {
 			throw new IllegalStateException("권한이 없습니다.");
 		}

+ 1 - 1
src/main/webapp/WEB-INF/views/goods/GoodsDetailForm.html

@@ -603,7 +603,7 @@
 										</td>
 										<th>인증번호</th>
 										<td>
-											<input type="text" class="w200" id="certNum" name="certNum"  maxlength="20"/>
+											<input type="text" class="w200" id="certNum" name="certNum"  maxlength="50"/>
 											<input type="hidden" id="certNumOrg" name="certNumOrg"/>
 											
 										</td>

+ 13 - 24
src/main/webapp/WEB-INF/views/goods/GoodsListForm.html

@@ -309,10 +309,14 @@
 								<input id="minOrdAmtC" name="minOrdAmtC" type="text" class="w100"  data-valid-type="numeric" maxlength="10"/>이상 구매시 무료
 								<button type="button" class="btn btn-dark btn-sm" onclick="fnChangeGoodsState('minOrdAmt')" >적용</button>
 							</td>
-							<th>ID당1일최대구매수량</th>
+							<th>선물 주문가능</th>
 							<td>
-								<input id="dayMaxOrdQtyC" name="dayMaxOrdQtyC" type="text" class="w100" data-valid-type="numeric" />
-								<button type="button" class="btn btn-dark btn-sm" onclick="fnChangeGoodsState('dayMaxOrdQty')" >적용</button>
+								<select id="giftPackYnC" name="giftPackYnC">
+									<option value="">[선택]</option>
+									<option value="Y">가능</option>
+									<option value="N">불가</option>
+								</select>
+								<button type="button" class="btn btn-dark btn-sm" onclick="fnChangeGoodsState('giftPackYn')" >적용</button>
 							</td>
 						</tr>
 						<tr>
@@ -326,16 +330,13 @@
 								<input id="maxOrdQtyC" name="maxOrdQtyC" type="text" class="w100" data-valid-type="numeric" />
 								<button type="button" class="btn btn-dark btn-sm" onclick="fnChangeGoodsState('maxOrdQty')" >적용</button>
 							</td>
-							<th>PC포인트</th>
-							<td>
-								<input type="text" class="w100 aR" id="pntPrateC" name="pntPrateC" data-valid-type="numeric" maxlength="3"/> %
-								<button type="button" class="btn btn-dark btn-sm" onclick="fnChangeGoodsState('pntPrate')" >적용</button>
-							</td>
-							<th>모바일포인트</th>
+							<th>ID당1일최대구매수량</th>
 							<td>
-								<input type="text" class="w100 aR" id="pntMrateC" name="pntMrateC" data-valid-type="numeric" maxlength="3"/>
-								<button type="button" class="btn btn-dark btn-sm" onclick="fnChangeGoodsState('pntMrate')" >적용</button>
+								<input id="dayMaxOrdQtyC" name="dayMaxOrdQtyC" type="text" class="w100" data-valid-type="numeric" />
+								<button type="button" class="btn btn-dark btn-sm" onclick="fnChangeGoodsState('dayMaxOrdQty')" >적용</button>
 							</td>
+							
+							<td colspan="2"></td>
 						</tr>
 						<tr>
 							<th>배송정책</th>
@@ -350,20 +351,8 @@
 								</select>
 								<button type="button" class="btn btn-dark btn-sm" onclick="fnChangeGoodsState('delvFeeCd')" >적용</button>
 							</td>
-							<th>선물 주문가능</th>
-							<td>
-								<select id="giftPackYnC" name="giftPackYnC">
-									<option value="">[선택]</option>
-									<option value="Y">가능</option>
-									<option value="N">불가</option>
-								</select>
-								<button type="button" class="btn btn-dark btn-sm" onclick="fnChangeGoodsState('giftPackYn')" >적용</button>
-							</td>
-							<td colspan="2">
-						</tr>
-						<tr>
 							<th>판매일시</th>
-							<td colspan="7">
+							<td colspan="3">
 								<input name="sellStYMD" id="sellStYMD" type="text" class="w80 schDate" maxlength="10" required="required" data-valid-name="판매시작일" />
 								<select name="sellStHH" id="sellStHH" required="required" data-valid-name="판매 시작시간">
 									<th:block th:each="num, index  : ${#numbers.sequence(0,23)}">

+ 40 - 3
src/main/webapp/WEB-INF/views/goods/GoodsRegisterForm.html

@@ -36,6 +36,7 @@
 				<input type="hidden" id="pntPrate20" name="pntPrate20" />
 				<input type="hidden" id="pntMrate10" name="pntMrate10" />
 				<input type="hidden" id="pntMrate20" name="pntMrate20" />
+				<input type="hidden" id="safeNiClsfCd" name="safeNiClsfCd" />
 		<div class="panelStyle">
 			<div class="panelContent">
 				<table class="frmStyle">
@@ -739,6 +740,15 @@
 		}
 	});	
 	
+	//품목코드변경시
+	$('#goodsDetailForm select[name=itemkindCd]').on('change', function() {
+		var delvFeeCd = $("#goodsDetailForm select[name=itemkindCd]").val();
+		ㄷ나ㅑㅡㅇㄹㅇ 
+		 if
+		
+		
+	});	
+	
 	// 상품 고시 선택 버튼 클릭 시
 	$('#btnNotinfo').click(function(e) {
 
@@ -820,6 +830,26 @@
 	//안전인증관련 체크
 	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())||
+				!gagajf.isNull($("#goodsDetailForm select[name=certFormGb]").val()) ||
+				!gagajf.isNull($("#goodsDetailForm select[name=certType]").val()) ||
+				!gagajf.isNull($("#goodsDetailForm input[name=certNum]").val())){
+				mcxDialog.alert("인즌대상이 아닌 상품은 인증대상아님을 선택해주세요");
+				return false;	
+			}else{
+				return true;
+			}
+		}
+			
+		
+		
 		if(gagajf.isNull($("#goodsDetailForm input[name=selCertTargetGb]:checked").val())){
 			
 			if (!gagajf.isNull($("#goodsDetailForm select[name=certFormGb]").val()) ||
@@ -833,7 +863,15 @@
 		
 		// 인증대상이 아니면 스킵
 		if ("G083_1" != $("#goodsDetailForm input[name=selCertTargetGb]:checked").val()){
-			return true;
+			
+			if (!gagajf.isNull($("#goodsDetailForm select[name=certFormGb]").val()) ||
+				!gagajf.isNull($("#goodsDetailForm select[name=certType]").val()) ||
+				!gagajf.isNull($("#goodsDetailForm input[name=certNum]").val())){
+				mcxDialog.alert("인즌대상이 아닐경우 정보를 입력하지 마세요.");
+				return false;	
+			}else{
+				return true;	
+			}
 		}
 		
 		if(gagajf.isNull($("#goodsDetailForm select[name=certFormGb]").val())){
@@ -857,7 +895,7 @@
 		}
 		
 		//인증타입이 공급자적합성일 경우 인증번호 미입력
-		if( "G081_3" != $("#goodsDetailForm select[name=certType]").val()){
+		if( "G081_1" == $("#goodsDetailForm select[name=certType]").val() || "G081_2" == $("#goodsDetailForm select[name=certType]").val()){
 			if(gagajf.isNull($("#goodsDetailForm input[name=certNum]").val())){
 				mcxDialog.alertC("안전인증번호를 입력해 주세요.", {
 					sureBtnText: "확인",
@@ -891,7 +929,6 @@
 			return false;
 		}
 
-		//list가 등록되지 않은 상품은 상태변경 불가
 		if(Number($("#goodsDetailForm input[name=listPrice]").val()) == 0){
 			mcxDialog.alertC("정상가를 바르게 입력해 주세요.", {
 				sureBtnText: "확인",