Explorar o código

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

card007 %!s(int64=5) %!d(string=hai) anos
pai
achega
d674a8f94f

+ 1 - 82
src/main/java/com/style24/core/biz/dao/TscOrderDao.java

@@ -137,33 +137,9 @@ public interface TscOrderDao {
 	 */
 	Collection<Order> getOrderMemoList(Order order);
 
-	/**
-	 * 입점업체미발주 주문목록
-	 *
-	 * @param Order - 주문 정보
-	 * @return
-	 * @author jsh77b
-	 * @since 2020. 11. 18
-	 */
-	Collection<Order> getOrderSellerUnorderList(Order order);
 
-	/**
-	 * 입점업체 엑셀다운용 임시테이블 삭제
-	 *
-	 * @param Order
-	 * @author jsh77b
-	 * @since 2020. 11. 30
-	 */
-	void deleteEntryExcelDownTmp(Order order);
 
-	/**
-	 * 주문상세상태 수정 - 입점
-	 *
-	 * @param Order
-	 * @author jsh77b
-	 * @since 2020. 11. 30
-	 */
-	int updateOrderDetailStat(Order order);
+
 
 	/**
 	 * 주문상세 이력 등록
@@ -175,63 +151,6 @@ public interface TscOrderDao {
 	 */
 	int createOrderDetailHst(Order order);
 
-	/**
-	 * 엑셀 다운로드용 임시테이블 데이타 체크
-	 *
-	 * @param Order
-	 * @author jsh77b
-	 * @since 2020. 11. 30
-	 */
-	int getEntryUploadExcelCheck(Order order);
-
-	/**
-	 * 입점업체 엑셀다운용 임시테이블 생성
-	 *
-	 * @param Order
-	 * @author jsh77b
-	 * @since 2020. 11. 30
-	 */
-	void createEntryExcelDownTmp(Order order);
-
-	/**
-	 * 입점업체미발주목록
-	 *
-	 * @param Order - 주문 정보
-	 * @return
-	 * @author jsh77b
-	 * @since 2020. 11. 30
-	 */
-	Collection<Order> getSellerUnorderList(Order order);
-
-	/**
-	 * 주문 엑셀다운로드
-	 *
-	 * @param Order
-	 * @param handler - ResultHandler
-	 * @author jsh77b
-	 * @since 2020. 11. 30
-	 */
-	void getSellerUnorderList(Order order, ResultHandler<Order> handler);
-
-	/**
-	 * 주문상세 정보
-	 *
-	 * @param ordDtlNo - 주문 정보
-	 * @return
-	 * @author jsh77b
-	 * @since 2020. 11. 30
-	 */
-	Order getOrderDetailInfo(Order order);
-
-	/**
-	 * 주문상세정보 변경 - 송장번호 적용(입점)
-	 *
-	 * @param Order
-	 * @author jsh77b
-	 * @since 2020. 11. 30
-	 */
-	int updateOrderDetailInvoice(Order order);
-
 	/**
 	 * 주문상세 > 주문메오 > 주문메모정보조회
 	 *

+ 111 - 0
src/main/java/com/style24/core/biz/dao/TscScmDao.java

@@ -0,0 +1,111 @@
+package com.style24.core.biz.dao;
+
+import java.util.Collection;
+
+import org.apache.ibatis.session.ResultHandler;
+
+import com.style24.core.support.annotation.ShopDs;
+import com.style24.persistence.domain.Order;
+import com.style24.persistence.domain.Payment;
+
+/**
+ * 주문관리 Dao
+ *
+ * @author card007
+ * @since 2021. 01. 25
+ */
+@ShopDs
+public interface TscScmDao {
+	/**
+	 * 입점업체미발주 주문목록
+	 *
+	 * @param Order - 주문 정보
+	 * @return
+	 * @author jsh77b
+	 * @since 2020. 11. 18
+	 */
+	Collection<Order> getOrderSellerUnorderList(Order order);
+
+	/**
+	 * 입점업체 엑셀다운용 임시테이블 삭제
+	 *
+	 * @param Order
+	 * @author jsh77b
+	 * @since 2020. 11. 30
+	 */
+	void deleteEntryExcelDownTmp(Order order);
+
+	/**
+	 * 주문상세상태 수정 - 입점
+	 *
+	 * @param Order
+	 * @author jsh77b
+	 * @since 2020. 11. 30
+	 */
+	int updateOrderDetailStat(Order order);
+
+	/**
+	 * 주문 상품 정보 상태 변경
+	 * @param Order
+	 * @author xodud1202
+	 * @since 2021. 04. 19
+	 */
+	void updateOrderDetailItemStat(Order order);
+
+	/**
+	 * 엑셀 다운로드용 임시테이블 데이타 체크
+	 *
+	 * @param Order
+	 * @author jsh77b
+	 * @since 2020. 11. 30
+	 */
+	int getEntryUploadExcelCheck(Order order);
+
+	/**
+	 * 입점업체 엑셀다운용 임시테이블 생성
+	 *
+	 * @param Order
+	 * @author jsh77b
+	 * @since 2020. 11. 30
+	 */
+	void createEntryExcelDownTmp(Order order);
+
+	/**
+	 * 입점업체미발주목록
+	 *
+	 * @param Order - 주문 정보
+	 * @return
+	 * @author jsh77b
+	 * @since 2020. 11. 30
+	 */
+	Collection<Order> getSellerUnorderList(Order order);
+
+	/**
+	 * 주문 엑셀다운로드
+	 *
+	 * @param Order
+	 * @param handler - ResultHandler
+	 * @author jsh77b
+	 * @since 2020. 11. 30
+	 */
+	void getSellerUnorderList(Order order, ResultHandler<Order> handler);
+
+	/**
+	 * 주문상세 정보
+	 *
+	 * @param ordDtlNo - 주문 정보
+	 * @return
+	 * @author jsh77b
+	 * @since 2020. 11. 30
+	 */
+	Order getOrderDetailInfo(Order order);
+
+	/**
+	 * 주문상세정보 변경 - 송장번호 적용(입점)
+	 *
+	 * @param Order
+	 * @author jsh77b
+	 * @since 2020. 11. 30
+	 */
+	int updateOrderDetailInvoice(Order order);
+}

+ 96 - 100
src/main/java/com/style24/core/biz/service/TscOrderService.java

@@ -17,6 +17,7 @@ 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.TscOrderDao;
+import com.style24.core.biz.dao.TscScmDao;
 import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.persistence.domain.Order;
@@ -42,6 +43,9 @@ public class TscOrderService {
 
 	@Autowired
 	private TscOrderDao orderDao;
+
+	@Autowired
+	private TscScmDao scmDao;
 	
 	@Autowired
 	private TscPointService pointService;
@@ -200,7 +204,7 @@ public class TscOrderService {
 	 * @since 2020. 11. 30
 	 */
 	public Collection<Order> getOrderSellerUnorderList(Order order) {
-		return orderDao.getOrderSellerUnorderList(order);
+		return scmDao.getOrderSellerUnorderList(order);
 	}
 
 	/**
@@ -216,7 +220,7 @@ public class TscOrderService {
 		// 1. 임시테이블 삭제
 		Order deleteOrder = new Order();
 		deleteOrder.setRegNo(userNo);
-		orderDao.deleteEntryExcelDownTmp(deleteOrder);
+		scmDao.deleteEntryExcelDownTmp(deleteOrder);
 
 		for (Order oneData : orderList) {
 
@@ -229,21 +233,24 @@ public class TscOrderService {
 			updateData.setRegNo(userNo);
 			updateData.setUpdNo(userNo);
 
-			// 2. 주문상세상태값 변경
-			// 2.1 2020.12.15 주문상태체크추가 (결제완료 상태만 상품준비중 변경)
-			int result = orderDao.updateOrderDetailStat(updateData);
+			log.info("updateData={}", updateData);
 
+			// 2. 주문상세상태값 변경
+			int result = scmDao.updateOrderDetailStat(updateData);
 			if (result > 0) {
 				// 3. 주문상세상태 변경 이력생성
 				orderDao.createOrderDetailHst(updateData);
+
+				// 202010419 xodud1202 주문상품상세 상태 변경
+				updateData.setOrdDtlStat(TscConstants.OrderDetailStat.GOODS_PREPARE.value());
+				scmDao.updateOrderDetailItemStat(updateData);
 			}
 
 			// 4. 엑셀 다운로드용 임시테이블 데이타 체크
-			result = orderDao.getEntryUploadExcelCheck(updateData);
+			result = scmDao.getEntryUploadExcelCheck(updateData);
 			if (result < 1) {
-
 				// 5. 엑셀 다운로드용 임시테이블 저장
-				orderDao.createEntryExcelDownTmp(updateData);
+				scmDao.createEntryExcelDownTmp(updateData);
 			}
 		}
 	}
@@ -260,99 +267,87 @@ public class TscOrderService {
 
 		// 헤더 title 설정 (23)
 		String[] listTitles = {
-				"입점업체"
-				, "브랜드"
-				, "상품타입"
-				, "상품코드"
-				, "상품명"
-				, "주문번호"
-				, "주문상세번호"
-				, "주문상세상태"
-				, "주문자명"
-				, "주문일시"
-				, "결제수단"
-				, "주문자휴대전화"
-				, "수령자명"
-				, "수령자휴대전화"
-				, "수령자우편번호"
-				, "수령자기본주소"
-				, "수령자상세주소"
-				, "업체상품코드"
-				, "단품코드"
-				, "단품상품명"
-				, "칼라"
-				, "사이즈"
-				, "주문수량"
-				, "주문금액"
-				, "할인금액"
-				, "실결제금액"
-				, "송장"
+			"입점업체"
+			, "브랜드"
+			, "주문번호"
+			, "주문상세번호"
+			, "주문상세상태"
+			, "주문자명"
+			, "주문일시"
+			, "결제수단"
+			, "주문자휴대전화"
+			, "수령자명"
+			, "수령자휴대전화"
+			, "수령자우편번호"
+			, "수령자기본주소"
+			, "수령자상세주소"
+			, "업체상품코드"
+			, "상품코드"
+			, "상품명"
+			, "사이즈"
+			, "주문수량"
+			, "주문금액"
+			, "할인금액"
+			, "실결제금액"
+			, "송장"
 		};
 
 		// DB 처리 시 사용되는 파라미터명(셀명) 설정 (23)
 		String[] cellNames = {
-				"supplyCompNm"
-				, "brandKnm"
-				, "goodsTypeNm"
-				, "goodsCd"
-				, "goodsNm"
-				, "ordNo"
-				, "ordDtlNo"
-				, "ordDtlStatNm"
-				, "ordNm"
-				, "ordDt"
-				, "payMeansNm"
-				, "ordPhnno"
-				, "recipNm"
-				, "recipPhnno"
-				, "recipZipNo"
-				, "recipBaseAddr"
-				, "recipDtlAddr"
-				, "supplyGoodsCd"
-				, "itemCd"
-				, "itemNm"
-				, "optCd1"
-				, "optCd2"
-				, "itemOrdQty"
-				, "ordAmt"
-				, "totDcAmt"
-				, "realOrdAmt"
-				, "invoiceNo"
+			"supplyCompNm"
+			, "brandKnm"
+			, "ordNo"
+			, "ordDtlNo"
+			, "ordDtlStatNm"
+			, "ordNm"
+			, "ordDt"
+			, "payMeansNm"
+			, "ordPhnno"
+			, "recipNm"
+			, "recipPhnno"
+			, "recipZipcode"
+			, "recipBaseAddr"
+			, "recipDtlAddr"
+			, "supplyGoodsCd"
+			, "goodsCd"
+			, "goodsNm"
+			, "optCd2"
+			, "ordQty"
+			, "ordAmt"
+			, "totDcAmt"
+			, "realOrdAmt"
+			, "invoiceNo"
 		};
 
 		String[] cellTypes = {
-				GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
-				, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
+			, GagaExcelConstants.CellType.CHAR_CENTER.name()
 		};
 
 		GagaExcelResultHandler<Order> handler = new GagaExcelResultHandler<>(excelFilenameWithPath, "출고배송목록(입점)", listTitles, cellNames, cellTypes);
 
-		orderDao.getSellerUnorderList(order, handler);
+		scmDao.getSellerUnorderList(order, handler);
 
 		handler.close();
 	}
@@ -387,25 +382,24 @@ public class TscOrderService {
 				updateData.setSupplyCompCd(oneData.getSupplyCompCd());
 				updateData.setRegNo(userNo);
 				updateData.setUpdNo(userNo);
-				updateData.setItemCd(oneData.getItemCd());
+				updateData.setGoodsCd(oneData.getGoodsCd());
 				updateData.setOptCd2(oneData.getOptCd2());
+				updateData.setOrdQty(oneData.getOrdQty());
 				updateData.setShipCompCd(oneData.getShipCompCd());
 				updateData.setInvoiceNo(oneData.getInvoiceNo().replace("-", ""));
 
 				// 3. 원주문 상세정보 조회
 				// 2020.12.15 세트상품의 경우에는 2개 이상의 row 가 표시됨 (주문상세번호 + 상풐코드로 + 사이즈코드) 변경
-				Order orgOrder = orderDao.getOrderDetailInfo(oneData);
+				Order orgOrder = scmDao.getOrderDetailInfo(oneData);
 				if (orgOrder == null) {
-					failedGoodCdStr += updateData.getItemCd() + " /  " + updateData.getOptCd2() + "(Error1)<br/>"; // 상품정보 (상품명 + 칼라명) / 사이즈코드
+					failedGoodCdStr += updateData.getGoodsCd() + " /  " + updateData.getOptCd2() + "(Error1)<br/>"; // 상품정보 (상품명 + 칼라명) / 사이즈코드
 					failedCount++;
 					continue;
 				}
 
-				// 4. 상품코드, 사이즈, 주문수량 체크 (세트상품도 단품 단위로 업로드 요청)
-				// 2020.12.15 세트상품 때문에 단품단위로 비교
-				if (!orgOrder.getItemCd().equals(updateData.getItemCd())
-						|| !orgOrder.getOptCd2().equals(updateData.getOptCd2()) ) {
-					failedGoodCdStr += updateData.getItemCd() + " /  " + updateData.getOptCd2() + "(Error2)<br/>";
+				// 4. 상품코드, 사이즈, 주문수량 체크
+				if (!orgOrder.getGoodsCd().equals(updateData.getGoodsCd()) || !orgOrder.getOptCd2().equals(updateData.getOptCd2()) || orgOrder.getOrdQty() != updateData.getOrdQty()) {
+					failedGoodCdStr += updateData.getGoodsCd() + " /  " + updateData.getOptCd2() + "(Error2)<br/>";
 					failedCount++;
 					continue;
 				}
@@ -414,14 +408,16 @@ public class TscOrderService {
 				updateData.setSupplyCompCd(orgOrder.getSupplyCompCd());
 
 				// 6. 송장번호등록
-				int result = orderDao.updateOrderDetailInvoice(updateData);
+				int result = scmDao.updateOrderDetailInvoice(updateData);
 
 				// 7. 주문상세상태 변경 이력 등록
 				if (result > 0) {
 					successCount++;
+					updateData.setOrdDtlStat(TscConstants.OrderDetailStat.DELIVERY_PREPARE.value());
+					scmDao.updateOrderDetailItemStat(updateData);
 					orderDao.createOrderDetailHst(updateData);
 				} else {
-					failedGoodCdStr += updateData.getItemCd() + " /  " + updateData.getOptCd2() + "(Error3)<br/>";
+					failedGoodCdStr += updateData.getGoodsCd() + " /  " + updateData.getOptCd2() + "(Error3)<br/>";
 					failedCount++;
 				}
 			}

+ 4 - 274
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -859,111 +859,17 @@
 		 ORDER BY OM.REG_DT DESC
 	</select>
 
-	<!-- 주문/배송 > 입점업체미발주목록 -->
-	<select id="getOrderSellerUnorderList" parameterType="Order" resultType="Order">
-		/* order.getOrderSellerUnorderList */
-		SELECT OD.SUPPLY_COMP_CD
-			 , (SELECT SC.SUPPLY_COMP_NM
-				  FROM TB_SUPPLY_COMPANY SC
-				 WHERE SC.SUPPLY_COMP_CD = OD.SUPPLY_COMP_CD)                                                                                           AS SUPPLY_COMP_NM
-			 , G1.BRAND_CD
-			 , (SELECT B.BRAND_KNM
-				  FROM TB_BRAND B
-				 WHERE B.BRAND_CD = G1.BRAND_CD)                                                                                                        AS BRAND_KNM
-			 , G1.GOODS_TYPE
-			 , FN_GET_CODE_NM('G056', G1.GOODS_TYPE)                                                                                                    AS GOODS_TYPE_NM
-			 , G1.GOODS_CD
-			 , G1.GOODS_NM
-			 , OD.ORD_NO
-			 , OD.ORD_DTL_NO
-			 , OD.ORD_DTL_STAT
-			 , FN_GET_CODE_NM('G013', OD.ORD_DTL_STAT)                                                                                                  AS ORD_DTL_STAT_NM
-			 , O.ORD_NM
-			 , DATE_FORMAT(O.ORD_DT, '%Y%m%d%H%i%S')                                                                                                    AS ORD_DT
-			 , P.PAY_MEANS
-			 , FN_GET_CODE_NM('G014', P.PAY_MEANS)                                                                                                      AS PAY_MEANS_NM
-			 , O.ORD_PHNNO
-			 , DA.RECIP_NM
-			 , DA.RECIP_PHNNO
-			 , DA.RECIP_ZIPCODE
-			 , DA.RECIP_BASE_ADDR
-			 , DA.RECIP_DTL_ADDR
-			 , G2.SUPPLY_GOODS_CD
-			 , G2.GOODS_CD                                                                                                                              AS ITEM_CD
-			 , G2.GOODS_NM                                                                                                                              AS ITEM_NM
-			 , ODI.OPT_CD1
-			 , ODI.OPT_CD2
-			 , ODI.ORD_AMT
-			 , ODI.CPN1_DC_AMT + ODI.TMTB1_DC_AMT + ODI.TMTB2_DC_AMT + ODI.GOODS_CPN_DC_AMT + ODI.CART_CPN_DC_AMT + ODI.PNT_DC_AMT + ODI.PRE_PNT_DC_AMT AS TOT_DC_AMT
-			 , ODI.REAL_ORD_AMT
-			 , OD.INVOICE_NO
-			 , OD.SHIP_COMP_CD
-		  FROM TB_ORDER O
-		 INNER JOIN TB_ORDER_DETAIL OD
-		    ON O.ORD_NO = OD.ORD_NO
-		 INNER JOIN TB_GOODS G1
-		    ON OD.GOODS_CD = G1.GOODS_CD
-		 INNER JOIN TB_ORDER_DETAIL_ITEM ODI
-		    ON OD.ORD_NO = ODI.ORD_NO
-		   AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
-		 INNER JOIN TB_GOODS G2
-		    ON ODI.ITEM_CD = G2.GOODS_CD
-		  LEFT OUTER JOIN TB_GOODS_IMG GI
-		    ON ODI.ITEM_CD = GI.GOODS_CD
-		   AND ODI.OPT_CD1 = GI.COLOR_CD
-		 INNER JOIN TB_PAYMENT P
-		    ON O.ORD_NO = P.ORD_NO
-		   AND P.PAY_GB = 'O'
-		   AND P.PAY_STAT = 'G016_30'
-		 INNER JOIN TB_DELIVERY_ADDR DA
-		    ON OD.DELV_ADDR_SQ = DA.DELV_ADDR_SQ
-		 INNER JOIN TB_DELIVERY_FEE DF
-		    ON DF.SUPPLY_COMP_CD = OD.SUPPLY_COMP_CD
-		   AND DF.DELV_FEE_CD = OD.DELV_FEE_CD
-		   AND DF.ORD_NO = OD.ORD_NO
-		 WHERE 1 = 1
-		<if test='supplyCompCd != null and supplyCompCd != ""'>
-		   AND OD.SUPPLY_COMP_CD = #{supplyCompCd}
-		</if>
-		<if test="multiBrand != null and multiBrand != ''">
-		   AND G.BRAND_CD IN
-			<foreach collection="multiBrand" item="item" index="index"  open="(" close=")" separator=",">
-				#{item}
-			</foreach>
-		</if>
-		<if test="ordDtlStat != null and ordDtlStat != ''">
-		   AND OD.ORD_DTL_STAT = #{ordDtlStat}
-		</if>
-		<if test="ordNo != null and ordNo != ''">
-		   AND O.ORD_NO = #{ordNo}
-		</if>
-		<if test="ordNm != null and ordNm != ''">
-		   AND O.ORD_NM = #{ordNm}
-		</if>
-		<if test='goodsCd != null and goodsCd != ""'>
-		   AND G.GOODS_CD = #{goodsCd}
-		</if>
-		<if test='searchDateGb != null and searchDateGb == "ordDt"'>
-		   AND O.ORD_DT >= DATE_FORMAT(#{stDate}, '%Y-%m-%d %H:%i:%S')
-		   AND O.ORD_DT <![CDATA[<]]> DATE_FORMAT(DATE_ADD(#{edDate}, INTERVAL 1 DAY), '%Y-%m-%d %H:%i:%S')
-		</if>
-	</select>
 
-	<!-- 주문/배송 > 입점업체 엑셀다운용 임시테이블 삭제-->
-	<delete id="deleteEntryExcelDownTmp" parameterType="Order">
-		/* TsbOrder.deleteEntryExcelDownTmp */
-		DELETE
-		  FROM TB_ENTRY_UPLOAD_EXCEL
-		 WHERE 1 = 1
-	</delete>
+
+
 
 	<!-- 주문/배송 > 입점업체 주문상세정보 변경 (입점) -->
 	<update id="updateOrderDetailStat" parameterType="Order">
-		/* Order.updateOrderDetailStat */
+		/* TscOrder.updateOrderDetailStat */
 		UPDATE TB_ORDER_DETAIL
 		   SET ORD_DTL_STAT = 'G013_30'
 			 , UPD_NO       = #{updNo}
-			 , UPD_DT       = CURRENT_TIMESTAMP()
+			 , UPD_DT       = NOW()
 		 WHERE ORD_DTL_NO = #{ordDtlNo}
 		   AND ORD_DTL_STAT in ('G013_20')
 		   AND SUPPLY_COMP_CD = #{supplyCompCd}
@@ -1124,182 +1030,6 @@
 		 WHERE ORD_DTL_NO = #{ordDtlNo}
 	</insert>
 
-	<!-- 주문/배송 > 입점업체 엑셀다운 임시파일 체크-->
-	<select id="getEntryUploadExcelCheck" parameterType="Order" resultType="int">
-		SELECT COUNT(1)
-		  FROM TB_ENTRY_UPLOAD_EXCEL X
-		 WHERE 1 = 1
-		   AND X.ORD_NO = #{ordNo}
-		   AND X.ORD_DTL_NO = #{ordDtlNo}
-	</select>
-
-	<!-- 주문/배송 > 입점업체 엑셀다운용 임시테이블 생성-->
-	<insert id="createEntryExcelDownTmp" parameterType="Order">
-		INSERT INTO TB_ENTRY_UPLOAD_EXCEL (
-			ORD_NO
-			, ORD_DTL_NO
-			, REG_NO
-			, REG_DT
-		) VALUES (
-			#{ordNo}
-			, #{ordDtlNo}
-			, #{regNo}
-			, CURRENT_TIMESTAMP()
-		)
-	</insert>
-
-	<!-- 주문/배송 > 입점업체미발주목록 > 엑셀다운로드 -->
-	<select id="getSellerUnorderList" parameterType="Order" resultType="Order">
-		/* Order.getSellerUnorderList */
-		SELECT (SELECT SC.SUPPLY_COMP_NM
-				  FROM TB_SUPPLY_COMPANY SC
-				 WHERE SC.SUPPLY_COMP_CD = OD.SUPPLY_COMP_CD)                                                                                           AS SUPPLY_COMP_NM
-			 , (SELECT B.BRAND_KNM
-				  FROM TB_BRAND B
-				 WHERE B.BRAND_CD = G1.BRAND_CD)                                                                                                        AS BRAND_KNM
-			 , G1.GOODS_CD
-			 , G1.GOODS_NM
-			 , G1.GOODS_TYPE
-			 , FN_GET_CODE_NM('G056', G1.GOODS_TYPE)                                                                                                    AS GOODS_TYPE_NM
-			 , OD.ORD_NO
-			 , OD.ORD_DTL_NO
-			 , FN_GET_CODE_NM('G013', OD.ORD_DTL_STAT)                                                                                                  AS ORD_DTL_STAT_NM
-			 , O.ORD_NM
-			 , DATE_FORMAT(O.ORD_DT, '%Y%m%d%H%i%S')                                                                                                    AS ORD_DT
-			 , FN_GET_CODE_NM('G014', P.PAY_MEANS)                                                                                                      AS PAY_MEANS_NM
-			 , O.ORD_PHNNO
-			 , DA.RECIP_NM
-			 , DA.RECIP_PHNNO
-			 , DA.RECIP_ZIPCODE
-			 , DA.RECIP_BASE_ADDR
-			 , DA.RECIP_DTL_ADDR
-			 , G2.SUPPLY_GOODS_CD
-			 , G2.GOODS_CD                                                                                                                              AS ITEM_CD
-			 , G2.GOODS_NM                                                                                                                              AS ITEM_NM
-			 , ODI.OPT_CD1
-			 , ODI.OPT_CD2
-			 , ODI.ORD_AMT
-			 , ODI.CPN1_DC_AMT + ODI.TMTB1_DC_AMT + ODI.TMTB2_DC_AMT + ODI.GOODS_CPN_DC_AMT + ODI.CART_CPN_DC_AMT + ODI.PNT_DC_AMT + ODI.PRE_PNT_DC_AMT AS TOT_DC_AMT
-			 , ODI.REAL_ORD_AMT
-			 , OD.INVOICE_NO
-		  FROM TB_ORDER O
-		 INNER JOIN TB_ORDER_DETAIL OD
-		    ON O.ORD_NO = OD.ORD_NO
-		 INNER JOIN TB_GOODS G1
-		    ON OD.GOODS_CD = G1.GOODS_CD
-		 INNER JOIN TB_ORDER_DETAIL_ITEM ODI
-		    ON OD.ORD_NO = ODI.ORD_NO
-		   AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
-		 INNER JOIN TB_GOODS G2
-		    ON ODI.ITEM_CD = G2.GOODS_CD
-		  LEFT OUTER JOIN TB_GOODS_IMG GI
-		    ON ODI.ITEM_CD = GI.GOODS_CD
-		   AND ODI.OPT_CD1 = GI.COLOR_CD
-		 INNER JOIN TB_PAYMENT P
-		    ON O.ORD_NO = P.ORD_NO
-		   AND P.PAY_GB = 'O'
-		 INNER JOIN TB_DELIVERY_ADDR DA
-		    ON OD.DELV_ADDR_SQ = DA.DELV_ADDR_SQ
-		 INNER JOIN TB_DELIVERY_FEE DF
-		    ON DF.SUPPLY_COMP_CD = OD.SUPPLY_COMP_CD
-		   AND DF.DELV_FEE_CD = OD.DELV_FEE_CD
-		   AND DF.ORD_NO = OD.ORD_NO
-		 INNER JOIN TB_ENTRY_UPLOAD_EXCEL X
-		    ON OD.ORD_NO = X.ORD_NO
-		   AND OD.ORD_DTL_NO = X.ORD_DTL_NO
-		 WHERE 1 = 1
-		<if test='supplyCompCd != null and supplyCompCd != ""'>
-		   AND OD.SUPPLY_COMP_CD = #{supplyCompCd}
-		</if>
-	</select>
-
-	<!-- 주문/배송 > 입점업체미발주목록 > 주문상세 목록 -->
-	<select id="getOrderDetailInfo" parameterType="Order" resultType="Order">
-		/* TsaOrder.getOrderDetailInfo */
-		SELECT O.ORD_NO
-			 , O.MALL_GB
-			 , DATE_FORMAT(O.ORD_DT, '%Y%m%d%H%i%S')                             AS ORD_DT
-			 , DATE_FORMAT(O.PAY_DT, '%Y%m%d%H%i%S')                             AS PAY_DT
-			 , O.CUST_NO
-			 , O.ORD_NM
-			 , O.ORD_PHNNO
-			 , O.ORD_TELNO
-			 , O.ORD_EMAIL
-			 , OD.ORD_DTL_STAT
-			 , O.SITE_CD
-			 , O.FRONT_GB
-			 , OD.ORD_DTL_NO
-			 , OD.ORD_EXCH_GB
-			 , OD.ORG_ORD_DTL_NO
-			 , OD.VENDOR_ID
-			 , OD.SUPPLY_COMP_CD
-			 , OD.GOODS_CD
-			 , OD.FORMAL_GB
-			 , OD.GOODS_TYPE
-			 , OD.LIST_PRICE
-			 , OD.CURR_PRICE
-			 , OD.DC_RATE
-			 , OD.ORD_QTY
-			 , OD.ORD_AMT
-			 , OD.CNCL_RTN_QTY
-			 , OD.CNCL_RTN_AMT
-			 , OD.GOODS_CPN_DC_AMT
-			 , OD.CART_CPN_DC_AMT
-			 , OD.PNT_DC_AMT
-			 , OD.PRE_PNT_DC_AMT
-			 , OD.SAVE_PNT_AMT
-			 , OD.REAL_ORD_AMT
-			 , OD.AGENT_ORDER_ID
-			 , OD.EXTMALL_ORDER_ID
-			 , OD.ORD_DTL_STAT
-			 , FN_GET_CODE_NM('G013', OD.ORD_DTL_STAT)                           AS ORD_DTL_STAT_NM
-			 , OD.SOLDOUT_YN
-			 , OD.SOLDOUT_MEMO
-			 , OD.SOLDOUT_REG_NO
-			 , OD.SOLDOUT_REG_DT
-			 , OD.SHIP_COMP_CD
-			 , OD.INVOICE_NO
-			 , OD.DELV_STDT
-			 , OD.DELV_EDDT
-			 , OD.SELL_STORE_CD
-			 , OD.SELL_FEE_RATE
-			 , OD.DELV_ADDR_SQ
-			 , OD.REG_NO
-			 , OD.REG_DT
-			 , OD.UPD_NO
-			 , OD.UPD_DT
-			 , (SELECT SELF_GOODS_YN FROM TB_GOODS WHERE GOODS_CD = OD.GOODS_CD) AS SELF_YN
-			 , ODI.ITEM_CD
-			 , ODI.OPT_CD1
-			 , ODI.OPT_CD2
-		  FROM TB_ORDER O
-		 INNER JOIN TB_ORDER_DETAIL OD
-		    ON O.ORD_NO = OD.ORD_NO
-		 INNER JOIN TB_ORDER_DETAIL_ITEM ODI
-		    ON OD.ORD_NO = ODI.ORD_NO
-		   AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
-		 WHERE O.ORD_NO = OD.ORD_NO
-		   AND OD.ORD_DTL_NO = #{ordDtlNo}
-		   AND ODI.ITEM_CD = #{itemCd}
-		   AND ODI.OPT_CD2 = #{optCd2}
-		   AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
-	</select>
-
-	<!-- 주문/배송 > 주문상세정보 변경 - 송장번호 적용(입점)  -->
-	<update id="updateOrderDetailInvoice" parameterType="Order">
-		/* TsaOrder.updateOrderDetailInvoice */
-		UPDATE TB_ORDER_DETAIL
-		   SET ORD_DTL_STAT    = 'G013_55'
-			 , INVOICE_NO      = REPLACE(#{invoiceNo}, '-', '')
-			 , INVOICE_SEND_YN = 'Y'
-			 , SHIP_COMP_CD    = #{shipCompCd}
-			 , UPD_NO          = #{updNo}
-			 , UPD_DT          = CURRENT_TIMESTAMP()
-		 WHERE ORD_DTL_NO = #{ordDtlNo}
-		   AND ORD_DTL_STAT IN ('G013_30', 'G013_55')
-		   AND SUPPLY_COMP_CD = #{supplyCompCd}
-	</update>
-
 	<!-- 주문상세 > 주문메오 > 주문메모정보조회 -->
 	<select id="getOrderMemoInfo" parameterType="Order" resultType="Order">
 		/* order.getOrderMemoInfo */

+ 303 - 0
src/main/java/com/style24/persistence/mybatis/shop/TscScm.xml

@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.style24.core.biz.dao.TscScmDao">
+
+	<!-- 페이징을 위한 select절 상단 -->
+	<sql id="selectForPagingHeader">
+		SELECT *
+		  FROM (
+	</sql>
+
+	<!-- 페이징을 위한 select절 하단 -->
+	<sql id="selectForPagingFooter">
+		) ORIGINAL
+		WHERE NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
+	</sql>
+
+	<!-- 주문/배송 > 입점업체미발주목록 -->
+	<select id="getOrderSellerUnorderList" parameterType="Order" resultType="Order">
+		/* tscScm.getOrderSellerUnorderList */
+		SELECT OD.SUPPLY_COMP_CD
+		     , (SELECT SC.SUPPLY_COMP_NM
+		        FROM   TB_SUPPLY_COMPANY SC
+		        WHERE  SC.SUPPLY_COMP_CD = OD.SUPPLY_COMP_CD) AS SUPPLY_COMP_NM
+		     , G.BRAND_CD
+		     , (SELECT B.BRAND_KNM
+		        FROM   TB_BRAND B
+		        WHERE  B.BRAND_CD = G.BRAND_CD) AS BRAND_KNM
+		     , OD.ORD_NO
+		     , OD.ORD_DTL_NO
+		     , OD.ORD_DTL_STAT
+		     , FN_GET_CODE_NM('G013', OD.ORD_DTL_STAT ) AS ORD_DTL_STAT_NM
+		     , O.ORD_NM
+		     , DATE_FORMAT(O.ORD_DT,'%Y%m%d%H%i%S') AS ORD_DT
+		     , P.PAY_MEANS
+		     , FN_GET_CODE_NM('G014', P.PAY_MEANS  ) AS PAY_MEANS_NM
+		     , O.ORD_PHNNO
+		     , DA.RECIP_NM
+		     , DA.RECIP_PHNNO
+		     , DA.RECIP_ZIPCODE
+		     , DA.RECIP_BASE_ADDR
+		     , DA.RECIP_DTL_ADDR
+		     , G.SUPPLY_GOODS_CD
+		     , G.GOODS_CD
+		     , G.GOODS_NM
+		     , ODI.OPT_CD1
+		     , ODI.OPT_CD2
+		     , OD.ORD_QTY
+		     , OD.ORD_AMT
+		     , OD.CPN1_DC_AMT + OD.TMTB1_DC_AMT + OD.TMTB2_DC_AMT + OD.GOODS_CPN_DC_AMT + OD.CART_CPN_DC_AMT + OD.PNT_DC_AMT + OD.PRE_PNT_DC_AMT AS TOT_DC_AMT
+		     , OD.REAL_ORD_AMT
+		     , OD.INVOICE_NO
+		     , OD.SHIP_COMP_CD
+		FROM   TB_ORDER O
+		INNER  JOIN TB_ORDER_DETAIL OD
+		ON     O.ORD_NO = OD.ORD_NO
+		INNER  JOIN TB_ORDER_DETAIL_ITEM ODI
+		ON     OD.ORD_NO = ODI.ORD_NO
+		AND    OD.ORD_DTL_NO = ODI.ORD_DTL_NO
+		INNER  JOIN TB_PAYMENT P
+		ON     O.ORD_NO = P.ORD_NO
+		AND    P.PAY_GB = 'O'
+		INNER  JOIN TB_GOODS G
+		ON     OD.GOODS_CD = G.GOODS_CD
+		INNER  JOIN TB_DELIVERY_ADDR DA
+		ON     OD.DELV_ADDR_SQ = DA.DELV_ADDR_SQ
+		WHERE  1=1
+		AND    DA.RECIP_BASE_ADDR IS NOT NULL
+		AND    G.SELF_GOODS_YN = 'N'
+		<if test='supplyCompCd != null and supplyCompCd != ""'>
+		AND    OD.SUPPLY_COMP_CD = #{supplyCompCd}
+		</if>
+		<if test="multiBrand != null and multiBrand != ''">
+		AND    G.BRAND_CD IN
+			<foreach collection="multiBrand" item="item" index="index"  open="(" close=")" separator=",">
+				#{item}
+			</foreach>
+		</if>
+		<if test="ordDtlStat != null and ordDtlStat != ''">
+		AND    OD.ORD_DTL_STAT = #{ordDtlStat}
+		</if>
+		<if test="ordNo != null and ordNo != ''">
+		AND    O.ORD_NO = #{ordNo}
+		</if>
+		<if test="ordNm != null and ordNm != ''">
+		AND    O.ORD_NM = #{ordNm}
+		</if>
+		<if test='goodsCd != null and goodsCd != ""'>
+		AND    G.GOODS_CD = #{goodsCd}
+		</if>
+		<if test='searchDateGb != null and searchDateGb == "ordDt"'>
+		AND    O.ORD_DT >= DATE_FORMAT(#{stDate}, '%Y-%m-%d %H:%i:%S')
+		AND    O.ORD_DT <![CDATA[<]]> DATE_FORMAT(DATE_ADD(#{edDate}, INTERVAL 1 DAY), '%Y-%m-%d %H:%i:%S')
+		</if>
+	</select>
+
+	<!-- 입점업체 엑셀다운용 임시테이블 삭제-->
+	<delete id="deleteEntryExcelDownTmp" parameterType="Order">
+		/* tscScm.deleteEntryExcelDownTmp */
+		DELETE FROM TB_ENTRY_UPLOAD_EXCEL WHERE 1=1
+	</delete>
+
+	<!-- 주문상세정보 변경 (입점) -->
+	<update id="updateOrderDetailStat" parameterType="Order">
+		/* tscScm.updateOrderDetailStat */
+		UPDATE TB_ORDER_DETAIL
+		SET    ORD_DTL_STAT = 'G013_30'
+		     , UPD_NO = #{updNo}
+		     , UPD_DT = CURRENT_TIMESTAMP()
+		WHERE  ORD_DTL_NO = #{ordDtlNo}
+		AND    ORD_DTL_STAT in ('G013_20')
+		AND    SUPPLY_COMP_CD = #{supplyCompCd}
+	</update>
+
+	<!-- 주문 상품 정보 상태 변경  -->
+	<update id="updateOrderDetailItemStat" parameterType="Order">
+		/* tscScm.updateOrderDetailItemStat : 주문 상품 정보 상태 변경 */
+		UPDATE TB_ORDER_DETAIL_ITEM
+		SET    ORD_DTL_STAT = #{ordDtlStat}
+		     , UPD_NO = #{updNo}
+		     , UPD_DT = NOW()
+		WHERE  ORD_DTL_NO = #{ordDtlNo}
+	</update>
+
+	<!-- 주문/배송 > 입점업체 엑셀다운 임시파일 체크-->
+	<select id="getEntryUploadExcelCheck" parameterType="Order" resultType="int">
+		/* tscScm.getEntryUploadExcelCheck */
+		SELECT COUNT(1)
+		FROM   TB_ENTRY_UPLOAD_EXCEL X
+		WHERE  1 = 1
+		AND    X.ORD_NO = #{ordNo}
+		AND    X.ORD_DTL_NO = #{ordDtlNo}
+	</select>
+
+	<!-- 주문/배송 > 입점업체 엑셀다운용 임시테이블 생성-->
+	<insert id="createEntryExcelDownTmp" parameterType="Order">
+		/* tscScm.createEntryExcelDownTmp */
+		INSERT INTO TB_ENTRY_UPLOAD_EXCEL (
+		    ORD_NO
+		  , ORD_DTL_NO
+		  , REG_NO
+		  , REG_DT
+		) VALUES (
+		    #{ordNo}
+		  , #{ordDtlNo}
+		  , #{regNo}
+		  , CURRENT_TIMESTAMP()
+		 )
+	</insert>
+
+	<!-- 주문/배송 > 입점업체미발주목록 > 엑셀다운로드 -->
+	<select id="getSellerUnorderList" parameterType="Order" resultType="Order">
+		/* tscScm.getSellerUnorderList */
+		SELECT (SELECT SC.SUPPLY_COMP_NM
+		        FROM   TB_SUPPLY_COMPANY SC
+		        WHERE  SC.SUPPLY_COMP_CD = OD.SUPPLY_COMP_CD) AS SUPPLY_COMP_NM
+		     , (SELECT B.BRAND_KNM
+		        FROM   TB_BRAND B
+		        WHERE  B.BRAND_CD = G.BRAND_CD) AS BRAND_KNM
+		     , OD.ORD_NO
+		     , OD.ORD_DTL_NO
+		     , FN_GET_CODE_NM('G013', OD.ORD_DTL_STAT ) AS ORD_DTL_STAT_NM
+		     , O.ORD_NM
+		     , DATE_FORMAT(O.ORD_DT,'%Y%m%d%H%i%S') AS ORD_DT
+		     , FN_GET_CODE_NM('G014', P.PAY_MEANS  ) AS PAY_MEANS_NM
+		     , O.ORD_PHNNO
+		     , DA.RECIP_NM
+		     , DA.RECIP_PHNNO
+		     , DA.RECIP_ZIPCODE
+		     , DA.RECIP_BASE_ADDR
+		     , DA.RECIP_DTL_ADDR
+		     , G.SUPPLY_GOODS_CD
+		     , G.GOODS_CD
+		     , G.GOODS_NM
+		     , ODI.OPT_CD1
+		     , ODI.OPT_CD2
+		     , OD.ORD_QTY
+		     , OD.ORD_AMT
+		     , OD.CPN1_DC_AMT + OD.TMTB1_DC_AMT + OD.TMTB2_DC_AMT +  OD.GOODS_CPN_DC_AMT + OD.CART_CPN_DC_AMT + OD.PNT_DC_AMT + OD.PRE_PNT_DC_AMT AS TOT_DC_AMT
+		     , OD.REAL_ORD_AMT
+		     , OD.INVOICE_NO
+		FROM   TB_ORDER O
+		INNER  JOIN TB_ORDER_DETAIL OD
+		ON     O.ORD_NO = OD.ORD_NO
+		INNER  JOIN TB_ORDER_DETAIL_ITEM ODI
+		ON     OD.ORD_NO = ODI.ORD_NO
+		AND    OD.ORD_DTL_NO = ODI.ORD_DTL_NO
+		INNER  JOIN TB_PAYMENT P
+		ON     O.ORD_NO = P.ORD_NO
+		AND    P.PAY_GB = 'O'
+		AND    P.PAY_STAT = 'G016_30'
+		INNER  JOIN TB_GOODS G
+		ON     OD.GOODS_CD = G.GOODS_CD
+		INNER  JOIN TB_DELIVERY_ADDR DA
+		ON     OD.DELV_ADDR_SQ = DA.DELV_ADDR_SQ
+		INNER  JOIN TB_ENTRY_UPLOAD_EXCEL X
+		ON     OD.ORD_NO = X.ORD_NO
+		AND    OD.ORD_DTL_NO = X.ORD_DTL_NO
+		WHERE  1=1
+		AND    DA.RECIP_BASE_ADDR IS NOT NULL
+		<if test='supplyCompCd != null and supplyCompCd != ""'>
+		AND    OD.SUPPLY_COMP_CD = #{supplyCompCd}
+		</if>
+	</select>
+
+	<!-- 주문/배송 > 입점업체미발주목록 > 주문상세 목록 -->
+	<select id="getOrderDetailInfo" parameterType="Order" resultType="Order">
+		/* TsaOrder.getOrderDetailInfo */
+		SELECT O.ORD_NO
+			 , O.MALL_GB
+			 , DATE_FORMAT(O.ORD_DT, '%Y%m%d%H%i%S')                             AS ORD_DT
+			 , DATE_FORMAT(O.PAY_DT, '%Y%m%d%H%i%S')                             AS PAY_DT
+			 , O.CUST_NO
+			 , O.ORD_NM
+			 , O.ORD_PHNNO
+			 , O.ORD_TELNO
+			 , O.ORD_EMAIL
+			 , OD.ORD_DTL_STAT
+			 , O.SITE_CD
+			 , O.FRONT_GB
+			 , OD.ORD_DTL_NO
+			 , OD.ORD_EXCH_GB
+			 , OD.ORG_ORD_DTL_NO
+			 , OD.VENDOR_ID
+			 , OD.SUPPLY_COMP_CD
+			 , OD.GOODS_CD
+			 , OD.FORMAL_GB
+			 , OD.GOODS_TYPE
+			 , OD.LIST_PRICE
+			 , OD.CURR_PRICE
+			 , OD.DC_RATE
+			 , OD.ORD_QTY
+			 , OD.ORD_AMT
+			 , OD.CNCL_RTN_QTY
+			 , OD.CNCL_RTN_AMT
+			 , OD.GOODS_CPN_DC_AMT
+			 , OD.CART_CPN_DC_AMT
+			 , OD.PNT_DC_AMT
+			 , OD.PRE_PNT_DC_AMT
+			 , OD.SAVE_PNT_AMT
+			 , OD.REAL_ORD_AMT
+			 , OD.AGENT_ORDER_ID
+			 , OD.EXTMALL_ORDER_ID
+			 , OD.ORD_DTL_STAT
+			 , FN_GET_CODE_NM('G013', OD.ORD_DTL_STAT)                           AS ORD_DTL_STAT_NM
+			 , OD.SOLDOUT_YN
+			 , OD.SOLDOUT_MEMO
+			 , OD.SOLDOUT_REG_NO
+			 , OD.SOLDOUT_REG_DT
+			 , OD.SHIP_COMP_CD
+			 , OD.INVOICE_NO
+			 , OD.DELV_STDT
+			 , OD.DELV_EDDT
+			 , OD.SELL_STORE_CD
+			 , OD.SELL_FEE_RATE
+			 , OD.DELV_ADDR_SQ
+			 , OD.REG_NO
+			 , OD.REG_DT
+			 , OD.UPD_NO
+			 , OD.UPD_DT
+			 , (SELECT SELF_GOODS_YN FROM TB_GOODS WHERE GOODS_CD = OD.GOODS_CD) AS SELF_YN
+			 , ODI.ITEM_CD
+			 , ODI.OPT_CD1
+			 , ODI.OPT_CD2
+		FROM   TB_ORDER O
+		INNER  JOIN TB_ORDER_DETAIL OD
+		ON     O.ORD_NO = OD.ORD_NO
+		INNER  JOIN TB_ORDER_DETAIL_ITEM ODI
+		ON     OD.ORD_NO = ODI.ORD_NO
+		AND    OD.ORD_DTL_NO = ODI.ORD_DTL_NO
+		WHERE  O.ORD_NO = OD.ORD_NO
+		AND    OD.ORD_DTL_NO = #{ordDtlNo}
+	</select>
+
+	<!-- 주문/배송 > 주문상세정보 변경 - 송장번호 적용(입점)  -->
+	<update id="updateOrderDetailInvoice" parameterType="Order">
+		/* TsaOrder.updateOrderDetailInvoice */
+		UPDATE TB_ORDER_DETAIL
+		SET ORD_DTL_STAT    = 'G013_40'
+		  , INVOICE_NO      = REPLACE(#{invoiceNo}, '-', '')
+		  , INVOICE_SEND_YN = 'Y'
+		  , SHIP_COMP_CD    = #{shipCompCd}
+		  , UPD_NO          = #{updNo}
+		  , UPD_DT          = CURRENT_TIMESTAMP()
+		WHERE ORD_DTL_NO = #{ordDtlNo}
+		AND   ORD_DTL_STAT = 'G013_30'
+		AND   SUPPLY_COMP_CD = #{supplyCompCd}
+	</update>
+</mapper>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+