Explorar o código

대량상품수정 상태값 변경기능 추가

jmh %!s(int64=4) %!d(string=hai) anos
pai
achega
4f146d3cc8

+ 1 - 0
src/main/java/com/style24/persistence/domain/Goods.java

@@ -40,6 +40,7 @@ public class Goods extends TscBaseDomain {
 	private float dcRate;		//할인율
 	private float dcRate;		//할인율
 	private int benefitCurrPrice;		//즉시할인판매가
 	private int benefitCurrPrice;		//즉시할인판매가
 	private String goodsStat;		//상품상태(공통코드G008)
 	private String goodsStat;		//상품상태(공통코드G008)
+	private String goodsStatCd;		//상품상태명(공통코드G008)-상품대량등록시 goodsStat를 다른용도로 사용하고 있으므로, 상품상태 코드값 추가필요
 	private String selfMallYn;		//자사몰노출여부
 	private String selfMallYn;		//자사몰노출여부
 	private String goodsGb;		//해외구매대행/병행수입 상품일 경우 주문 시 통관부호 입력 란이 추가되어야 한다
 	private String goodsGb;		//해외구매대행/병행수입 상품일 경우 주문 시 통관부호 입력 란이 추가되어야 한다
 	private String foreignBuyYn;		//해외구매대행여부
 	private String foreignBuyYn;		//해외구매대행여부

+ 1 - 0
src/main/java/com/style24/persistence/domain/GoodsMass.java

@@ -104,6 +104,7 @@ public class GoodsMass extends TscBaseDomain {
 	private String regSuccYn;
 	private String regSuccYn;
 	private String regFailRsn;
 	private String regFailRsn;
 	private String goodsStat;		//상품상태(공통코드G008)
 	private String goodsStat;		//상품상태(공통코드G008)
+	private String goodsStatCd;		//상품상태(공통코드G008)-상품대량등록시 goodsStat를 다른용도로 사용하고 있으므로, 상품상태 코드값 추가필요
 
 
 	private String mainColorCd;
 	private String mainColorCd;
 
 

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

@@ -2107,6 +2107,7 @@
       , SEASON_CD
       , SEASON_CD
       , SEX_GB
       , SEX_GB
       , GOODS_NUM
       , GOODS_NUM
+      , GOODS_STAT_CD
       , LIST_PRICE
       , LIST_PRICE
       , CURR_PRICE
       , CURR_PRICE
       , COST_PRICE
       , COST_PRICE
@@ -2182,6 +2183,7 @@
       , #{seasonCd}
       , #{seasonCd}
       , #{sexGb}
       , #{sexGb}
       , #{goodsNum}
       , #{goodsNum}
+      , #{goodsStatCd}
       , #{listPrice}
       , #{listPrice}
       , #{currPrice}
       , #{currPrice}
       , #{costPrice}
       , #{costPrice}
@@ -2463,6 +2465,7 @@
          , A.SEASON_CD
          , A.SEASON_CD
          , A.SEX_GB
          , A.SEX_GB
          , A.GOODS_NUM
          , A.GOODS_NUM
+         , A.GOODS_STAT_CD
          , A.LIST_PRICE
          , A.LIST_PRICE
          , A.CURR_PRICE
          , A.CURR_PRICE
          , A.COST_PRICE
          , A.COST_PRICE
@@ -2611,6 +2614,9 @@
     <if test='sexGb != null and sexGb != "X"'>
     <if test='sexGb != null and sexGb != "X"'>
       , SEX_GB = #{sexGb}
       , SEX_GB = #{sexGb}
     </if>
     </if>
+    <if test='goodsStatCd != null and goodsStatCd != "X"'>
+	  , GOODS_STAT = #{goodsStatCd}
+	</if>
     <if test="currPrice != null and currPrice > 0">
     <if test="currPrice != null and currPrice > 0">
       , CURR_PRICE = #{currPrice}
       , CURR_PRICE = #{currPrice}
       , CURR_BPRICE = #{currBprice}
       , CURR_BPRICE = #{currBprice}

+ 30 - 0
src/main/java/com/style24/scm/biz/service/TssGoodsService.java

@@ -3094,6 +3094,36 @@ public class TssGoodsService {
 			}
 			}
 			goods.setChDataYn("Y");
 			goods.setChDataYn("Y");
 		}
 		}
