tsit05 преди 5 години
родител
ревизия
367ae66859

+ 21 - 0
src/main/java/com/style24/core/biz/dao/TscOrderChangeDao.java

@@ -702,6 +702,16 @@ public interface TscOrderChangeDao {
 	 */
 	int insertTbDeliveryFeeMinus(OrderChange orderChange);
 	
+	/**
+	 * 착불비 반품배송비로 처리 
+	 *
+	 * @param OrderChange
+	 * @return int
+	 * @author moon
+	 * @since 2021. 06. 02
+	 */
+	int insertTbDeliveryFeeCodFee(OrderChange orderChange);	
+	
 	/**
 	 * 환불금액 배송비 포함 변경
 	 *
@@ -712,5 +722,16 @@ public interface TscOrderChangeDao {
 	 */
 	int updateRefundChange(OrderChange orderChange);	
 	
+	/**
+	 * 동봉비, 착불비 업데이트 
+	 *
+	 * @param OrderChange
+	 * @return int
+	 * @author moon
+	 * @since 2021. 06. 03
+	 */
+	int updateWithdrawFee(OrderChange orderChange);		
+	
+	
 	
 }

+ 126 - 13
src/main/java/com/style24/core/biz/service/TscOrderChangeService.java

@@ -3129,6 +3129,7 @@ public class TscOrderChangeService {
 		return result;
 	}
 	
