eskim пре 5 година
родитељ
комит
9b55de0d85

+ 34 - 16
src/main/java/com/style24/persistence/mybatis/shop/TssGoods.xml

@@ -2333,8 +2333,8 @@
 	<update id="updateGoodsMass" parameterType="Goods">
 		/* TssGoods.updateGoodsMass */
 		UPDATE TB_GOODS
-		SET UPD_ID = #{updId}
-		  , UPD_DT = SYSDATE
+		SET UPD_NO = #{updNo}
+		  , UPD_DT = NOW()
 		<if test='goodsNm != null and goodsNm != "X"'>
 		  , GOODS_NM = #{goodsNm} 
 		</if>
@@ -2347,9 +2347,6 @@
 		<if test='itemkindCd != null and itemkindCd != "X"'>
 		  , ITEMKIND_CD = #{itemkindCd}
 		</if>
-		<if test='styleYear != null and styleYear != "X"'>
-		  , STYLE_YEAR = #{styleYear}
-		</if>
 		<if test='seasonCd != null and seasonCd != "X"'>
 		  , SEASON_CD = #{seasonCd}
 		</if>
@@ -2359,28 +2356,49 @@
 		<if test="currPrice != null and currPrice > 0">
 		  , CURR_PRICE = #{currPrice}
 		  , CURR_BPRICE = #{currBprice}
-		  , PRICE_UPD_DT = SYSDATE
+		  , PRICE_UPD_DT = NOW()
 		  , DC_RATE = #{dcRate}
 		</if>
