فهرست منبع

자사상품 등록

eskim 5 سال پیش
والد
کامیت
d8016e4c1b

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

@@ -85,4 +85,6 @@ public class GoodsMass extends TscBaseDomain {
 	private String regFailRsn;
 	private String goodsStat;		//상품상태(공통코드G008)
 
+	private String mainColorCd;
+
 }

+ 26 - 4
src/main/java/com/style24/persistence/mybatis/shop/TssGoods.xml

@@ -1872,7 +1872,7 @@
 	
 	<!-- WMS 입고상품 사은품 상품 구분 저장 -->
 	<update id="saveGoodsWmsIncomelot" parameterType="WmsGoods">
-		/* TsaGoods.saveGoodsWmsIncomelot */
+		/* TssGoods.saveGoodsWmsIncomelot */
 		UPDATE TB_WMS_GOODS
 		SET GOODS_REG_GB = #{goodsRegGb} /* G: 상품, F: 사은품*/
 		  , GOODS_REG_DT = NOW()
@@ -1884,7 +1884,7 @@
 	
 	<!-- 품목 별 고시기본정보  조회 -->
 	<select id="getItemkindNotiInfoList" parameterType="Goods" resultType="GoodsNotiInfo">
-		/* TsaGoods.getItemkindNotiInfoList */
+		/* TssGoods.getItemkindNotiInfoList */
 		SELECT A.ITEMKIND_CD 
 		     , B.NI_CLSF_CD
 		     , B.NI_ITEM_CD
@@ -1905,7 +1905,7 @@
 	
 	<!-- 상품  등록 로그 생성 -->
 	<insert id="createGoodsRegLog" parameterType="GoodsMass">
