فهرست منبع

Merge remote-tracking branch 'origin/jsh77b' into order

card007 5 سال پیش
والد
کامیت
441b62fb8e

+ 19 - 5
src/main/java/com/style24/core/biz/service/TscFreegiftService.java

@@ -79,11 +79,14 @@ public class TscFreegiftService {
 						int freegiftSectionSq 	= freegiftGoodsApplySection.getFreegiftSectionSq();
 						int sectionVal 			= freegiftGoodsApplySection.getSectionVal();
 						
-						if (freegiftAmt > sectionVal) {
-							tempFreegiftSectionSq = freegiftSectionSq;
-						} else {
-							freegiftSectionSqArr[k] = tempFreegiftSectionSq;
-							k++;
+						// 같은 사은품 프로모션끼리 등록
+						if (fregiftGoodsApplyAmt.getFreegiftSq() == freegiftGoodsApplySection.getFreegiftSq()) {
+							if (freegiftAmt > sectionVal) {
+								tempFreegiftSectionSq = freegiftSectionSq;
+							} else {
+								freegiftSectionSqArr[k] = tempFreegiftSectionSq;
+								k++;
+							}
 						}
 					}
 				}
@@ -97,5 +100,16 @@ public class TscFreegiftService {
 		return freegiftGoodsApplyValList;
 	}
 	
+	/**
+	 * 사은품정보 프로모션별 상품목록 분리 작업
+	 * @param Order
+	 * @return Order
+	 * @author jsh77b
+	 * @since 2020. 12. 16
+	 */
+	public Collection<Order> getOrderFreegift(Order order) {
+		
+	}
+	
 
 }

+ 210 - 209
src/main/java/com/style24/persistence/domain/Order.java

