Ver Fonte

주문서개발중

jsh77b há 5 anos atrás
pai
commit
a8f1e93787

+ 22 - 0
src/main/java/com/style24/core/biz/dao/TscOrderDao.java

@@ -504,8 +504,30 @@ public interface TscOrderDao {
 	 * @author jsh77b
 	 * @since 2021. 03. 09
 	 */
+	Collection<Order> getOrderDetailItem(Order order);
+	
+	/**
+	 * 6. 주문상세단품정보등록 등록
+	 *
+	 * @param Order - 주문 정보
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 03. 09
+	 */
 	int createOrderDetailItem(Order order);
 	
+	/**
+	 * 7. 주문상세단품이력정보등록 등록
+	 *
+	 * @param Order - 주문 정보
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 03. 09
+	 */
+	int createOrderDetailItemHst(Order order);
+	
+	
+	
 	
 	
 

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

@@ -1010,8 +1010,6 @@ public class TscOrderService {
 			}
 			
 			// 1.2 즉시할인 적용가 * 주문수량(장바구니수량)
-			order.setCurrPrice(order.getCurrPrice() * order.getGoodsQty());
-			order.setOrgCurrPrice(order.getOrgCurrPrice() * order.getGoodsQty());
 			
 			// 1.3 배송정책별 상품 구분
 			// 1.3.1 자사총알배송
@@ -1037,13 +1035,10 @@ public class TscOrderService {
 			goodsTotCnt++;
 			
 			// 1.4 배송단위별 배송비 설정
-			// 다다익선 할인 금액 적용
-			if (order.getTmtbDcAmt() > 0) {
-				ordAmt 	= (order.getTmtbDcAmt() + order.getOptAddPrice()) * order.getGoodsQty(); // 주문금액
-			} else {
-				ordAmt 	= (order.getCurrPrice() + order.getOptAddPrice()) * order.getGoodsQty(); // 주문금액
-			}
-			
+			// 1.4.1 즉시할인쿠폰금액
+			ordAmt = ((order.getOrgCurrPrice() + order.getOptAddPrice()) * order.getGoodsQty());
+			order.setOrdAmt(sumOrdAmt);
+
 			Boolean temp = false;
 
 			// 1.4.1 업체별 배송비 합계
@@ -1289,14 +1284,102 @@ public class TscOrderService {
 			orderDetail.setOrdNo(order.getOrdNo());
 			orderDetail.setOrdExchGb("O");
 			orderDetail.setCustNo(order.getCustNo());
+			orderDetail.setRegNo(order.getCustNo());
 			orderDetail.setOrdDtlStat(TscConstants.OrderDetailStat.ORDER_RECEIPT.value());
 			orderDetail.setDelvAddrSq(order.getDelvAddrSq());
 			orderDetail.setGiftPackYn("N");
 			
+			// 선포인트사용여부에 따라서 적립포인트 0원 설정
+			if ("Y".equals(order.getPrePntDcAmtYn())) {
+				if (orderDetail.getPrePntDcAmt() > 0) {
+					orderDetail.setSavePntAmt(0);
+				}
+			} else {
+				orderDetail.setPrePntDcAmt(0);
+			}
+
+			// 총알배송가능이면 총알배송 상품은 총알배송가능으로 설정
+			if ("N".equals(order.getShotDelvYn())) {
+				orderDetail.setShotDelvYn("N");
+			}
+			
 			// TODO 총알배송, 구매대행상품여붗 체크
 			orderDao.createOrderDetail(orderDetail); // 주문상세정보등록
+			
+			orderDao.createOrderDetailHst(orderDetail); // 주문상세이력정보등록
+			
+			Collection<Order> orderDetailItemList = orderDao.getOrderDetailItem(orderDetail); // 주문상세단품정보조회
+			
+			// 주문상세단품단위 금액 등록
+			int length				= orderDetailItemList.size();
+			int index				= 1;
+			int leftOrdAmt 			= orderDetail.getOrdAmt();
+			int leftCpn1DcAmt 		= orderDetail.getCpn1DcAmt();
+			int leftTmtb1DcAmt 		= orderDetail.getTmtb1DcAmt();
+			int leftTmtb2DcAmt 		= orderDetail.getTmtb2DcAmt();
+			int leftGoodsCpnDcAmt 	= orderDetail.getGoodsCpnDcAmt();
+			int leftCartCpnDcAmt 	= orderDetail.getCartCpnDcAmt();
+			int leftPntDcAmt 		= orderDetail.getPntDcAmt();
+			int leftPrePntDcAmt 	= orderDetail.getPrePntDcAmt();
+			int leftSavePntAmt 		= orderDetail.getSavePntAmt();
+			int leftRealOrdAmt 		= orderDetail.getRealOrdAmt();
+			int leftGfcdUseAmt 		= orderDetail.getGfcdUseAmt();
+			
+			for (Order orderDetailItem : orderDetailItemList) {
+				int itemPrice 		= orderDetailItem.getItemPrice();
+				int optAddPrice 	= orderDetailItem.getOptAddPrice();
+				int itemQty 		= orderDetailItem.getItemQty();
+				double currPrice	= orderDetailItem.getCurrPrice();
+				double itemOrdAmt	= (itemPrice + optAddPrice) * itemQty;
+				double tempDivD		= (itemOrdAmt / currPrice) * 100;
+				int tempDiv 		= Integer.parseInt(String.valueOf(Math.round(tempDivD)));
+				
+				if (index == length) {
+					orderDetailItem.setOrdAmt(leftOrdAmt);
+					orderDetailItem.setCpn1DcAmt(leftCpn1DcAmt);
+					orderDetailItem.setTmtb1DcAmt(leftTmtb1DcAmt);
+					orderDetailItem.setTmtb2DcAmt(leftTmtb2DcAmt);
+					orderDetailItem.setGoodsCpnDcAmt(leftGoodsCpnDcAmt);
+					orderDetailItem.setCartCpnDcAmt(leftCartCpnDcAmt);
+					orderDetailItem.setPntDcAmt(leftPntDcAmt);
+					orderDetailItem.setPrePntDcAmt(leftPrePntDcAmt);
+					orderDetailItem.setSavePntAmt(leftSavePntAmt);
+					orderDetailItem.setRealOrdAmt(leftRealOrdAmt);
+					orderDetailItem.setGfcdUseAmt(leftGfcdUseAmt);
+				} else {
+					orderDetailItem.setOrdAmt((orderDetail.getOrdAmt() * tempDiv) / 100);
+					orderDetailItem.setCpn1DcAmt((orderDetail.getCpn1DcAmt() * tempDiv) / 100);
+					orderDetailItem.setTmtb1DcAmt((orderDetail.getTmtb1DcAmt() * tempDiv) / 100);
+					orderDetailItem.setTmtb2DcAmt((orderDetail.getTmtb2DcAmt() * tempDiv) / 100);
+					orderDetailItem.setGoodsCpnDcAmt((orderDetail.getGoodsCpnDcAmt() * tempDiv) / 100);
+					orderDetailItem.setCartCpnDcAmt((orderDetail.getCartCpnDcAmt() * tempDiv) / 100);
+					orderDetailItem.setPntDcAmt((orderDetail.getPntDcAmt() * tempDiv) / 100);
+					orderDetailItem.setPrePntDcAmt((orderDetail.getPrePntDcAmt() * tempDiv) / 100);
+					orderDetailItem.setSavePntAmt((orderDetail.getSavePntAmt() * tempDiv) / 100);
+					orderDetailItem.setRealOrdAmt((orderDetail.getRealOrdAmt() * tempDiv) / 100);
+					orderDetailItem.setGfcdUseAmt((orderDetail.getGfcdUseAmt() * tempDiv) / 100);
+					
+					leftOrdAmt 			= leftOrdAmt 			- ((orderDetail.getOrdAmt() * tempDiv) / 100);
+					leftCpn1DcAmt 		= leftCpn1DcAmt 		- ((orderDetail.getCpn1DcAmt() * tempDiv) / 100);
+					leftTmtb1DcAmt 		= leftTmtb1DcAmt 		- ((orderDetail.getTmtb1DcAmt() * tempDiv) / 100);
+					leftTmtb2DcAmt 		= leftTmtb2DcAmt 		- ((orderDetail.getTmtb2DcAmt() * tempDiv) / 100);
+					leftGoodsCpnDcAmt 	= leftGoodsCpnDcAmt 	- ((orderDetail.getGoodsCpnDcAmt() * tempDiv) / 100);
+					leftCartCpnDcAmt 	= leftCartCpnDcAmt 		- ((orderDetail.getCartCpnDcAmt() * tempDiv) / 100);
+					leftPntDcAmt 		= leftPntDcAmt 			- ((orderDetail.getPntDcAmt() * tempDiv) / 100);
+					leftPrePntDcAmt 	= leftPrePntDcAmt 		- ((orderDetail.getPrePntDcAmt() * tempDiv) / 100);
+					leftSavePntAmt 		= leftSavePntAmt 		- ((orderDetail.getSavePntAmt() * tempDiv) / 100);
+					leftRealOrdAmt 		= leftRealOrdAmt 		- ((orderDetail.getRealOrdAmt() * tempDiv) / 100);
+					leftGfcdUseAmt 		= leftGfcdUseAmt 		- ((orderDetail.getGfcdUseAmt() * tempDiv) / 100);
+				}
+				
+				orderDetailItem.setCustNo(order.getCustNo());
 
-			orderDao.createOrderDetailItem(orderDetail); // 주문상세단품정보등록
+				orderDao.createOrderDetailItem(orderDetailItem); // 주문상세단품정보등록
+				
+				orderDao.createOrderDetailItemHst(orderDetailItem); // 주문상세단품이력정보등록
+				
+				index++;
+			}
 		}
 		
 		

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

@@ -133,6 +133,7 @@ public class Order extends TscBaseDomain {
 	private String recipNm;							// 배송시받는사람
 	private String chgGb;							// 변경구분 (취소신청, 반품신청, 교환요청)
 	private String wdInvoiceSendYn;					// 회수지시전송여부
+	private String goodsCnt;						// 상품수
 	
 	private int cancelRequestQty;					// 취소요청수량
 	private int exchangeRequestQty;					// 교환요청수량
@@ -159,10 +160,13 @@ public class Order extends TscBaseDomain {
 	private String mallCd;							// MALLCD
 	private String search;							// 검색어
 	private int productNo;							// 상품번호
+	private String skuModelNo;						// skuModelNo
+	private String productCode;						// productCode
 	
 	private String foreignBuyYn;					// 해외구매대행가능여부
 	private String orderMadeYn;						// 주문제작상품여부
 	private String entryNo;							// 통관번호
+	private int dispOrd;							// 노출순서
 	
 	/* Multi CheckBox 항목 */
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)

+ 296 - 185
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -962,153 +962,153 @@
 	<insert id="createOrderDetailHst" parameterType="Order">
 		/* Order.createOrderDetailHst */
 		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
+		    ORD_DTL_NO
+		    , ORD_NO
+		    , ORD_EXCH_GB
+		    , ORD_DTL_STAT
+		    , ORG_ORD_DTL_NO
+		    , SUPPLY_COMP_CD
+		    , GOODS_CD
+		    , DEAL_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
+		    , GIFT_ADDR_INP_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 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
-			 , #{regNo} AS REG_ID
-			 , CURRENT_TIMESTAMP() AS REG_DT
-			 , #{regNo} AS REG_ID
-			 , CURRENT_TIMESTAMP() AS UPD_DT
+		     , ORD_NO
+		     , ORD_EXCH_GB
+		     , ORD_DTL_STAT
+		     , ORG_ORD_DTL_NO
+		     , SUPPLY_COMP_CD
+		     , GOODS_CD
+		     , DEAL_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
+		     , GIFT_ADDR_INP_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
+		     , #{regNo}
+		     , REG_DT
+		     , #{regNo}
+		     , UPD_DT
 		  FROM TB_ORDER_DETAIL
 		 WHERE ORD_DTL_NO = #{ordDtlNo}
 	</insert>
@@ -2546,7 +2546,52 @@
 		AND   CART_SQ = #{cartSq}
 	</insert>
 	
-	<!-- 5. 주문상세단품정보등록 -->
+	<!-- 5. 주문상세단품정보등록을 위한 조회 -->
+	<select id="getOrderDetailItem" parameterType="Order" resultType="Order">
+		/* TscOrder.getOrderDetailItem : 주문상세단품정보등록을 위한 조회 */
+		SELECT #{ordDtlNo}                                  AS ORD_DTL_NO
+		     , #{ordNo}                                     AS ORD_NO
+		     , #{ordDtlStat}                                AS ORD_DTL_STAT
+		     , CD.ITEM_CD
+		     , CD.OPT_CD
+		     , CD.OPT_CD1
+		     , CD.OPT_CD2
+		     , CD.SKU_MODEL_NO 
+		     , CD.PRODUCT_NO
+		     , CD.PRODUCT_CODE
+		     , G.CURR_PRICE 
+		     , IFNULL(GC.QTY, 1)                            AS ITEM_QTY
+		     , IFNULL(GC.COMPS_CURR_PRICE, G.CURR_PRICE)    AS ITEM_PRICE
+		     , OP.ADD_PRICE 
+		     , CD.DISP_ORD 
+		     , 0                                            AS ORD_AMT
+		     , 0                                            AS CNCL_RTN_AMT
+		     , 0                                            AS CPN1_DC_AMT
+		     , 0                                            AS TMTB1_DC_AMT
+		     , 0                                            AS TMTB2_DC_AMT
+		     , 0                                            AS GOODS_CPN_DC_AMT
+		     , 0                                            AS CART_CPN_DC_AMT
+		     , 0                                            AS PNT_DC_AMT
+		     , 0                                            AS PRE_PNT_DC_AMT
+		     , 0                                            AS SAVE_PNT_AMT
+		     , 0                                            AS REAL_ORD_AMT
+		     , 0                                            AS GFCD_USE_AMT
+		FROM   TB_CART_DETAIL CD
+		INNER  JOIN TB_CART CA
+		ON     CD.CART_SQ = CA.CART_SQ
+		INNER  JOIN TB_OPTION OP
+		ON     CD.ITEM_CD = OP.GOODS_CD
+		AND    CD.OPT_CD = OP.OPT_CD
+		INNER  JOIN TB_GOODS G
+		ON     CA.GOODS_CD = G.GOODS_CD
+		LEFT   OUTER JOIN TB_GOODS_COMPOSE GC
+		ON     CD.ITEM_CD = GC.COMPS_GOODS_CD
+		AND    CA.GOODS_CD = GC.GOODS_CD
+		WHERE 1=1
+		AND    CD.CART_SQ = #{cartSq}
+	</select>
+	
+	<!-- 6. 주문상세단품정보등록 -->
 	<insert id="createOrderDetailItem" parameterType="Order" keyProperty="ordDtlItemSq">
 		/* TscOrder.createOrderDetailItem : 주문상세단품정보등록 */
 		INSERT INTO TB_ORDER_DETAIL_ITEM ( 
@@ -2580,48 +2625,114 @@
 		    , REG_DT
 		    , UPD_NO
 		    , UPD_DT
-		) 
-		SELECT #{ordDtlNo}                                  AS ORD_DTL_NO
-		     , #{ordNo}                                     AS ORD_NO
-		     , CD.ITEM_CD
-		     , CD.OPT_CD
-		     , CD.OPT_CD1
-		     , CD.OPT_CD2
-		     , CD.SKU_MODEL_NO 
-		     , CD.PRODUCT_NO
-		     , CD.PRODUCT_CODE
-		     , GC.QTY                                       AS ITEM_QTY
-		     , IFNULL(GC.COMPS_CURR_PRICE, G.CURR_PRICE)    AS ITEM_PRICE
-		     , OP.ADD_PRICE 
-		     , CD.DISP_ORD 
-		     , #{ordAmt}                                    AS ORD_AMT
-		     , 0                                            AS CNCL_RTN_AMT
-		     , #{cpn1DcAmt}                                 AS CPN1_DC_AMT
-		     , #{tmtb1DcAmt}                                AS TMTB1_DC_AMT
-		     , #{tmtb1DcAmt}                                AS TMTB1_DC_AMT
-		     , #{goodsCpnDcAmt}                             AS GOODS_CPN_DC_AMT
-		     , #{cartCpnDcAmt}                              AS CART_CPN_DC_AMT
-		     , #{pntDcAmt}                                  AS PNT_DC_AMT
-		     , #{prePntDcAmt}                               AS PRE_PNT_DC_AMT
-		     , #{savePntAmt}                                AS SAVE_PNT_AMT
-		     , #{realOrdAmt}                                AS REAL_ORD_AMT
-		     , #{gfcdUseAmt}                                AS GFCD_USE_AMT
-		     , #{custNo}                                    AS REG_NO
-		     , NOW()                                        AS REG_DT
-		     , #{custNo}                                    AS REG_NO
-		     , NOW()                                        AS REG_DT
-		FROM   TB_CART_DETAIL CD
-		INNER  JOIN TB_OPTION OP
-		ON     CD.ITEM_CD = OP.GOODS_CD
-		INNER  JOIN TB_GOODS G
-		ON     CD.ITEM_CD = G.GOODS_CD
-		LEFT   OUTER JOIN TB_GOODS_COMPOSE GC
-		ON     CD.ITEM_CD = GC.COMPS_GOODS_CD 
-		WHERE 1=1
-		AND    CD.CART_SQ = #{cartSq}
+		) VALUES (
+		    #{ordDtlNo}
+		    , #{ordNo}
+		    , #{ordDtlStat}
+		    , #{itemCd}
+		    , #{optCd}
+		    , #{optCd1}
+		    , #{optCd2}
+		    , #{skuModelNo}
+		    , #{productNo}
+		    , #{productCode}
+		    , #{itemQty}
+		    , #{itemPrice}
+		    , #{optAddPrice}
+		    , #{dispOrd}
+		    , #{ordAmt}
+		    , #{cnclRtnAmt}
+		    , #{cpn1DcAmt}
+		    , #{tmtb1DcAmt}
+		    , #{tmtb2DcAmt}
+		    , #{goodsCpnDcAmt}
+		    , #{cartCpnDcAmt}
+		    , #{pntDcAmt}
+		    , #{prePntDcAmt}
+		    , #{savePntAmt}
+		    , #{realOrdAmt}
+		    , #{gfcdUseAmt}
+		    , #{custNo}
+		    , NOW()
+		    , #{custNo}
+		    , NOW()
+		)
+	</insert>
+	
+	<!-- 7. 주문상세단품이력정보 등록 -->
+	<insert id="createOrderDetailItemHst" parameterType="Order">
+		/* TscOrder.createOrderDetailItemHst */
+		INSERT INTO TB_ORDER_DETAIL_ITEM_HST (
+		    ORD_DTL_ITEM_SQ
+		    , ORD_DTL_NO
+		    , ORD_NO
+		    , ORD_DTL_STAT
+		    , ITEM_CD
+		    , OPT_CD
+		    , OPT_CD1
+		    , OPT_CD2
+		    , SKU_MODEL_NO
+		    , PRODUCT_NO
+		    , PRODUCT_CODE
+		    , ITEM_QTY
+		    , ITEM_PRICE
+		    , OPT_ADD_PRICE
+		    , DISP_ORD
+		    , ORD_AMT
+		    , CNCL_RTN_AMT
+		    , CPN1_DC_AMT
+		    , TMTB1_DC_AMT
+		    , TMTB2_DC_AMT
+		    , GOODS_CPN_DC_AMT
+		    , CART_CPN_DC_AMT
+		    , PNT_DC_AMT
+		    , PRE_PNT_DC_AMT
+		    , SAVE_PNT_AMT
+		    , REAL_ORD_AMT
+		    , GFCD_USE_AMT
+		    , REG_NO
+		    , REG_DT
+		    , UPD_NO
+		    , UPD_DT
+		)
+		SELECT ORD_DTL_ITEM_SQ
+		     , ORD_DTL_NO
+		     , ORD_NO
+		     , ORD_DTL_STAT
+		     , ITEM_CD
+		     , OPT_CD
+		     , OPT_CD1
+		     , OPT_CD2
+		     , SKU_MODEL_NO
+		     , PRODUCT_NO
+		     , PRODUCT_CODE
+		     , ITEM_QTY
+		     , ITEM_PRICE
+		     , OPT_ADD_PRICE
+		     , DISP_ORD
+		     , ORD_AMT
+		     , CNCL_RTN_AMT
+		     , CPN1_DC_AMT
+		     , TMTB1_DC_AMT
+		     , TMTB2_DC_AMT
+		     , GOODS_CPN_DC_AMT
+		     , CART_CPN_DC_AMT
+		     , PNT_DC_AMT
+		     , PRE_PNT_DC_AMT
+		     , SAVE_PNT_AMT
+		     , REAL_ORD_AMT
+		     , GFCD_USE_AMT
+		     , REG_NO
+		     , NOW()
+		     , UPD_NO
+		     , NOW()
+		  FROM TB_ORDER_DETAIL_ITEM
+		 WHERE 1=1
+		   AND ORD_DTL_ITEM_SQ = #{ordDtlItemSq}
 	</insert>
 	
 	
+	
 </mapper>