+		
+		// 상품상태
+		if (StringUtils.isBlank(goodsMass.getGoodsStatCd())) {
+			goods.setGoodsRegMsg("상품상태 오류");
+			goods.setGoodsStat("10");
+			return goods;
+		}
+		goods.setGoodsStatCd(goodsMass.getGoodsStatCd().trim().toUpperCase());
+		// 상품상태
+		if (!UPDATE_NO_PATTERN.equals(goods.getGoodsStatCd())) {
+			commonCode.setCdGb("G008"); // 상품상태
+			commonCode.setCd(goods.getGoodsStatCd());
+			Collection<CommonCode> statList = rendererService.getCommonCodeList(commonCode);
+			if (statList == null || statList.isEmpty()) {
+				goods.setGoodsRegMsg("상품상태 오류");
+				goods.setGoodsStat("10");
+				return goods;
+			}
+			goods.setChDataYn("Y");
+		}
+		
+		// 최초승인완료일이 있을경우만 승인완료로 상태값 변경가능 
+		if("G008_90".equals(goodsMass.getGoodsStatCd())) {
+			if (StringUtils.isBlank(goodsOrigin.getFrstCfrmDt())) {
+				goods.setGoodsRegMsg("상품상태 오류- 최초승인일이 있는경우만 승인완료로 변경가능");
+				goods.setGoodsStat("10");
+				return goods;
+			}
+		}
+		
 		//판매가
 		//판매가
 		if (StringUtils.isBlank(goodsMass.getCurrPrice())) {
 		if (StringUtils.isBlank(goodsMass.getCurrPrice())) {
 			goods.setGoodsRegMsg("판매가 오류");
 			goods.setGoodsRegMsg("판매가 오류");

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

@@ -1291,7 +1291,7 @@ public class TssGoodsController extends TssBaseController {
 		// 상품수장
 		// 상품수장
 		// DB 처리 시 사용되는 파라미터명(셀명) 설정 -
 		// DB 처리 시 사용되는 파라미터명(셀명) 설정 -
 		String[] goodsNames = {"goodsCd", "goodsNm", "goodsTnm", "goodsSnm1", "itemkindCd", "seasonCd",
 		String[] goodsNames = {"goodsCd", "goodsNm", "goodsTnm", "goodsSnm1", "itemkindCd", "seasonCd",
-			"sexGb", "currPrice", "sellFeeRate", "goodsGb", "formalGb", "minOrdQty", "maxOrdQty", "dayMaxOrdQty",
+			"sexGb", "goodsStatCd", "currPrice", "sellFeeRate", "goodsGb", "formalGb", "minOrdQty", "maxOrdQty", "dayMaxOrdQty",
 			"giftPackYn", "newCustOrdYn", "pntPrate", "prePpntUsableYn", "pntMrate", "preMpntUsableYn",
 			"giftPackYn", "newCustOrdYn", "pntPrate", "prePpntUsableYn", "pntMrate", "preMpntUsableYn",
 			"returnableYn", "changeableYn", "taxGb", "ageGrpCd", "adultYn", "delvFeeCd", "optStr", "goodsContent",
 			"returnableYn", "changeableYn", "taxGb", "ageGrpCd", "adultYn", "delvFeeCd", "optStr", "goodsContent",
 			"niClsfCd", "niContent1", "niContent2",
 			"niClsfCd", "niContent1", "niContent2",

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

@@ -164,6 +164,7 @@
 		{headerName: "스타일연도", field: "styleYear", width: 100, cellClass: 'text-center'},
 		{headerName: "스타일연도", field: "styleYear", width: 100, cellClass: 'text-center'},
 		{headerName: "시즌", field: "seasonCd", width: 100, cellClass: 'text-center'},
 		{headerName: "시즌", field: "seasonCd", width: 100, cellClass: 'text-center'},
 		{headerName: "성별", field: "sexGb", width: 100, cellClass: 'text-center'},
 		{headerName: "성별", field: "sexGb", width: 100, cellClass: 'text-center'},
+		{headerName: "상품상태", field: "goodsStatCd", width: 100, cellClass: 'text-center'},
 		{headerName: "정상가", field: "listPrice", width: 100, cellClass: 'text-center'},
 		{headerName: "정상가", field: "listPrice", width: 100, cellClass: 'text-center'},
 		{headerName: "판매가", field: "currPrice", width: 100, cellClass: 'text-center'},
 		{headerName: "판매가", field: "currPrice", width: 100, cellClass: 'text-center'},
 		{headerName: "원가", field: "costPrice", width: 100, cellClass: 'text-center'},
 		{headerName: "원가", field: "costPrice", width: 100, cellClass: 'text-center'},