tsit05 пре 4 година
родитељ
комит
2864c7f407

+ 68 - 30
src/main/java/com/style24/batch/biz/job/delivery/TsbDeliveryOrderJob.java

@@ -192,45 +192,83 @@ public class TsbDeliveryOrderJob extends TsbAbstractJob<Collection<Delivery>, Co
 					 }
 					 
 				 } else {
-					 // 주문상세번호 조회  
-					 Collection<Delivery> ordDtlNoWmsList = deliveryService.getOrderDtlNoList(ordNoData);
-					 int chkCnt = 0;
-					 for(Delivery wmsOrdDtlData : ordDtlNoWmsList) {
-						 // 주문상세아이템 조회  
-						 Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(wmsOrdDtlData);
-						 
-						 for(Delivery item : itemList) {
-							 // WMS 재고체크 
-							 WmsDelivery wmsStock = deliveryService.getWmsRealStockChk(item);
-							 if(wmsStock !=null) {
-								 if(wmsStock.getLocQty() >= item.getOrdQty()) {
-									 chkCnt = chkCnt+1;
+					 if(!"NAVER_ORDER".equals(ordNoData.getPgGb())) {
+						 // 주문상세번호 조회  
+						 Collection<Delivery> ordDtlNoWmsList = deliveryService.getOrderDtlNoList(ordNoData);
+						 int chkCnt = 0;
+						 for(Delivery wmsOrdDtlData : ordDtlNoWmsList) {
+							 // 주문상세아이템 조회  
+							 Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(wmsOrdDtlData);
+							 
+							 for(Delivery item : itemList) {
+								 // WMS 재고체크 
+								 WmsDelivery wmsStock = deliveryService.getWmsRealStockChk(item);
+								 if(wmsStock !=null) {
+									 if(wmsStock.getLocQty() >= item.getOrdQty()) {
+										 chkCnt = chkCnt+1;
+									 }
 								 }
 							 }
 						 }
-					 }
-					 if(chkCnt > 0) {
+						 if(chkCnt > 0) {
+							 for(Delivery wmsOrdDtlData : ordDtlNoWmsList) {
+								 wmsOrdDtlData.setDelvLocCd("DL001");
+			
+								 // 출고처등록  및 history 등록   (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST) 
+								 wmsOrdDtlData.setDelvArGb("Y"); // 수락  
+								 deliveryService.saveDeliveryAssign(wmsOrdDtlData);
+								 
+								 // 주문상태변경 및 출고처코드 등록 (TB_ORDER_DETAIL & TB_ORDER_DETAIL_HST)
+								 wmsOrdDtlData.setOrdDtlStat("G013_35");  // 출고처지정 
+								 wmsOrdDtlData.setDelvAssignStat("Y");    // 출고처지정상태 
+								 deliveryService.updateTbOrderDtlAssign(wmsOrdDtlData);
+								 
+								 // 주문상세아이템 조회  
+								 Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(wmsOrdDtlData);
+								 // wms 재고차감 등록(TB_SELL_QTY)  
+								 for(Delivery data : itemList) {	
+								    wmsDeliveryService.insertWmsTbIfDelifixQty(data);
+								 }
+							 }
+						 }
+					 } else {
+						 // 주문상세번호 조회  
+						 Collection<Delivery> ordDtlNoWmsList = deliveryService.getOrderDtlNoList(ordNoData);
+						 
 						 for(Delivery wmsOrdDtlData : ordDtlNoWmsList) {
-							 wmsOrdDtlData.setDelvLocCd("DL001");
-		
-							 // 출고처등록  및 history 등록   (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST) 
-							 wmsOrdDtlData.setDelvArGb("Y"); // 수락  
-							 deliveryService.saveDeliveryAssign(wmsOrdDtlData);
-							 
-							 // 주문상태변경 및 출고처코드 등록 (TB_ORDER_DETAIL & TB_ORDER_DETAIL_HST)
-							 wmsOrdDtlData.setOrdDtlStat("G013_35");  // 출고처지정 
-							 wmsOrdDtlData.setDelvAssignStat("Y");    // 출고처지정상태 
-							 deliveryService.updateTbOrderDtlAssign(wmsOrdDtlData);
-							 
 							 // 주문상세아이템 조회  
 							 Collection<Delivery> itemList = deliveryService.getOrderDtlItemList(wmsOrdDtlData);
-							 // wms 재고차감 등록(TB_SELL_QTY)  
-							 for(Delivery data : itemList) {	
-							    wmsDeliveryService.insertWmsTbIfDelifixQty(data);
+							 int chkCnt = 0;
+							 for(Delivery item : itemList) {
+								 // WMS 재고체크 
+								 WmsDelivery wmsStock = deliveryService.getWmsRealStockChk(item);
+								 if(wmsStock !=null) {
+									 if(wmsStock.getLocQty() >= item.getOrdQty()) {
+										 chkCnt = chkCnt+1;
+									 }
+								 }
+							 }
+							 
+							 if(chkCnt > 0) {
+								 wmsOrdDtlData.setDelvLocCd("DL001");
+									
+								 // 출고처등록  및 history 등록   (TB_DELIVERY_ASSIGN & TB_DELIVERY_ASSIGN_HST) 
+								 wmsOrdDtlData.setDelvArGb("Y"); // 수락  
+								 deliveryService.saveDeliveryAssign(wmsOrdDtlData);
+								 
+								 // 주문상태변경 및 출고처코드 등록 (TB_ORDER_DETAIL & TB_ORDER_DETAIL_HST)
+								 wmsOrdDtlData.setOrdDtlStat("G013_35");  // 출고처지정 
+								 wmsOrdDtlData.setDelvAssignStat("Y");    // 출고처지정상태 
+								 deliveryService.updateTbOrderDtlAssign(wmsOrdDtlData);
+								 
+								 // wms 재고차감 등록(TB_SELL_QTY)  
+								 for(Delivery data : itemList) {	
+								    wmsDeliveryService.insertWmsTbIfDelifixQty(data);
+								 }
 							 }
 						 }
+						 
 					 }
-					
 				 }
 			 }
 		 } // for(Delivery ordNoData : ordnoList)

+ 7 - 7
src/main/java/com/style24/persistence/mybatis/shop/TsbDelivery.xml

@@ -575,9 +575,9 @@
 	<select id="getOrderNoList" resultType="Delivery" timeout="600">
 		/*TsbDelivery.getOrderNoList*/
 	<![CDATA[	
-		SELECT DISTINCT ORD_NO, ORD_EXCH_GB
+	  SELECT DISTINCT ORD_NO, ORD_EXCH_GB, PG_GB
 		FROM (
-			SELECT A.ORD_NO, B.ORD_EXCH_GB /* 주문 상품 */
+			SELECT A.ORD_NO, B.ORD_EXCH_GB, (SELECT MAX(PG_GB) FROM TB_PAYMENT WHERE ORD_NO= A.ORD_NO AND PAY_GB ='O') AS PG_GB /* 주문 상품 */
 			  FROM TB_ORDER        A
 			  JOIN TB_ORDER_DETAIL B ON A.ORD_NO = B.ORD_NO 
 			  JOIN TB_GOODS        C ON B.GOODS_CD = C.GOODS_CD 
@@ -587,12 +587,12 @@
 			   AND A.ORD_DT >= DATE_ADD(DATE_FORMAT(CONCAT(STR_TO_DATE(NOW(), '%Y-%m-%d'),' 10:00:00'),'%Y%m%d%H%i%S') , INTERVAL -1 DAY)
 			   AND NOT EXISTS (SELECT '1' FROM TB_GOODS_RES_SELL WHERE GOODS_CD = B.GOODS_CD AND USE_YN ='Y') 
 			    AND A.REG_DT >= DATE_ADD(DATE_FORMAT(STR_TO_DATE(NOW(), '%Y-%m-%d'),'%Y%m%d%H%i%S') , INTERVAL 0 DAY) 
-			   AND A.REG_NO in(100025,409325)
+			   AND A.REG_NO in(100025,409325,0)
 			 GROUP BY A.ORD_NO, B.ORD_EXCH_GB
 			
 			UNION ALL /* 교환  상품 */
 			
-			SELECT A.ORD_NO, B.ORD_EXCH_GB 
+			SELECT A.ORD_NO, B.ORD_EXCH_GB, (SELECT MAX(PG_GB) FROM TB_PAYMENT WHERE ORD_NO= A.ORD_NO AND PAY_GB ='O') AS PG_GB
 			  FROM TB_ORDER        A
 			  JOIN TB_ORDER_DETAIL B        ON A.ORD_NO = B.ORD_NO 
 			  JOIN TB_GOODS        C        ON B.GOODS_CD = C.GOODS_CD 
@@ -605,12 +605,12 @@
 			   AND DATE_ADD(DATE_FORMAT(CONCAT(STR_TO_DATE(NOW(), '%Y-%m-%d'),' 10:00:00'),'%Y%m%d%H%i%S') , INTERVAL -1 DAY) 
 			       <= CASE WHEN E.WD_BF_SEND_YN = 'Y' THEN B.REG_DT ELSE D.COMPLETE_DT END
 			   AND NOT EXISTS (SELECT 1 FROM TB_EXCHANGE_DELV_FAIL WHERE ORD_NO = A.ORD_NO AND ORD_DTL_NO= D.CHG_ORD_DTL_NO AND ORD_CHG_SQ = D.ORD_CHG_SQ AND DELV_CNCL_YN ='N') 
-			   AND A.REG_NO in( 100025,409325)
+			   AND A.REG_NO in( 100025,409325,0)
 			 GROUP BY A.ORD_NO, B.ORD_EXCH_GB
 			 
 			UNION ALL  
 			   
-			SELECT A.ORD_NO, B.ORD_EXCH_GB /* 예약상품    */
+			SELECT A.ORD_NO, B.ORD_EXCH_GB, (SELECT MAX(PG_GB) FROM TB_PAYMENT WHERE ORD_NO= A.ORD_NO AND PAY_GB ='O') AS PG_GB /* 예약상품    */
 			  FROM TB_ORDER          A
 			  JOIN TB_ORDER_DETAIL   B ON A.ORD_NO = B.ORD_NO 
 			  JOIN TB_GOODS          C ON B.GOODS_CD = C.GOODS_CD 
@@ -620,7 +620,7 @@
 			   AND D.DELV_RES_DT  <= NOW()
 			   AND DATE_ADD(DATE_FORMAT(CONCAT(STR_TO_DATE(NOW(), '%Y-%m-%d'),' 10:00:00'),'%Y%m%d%H%i%S') , INTERVAL -1 DAY)
 			       < CASE WHEN  A.ORD_DT < D.DELV_RES_DT THEN D.DELV_RES_DT ELSE A.ORD_DT END 
-			     AND A.REG_NO IN (100025,409325)    
+			     AND A.REG_NO IN (100025,409325,0)    
 			 GROUP BY A.ORD_NO, B.ORD_EXCH_GB
 			
 		) A