Przeglądaj źródła

Merge branch 'card007' into order

card007 5 lat temu
rodzic
commit
a3bf7b91be

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

@@ -496,4 +496,14 @@ public interface TscOrderChangeDao {
 	 * @since 2021. 04. 16
 	 */
 	Order getRefundInfoForAllCancel(Order order);
+
+	/**
+	 * 추가배송비 결제정보 조회
+	 *
+	 * @param Payment
+	 * @return Payment
+	 * @author card007
+	 * @since 2021. 04. 20
+	 */
+	Payment getAddPayCostPaymentInfo(Payment payment);
 }

+ 10 - 2
src/main/java/com/style24/core/biz/dao/TscOrderDao.java

@@ -1,13 +1,11 @@
 package com.style24.core.biz.dao;
 
 import java.util.Collection;
-import java.util.List;
 
 import org.apache.ibatis.session.ResultHandler;
 
 import com.style24.core.support.annotation.ShopDs;
 import com.style24.persistence.domain.Order;
-import com.style24.persistence.domain.OrderChange;
 import com.style24.persistence.domain.Payment;
 
 /**
@@ -733,5 +731,15 @@ public interface TscOrderDao {
 	 * @since 2021. 04. 15
 	 */
 	int updateOrderChangeDetailChgStat(Order order);
+
+	/**
+	 * 추가결제 반품,교환 변경 이력 생성
+	 * 
+	 * @param Order
+	 * @return int
+	 * @author card007
+	 * @since 2021. 04. 20
+	 */
+	int createOrderChangeDetailHstChgStat(Order order);
 	
 }

+ 84 - 36
src/main/java/com/style24/core/biz/service/TscOrderChangeService.java