-		/* TsaGoods.createGoodsRegLog */
+		/* TssGoods.createGoodsRegLog */
 		INSERT INTO TB_GOODS_REG_LOG (
 		    PROC_GB
 		  , GOODS_CD
@@ -2167,7 +2167,7 @@
 	
 	<!-- 상품등록로그 목록 조회 -->
 	<select id="getGoodsRegLogList" parameterType="GoodsSearch" resultType="GoodsMass">
-		/* TsaGoods.getGoodsRegLogList */
+		/* TssGoods.getGoodsRegLogList */
 		SELECT A.GOODS_REG_SQ
 		     , A.PROC_GB
 		     , A.GOODS_CD
@@ -2255,4 +2255,26 @@
 		ORDER BY A.REG_DT DESC, A.GOODS_CD
 	</select>
 	
+	<!-- 상품 색상, 사이즈 정보 조회 -->
+	<select id="getGoodsColorSize"  parameterType="Goods" resultType="GoodsMass">
+		/* TssGoods.getGoodsColorSize */
+		SELECT GOODS_CD
+		     , GROUP_CONCAT(DISTINCT OPT_CD1) AS OPT1_STR
+		     , GROUP_CONCAT(DISTINCT OPT_CD2) AS OPT2_STR
+		     , MIN(OPT_CD1) AS MAIN_COLOR_CD
+		FROM TB_OPTION
+		WHERE GOODS_CD = #{goodsCd}
+		GROUP BY GOODS_CD
+	</select>
+	
+	<!-- 상품 대표색상 설정 -->
+	<update id="updateGoodsMainColorCd" parameterType="GoodsMass">
+		/* TssGoods.updateGoodsMainColorCd */
+		UPDATE TB_GOODS 
+		SET MAIN_COLOR_CD = #{mainColorCd}
+		  , UPD_NO = #{updNo}
+		  , UPD_DT = NOW() 
+		WHERE GOODS_CD = #{goodsCd}
+	</update>
+	
 </mapper>

+ 20 - 0
src/main/java/com/style24/scm/biz/dao/TssGoodsDao.java

@@ -493,5 +493,25 @@ public interface TssGoodsDao {
 	 */
 	Collection<GoodsMass> getGoodsRegLogList(GoodsSearch goodsSearch);
 
+	/**
+	 * 상품 색상, 사이즈 정보 조회
+	 *
+	 * @param Goods
+	 * @return
+	 * @author eskim
+	 * @since 2021. 01. 14
+	 */
+	GoodsMass getGoodsColorSize(Goods goods);
+
+	/**
+	 * 상품 대표색상 설정
+	 *
+	 * @param Goods
+	 * @return
+	 * @author eskim
+	 * @since 2021. 01. 14
+	 */
+	void updateGoodsMainColorCd(GoodsMass goodsMass);
+
 
 }

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

@@ -2,7 +2,6 @@ package com.style24.scm.biz.service;
 
 import java.io.IOException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
 import java.util.Collection;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -1121,25 +1120,54 @@ public class TssGoodsService {
 			return goods.getGoodsStat();
 		}
 
+		// 할인율
+		goods.setDcRate((int)(this.getDcRate(goods.getListPrice(), goods.getCurrPrice())));
+
+		goodsDao.createGoods(goods); // 상품기본 저장
+		goodsDao.createGoodsSmmary(goods); // 상품통계 생성
+
+		WmsGoods wmsGoods = new WmsGoods();
+		wmsGoods.setUpdNo(TssSession.getInfo().getUserNo());
+		wmsGoods.setGoodsRegGb("G"); // G: 상품, F: 사은품
+		wmsGoods.setProductNo(goods.getProductNo());
+		goodsDao.saveGoodsWmsIncomelot(wmsGoods); // wms 상품 상품등록일 변경
+
+		goodsMass.setGoodsCd(goods.getGoodsCd());
+
+		// 상품사이즈 정보 -- 재고 정보연동 해야함
+		Collection<Option> goodsWmsSizeList = goodsDao.getGoodsWmsSizeList(goods);
+		if (goodsWmsSizeList == null || goodsWmsSizeList.isEmpty()) {
+			goods.setGoodsRegMsg("WMS 상품 사이즈 정보 없음");
+			goods.setGoodsStat("G008_20");
+		}else{
+			this.createSelfGoodsSize(goods, goodsWmsSizeList); // 자사 상품사이즈 정보 자장
+		}
+
+		GoodsMass goodsColorSize = goodsDao.getGoodsColorSize(goods);
+		if (goodsColorSize != null && !StringUtils.isEmpty(goodsColorSize.getMainColorCd())) {
+			goodsColorSize.setUpdNo(TssSession.getInfo().getUserNo());
+			goodsDao.updateGoodsMainColorCd(goodsColorSize); // 대표색상 설정
+		}
+
 		// 자사 상품 등록시 고시정보 처리
 		for (GoodsNotiInfo goodsNotiInfo : goodsNotiList) {
-//				if ("003".equals(goodsNotiInfo.getNiItemCd())) {	// 색상
-//					if (!StringUtils.isEmpty(goods.getColorNm())) {
-//						goodsNotiInfo.setNiContent(goods.getColorNm());
-//					}
-//				} else if ("004".equals(goodsNotiInfo.getNiItemCd())) {	//치수
-//					if (!StringUtils.isEmpty(goods.getSizeName())) {
-//						goodsNotiInfo.setNiContent(goods.getSizeName());
-//					}
-			if ("006".equals(goodsNotiInfo.getNiItemCd())) {	//제조국
+			if ("G005_003".equals(goodsNotiInfo.getNiItemCd())) {	// 색상
+				if (!StringUtils.isEmpty(goodsColorSize.getOpt1Str() )) {
+					goodsNotiInfo.setNiContent(goodsColorSize.getOpt1Str());
+				}
+			} else if ("G005_004".equals(goodsNotiInfo.getNiItemCd())) {	//치수
+				if (!StringUtils.isEmpty(goodsColorSize.getOpt2Str())) {
+					goodsNotiInfo.setNiContent(goodsColorSize.getOpt2Str());
+				}
+			} else if ("G005_006".equals(goodsNotiInfo.getNiItemCd())) {	//제조국
 				if (!StringUtils.isEmpty(goods.getOriginNm())) {
 					goodsNotiInfo.setNiContent(goods.getOriginNm());
 				}
-			} else if ("009".equals(goodsNotiInfo.getNiItemCd())) {	//제조년월
+			} else if ("G005_009".equals(goodsNotiInfo.getNiItemCd())) {	//제조년월
 				if (!StringUtils.isEmpty(goods.getMakeYmd())) {
 					goodsNotiInfo.setNiContent(goods.getMakeYmd());
 				}
-			} else if ("097".equals(goodsNotiInfo.getNiItemCd())) {	//수입여부
+			} else if ("G005_097".equals(goodsNotiInfo.getNiItemCd())) {	//수입여부
 				if (!StringUtils.isEmpty(goods.getOriginNm()) &&
 						(goods.getOriginNm().indexOf("대한민국") >= 0 || goods.getOriginNm().indexOf("한국") >= 0 || goods.getOriginNm().toUpperCase().indexOf("KOREA") >= 0)) {
 					goodsNotiInfo.setNiContent("N");
@@ -1152,37 +1180,8 @@ public class TssGoodsService {
 		//고시항목 필수값 확인
 		goods = this.getGoodsNotiCheck(goods, goodsNotiList, gagaMap, procJob);
 
-		if ("10".equals(goods.getGoodsStat())) { // 정보 오류
-			this.setGoodsRegResult(goods, goodsMass, procJob);
-			return goods.getGoodsStat();
-		}
-
-		// 할인율
-		goods.setDcRate((int)(this.getDcRate(goods.getListPrice(), goods.getCurrPrice())));
-
-		goodsDao.createGoods(goods); // 상품기본 저장
-		goodsDao.createGoodsSmmary(goods); // 상품통계 생성
-
-		WmsGoods wmsGoods = new WmsGoods();
-		wmsGoods.setUpdNo(TssSession.getInfo().getUserNo());
-		wmsGoods.setGoodsRegGb("G"); // G: 상품, F: 사은품
-		wmsGoods.setProductNo(goods.getProductNo());
-		goodsDao.saveGoodsWmsIncomelot(wmsGoods); // wms 상품 상품등록일 변경
-
-		goodsMass.setGoodsCd(goods.getGoodsCd());
-
 		this.createGoodsNoti(gagaMap, goodsNotiList); // 상품고시정보 저장
 
-		Collection<Option> goodsWmsSizeList = new ArrayList<>();
-		// 상품사이즈 정보 -- 재고 정보연동 해야함
-		goodsWmsSizeList = goodsDao.getGoodsWmsSizeList(goods);
-		if (goodsWmsSizeList == null || goodsWmsSizeList.isEmpty()) {
-			goods.setGoodsRegMsg("WMS 상품 사이즈 정보 없음");
-			goods.setGoodsStat("G008_20");
-		}
-
-		this.createSelfGoodsSize(goods, goodsWmsSizeList); // 자사 상품사이즈 정보 자장
-
 		// 사용자 검색어를 검색어에 적용
 		String goodsSnm = goodsDao.getGoodsSnm(goods.getGoodsCd());
 		if (!StringUtils.isEmpty(goods.getGoodsSnm1())) {
@@ -1493,6 +1492,7 @@ public class TssGoodsService {
 		if ("S006".equals(goods.getBrandCd())) { //frj 사입처리
 			goods.setDistributionGb("G065_11"); //자사 - 사입
 		}
+		goods.setTaxGb("10"); // 과세구분 10: 과세, 20:비과세
 		goods.setSelfGoodsYn("Y"); // 자사상품여부
 		goods.setSelfMallYn("Y"); //자사몰 노출여부
 		goods.setErpStockLinkYn("Y"); // ERP재고연동여부

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

@@ -737,10 +737,6 @@ public class TssGoodsController extends TssBaseController {
 	public ModelAndView imageMassForm(Goods goods) {
 		ModelAndView mav = new ModelAndView();
 
-//		goods = goodsService.getGoods(goods);
-//		// mav.addObject("goodsImgList", goodsService.getGoodsImgList(goods)); //이미지 - 행
-//		mav.addObject("goodsImgInfo", goodsService.getGoodsImg(goods)); // 이미지 - 열
-//
 		mav.addObject("params", goods);
 		mav.setViewName("goods/GoodsImageMassForm");
 		return mav;
@@ -765,14 +761,9 @@ public class TssGoodsController extends TssBaseController {
 		mav.addObject("wmsSyncYn", commonService.getWmsSyncYn());
 		// 정보고시 목록
 		mav.addObject("niClsfCdList", rendererService.getAvailCommonCodeList("G004"));
-
 		// 사용자 업체
 		String supplyCompCd = StringUtils.hasLength(TssSession.getInfo().getSupplyCompCd()) ? TssSession.getInfo().getSupplyCompCd() : "NONE";
-//		User loginInfo = systemService.getUser(TssSession.getInfo().getUserNo());
-//		String supplyCompCd = "NONE";
-//		if (loginInfo != null) {
-//			supplyCompCd = loginInfo.getSupplyCompCd();
-//		}
+
 		mav.addObject("supplyCompCd", supplyCompCd);
 		mav.setViewName("goods/GoodsMassRegisterForm");
 
@@ -831,7 +822,6 @@ public class TssGoodsController extends TssBaseController {
 				goodsService.createExceluploadSelfGoods(gagaMap,  goodsMass.getProcJob());
 			}
 
-
 		} else {
 			// 입점상품등록
 			// DB 처리 시 사용되는 파라미터명(셀명) 설정 -