tsit05 4 سال پیش
والد
کامیت
6899d8462d

+ 10 - 4
src/main/java/com/style24/batch/biz/dao/TsbDeliveryDao.java

@@ -112,7 +112,7 @@ public interface TsbDeliveryDao {
 	 * @author moon
 	 * @since 2021. 03. 09
 	 */
-	void updateTbOrderDtlStat(Delivery delivery);		
+	int updateTbOrderDtlStat(Delivery delivery);
 	
 	/**
 	 * 회수결과등록 -TB_WITHDRAW
@@ -394,7 +394,7 @@ public interface TsbDeliveryDao {
 	 * @author moon
 	 * @since 2021. 04. 08
 	 */	
-	void updateTbOrderChaneDetailStat(Delivery delivery);
+	int updateTbOrderChaneDetailStat(Delivery delivery);
 	
 	/**
 	 * 주문변경상세  반운송장번호 업데이트 
@@ -567,6 +567,12 @@ public interface TsbDeliveryDao {
 	 */
 	Collection<OrderChange> getOrderChangeDetailInfo(OrderChange delivery);
 	
-	
-	
+	/**
+	 * 주문상세단품 SQ 조회
+	 * @param  Delivery
+	 * @return Collection<Delivery>
+	 * @author moon
+	 * @since 2021. 07. 02
+	 */
+	Collection<Delivery> getOrdDtlItemSq(Delivery ordNoData);
 }

+ 0 - 10
src/main/java/com/style24/batch/biz/job/delivery/TsbCjWithdrawInvoiceJob.java

@@ -71,16 +71,6 @@ public class TsbCjWithdrawInvoiceJob extends TsbAbstractJob<Collection<Delivery>
 			}
 		}
 		
-		// 2. cj   회수 송장번호 조회 
-		//Collection<Delivery> invcList = cjDeliveryService.getCjWdInvoiceList(invcRcpList);
-		
-		// 3. wms  회수요청 테이블에 등록!
-		// wmsDeliveryService.updateWmsRecallInvoice(invcList);
-		
-		// 4. mall tb_order_change 테이블  update 
-		//deliveryService.updateTbOrderChaneInvoc(invcList);
-		
-		
 		return invcRcpList;
 	}
 

+ 11 - 5
src/main/java/com/style24/batch/biz/job/delivery/TsbDailyDeliveryZoneJob.java