+
 	/**
 	 * 마이페이지 부분취소 처리
 	 *
@@ -3167,8 +3168,12 @@ public class TscOrderChangeService {
 		String delvExpnYn					= map.getString("delvExpnYn");									// 출고예외여부 
 		String mallGb						= map.getString("mallGb");										// 몰구분
 		String pgStat						= map.getString("pgStat");										// PG 점프 
+		int codFee							= map.getInt("codFee");											// 착불비 
+		String codFeeYn						= map.getString("codFeeYn");									// 착불비여부
+		String enCloseFeeYn 				= map.getString("enCloseFeeYn");								// 동봉비여부
+		int enCloseFee 						= map.getInt("enCloseFee");										// 동봉비
+		String wdInvoiceNo					= map.getString("codFeeYn");									// 회수송장번호 
 		
-
 		// 무통장입금 결제 주문 전체취소 상태값 처리
 		if (TscConstants.PgGb.KCP.value().equals(pgGb)) {
 			if (TscConstants.PayMeans.BANK_DEPOSIT.value().equals(payMeans)) {
@@ -3199,6 +3204,12 @@ public class TscOrderChangeService {
 				orderChange.setRegNo(userNo);
 				orderChange.setUpdNo(userNo);
 				orderChange.setOrdChgSq(ordChgSq);
+
+				/*
+				 * // 1. 주문변경상세 수정 orderChange.setChgStat(chgStat);
+				 * orderChangeDao.updateOrderChangeDtl(orderChange);
+				 * orderChangeDao.createOrderChangeDetailHstForAllCancel(orderChange);
+				 */
 				// 신청구분 처리
 				// 삭제 ?????? 
 				/*
@@ -3416,14 +3427,12 @@ public class TscOrderChangeService {
 						// 신청구분 처리
 				
 						// 취소접수승인 시 주문변경상세 정보 수정
-						Order order = new Order();
-						order.setOrdNo(ordNo);
-						order.setOrdChgSq(ordChgSq);
-						order.setChgStat(chgStat);
-						order.setUpdNo(userNo);
-						order.setDelYn("N");
-
-						orderChangeDao.updateOrderChangeDtlCancel(order);
+						OrderChange orChange = new OrderChange();
+						orChange.setOrdNo(ordNo);
+						orChange.setOrdChgSq(ordChgSq);
+						orChange.setChgStat(chgStat);
+						orChange.setUpdNo(userNo);
+						orderChangeDao.updateOrderChangeDtl(orChange);
 				
 						orderChangeDao.createOrderChangeDetailHst(changeDetailPo);
 					}
@@ -3541,6 +3550,56 @@ public class TscOrderChangeService {
 
 					orderChangeDao.createDeliveryFee(delvFeeOrder);
 				}
+				
+			
+				// 착불비 처리 
+				if("Y".equals(codFeeYn)) {
+					// 10. 배송비  
+					OrderChange ordDelvFee = new OrderChange();
+					ordDelvFee.setOrdNo(ordNo);
+					ordDelvFee.setRegNo(userNo);
+					ordDelvFee.setCodFee(codFee);
+					ordDelvFee.setOrdChgSq(ordChgSq);
+					orderChangeDao.insertTbDeliveryFeeCodFee(ordDelvFee);
+					
+					// 10-1. 환불   
+					OrderChange chgRefund = new OrderChange();
+					chgRefund.setRefundAmt(spanRefundAmt);
+					chgRefund.setRfDeliveryFee(codFee*-1);
+					chgRefund.setOrdNo(ordNo);
+					chgRefund.setOrdChgSq(ordChgSq);
+					orderChangeDao.updateRefundChange(chgRefund);
+				}
+				
+				// 동봉비 처리 
+				if("Y".equals(enCloseFeeYn)) {
+					// 배송비  
+					OrderChange ordDelvFee = new OrderChange();
+					ordDelvFee.setOrdNo(ordNo);
+					ordDelvFee.setRegNo(userNo);
+					ordDelvFee.setCodFee(enCloseFee*-1);
+					ordDelvFee.setOrdChgSq(ordChgSq);
+					orderChangeDao.insertTbDeliveryFeeCodFee(ordDelvFee);
+					
+					// 환불   
+					OrderChange chgRefund = new OrderChange();
+					chgRefund.setRefundAmt(spanRefundAmt);
+					chgRefund.setRfDeliveryFee(enCloseFee);
+					chgRefund.setEnCloseFeeYn(enCloseFeeYn);
+					chgRefund.setOrdNo(ordNo);
+					chgRefund.setOrdChgSq(ordChgSq);
+					orderChangeDao.updateRefundChange(chgRefund);
+				}
+				
+				// tb_withdraw  업데이트 (동봉비 착불비)
+				OrderChange chgFee = new OrderChange();
+				chgFee.setWdInvoiceNo(wdInvoiceNo);
+				chgFee.setOrdChgSq(ordChgSq);
+				chgFee.setCodFee(codFee);
+				chgFee.setEncloseFee(enCloseFee);
+				chgFee.setUpdNo(userNo);
+				orderChangeDao.updateWithdrawFee(chgFee);				
+				
 			}
 		}
 
@@ -3561,6 +3620,7 @@ public class TscOrderChangeService {
 			 * orderChangeDao.updateOrdFreegiftDel(freegiftOrder);
 			 */
 		}
