Преглед изворни кода

Merge branch 'stage_tsit' of https://style24@dev.azure.com/style24/style24/_git/style24.batch into stage_tsit

smlee@yes24.com пре 4 година
родитељ
комит
287cd2b9b4

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

@@ -89,7 +89,7 @@ public class TsbDeliveryOrderJob extends TsbAbstractJob<Collection<Delivery>, Co
 					}
 				}
 				
-				log.info("ordDtlCnt" + ordDtlCnt + "  ordDtlNoList.size() " + ordDtlNoList.size());
+				// log.info("ordDtlCnt" + ordDtlCnt + "  ordDtlNoList.size() " + ordDtlNoList.size());
 				
 				// 주문상세수량 과 주문상세목록크리가 같으면 창고 출고 (WMS) 아니면 매장출고
 				// 2021.10.19 전체재고 있으면 출고처 지정하고 END

+ 11 - 13
src/main/java/com/style24/batch/biz/job/delivery/TsbWithdrawRequestJob.java

@@ -39,7 +39,6 @@ public class TsbWithdrawRequestJob extends TsbAbstractJob<Collection<Delivery>,
 
 	@Override
 	public Collection<Delivery> read() throws Exception {
-
 		// 1.mall 회수대상 조회
 		Collection<Delivery> reqList = deliveryService.getWithdrawRequestList();
 		return reqList;
@@ -49,19 +48,17 @@ public class TsbWithdrawRequestJob extends TsbAbstractJob<Collection<Delivery>,
 	public Collection<Delivery> process(Collection<Delivery> reqList) throws Exception {
 		succCnt = 0;
 		failCnt = 0;
+		
 		/**
 		 * 1.mall 회수대상 조회  
 		 * 2.wms  회수정보 등록 
-		 * 3.mall 회수상태 업데이트   G685_30 -- 회수요청 , 
-		 *  
-		 * */
-		
+		 * 3.mall 회수상태 업데이트   G685_30 -- 회수요청 ,  
+		 */
 		Integer recallNo = 0;
 		String ordChgSq  = "";
 		for(Delivery wmsData : reqList) {
 			// 2.wms  회수정보 등록 
-			
-			if(!ordChgSq.equals(wmsData.getOrderexceptionno()+"") ) {
+			if (!ordChgSq.equals(wmsData.getOrderexceptionno()+"")) {
 				recallNo = wmsDeliveryService.insertWmsRecallDelivery(wmsData);
 				ordChgSq = wmsData.getOrderexceptionno()+"";
 			}
@@ -69,8 +66,7 @@ public class TsbWithdrawRequestJob extends TsbAbstractJob<Collection<Delivery>,
 			wmsDeliveryService.insertWmsRecallDeliveryItem(wmsData, recallNo);
 		}
 		
-		
-		for(Delivery data : reqList) {
+		for (Delivery data : reqList) {
 			// 3.mall 회수상태 업데이트   G685_30 -- 회수요청
 			try {
 				deliveryService.updateTbOrderChaneDetailStat(data);
@@ -82,14 +78,16 @@ public class TsbWithdrawRequestJob extends TsbAbstractJob<Collection<Delivery>,
 		
 		// 4. 알림톡  - 회수요청만 보냄  직접발송, 제휴몰자동수거 제외
 		String ordChgSqChk  = "";
-		for(Delivery wmsData : reqList) {
+		for (Delivery wmsData : reqList) {
 			
-			if(!ordChgSqChk.equals(wmsData.getOrderexceptionno()+"") ) {
+			if (!ordChgSqChk.equals(wmsData.getOrderexceptionno()+"")) {
 				
-				if("Y".equals(wmsData.getRecallrequestyn())) { // 회수요청일경우 
+				if ("Y".equals(wmsData.getRecallrequestyn())) { // 회수요청일경우
+					
 					// 알림톡  문구 조회 
 					try {
 						Delivery info = deliveryService.getWithdrawStart(wmsData);
+						
 						// 알림톡 발송 
 						Order order = new Order();
 						order.setOrdNo(info.getOrdNo());
@@ -101,7 +99,7 @@ public class TsbWithdrawRequestJob extends TsbAbstractJob<Collection<Delivery>,
 						order.setGoodsNm(info.getGoodsNm());
 						
 						kakaotalkService.sendWithdrawStart(order,TsbConstants.REG_NO);
-					}catch(Exception e) {
+					} catch(Exception e) {
 						log.debug("회수시작 알림톡 Exception: "+e.getStackTrace().toString());
 					}
 				}

+ 249 - 203
src/main/java/com/style24/batch/biz/service/TsbDeliveryService.java

@@ -5,7 +5,6 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import com.style24.core.biz.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
 import org.springframework.http.HttpEntity;
@@ -25,16 +24,24 @@ import com.style24.batch.biz.dao.TsbDeliveryDao;
 import com.style24.batch.support.env.TsbConstants;
 import com.style24.core.biz.dao.TscOrderChangeDao;
 import com.style24.core.biz.dao.TscOrderDao;
+import com.style24.core.biz.dao.TscPointDao;
+import com.style24.core.biz.service.TscDeliveryService;
+import com.style24.core.biz.service.TscErpService;
+import com.style24.core.biz.service.TscNaverPayService;
+import com.style24.core.biz.service.TscOrderChangeService;
+import com.style24.core.biz.service.TscOrderRefundService;
+import com.style24.core.biz.service.TscWmsService;
 import com.style24.core.biz.thirdparty.HansaeErp;
 import com.style24.core.support.env.TscConstants;
+import com.style24.core.support.env.TscConstants.OrdDtlItemStat;
 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;
 import com.style24.persistence.domain.OrderChange;
+import com.style24.persistence.domain.Point;
 import com.style24.persistence.domain.WmsDelivery;
 
 import lombok.extern.slf4j.Slf4j;
@@ -74,7 +81,7 @@ public class TsbDeliveryService {
 	private TscDeliveryService coreDeliveryService;
 
 	@Autowired
-	private TscOrderChangeService orderChangeService;	
+	private TscOrderChangeService orderChangeService;
 	
 	@Autowired
 	private TscOrderRefundService orderRefundService;
@@ -86,7 +93,10 @@ public class TsbDeliveryService {
 	private HansaeErp hansaeErp;
 	
 	@Autowired
-	private TsbWmsDeliveryService wmsDeliveryService;	
+	private TsbWmsDeliveryService wmsDeliveryService;
+
+	@Autowired
+	private TscPointDao pointDao;
 
 	/**
 	 * 총알배송 권역정보 갱신 
@@ -431,216 +441,252 @@ public class TsbDeliveryService {
 				log.info("cancelOrderRefundList {}"+cancelOrderRefundList);
 				
 				for (Order vo : cancelOrderRefundList) {
-					
-					if(dtlNo.getOrdDtlNo().equals(vo.getOrdDtlNo()))
-					{
+					if (dtlNo.getOrdDtlNo().equals(vo.getOrdDtlNo())) {
 						vo.setRegNo(TsbConstants.REG_NO);
 						vo.setUpdNo(TsbConstants.REG_NO);
 						vo.setOrdDtlStat(OrderDetailStat.PAYMENT_AFTER_CANCEL.value());
-							// 원주문 상세정보 수정
-							orderChangeDao.updateOrderDetail(vo);
-							// 원주문 상세 이력 등록
-							orderDao.createOrderDetailHst(vo);
-		
-							//vo.setOrdDtlNo(data.getOrderdtlno());
-							// 3-2-3. 주문상세단품정보 수정 및 주문상세단품이력 등록
-							// 주문상세단품정보조회
-							Collection<Order> orderDetailItemList = orderChangeDao.getOrderDetailItemForCnclRtn(vo);
-							int ordDtlOrdAmt 			= orderDetailItemList.iterator().next().getOrdAmt();
-							int ordDtlCnclRtnAmt	 	= orderDetailItemList.iterator().next().getCnclRtnAmt();
-							int ordDtlCpn1DcAmt 		= orderDetailItemList.iterator().next().getCpn1DcAmt();
-							int ordDtlTmtb1DcAmt 		= orderDetailItemList.iterator().next().getTmtb1DcAmt();
-							int ordDtlTmtb2DcAmt 		= orderDetailItemList.iterator().next().getTmtb2DcAmt();
-							int ordDtlGoodsCpnDcAmt 	= orderDetailItemList.iterator().next().getGoodsCpnDcAmt();
-							int ordDtlCartCpnDcAmt 		= orderDetailItemList.iterator().next().getCartCpnDcAmt();
-							int ordDtlPntDcAmt 			= orderDetailItemList.iterator().next().getPntDcAmt();
-							int ordDtlPrePntDcAmt 		= orderDetailItemList.iterator().next().getPrePntDcAmt();
-							int ordDtlSavePntAmt 		= orderDetailItemList.iterator().next().getSavePntAmt();
-							int ordDtlRealOrdAmt 		= orderDetailItemList.iterator().next().getRealOrdAmt();
-							int ordDtlGfcdUseAmt 		= orderDetailItemList.iterator().next().getGfcdUseAmt();
-		
-							// 주문상세단품단위 금액 등록
-							int length					= orderDetailItemList.size();
-							int index					= 1;
-							int leftOrdAmt 				= ordDtlOrdAmt;
-							int leftCnclRtnAmt			= ordDtlCnclRtnAmt;
-							int leftCpn1DcAmt 			= ordDtlCpn1DcAmt;
-							int leftTmtb1DcAmt 			= ordDtlTmtb1DcAmt;
-							int leftTmtb2DcAmt 			= ordDtlTmtb2DcAmt;
-							int leftGoodsCpnDcAmt 		= ordDtlGoodsCpnDcAmt;
-							int leftCartCpnDcAmt 		= ordDtlCartCpnDcAmt;
-							int leftPntDcAmt 			= ordDtlPntDcAmt;
-							int leftPrePntDcAmt 		= ordDtlPrePntDcAmt;
-							int leftSavePntAmt 			= ordDtlSavePntAmt;
-							int leftRealOrdAmt 			= ordDtlRealOrdAmt;
-							int leftGfcdUseAmt 			= ordDtlGfcdUseAmt;
-		
-							for (Order orderDetailItem : orderDetailItemList) {
-								double dtlOrdAmt		= orderDetailItem.getDtlOrdAmt();
-								double dtlItemOrdAmt	= orderDetailItem.getDtlItemOrdAmt();
-								double tempDivD			= (dtlItemOrdAmt / dtlOrdAmt) * 100;
-								
-								int tempDiv				= Integer.parseInt(String.valueOf(Math.round(tempDivD)));
-		
-								if (index == length) {
-									orderDetailItem.setCnclRtnAmt(leftCnclRtnAmt);
-									orderDetailItem.setCpn1DcAmt(leftCpn1DcAmt);
-									orderDetailItem.setTmtb1DcAmt(leftTmtb1DcAmt);
-									orderDetailItem.setTmtb2DcAmt(leftTmtb2DcAmt);
-									orderDetailItem.setGoodsCpnDcAmt(leftGoodsCpnDcAmt);
-									orderDetailItem.setCartCpnDcAmt(leftCartCpnDcAmt);
-									orderDetailItem.setPrePntDcAmt(leftPrePntDcAmt);
-									orderDetailItem.setPntDcAmt(leftPntDcAmt);
-									orderDetailItem.setGfcdUseAmt(leftGfcdUseAmt);
-									orderDetailItem.setRealOrdAmt(leftRealOrdAmt);
-									orderDetailItem.setSavePntAmt(leftSavePntAmt);
-									
-								} else {
-									orderDetailItem.setCnclRtnAmt((ordDtlCnclRtnAmt 		* tempDiv) / 100);
-									orderDetailItem.setCpn1DcAmt((ordDtlCpn1DcAmt 			* tempDiv) / 100);
-									orderDetailItem.setTmtb1DcAmt((ordDtlTmtb1DcAmt 		* tempDiv) / 100);
-									orderDetailItem.setTmtb2DcAmt((ordDtlTmtb2DcAmt 		* tempDiv) / 100);
-									orderDetailItem.setGoodsCpnDcAmt((ordDtlGoodsCpnDcAmt 	* tempDiv) / 100);
-									orderDetailItem.setCartCpnDcAmt((ordDtlCartCpnDcAmt 	* tempDiv) / 100);
-									orderDetailItem.setPrePntDcAmt((ordDtlPrePntDcAmt 		* tempDiv) / 100);
-									orderDetailItem.setPntDcAmt((ordDtlPntDcAmt 			* tempDiv) / 100);
-									orderDetailItem.setGfcdUseAmt((ordDtlGfcdUseAmt 		* tempDiv) / 100);
-									orderDetailItem.setRealOrdAmt((ordDtlRealOrdAmt 		* tempDiv) / 100);
-									orderDetailItem.setSavePntAmt((ordDtlSavePntAmt 		* tempDiv) / 100);
-		
-									leftCnclRtnAmt		-= ((ordDtlCnclRtnAmt 				* tempDiv) / 100);
-									leftCpn1DcAmt 		-= ((ordDtlCpn1DcAmt 				* tempDiv) / 100);
-									leftTmtb1DcAmt 		-= ((ordDtlTmtb1DcAmt 				* tempDiv) / 100);
-									leftTmtb2DcAmt 		-= ((ordDtlTmtb2DcAmt 				* tempDiv) / 100);
-									leftGoodsCpnDcAmt 	-= ((ordDtlGoodsCpnDcAmt 			* tempDiv) / 100);
-									leftCartCpnDcAmt 	-= ((ordDtlCartCpnDcAmt 			* tempDiv) / 100);
-									leftPrePntDcAmt 	-= ((ordDtlPrePntDcAmt 				* tempDiv) / 100);
-									leftPntDcAmt 		-= ((ordDtlPntDcAmt 				* tempDiv) / 100);
-									leftGfcdUseAmt 		-= ((ordDtlGfcdUseAmt 				* tempDiv) / 100);
-									leftRealOrdAmt 		-= ((ordDtlRealOrdAmt 				* tempDiv) / 100);
-									leftSavePntAmt 		-= ((ordDtlSavePntAmt 				* tempDiv) / 100);
-								}
-		
-								orderDetailItem.setRegNo(TsbConstants.REG_NO);
-								orderDetailItem.setUpdNo(TsbConstants.REG_NO);
-								orderDetailItem.setOrdDtlStat(vo.getOrdDtlStat());
+						// 원주문 상세정보 수정
+						orderChangeDao.updateOrderDetail(vo);
+						// 원주문 상세 이력 등록
+						orderDao.createOrderDetailHst(vo);
+
+						// 2021.11.19 card007 적립예정포인트 차감 후 신규 로우 생성
+						int savePntAmt = vo.getSavePntAmt();
+						if (savePntAmt > 0) {
+							vo.setOccurGb(TscConstants.PointOccurGb.EXPECT_POINT.value());
+							vo.setFirstOrdDtlNo(vo.getOrdDtlNo());
+
+							for (Order point : orderChangeDao.getCustPointHst(vo)) {
+								point.setOccurGb(TscConstants.PointOccurGb.EXPECT_POINT_CANCEL.value());
+								point.setPntUploadStat(TscConstants.PntUploadStat.APPLY_EXPECT.value());
+								point.setOccurDtlDesc("예정포인트적립취소");
+								point.setPntAmt(savePntAmt * -1);
+								point.setRegNo(TsbConstants.REG_NO);
+								point.setUpdNo(TsbConstants.REG_NO);
+
+								// 적립예정포인트 차감
+								orderChangeDao.createCustPointHstRollback(point);
+							}
+						}
+	
+						//vo.setOrdDtlNo(data.getOrderdtlno());
+						// 3-2-3. 주문상세단품정보 수정 및 주문상세단품이력 등록
+						// 주문상세단품정보조회
+						Collection<Order> orderDetailItemList = orderChangeDao.getOrderDetailItemForCnclRtn(vo);
+						int ordDtlOrdAmt 			= orderDetailItemList.iterator().next().getOrdAmt();
+						int ordDtlCnclRtnAmt	 	= orderDetailItemList.iterator().next().getCnclRtnAmt();
+						int ordDtlCpn1DcAmt 		= orderDetailItemList.iterator().next().getCpn1DcAmt();
+						int ordDtlTmtb1DcAmt 		= orderDetailItemList.iterator().next().getTmtb1DcAmt();
+						int ordDtlTmtb2DcAmt 		= orderDetailItemList.iterator().next().getTmtb2DcAmt();
+						int ordDtlGoodsCpnDcAmt 	= orderDetailItemList.iterator().next().getGoodsCpnDcAmt();
+						int ordDtlCartCpnDcAmt 		= orderDetailItemList.iterator().next().getCartCpnDcAmt();
+						int ordDtlPntDcAmt 			= orderDetailItemList.iterator().next().getPntDcAmt();
+						int ordDtlPrePntDcAmt 		= orderDetailItemList.iterator().next().getPrePntDcAmt();
+						int ordDtlSavePntAmt 		= orderDetailItemList.iterator().next().getSavePntAmt();
+						int ordDtlRealOrdAmt 		= orderDetailItemList.iterator().next().getRealOrdAmt();
+						int ordDtlGfcdUseAmt 		= orderDetailItemList.iterator().next().getGfcdUseAmt();
+	
+						// 주문상세단품단위 금액 등록
+						int length					= orderDetailItemList.size();
+						int index					= 1;
+						int leftOrdAmt 				= ordDtlOrdAmt;
+						int leftCnclRtnAmt			= ordDtlCnclRtnAmt;
+						int leftCpn1DcAmt 			= ordDtlCpn1DcAmt;
+						int leftTmtb1DcAmt 			= ordDtlTmtb1DcAmt;
+						int leftTmtb2DcAmt 			= ordDtlTmtb2DcAmt;
+						int leftGoodsCpnDcAmt 		= ordDtlGoodsCpnDcAmt;
+						int leftCartCpnDcAmt 		= ordDtlCartCpnDcAmt;
+						int leftPntDcAmt 			= ordDtlPntDcAmt;
+						int leftPrePntDcAmt 		= ordDtlPrePntDcAmt;
+						int leftSavePntAmt 			= ordDtlSavePntAmt;
+						int leftRealOrdAmt 			= ordDtlRealOrdAmt;
+						int leftGfcdUseAmt 			= ordDtlGfcdUseAmt;
+	
+						for (Order orderDetailItem : orderDetailItemList) {
+							double dtlOrdAmt		= orderDetailItem.getDtlOrdAmt();
+							double dtlItemOrdAmt	= orderDetailItem.getDtlItemOrdAmt();
+							double tempDivD			= (dtlItemOrdAmt / dtlOrdAmt) * 100;
+							
+							int tempDiv				= Integer.parseInt(String.valueOf(Math.round(tempDivD)));
+	
+							if (index == length) {
+								orderDetailItem.setCnclRtnAmt(leftCnclRtnAmt);
+								orderDetailItem.setCpn1DcAmt(leftCpn1DcAmt);
+								orderDetailItem.setTmtb1DcAmt(leftTmtb1DcAmt);
+								orderDetailItem.setTmtb2DcAmt(leftTmtb2DcAmt);
+								orderDetailItem.setGoodsCpnDcAmt(leftGoodsCpnDcAmt);
+								orderDetailItem.setCartCpnDcAmt(leftCartCpnDcAmt);
+								orderDetailItem.setPrePntDcAmt(leftPrePntDcAmt);
+								orderDetailItem.setPntDcAmt(leftPntDcAmt);
+								orderDetailItem.setGfcdUseAmt(leftGfcdUseAmt);
+								orderDetailItem.setRealOrdAmt(leftRealOrdAmt);
+								orderDetailItem.setSavePntAmt(leftSavePntAmt);
 								
-								// 2021.06.25 WMS 회수정보 수집 (교환완료) (정산구분값추가)
-								orderDetailItem.setOrdDtlStat(TscConstants.OrdDtlItemStat.SALE_RETURN_EXCHANGE_COMPLETE.value());
-								orderDetailItem.setCnclRtnQty(vo.getOrdCanChgQty());  
-								orderDetailItem.setOrdChgSq(data.getOrdChgSq());
-								orderChangeDao.createOrderDetailItemHst(orderDetailItem);
-		
-								orderChangeDao.updateOrderDetailItem(orderDetailItem);
-
-								index++;
+							} else {
+								orderDetailItem.setCnclRtnAmt((ordDtlCnclRtnAmt 		* tempDiv) / 100);
+								orderDetailItem.setCpn1DcAmt((ordDtlCpn1DcAmt 			* tempDiv) / 100);
+								orderDetailItem.setTmtb1DcAmt((ordDtlTmtb1DcAmt 		* tempDiv) / 100);
+								orderDetailItem.setTmtb2DcAmt((ordDtlTmtb2DcAmt 		* tempDiv) / 100);
+								orderDetailItem.setGoodsCpnDcAmt((ordDtlGoodsCpnDcAmt 	* tempDiv) / 100);
+								orderDetailItem.setCartCpnDcAmt((ordDtlCartCpnDcAmt 	* tempDiv) / 100);
+								orderDetailItem.setPrePntDcAmt((ordDtlPrePntDcAmt 		* tempDiv) / 100);
+								orderDetailItem.setPntDcAmt((ordDtlPntDcAmt 			* tempDiv) / 100);
+								orderDetailItem.setGfcdUseAmt((ordDtlGfcdUseAmt 		* tempDiv) / 100);
+								orderDetailItem.setRealOrdAmt((ordDtlRealOrdAmt 		* tempDiv) / 100);
+								orderDetailItem.setSavePntAmt((ordDtlSavePntAmt 		* tempDiv) / 100);
+	
+								leftCnclRtnAmt		-= ((ordDtlCnclRtnAmt 				* tempDiv) / 100);
+								leftCpn1DcAmt 		-= ((ordDtlCpn1DcAmt 				* tempDiv) / 100);
+								leftTmtb1DcAmt 		-= ((ordDtlTmtb1DcAmt 				* tempDiv) / 100);
+								leftTmtb2DcAmt 		-= ((ordDtlTmtb2DcAmt 				* tempDiv) / 100);
+								leftGoodsCpnDcAmt 	-= ((ordDtlGoodsCpnDcAmt 			* tempDiv) / 100);
+								leftCartCpnDcAmt 	-= ((ordDtlCartCpnDcAmt 			* tempDiv) / 100);
+								leftPrePntDcAmt 	-= ((ordDtlPrePntDcAmt 				* tempDiv) / 100);
+								leftPntDcAmt 		-= ((ordDtlPntDcAmt 				* tempDiv) / 100);
+								leftGfcdUseAmt 		-= ((ordDtlGfcdUseAmt 				* tempDiv) / 100);
+								leftRealOrdAmt 		-= ((ordDtlRealOrdAmt 				* tempDiv) / 100);
+								leftSavePntAmt 		-= ((ordDtlSavePntAmt 				* tempDiv) / 100);
 							}
+	
+							orderDetailItem.setRegNo(TsbConstants.REG_NO);
+							orderDetailItem.setUpdNo(TsbConstants.REG_NO);
+							orderDetailItem.setOrdDtlStat(vo.getOrdDtlStat());
 							
-							// 교환주문 상세 수정
-							vo.setOrdDtlStat(OrderDetailStat.PAYMENT_COMPLETE.value()); // 교환주문상세 결제완료
-							vo.setOrdDtlNo(dtlNo.getChgOrdDtlNo());
-							vo.setWdBfSendYn(data.getWdBfSendYn());
-							orderChangeDao.updateChgOrderDetailTemp(vo);
-							// 교환주문 상세 이력 등록 
-							orderDao.createOrderDetailHst(vo);
+							// 2021.06.25 WMS 회수정보 수집 (교환완료) (정산구분값추가)
+							orderDetailItem.setOrdDtlStat(TscConstants.OrdDtlItemStat.SALE_RETURN_EXCHANGE_COMPLETE.value());
+							orderDetailItem.setCnclRtnQty(vo.getOrdCanChgQty());  
+							orderDetailItem.setOrdChgSq(data.getOrdChgSq());
+							orderChangeDao.createOrderDetailItemHst(orderDetailItem);
+	
+							orderChangeDao.updateOrderDetailItem(orderDetailItem);
+
+							index++;
+						}
+						
+						// 교환주문 상세 수정
+						Integer exchangeOrdDtlNo = dtlNo.getChgOrdDtlNo();
+						vo.setOrdDtlStat(OrderDetailStat.PAYMENT_COMPLETE.value()); // 교환주문상세 결제완료
+						vo.setOrdDtlNo(exchangeOrdDtlNo);
+						vo.setWdBfSendYn(data.getWdBfSendYn());
+						orderChangeDao.updateChgOrderDetailTemp(vo);
+						// 교환주문 상세 이력 등록 
+						orderDao.createOrderDetailHst(vo);
+
+						// 2021.11.19 card007 적립예정포인트 차감 후 신규 로우 생성
+						if (custNo > 0 && savePntAmt > 0 && exchangeOrdDtlNo > 0) {
+							// 적립예정포인트 신규 로우 생성
+							Point point = new Point();
+							point.setCustNo(custNo);
+							point.setOccurGb(TscConstants.PointOccurGb.EXPECT_POINT.value());
+							point.setOccurDtlDesc("예정포인트적립");
+							point.setPntAmt(savePntAmt);
+							point.setCustPntSq(0);
+							point.setOrdNo(ordNo);
+							point.setOrdDtlNo(exchangeOrdDtlNo);
+							point.setReviewSq(0);
+							point.setPntUploadStat(TscConstants.PntUploadStat.APPLY_EXPECT.value());
+							point.setRegNo(TsbConstants.REG_NO);
+							point.setUpdNo(TsbConstants.REG_NO);
+							pointDao.createCustomerPointHst(point);
+						}
+						
+						// 주문상세단품정보조회
+						Collection<Order> orderDetailItemList2 = orderChangeDao.getOrderDetailItemForCnclRtn(vo);
+						int ordDtlOrdAmt2 			= orderDetailItemList2.iterator().next().getOrdAmt();
+						int ordDtlCnclRtnAmt2	 	= orderDetailItemList2.iterator().next().getCnclRtnAmt();
+						int ordDtlCpn1DcAmt2 		= orderDetailItemList2.iterator().next().getCpn1DcAmt();
+						int ordDtlTmtb1DcAmt2 		= orderDetailItemList2.iterator().next().getTmtb1DcAmt();
+						int ordDtlTmtb2DcAmt2 		= orderDetailItemList2.iterator().next().getTmtb2DcAmt();
+						int ordDtlGoodsCpnDcAmt2 	= orderDetailItemList2.iterator().next().getGoodsCpnDcAmt();
+						int ordDtlCartCpnDcAmt2 	= orderDetailItemList2.iterator().next().getCartCpnDcAmt();
+						int ordDtlPntDcAmt2 		= orderDetailItemList2.iterator().next().getPntDcAmt();
+						int ordDtlPrePntDcAmt2 		= orderDetailItemList2.iterator().next().getPrePntDcAmt();
+						int ordDtlSavePntAmt2 		= orderDetailItemList2.iterator().next().getSavePntAmt();
+						int ordDtlRealOrdAmt2 		= orderDetailItemList2.iterator().next().getRealOrdAmt();
+						int ordDtlGfcdUseAmt2 		= orderDetailItemList2.iterator().next().getGfcdUseAmt();
+	
+						// 주문상세단품단위 금액 등록
+						int length2					= orderDetailItemList2.size();
+						int index2					= 1;
+						int leftOrdAmt2 			= ordDtlOrdAmt2;
+						int leftCnclRtnAmt2			= ordDtlCnclRtnAmt2;
+						int leftCpn1DcAmt2 			= ordDtlCpn1DcAmt2;
+						int leftTmtb1DcAmt2 		= ordDtlTmtb1DcAmt2;
+						int leftTmtb2DcAmt2 		= ordDtlTmtb2DcAmt2;
+						int leftGoodsCpnDcAmt2 		= ordDtlGoodsCpnDcAmt2;
+						int leftCartCpnDcAmt2 		= ordDtlCartCpnDcAmt2;
+						int leftPntDcAmt2 			= ordDtlPntDcAmt2;
+						int leftPrePntDcAmt2 		= ordDtlPrePntDcAmt2;
+						int leftSavePntAmt2 		= ordDtlSavePntAmt2;
+						int leftRealOrdAmt2 		= ordDtlRealOrdAmt2;
+						int leftGfcdUseAmt2 		= ordDtlGfcdUseAmt2;
+	
+						for (Order orderDetailItem : orderDetailItemList2) {
+							double dtlOrdAmt		= orderDetailItem.getDtlOrdAmt();
+							double dtlItemOrdAmt	= orderDetailItem.getDtlItemOrdAmt();
+							double tempDivD			= (dtlItemOrdAmt / dtlOrdAmt) * 100;
 							
-							// 주문상세단품정보조회
-							Collection<Order> orderDetailItemList2 = orderChangeDao.getOrderDetailItemForCnclRtn(vo);
-							int ordDtlOrdAmt2 			= orderDetailItemList2.iterator().next().getOrdAmt();
-							int ordDtlCnclRtnAmt2	 	= orderDetailItemList2.iterator().next().getCnclRtnAmt();
-							int ordDtlCpn1DcAmt2 		= orderDetailItemList2.iterator().next().getCpn1DcAmt();
-							int ordDtlTmtb1DcAmt2 		= orderDetailItemList2.iterator().next().getTmtb1DcAmt();
-							int ordDtlTmtb2DcAmt2 		= orderDetailItemList2.iterator().next().getTmtb2DcAmt();
-							int ordDtlGoodsCpnDcAmt2 	= orderDetailItemList2.iterator().next().getGoodsCpnDcAmt();
-							int ordDtlCartCpnDcAmt2 	= orderDetailItemList2.iterator().next().getCartCpnDcAmt();
-							int ordDtlPntDcAmt2 		= orderDetailItemList2.iterator().next().getPntDcAmt();
-							int ordDtlPrePntDcAmt2 		= orderDetailItemList2.iterator().next().getPrePntDcAmt();
-							int ordDtlSavePntAmt2 		= orderDetailItemList2.iterator().next().getSavePntAmt();
-							int ordDtlRealOrdAmt2 		= orderDetailItemList2.iterator().next().getRealOrdAmt();
-							int ordDtlGfcdUseAmt2 		= orderDetailItemList2.iterator().next().getGfcdUseAmt();
-		
-							// 주문상세단품단위 금액 등록
-							int length2					= orderDetailItemList2.size();
-							int index2					= 1;
-							int leftOrdAmt2 			= ordDtlOrdAmt2;
-							int leftCnclRtnAmt2			= ordDtlCnclRtnAmt2;
-							int leftCpn1DcAmt2 			= ordDtlCpn1DcAmt2;
-							int leftTmtb1DcAmt2 		= ordDtlTmtb1DcAmt2;
-							int leftTmtb2DcAmt2 		= ordDtlTmtb2DcAmt2;
-							int leftGoodsCpnDcAmt2 		= ordDtlGoodsCpnDcAmt2;
-							int leftCartCpnDcAmt2 		= ordDtlCartCpnDcAmt2;
-							int leftPntDcAmt2 			= ordDtlPntDcAmt2;
-							int leftPrePntDcAmt2 		= ordDtlPrePntDcAmt2;
-							int leftSavePntAmt2 		= ordDtlSavePntAmt2;
-							int leftRealOrdAmt2 		= ordDtlRealOrdAmt2;
-							int leftGfcdUseAmt2 		= ordDtlGfcdUseAmt2;
-		
-							for (Order orderDetailItem : orderDetailItemList2) {
-								double dtlOrdAmt		= orderDetailItem.getDtlOrdAmt();
-								double dtlItemOrdAmt	= orderDetailItem.getDtlItemOrdAmt();
-								double tempDivD			= (dtlItemOrdAmt / dtlOrdAmt) * 100;
-								
-								int tempDiv				= Integer.parseInt(String.valueOf(Math.round(tempDivD)));
-		
-								if (index2 == length2) {
-									orderDetailItem.setOrdAmt(leftOrdAmt2);
-									orderDetailItem.setCnclRtnAmt(leftCnclRtnAmt2);
-									orderDetailItem.setCpn1DcAmt(leftCpn1DcAmt2);
-									orderDetailItem.setTmtb1DcAmt(leftTmtb1DcAmt2);
-									orderDetailItem.setTmtb2DcAmt(leftTmtb2DcAmt2);
-									orderDetailItem.setGoodsCpnDcAmt(leftGoodsCpnDcAmt2);
-									orderDetailItem.setCartCpnDcAmt(leftCartCpnDcAmt2);
-									orderDetailItem.setPrePntDcAmt(leftPrePntDcAmt2);
-									orderDetailItem.setPntDcAmt(leftPntDcAmt2);
-									orderDetailItem.setGfcdUseAmt(leftGfcdUseAmt2);
-									orderDetailItem.setRealOrdAmt(leftRealOrdAmt2);
-									orderDetailItem.setSavePntAmt(leftSavePntAmt2);
-									
-								} else {
-									orderDetailItem.setOrdAmt((ordDtlOrdAmt2 				* tempDiv) / 100);
-									orderDetailItem.setCnclRtnAmt((ordDtlCnclRtnAmt2 		* tempDiv) / 100);
-									orderDetailItem.setCpn1DcAmt((ordDtlCpn1DcAmt2 			* tempDiv) / 100);
-									orderDetailItem.setTmtb1DcAmt((ordDtlTmtb1DcAmt2 		* tempDiv) / 100);
-									orderDetailItem.setTmtb2DcAmt((ordDtlTmtb2DcAmt2 		* tempDiv) / 100);
-									orderDetailItem.setGoodsCpnDcAmt((ordDtlGoodsCpnDcAmt2 	* tempDiv) / 100);
-									orderDetailItem.setCartCpnDcAmt((ordDtlCartCpnDcAmt2 	* tempDiv) / 100);
-									orderDetailItem.setPrePntDcAmt((ordDtlPrePntDcAmt2 		* tempDiv) / 100);
-									orderDetailItem.setPntDcAmt((ordDtlPntDcAmt2 			* tempDiv) / 100);
-									orderDetailItem.setGfcdUseAmt((ordDtlGfcdUseAmt2 		* tempDiv) / 100);
-									orderDetailItem.setRealOrdAmt((ordDtlRealOrdAmt2 		* tempDiv) / 100);
-									orderDetailItem.setSavePntAmt((ordDtlSavePntAmt2 		* tempDiv) / 100);
-		
-									leftOrdAmt2         -= ((ordDtlOrdAmt2 					* tempDiv) / 100);
-									leftCnclRtnAmt2		-= ((ordDtlCnclRtnAmt2 				* tempDiv) / 100);
-									leftCpn1DcAmt2 		-= ((ordDtlCpn1DcAmt2 				* tempDiv) / 100);
-									leftTmtb1DcAmt2 	-= ((ordDtlTmtb1DcAmt2 				* tempDiv) / 100);
-									leftTmtb2DcAmt2 	-= ((ordDtlTmtb2DcAmt2 				* tempDiv) / 100);
-									leftGoodsCpnDcAmt2 	-= ((ordDtlGoodsCpnDcAmt2 			* tempDiv) / 100);
-									leftCartCpnDcAmt2 	-= ((ordDtlCartCpnDcAmt2 			* tempDiv) / 100);
-									leftPrePntDcAmt2 	-= ((ordDtlPrePntDcAmt2 			* tempDiv) / 100);
-									leftPntDcAmt2 		-= ((ordDtlPntDcAmt2 				* tempDiv) / 100);
-									leftGfcdUseAmt2 	-= ((ordDtlGfcdUseAmt2 				* tempDiv) / 100);
-									leftRealOrdAmt2 	-= ((ordDtlRealOrdAmt2 				* tempDiv) / 100);
-									leftSavePntAmt2 	-= ((ordDtlSavePntAmt2 				* tempDiv) / 100);
-								}
-								log.info("orderDetailItem: "+orderDetailItem.getOrdAmt());
-								orderDetailItem.setRegNo(TsbConstants.REG_NO);
-								orderDetailItem.setUpdNo(TsbConstants.REG_NO);
-								orderDetailItem.setOrdDtlStat(vo.getOrdDtlStat());
-								
-								// 2021.06.25 WMS 회수정보 수집 (교환결제완료) (정산구분값추가)
-								orderDetailItem.setOrdDtlStat(TscConstants.OrdDtlItemStat.SALE_PAYMENT_COMPLETE.value()); // G720_10  판매-결제완료
-								orderDetailItem.setCnclRtnQty(0);
-								orderDetailItem.setOrdChgSq(data.getOrdChgSq());
-								orderChangeDao.updateChgOrderDetailItemTemp(orderDetailItem);
-								orderDetailItem.setExchangeOrdDtlItemSq(orderDetailItem.getOrdDtlItemSq());
-								orderChangeDao.createOrderDetailItemHstForExchange(orderDetailItem);
+							int tempDiv				= Integer.parseInt(String.valueOf(Math.round(tempDivD)));
+	
+							if (index2 == length2) {
+								orderDetailItem.setOrdAmt(leftOrdAmt2);
+								orderDetailItem.setCnclRtnAmt(leftCnclRtnAmt2);
+								orderDetailItem.setCpn1DcAmt(leftCpn1DcAmt2);
+								orderDetailItem.setTmtb1DcAmt(leftTmtb1DcAmt2);
+								orderDetailItem.setTmtb2DcAmt(leftTmtb2DcAmt2);
+								orderDetailItem.setGoodsCpnDcAmt(leftGoodsCpnDcAmt2);
+								orderDetailItem.setCartCpnDcAmt(leftCartCpnDcAmt2);
+								orderDetailItem.setPrePntDcAmt(leftPrePntDcAmt2);
+								orderDetailItem.setPntDcAmt(leftPntDcAmt2);
+								orderDetailItem.setGfcdUseAmt(leftGfcdUseAmt2);
+								orderDetailItem.setRealOrdAmt(leftRealOrdAmt2);
+								orderDetailItem.setSavePntAmt(leftSavePntAmt2);
 								
-								index2++;
+							} else {
+								orderDetailItem.setOrdAmt((ordDtlOrdAmt2 				* tempDiv) / 100);
+								orderDetailItem.setCnclRtnAmt((ordDtlCnclRtnAmt2 		* tempDiv) / 100);
+								orderDetailItem.setCpn1DcAmt((ordDtlCpn1DcAmt2 			* tempDiv) / 100);
+								orderDetailItem.setTmtb1DcAmt((ordDtlTmtb1DcAmt2 		* tempDiv) / 100);
+								orderDetailItem.setTmtb2DcAmt((ordDtlTmtb2DcAmt2 		* tempDiv) / 100);
+								orderDetailItem.setGoodsCpnDcAmt((ordDtlGoodsCpnDcAmt2 	* tempDiv) / 100);
+								orderDetailItem.setCartCpnDcAmt((ordDtlCartCpnDcAmt2 	* tempDiv) / 100);
+								orderDetailItem.setPrePntDcAmt((ordDtlPrePntDcAmt2 		* tempDiv) / 100);
+								orderDetailItem.setPntDcAmt((ordDtlPntDcAmt2 			* tempDiv) / 100);
+								orderDetailItem.setGfcdUseAmt((ordDtlGfcdUseAmt2 		* tempDiv) / 100);
+								orderDetailItem.setRealOrdAmt((ordDtlRealOrdAmt2 		* tempDiv) / 100);
+								orderDetailItem.setSavePntAmt((ordDtlSavePntAmt2 		* tempDiv) / 100);
+	
+								leftOrdAmt2         -= ((ordDtlOrdAmt2 					* tempDiv) / 100);
+								leftCnclRtnAmt2		-= ((ordDtlCnclRtnAmt2 				* tempDiv) / 100);
+								leftCpn1DcAmt2 		-= ((ordDtlCpn1DcAmt2 				* tempDiv) / 100);
+								leftTmtb1DcAmt2 	-= ((ordDtlTmtb1DcAmt2 				* tempDiv) / 100);
+								leftTmtb2DcAmt2 	-= ((ordDtlTmtb2DcAmt2 				* tempDiv) / 100);
+								leftGoodsCpnDcAmt2 	-= ((ordDtlGoodsCpnDcAmt2 			* tempDiv) / 100);
+								leftCartCpnDcAmt2 	-= ((ordDtlCartCpnDcAmt2 			* tempDiv) / 100);
+								leftPrePntDcAmt2 	-= ((ordDtlPrePntDcAmt2 			* tempDiv) / 100);
+								leftPntDcAmt2 		-= ((ordDtlPntDcAmt2 				* tempDiv) / 100);
+								leftGfcdUseAmt2 	-= ((ordDtlGfcdUseAmt2 				* tempDiv) / 100);
+								leftRealOrdAmt2 	-= ((ordDtlRealOrdAmt2 				* tempDiv) / 100);
+								leftSavePntAmt2 	-= ((ordDtlSavePntAmt2 				* tempDiv) / 100);
 							}
+							log.info("orderDetailItem: "+orderDetailItem.getOrdAmt());
+							orderDetailItem.setRegNo(TsbConstants.REG_NO);
+							orderDetailItem.setUpdNo(TsbConstants.REG_NO);
+							orderDetailItem.setOrdDtlStat(vo.getOrdDtlStat());
+							
+							// 2021.06.25 WMS 회수정보 수집 (교환결제완료) (정산구분값추가)
+							orderDetailItem.setOrdDtlStat(TscConstants.OrdDtlItemStat.SALE_PAYMENT_COMPLETE.value()); // G720_10  판매-결제완료
+							orderDetailItem.setCnclRtnQty(0);
+							orderDetailItem.setOrdChgSq(data.getOrdChgSq());
+							orderChangeDao.updateChgOrderDetailItemTemp(orderDetailItem);
+							orderDetailItem.setExchangeOrdDtlItemSq(orderDetailItem.getOrdDtlItemSq());
+							orderChangeDao.createOrderDetailItemHstForExchange(orderDetailItem);
+							
+							index2++;
 						}
 					}
-				} 
+				}
+			} 
 
 		}
 		

+ 0 - 2
src/main/java/com/style24/batch/biz/service/TsbWmsDeliveryService.java

@@ -404,10 +404,8 @@ public class TsbWmsDeliveryService {
 	 */
 	@Transactional("wmsTxnManager")
 	public void insertWmsRecallDeliveryItem(Delivery data, Integer recallNo) {
-		
 		data.setRecallno(recallNo);
 		wmsDeliveryDao.insertWmsRecallDeliveryItem(data);
-
 	}
 	
 	

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

@@ -162,8 +162,7 @@ public class Delivery extends TscBaseDomain {
 	
 	private String cjOrdChgSq;
 	private String cjOrdNo;
-	
-	
+
 	private Integer recallexceptionno;
 	private Integer recallexceptionitemno;
 	private Integer recallexceptionmemono;
@@ -224,6 +223,13 @@ public class Delivery extends TscBaseDomain {
 
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
 	private Integer[] ordDtlNoArr;
+	
+	// 2021.11.17 WMS_IF 테이블에 등록하기 위해서 추가
+	private String vendorId;
+	private String extmallId;
+	private String agentOrderId;
+	private String extmallOrderId;
+	private String chgRegDt;
 }
 
 

+ 1 - 1
src/main/java/com/style24/persistence/mybatis/cj/TsbCjDelivery.xml

@@ -4,7 +4,7 @@
 	
 	
 	<!-- cj 회수 송장번호 조회    -->	
-	<select id="getCjWdInvoiceList" resultType="Delivery">
+	<select id="getCjWdInvoiceList" resultType="Delivery" timeout="600">
 		/*TsbWmsDelivery.getCjWdInvoiceList*/
 		SELECT 
 		        A.INVC_NO     AS RECALLINVOICENO

+ 57 - 48
src/main/java/com/style24/persistence/mybatis/shop/TsbCustomer.xml

@@ -753,61 +753,70 @@
 		     , SECEDE_DTL_RSN
 		     , SECEDE_DT
 		     , RM_DORMANT_DT
+		     , BIRTH_MM
+		     -- , BANK_CD
+		     -- , ACCOUNT_NO
+		     -- , ACCOUNT_NM
 		     , REG_NO
 		     , REG_DT
 		     , UPD_NO
 		     , UPD_DT
 		)
-		SELECT CUST_NO
-		     , CUST_ID
-		     , CUST_NM
-		     , PASSWD
-		     , BIRTH_YMD
-		     , SEX_GB
-		     , CELL_PHNNO
-		     , APP_AGREE_YN
-		     , APP_AGREE_DT
-		     , SMS_AGREE_YN
-		     , SMS_AGREE_DT
-		     , EMAIL
-		     , EMAIL_AGREE_YN
-		     , EMAIL_AGREE_DT
-		     , MK_AGREE_YN
-		     , MK_AGREE_DT
-		     , HOME_ZIPCODE
-		     , HOME_BASE_ADDR
-		     , HOME_DTL_ADDR
-		     , SITE_CD
-		     , FRONT_GB
-		     , AF_LINK_CD
-		     , CUST_GB
-		     , CUST_GRADE
-		     , JOIN_DT
-		     , FOREIGNER_YN
-		     , CUST_STAT
-		     , PASSWD_CHG_DT
-		     , TEMP_PASSWD_YN
-		     , LOGIN_LDT
-		     , CI
-		     , AUTH_DT
-		     , SNS_TYPE
-		     , MANAGED_RSN
-		     , MANAGED_DTL_RSN
-		     , MANAGED_DT
-		     , SECEDE_RSN
-		     , SECEDE_DTL_RSN
-		     , SECEDE_DT
-		     , RM_DORMANT_DT
+		SELECT C.CUST_NO
+		     , C.CUST_ID
+		     , C.CUST_NM
+		     , C.PASSWD
+		     , C.BIRTH_YMD
+		     , C.SEX_GB
+		     , C.CELL_PHNNO
+		     , C.APP_AGREE_YN
+		     , C.APP_AGREE_DT
+		     , C.SMS_AGREE_YN
+		     , C.SMS_AGREE_DT
+		     , C.EMAIL
+		     , C.EMAIL_AGREE_YN
+		     , C.EMAIL_AGREE_DT
+		     , C.MK_AGREE_YN
+		     , C.MK_AGREE_DT
+		     , C.HOME_ZIPCODE
+		     , C.HOME_BASE_ADDR
+		     , C.HOME_DTL_ADDR
+		     , C.SITE_CD
+		     , C.FRONT_GB
+		     , C.AF_LINK_CD
+		     , C.CUST_GB
+		     , C.CUST_GRADE
+		     , C.JOIN_DT
+		     , C.FOREIGNER_YN
+		     , C.CUST_STAT
+		     , C.PASSWD_CHG_DT
+		     , C.TEMP_PASSWD_YN
+		     , C.LOGIN_LDT
+		     , C.CI
+		     , C.AUTH_DT
+		     , C.SNS_TYPE
+		     , C.MANAGED_RSN
+		     , C.MANAGED_DTL_RSN
+		     , C.MANAGED_DT
+		     , C.SECEDE_RSN
+		     , C.SECEDE_DTL_RSN
+		     , C.SECEDE_DT
+		     , C.RM_DORMANT_DT
+		     , C.BIRTH_MM
+		     -- , CA.BANK_CD
+		     -- , CA.ACCOUNT_NO
+		     -- , CA.ACCOUNT_NM
 		     , #{regNo}   AS REG_NO
 		     , NOW()      AS REG_DT
-		     , UPD_NO
-		     , UPD_DT
-		FROM   TB_CUSTOMER
-		WHERE  CUST_NO IN (
-		                   SELECT CGH.CUST_NO
-		                   FROM   TB_CUST_GRADE_HST CGH
-		                   WHERE  CGH.APPLY_YMD = DATE_FORMAT(NOW(), '%Y%m%d')
-		                   )
+		     , C.UPD_NO
+		     , C.UPD_DT
+		FROM   TB_CUSTOMER C
+		-- LEFT OUTER JOIN TB_CUST_ACCOUNT CA ON C.CUST_NO = CA.CUST_NO
+		WHERE  C.CUST_NO IN (
+		                     SELECT CGH.CUST_NO
+		                     FROM   TB_CUST_GRADE_HST CGH
+		                     WHERE  CGH.APPLY_YMD = DATE_FORMAT(NOW(), '%Y%m%d')
+		                    )
 	</insert>
 
 	<!--회원등급 변경 처리-->

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

@@ -1138,7 +1138,7 @@
 		  FROM TB_ORD_FREEGIFT     A
 		  JOIN TB_ORD_FREEGIFT_VAL C ON A.ORD_FREEGIFT_SQ = C.ORD_FREEGIFT_SQ
 		  JOIN TB_ORDER            O ON A.ORD_NO = O.ORD_NO 
-		  WHERE A.ORD_NO = #{ordNo} 
+		  WHERE A.ORD_NO = #{ordNo}
 	</select>
 
 	<!-- WMS 회수요청 대상 조회      -->	
@@ -1171,7 +1171,9 @@
 			, B.CHG_QTY * D.ITEM_QTY                                AS RecallQty
 			, '입고대기'                                         	    AS StatusCd
 			, (SELECT SS.SHIP_COMP_NM FROM TB_SHIP_COMPANY SS WHERE SS.SHIP_COMP_CD = A.SHIP_COMP_CD  ) AS LogisticsName
-			, A.SHIP_COMP_CD                                        AS LogisticsCode
+			, CASE WHEN NULLIF(A.SHIP_COMP_CD, '') IS NOT NULL THEN IFNULL((SELECT SS.WMS_SHIP_COMP_CD FROM TB_SHIP_COMPANY SS WHERE SS.SHIP_COMP_CD = A.SHIP_COMP_CD), '90')
+			       ELSE ''
+			   END                                                  AS LogisticsCode
 			, A.WD_INVOICE_NO                                       AS RecallInvoiceNo
 			, C.ORD_DTL_NO                                          AS OrderDtlNo
 			, C.INVOICE_NO                                          AS InvoiceNo
@@ -1222,7 +1224,9 @@
 			, B.CHG_QTY * D.ITEM_QTY                                AS RecallQty
 			, '입고대기'                                         	    AS StatusCd
 			, (SELECT SS.SHIP_COMP_NM FROM TB_SHIP_COMPANY SS WHERE SS.SHIP_COMP_CD = A.SHIP_COMP_CD  ) AS LogisticsName
-			, A.SHIP_COMP_CD                                        AS LogisticsCode
+			, CASE WHEN NULLIF(A.SHIP_COMP_CD, '') IS NOT NULL THEN IFNULL((SELECT SS.WMS_SHIP_COMP_CD FROM TB_SHIP_COMPANY SS WHERE SS.SHIP_COMP_CD = A.SHIP_COMP_CD), '90')
+			       ELSE ''
+			   END                                                  AS LogisticsCode
 			, A.WD_INVOICE_NO                                       AS RecallInvoiceNo
 			, C.ORD_DTL_NO                                          AS OrderDtlNo
 			, C.INVOICE_NO                                          AS InvoiceNo
@@ -1275,7 +1279,9 @@
 			, B.CHG_QTY * D.ITEM_QTY                                AS RecallQty
 			, '입고대기'                                         	    AS StatusCd
 			, (SELECT SS.SHIP_COMP_NM FROM TB_SHIP_COMPANY SS WHERE SS.SHIP_COMP_CD = A.SHIP_COMP_CD  ) AS LogisticsName
-			, A.SHIP_COMP_CD                                        AS LogisticsCode
+			, CASE WHEN NULLIF(A.SHIP_COMP_CD, '') IS NOT NULL THEN IFNULL((SELECT SS.WMS_SHIP_COMP_CD FROM TB_SHIP_COMPANY SS WHERE SS.SHIP_COMP_CD = A.SHIP_COMP_CD), '90')
+			       ELSE ''
+			   END                                                  AS LogisticsCode
 			, A.WD_INVOICE_NO                                       AS RecallInvoiceNo
 			, C.ORD_DTL_NO                                          AS OrderDtlNo
 			, C.INVOICE_NO                                          AS InvoiceNo
@@ -1329,8 +1335,10 @@
 			, B.CHG_QTY * D.ITEM_QTY                                AS RecallQty
 			, '입고대기'                                         	    AS StatusCd
 			, (SELECT SS.SHIP_COMP_NM FROM TB_SHIP_COMPANY SS WHERE SS.SHIP_COMP_CD = A.SHIP_COMP_CD  ) AS LogisticsName
-			, A.SHIP_COMP_CD                                        AS LogisticsCode
-			, A.WD_INVOICE_NO                                       AS RecallInvoiceNo			
+			, CASE WHEN NULLIF(A.SHIP_COMP_CD, '') IS NOT NULL THEN IFNULL((SELECT SS.WMS_SHIP_COMP_CD FROM TB_SHIP_COMPANY SS WHERE SS.SHIP_COMP_CD = A.SHIP_COMP_CD), '90')
+			       ELSE ''
+			   END                                                  AS LogisticsCode
+			, A.WD_INVOICE_NO                                       AS RecallInvoiceNo
 			, C.ORD_DTL_NO                                          AS OrderDtlNo
 			, C.INVOICE_NO                                          AS InvoiceNo
 			, A.CHGER_RTN_MEMO                                      AS chgerRtnMemo
@@ -1349,11 +1357,11 @@
 		   AND B.DEL_YN         = 'N'
 		   AND E.SELF_GOODS_YN  = 'Y' -- 자사상품
 		   AND E.CHANGEABLE_YN  = 'Y' -- 교환가능여부
-		   AND G.MALL_GB        = 'G011_20' -- 제휴몰 		
+		   AND G.MALL_GB        = 'G011_20' -- 제휴몰
 		   AND a.REG_DT  >= DATE_ADD(STR_TO_DATE(REPLACE( '2021-08-31','-',''), '%Y%m%d%H%i%s'), INTERVAL 0 DAY)
 
 		) A ORDER BY OrderExceptionNo
-	</select>	
+	</select>
 		
 	<!-- 주문변경상세 상태값 변경   -->
 	<update id="updateTbOrderChaneDetailStat" parameterType="Delivery"  >
@@ -1366,8 +1374,7 @@
 		  AND ORD_DTL_NO = #{orderdtlno}
 		  AND CHG_STAT IN ('G685_20','G685_50')
 	</update>			
-		
-  		
+
 	<!-- 주문변경상세  반운송장번호 업데이트   -->
 	<update id="updateTbOrderChaneInvoc" parameterType="Delivery"  >
 		/*TsbDelivery.updateTbOrderChaneInvoc*/
@@ -1869,23 +1876,26 @@
 	
 	<!-- 회수시작 알림문구 조회  -->	
 	<select id="getWithdrawStart" resultType="Delivery">
-		/*TsbDelivery.getWithdrawStart*/
-		SELECT
-			  D.ORD_NO 
-			, D.CUST_NO 
-			, A.CHGER_PHNNO AS ORD_PHNNO
-			, A.CHGER_NM    AS ORD_NM
-			, CONCAT(A.CHGER_BASE_ADDR ,' ',A.CHGER_DTL_ADDR)                  AS CHGER_BASE_ADDR 
-			, (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD= MAX(C.GOODS_CD))  AS GOODS_NM
-			, COUNT(C.GOODS_CD) -1                                             AS GOODS_CNT
-			, A.MALL_GB
+		/* TsbDelivery.getWithdrawStart */
+		SELECT D.ORD_NO 
+		     , D.CUST_NO 
+		     , A.CHGER_PHNNO AS ORD_PHNNO
+		     , A.CHGER_NM    AS ORD_NM
+		     , CONCAT(A.CHGER_BASE_ADDR ,' ',A.CHGER_DTL_ADDR)                  AS CHGER_BASE_ADDR 
+		     , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD= MAX(C.GOODS_CD))  AS GOODS_NM
+		     , COUNT(C.GOODS_CD) -1                                             AS GOODS_CNT
 		  FROM TB_ORDER_CHANGE A
 		  JOIN TB_ORDER_CHANGE_DETAIL B ON A.ORD_CHG_SQ = B.ORD_CHG_SQ 
 		  JOIN TB_ORDER_DETAIL C        ON B.ORD_DTL_NO = C.ORD_DTL_NO 
 		  JOIN TB_ORDER        D        ON C.ORD_NO     = D.ORD_NO 
 		 WHERE A.ORD_CHG_SQ = #{orderexceptionno}
 		   AND B.DEL_YN ='N'
-		 GROUP BY D.ORD_NO, D.CUST_NO, A.CHGER_PHNNO, A.CHGER_NM, A.CHGER_BASE_ADDR, A.CHGER_DTL_ADDR 
+		 GROUP BY D.ORD_NO
+		     , D.CUST_NO
+		     , A.CHGER_PHNNO
+		     , A.CHGER_NM
+		     , A.CHGER_BASE_ADDR
+		     , A.CHGER_DTL_ADDR 
 	</select>	
 		
 	<!-- 주문상세번호 조회 -->	
@@ -1900,4 +1910,4 @@
 
 	</select>
 	
-</mapper>
+</mapper>

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

@@ -530,7 +530,7 @@
 	
 	<!-- 회수요청 D     -->
 	<insert id="insertWmsRecallDeliveryItem" parameterType="Delivery" useGeneratedKeys="true" keyProperty="recallitemno" >
-		/*TsbWmsDelivery."insertWmsRecallDeliveryItem"*/
+		/* TsbWmsDelivery.insertWmsRecallDeliveryItem */
 		INSERT INTO iSTYLE24_WmsIf.dbo.TB_IF_RecallDeliveryItem
 		(
 			  RecallNo			-- 반품 번호
@@ -549,6 +549,11 @@
 			, InvoiceNo			-- 원운송장번호
 			, IfStat			-- I/F상태
 			, IfDate
+			, VENDOR_ID			-- 외부몰 벤더
+			, EXTMALL_ID		-- 외부몰 
+			, AGENT_ORDER_ID	-- 에이젼트주문번호
+			, EXTMALL_ORDER_ID	-- 외부몰주문번호
+			, CHG_REG_DT        -- 클레임접수일
 		)
 		VALUES
 		(
@@ -568,8 +573,12 @@
 			, #{invoiceno}			-- 원운송장번호
 			, #{ifstat}				-- i/f상태
 			, GETDATE()				-- i/f일자
+			, #{vendorId}
+			, #{extmallId}
+			, #{agentOrderId}
+			, #{extmallOrderId}
+			, #{chgRegDt}
 		)
-
 	</insert>
 		
 	<!-- 회수 송장번호 업데이트    -->