Browse Source

상품 재고 연동 ----

eskim 5 years ago
parent
commit
f38f7f30a2

+ 48 - 1
style24.batch/src/main/java/com/style24/batch/biz/job/goods/TsbGoodsWmsProductStockJob.java

@@ -1,15 +1,21 @@
 package com.style24.batch.biz.job.goods;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import com.style24.batch.biz.job.TsbAbstractJob;
 import com.style24.batch.biz.service.TsbCommonService;
 import com.style24.batch.biz.service.TsbGoodsService;
+import com.style24.batch.biz.service.TsbWmsGoodsService;
 import com.style24.persistence.domain.IfProductSku;
 
 import lombok.extern.slf4j.Slf4j;
 
+import com.gagaframework.web.parameter.GagaMap;
 import com.gagaframework.web.util.GagaDateUtil;
 
 /**
@@ -25,6 +31,9 @@ public class TsbGoodsWmsProductStockJob extends TsbAbstractJob<IfProductSku, IfP
 	@Autowired
 	private TsbGoodsService goodsService;
 
+	@Autowired
+	private TsbWmsGoodsService wmsGoodsService;
+
 	@Autowired
 	private TsbCommonService commonService;
 
@@ -56,8 +65,46 @@ public class TsbGoodsWmsProductStockJob extends TsbAbstractJob<IfProductSku, IfP
 			log.info("WMS 정보 동기화 미실행 {}, 연동여부 : {}", GagaDateUtil.getToday("yyyy-MM-dd HH:mm:ss"), wmsSyncYn);
 			return null;
 		}else {
+			/**
+			 * 나중에 개발 서버에서 꼭 테스트 해봅시다~~~~
+			 */
 			//wms상품재고이력 생성
-			goodsService.createWmsProductSkuHst(jobdate);
+//			goodsService.createWmsProductSkuHst(jobdate);
+
+			// TB_IF_PRODUCTSKU_TEMP 작업
+			goodsService.deleteIfProductSku();
+
+			// TB_IF_PRODUCTSKU_TEMP 생성
+			Collection<IfProductSku> wmsIfProductSukList = wmsGoodsService.getWmsIfProductSukList();
+
+			//대용량 : N
+			String byrow = "N";
+			if ("Y".equals(byrow)) {
+				for(IfProductSku ifProductSkuMap : wmsIfProductSukList) {
+					goodsService.createIfProductSkuByRow(ifProductSkuMap);
+				}
+			}else {
+
+				List<IfProductSku> productSukList = new ArrayList<IfProductSku>();
+				GagaMap dataMap = new GagaMap();
+				int index = 0;
+				for(IfProductSku ifProductSkuMap : wmsIfProductSukList) {
+
+					productSukList.add(ifProductSkuMap);
+					index++;
+					if (index % 200 == 0 ||  wmsIfProductSukList.size() == index) {
+						dataMap.set("productSukList", productSukList);
+						goodsService.createIfProductSku(dataMap);
+
+						productSukList.clear();
+					}
+				}
+
+			}
+//
+//			// TB_IF_PRODUCTSKU_HST 생성
+//			//goodsService.createWmsProductSkuHst(jobdate);
+
 			//온라인 상품 재고 적용
 			//goodsService.saveGoodsStock();
 		}

+ 54 - 7
style24.batch/src/main/java/com/style24/batch/biz/service/TsbGoodsService.java

@@ -31,6 +31,7 @@ import io.netty.util.internal.StringUtil;
 import lombok.extern.slf4j.Slf4j;
 
 import com.gagaframework.web.parameter.GagaMap;