@@ -18,236 +18,237 @@ import lombok.Data;
 @SuppressWarnings("serial")
 @Data
 public class Order extends TscBaseDomain {
+	
 	// 주문마스터
-	private int ordNo;
-	private String mallGb;
-	private String mallGbNm;
-	private String ordDt;
-	private String payDt;
-	private int custNo;
-	private String ordNm;
-	private String ordTelno;
-	private String siteCd;
-	private String siteCdNm;
-	private int npayOrdNo;
-	private String frontGb;
-	private String frontGbNm;
-	private String extmallNm;
-	private String custNm;
-	private String cellPhnno;
-	private String email;
-	private String delvAddrNm;
+	private int ordNo;								// 주문번호
+	private String mallGb;							// 몰구분
+	private String mallGbNm;						// 몰구분명
+	private String ordDt;							// 주문일자
+	private String payDt;							// 결제일자
+	private int custNo;								// 고객번호
+	private String ordNm;							// 주문자명
+	private String ordTelno;						// 주문자핸드폰번호
+	private String siteCd;							// 사이트코드
+	private String siteCdNm;						// 사이트코드명
+	private int npayOrdNo;							// 네이버페이주문번호
+	private String frontGb;							// 프론트구분 (P, M, A)
+	private String frontGbNm;						// 프론트구분명 (PC, MOBILE, APP)
+	private String extmallNm;						// 외부몰명
+	private String custNm;							// 회원명
+	private String cellPhnno;						// 회원핸드폰
+	private String email;							// 이메일
+	private String delvAddrNm;						// 배송지명
 
 	// 주문상세
-	private int ordDtlNo;
-	private String ordExchGb;
-	private String ordDtlStat;
-	private int orgOrdDtlNo;
-	private String supplyCompCd;
-	private String goodsCd;
-	private String formalGb;
-	private String formalGbNm;
-	private String goodsType;
-	private int listPrice;
-	private int currPrice;
-	private double dcRate;
-	private int optAddPrice;
-	private int ordQty;
-	private int ordAmt;
-	private int cnclRtnQty;
-	private int cnclRtnAmt;
-	private int cpn1CpnSq;
-	private int cpn1DcAmt;
-	private int tmtb1Sq;
-	private int tmtb1DcAmt;
-	private int tmtb2Sq;
-	private int tmtb2DcAmt;
-	private int goodsCpnSq;
-	private int goodsCpnDcAmt;
-	private int cartCpnSq;
-	private int cartCpnDcAmt;
-	
-	private int pntDcAmt;
-	private int prePntDcAmt;
-	private int savePntAmt;
-	
-	private int realOrdAmt;
-	private String venderId;
-	private String extmallId;
-	private String agentOrderId;
-	private String extmallOrderId;
-	private String changeableYn;
-	private String changeFeeFreeYn;
-	private String returnableYn;
-	private String returnFeeFreeYn;
-	
-	private String soldoutYn;
-	private String soldoutMemo;
-	private String soldoutRegNo;
-	private String soldoutRegDt;
-	private int delvAddrSq;
-	private String shotDelvYn;
-	private String giftPackYn;
-	
-	private String delvLocCd;
-	private String delvAssigngDt;
-	private String delvAddignStat;
-	private String dstrbtMemo;
-	private String delvStdt;
-	private String delvEddt;
-	
-	private String shipCompCd;
-	private String invoiceNo;
-	private String invoiceSendYn;
-	private String sellStoreCd;
-	private double sellFeeRate;
-	
-	private String afLinkCd;
-	private String ithrCd;
-	private String contentsLoc;
-	
-	private int planDtlsq;
-	private int socialSq;
-	
-	private String condition;
-	private String[] conditions = null;
-	
-	private String stDate;
-	private String edDate;
-	private String searchDateGb;
-	private String orderNm;
-	private int custId;
-	private String orderPhnno;
-	private String vendorId;
-	private String sizeCd;
-	private String goodsNm;
-	private String payMeans;
-	private String chgStat;
-	private String recipNm;
-	private String chgGb;
-	private String wdInvoiceSendYn;
-	
-	private int cancelRequestQty;
-	private int exchangeRequestQty;
-	private int returnRequestQty;
+	private int ordDtlNo;							// 주문상세번호
+	private String ordExchGb;						// 결제, 교환 구분 (O, E)
+	private String ordDtlStat;						// 주문상세상태
+	private int orgOrdDtlNo;						// 실제주문상세번호(교환)
+	private String supplyCompCd;					// 공급업체코드
+	private String goodsCd;							// 상품코드
+	private String formalGb;						// 정상,이월구분
+	private String formalGbNm;						// 정상,이월구분명
+	private String goodsType;						// 상품타입
+	private int listPrice;							// 정상가
+	private int currPrice;							// 판매가
+	private double dcRate;							// 할인율
+	private int optAddPrice;						// 옵션추가금액
+	private int ordQty;								// 주문수량
+	private int ordAmt;								// 주문금액
+	private int cnclRtnQty;							// 취소/반품수량
+	private int cnclRtnAmt;							// 취소/반품금액
+	private int cpn1CpnSq;							// 즉시할인쿠폰시퀀스
+	private int cpn1DcAmt;							// 즉시할인쿠폰할인금액
+	private int tmtb1Sq;							// 다다익선1시퀀스(수량)
+	private int tmtb1DcAmt;							// 다다익선1할인금액(수량)
+	private int tmtb2Sq;							// 다다익선2시퀀스(금액)
+	private int tmtb2DcAmt;							// 다다익선2할인금액(금액)
+	private int goodsCpnSq;							// 상품쿠폰시퀀스
+	private int goodsCpnDcAmt;						// 상품쿠폰할인금액
+	private int cartCpnSq;							// 장바구니시퀀스
+	private int cartCpnDcAmt;						// 장바구니할인금액
+	private int gfcdUseAmt;							// 상품권사용금액
+
+	private int pntDcAmt;							// 포인트할인금액
+	private int prePntDcAmt;						// 선포인트사용금액
+	private int savePntAmt;							// 적립포인트
+	
+	private int realOrdAmt;							// 실결제금액
+	private String venderId;						// 벤더ID
+	private String extmallId;						// 외부몰ID
+	private String agentOrderId;					// 에이젼트주문번호
+	private String extmallOrderId;					// 외부몰주문번호
+	private String changeableYn;					// 교환가능여부
+	private String changeFeeFreeYn;					// 교환배송비무료여부
+	private String returnableYn;					// 반품가능여부
+	private String returnFeeFreeYn;					// 반품배송비무료여부
+	
+	private String soldoutYn;						// 품절여부
+	private String soldoutMemo;						// 품절메모
+	private String soldoutRegNo;					// 품절등록자번호
+	private String soldoutRegDt;					// 품절등록일자
+	private int delvAddrSq;							// 주문배송지시퀀스번호
+	private String shotDelvYn;						// 총알배송여부
+	private String giftPackYn;						// 선물포장여부
+	
+	private String delvLocCd;						// 출고처코드
+	private String delvAssigngDt;					// 출고처지정일자
+	private String delvAddignStat;					// 출고처지정상태
+	private String dstrbtMemo;						// 출고메모
+	private String delvStdt;						// 배송시작일자
+	private String delvEddt;						// 배송종료일자
+	
+	private String shipCompCd;						// 배송업체코드
+	private String invoiceNo;						// 송장번호
+	private String invoiceSendYn;					// 배송지시전송여부
+	private String sellStoreCd;						// 판매매장코드
+	private double sellFeeRate;						// 판매매장수수료
+	
+	private String afLinkCd;						// AFLINKCD
+	private String ithrCd;							// ITHRCD
+	private String contentsLoc;						// CONTESTSCLOC
+	
+	private int planDtlsq;							// 기획전시퀀스
+	private int socialSq;							// 소셜시퀀스
+	
+	private String condition;						// 
+	private String[] conditions = null;				//
+	
+	private String stDate;							// 시작일자
+	private String edDate;							// 종료일자
+	private String searchDateGb;					// 검색일자구분
+	private String orderNm;							// 주문자명
+	private int custId;								// 회원ID
+	private String orderPhnno;						// 주문핸드폰번호
+	private String vendorId;						// 벤더ID
+	private String sizeCd;							// 사이즈코드
+	private String goodsNm;							// 상품명
+	private String payMeans;						// 결제타입
+	private String chgStat;							// 교환상태
+	private String recipNm;							// 배송시받는사람
+	private String chgGb;							// 변경구분 (취소신청, 반품신청, 교환요청)
+	private String wdInvoiceSendYn;					// 회수지시전송여부
+	
+	private int cancelRequestQty;					// 취소요청수량
+	private int exchangeRequestQty;					// 교환요청수량
+	private int returnRequestQty;					// 반품요청수량
 	
 	// 상품정보
-	private String imgPath1;
-	private String sysImgNm;
-	private String brandCd;
-	private String optCd;
-	private String optCd1;
-	private String optCd2;
-	private String goodsTypeNm;
-	private String brandEnm;
-	private String itemCd;
-	private String goodsNum;
-	private String supplyGoodsCd;
-	private String optCd2s;
-	private int currStockQty;
-	private String currStockQtys;
-	
-	private int totDcAmt;
-	private String dateGbn;
-	private String mallCd;
-	private String search;
-	private int productNo;
-	
-	/* Multi CheckBox 항목*/
+	private String imgPath1;						// 이미지경로1
+	private String sysImgNm;						// 이미지명
+	private String brandCd;							// 브랜드코드
+	private String optCd;							// 옵션코드
+	private String optCd1;							// 옵션코드1
+	private String optCd2;							// 옵션코드2
+	private String goodsTypeNm;						// 상품타입명
+	private String brandEnm;						// 브랜드명
+	private String itemCd;							// 아이템코드
+	private String goodsNum;						// 품번
+	private String supplyGoodsCd;					// 공급처코드
+	private String optCd2s;							// 옵션코드(문자)
+	private int currStockQty;						// 현재재고
+	private String currStockQtys;					// 현재재고(문자)
+	
+	private int totDcAmt;							// 전체할인금액
+	private String dateGbn;							// 일자구분
+	private String mallCd;							// MALLCD
+	private String search;							// 검색어
+	private int productNo;							// 상품번호
+	
+	/* Multi CheckBox 항목 */
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
-	private String[] multiBrand;
+	private String[] multiBrand;					// 브랜드코드배열
 
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
-	private String[] multiOrdStat;
+	private String[] multiOrdStat;					// 주문상태배열
 
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
-	private String[] multiOrdDtlStat;
+	private String[] multiOrdDtlStat;				// 주문상세상태배열
 	
-	private int sumOrdAmt;
-	private int sumOrdCnclAmt;
-	private int sumRealPayAmt;
-	private int ordNoCnt;
-	private int sumOrdQty;
-	private int sumOrdCnclQty;
+	private int sumOrdAmt;							// 주문금액합계
+	private int sumOrdCnclAmt;						// 주문취소금액합계
+	private int sumRealPayAmt;						// 주문실결제금액합계
+	private int ordNoCnt;							// 주문번호건수
+	private int sumOrdQty;							// 주문건수합계
+	private int sumOrdCnclQty;						// 주문취소건수합계
 	
-	private String excelFileNm;
+	private String excelFileNm;						// 엑셀파일명
 	
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
-	private int[] ordNoList;
-	
-	private String delYn;
-	private String recipPhnno;
-	private String recipTelno;
-	private String recipZipcode;
-	private String recipBaseAddr;
-	private String recipDtlAddr;
-	private String recipAddr;
-	private String ordEmail;
-	private String delvMemo;
-	private String delvAddrEditYn;
-	private String exchGbNm;
-	
-	private String escrowYn;
-	private String payMeansNm;
-	private String cardNm;
-	private String vaBank;
-	private String pgTradeNo;
-	private String payStat;
-	private String payStatNm;
-	private int payAmt;
-	private String vaDeadLine;
-	
-	private String delvFeeGb;
-	private String delvFeeGbNm;
-	private int delvFee;
-	private String delvUsacYn;
-	private String delvUsacDt;
-	private int delvFeeSq;
+	private int[] ordNoList;						// 주문번호배열
+	
+	private String delYn;							// 삭제여부
+	private String recipPhnno;						// 배송지핸드폰번호
+	private String recipTelno;						// 배송지전화번호
+	private String recipZipcode;					// 배송지우편번호
+	private String recipBaseAddr;					// 배송지기본주소
+	private String recipDtlAddr;					// 배송지상세주소
+	private String recipAddr;						// 배송지주소
+	private String ordEmail;						// 주문이메일
+	private String delvMemo;						// 출고메모
+	private String delvAddrEditYn;					// 출고메모수정여부
+	private String exchGbNm;						// 교환구분명
+	
+	private String escrowYn;						// 에스크로결제여부
+	private String payMeansNm;						// 결제타입명
+	private String cardNm;							// 카드명
+	private String vaBank;							// 가상계좌
+	private String pgTradeNo;						// PG거래번호
+	private String payStat;							// 결제상태
+	private String payStatNm;						// 결제상태명
+	private int payAmt;								// 결제금액
+	private String vaDeadLine;						// 가상계좌입금마감일
+	
+	private String delvFeeGb;						// 배송비구분 (원주문배송비, 재결제배송비, 반품배송비, 교환배송비)
+	private String delvFeeGbNm;						// 배송비구분명
+	private int delvFee;							// 배송비
+	private String delvUsacYn;						// 배송비정산여부
+	private String delvUsacDt;						// 배송비정산일자
+	private int delvFeeSq;							// 배송비시퀀스
 	
 	private String coundelClsf;
-	private String relGoodsCd;
-	private String questTitle;
-	private String questDt;
-	private String ansDt;
-	private int andNo;
-	
-	private int ordChgSq;
-	private String chgGbNm;
-	private String chgStatNm;
-	private String chgReason;
-	private String chgReasonNm;
-	private String chgMemo;
-	private String chgerNm;
-	private String chgerPhnno;
-	private String chgerTelno;
-	private String chgerZipcode;
-	private String chgerBaseAddr;
-	private String chgerDtlAddr;
-	private String chgerRtnMemo;
-	private String wdInvoiceNo;
-	
-	private String supplyCompNm;
-	private String brandKnm;
-	private String ordDtlStatNm;	
-	private String ordPhnno;
-	
-	private String custGrade;
-	private String custGradeNm;
-	private String custGb;
-	private String custGbNm;
+	private String relGoodsCd;						// 1:1문의상품코드
+	private String questTitle;						// 1:1문의제목
+	private String questDt;							// 1:1문의일자
+	private String ansDt;							// 1:1답변일자
+	private int andNo;								// 1:1답변자
+	
+	private int ordChgSq;							// 변경시퀀스
+	private String chgGbNm;							// 변경구분명
+	private String chgStatNm;						// 변경상태명
+	private String chgReason;						// 변경사유
+	private String chgReasonNm;						// 변경사유명
+	private String chgMemo;							// 변경메모
+	private String chgerNm;							// 변경자
+	private String chgerPhnno;						// 변경자핸드폰번호
+	private String chgerTelno;						// 변경자전화번호
+	private String chgerZipcode;					// 변경자우편번호
+	private String chgerBaseAddr;					// 변경자기본주소
+	private String chgerDtlAddr;					// 변경자상세주소
+	private String chgerRtnMemo;					// 변경자반품메모
+	private String wdInvoiceNo;						// 회수송장번호
+	
+	private String supplyCompNm;					// 공급업체명
+	private String brandKnm;						// 브랜드명(한글)
+	private String ordDtlStatNm;					// 주문상세상태명
+	private String ordPhnno;						// 주문핸드폰번호
+	
+	private String custGrade;						// 고객등급
+	private String custGradeNm;						// 고객등급명
+	private String custGb;							// 고객구분(일반, 임직원)
+	private String custGbNm;						// 고객구분명
 	private String managedRsn;
 	private String managedRsnNm;
 	
-	private int itemQty;
-	private int itemPrice;
-	private String itemNm;
-	private int gfcdUseAmt;
+	private int itemQty;							// 아이템수량
+	private int itemPrice;							// 아이템단가
+	private String itemNm;							// 아이템명
 	
 	// Pagination
-	private TscPageRequest pageable;
-	private int pageNo = 1;
-	private int pageSize = 50;
-	private int pageUnit = 10;
+	private TscPageRequest pageable;				// 페이징
+	private int pageNo = 1;							// 페이지번호
+	private int pageSize = 50;						// 페이지목록수
+	private int pageUnit = 10;						// 페이지번호수
 	
 	// 주문문의 1:1 응답 칼럼
 	private String counselClsfNm;

+ 14 - 2
src/main/java/com/style24/persistence/mybatis/shop/TscFreegift.xml

@@ -104,18 +104,30 @@
 	<!-- 사은품 : 3차조건 적용된 구간정보의 사은품정보조회 -->
 	<select id="getFreeGiftGoodsApplyVal" parameterType="Order" resultType="Order">
 		/* freegift.getFreeGiftGoodsApplyVal */
-		SELECT FGV.FREEGIFT_SECTION_SQ 
+		SELECT FG.FREEGIFT_NM 
+		     , FGV.FREEGIFT_SECTION_SQ 
 		     , FGV.FREEGIFT_SQ 
 		     , FGV.USE_POINT
 		     , FGV.ITEM_QTY
-		     , FGV.PRODUCT_NO
+		     , G.PRODUCT_NO
+		     , G.PRODUCT_CODE 
+		     , G.GOODS_NM 
+		     , G.GOODS_NUM 
+		     , G.SYS_IMG_NM 
 		FROM   TB_FREEGIFT_VAL FGV
+		INNER  JOIN TB_FREEGIFT FG
+		ON     FGV.FREEGIFT_SQ = FG.FREEGIFT_SQ
+		INNER  JOIN TB_FREE_GOODS G
+		ON     FGV.PRODUCT_NO = G.PRODUCT_NO 
 		WHERE  1=1
 		AND    FGV.DEL_YN = 'N'
 		AND    FGV.FREEGIFT_SECTION_SQ IN
 		<foreach collection="freegiftSectionSqArr" item="item" index="index"  open="(" close=")" separator=",">
 			#{item}
 		</foreach>
+		ORDER  BY FG.FREEGIFT_SQ
+		        , FGB.FREEGIFT_SECTION_SQ
+		        , FGV.USE_POINT
 	</select>
 	
 	

+ 63 - 62
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -1384,71 +1384,72 @@
 	<select id="getOrderDiscountCouponList" parameterType="Order" resultType="Order">
 		/* order.getOrderDiscountCouponList */
 		  WITH COUPON_DATA AS (
-			  SELECT OD.ORD_NO
-				   , OD.ORD_DTL_NO
-				   , OD.GOODS_CD
-				   , OD.ORD_AMT
-				   , OD.SUPPLY_COMP_CD
-				   , OD.DELV_FEE_CD
-				   , DF.DELV_FEE
-				   , OD.GOODS_CPN_SQ
-				   , OD.GOODS_CPN_DC_AMT
-				   , OD.CART_CPN_SQ
-				   , OD.CART_CPN_DC_AMT
-				   , DF.DELV_CPN_SQ
-				   , DF.DELV_CPN_DC_AMT
-				FROM TB_ORDER_DETAIL OD
-				INNER JOIN TB_DELIVERY_FEE DF
-				ON OD.SUPPLY_COMP_CD = DF.SUPPLY_COMP_CD
-					AND OD.DELV_FEE_CD = DF.DELV_FEE_CD
-					AND OD.ORD_NO = DF.ORD_NO
-			   WHERE 1 = 1
-				 AND OD.ORD_NO = #{ordNo}
+		      SELECT OD.ORD_NO
+		           , OD.ORD_DTL_NO
+		           , OD.GOODS_CD
+		           , OD.ORD_AMT
+		           , OD.SUPPLY_COMP_CD
+		           , OD.DELV_FEE_CD
+		           , DF.DELV_FEE
+		           , OD.GOODS_CPN_SQ
+		           , OD.GOODS_CPN_DC_AMT
+		           , OD.CART_CPN_SQ
+		           , OD.CART_CPN_DC_AMT
+		           , DF.DELV_CPN_SQ
+		           , DF.DELV_CPN_DC_AMT
+		        FROM TB_ORDER_DETAIL OD
+		       INNER JOIN TB_DELIVERY_FEE DF
+		          ON OD.SUPPLY_COMP_CD = DF.SUPPLY_COMP_CD
+		         AND OD.DELV_FEE_CD = DF.DELV_FEE_CD
+		         AND OD.ORD_NO = DF.ORD_NO
+		       WHERE 1 = 1
+		        AND OD.ORD_NO = #{ordNo}
 		  )
 		SELECT X.*
-			 , CP.CPN_ID
-			 , CP.CPN_NM
-			 , CP.DC_WAY
-			 , CP.DC_PVAL
-			 , CP.DC_MVAL
-			 , CP.DC_AVAL
+		     , CP.CPN_ID
+		     , CP.CPN_NM
+		     , CP.DC_WAY
+		     , CP.DC_PVAL
+		     , CP.DC_MVAL
+		     , CP.DC_AVAL
 		  FROM (
-			  SELECT Z.*
-				FROM (
-					SELECT 1                   AS DISP_ORD
-						 , CD.GOODS_CPN_SQ     AS CPN_SQ
-						 , CD.GOODS_CPN_DC_AMT AS CPN_DC_AMT
-						 , '상품쿠폰'              AS CPN_TYPE
-						 , CD.GOODS_CD         AS TARGET_CD1
-						 , CD.ORD_DTL_NO       AS TARGET_CD2
-						 , CD.ORD_NO
-						 , CD.ORD_AMT
-					  FROM COUPON_DATA CD
-					 UNION ALL
-					SELECT 2                  AS DISP_ORD
-						 , CD.CART_CPN_SQ     AS CPN_SQ
-						 , CD.CART_CPN_DC_AMT AS CPN_DC_AMT
-						 , '장바구니쿠폰'           AS CPN_TYPE
-						 , CD.GOODS_CD        AS TARGET_CD1
-						 , CD.ORD_DTL_NO      AS TARGET_CD2
-						 , CD.ORD_NO
-						 , CD.ORD_AMT
-					  FROM COUPON_DATA CD
-					 UNION ALL
-					SELECT 3                  AS DISP_ORD
-						 , CD.DELV_CPN_SQ     AS CPN_SQ
-						 , CD.DELV_CPN_DC_AMT AS CPN_DC_AMT
-						 , '배송비쿠폰'            AS CPN_TYPE
-						 , CD.SUPPLY_COMP_CD  AS TARGET_CD1
-						 , CD.DELV_FEE_CD     AS TARGET_CD2
-						 , CD.ORD_NO
-						 , CD.DELV_FEE        AS ORD_AMT
-					  FROM COUPON_DATA CD
-					 GROUP BY CD.DELV_CPN_SQ
-							, CD.DELV_CPN_DC_AMT
-							, CD.SUPPLY_COMP_CD
-							, CD.DELV_FEE_CD
-							, CD.ORD_NO
+		      SELECT Z.*
+		        FROM (
+		            SELECT 1                   AS DISP_ORD
+		                 , CD.GOODS_CPN_SQ     AS CPN_SQ
+		                 , CD.GOODS_CPN_DC_AMT AS CPN_DC_AMT
+		                 , '상품쿠폰'              AS CPN_TYPE
+		                 , CD.GOODS_CD         AS TARGET_CD1
+		                 , CD.ORD_DTL_NO       AS TARGET_CD2
+		                 , CD.ORD_NO
+		                 , CD.ORD_AMT
+		              FROM COUPON_DATA CD
+		             UNION ALL
+		            SELECT 2                  AS DISP_ORD
+		                 , CD.CART_CPN_SQ     AS CPN_SQ
+		                 , CD.CART_CPN_DC_AMT AS CPN_DC_AMT
+		                 , '장바구니쿠폰'           AS CPN_TYPE
+		                 , CD.GOODS_CD        AS TARGET_CD1
+		                 , CD.ORD_DTL_NO      AS TARGET_CD2
+		                 , CD.ORD_NO
+		                 , CD.ORD_AMT
+		              FROM COUPON_DATA CD
+		             UNION ALL
+		            SELECT 3                  AS DISP_ORD
+		                 , CD.DELV_CPN_SQ     AS CPN_SQ
+		                 , CD.DELV_CPN_DC_AMT AS CPN_DC_AMT
+		                 , '배송비쿠폰'            AS CPN_TYPE
+		                 , CD.SUPPLY_COMP_CD  AS TARGET_CD1
+		                 , CD.DELV_FEE_CD     AS TARGET_CD2
+		                 , CD.ORD_NO
+		                 , CD.DELV_FEE        AS ORD_AMT
+		              FROM COUPON_DATA CD
+		             GROUP BY CD.DELV_CPN_SQ
+		                    , CD.DELV_CPN_DC_AMT
+		                    , CD.SUPPLY_COMP_CD
+		                    , CD.DELV_FEE_CD
+		                    , CD.ORD_NO
+		                    , CD.DELV_FEE
 				) Z
 			   WHERE 1 = 1
 				 AND Z.CPN_SQ IS NOT NULL

+ 151 - 158
src/main/java/com/style24/persistence/mybatis/shop/TscOrderChange.xml

@@ -471,8 +471,6 @@
 				, ORG_ORD_DTL_NO
 				, SUPPLY_COMP_CD
 				, GOODS_CD
-				, PRODUCT_NO
-				, PRODUCT_CODE
 				, FORMAL_GB
 				, GOODS_TYPE
 				, LIST_PRICE
@@ -545,8 +543,6 @@
 			 , OD.ORG_ORD_DTL_NO
 			 , OD.SUPPLY_COMP_CD
 			 , OD.GOODS_CD
-			 , OD.PRODUCT_NO
-			 , OD.PRODUCT_CODE
 			 , OD.FORMAL_GB
 			 , OD.GOODS_TYPE
 			 , OD.LIST_PRICE
@@ -888,160 +884,157 @@
 	
 	<!-- 주문상세이력정보등록 취소신청철회 -->
 	<insert id="createOrderDtlHstCancel" parameterType="Order">
-	INSERT INTO TB_ORDER_DETAIL_HST (
-		ORD_DTL_NO
-		, ORD_NO
-		, ORD_EXCH_GB
-		, ORD_DTL_STAT
-		, ORG_ORD_DTL_NO
-		, SUPPLY_COMP_CD
-		, GOODS_CD
-		, PRODUCT_NO
-		, PRODUCT_CODE
-		, FORMAL_GB
-		, GOODS_TYPE
-		, LIST_PRICE
-		, CURR_PRICE
-		, DC_RATE
-		, OPT_ADD_PRICE
-		, ORD_QTY
-		, ORD_AMT
-		, CNCL_RTN_QTY
-		, CNCL_RTN_AMT
-		, CPN1_CPN_SQ
-		, CPN1_DC_AMT
-		, TMTB1_SQ
-		, TMTB1_DC_AMT
-		, TMTB2_SQ
-		, TMTB2_DC_AMT
-		, GOODS_CPN_SQ
-		, GOODS_CPN_DC_AMT
-		, CART_CPN_SQ
-		, CART_CPN_DC_AMT
-		, BURDEN_RATE
-		, PNT_DC_AMT
-		, PRE_PNT_DC_AMT
-		, SAVE_PNT_AMT
-		, REAL_ORD_AMT
-		, GFCD_USE_AMT
-		, VENDOR_ID
-		, EXTMALL_ID
-		, AGENT_ORDER_ID
-		, EXTMALL_ORDER_ID
-		, CHANGABLE_YN
-		, CHANGE_FEE_FREE_YN
-		, RETURNABLE_YN
-		, RETURN_FEE_FREE_YN
-		, SOLDOUT_YN
-		, SOLDOUT_MEMO
-		, SOLDOUT_REG_NO
-		, SOLDOUT_REG_DT
-		, DELV_ADDR_SQ
-		, DELV_FEE_CD
-		, SHOT_DELV_YN
-		, GIFT_PACK_YN
-		, MAKE_GOODS_YN
-		, ENTRY_NO
-		, DELV_LOC_CD
-		, DELV_ASSIGN_DT
-		, DELV_ASSIGN_STAT
-		, DSTRBT_NOTE
-		, DELV_STDT
-		, DELV_EDDT
-		, SHIP_COMP_CD
-		, INVOICE_NO
-		, INVOICE_SEND_YN
-		, SELL_STORE_CD
-		, SELL_FEE_RATE
-		, AF_LINK_CD
-		, ITHR_CD
-		, CONTENTS_LOC
-		, PLAN_DTL_SQ
-		, SOCIAL_SQ
-		, REG_NO
-		, REG_DT
-		, UPD_NO
-		, UPD_DT
-		)
-	SELECT OD.ORD_DTL_NO
-		 , OD.ORD_NO
-		 , OD.ORD_EXCH_GB
-		 , OCD.CHG_STAT
-		 , OD.ORG_ORD_DTL_NO
-		 , OD.SUPPLY_COMP_CD
-		 , OD.GOODS_CD
-		 , OD.PRODUCT_NO
-		 , OD.PRODUCT_CODE
-		 , OD.FORMAL_GB
-		 , OD.GOODS_TYPE
-		 , OD.LIST_PRICE
-		 , OD.CURR_PRICE
-		 , OD.DC_RATE
-		 , OD.OPT_ADD_PRICE
-		 , OD.ORD_QTY
-		 , OD.ORD_AMT
-		 , OCD.CHG_QTY
-		 , OD.CNCL_RTN_AMT
-		 , OD.CPN1_CPN_SQ
-		 , OD.CPN1_DC_AMT
-		 , OD.TMTB1_SQ
-		 , OD.TMTB1_DC_AMT
-		 , OD.TMTB2_SQ
-		 , OD.TMTB2_DC_AMT
-		 , OD.GOODS_CPN_SQ
-		 , OD.GOODS_CPN_DC_AMT
-		 , OD.CART_CPN_SQ
-		 , OD.CART_CPN_DC_AMT
-		 , OD.BURDEN_RATE
-		 , OD.PNT_DC_AMT
-		 , OD.PRE_PNT_DC_AMT
-		 , OD.SAVE_PNT_AMT
-		 , OD.REAL_ORD_AMT
-		 , OD.GFCD_USE_AMT
-		 , OD.VENDOR_ID
-		 , OD.EXTMALL_ID
-		 , OD.AGENT_ORDER_ID
-		 , OD.EXTMALL_ORDER_ID
-		 , OD.CHANGABLE_YN
-		 , OD.CHANGE_FEE_FREE_YN
-		 , OD.RETURNABLE_YN
-		 , OD.RETURN_FEE_FREE_YN
-		 , OD.SOLDOUT_YN
-		 , OD.SOLDOUT_MEMO
-		 , OD.SOLDOUT_REG_NO
-		 , OD.SOLDOUT_REG_DT
-		 , OD.DELV_ADDR_SQ
-		 , OD.DELV_FEE_CD
-		 , OD.SHOT_DELV_YN
-		 , OD.GIFT_PACK_YN
-		 , OD.MAKE_GOODS_YN
-		 , OD.ENTRY_NO
-		 , OD.DELV_LOC_CD
-		 , OD.DELV_ASSIGN_DT
-		 , OD.DELV_ASSIGN_STAT
-		 , OD.DSTRBT_NOTE
-		 , OD.DELV_STDT
-		 , OD.DELV_EDDT
-		 , OD.SHIP_COMP_CD
-		 , OD.INVOICE_NO
-		 , OD.INVOICE_SEND_YN
-		 , OD.SELL_STORE_CD
-		 , OD.SELL_FEE_RATE
-		 , OD.AF_LINK_CD
-		 , OD.ITHR_CD
-		 , OD.CONTENTS_LOC
-		 , OD.PLAN_DTL_SQ
-		 , OD.SOCIAL_SQ
-		 , #{regNo}
-		 , NOW()
-		 , #{updNo}
-		 , NOW()
-	  FROM TB_ORDER_DETAIL OD
-	 INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
-	    ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
-	 WHERE 1 = 1
-	   AND OCD.ORD_CHG_SQ = #{ordChgSq}
-	   AND OD.ORD_NO = #{ordNo}
+		/* OrderChange.createOrderDtlHstCancel */
+		INSERT INTO TB_ORDER_DETAIL_HST (
+			ORD_DTL_NO
+			, ORD_NO
+			, ORD_EXCH_GB
+			, ORD_DTL_STAT
+			, ORG_ORD_DTL_NO
+			, SUPPLY_COMP_CD
+			, GOODS_CD
+			, FORMAL_GB
+			, GOODS_TYPE
+			, LIST_PRICE
+			, CURR_PRICE
+			, DC_RATE
+			, OPT_ADD_PRICE
+			, ORD_QTY
+			, ORD_AMT
+			, CNCL_RTN_QTY
+			, CNCL_RTN_AMT
+			, CPN1_CPN_SQ
+			, CPN1_DC_AMT
+			, TMTB1_SQ
+			, TMTB1_DC_AMT
+			, TMTB2_SQ
+			, TMTB2_DC_AMT
+			, GOODS_CPN_SQ
+			, GOODS_CPN_DC_AMT
+			, CART_CPN_SQ
+			, CART_CPN_DC_AMT
+			, BURDEN_RATE
+			, PNT_DC_AMT
+			, PRE_PNT_DC_AMT
+			, SAVE_PNT_AMT
+			, REAL_ORD_AMT
+			, GFCD_USE_AMT
+			, VENDOR_ID
+			, EXTMALL_ID
+			, AGENT_ORDER_ID
+			, EXTMALL_ORDER_ID
+			, CHANGABLE_YN
+			, CHANGE_FEE_FREE_YN
+			, RETURNABLE_YN
+			, RETURN_FEE_FREE_YN
+			, SOLDOUT_YN
+			, SOLDOUT_MEMO
+			, SOLDOUT_REG_NO
+			, SOLDOUT_REG_DT
+			, DELV_ADDR_SQ
+			, DELV_FEE_CD
+			, SHOT_DELV_YN
+			, GIFT_PACK_YN
+			, MAKE_GOODS_YN
+			, ENTRY_NO
+			, DELV_LOC_CD
+			, DELV_ASSIGN_DT
+			, DELV_ASSIGN_STAT
+			, DSTRBT_NOTE
+			, DELV_STDT
+			, DELV_EDDT
+			, SHIP_COMP_CD
+			, INVOICE_NO
+			, INVOICE_SEND_YN
+			, SELL_STORE_CD
+			, SELL_FEE_RATE
+			, AF_LINK_CD
+			, ITHR_CD
+			, CONTENTS_LOC
+			, PLAN_DTL_SQ
+			, SOCIAL_SQ
+			, REG_NO
+			, REG_DT
+			, UPD_NO
+			, UPD_DT
+			)
+		SELECT OD.ORD_DTL_NO
+			 , OD.ORD_NO
+			 , OD.ORD_EXCH_GB
+			 , OCD.CHG_STAT
+			 , OD.ORG_ORD_DTL_NO
+			 , OD.SUPPLY_COMP_CD
+			 , OD.GOODS_CD
+			 , OD.FORMAL_GB
+			 , OD.GOODS_TYPE
+			 , OD.LIST_PRICE
+			 , OD.CURR_PRICE
+			 , OD.DC_RATE
+			 , OD.OPT_ADD_PRICE
+			 , OD.ORD_QTY
+			 , OD.ORD_AMT
+			 , OCD.CHG_QTY
+			 , OD.CNCL_RTN_AMT
+			 , OD.CPN1_CPN_SQ
+			 , OD.CPN1_DC_AMT
+			 , OD.TMTB1_SQ
+			 , OD.TMTB1_DC_AMT
+			 , OD.TMTB2_SQ
+			 , OD.TMTB2_DC_AMT
+			 , OD.GOODS_CPN_SQ
+			 , OD.GOODS_CPN_DC_AMT
+			 , OD.CART_CPN_SQ
+			 , OD.CART_CPN_DC_AMT
+			 , OD.BURDEN_RATE
+			 , OD.PNT_DC_AMT
+			 , OD.PRE_PNT_DC_AMT
+			 , OD.SAVE_PNT_AMT
+			 , OD.REAL_ORD_AMT
+			 , OD.GFCD_USE_AMT
+			 , OD.VENDOR_ID
+			 , OD.EXTMALL_ID
+			 , OD.AGENT_ORDER_ID
+			 , OD.EXTMALL_ORDER_ID
+			 , OD.CHANGABLE_YN
+			 , OD.CHANGE_FEE_FREE_YN
+			 , OD.RETURNABLE_YN
+			 , OD.RETURN_FEE_FREE_YN
+			 , OD.SOLDOUT_YN
+			 , OD.SOLDOUT_MEMO
+			 , OD.SOLDOUT_REG_NO
+			 , OD.SOLDOUT_REG_DT
+			 , OD.DELV_ADDR_SQ
+			 , OD.DELV_FEE_CD
+			 , OD.SHOT_DELV_YN
+			 , OD.GIFT_PACK_YN
+			 , OD.MAKE_GOODS_YN
+			 , OD.ENTRY_NO
+			 , OD.DELV_LOC_CD
+			 , OD.DELV_ASSIGN_DT
+			 , OD.DELV_ASSIGN_STAT
+			 , OD.DSTRBT_NOTE
+			 , OD.DELV_STDT
+			 , OD.DELV_EDDT
+			 , OD.SHIP_COMP_CD
+			 , OD.INVOICE_NO
+			 , OD.INVOICE_SEND_YN
+			 , OD.SELL_STORE_CD
+			 , OD.SELL_FEE_RATE
+			 , OD.AF_LINK_CD
+			 , OD.ITHR_CD
+			 , OD.CONTENTS_LOC
+			 , OD.PLAN_DTL_SQ
+			 , OD.SOCIAL_SQ
+			 , #{regNo}
+			 , NOW()
+			 , #{updNo}
+			 , NOW()
+		  FROM TB_ORDER_DETAIL OD
+		 INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
+		    ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
+		 WHERE 1 = 1
+		   AND OCD.ORD_CHG_SQ = #{ordChgSq}
+		   AND OD.ORD_NO = #{ordNo}
 	</insert>
 
 	<!-- 주문상세정보 생성 -->