@@ -42,7 +42,7 @@ public class TsbDailyDeliveryZoneJob extends TsbAbstractJob<Delivery, Delivery,
 	@Override
 	public Delivery process(Delivery delivery) throws Exception {
 		succCnt = 0;
-		failCnt = 1;
+		failCnt = 0;
 		/**
 		 * 1. wms_if: TB_IF_DailyDeliveryZone 조회 
 		 * 2. mall: TB_DailyDeliveryZone merge 
@@ -50,11 +50,17 @@ public class TsbDailyDeliveryZoneJob extends TsbAbstractJob<Delivery, Delivery,
 		
 		// 1. wms_if: TB_IF_DailyDeliveryZone 조회 
 		Collection<Delivery> dailyDeliZoneList = wmsDeliveryService.getWmsIfDailyDeliveryZoneList();
+		deliveryService.deleteDailyDeliveryZone();
 		
-		// 2. mall: TB_DailyDeliveryZone merge 
-		deliveryService.mergeDailyDeliveryZone(dailyDeliZoneList);
-		succCnt = 1;
-		failCnt = 0;
+		for(Delivery data : dailyDeliZoneList) {
+			try {
+				// 2. mall: TB_DailyDeliveryZone merge 
+				deliveryService.mergeDailyDeliveryZone(data);
+				succCnt++;
+			} catch(Exception e) {
+				failCnt++;
+			}
+		}
 		
 		return delivery;
 	}

+ 2 - 2
src/main/java/com/style24/batch/biz/job/delivery/TsbDeliveryExcRcvJob.java

@@ -57,9 +57,9 @@ public class TsbDeliveryExcRcvJob extends TsbAbstractJob<Delivery, Delivery, Del
 		
 		// 1-2. wms_if: TB_IF_DeliveryExceptionItem  - select 
 		Collection<Delivery> itemList = wmsDeliveryService.getWmsIfDeliveryExcItemList();
-		
+				
 		// 2. mall 출고예외 등록
-		deliveryService.insertTbOrderDeliveryException(excList, itemList);
+		deliveryService.insertTbOrderDeliveryException(excList, itemList);			
 		
 		// 3. wms  출고예외 수신완료 update 
 		wmsDeliveryService.updateTbIfDeliveryException(excList, itemList);

+ 17 - 9
src/main/java/com/style24/batch/biz/job/delivery/TsbDeliveryOrderRsltJob.java

@@ -55,7 +55,7 @@ public class TsbDeliveryOrderRsltJob extends TsbAbstractJob<Delivery, Delivery,
 	@Override
 	public Delivery process(Delivery delivery) throws Exception {
 		succCnt = 0;
-		failCnt = 1;
+		failCnt = 0;
 		/**
 		 * wms  출고결과 조회 
 		 * mall 출고결과 반영
@@ -66,13 +66,23 @@ public class TsbDeliveryOrderRsltJob extends TsbAbstractJob<Delivery, Delivery,
 		// 1.wms  출고결과 조회 
 		Collection<Delivery> list = wmsDeliveryService.getWmsIfDeliveryOrdRsltList();
 		
-		
-		// 2. mall 출고결과 반영
 		String statGb = "SHIPPING";
-		deliveryService.updateTbOrderDtlStat(list, statGb);
-		
-		// 3. wms  출고결과 수신완료 update 
-		wmsDeliveryService.updateWmsIfDeliveryOrdRslt(list);
+
+		for(Delivery data : list) {
+			
+			try {
+				// 2. mall 출고결과 반영
+				deliveryService.updateTbOrderDtlStat(data, statGb);
+				
+				// 3. wms  출고결과 수신완료 update 
+				wmsDeliveryService.updateWmsIfDeliveryOrdRslt(data);
+				
+				succCnt++;
+			} catch(Exception e) {
+				failCnt++;
+			}
+			
+		}
 		
 		// 4. 네이버페이 출고 정보 송신
 		Collection<Order> orderDelvDtlList = new ArrayList<Order>();
@@ -96,8 +106,6 @@ public class TsbDeliveryOrderRsltJob extends TsbAbstractJob<Delivery, Delivery,
 			coreNaverPayService.sendNaverPayDeliveryStartOrder(orderDelvDtlList, statGb, TsbConstants.REG_NO);
 		}
 
-		succCnt = 1;
-		failCnt = 0;
 		
 		return delivery;
 	}

+ 22 - 8
src/main/java/com/style24/batch/biz/job/delivery/TsbWithdrawRequestJob.java

@@ -43,23 +43,37 @@ public class TsbWithdrawRequestJob extends TsbAbstractJob<Collection<Delivery>,
 	@Override
 	public Collection<Delivery> process(Collection<Delivery> reqList) throws Exception {
 		succCnt = 0;
-		failCnt = 1;
+		failCnt = 0;
 		/**
 		 * 1.mall 회수대상 조회  
 		 * 2.wms  회수정보 등록 
 		 * 3.mall 회수상태 업데이트   G685_30 -- 회수요청 , 
 		 *  
 		 * */
-
-		// 2.wms  회수정보 등록 
-		wmsDeliveryService.insertWmsRecallDelivery(reqList);
 		
-		// 3.mall 회수상태 업데이트   G685_30 -- 회수요청
-		deliveryService.updateTbOrderChaneDetailStat(reqList);
+		Integer recallNo = 0;
+		for(Delivery wmsData : reqList) {
+			// 2.wms  회수정보 등록 
+			String ordChgSq  = "";
+			if(!ordChgSq.equals(wmsData.getOrderexceptionno()+"") ) {
+				recallNo = wmsDeliveryService.insertWmsRecallDelivery(wmsData);
+				ordChgSq = wmsData.getOrderexceptionno()+"";
+			}
+			
+			wmsDeliveryService.insertWmsRecallDeliveryItem(wmsData, recallNo);
+		}
 		
-		succCnt = 1;
-		failCnt = 0;
 		
+		for(Delivery data : reqList) {
+			// 3.mall 회수상태 업데이트   G685_30 -- 회수요청
+			try {
+				deliveryService.updateTbOrderChaneDetailStat(data);
+				succCnt++;
+			} catch(Exception e) {
+				failCnt++;
+			}
+		}
+
 		return reqList;
 	}
 

+ 93 - 33
src/main/java/com/style24/batch/biz/service/TsbDeliveryService.java