+		<if test="sellFeeRate != null and sellFeeRate > 0">
+		  , SELL_FEE_RATE = #{sellFeeRate}
+		</if>
+		<if test='goodsGb != null and goodsGb != "X"'>
+		  , GOODS_GB = #{goodsGb}
+		</if>
+		<if test='formalGb != null and formalGb != "X"'>
+		  , FORMAL_GB = #{formalGb}
+		  , PNT_PRATE = NVL(#{pntPrate}, PNT_PRATE)
+		  , PNT_MRATE = NVL(#{pntMrate}, PNT_MRATE)
+		</if>
 		<if test="minOrdQty != null and minOrdQty > 0">
 		  , MIN_ORD_QTY = #{minOrdQty}
 		</if>
 		<if test="maxOrdQty != null and maxOrdQty > 0">
 		  , MAX_ORD_QTY = #{maxOrdQty}
 		</if>
-		<if test='buyingType != null and buyingType != "X"'>
-		  , BUYING_TYPE = #{buyingType}
+		<if test="dayMaxOrdQty != null and dayMaxOrdQty > 0">
+		  , DAY_MAX_ORD_QTY = #{dayMaxOrdQty}
+		</if>
+		<if test='giftPackYn != null and giftPackYn != "X"'>
+		  , GIFT_PACK_YN = #{giftPackYn}
 		</if>
-		<if test='formalGb != null and formalGb != "X"'>
-		  , FORMAL_GB = #{formalGb}
-		  , PNT_PRATE = NVL(#{pntPrate}, PNT_PRATE)
-		  , PNT_MRATE = NVL(#{pntMrate}, PNT_MRATE)
+		<if test='newCustOrdYn != null and newCustOrdYn != "X"'>
+		  , NEW_CUST_ORD_YN = #{newCustOrdYn}
 		</if>
-		<if test='makeNm != null and makeNm != "X"'>
-		  , MAKE_NM = #{makeNm}
+		<if test='returnableYn != null and returnableYn != "X"'>
+		  , RETURNABLE_YN = #{returnableYn}
+		</if>
+		<if test='changeableYn != null and changeableYn != "X"'>
+		  , CHANGEABLE_YN = #{changeableYn}
+		</if>
+		<if test='taxGb != null and taxGb != "X"'>
+		  , TAX_GB = #{taxGb}
 		</if>
-		<if test='makeYmd != null and makeYmd != "X"'>
-		  , MAKE_YMD = #{makeYmd}
+		<if test='ageGrpCd != null and ageGrpCd != "X"'>
+		  , AGE_GRP_CD = #{ageGrpCd}
+		</if>
+		<if test='adultYn != null and adultYn != "X"'>
+		  , ADULT_YN = #{adultYn}
 		</if>
 		<if test='pntPrate != null and pntPrate >= 0'>
 		  , PNT_PRATE = #{pntPrate}

+ 112 - 131
src/main/java/com/style24/scm/biz/service/TssGoodsService.java

@@ -1169,7 +1169,7 @@ public class TssGoodsService {
 		int index = 0;
 		// 자사 상품 등록시 고시정보 처리
 		for (GoodsNotiInfo goodsNotiInfo : goodsNotiList) {
-			if (!StringUtils.isBlank(gagaMap.getString("niContent" + (index + 1)).trim())) {
+			if (!StringUtils.isBlank(gagaMap.getString("niContent" + (index + 1)))) {
 				goodsNotiInfo.setNiContent(gagaMap.getString("niContent" + (index + 1)).trim());
 			}
 
@@ -1257,7 +1257,7 @@ public class TssGoodsService {
 		goods.setUpdNo(TssSession.getInfo().getUserNo());
 
 		// 품번정보 확인 (길이 10, FRJ '-' 삭제)
-		if (StringUtils.isBlank(goodsMass.getGoodsNum().trim()) || goodsMass.getGoodsNum().trim().replace("-", "").length() != 10) {
+		if (StringUtils.isBlank(goodsMass.getGoodsNum()) || goodsMass.getGoodsNum().trim().replace("-", "").length() != 10) {
 			goods.setGoodsRegMsg("품번코드 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -1289,15 +1289,15 @@ public class TssGoodsService {
 		goods.setSupplyGoodsCd(goodsMass.getGoodsNum().trim().toUpperCase());
 
 		// 브랜드
-		if (StringUtils.isBlank(goodsMass.getBrandCd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getBrandCd())) {
 			goods.setGoodsRegMsg("브랜드코드 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setBrandCd(goodsMass.getBrandCd().trim()); // 브랜드 코드
+		goods.setBrandCd(goodsMass.getBrandCd().trim().toUpperCase()); // 브랜드 코드
 
 		// 상품명
-		if (StringUtils.isBlank(goodsMass.getGoodsNm().trim())) {
+		if (StringUtils.isBlank(goodsMass.getGoodsNm())) {
 			goods.setGoodsRegMsg("상품명 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -1305,12 +1305,12 @@ public class TssGoodsService {
 		goods.setGoodsNm(goodsMass.getGoodsNm().trim().replaceAll("(\\r\\n|\\r|\\n|\\n\\r)", ""));
 
 		// 품목코드
-		if (StringUtils.isBlank(goodsMass.getItemkindCd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getItemkindCd())) {
 			goods.setGoodsRegMsg("품목코드 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setItemkindCd(goodsMass.getItemkindCd().trim());
+		goods.setItemkindCd(goodsMass.getItemkindCd().trim().toUpperCase());
 
 		Itemkind itemkind = new Itemkind();
 		itemkind.setItemkindCd(goods.getItemkindCd());
@@ -1324,7 +1324,7 @@ public class TssGoodsService {
 		goods.setItemkindNm(getItemkindList.iterator().next().getItemkindLeafNm());	//LEAF품목명
 
 		// 스타일 년도
-		if (StringUtils.isBlank(goodsMass.getStyleYear().trim()) || goodsMass.getStyleYear().trim().length() != 4 || !goodsMass.getStyleYear().trim().matches(NUMBER_PATTERN)) {
+		if (StringUtils.isBlank(goodsMass.getStyleYear()) || goodsMass.getStyleYear().trim().length() != 4 || !goodsMass.getStyleYear().trim().matches(NUMBER_PATTERN)) {
 			goods.setGoodsRegMsg("스타일 년도 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -1332,12 +1332,12 @@ public class TssGoodsService {
 		goods.setStyleYear(goodsMass.getStyleYear().trim());
 
 		// 시즌
-		if (StringUtils.isBlank(goodsMass.getSeasonCd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getSeasonCd())) {
 			goods.setGoodsRegMsg("시즌 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setSeasonCd(goodsMass.getSeasonCd().trim()); // 시즌
+		goods.setSeasonCd(goodsMass.getSeasonCd().trim().toUpperCase()); // 시즌
 
 		CommonCode commonCode = new CommonCode();
 		commonCode.setUseYn("Y");
@@ -1351,12 +1351,12 @@ public class TssGoodsService {
 		}
 
 		// 성별
-		if (StringUtils.isBlank(goodsMass.getSexGb().trim())) {
+		if (StringUtils.isBlank(goodsMass.getSexGb())) {
 			goods.setGoodsRegMsg("성별 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setSexGb(goodsMass.getSexGb().trim()); // 성별
+		goods.setSexGb(goodsMass.getSexGb().trim().toUpperCase()); // 성별
 		commonCode.setCdGb("G007"); // 성별
 		commonCode.setCd(goods.getSexGb());
 		Collection<CommonCode> sexGbList = rendererService.getCommonCodeList(commonCode);
@@ -1367,7 +1367,7 @@ public class TssGoodsService {
 		}
 
 		// 정상가
-		if (StringUtils.isBlank(goodsMass.getListPrice().trim())) {
+		if (StringUtils.isBlank(goodsMass.getListPrice())) {
 			goods.setGoodsRegMsg("정상가 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -1379,7 +1379,7 @@ public class TssGoodsService {
 		}
 
 		// 판매가
-		if (StringUtils.isBlank(goodsMass.getCurrPrice().trim())) {
+		if (StringUtils.isBlank(goodsMass.getCurrPrice())) {
 			goods.setGoodsRegMsg("판매가 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -1407,7 +1407,7 @@ public class TssGoodsService {
 		// 원가
 		// FRJ 필수 확인
 		if ("S006".equals(goods.getBrandCd())) {
-			if (StringUtils.isBlank(goodsMass.getCostPrice().trim())) {
+			if (StringUtils.isBlank(goodsMass.getCostPrice())) {
 				goods.setGoodsRegMsg("원가 오류");
 				goods.setGoodsStat("10");
 				return goods;
@@ -1425,12 +1425,12 @@ public class TssGoodsService {
 		}
 
 		// 정상이월
-		if (StringUtils.isBlank(goodsMass.getFormalGb().trim())) {
+		if (StringUtils.isBlank(goodsMass.getFormalGb())) {
 			goods.setGoodsRegMsg("정상이월 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setFormalGb(goodsMass.getFormalGb().trim());
+		goods.setFormalGb(goodsMass.getFormalGb().trim().toUpperCase());
 		commonCode.setCdGb("G009"); 	//정상이월
 		commonCode.setCd(goods.getFormalGb());
 		Collection<CommonCode> formalGbList = rendererService.getCommonCodeList(commonCode);
@@ -1475,13 +1475,19 @@ public class TssGoodsService {
 
 		goodsMass.setSupplyCompCd(supplyCompCd); // 업체 코드
 
+		// 배송비 정책 적용
+		Collection<CommonCode> supplyDeliveryFeePolicyList = rendererService.getSupplyDeliveryFeePolicyList(goods.getSupplyCompCd());
+		if (supplyDeliveryFeePolicyList != null && !supplyDeliveryFeePolicyList.isEmpty()) {
+			goods.setDelvFeeCd(supplyDeliveryFeePolicyList.iterator().next().getCd());
+		}
+
 		// 원산지 / 제조국
-		if (StringUtils.isBlank(goodsMass.getOriginCd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getOriginCd())) {
 			goods.setGoodsRegMsg("원산지 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setOriginCd(goodsMass.getOriginCd().trim());
+		goods.setOriginCd(goodsMass.getOriginCd().trim().toUpperCase());
 		commonCode.setCdGb("G076"); // 원산지
 		commonCode.setCd(goods.getOriginCd());
 		Collection<CommonCode> originCdList = rendererService.getCommonCodeList(commonCode);
@@ -1493,7 +1499,7 @@ public class TssGoodsService {
 		goods.setOriginNm(originCdList.iterator().next().getCdNm());	//고시정보 적용용
 
 		// 제조년월
-		if (StringUtils.isBlank(goodsMass.getMakeYmd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getMakeYmd())) {
 			goods.setGoodsRegMsg("제조년월일 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -1582,7 +1588,7 @@ public class TssGoodsService {
 			}
 		} else {
 			for (GoodsNotiInfo goodsNotiInfo : goodsNotiList) {
-				if (StringUtils.isBlank(excelMap.getString("niContent" + (index + 1)).trim())) {
+				if (StringUtils.isBlank(excelMap.getString("niContent" + (index + 1)))) {
 					goods.setGoodsRegMsg("고시정보 없음 (" + (index + 1) + "번째 항목) - " + goodsNotiInfo.getNiItemCd() + "(" + goodsNotiInfo.getNiItemNm() + ")");
 					goods.setGoodsStat("10");
 					return goods;
@@ -1609,7 +1615,7 @@ public class TssGoodsService {
 		int index = 0;
 		for (GoodsNotiInfo goodsNotiInfo : goodsNotiList) {
 
-			if (StringUtils.isBlank(excelMap.getString("niContent" + (index + 1)).trim())) {
+			if (StringUtils.isBlank(excelMap.getString("niContent" + (index + 1)))) {
 				goodsNotiInfo.setNiContent(goodsNotiInfo.getNiContent());
 			} else {
 				goodsNotiInfo.setNiContent(excelMap.getString("niContent" + (index + 1)).trim());
@@ -1822,7 +1828,7 @@ public class TssGoodsService {
 		this.createGoodsNoti(gagaMap, goodsNotiList); // 상품고시정보 저장
 
 		// 상품상세(입점)
-		if (!StringUtils.isBlank(goodsMass.getGoodsContent().trim())) {
+		if (!StringUtils.isBlank(goodsMass.getGoodsContent())) {
 			GoodsDesc goodsDesc = new GoodsDesc();
 			goodsDesc.setGoodsCd(goods.getGoodsCd());
 			goodsDesc.setRegNo(goods.getRegNo());
@@ -1875,19 +1881,19 @@ public class TssGoodsService {
 		goods.setRegNo(TssSession.getInfo().getUserNo());
 		goods.setUpdNo(TssSession.getInfo().getUserNo());
 
-		if (StringUtils.isBlank(goodsMass.getSupplyGoodsCd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getSupplyGoodsCd())) {
 			goods.setGoodsRegMsg("공급업체 상품코드 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setSupplyGoodsCd(goodsMass.getSupplyGoodsCd().trim());
+		goods.setSupplyGoodsCd(goodsMass.getSupplyGoodsCd().trim().toUpperCase());
 
-		if (StringUtils.isBlank(goodsMass.getSupplyCompCd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getSupplyCompCd())) {
 			goods.setGoodsRegMsg("공급업체 코드 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setSupplyCompCd(goodsMass.getSupplyCompCd().trim());
+		goods.setSupplyCompCd(goodsMass.getSupplyCompCd().trim().toUpperCase());
 
 		// 상품코드 중복여부 확인 - 입점업체코드+입점상품코드
 		Goods goodsDup = goodsDao.getGoods(goods);
@@ -1898,15 +1904,15 @@ public class TssGoodsService {
 		}
 
 		// 브랜드
-		if (StringUtils.isBlank(goodsMass.getBrandCd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getBrandCd())) {
 			goods.setGoodsRegMsg("브랜드코드 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setBrandCd(goodsMass.getBrandCd().trim()); // 브랜드 코드
+		goods.setBrandCd(goodsMass.getBrandCd().trim().toUpperCase()); // 브랜드 코드
 
 		// 상품명
-		if (StringUtils.isBlank(goodsMass.getGoodsNm().trim())) {
+		if (StringUtils.isBlank(goodsMass.getGoodsNm())) {
 			goods.setGoodsRegMsg("상품명 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -1921,12 +1927,12 @@ public class TssGoodsService {
 		}
 
 		// 품목코드
-		if (StringUtils.isBlank(goodsMass.getItemkindCd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getItemkindCd())) {
 			goods.setGoodsRegMsg("품목코드 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setItemkindCd(goodsMass.getItemkindCd().trim());
+		goods.setItemkindCd(goodsMass.getItemkindCd().trim().toUpperCase());
 
 		Itemkind itemkind = new Itemkind();
 		itemkind.setItemkindCd(goods.getItemkindCd());
@@ -1940,7 +1946,7 @@ public class TssGoodsService {
 		goods.setItemkindNm(getItemkindList.iterator().next().getItemkindLeafNm());	//LEAF품목명
 
 		// 스타일 년도
-		if (StringUtils.isBlank(goodsMass.getStyleYear().trim()) || goodsMass.getStyleYear().trim().length() != 4 || !goodsMass.getStyleYear().trim().matches(NUMBER_PATTERN)) {
+		if (StringUtils.isBlank(goodsMass.getStyleYear()) || goodsMass.getStyleYear().trim().length() != 4 || !goodsMass.getStyleYear().trim().matches(NUMBER_PATTERN)) {
 			goods.setGoodsRegMsg("스타일 년도 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -1948,12 +1954,12 @@ public class TssGoodsService {
 		goods.setStyleYear(goodsMass.getStyleYear().trim());
 
 		// 시즌
-		if (StringUtils.isBlank(goodsMass.getSeasonCd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getSeasonCd())) {
 			goods.setGoodsRegMsg("시즌 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setSeasonCd(goodsMass.getSeasonCd().trim()); // 시즌
+		goods.setSeasonCd(goodsMass.getSeasonCd().trim().toUpperCase()); // 시즌
 
 		CommonCode commonCode = new CommonCode();
 		commonCode.setUseYn("Y");
@@ -1967,12 +1973,12 @@ public class TssGoodsService {
 		}
 
 		// 성별
-		if (StringUtils.isBlank(goodsMass.getSexGb().trim())) {
+		if (StringUtils.isBlank(goodsMass.getSexGb())) {
 			goods.setGoodsRegMsg("성별 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setSexGb(goodsMass.getSexGb().trim()); // 성별
+		goods.setSexGb(goodsMass.getSexGb().trim().toUpperCase()); // 성별
 		commonCode.setCdGb("G007"); // 성별
 		commonCode.setCd(goods.getSexGb());
 		Collection<CommonCode> sexGbList = rendererService.getCommonCodeList(commonCode);
@@ -1983,7 +1989,7 @@ public class TssGoodsService {
 		}
 
 		// 정상가
-		if (StringUtils.isBlank(goodsMass.getListPrice().trim())) {
+		if (StringUtils.isBlank(goodsMass.getListPrice())) {
 			goods.setGoodsRegMsg("정상가 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -1995,7 +2001,7 @@ public class TssGoodsService {
 		}
 
 		// 판매가
-		if (StringUtils.isBlank(goodsMass.getCurrPrice().trim())) {
+		if (StringUtils.isBlank(goodsMass.getCurrPrice())) {
 			goods.setGoodsRegMsg("판매가 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -2023,12 +2029,12 @@ public class TssGoodsService {
 		goods.setCostPrice(0);
 
 		// 상품구분
-		if (StringUtils.isBlank(goodsMass.getGoodsGb().trim())) {
+		if (StringUtils.isBlank(goodsMass.getGoodsGb())) {
 			goods.setGoodsRegMsg("상품구분 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setGoodsGb(goodsMass.getGoodsGb().trim());
+		goods.setGoodsGb(goodsMass.getGoodsGb().trim().toUpperCase());
 		commonCode.setCdGb("G073"); 	//상품구분
 		commonCode.setCd(goods.getGoodsGb());
 		Collection<CommonCode> goodsGbList = rendererService.getCommonCodeList(commonCode);
@@ -2039,12 +2045,12 @@ public class TssGoodsService {
 		}
 
 		// 정상이월
-		if (StringUtils.isBlank(goodsMass.getFormalGb().trim())) {
+		if (StringUtils.isBlank(goodsMass.getFormalGb())) {
 			goods.setGoodsRegMsg("정상이월 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setFormalGb(goodsMass.getFormalGb().trim());
+		goods.setFormalGb(goodsMass.getFormalGb().trim().toUpperCase());
 		commonCode.setCdGb("G009"); 	//정상이월
 		commonCode.setCd(goods.getFormalGb());
 		Collection<CommonCode> formalGbList = rendererService.getCommonCodeList(commonCode);
@@ -2090,12 +2096,12 @@ public class TssGoodsService {
 		goodsMass.setSupplyCompCd(supplyCompCd); // 업체 코드
 
 		// 원산지 / 제조국
-		if (StringUtils.isBlank(goodsMass.getOriginCd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getOriginCd())) {
 			goods.setGoodsRegMsg("원산지 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setOriginCd(goodsMass.getOriginCd().trim());
+		goods.setOriginCd(goodsMass.getOriginCd().trim().toUpperCase());
 
 		commonCode.setCdGb("G076"); // 원산지
 		commonCode.setCd(goods.getOriginCd());
@@ -2108,12 +2114,12 @@ public class TssGoodsService {
 		goods.setOriginNm(originCdList.iterator().next().getCdNm());	//고시정보 적용용
 
 		// 과세구분
-		if (StringUtils.isBlank(goodsMass.getTaxGb().trim())) {
+		if (StringUtils.isBlank(goodsMass.getTaxGb())) {
 			goods.setGoodsRegMsg("과세구분 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setTaxGb(goodsMass.getTaxGb().trim());
+		goods.setTaxGb(goodsMass.getTaxGb().trim().toUpperCase());
 		if (!"10".equals(goods.getTaxGb()) && !"20".equals(goods.getTaxGb())) {
 			goods.setGoodsRegMsg("과세구분 오류");
 			goods.setGoodsStat("10");
@@ -2121,8 +2127,8 @@ public class TssGoodsService {
 		}
 
 		//상품연령
-		if (!StringUtils.isBlank(goodsMass.getAgeGrpCd().trim())) {
-			goods.setAgeGrpCd(goodsMass.getAgeGrpCd().trim());
+		if (StringUtils.isNotBlank(goodsMass.getAgeGrpCd())) {
+			goods.setAgeGrpCd(goodsMass.getAgeGrpCd().trim().toUpperCase());
 
 			commonCode.setCdGb("G023"); // 상품연령
 			commonCode.setCd(goods.getAgeGrpCd());
@@ -2135,12 +2141,12 @@ public class TssGoodsService {
 		}
 
 		//성인용품여부
-		if (StringUtils.isBlank(goodsMass.getAdultYn().trim())) {
+		if (StringUtils.isBlank(goodsMass.getAdultYn())) {
 			goods.setGoodsRegMsg("성인용품여부 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setAdultYn(goodsMass.getAdultYn().trim());
+		goods.setAdultYn(goodsMass.getAdultYn().trim().toUpperCase());
 		if (!"Y".equals(goods.getAdultYn()) && !"N".equals(goods.getAdultYn())) {
 			goods.setGoodsRegMsg("성인용품여부 오류");
 			goods.setGoodsStat("10");
@@ -2148,7 +2154,7 @@ public class TssGoodsService {
 		}
 
 		// 제조년월
-		if (StringUtils.isBlank(goodsMass.getMakeYmd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getMakeYmd())) {
 			goods.setGoodsRegMsg("제조년월일 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -2231,13 +2237,13 @@ public class TssGoodsService {
 
 		GoodsMass goodsMass = mapper.convertValue(gagaMap, GoodsMass.class);
 
-		if (StringUtils.isBlank(goodsMass.getGoodsCd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getGoodsCd())) {
 			throw new IllegalStateException("상품코드가 없습니다.");
 		}
 
 		// 상품기본정보
 		Goods goodsData = new Goods();
-		goodsData.setGoodsCd(goodsMass.getGoodsCd().trim());
+		goodsData.setGoodsCd(goodsMass.getGoodsCd().trim().toUpperCase());
 		Goods goodsOrigin = goodsDao.getGoods(goodsData);
 		if (goodsOrigin == null) {
 			goodsData.setGoodsRegMsg("미등록 상품코드");
@@ -2312,11 +2318,21 @@ public class TssGoodsService {
 			this.saveGoodsDesc(goodsDesc);
 		}
 
-		if ("Y".equals(goods.getChNotiYn())) {
-			this.updateGoodsNoti(goods, newGoodsNotiList); // 상품고시정보 저장
+		// 상품고시정보 적용
+		if ("Y".equals(goods.getChNotiYn()) && newGoodsNotiList != null && !newGoodsNotiList.isEmpty()) {
+
+			int index = 0;
+			for (GoodsNotiInfo goodsNotiInfo : newGoodsNotiList) {
+
+				if (index == 0) {
+					goodsDao.deleteGoodsNotiInfo(goods);
+				}
+				goodsDao.saveGoodsNotiInfo(goodsNotiInfo);
+				index++;
+			}
 		}
 
-		// 품목변경시 카테고리 자동 전시 
+		// 품목변경시 카테고리 자동 전시
 		if (!UPDATE_NO_PATTERN.equals(goods.getItemkindCd().trim())) {
 			GoodsCategory goodsCategory = new GoodsCategory();
 			goodsCategory.setRegNo(TssSession.getInfo().getUserNo());
@@ -2349,7 +2365,7 @@ public class TssGoodsService {
 		goods.setRegNo(TssSession.getInfo().getUserNo());
 		goods.setUpdNo(TssSession.getInfo().getUserNo());
 
-		goods.setGoodsCd(goodsMass.getGoodsCd().toUpperCase().trim()); // 상품코드
+		goods.setGoodsCd(goodsMass.getGoodsCd().toUpperCase().trim().toUpperCase()); // 상품코드
 
 		//촬영업체 skip(상품정보 수정할수 없음)
 		if ("G001_E000".equals(TssSession.getInfo().getRoleCd())) {
@@ -2377,7 +2393,7 @@ public class TssGoodsService {
 			}
 		}
 
-		if (StringUtils.isBlank(goodsMass.getGoodsNm().trim())) {
+		if (StringUtils.isBlank(goodsMass.getGoodsNm())) {
 			goods.setGoodsRegMsg("상품명 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -2402,12 +2418,12 @@ public class TssGoodsService {
 			}
 		}
 		// 품목확인
-		if (StringUtils.isBlank(goodsMass.getItemkindCd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getItemkindCd())) {
 			goods.setGoodsRegMsg("품목코드 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setItemkindCd(goodsMass.getItemkindCd().trim()); // 품목
+		goods.setItemkindCd(goodsMass.getItemkindCd().trim().toUpperCase()); // 품목
 
 		if (!UPDATE_NO_PATTERN.equals(goods.getItemkindCd())) {
 			Itemkind itemkind = new Itemkind();
@@ -2421,27 +2437,16 @@ public class TssGoodsService {
 			}
 			goods.setChDataYn("Y");
 		}
-		// 스타일년도 확인
-		if (StringUtils.isBlank(goodsMass.getStyleYear().trim()) || goodsMass.getStyleYear().trim().length() != 4 || !goodsMass.getStyleYear().trim().matches(NUMBER_PATTERN)) {
-			goods.setGoodsRegMsg("스타일 년도 오류");
-			goods.setGoodsStat("10");
-			return goods;
-		}
-		goods.setStyleYear(goodsMass.getStyleYear().trim());
-
-		if (!UPDATE_NO_PATTERN.equals(goods.getStyleYear())) {
-			goods.setChDataYn("Y");
-		}
 
 		CommonCode commonCode = new CommonCode();
 		commonCode.setUseYn("Y");
 		// 시즌코드
-		if (StringUtils.isBlank(goodsMass.getSeasonCd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getSeasonCd())) {
 			goods.setGoodsRegMsg("시즌코드 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setSeasonCd(goodsMass.getSeasonCd().trim());
+		goods.setSeasonCd(goodsMass.getSeasonCd().trim().toUpperCase());
 		if (!UPDATE_NO_PATTERN.equals(goods.getSeasonCd())) {
 			commonCode.setCdGb("G006"); // 시즌
 			commonCode.setCd(goods.getSeasonCd());
@@ -2454,12 +2459,12 @@ public class TssGoodsService {
 			goods.setChDataYn("Y");
 		}
 		// 성별
-		if (StringUtils.isBlank(goodsMass.getSexGb().trim())) {
+		if (StringUtils.isBlank(goodsMass.getSexGb())) {
 			goods.setGoodsRegMsg("성별코드 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setSexGb(goodsMass.getSexGb().trim());
+		goods.setSexGb(goodsMass.getSexGb().trim().toUpperCase());
 		// 성별
 		if (!UPDATE_NO_PATTERN.equals(goods.getSexGb())) {
 			commonCode.setCdGb("G007"); // 성별
@@ -2473,7 +2478,7 @@ public class TssGoodsService {
 			goods.setChDataYn("Y");
 		}
 		//판매가
-		if (StringUtils.isBlank(goodsMass.getCurrPrice().trim())) {
+		if (StringUtils.isBlank(goodsMass.getCurrPrice())) {
 			goods.setGoodsRegMsg("판매가 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -2494,7 +2499,7 @@ public class TssGoodsService {
 			}
 		}
 		//판매수수료율
-		if (StringUtils.isBlank(goodsMass.getSellFeeRate().trim())) {
+		if (StringUtils.isBlank(goodsMass.getSellFeeRate())) {
 			goods.setGoodsRegMsg("판매수수료율 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -2569,12 +2574,12 @@ public class TssGoodsService {
 		}
 
 		// 상품구분
-		if (StringUtils.isBlank(goodsMass.getGoodsGb().trim())) {
+		if (StringUtils.isBlank(goodsMass.getGoodsGb())) {
 			goods.setGoodsRegMsg("상품구분 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setSexGb(goodsMass.getGoodsGb().trim());
+		goods.setSexGb(goodsMass.getGoodsGb().trim().toUpperCase());
 		// 상품구분
 		if (!UPDATE_NO_PATTERN.equals(goods.getGoodsGb())) {
 			commonCode.setCdGb("G073"); // 상품구분
@@ -2589,12 +2594,12 @@ public class TssGoodsService {
 		}
 
 		//정상이월구분
-		if (StringUtils.isBlank(goodsMass.getFormalGb().trim())) {
+		if (StringUtils.isBlank(goodsMass.getFormalGb())) {
 			goods.setGoodsRegMsg("정상이월구분 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setFormalGb(goodsMass.getFormalGb().trim()); // 정상이월
+		goods.setFormalGb(goodsMass.getFormalGb().trim().toUpperCase()); // 정상이월
 		if (!UPDATE_NO_PATTERN.equals(goods.getFormalGb())
 			&& !"G009_10".equals(goods.getFormalGb())
 			&& !"G009_20".equals(goods.getFormalGb())) {
@@ -2678,14 +2683,14 @@ public class TssGoodsService {
 		}
 
 		//선물주문가능여부
-		if (StringUtils.isBlank(goodsMass.getGiftPackYn().trim())) {
+		if (StringUtils.isBlank(goodsMass.getGiftPackYn())) {
 			goods.setGoodsRegMsg("선물주문가능여부 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
 		if ("Y".equals(goodsOrigin.getSelfGoodsYn())) {
-			if (!UPDATE_NO_PATTERN.equals(goodsMass.getGiftPackYn().trim())) {
-				goods.setGiftPackYn(goodsMass.getGiftPackYn().trim());
+			if (!UPDATE_NO_PATTERN.equals(goodsMass.getGiftPackYn().trim().toUpperCase())) {
+				goods.setGiftPackYn(goodsMass.getGiftPackYn().trim().toUpperCase());
 				if (!"Y".equals(goods.getGiftPackYn()) && !"N".equals(goods.getGiftPackYn())) {
 					goods.setGoodsRegMsg("선물주문가능여부 오류");
 					goods.setGoodsStat("10");
@@ -2694,18 +2699,18 @@ public class TssGoodsService {
 				goods.setChDataYn("Y");
 			}
 		} else {
-			goods.setGiftPackYn(goodsOrigin.getGiftPackYn());
+			goods.setGiftPackYn(goodsOrigin.getGiftPackYn().trim().toUpperCase());
 		}
 
 		//신규가입구매가능여부
-		if (StringUtils.isBlank(goodsMass.getNewCustOrdYn().trim())) {
+		if (StringUtils.isBlank(goodsMass.getNewCustOrdYn())) {
 			goods.setGoodsRegMsg("신규가입구매가능여부 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
 		if ("Y".equals(goodsOrigin.getSelfGoodsYn())) {
-			if (!UPDATE_NO_PATTERN.equals(goodsMass.getNewCustOrdYn().trim())) {
-				goods.setNewCustOrdYn(goodsMass.getNewCustOrdYn().trim());
+			if (!UPDATE_NO_PATTERN.equals(goodsMass.getNewCustOrdYn().trim().toUpperCase())) {
+				goods.setNewCustOrdYn(goodsMass.getNewCustOrdYn().trim().toUpperCase());
 				if (!"Y".equals(goods.getNewCustOrdYn()) && !"N".equals(goods.getNewCustOrdYn())) {
 					goods.setGoodsRegMsg("신규가입구매가능여부 오류");
 					goods.setGoodsStat("10");
@@ -2714,16 +2719,16 @@ public class TssGoodsService {
 				goods.setChDataYn("Y");
 			}
 		} else {
-			goods.setNewCustOrdYn(goodsOrigin.getNewCustOrdYn());
+			goods.setNewCustOrdYn(goodsOrigin.getNewCustOrdYn().toUpperCase());
 		}
 
 		//반품여부
-		if (StringUtils.isBlank(goodsMass.getReturnableYn().trim())) {
+		if (StringUtils.isBlank(goodsMass.getReturnableYn())) {
 			goods.setGoodsRegMsg("반품여부 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setReturnableYn(goodsMass.getReturnableYn().trim());
+		goods.setReturnableYn(goodsMass.getReturnableYn().trim().toUpperCase());
 		if (!UPDATE_NO_PATTERN.equals(goodsMass.getReturnableYn().trim())) {
 			if (!"Y".equals(goods.getReturnableYn()) && !"N".equals(goods.getReturnableYn())) {
 				goods.setGoodsRegMsg("반품여부 오류");
@@ -2734,12 +2739,12 @@ public class TssGoodsService {
 		}
 
 		//교환여부
-		if (StringUtils.isBlank(goodsMass.getChangeableYn().trim())) {
+		if (StringUtils.isBlank(goodsMass.getChangeableYn())) {
 			goods.setGoodsRegMsg("교환여부 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setChangeableYn(goodsMass.getChangeableYn().trim());
+		goods.setChangeableYn(goodsMass.getChangeableYn().trim().toUpperCase());
 		if (!UPDATE_NO_PATTERN.equals(goodsMass.getChangeableYn().trim())) {
 			if (!"Y".equals(goods.getChangeableYn()) && !"N".equals(goods.getChangeableYn())) {
 				goods.setGoodsRegMsg("교환여부 오류");
@@ -2750,12 +2755,12 @@ public class TssGoodsService {
 		}
 
 		//과세구분
-		if (StringUtils.isBlank(goodsMass.getTaxGb().trim())) {
+		if (StringUtils.isBlank(goodsMass.getTaxGb())) {
 			goods.setGoodsRegMsg("과세구분 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setTaxGb(goodsMass.getTaxGb().trim());
+		goods.setTaxGb(goodsMass.getTaxGb().trim().toUpperCase());
 		if (!UPDATE_NO_PATTERN.equals(goodsMass.getTaxGb().trim())) {
 			if (!"Y".equals(goods.getTaxGb()) && !"N".equals(goods.getTaxGb())) {
 				goods.setGoodsRegMsg("과세구분 오류");
@@ -2766,12 +2771,12 @@ public class TssGoodsService {
 		}
 
 		//상품연령
-		if (StringUtils.isBlank(goodsMass.getAgeGrpCd().trim())) {
+		if (StringUtils.isBlank(goodsMass.getAgeGrpCd())) {
 			goods.setGoodsRegMsg("상품연령 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setAgeGrpCd(goodsMass.getAgeGrpCd().trim());
+		goods.setAgeGrpCd(goodsMass.getAgeGrpCd().trim().toUpperCase());
 		if (!UPDATE_NO_PATTERN.equals(goods.getAgeGrpCd())) {
 			commonCode.setCdGb("G023");
 			commonCode.setCd(goods.getAgeGrpCd());
@@ -2785,12 +2790,12 @@ public class TssGoodsService {
 		}
 
 		//성인용품여부
-		if (StringUtils.isBlank(goodsMass.getAdultYn().trim())) {
+		if (StringUtils.isBlank(goodsMass.getAdultYn())) {
 			goods.setGoodsRegMsg("성인용품여부 오류");
 			goods.setGoodsStat("10");
 			return goods;
 		}
-		goods.setAdultYn(goodsMass.getAdultYn().trim());
+		goods.setAdultYn(goodsMass.getAdultYn().trim().toUpperCase());
 		if (!UPDATE_NO_PATTERN.equals(goodsMass.getAdultYn().trim())) {
 			if (!"Y".equals(goods.getAdultYn()) && !"N".equals(goods.getAdultYn())) {
 				goods.setGoodsRegMsg("성인용품여부 오류");
@@ -2801,7 +2806,7 @@ public class TssGoodsService {
 		}
 
 		//PC포인트적립율
-		if (StringUtils.isBlank(goodsMass.getPntPrate().trim())) {
+		if (StringUtils.isBlank(goodsMass.getPntPrate())) {
 			goods.setGoodsRegMsg("PC포인트적립율 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -2834,7 +2839,7 @@ public class TssGoodsService {
 			}
 		}
 
-		if (StringUtils.isBlank(goodsMass.getPntMrate().trim())) {
+		if (StringUtils.isBlank(goodsMass.getPntMrate())) {
 			goods.setGoodsRegMsg("모바일포인트적립율 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -2851,7 +2856,7 @@ public class TssGoodsService {
 			goods.setChDataYn("Y");
 		}
 
-		if (StringUtils.isBlank(goodsMass.getPreMpntUsableYn().trim())) {
+		if (StringUtils.isBlank(goodsMass.getPreMpntUsableYn())) {
 			goods.setGoodsRegMsg("모바일선포인트 사용여부 오류");
 			goods.setGoodsStat("10");
 			return goods;
@@ -2973,7 +2978,7 @@ public class TssGoodsService {
 
 		newNiClsfCd = excelMap.getString("niClsfCd").trim();
 		for (int i = 0; i < 28; i++) {
-			if (StringUtils.isBlank(excelMap.getString("niContent" + (i + 1)).trim())) {
+			if (StringUtils.isBlank(excelMap.getString("niContent" + (i + 1)))) {
 				goods.setGoodsRegMsg("고시항목정보 없음 (" + (i + 1) + "번째 항목)");
 				goods.setGoodsStat("10");
 				return goods;
@@ -3001,8 +3006,9 @@ public class TssGoodsService {
 				oldNiClsfCd = goodsNotiList.iterator().next().getNiClsfCd();
 			}
 			notiInfo.setNiClsfCd(oldNiClsfCd);
+			newNiClsfCd = oldNiClsfCd;
 		}
-		Collection<NotiInfo> notiInfolist = goodsDao.getNotiInfoItemList(notiInfo);
+		Collection<NotiInfo> notiInfolist = goodsDao.getNotiInfoItemList(notiInfo);  // 항목별 기본값 조회
 		// 상품의 고시 분류코드 조회
 		if (notiInfolist == null || notiInfolist.isEmpty()) {
 			goods.setGoodsRegMsg("고시분류정보 없음");
@@ -3046,31 +3052,6 @@ public class TssGoodsService {
 		return goods;
 	}
 
-	/**
-	 * 상품대량수정 - 상품고시정보
-	 *
-	 * @param goods
-	 * @param excelMap
-	 * @return Goods
-	 * @author eskim
-	 * @since 2021. 01. 20
-	 */
-	private void updateGoodsNoti(Goods goods, Collection<GoodsNotiInfo> newGoodsNotiList) {
-
-		if (newGoodsNotiList != null && !newGoodsNotiList.isEmpty()) {
-
-			int index = 0;
-			for (GoodsNotiInfo goodsNotiInfo : newGoodsNotiList) {
-
-				if (index == 0) {
-					goodsDao.deleteGoodsNotiInfo(goods);
-				}
-				goodsDao.saveGoodsNotiInfo(goodsNotiInfo);
-				index++;
-			}
-		}
-	}
-
 	/**
 	 * 상품 품목 변경 저장
 	 *
@@ -3118,7 +3099,7 @@ public class TssGoodsService {
 			}
 			goodsDao.updateGoodsSnm(goods);
 
-			//상품 등록후에는 고시정보는 품목과 상관없이 변경처리 가능하게 
+			//상품 등록후에는 고시정보는 품목과 상관없이 변경처리 가능하게
 //			Collection<GoodsNotiInfo> goodsNotiInfoList = goodsDao.getNewNotiInfo(goods);
 //			goodsDao.deleteGoodsNotiInfo(goods);
 //

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

@@ -877,8 +877,8 @@ public class TssGoodsController extends TssBaseController {
 		// DB 처리 시 사용되는 파라미터명(셀명) 설정 -
 		String[] goodsNames = {"goodsCd", "goodsNm", "goodsTnm", "goodsSnm1", "itemkindCd", "seasonCd",
 			"sexGb", "currPrice", "sellFeeRate", "goodsGb", "formalGb", "minOrdQty", "maxOrdQty", "dayMaxOrdQty",
-			"giftPackYn", "newCustOrdYn", "returnableYn", "changeableYn",
-			"taxGb", "ageGrpCd", "adultYn", "goodsContent",
+			"giftPackYn", "newCustOrdYn","pntPrate","prePpntUsableYn", "pntMrate","preMpntUsableYn",
+			"returnableYn", "changeableYn","taxGb", "ageGrpCd", "adultYn", "goodsContent",
 			"niClsfCd", "niContent1", "niContent2",
 			"niContent3", "niContent4", "niContent5", "niContent6", "niContent7", "niContent8", "niContent9",
 			"niContent10", "niContent11", "niContent12", "niContent13", "niContent14", "niContent15", "niContent16",

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

@@ -908,14 +908,12 @@
 		var idx = 0;
 		$('#goodsDetailForm').find('#notiArea').html('');
 		notiHtml += '<table class="frmStyle">';
-		notiHtml += '<colgroup><col style="width:20%"/><col/><col style="width:5%"/><col style="width:5%"/></colgroup>';
+		notiHtml += '<colgroup><col style="width:20%"/><col/></colgroup>';
 		notiHtml += '<tbody id="infoContents">\n';
-		notiHtml += '<tr><th>고시항목</th><th>고시내용</th><th>필수여부</th><th>전시여부</th></tr>';
+		notiHtml += '<tr><th>고시항목</th><th>고시내용</th></tr>';
 		result.forEach(function(info){
 			notiHtml += '<tr><th>'+ gagajf.convNull(info.niItemNm, '') +'<input type="hidden" name="niItemCd" value="'+ gagajf.convNull(info.niItemCd, '') +'" />\n<input type="hidden" name="dispOrd" value="'+ gagajf.convNull(info.dispOrd, '') +'" /></th>';
 			notiHtml += '<td><input type="text" name="niContent" value="'+ gagajf.convNull(info.niContent, '') +'"/></td>\n';
-			notiHtml += '<td class="aC">'+gagajf.convNull(info.reqYn, '')+'<input type="hidden" name="reqYn" value="'+ gagajf.convNull(info.reqYn, '') +'"/></td>\n';
-			notiHtml += '<td class="aC">'+gagajf.convNull(info.dispYn, '')+'<input type="hidden" name="dispYn" value="'+ gagajf.convNull(info.dispYn, '') +'"/></td>\n';
 			notiHtml += '</tr>\n';
 		});
 		notiHtml += '</tbody></table>';
@@ -1150,12 +1148,10 @@
 				idx = 0;
 				//고시정보 필수나 전시표시값 입력여부 확인
 				$("#goodsDetailForm #notiArea").find("#infoContents tr").each(function() {
-					if ("Y" == $(this).find("input[name=reqYn]").val() ||  "Y" == $(this).find("input[name=dispYn]").val()){
-						if (gagajf.isNull($(this).find("input[name=niContent]").val())){
-							optCheck = true;
-							mcxDialog.alertC("고시정보를 입력해주세요.");
-							return false;
-						}
+					if (gagajf.isNull($(this).find("input[name=niContent]").val())){
+						optCheck = true;
+						mcxDialog.alertC("고시정보를 입력해주세요.");
+						return false;
 					}
 					idx++;
 				});