+				
 		
 		if("G011_10".equals(mallGb)) {
 			if("N".equals(pgStat)) {
@@ -3628,6 +3688,11 @@ public class TscOrderChangeService {
 		int spanRefundAmt = orderChange.getSpanRefundAmt();
 		String mallGb = orderChange.getMallGb();										// 몰구분 
 		String pgStat = orderChange.getPgStat();										// PG 점프 
+		String codFeeYn = orderChange.getCodFeeYn();									// 착불비여부
+		int codFee = orderChange.getCodFee();											// 착불비
+		String enCloseFeeYn = orderChange.getEnCloseFeeYn();							// 동봉비여부
+		int enCloseFee = orderChange.getEncloseFee();									// 동봉비
+		String wdInvoiceNo = orderChange.getWdInvoiceNo();								// 회수송장번호
 		
 		// 상태값 설정
 		String ordDtlStat = TscConstants.OrderDetailStat.PAYMENT_AFTER_CANCEL.value();
@@ -3744,14 +3809,15 @@ public class TscOrderChangeService {
 		orderChangeDao.updateOrderDetailItemForAllCancel(orderDetail);
 		orderChangeDao.createOrderDetailItemHstForAllCancel(orderDetail);
 		
+		// 10. 배송비 환불
 		if("Y".equals(addDeliveryFeeYn)) {
-			// 10. 배송비  
+			// 배송비  
 			OrderChange ordDelvFee = new OrderChange();
 			ordDelvFee.setOrdNo(ordNo);
 			ordDelvFee.setRegNo(regNo);
 			orderChangeDao.insertTbDeliveryFeeMinus(ordDelvFee);
 			
-			// 10-1. 환불   
+			// 환불   
 			OrderChange chgRefund = new OrderChange();
 			chgRefund.setRefundAmt(refundAmt);
 			chgRefund.setRfDeliveryFee(addDeliveryFee);
@@ -3759,8 +3825,56 @@ public class TscOrderChangeService {
 			chgRefund.setOrdChgSq(ordChgSq);
 			orderChangeDao.updateRefundChange(chgRefund);
 			
-			//refundAmt = refundAmt+addDeliveryFee;
 		}
+		
+		// 10-1. 착불비 처리 
+		if("Y".equals(codFeeYn)) {
+			// 배송비  
+			OrderChange ordDelvFee = new OrderChange();
+			ordDelvFee.setOrdNo(ordNo);
+			ordDelvFee.setRegNo(regNo);
+			ordDelvFee.setCodFee(codFee);
+			ordDelvFee.setOrdChgSq(ordChgSq);
+			orderChangeDao.insertTbDeliveryFeeCodFee(ordDelvFee);
+			
+			// 환불   
+			OrderChange chgRefund = new OrderChange();
+			chgRefund.setRefundAmt(refundAmt);
+			chgRefund.setRfDeliveryFee(codFee*-1);
+			chgRefund.setOrdNo(ordNo);
+			chgRefund.setOrdChgSq(ordChgSq);
+			orderChangeDao.updateRefundChange(chgRefund);
+		}
+		
+		// 10-2. 동봉비 처리 
+		if("Y".equals(enCloseFeeYn)) {
+			// 배송비  
+			OrderChange ordDelvFee = new OrderChange();
+			ordDelvFee.setOrdNo(ordNo);
+			ordDelvFee.setRegNo(regNo);
+			ordDelvFee.setCodFee(enCloseFee*-1);
+			ordDelvFee.setOrdChgSq(ordChgSq);
+			orderChangeDao.insertTbDeliveryFeeCodFee(ordDelvFee);
+			
+			// 환불   
+			OrderChange chgRefund = new OrderChange();
+			chgRefund.setRefundAmt(refundAmt);
+			chgRefund.setRfDeliveryFee(enCloseFee);
+			chgRefund.setEnCloseFeeYn(enCloseFeeYn);
+			chgRefund.setOrdNo(ordNo);
+			chgRefund.setOrdChgSq(ordChgSq);
+			orderChangeDao.updateRefundChange(chgRefund);
+		}
+		
+		// 10-3. tb_withdraw  업데이트 (동봉비 착불비)
+		OrderChange chgFee = new OrderChange();
+		chgFee.setWdInvoiceNo(wdInvoiceNo);
+		chgFee.setOrdChgSq(ordChgSq);
+		chgFee.setCodFee(codFee);
+		chgFee.setEncloseFee(enCloseFee);
+		chgFee.setUpdNo(regNo);
+		orderChangeDao.updateWithdrawFee(chgFee);
+		
 		// 11. PG 연동
 		Payment pg = new Payment();
 		pg.setOrdNo(ordNo);
@@ -3820,5 +3934,4 @@ public class TscOrderChangeService {
 		}
 
 	}
-	
 }

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

@@ -201,8 +201,11 @@ public class OrderChange extends TscBaseDomain {
 	private String addDeliveryFeeYn;
 	private String mallGb;
 	private String pgStat;
+	private String codFeeYn;
+	private String enCloseFeeYn;
 	private int addDeliveryFee;	
 	private int spanRefundAmt;
-	
+	private int codFee;
+	private int encloseFee;	
 	
 }

+ 70 - 26
src/main/java/com/style24/persistence/mybatis/shop/TscOrderChange.xml

@@ -3376,7 +3376,7 @@
 	
 	<!-- 입점업체 주문변경상태 변경 -->
 	<update id="updateOrderChangeDtlForSeller" parameterType="Order">
-		/* OrderChange.updateOrderChangeDtlForSeller */
+		/* TscOrderChange.updateOrderChangeDtlForSeller */
 		UPDATE TB_ORDER_CHANGE_DETAIL
 		   SET CHG_STAT = #{chgStat}
 		     , WH_MEMO  = #{whMemo}
@@ -3390,7 +3390,7 @@
 	
 	<!-- 입점업체 주문변경신청정보변경 -->
 	<update id="updateOrderChangeForSeller" parameterType="Order">
-		/* OrderChange.updateOrderChangeForSeller */
+		/* TscOrderChange.updateOrderChangeForSeller */
 		UPDATE TB_ORDER_CHANGE
 		   SET ADD_PAY_COST   = #{addPayCost}
 		     , CHG_REASON     = #{chgReason}
@@ -3403,7 +3403,7 @@
 	
 	<!-- 입점업체 주문변경신청정보변경 -->
 	<select id="getWithdrawInfoForSeller" parameterType="Order" resultType="Order">
-		/* OrderChange.getWithdrawInfoForSeller */
+		/* TscOrderChange.getWithdrawInfoForSeller */
 		SELECT OC.ORD_CHG_SQ 
 		     , OD.ORD_NO
 		     , OCD.ORD_DTL_NO 
@@ -3428,7 +3428,7 @@
 
 	<!-- 회수결과 등록  -->
 	<insert id="insertTbWithdraw" parameterType="Order" >
-		/* TscDelivery.insertTbWithdraw */
+		/* TscOrderChange.insertTbWithdraw */
 		INSERT INTO  TB_WITHDRAW 
 		(
 		    WD_INVOICE_NO
@@ -3485,7 +3485,7 @@
 	
 	<!-- 회수상세결과 등록   -->
 	<update id="insertTbWithdrawDetail" parameterType="Order">
-		/* TsbDelivery.insertTbWithdrawDetail */
+		/* TscOrderChange.insertTbWithdrawDetail */
 		INSERT INTO TB_WITHDRAW_DETAIL 
 		(
 		    WD_INVOICE_NO	
@@ -3536,7 +3536,7 @@
 	
 	<!-- 주문변경 요청메모 수정 -->
 	<update id="updateOrderChangeMemo" parameterType="Order">
-		/* OrderChange.updateOrderChangeMemo */
+		/* TscOrderChange.updateOrderChangeMemo */
 		UPDATE TB_ORDER_CHANGE
 		   SET CHG_MEMO = #{chgMemo}
 		     , UPD_NO   = #{updNo}
@@ -3547,7 +3547,7 @@
 
 	<!-- 주문상세단품정보 조회 -->
 	<select id="getOrderDetailItem" parameterType="Order" resultType="Order">
-		/* TscOrder.getOrderDetailItem */
+		/* TscOrderChange.getOrderDetailItem */
 		SELECT OD.ORD_NO
 		     , OD.ORD_DTL_NO
 		     , ODI.ORD_DTL_ITEM_SQ
@@ -3577,7 +3577,7 @@
 	
 	<!-- 주문변경정보 조회 -->
 	<select id="getOrderChangeDetailInfo" parameterType="OrderChange" resultType="OrderChange">
-		/* TscOrder.getOrderChangeDetailInfo */
+		/* TscOrderChange.getOrderChangeDetailInfo */
 		SELECT OC.ORD_CHG_SQ
 		     , OD.ORD_NO
 		     , OCD.ORD_DTL_NO
@@ -3609,7 +3609,7 @@
 	
 	<!-- 환불컨펌 주문변경 수정 -->
 	<update id="updateOrderChangeDtl" parameterType="OrderChange">
-		/* OrderChange.updateOrderChangeDtl */
+		/* TscOrderChange.updateOrderChangeDtl */
 		UPDATE TB_ORDER_CHANGE_DETAIL
 		   SET CHG_STAT     = #{chgStat}
 		     , COMPLETE_DT  = NOW()
@@ -3648,8 +3648,8 @@
 	</select>
 	
 	<!-- 반품 배송비 마이너스처리  -->
-	<insert id="insertTbDeliveryFeeMinus" parameterType="Order" >
-		/* TscDelivery.insertTbDeliveryFeeMinus */
+	<insert id="insertTbDeliveryFeeMinus" parameterType="OrderChange" >
+		/* TscOrderChange.insertTbDeliveryFeeMinus */
 		INSERT INTO TB_DELIVERY_FEE
 		(
 			  PAY_SQ
@@ -3693,26 +3693,70 @@
 	
 	<!-- 환불금액 배송비 포함 변경  -->
 	<update id="updateRefundChange" parameterType="OrderChange">
-		/* OrderChange.updateRefundChange */
+		/* TscOrderChange.updateRefundChange */
 		UPDATE TB_REFUND SET
 		  REFUND_AMT       = #{refundAmt}
-		, RF_DELIVERY_FEE  = #{rfDeliveryFee}
+		, RF_DELIVERY_FEE  = CASE WHEN #{enCloseFeeYn} = 'Y' THEN RF_DELIVERY_FEE + IFNULL(#{rfDeliveryFee},0) ELSE #{rfDeliveryFee} END 
 		WHERE ORD_NO     = #{ordNo}
 		  AND ORD_CHG_SQ = #{ordChgSq}
 	</update>	
+	
+	<!-- 착불비 반품배송비로 처리  -->
+	<insert id="insertTbDeliveryFeeCodFee" parameterType="OrderChange" >
+		/* TscOrderChange.insertTbDeliveryFeeCodFee */
+		INSERT INTO TB_DELIVERY_FEE
+		(
+			  PAY_SQ
+			, ORD_NO
+			, DELV_FEE_GB
+			, DELV_FEE_CD
+			, DELV_FEE
+			, DELV_CPN_SQ
+			, DELV_CPN_DC_AMT
+			, REAL_DELV_AMT
+			, ORD_CHG_SQ
+			, SUPPLY_COMP_CD
+			, DELV_USAC_YN
+			, DELV_USAC_DT
+			, REG_NO
+			, REG_DT
+			, UPD_NO
+			, UPD_DT	
+		)
+		SELECT 
+			  PAY_SQ
+			, ORD_NO
+			, 'G018_40'
+			, DELV_FEE_CD
+			, #{codFee}
+			, DELV_CPN_SQ
+			, DELV_CPN_DC_AMT
+			, #{codFee}
+			, #{ordChgSq}
+			, SUPPLY_COMP_CD
+			, DELV_USAC_YN
+			, DELV_USAC_DT
+			 , #{regNo}
+			, NOW()
+			, #{regNo}
+			, NOW()	
+		  FROM TB_DELIVERY_FEE 
+		 WHERE ORD_NO      = #{ordNo}
+		   AND DELV_FEE_GB = 'G018_10'
+	</insert>	
+	
+	<!-- 반품 배송비 마이너스처리  -->
+	<update id="updateWithdrawFee" parameterType="OrderChange" >
+		/* TscOrderChange.updateWithdrawFee */
+UPDATE TB_WITHDRAW SET
+   COD_FEE     = #{codFee}
+ , ENCLOSE_FEE = #{encloseFee}
+ , UPD_NO      = #{updNo}
+ , UPD_DT      = NOW()
+WHERE WD_INVOICE_NO  = #{wdInvoiceNo}
+  AND ORD_CHG_SQ     = #{ordChgSq}
+	</update>
+		
 </mapper>
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-