@@ -4,6 +4,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -35,6 +36,9 @@ public class TscOrderChangeService {
 
 	@Autowired
 	private TscOrderDao orderDao;
+	
+	@Autowired
+	private TscOrderService orderService;
 
 	@Autowired
 	private TscKcpService kcpService;
@@ -263,6 +267,9 @@ public class TscOrderChangeService {
 								}
 
 								point.setOccurGb(TscConstants.PointOccurGb.USE_POINT_CANCEL.value());
+								// TODO
+								// 사용포인트 포인트반영상태 처리
+								// point.setPntUploadStat(TscConstants.PntUploadStat.);
 								point.setOccurDtlDesc("포인트사용취소");
 								point.setRegNo(custNo);
 								point.setUpdNo(custNo);
@@ -279,6 +286,7 @@ public class TscOrderChangeService {
 
 						for (Order point : orderChangeDao.getCustPointHst(vo)) {
 							point.setOccurGb(TscConstants.PointOccurGb.EXPECT_POINT_CANCEL.value());
+							point.setPntUploadStat(TscConstants.PntUploadStat.BEFORE_APPLY_CANCEL.value());
 							point.setOccurDtlDesc("예정포인트적립취소");
 							point.setPntAmt(savePntAmt * -1);
 							point.setRegNo(custNo);
@@ -858,7 +866,6 @@ public class TscOrderChangeService {
 		int ordNo 							= map.getInt("ordNo");											// 주문번호
 		int custNo							= map.getInt("custNo");											// 고객번호
 		String chgReason 					= map.getString("chgReason");									// 변경사유
-		String chgReasonNm 					= "고객변심";														// 변경사유명
 		String chgMemo 						= map.getString("chgMemo");										// 변경메모
 		String chgerNm 						= map.getString("chgerNm");										// 변경자
 		String chgerPhnno 					= map.getString("chgerPhnno");									// 변경핸드폰번호
@@ -872,12 +879,13 @@ public class TscOrderChangeService {
 		String accountNo					= map.getString("accountNo");									// 환불계좌번호
 		String accountNm					= map.getString("accountNm");									// 환불계좌주명
 		String bankCd						= map.getString("bankCd");										// 환불계좌은행코드
-		String chgGb						= TscConstants.OrderChangeGb.RETURN.value(); 					// 취소요청 (공톹코드:G680)
-		String chgStat						= TscConstants.OrderChangeStat.RETURN.value();					// 주문변경상태
+		String chgGb						= TscConstants.OrderChangeGb.RETURN.value(); 					// 반품요청 (공톹코드:G680)
 		String wdGb							= map.getString("wdGb");										// 회수방법
 		String wdInvoiceNo					= map.getString("wdInvoiceNo");									// 회수송장번호
+		String chgStat						= TscConstants.OrderChangeStat.RETURN.value();					// 주문변경상태
+		int ordChgSq						= 0;															// 주문변경일련번호
 
-		// 2. 주문상세단품정보등록, 변경 (단품단위)
+		// 2. 주문상세단위 처리
 		List<Order> cancelOrderDetailList = new ArrayList<>();
 		List<Integer> ordDtlNoList = new ArrayList<>();
 
@@ -895,9 +903,37 @@ public class TscOrderChangeService {
 
 		// 3. 주문변경정보, 주문정보, 환불정보 (배송정책코드 별)
 		for (Order obj : cancelDelvRefundList) {
-			// 취소금액 있을 시 처리
+			// 환불금액 있을 시 처리
 			if (obj.getCnclRtnAmt() > 0) {
-				// 3-1. 주문변경정보 생성
+				// 3-1. 환불정보 설정
+				int spanRealCnclRtnAmt 		= obj.getRealOrdAmt();		// 취소금액합계
+				int sumDeliveryFee 			= obj.getDelvFee();			// 배송비합계
+				int spanTotDeliveryFee 		= obj.getAddDelvFee();		// 추가배송비합계
+				int spanTotRtnDelvFee 		= obj.getRtnDelvFee();		// 반품배송비합계
+				int addDelvFee				= spanTotDeliveryFee + spanTotRtnDelvFee;
+				int spanRefundAmt;
+
+				// 고객사유 : 환불금액계산 = (취소금액 + 배송비) - 추가배송비
+				if ("true".equals(isCustomer)) {
+					int refundAmt = (spanRealCnclRtnAmt + sumDeliveryFee) - addDelvFee;
+					if (refundAmt < 0) {
+						spanRefundAmt = spanRealCnclRtnAmt + sumDeliveryFee;
+					} else {
+						spanRefundAmt = refundAmt;
+						addDelvFee = 0;
+					}
+				}
+				// 회사사유 : 환불금액계산 = (취소금액 + 배송비)
+				else {
+					spanRefundAmt = (spanRealCnclRtnAmt + sumDeliveryFee);
+				}
+
+				// 추가배송비 발생 시 반품대기 상태 처리
+				if (addDelvFee > 0) {
+					chgStat = TscConstants.OrderChangeStat.RETURN_WAIT.value();
+				}
+				
+				// 3-2. 주문변경정보 생성
 				OrderChange orderChange = new OrderChange();
 				orderChange.setOrdNo(ordNo);
 				orderChange.setChgGb(chgGb);
@@ -913,23 +949,24 @@ public class TscOrderChangeService {
 				orderChange.setChgerDtlAddr(chgerDtlAddr);
 				orderChange.setWdGb(wdGb);
 				orderChange.setWdInvoiceNo(wdInvoiceNo);
-				orderChange.setAddPayCost(0);
+				orderChange.setAddPayCost(addDelvFee);
 				orderChange.setAddPayAmt(0);
 				orderChange.setRegNo(custNo);
 				orderChange.setUpdNo(custNo);
 
 				orderChangeDao.createOrderChange(orderChange);
 
-				// 3-2. 주문상세정보 수정
+				// 3-3. 주문상세정보 수정
+				ordChgSq = orderChange.getOrdChgSq();
 				for (Order vo : cancelOrderDetailList) {
 					// 배송정책코드 별 주문상세 처리
 					if (obj.getDelvFeeCd().equals(vo.getDelvFeeCd())) {
 						// 3-2-1. 주문상세정보 이력등록
-						// orderChangeDao.createOrderDetailHstCnclRtn(vo);
+						orderChangeDao.createOrderDetailHstCnclRtn(vo);
 
 						// 3-2-2. 주문변경상세정보 및 이력 등록
 						OrderChange changeDetailPo = new OrderChange();
-						changeDetailPo.setOrdChgSq(orderChange.getOrdChgSq());
+						changeDetailPo.setOrdChgSq(ordChgSq);
 						changeDetailPo.setOrdDtlNo(vo.getOrdDtlNo());
 						changeDetailPo.setChgQty(vo.getOrdCanChgQty());
 						changeDetailPo.setChgStat(chgStat);
@@ -941,31 +978,11 @@ public class TscOrderChangeService {
 					}
 				}
 
-				// 3-3. 상품재고원복
-				orderChange.setSellGb(TscConstants.SellGb.ORDER_CANCEL.value());
-				orderChangeDao.createSellQty(orderChange);
-
-				// 3-4. PG 결제 취소 처리 (상품권으로만 결제 시 PG점프)
-				int spanRealCnclRtnAmt 		= obj.getRealOrdAmt();		// 취소금액합계
-				int sumDeliveryFee 			= obj.getDelvFee();			// 배송비합계
-				int spanTotDeliveryFee 		= obj.getAddDelvFee();		// 추가배송비합계
-				int spanTotRtnDelvFee 		= obj.getRtnDelvFee();		// 반품배송비합계
-				int spanRefundAmt;
-
-				// 고객사유 : 환불금액계산 = (취소금액 + 배송비) - 추가배송비
-				if ("true".equals(isCustomer)) {
-					spanRefundAmt = (spanRealCnclRtnAmt + sumDeliveryFee) - spanTotDeliveryFee - spanTotRtnDelvFee;
-				}
-				// 회사사유 : 환불금액계산 = (취소금액 + 배송비)
-				else {
-					spanRefundAmt = (spanRealCnclRtnAmt + sumDeliveryFee);
-				}
-
-				// 3-5. 환불정보 등록
+				// 3-4. 환불정보 등록
 				Order refundOrder = new Order();
 				refundOrder.setOrdNo(ordNo);
 				refundOrder.setPaySq(0);
-				refundOrder.setOrdChgSq(orderChange.getOrdChgSq());
+				refundOrder.setOrdChgSq(ordChgSq);
 				refundOrder.setRefundAmt(spanRefundAmt);
 				refundOrder.setRfCpn1Amt(obj.getCpn1DcAmt());
 				refundOrder.setRfTmtb1Amt(obj.getTmtb1DcAmt());
@@ -976,8 +993,8 @@ public class TscOrderChangeService {
 				refundOrder.setRfPrePntAmt(obj.getPrePntDcAmt());
 				refundOrder.setRfGfcdUseAmt(obj.getGfcdAmt());
 				refundOrder.setRfCnclAmt(obj.getCnclRtnAmt());
-				refundOrder.setRfDeliveryFee(obj.getAddDelvFee());
-				refundOrder.setRfRealCnclAmt(spanRefundAmt + obj.getAddDelvFee());
+				refundOrder.setRfDeliveryFee(addDelvFee);
+				refundOrder.setRfRealCnclAmt(spanRefundAmt + addDelvFee);
 				refundOrder.setRaNo(accountNo);
 				refundOrder.setRaNm(accountNm);
 				refundOrder.setRaBank(bankCd);
@@ -987,6 +1004,9 @@ public class TscOrderChangeService {
 			}
 		}
 
+		// 주문변경일련번호 설정
+		map.setInt("ordChgSq", ordChgSq);
+
 		return map;
 	}
 
@@ -1172,10 +1192,11 @@ public class TscOrderChangeService {
 	 */
 	@Transactional("shopTxnManager")
 	public GagaMap rtnReqCancel(GagaMap mav, int userNo) {
+		int ordChgSq = mav.getInt("ordChgSq");
 
 		Order order = new Order();
 		order.setOrdNo(mav.getInt("ordNo"));
-		order.setOrdChgSq(mav.getInt("ordChgSq"));
+		order.setOrdChgSq(ordChgSq);
 		order.setChgStat(TscConstants.OrderChangeStat.RETURN_CANCEL.value());
 		order.setRegNo(userNo);
 		order.setUpdNo(userNo);
@@ -1187,8 +1208,31 @@ public class TscOrderChangeService {
 		// 2. 주문정보 이력 등록 (TB_ORDER_DETAIL_HST(등록))
 		orderChangeDao.createOrderDtlHstCancel(order);
 
-		// TODO
 		// 3. PG 실행 (취소시 추가결제금액 취소처리)
+		OrderChange orderChange = new OrderChange();
+		orderChange.setOrdChgSq(ordChgSq);
+		Order payment = orderChangeDao.getAddDeliveryFeePayment(orderChange);
+		
+		// 추가배송비 존재 시
+		if (payment != null && payment.getPayAmt() > 0) {
+			// 추가배송비 결제정보 조회
+			Payment pg = new Payment();
+			pg.setOrdChgSq(ordChgSq);
+			pg = orderChangeDao.getAddPayCostPaymentInfo(pg);
+
+			// 추가배송비 취소 정보 설정
+			if (StringUtils.isNotBlank(pg.getPgTid())) {
+				pg.setPayStat(TscConstants.PaymentStat.PAYMENT_CANCEL.value());
+				pg.setPayGb("D");
+				pg.setModType("STSC");
+				pg.setModDesc("가맹점 취소 - 전체 취소");
+				pg.setIpAddress(mav.getString("ipAddress"));
+				pg.setRegNo(userNo);
+				pg.setUpdNo(userNo);
+			}
+
+			kcpService.kcpCancel(pg);
+		}
 
 		return mav;
 	}
@@ -1866,6 +1910,9 @@ public class TscOrderChangeService {
 
 		for (Order point : orderChangeDao.getCustPointHst(vo)) {
 			point.setOccurGb(TscConstants.PointOccurGb.USE_POINT_CANCEL.value());
+			// TODO
+			// 사용포인트 포인트반영상태 처리
+			// point.setPntUploadStat(TscConstants.PntUploadStat.);
 			point.setOccurDtlDesc("포인트사용취소");
 			point.setPayAmt(point.getPayAmt() * -1);
 			point.setRegNo(regNo);
@@ -1881,6 +1928,7 @@ public class TscOrderChangeService {
 
 		for (Order point : orderChangeDao.getCustPointHst(vo)) {
 			point.setOccurGb(TscConstants.PointOccurGb.EXPECT_POINT_CANCEL.value());
+			point.setPntUploadStat(TscConstants.PntUploadStat.BEFORE_APPLY_CANCEL.value());
 			point.setOccurDtlDesc("예정포인트적립취소");
 			point.setPayAmt(point.getPayAmt() * -1);
 			point.setRegNo(regNo);

+ 10 - 2
src/main/java/com/style24/core/biz/service/TscOrderService.java

@@ -16,6 +16,7 @@ import com.gagaframework.excel.env.GagaExcelConstants;
 import com.gagaframework.excel.xssf.GagaExcelResultHandler;
 import com.gagaframework.web.parameter.GagaMap;
 import com.gagaframework.web.rest.server.GagaResponseStatus;
+import com.style24.core.biz.dao.TscOrderChangeDao;
 import com.style24.core.biz.dao.TscOrderDao;
 import com.style24.core.biz.dao.TscScmDao;
 import com.style24.core.support.env.TscConstants;
@@ -47,6 +48,9 @@ public class TscOrderService {
 	@Autowired
 	private TscScmDao scmDao;
 	
+	@Autowired
+	private TscOrderChangeDao orderChangeDao;
+	
 	@Autowired
 	private TscPointService pointService;
 
@@ -2010,6 +2014,7 @@ public class TscOrderService {
 		
 		Collection<Order> orderAddPayGoodsList = orderDao.getAddPayGoodsList(order);
 		
+		int ordNo			= 0;
 		int refundAmt 		= 0;
 		int addPayCost 		= 0;
 		int ordChgSq		= 0;
@@ -2022,6 +2027,7 @@ public class TscOrderService {
 		int index = 0;
 		for (Order orderInfo : orderAddPayGoodsList) {
 			if (index == 0) {
+				ordNo		= orderInfo.getOrdNo();
 				refundAmt 	= orderInfo.getRefundAmt();
 				addPayCost 	= orderInfo.getAddPayCost();
 				ordChgSq	= orderInfo.getOrdChgSq();
@@ -2035,6 +2041,7 @@ public class TscOrderService {
 		}
 		
 		resultMap.set("orderAddPayGoodsList"	, orderAddPayGoodsList);	// 주문목록정보
+		resultMap.set("ordNo"					, ordNo);					// 주문번호
 		resultMap.set("refundAmt"				, refundAmt);				// 상품환불금액
 		resultMap.set("addPayCost"				, addPayCost);				// 추가결제금액
 		resultMap.set("ordChgSq"				, ordChgSq);				// 주문취소신청번호
@@ -2059,8 +2066,9 @@ public class TscOrderService {
 		
 		// 1. 추가결제 반품,교환 상태값 업데이트
 		orderDao.updateOrderChangeDetailChgStat(order);
-		
-		// 2 주문상세이력정보 전체 등록
+		// 2. 추가결제 반품,교환 변경 이력 생성
+		orderDao.createOrderChangeDetailHstChgStat(order);
+		// 3 주문상세이력정보 전체 등록
 		orderDao.createOrderDetailAllHst(order);
 		
 	}

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

@@ -327,6 +327,7 @@ public class Order extends TscBaseDomain {
 	private String occurGb;
 	private String occurGbNm;
 	private String occurDtlDesc;
+	private String pntUploadStat;
 	
 	// 주문상품권
 	private Integer gfcdHstSq;

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

@@ -50,6 +50,7 @@ public class Payment extends TscBaseDomain {
 	private String accountNo;				// 환불계좌번호
 	private String accountNm;				// 환불계좌주명
 	private String bankCd;					// 환불계좌은행코드
+	private int orgOrdNo;					// 기존주문번호
 
 	// KCP
 	private int ordrIdxx;					// 가맹점 주문번호

+ 47 - 3
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -2022,7 +2022,14 @@
 			 , PAY_AMT
 		FROM   TB_PAYMENT PAY
 		WHERE  PG_TID = #{pgTid}
+		<choose>
+			<when test="payGb != null and payGb != ''">
+		AND    PAY_GB = #{payGb}
+			</when>
+			<otherwise>
 		AND    PAY_GB = 'O'
+			</otherwise>
+		</choose>
 		AND    PAY_STAT IN ('G016_30', 'G016_00')
 	</select>
 
@@ -2124,6 +2131,7 @@
 			, TELECOM
 			, CASH_AUTH_NO
 			, CASH_TRADE_NO
+			, ORD_CHG_SQ
 			, REG_NO
 			, REG_DT
 			, UPD_NO
@@ -2157,6 +2165,7 @@
 			, #{telecom}
 			, #{cashAuthNo}
 			, #{cashTradeNo}
+			, #{ordChgSq}
 			, #{regNo}
 			, NOW()
 			, #{updNo}
@@ -3434,7 +3443,8 @@
 	<!-- 추가결제 취소,반품,교환 대상 상품목록 조회 -->
 	<select id="getAddPayGoodsList" parameterType="Order" resultType="Order">
 		/* TscOrder.getAddPayGoodsList */
-		SELECT Z.ORD_DTL_NO
+		SELECT Z.ORD_NO
+		     , Z.ORD_DTL_NO
 		     , Z.ORD_CHG_SQ
 		     , Z.CHG_STAT
 		     , Z.CHG_GB
@@ -3457,7 +3467,8 @@
 		     , GROUP_CONCAT(Z.ITEM_QTY   ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS ITEM_QTYR
 		     , GROUP_CONCAT(Z.COLOR_NM   ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS COLOR_NM
 		FROM (
-		    SELECT OCD.ORD_DTL_NO
+		    SELECT OD.ORD_NO
+		         , OCD.ORD_DTL_NO
 		         , OC.ORD_CHG_SQ
 		         , OCD.CHG_STAT
 		         , BR.BRAND_ENM
@@ -3499,7 +3510,8 @@
 		    AND    OCD.CHG_STAT IN ('G685_11', 'G685_21', 'G685_32', 'G685_51')
 		    AND    OCD.DEL_YN = 'N'
 		) Z
-		GROUP  BY Z.ORD_DTL_NO
+		GROUP  BY Z.ORD_NO
+		     , Z.ORD_DTL_NO
 		     , Z.ORD_CHG_SQ
 		     , Z.CHG_STAT
 		     , Z.CHG_GB
@@ -3530,6 +3542,38 @@
 		AND    ORD_CHG_SQ = #{ordChgSq}
 	</update>
 	
+	<!-- 추가결제 반품,교환 이력 생성 -->
+	<insert id="createOrderChangeDetailHstChgStat" parameterType="Order">
+		/* TscOrder.createOrderChangeDetailHstChgStat */
+		INSERT INTO TB_ORDER_CHANGE_DETAIL_HST (
+		       ORD_CHG_SQ
+		     , ORD_DTL_NO
+		     , CHG_QTY
+		     , CHG_STAT
+		     , CHG_ORD_DTL_NO
+		     , WH_MEMO
+		     , COMPLETE_DT
+		     , DEL_YN
+		     , REG_NO
+		     , REG_DT
+		     , UPD_NO
+		     , UPD_DT
+		)
+		SELECT ORD_CHG_SQ
+		     , ORD_DTL_NO
+		     , CHG_QTY
+		     , CHG_STAT
+		     , CHG_ORD_DTL_NO
+		     , WH_MEMO
+		     , COMPLETE_DT
+		     , DEL_YN
+		     , #{custNo}
+		     , NOW()
+		     , #{custNo}
+		     , NOW()
+		  FROM TB_ORDER_CHANGE_DETAIL
+		 WHERE ORD_CHG_SQ = #{ordChgSq}
+	</insert>
 </mapper>
 
 

+ 46 - 5
src/main/java/com/style24/persistence/mybatis/shop/TscOrderChange.xml

@@ -80,7 +80,7 @@
 				   WHERE 1 = 1
 					 AND OD.ORD_NO = #{ordNo}
 					 AND OCD.DEL_YN = 'N'
-					 AND OCD.CHG_STAT IN ('G685_20', 'G685_30', 'G685_33', 'G685_40')
+					 AND OCD.CHG_STAT IN ('G685_20', 'G685_21','G685_30', 'G685_31', 'G685_32', 'G685_33', 'G685_34', 'G685_50', 'G685_51')
 				   GROUP BY OCD.ORD_DTL_NO
 			  ) OCD
 				ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
@@ -1671,11 +1671,10 @@
 		SELECT OC.ORD_CHG_SQ
 			 , P.PAY_AMT
 		  FROM TB_ORDER_CHANGE OC
-		 INNER JOIN TB_DELIVERY_FEE DF
-		    ON DF.ORD_CHG_SQ = OC.ORD_CHG_SQ
-		   AND DF.PAY_SQ <![CDATA[<>]]> 0
 		 INNER JOIN TB_PAYMENT P
 		    ON P.ORD_CHG_SQ = OC.ORD_CHG_SQ
+		   AND P.PAY_STAT = 'G016_30'
+		   AND P.PAY_GB = 'D'
 		 WHERE OC.ORD_CHG_SQ = #{ordChgSq}
 		   AND OC.ADD_PAY_COST > 0
 	</select>
@@ -2172,7 +2171,7 @@
 		     , ORD_DTL_NO
 		     , REVIEW_SQ
 		     , SWITCH_DUE_DT
-		     , PNT_UPLOAD_STAT
+		     , #{pntUploadStat}
 		     , PNT_UPLOAD_DT
 		     , #{regNo}
 		     , NOW()
@@ -2437,6 +2436,48 @@
 		 WHERE OD.ORD_NO = #{ordNo}
 		 GROUP BY OD.ORD_NO
 	</select>
+
+	<!-- 추가배송비 결제정보 조회 -->
+	<select id="getAddPayCostPaymentInfo" parameterType="Payment" resultType="Payment">
+		/* TscOrder.getAddPayCostPaymentInfo */
+		SELECT PAY_SQ
+			 , ORD_NO
+			 , PAY_DT
+			 , PAY_MEANS
+			 , PAY_AMT
+			 , PG_CPN_AMT
+			 , NPAY_PNT_AMT
+			 , PAY_GB
+			 , PAY_STAT
+			 , PG_GB
+			 , PG_TID
+			 , PG_TRADE_NO
+			 , PG_SHOP_ID
+			 , CARD_TYPE
+			 , CARD_KIND
+			 , CARD_BANK
+			 , CARD_CD
+			 , CARD_NM
+			 , CARD_MIPS
+			 , CARD_PCABLE_YN
+			 , VA_NO
+			 , VA_NM
+			 , VA_BANK
+			 , VA_DEADLINE
+			 , TELECOM
+			 , ESCROW_YN
+			 , CASH_AUTH_NO
+			 , CASH_TRADE_NO
+			 , ORD_CHG_SQ
+			 , REG_NO
+			 , REG_DT
+			 , UPD_NO
+			 , UPD_DT
+		  FROM TB_PAYMENT
+		 WHERE ORD_CHG_SQ = #{ordChgSq}
+		   AND PAY_GB = 'D'
+		   AND PAY_STAT = 'G016_30'
+	</select>
 </mapper>