+import com.gagaframework.web.util.GagaDateUtil;
 
 /**
  * 상품 Service
@@ -463,7 +464,7 @@ public class TsbGoodsService {
 
 		// TB_IF_PRODUCTSKU_TEMP 생성
 		Collection<IfProductSku> wmsIfProductSukList = wmsGoodsService.getWmsIfProductSukList();
-		String byrow = "Y";
+		String byrow = "N";
 		if ("Y".equals(byrow)) {
 			for(IfProductSku ifProductSku : wmsIfProductSukList) {
 				goodsDao.createIfProductSkuByRow(ifProductSku);
@@ -487,11 +488,11 @@ public class TsbGoodsService {
 
 		}
 
-//		// TB_IF_PRODUCTSKU_HST 2달 전 데이터 삭제
-//		String delYyyymmdd = GagaDateUtil.getOffsetMonth(-2, "yyyyMMdd") + "000000";  //년월일시분초
-//		goodsDao.deleteWmsProductSkuHst(delYyyymmdd);
+		// TB_IF_PRODUCTSKU_HST 2달 전 데이터 삭제
+		String delYyyymmdd = GagaDateUtil.getOffsetMonth(-2, "yyyyMMdd") + "000000";  //년월일시분초
+		goodsDao.deleteWmsProductSkuHst(delYyyymmdd);
 //		// TB_IF_PRODUCTSKU_HST 생성
-//		goodsDao.createWmsProductSkuHst(jobdate);
+		goodsDao.createWmsProductSkuHst(jobdate);
 
 	}
 
@@ -582,13 +583,59 @@ public class TsbGoodsService {
 	/**
 	 * 상품 전시재고 생성
 	 *
-	 * @throws Exception
 	 * @author eskim
 	 * @since 2020. 01. 06
 	 */
 	@Transactional("shopTxnManager")
-	public void saveGoodsDispStock() throws Exception {
+	public void saveGoodsDispStock()  {
 		goodsDao.deleteGoodsDispStock();
 		goodsDao.createGoodsDispStock();
 	}
+
+	/**
+	 * TB_IF_PRODUCTSKU_TEMP 삭제
+	 *
+	 * @author eskim
+	 * @since 2020. 01. 11
+	 */
+	@Transactional("shopTxnManager")
+	public void deleteIfProductSku() {
+		goodsDao.deleteIfProductSku();
+	}
+
+	/**
+	 * TB_IF_PRODUCTSKU 생성(by row )
+	 *
+	 * @author eskim
+	 * @since 2020. 01. 11
+	 */
+	@Transactional("shopTxnManager")
+	public void createIfProductSkuByRow(IfProductSku ifProductSku) {
+		goodsDao.createIfProductSkuByRow(ifProductSku);
+	}
+
+	/**
+	 * TB_IF_PRODUCTSKU 생성
+	 *
+	 * @author eskim
+	 * @since 2020. 01. 11
+	 */
+	@Transactional("shopTxnManager")
+	public void createIfProductSku(GagaMap dataMap) {
+		goodsDao.createIfProductSku(dataMap);
+	}
+
+	
+	/**
+	 * TB_IF_PRODUCTSKU_HST 저장
+	 *
+	 * @author eskim
+	 * @since 2021. 01. 11
+	 */
+	@Transactional("shopTxnManager")
+	public void createIfProductSku(String jobdate) {
+		goodsDao.createWmsProductSkuHst(jobdate);
+	}
+
+
 }

+ 2 - 2
style24.batch/src/main/java/com/style24/persistence/mybatis/shop/TsbGoods.xml

@@ -1338,7 +1338,7 @@
 	</delete>
 	
 	<!-- TB_IF_PRODUCTSKU_TEMP 저장 -->
-	<insert id="createIfProductSku"  parameterType="java.util.HashMap">
+	<insert id="createIfProductSku"  parameterType="java.util.HashMap" >
 		/* TsbGoods.createIfProductSku */
 		INSERT INTO TB_IF_PRODUCTSKU(
 		       SKUCODE
@@ -1426,7 +1426,7 @@
 	<!-- TB_IF_PRODUCTSKU_HST 삭제 -->
 	<delete id="deleteWmsProductSkuHst"  parameterType="String" timeout="300">
 		/* TsbGoods.deleteWmsProductSkuHst */
-		DELETE TB_IF_PRODUCTSKU_HST
+		DELETE FROM TB_IF_PRODUCTSKU_HST
 		WHERE JOBDATE <![CDATA[<=]]> #{jobdate} 
 	</delete>
 	

+ 1 - 1
style24.batch/src/main/java/com/style24/persistence/mybatis/wms/TsbWmsGoods.xml

@@ -216,7 +216,7 @@
 	<!-- WMS 재고 테이블 조회   -->
 	<select id="getWmsIfProductSukList"  resultType="IfProductSku">
 		/* TsbWmsGoods.getWmsIfProductSukList */
-		SELECT  top 10000 SKUCODE
+		SELECT  top 1000 SKUCODE
 		     , SKUMODELNO
 		     , PRODUCTNO
 		     , PRODUCTCODE