@@ -30,6 +30,7 @@ import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.env.TscConstants.OrderChangeGb;
 import com.style24.core.support.env.TscConstants.OrderChangeStat;
 import com.style24.core.support.env.TscConstants.OrderDetailStat;
+import com.style24.core.support.env.TscConstants.OrdDtlItemStat;
 import com.style24.persistence.domain.Delivery;
 import com.style24.persistence.domain.Erp;
 import com.style24.persistence.domain.Order;
@@ -86,21 +87,33 @@ public class TsbDeliveryService {
 
 	/**
 	 * 총알배송 권역정보 갱신 
-	 * @param  Collection<Delivery>
+	 * @param  Delivery
 	 * @return 
 	 * @author moon
 	 * @since  2020. 12. 08
 	 */
 	@Transactional("shopTxnManager")
-	public void mergeDailyDeliveryZone(Collection<Delivery> dailyDeliZoneList) {
+	public void mergeDailyDeliveryZone(Delivery data) {
 
 		deliveryDao.deleteDailyDeliveryZone();
 
-		for (Delivery delivery : dailyDeliZoneList) {
-			deliveryDao.mergeDailyDeliveryZone(delivery);
-		}
+		deliveryDao.mergeDailyDeliveryZone(data);
+
 	}
 
+	/**
+	 * 총알배송 권역정보 갱신 초기화
+	 * @param  Delivery
+	 * @return 
+	 * @author moon
+	 * @since  2020. 12. 08
+	 */
+	@Transactional("shopTxnManager")
+	public void deleteDailyDeliveryZone() {
+
+		deliveryDao.deleteDailyDeliveryZone();
+
+	}	
 	/**
 	 * 회수예외 등록 
 	 * @param  Collection<Delivery>
@@ -194,40 +207,85 @@ public class TsbDeliveryService {
 	 * @since  2021. 03. 09
 	 */
 	@Transactional("shopTxnManager")
-	public void updateTbOrderDtlStat(Collection<Delivery> list, String statGb) {
+	public void updateTbOrderDtlStat(Collection<Delivery> List, String statGb) {
 		// TB_ORDER_DETAIL , TB_ORDER_DETAIL_ITEM 상태값 변경 
-		for (Delivery data : list) {
+		for(Delivery data : List) {
 			if ("SHIPPING".equals(statGb)) {
 				data.setInvoiceSendYn("Y");
 				data.setOrdDtlStat(OrderDetailStat.SHIPPING.value());
 			} else if ("PREPARE".equals(statGb)) {
 				data.setOrdDtlStat(OrderDetailStat.GOODS_PREPARE.value());
 			}
-
-			if (99999999 == data.getOrderdtlno()) {
+	
+			if (999999999 == data.getOrderdtlno()) {
 				Delivery dtlNo = deliveryDao.getOrdDtlno(data);
 				data.setOrdDtlNo(dtlNo.getOrdDtlNo());
 			}
-
+	
 			data.setUpdNo(TsbConstants.REG_NO);
 			data.setRegNo(TsbConstants.REG_NO);
-			deliveryDao.updateTbOrderDtlStat(data);
+			int rtn = deliveryDao.updateTbOrderDtlStat(data);
+			
+			if(rtn > 0) {
+				// 주문상세이력
+				Order order = new Order();
+				order.setOrdDtlNo(data.getOrderdtlno());
+				order.setUpdNo(TsbConstants.REG_NO);
+				order.setRegNo(TsbConstants.REG_NO);
+				orderDao.createOrderDetailHst(order);
+			}
+		}
+
+	}
 
+	/**
+	 * 출고결과 반영 
+	 * @param  Collection<Delivery>
+	 * @return 
+	 * @author moon
+	 * @since  2021. 03. 09
+	 */
+	@Transactional("shopTxnManager")
+	public void updateTbOrderDtlStat(Delivery data, String statGb) {
+		// TB_ORDER_DETAIL , TB_ORDER_DETAIL_ITEM 상태값 변경 
+		if ("SHIPPING".equals(statGb)) {
+			data.setInvoiceSendYn("Y");
+			data.setOrdDtlStat(OrderDetailStat.SHIPPING.value());
+		} else if ("PREPARE".equals(statGb)) {
+			data.setOrdDtlStat(OrderDetailStat.GOODS_PREPARE.value());
+		}
+
+		if (999999999 == data.getOrderdtlno()) {
+			Delivery dtlNo = deliveryDao.getOrdDtlno(data);
+			data.setOrdDtlNo(dtlNo.getOrdDtlNo());
+		}
+
+		data.setUpdNo(TsbConstants.REG_NO);
+		data.setRegNo(TsbConstants.REG_NO);
+		int rtn = deliveryDao.updateTbOrderDtlStat(data);
+		
+		if(rtn > 0) {
 			// 주문상세이력
 			Order order = new Order();
 			order.setOrdDtlNo(data.getOrderdtlno());
 			order.setUpdNo(TsbConstants.REG_NO);
 			order.setRegNo(TsbConstants.REG_NO);
 			orderDao.createOrderDetailHst(order);
-
-			if ("SHIPPING".equals(statGb)) {
-				// core쪽으로 교체!!
-				//data.setOrdDtlNo(data.getOrderdtlno());
-				//deliveryDao.createOrderDetailItemHst(data);
-			}
+		}
+		
+		// 정산관련 등록 TB_ORDER_DETAIL_ITEM_HST  [G720_20] 판매-배송완료
+		
+		Collection<Delivery> itemList = deliveryDao.getOrdDtlItemSq(data);
+		for(Delivery item : itemList) {
+			Order ordItem = new Order();
+			ordItem.setRegNo(TsbConstants.REG_NO);
+			ordItem.setUpdNo(TsbConstants.REG_NO);
+			ordItem.setOrdDtlItemSq(item.getOrdDtlItemSq());
+			ordItem.setOrdDtlStat(OrdDtlItemStat.SALE_SHIPPING.value()); // [G720_20] 판매-배송완료
+			orderDao.createOrderDetailItemHst(ordItem);
 		}
 	}
-
+	
 	/**
 	 * 회수결과 처리 
 	 * @param  Delivery
@@ -457,7 +515,7 @@ public class TsbDeliveryService {
 							index++;
 						}
 						
-						// 교환주문 상세 수
+						// 교환주문 상세 수
 						vo.setOrdDtlStat(OrderDetailStat.PAYMENT_COMPLETE.value()); // 교환주문상세 결제완료
 						vo.setOrdDtlNo(data.getChgOrdDtlNo());
 						vo.setWdBfSendYn(data.getWdBfSendYn());
@@ -550,7 +608,7 @@ public class TsbDeliveryService {
 							orderDetailItem.setOrdDtlStat(vo.getOrdDtlStat());
 							
 							// 2021.06.25 WMS 회수정보 수집 (교환결제완료) (정산구분값추가)
-							orderDetailItem.setOrdDtlStat(TscConstants.OrdDtlItemStat.SALE_PAYMENT_COMPLETE.value());
+							orderDetailItem.setOrdDtlStat(TscConstants.OrdDtlItemStat.SALE_PAYMENT_COMPLETE.value()); // G720_10  판매-결제완료
 							orderDetailItem.setCnclRtnQty(0);
 							orderDetailItem.setOrdChgSq(ordInfo.getOrdChgSq());
 							orderChangeDao.createOrderDetailItemHst(orderDetailItem);
@@ -1004,29 +1062,30 @@ public class TsbDeliveryService {
 
 	/**
 	 * 주문변경상세 상태값 변경
-	 * @param  Collection<Delivery>
+	 * @param  Delivery
 	 * @return 
 	 * @author moon
 	 * @since  2021. 04. 08
 	 */
 	@Transactional("shopTxnManager")
-	public void updateTbOrderChaneDetailStat(Collection<Delivery> list) {
+	public void updateTbOrderChaneDetailStat(Delivery data) {
 
-		for (Delivery data : list) {
-			data.setUpdNo(TsbConstants.REG_NO);
-			
-			if("N".equals(data.getWdTargetYn())) {
+
+		data.setUpdNo(TsbConstants.REG_NO);
+		
+		if("N".equals(data.getWdTargetYn())) {
+			data.setChgStat(OrderChangeStat.WITHDRAW_GOODS_CHECK.value()); // 상품검수중
+		} else {
+			if ("W".equals(data.getWdGb())) {// 회수요청 
+				data.setChgStat(OrderChangeStat.WITHDRAW.value()); // 회수요청 
+			} else { // 직접배송 - 상태값 상품검수중
 				data.setChgStat(OrderChangeStat.WITHDRAW_GOODS_CHECK.value()); // 상품검수중
-			} else {
-				if ("W".equals(data.getWdGb())) {// 회수요청 
-					data.setChgStat(OrderChangeStat.WITHDRAW.value()); // 회수요청 
-				} else { // 직접배송 - 상태값 상품검수중
-					data.setChgStat(OrderChangeStat.WITHDRAW_GOODS_CHECK.value()); // 상품검수중
-				}
 			}
+		}
 
-			deliveryDao.updateTbOrderChaneDetailStat(data);
+		int rtn = deliveryDao.updateTbOrderChaneDetailStat(data);
 
+		if(rtn > 0) {
 			// 주문상세변경 이력 
 			OrderChange ordChg = new OrderChange();
 			ordChg.setRegNo(0);
@@ -1036,6 +1095,7 @@ public class TsbDeliveryService {
 			ordChg.setChgStat(data.getChgStat());
 			orderChangeDao.createOrderChangeDetailHst(ordChg);
 		}
+
 	}
 
 	/**

+ 25 - 22
src/main/java/com/style24/batch/biz/service/TsbWmsDeliveryService.java

@@ -217,20 +217,16 @@ public class TsbWmsDeliveryService {
 	/**
 	 * WMS_IF 출고결과 처리결과 등록 
 	 * @param 
-	 * @return Collection<Delivery>
+	 * @return Delivery
 	 * @author moon
 	 * @since  2021. 03. 09
 	 */
 	@Transactional("wmsTxnManager")
-	public void updateWmsIfDeliveryOrdRslt(Collection<Delivery> list) {
-
-		for (Delivery data : list) {
-			
+	public void updateWmsIfDeliveryOrdRslt(Delivery data) {
+		
 			data.setIfyn("Y");
 			wmsDeliveryDao.updateWmsIfDeliveryOrdRslt(data);
 			wmsDeliveryDao.updateWmsIfDeliveryOrdRsltItem(data);
-
-		}
 	}		
 	
 	/**
@@ -351,35 +347,42 @@ public class TsbWmsDeliveryService {
 			
 		}
 		
-	}			
+	}
 	
 	
 	/**
-	 * WMS_IF 출고요청 등록
-	 * @param Collection<Delivery>
+	 * WMS_IF 회수요청 등록
+	 * @param Delivery
 	 * @return 
 	 * @author moon
 	 * @since  2021. 04. 08
 	 */
 	@Transactional("wmsTxnManager")
-	public void insertWmsRecallDelivery(Collection<Delivery> list) {
+	public Integer insertWmsRecallDelivery(Delivery data) {
 		
 		Integer recallNo = 0;
-		String ordChgSq  = "";
-		for(Delivery data : list) {
-			log.info("ordChgSq: "+ordChgSq+"   :  getOrdChgSq "+data.getOrderexceptionno());
-			if(!ordChgSq.equals(data.getOrderexceptionno()+"") ) {
-				
-				wmsDeliveryDao.insertWmsRecallDelivery(data);
-				ordChgSq = data.getOrderexceptionno()+"";
-				recallNo = data.getRecallno(); 
-			}
-			
+		wmsDeliveryDao.insertWmsRecallDelivery(data);
+		recallNo = data.getRecallno(); 
+	
+		return recallNo;
+	}
+	
+	/**
+	 * WMS_IF 회수요청 등록
+	 * @param Delivery
+	 * @return 
+	 * @author moon
+	 * @since  2021. 04. 08
+	 */
+	@Transactional("wmsTxnManager")
+	public void insertWmsRecallDeliveryItem(Delivery data, Integer recallNo) {
+		
 			data.setRecallno(recallNo);
 			wmsDeliveryDao.insertWmsRecallDeliveryItem(data);
-		}
+		//}
 	}
 	
+	
 	/**
 	 * 회수 송장번호 등록 
 	 * @param Delivery

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

@@ -182,7 +182,7 @@ public class Delivery extends TscBaseDomain {
 	private Integer custNo;
 	private Integer ordInvoiceSq;
 	private Integer exchangeDelvFailSq;
-	
+	private Integer ordDtlItemSq;
 	
 	private int chargeamount;
 	private int qty;

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

@@ -203,7 +203,7 @@
 		/*TsbWmsDelivery.getWmsIfDeliveryOrdRsltList*/		
 		SELECT 
 			    A.OrderNo
-			  , ISNULL(B.OrderDtlNo,99999999) AS OrderDtlNo
+			  , ISNULL(B.OrderDtlNo,999999999) AS OrderDtlNo
 			  , B.Qty
 			  , B.DateSent
 			  , A.DeliveryOrderNo