moon před 5 roky
rodič
revize
7fa00967c6

+ 7 - 11
src/main/java/com/style24/core/biz/service/TscErpService.java

@@ -52,6 +52,7 @@ public class TscErpService {
 		
 		String erpurl = env.getProperty("erp.api.goods.url");
 		erpurl = erpurl+"/StockCheck?CD_STYLE="+styleCd+"&CD_COLOR="+colorCd+"&CD_SIZE="+sizeCd+"";
+		
 		URI url = URI.create(erpurl);
 
 		try {
@@ -66,15 +67,10 @@ public class TscErpService {
 				
 				resultMap = gson.fromJson(jsonResult, GagaMap.class); 
 				
-				ErpStock stock = new ErpStock();
-				
-				stock.setStockLoc(resultMap.get("CD_SHOP").toString());
-				stock.setLocQty((int)Double.parseDouble(resultMap.get("QT_STOCK").toString()));
-				list.add(stock);
-				//log.info("list {} "+list);
+				log.info("list {} "+list);
 				
-				/*
-				String StockInfo = resultMap.get("StockInfo").toString();
+			
+				String StockInfo = resultMap.get("StockCheck").toString();
 				
 				List<Map<String, Object>> List = null;
 				List = gson.fromJson(StockInfo, new TypeToken<List<Map<String, Object>>>() {}.getType());
@@ -83,11 +79,11 @@ public class TscErpService {
 					Map data = List.get(i);
 					ErpStock stock = new ErpStock();
 
-					stock.setCdShop(data.get("CD_SHOP").toString());
-					stock.setQtStock((int)Double.parseDouble(data.get("QT_STOCK").toString()));
+					stock.setStockLoc(data.get("CD_SHOP").toString());
+					stock.setLocQty((int)Double.parseDouble(data.get("QT_STOCK").toString()));
 					list.add(stock);
 				}
-				*/
+				
 			}			
 		}catch(Exception e) {
 			log.info("호출 Exception: "+e.getMessage().toString());

+ 58 - 0
src/main/java/com/style24/core/biz/service/TscWmsService.java

@@ -5,7 +5,13 @@ import com.style24.core.biz.dao.TscDeliveryDao;
 import com.style24.core.support.env.TscConstants;
 import com.style24.persistence.domain.WmsDelivery;
 import com.style24.persistence.domain.Order;
+import com.style24.persistence.domain.ErpStock;
+
+import com.style24.core.biz.service.TscErpService;
+
 import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
 import java.util.Collection;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -28,7 +34,59 @@ public class TscWmsService {
 	@Autowired
 	private TscDeliveryDao deliveryDao;
 
+	@Autowired
+	private TscErpService erpService;		
 
+	/**	
+	 * 실시간 재고조회(WMS&ERP)
+	 * @param  Delivery
+	 * @return Collection<WmsDelivery> stockLoc:WH-wms 외 매장코드   locQty: 수량
+	 * @author moon
+	 * @since  2021. 03. 28
+	 */
+	public Collection<WmsDelivery> getRealStock(Integer productNo, String skuCode, String styleCd, String colorCd, String sizeCd)  {
+		
+		////  임시 
+		//productNo = 14475554;
+		//skuCode   = "13096364-5"; // "13096364-5"
+		//styleCd   = "COF0GABL02";   
+		//colorCd   = "CE";         //"CE"
+		//sizeCd    = "150";
+		//////
+		
+		Collection<WmsDelivery> list = new ArrayList();
+		String chk1 = "N";
+		String chk2 = "N";
+		
+		
+		WmsDelivery  wmsRtn = getWmsRealStock(productNo, skuCode);
+		
+		Collection<ErpStock> erpRtnList = erpService.getErpRealStock(styleCd, colorCd, sizeCd);
+		
+		if(wmsRtn != null ) {
+			list.add(wmsRtn);
+		} 
+		else {
+			chk1 = "Y";
+		}
+		
+		if(!"".equals(erpRtnList) && erpRtnList != null) {
+			for(ErpStock data : erpRtnList) {
+				WmsDelivery tmp = new WmsDelivery();
+				tmp.setStockLoc(data.getStockLoc());
+				tmp.setLocQty(data.getLocQty());
+				list.add(tmp);
+			}
+		}  else {
+			chk2 = "Y";
+		}
+		
+		if("Y".equals(chk1) && "Y".equals(chk2)) {
+			list = null;
+		}
+		
+		return list;
+	}
 	
 	/**
 	 * WMS 실재고 조회

+ 19 - 2
src/main/java/com/style24/persistence/mybatis/wms/TscWmsDelivery.xml

@@ -6,10 +6,10 @@
 	<select id="getRealStock" parameterType="WmsDelivery" resultType="WmsDelivery">
 		/* TscWmsDelivery.getRealStock */
 		SELECT 
-			  'WH' AS STOCK_LOC
+			  'DL001' AS STOCK_LOC
 			, A.PRODUCT_NO
 			, A.SKU_CODE
-			, MAX(A.LOC_QTY) - MAX(A.SLIP_CREATE_QTY) - MAX(A.CVS_QTY) - MAX(A.EOUT_CREATE_QTY)  AS LOC_QTY
+			, MAX(A.LOC_QTY) - MAX(A.SLIP_CREATE_QTY) - MAX(A.CVS_QTY) - MAX(A.EOUT_CREATE_QTY)  - MAX(A.Qty) AS LOC_QTY
 		  FROM (
 			SELECT  
 				  PRODUCT_NO
@@ -18,6 +18,7 @@
 				, 0  AS SLIP_CREATE_QTY
 				, 0  AS CVS_QTY
 				, 0  AS EOUT_CREATE_QTY
+				, 0  AS QTY 
 			  FROM istyle24_Wms.dbo.VW_Stock_By_LocCode
 			 WHERE PRODUCT_NO = #{productNo}
 			   AND SKU_CODE   = #{skuCode}
@@ -32,10 +33,26 @@
 				, SLIP_CREATE_QTY   AS SLIP_CREATE_QTY
 				, CVS_QTY           AS CVS_QTY
 				, EOUT_CREATE_QTY   AS EOUT_CREATE_QTY
+				, 0 
 			  FROM istyle24_Wms.dbo.TLOST06M WITH (NOLOCK)
 			 WHERE PRODUCT_NO = #{productNo}
 			   AND SKU_CODE   = #{skuCode}
 			   AND WH_CODE    = #{whCode}
+		    
+			UNION ALL
+			
+			SELECT 
+				  ProductNo
+				, SKUCode
+				, 0  AS LOC_QTY
+				, 0  AS SLIP_CREATE_QTY
+				, 0  AS CVS_QTY
+				, 0  AS EOUT_CREATE_QTY
+			    , Qty
+			  FROM iSTYLE24_WmsIf.dbo.TB_IF_DELIFIX_QTY
+			 WHERE ProductNo = #{productNo}
+			   AND SKUCode   = #{skuCode}
+			   
 			) A GROUP BY A.PRODUCT_NO, A.SKU_CODE	
 	</select>