|
@@ -117,7 +117,7 @@
|
|
|
#{recallexceptionitemno}
|
|
#{recallexceptionitemno}
|
|
|
, #{recallexceptionno}
|
|
, #{recallexceptionno}
|
|
|
, #{deliveryorderitemno}
|
|
, #{deliveryorderitemno}
|
|
|
- , #{orderdtlno}
|
|
|
|
|
|
|
+ , CASE WHEN #{orderdtlno} IS NULL THEN (SELECT ORD_DTL_NO FROM TB_ORDER_DETAIL_ITEM WHERE ORD_NO = #{orderno} AND OPT_CD = #{skucode} ) ELSE #{orderdtlno} END
|
|
|
, #{productno}
|
|
, #{productno}
|
|
|
, #{productcode}
|
|
, #{productcode}
|
|
|
, #{productname}
|
|
, #{productname}
|
|
@@ -234,6 +234,9 @@
|
|
|
, REASON_CD
|
|
, REASON_CD
|
|
|
, ORD_NO
|
|
, ORD_NO
|
|
|
, ORD_DTL_NO
|
|
, ORD_DTL_NO
|
|
|
|
|
+ , GIFT_YN
|
|
|
|
|
+ , PRODUCT_NO
|
|
|
|
|
+ , PRODUCT_CODE
|
|
|
, REG_NO
|
|
, REG_NO
|
|
|
, REG_DT
|
|
, REG_DT
|
|
|
, UPD_NO
|
|
, UPD_NO
|
|
@@ -246,9 +249,12 @@
|
|
|
, #{deliveryexceptionitemno}
|
|
, #{deliveryexceptionitemno}
|
|
|
, #{deliveryexceptionno}
|
|
, #{deliveryexceptionno}
|
|
|
, #{exceptionqty}
|
|
, #{exceptionqty}
|
|
|
- , #{reasoncd}
|
|
|
|
|
- , #{orderno}
|
|
|
|
|
- , #{orderdtlno}
|
|
|
|
|
|
|
+ , #{reasoncd}
|
|
|
|
|
+ , #{orderno}
|
|
|
|
|
+ , CASE WHEN #{orderdtlno} IS NULL THEN (SELECT ORD_DTL_NO FROM TB_ORDER_DETAIL_ITEM WHERE ORD_NO = #{orderno} AND OPT_CD = #{skucode} ) ELSE #{orderdtlno} END
|
|
|
|
|
+ , #{giftyn}
|
|
|
|
|
+ , #{productno}
|
|
|
|
|
+ , #{productcode}
|
|
|
, #{regNo}
|
|
, #{regNo}
|
|
|
, NOW()
|
|
, NOW()
|
|
|
, #{regNo}
|
|
, #{regNo}
|
|
@@ -267,7 +273,7 @@
|
|
|
AND ORD_NO = #{orderno}
|
|
AND ORD_NO = #{orderno}
|
|
|
AND ORD_DTL_STAT IN ('G013_20','G013_30','G013_35','G013_40')
|
|
AND ORD_DTL_STAT IN ('G013_20','G013_30','G013_35','G013_40')
|
|
|
</update>
|
|
</update>
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
<!-- 주문정보 조회 -->
|
|
<!-- 주문정보 조회 -->
|
|
|
<select id="getOrderInfoList" resultType="Delivery">
|
|
<select id="getOrderInfoList" resultType="Delivery">
|
|
|
SELECT
|
|
SELECT
|
|
@@ -444,14 +450,14 @@
|
|
|
</update>
|
|
</update>
|
|
|
|
|
|
|
|
<!-- 주문상세송장 등록 -->
|
|
<!-- 주문상세송장 등록 -->
|
|
|
- <insert id="insertTbOrdDtlInvoice" parameterType="Delivery" >
|
|
|
|
|
|
|
+ <insert id="insertTbOrdDtlInvoice" parameterType="Delivery" keyProperty="ordInvoiceSq">
|
|
|
/*TsbDelivery.insertTbOrdDtlInvoice*/
|
|
/*TsbDelivery.insertTbOrdDtlInvoice*/
|
|
|
INSERT INTO TB_ORDER_DETAIL_INVOICE
|
|
INSERT INTO TB_ORDER_DETAIL_INVOICE
|
|
|
(
|
|
(
|
|
|
ORD_NO -- 주문번호
|
|
ORD_NO -- 주문번호
|
|
|
, ORD_DTL_NO -- 주문상세번호
|
|
, ORD_DTL_NO -- 주문상세번호
|
|
|
, INVOICE_NO -- 송장번호
|
|
, INVOICE_NO -- 송장번호
|
|
|
- , ADD_INVOICE_YN -- 추가송장여부
|
|
|
|
|
|
|
+ , ADD_INVOICE_YN -- 추가송장여부
|
|
|
, DEL_YN -- 삭제여부
|
|
, DEL_YN -- 삭제여부
|
|
|
, REG_NO -- 등록자NO
|
|
, REG_NO -- 등록자NO
|
|
|
, REG_DT -- 등록일시
|
|
, REG_DT -- 등록일시
|
|
@@ -473,6 +479,16 @@
|
|
|
|
|
|
|
|
</insert>
|
|
</insert>
|
|
|
|
|
|
|
|
|
|
+ <!-- 주문상세번호 조회 -->
|
|
|
|
|
+ <select id="getOrdDtlno" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getOrdDtlno*/
|
|
|
|
|
+ SELECT ORD_DTL_NO
|
|
|
|
|
+ FROM TB_ORDER_DETAIL_ITEM
|
|
|
|
|
+ WHERE ORD_NO = #{orderno}
|
|
|
|
|
+ AND PRODUCT_NO = #{productno}
|
|
|
|
|
+ AND OPT_CD = #{skucode}
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
<!-- 주문상세 상태값변경 -->
|
|
<!-- 주문상세 상태값변경 -->
|
|
|
<update id="updateOrdDtlStat" parameterType="Delivery" >
|
|
<update id="updateOrdDtlStat" parameterType="Delivery" >
|
|
|
/*TsbDelivery.updateOrdDtlStat*/
|
|
/*TsbDelivery.updateOrdDtlStat*/
|
|
@@ -480,10 +496,14 @@
|
|
|
ORD_DTL_STAT = #{ordDtlStat} -- G013_40 배송준비중
|
|
ORD_DTL_STAT = #{ordDtlStat} -- G013_40 배송준비중
|
|
|
, INVOICE_NO = #{invoiceno}
|
|
, INVOICE_NO = #{invoiceno}
|
|
|
, INVOICE_SEND_YN = 'N'
|
|
, INVOICE_SEND_YN = 'N'
|
|
|
|
|
+ , SHIP_COMP_CD = (SELECT MAX(C.SHIP_COMP_CD) FROM TB_SHIP_COMPANY C WHERE WMS_SHIP_COMP_CD = #{logisticsno})
|
|
|
, UPD_NO = #{regNo}
|
|
, UPD_NO = #{regNo}
|
|
|
, UPD_DT = NOW()
|
|
, UPD_DT = NOW()
|
|
|
- WHERE ORD_DTL_NO = #{orderno}
|
|
|
|
|
- AND ORD_NO = #{orderdtlno}
|
|
|
|
|
|
|
+ WHERE ORD_NO = #{orderno}
|
|
|
|
|
+ <if test='orderdtlno != null and orderdtlno != ""'>
|
|
|
|
|
+ AND ORD_DTL_NO = #{orderdtlno}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ AND ORD_DTL_STAT NOT IN ('G013_40','G013_50','G013_55','G013_60','G013_70','G013_97','G013_98','G013_99')
|
|
|
|
|
|
|
|
</update>
|
|
</update>
|
|
|
|
|
|
|
@@ -535,6 +555,7 @@
|
|
|
AND B.ORD_EXCH_GB = 'O' -- 주문
|
|
AND B.ORD_EXCH_GB = 'O' -- 주문
|
|
|
AND A.ORD_DT >= DATE_ADD(DATE_FORMAT(CONCAT(STR_TO_DATE(NOW(), '%Y-%m-%d'),' 10:00:00'),'%Y%m%d%H%i%S') , INTERVAL -1 DAY)
|
|
AND A.ORD_DT >= DATE_ADD(DATE_FORMAT(CONCAT(STR_TO_DATE(NOW(), '%Y-%m-%d'),' 10:00:00'),'%Y%m%d%H%i%S') , INTERVAL -1 DAY)
|
|
|
AND NOT EXISTS (SELECT '1' FROM TB_GOODS_RES_SELL WHERE GOODS_CD = B.GOODS_CD AND USE_YN ='Y')
|
|
AND NOT EXISTS (SELECT '1' FROM TB_GOODS_RES_SELL WHERE GOODS_CD = B.GOODS_CD AND USE_YN ='Y')
|
|
|
|
|
+ -- AND A.REG_NO = 100025
|
|
|
GROUP BY A.ORD_NO
|
|
GROUP BY A.ORD_NO
|
|
|
|
|
|
|
|
UNION ALL /* 교환 상품 */
|
|
UNION ALL /* 교환 상품 */
|
|
@@ -551,6 +572,7 @@
|
|
|
AND D.CHG_STAT IN ('G685_30','G685_32')
|
|
AND D.CHG_STAT IN ('G685_30','G685_32')
|
|
|
AND DATE_ADD(DATE_FORMAT(CONCAT(STR_TO_DATE(NOW(), '%Y-%m-%d'),' 10:00:00'),'%Y%m%d%H%i%S') , INTERVAL -1 DAY)
|
|
AND DATE_ADD(DATE_FORMAT(CONCAT(STR_TO_DATE(NOW(), '%Y-%m-%d'),' 10:00:00'),'%Y%m%d%H%i%S') , INTERVAL -1 DAY)
|
|
|
<= CASE WHEN E.WD_BF_SEND_YN = 'Y' THEN B.REG_DT ELSE D.COMPLETE_DT END
|
|
<= CASE WHEN E.WD_BF_SEND_YN = 'Y' THEN B.REG_DT ELSE D.COMPLETE_DT END
|
|
|
|
|
+ -- AND A.REG_NO = 100025
|
|
|
GROUP BY A.ORD_NO
|
|
GROUP BY A.ORD_NO
|
|
|
|
|
|
|
|
UNION ALL
|
|
UNION ALL
|
|
@@ -565,6 +587,7 @@
|
|
|
AND D.DELV_RES_DT <= NOW()
|
|
AND D.DELV_RES_DT <= NOW()
|
|
|
AND DATE_ADD(DATE_FORMAT(CONCAT(STR_TO_DATE(NOW(), '%Y-%m-%d'),' 10:00:00'),'%Y%m%d%H%i%S') , INTERVAL -1 DAY)
|
|
AND DATE_ADD(DATE_FORMAT(CONCAT(STR_TO_DATE(NOW(), '%Y-%m-%d'),' 10:00:00'),'%Y%m%d%H%i%S') , INTERVAL -1 DAY)
|
|
|
< CASE WHEN A.ORD_DT < D.DELV_RES_DT THEN D.DELV_RES_DT ELSE A.ORD_DT END
|
|
< CASE WHEN A.ORD_DT < D.DELV_RES_DT THEN D.DELV_RES_DT ELSE A.ORD_DT END
|
|
|
|
|
+ -- AND A.REG_NO = 100025
|
|
|
GROUP BY A.ORD_NO
|
|
GROUP BY A.ORD_NO
|
|
|
|
|
|
|
|
) A
|
|
) A
|
|
@@ -719,6 +742,8 @@
|
|
|
AND ORD_NO = #{ordNo}
|
|
AND ORD_NO = #{ordNo}
|
|
|
AND ORD_DTL_STAT = 'G013_20'
|
|
AND ORD_DTL_STAT = 'G013_20'
|
|
|
</update>
|
|
</update>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
|
|
|
<!-- 출고처 직송매장 체크 -->
|
|
<!-- 출고처 직송매장 체크 -->
|
|
|
<select id="getDeliveryAssignBanGoodsShop" resultType="Delivery">
|
|
<select id="getDeliveryAssignBanGoodsShop" resultType="Delivery">
|
|
@@ -903,7 +928,7 @@
|
|
|
, CASE WHEN B.SHOT_DELV_YN ='Y' THEN '14' ELSE '05' END AS LogisticsNo
|
|
, CASE WHEN B.SHOT_DELV_YN ='Y' THEN '14' ELSE '05' END AS LogisticsNo
|
|
|
, CASE WHEN B.SHOT_DELV_YN ='Y' THEN '디디로직스' ELSE 'CJ 대한통운' END AS LogisticsName
|
|
, CASE WHEN B.SHOT_DELV_YN ='Y' THEN '디디로직스' ELSE 'CJ 대한통운' END AS LogisticsName
|
|
|
, E.DELV_MEMO AS DeliveryMemo
|
|
, E.DELV_MEMO AS DeliveryMemo
|
|
|
- , CONCAT(F.GOODS_NM,' 외 ', (SELECT COUNT(*) -1 FROM TB_ORDER_DETAIL WHERE ORD_NO = A.ORD_NO) , '건') AS ProductSummary
|
|
|
|
|
|
|
+ , CASE WHEN (SELECT COUNT(*) -1 FROM TB_ORDER_DETAIL WHERE ORD_NO = A.ORD_NO) > 0 THEN CONCAT(F.GOODS_NM,' 외 ', (SELECT COUNT(*) -1 FROM TB_ORDER_DETAIL WHERE ORD_NO = A.ORD_NO) , '건') ELSE F.GOODS_NM END AS ProductSummary
|
|
|
, 0 AS IsCancel
|
|
, 0 AS IsCancel
|
|
|
, 0 AS IsChangeAddress
|
|
, 0 AS IsChangeAddress
|
|
|
, 0 AS IsReOrder
|
|
, 0 AS IsReOrder
|
|
@@ -916,7 +941,7 @@
|
|
|
, C.PRODUCT_NO AS ProductNo
|
|
, C.PRODUCT_NO AS ProductNo
|
|
|
, C.PRODUCT_CODE AS ProductCode
|
|
, C.PRODUCT_CODE AS ProductCode
|
|
|
, (SELECT CC.GOODS_NM FROM TB_GOODS CC WHERE CC.GOODS_CD = C.ITEM_CD) AS ProductName -- 상품명
|
|
, (SELECT CC.GOODS_NM FROM TB_GOODS CC WHERE CC.GOODS_CD = C.ITEM_CD) AS ProductName -- 상품명
|
|
|
- , CASE WHEN B.GOODS_TYPE = 'G056_S' THEN '세트' ELSE '일반' END AS ProductTypeCd -- 상품타입
|
|
|
|
|
|
|
+ , '일반' AS ProductTypeCd -- 상품타입
|
|
|
, C.OPT_CD AS SKUCode
|
|
, C.OPT_CD AS SKUCode
|
|
|
, CONCAT(C.OPT_CD1,'/',C.OPT_CD2) AS SKUValue
|
|
, CONCAT(C.OPT_CD1,'/',C.OPT_CD2) AS SKUValue
|
|
|
, B.CURR_PRICE + B.OPT_ADD_PRICE AS UnitPrice
|
|
, B.CURR_PRICE + B.OPT_ADD_PRICE AS UnitPrice
|
|
@@ -928,6 +953,8 @@
|
|
|
, CASE WHEN B.GOODS_TYPE = 'G056_S' THEN F.GOODS_NM ELSE '' END AS SetproductName -- 세트상품명
|
|
, CASE WHEN B.GOODS_TYPE = 'G056_S' THEN F.GOODS_NM ELSE '' END AS SetproductName -- 세트상품명
|
|
|
, B.ORD_DTL_NO AS OrderDtlNo
|
|
, B.ORD_DTL_NO AS OrderDtlNo
|
|
|
, 0 AS Cqty
|
|
, 0 AS Cqty
|
|
|
|
|
+ , CASE WHEN B.GOODS_TYPE = 'G056_S' THEN (B.ORD_QTY -B.CNCL_RTN_QTY) ELSE 0 END AS SetQty -- 세트상품 수량
|
|
|
|
|
+ , CASE WHEN B.GOODS_TYPE = 'G056_S' THEN C.ITEM_QTY ELSE 0 END AS SetItemQty -- 세트 구성수량
|
|
|
FROM TB_ORDER A
|
|
FROM TB_ORDER A
|
|
|
JOIN TB_ORDER_DETAIL B ON A.ORD_NO = B.ORD_NO
|
|
JOIN TB_ORDER_DETAIL B ON A.ORD_NO = B.ORD_NO
|
|
|
JOIN TB_ORDER_DETAIL_ITEM C ON B.ORD_NO = C.ORD_NO AND B.ORD_DTL_NO = C.ORD_DTL_NO
|
|
JOIN TB_ORDER_DETAIL_ITEM C ON B.ORD_NO = C.ORD_NO AND B.ORD_DTL_NO = C.ORD_DTL_NO
|
|
@@ -942,6 +969,60 @@
|
|
|
|
|
|
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
|
|
+ <!-- WMS 출고요청 대상 조회 -->
|
|
|
|
|
+ <select id="getWmsDeliveryGiftList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getWmsDeliveryGiftList*/
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ A.ORD_NO AS OrderNo
|
|
|
|
|
+ , '' AS DeliveryTypeCd
|
|
|
|
|
+ , '' AS IssueTypeCd
|
|
|
|
|
+ , '10' AS StatusCd -- 배송지시
|
|
|
|
|
+ , '' AS LoginId
|
|
|
|
|
+ , '' AS CustomerName
|
|
|
|
|
+ , '' AS DateOrdered
|
|
|
|
|
+ , '' AS Grade
|
|
|
|
|
+ , '' AS Receiver
|
|
|
|
|
+ , '' AS ReceiverTelNum
|
|
|
|
|
+ , '' AS ReceiverCellNum
|
|
|
|
|
+ , '' AS DeliveryPostalCode
|
|
|
|
|
+ , '' AS DeliveryAddr1
|
|
|
|
|
+ , '' AS DeliveryAddr2
|
|
|
|
|
+ , '' AS LogisticsNo
|
|
|
|
|
+ , '' AS LogisticsName
|
|
|
|
|
+ , '' AS DeliveryMemo
|
|
|
|
|
+ , '' AS ProductSummary
|
|
|
|
|
+ , 0 AS IsCancel
|
|
|
|
|
+ , 0 AS IsChangeAddress
|
|
|
|
|
+ , 0 AS IsReOrder
|
|
|
|
|
+ , '' AS OrderPath -- 주문경로 (확인필요!)
|
|
|
|
|
+ , '' AS DeliveryClassCd
|
|
|
|
|
+ , '' AS ShippingTypeCd -- 출고구분 10 일반, 20 교환
|
|
|
|
|
+ , '' AS IsBeautyDelivery
|
|
|
|
|
+ , '' AS DeliveryAddrNew -- 도로명 주소
|
|
|
|
|
+ , '' AS ProviderNo
|
|
|
|
|
+ , C.PRODUCT_NO AS ProductNo
|
|
|
|
|
+ , C.PRODUCT_CODE AS ProductCode
|
|
|
|
|
+ , (SELECT G.GOODS_NM FROM TB_FREE_GOODS G WHERE G.PRODUCT_NO = C.PRODUCT_NO AND G.PRODUCT_CODE = C.PRODUCT_CODE) AS ProductName -- 상품명
|
|
|
|
|
+ , '사은품' AS ProductTypeCd -- 상품타입
|
|
|
|
|
+ , ' ' AS SKUCode
|
|
|
|
|
+ , '' AS SKUValue
|
|
|
|
|
+ , 0 AS UnitPrice
|
|
|
|
|
+ , C.ITEM_QTY AS Qty
|
|
|
|
|
+ , 'WMS' AS StockMgmtTypeCd
|
|
|
|
|
+ , 'Y' AS GiftYn -- 사은품여부
|
|
|
|
|
+ , '' AS SetProductCode -- 세트상품코드
|
|
|
|
|
+ , 'N' AS SetProductYn -- 세트상품여부
|
|
|
|
|
+ , '' AS SetproductName -- 세트상품명
|
|
|
|
|
+ , NULL AS OrderDtlNo
|
|
|
|
|
+ , 0 AS Cqty
|
|
|
|
|
+ , 0 AS SetQty -- 세트상품 수량
|
|
|
|
|
+ , 0 AS SetItemQty -- 세트 구성수량
|
|
|
|
|
+ FROM TB_ORD_FREEGIFT A
|
|
|
|
|
+ JOIN TB_ORD_FREEGIFT_VAL C ON A.ORD_FREEGIFT_SQ = C.ORD_FREEGIFT_SQ
|
|
|
|
|
+ JOIN TB_ORDER O ON A.ORD_NO = O.ORD_NO
|
|
|
|
|
+ WHERE A.ORD_NO = #{ordNo}
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
<!-- WMS 회수요청 대상 조회 -->
|
|
<!-- WMS 회수요청 대상 조회 -->
|
|
|
<select id="getWithdrawRequestList" resultType="Delivery">
|
|
<select id="getWithdrawRequestList" resultType="Delivery">
|
|
|
/*TsbDelivery.getWithdrawRequestList*/
|
|
/*TsbDelivery.getWithdrawRequestList*/
|
|
@@ -1260,5 +1341,239 @@
|
|
|
WHERE ORD_CHG_SQ = #{ordChgSq}
|
|
WHERE ORD_CHG_SQ = #{ordChgSq}
|
|
|
</update>
|
|
</update>
|
|
|
|
|
|
|
|
|
|
+ <insert id="createOrderDetailItemHst" parameterType="Delivery">
|
|
|
|
|
+ /* TsbDelivery.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
|
|
|
|
|
+ , #{ordDtlStat}
|
|
|
|
|
+ , 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_NO = #{ordDtlNo}
|
|
|
|
|
+ </insert>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 품절 사은품 재고 업데이트 -->
|
|
|
|
|
+ <update id="updateTbFreegiftValSoldout" parameterType="Delivery" >
|
|
|
|
|
+ /*TsbDelivery.updateTbFreegiftValSoldout*/
|
|
|
|
|
+ UPDATE TB_FREEGIFT_VAL SET
|
|
|
|
|
+ LEFT_QTY = 0
|
|
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
|
|
+ , UPD_DT = NOW()
|
|
|
|
|
+ WHERE PRODUCT_NO = #{productno}
|
|
|
|
|
+
|
|
|
|
|
+ </update>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 품절대상 주문 목록 조회(일반,예약) -->
|
|
|
|
|
+ <select id="getSoldoutOrderNoList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getSoldoutOrderNoList*/
|
|
|
|
|
+ <![CDATA[
|
|
|
|
|
+ SELECT ORD_NO
|
|
|
|
|
+ FROM (
|
|
|
|
|
+ SELECT A.ORD_NO
|
|
|
|
|
+ FROM TB_ORDER A
|
|
|
|
|
+ JOIN TB_ORDER_DETAIL B ON A.ORD_NO = B.ORD_NO
|
|
|
|
|
+ JOIN TB_GOODS C ON B.GOODS_CD = C.GOODS_CD
|
|
|
|
|
+ WHERE B.ORD_DTL_STAT = 'G013_20' -- 결재완료
|
|
|
|
|
+ AND C.SELF_GOODS_YN = 'Y' -- 자사 상품
|
|
|
|
|
+ AND A.ORD_DT < DATE_ADD(DATE_FORMAT(CONCAT(STR_TO_DATE(NOW(), '%Y-%m-%d'),' 10:00:00'),'%Y%m%d%H%i%S') , INTERVAL -1 DAY)
|
|
|
|
|
+ AND NOT EXISTS (SELECT '1' FROM TB_GOODS_RES_SELL WHERE GOODS_CD = B.GOODS_CD AND USE_YN ='Y')
|
|
|
|
|
+
|
|
|
|
|
+ UNION ALL
|
|
|
|
|
+
|
|
|
|
|
+ SELECT A.ORD_NO
|
|
|
|
|
+ FROM TB_ORDER A
|
|
|
|
|
+ JOIN TB_ORDER_DETAIL B ON A.ORD_NO = B.ORD_NO
|
|
|
|
|
+ JOIN TB_GOODS C ON B.GOODS_CD = C.GOODS_CD
|
|
|
|
|
+ JOIN TB_GOODS_RES_SELL D ON B.GOODS_CD = D.GOODS_CD
|
|
|
|
|
+ WHERE B.ORD_DTL_STAT = 'G013_20' -- 결재완료
|
|
|
|
|
+ AND C.SELF_GOODS_YN = 'Y' -- 자사 상품
|
|
|
|
|
+ AND D.USE_YN = 'Y'
|
|
|
|
|
+ AND D.DELV_RES_DT < DATE_ADD(DATE_FORMAT(CONCAT(STR_TO_DATE(NOW(), '%Y-%m-%d'),' 10:00:00'),'%Y%m%d%H%i%S') , INTERVAL -1 DAY)
|
|
|
|
|
+ ) A
|
|
|
|
|
+ GROUP BY A.ORD_NO
|
|
|
|
|
+ ORDER BY ORD_NO
|
|
|
|
|
+ ]]>
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 품절대상 주문상세 목록 조회(일반,예약) -->
|
|
|
|
|
+ <select id="getSoldoutOrderDtlNoList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getSoldoutOrderDtlNoList*/
|
|
|
|
|
+ <![CDATA[
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ A.ORD_NO
|
|
|
|
|
+ , B.ORD_DTL_NO
|
|
|
|
|
+ , A.CUST_NO
|
|
|
|
|
+ , A.ORD_NM
|
|
|
|
|
+ , D.PAY_GB
|
|
|
|
|
+ , D.PAY_MEANS
|
|
|
|
|
+ , E.BANK_CD
|
|
|
|
|
+ , E.ACCOUNT_NM
|
|
|
|
|
+ , E.ACCOUNT_NO
|
|
|
|
|
+ , B.ORD_QTY - B.CNCL_RTN_QTY AS ORD_QTY
|
|
|
|
|
+ FROM TB_ORDER A
|
|
|
|
|
+ JOIN TB_ORDER_DETAIL B ON A.ORD_NO = B.ORD_NO
|
|
|
|
|
+ JOIN TB_GOODS C ON B.GOODS_CD = C.GOODS_CD
|
|
|
|
|
+ JOIN TB_PAYMENT D ON A.ORD_NO = D.ORD_NO AND D.PAY_STAT = 'G016_30'
|
|
|
|
|
+ LEFT OUTER JOIN TB_CUST_ACCOUNT E ON A.CUST_NO = E.CUST_NO AND E.DEFAULT_YN = 'Y' AND E.DEL_YN = 'N'
|
|
|
|
|
+ WHERE A.ORD_NO = #{ordNo}
|
|
|
|
|
+ AND C.SELF_GOODS_YN = 'Y' -- 자사상품
|
|
|
|
|
+ AND B.ORD_DTL_STAT = 'G013_20' -- 결제완료건
|
|
|
|
|
+ AND NOT EXISTS (SELECT '1' FROM TB_GOODS_RES_SELL WHERE GOODS_CD = B.GOODS_CD AND USE_YN ='Y' AND DELV_RES_DT > DATE_ADD(DATE_FORMAT(CONCAT(STR_TO_DATE(NOW(), '%Y-%m-%d'),' 10:00:00'),'%Y%m%d%H%i%S') , INTERVAL -1 DAY)) -- 예약상품건 제외
|
|
|
|
|
+ ORDER BY B.ORD_DTL_NO
|
|
|
|
|
+ ]]>
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 품절대상 출고예외 주문 목록 조회 -->
|
|
|
|
|
+ <select id="getSoldoutOrderExcDtlNoList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getSoldoutOrderExcDtlNoList*/
|
|
|
|
|
+ SELECT A.ORD_NO
|
|
|
|
|
+ FROM TB_ORDER_DELIVERY_EXCEPTION A
|
|
|
|
|
+ JOIN TB_ORDER_DELIVERY_EXCEPTION_ITEM B ON A.DELIVERY_EXCEPTION_SQ = B.DELIVERY_EXCEPTION_SQ
|
|
|
|
|
+ WHERE A.COMPLTED_YN = 'N'
|
|
|
|
|
+ AND B.GIFT_YN = 'N'
|
|
|
|
|
+ GROUP BY A.ORD_NO
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 품절대상 출고예외 주문상세 목록 조회 -->
|
|
|
|
|
+ <select id="getSoldoutOrderExcDtlNoList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getSoldoutOrderExcDtlNoList*/
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ A.ORD_NO
|
|
|
|
|
+ , B.ORD_DTL_NO
|
|
|
|
|
+ , C.CUST_NO
|
|
|
|
|
+ , C.ORD_NM
|
|
|
|
|
+ , D.PG_GB
|
|
|
|
|
+ , D.PAY_MEANS
|
|
|
|
|
+ , E.BANK_CD
|
|
|
|
|
+ , E.ACCOUNT_NM
|
|
|
|
|
+ , E.ACCOUNT_NO
|
|
|
|
|
+ , B.EXCEPTION_QTY AS SALE_QTY
|
|
|
|
|
+ FROM TB_ORDER_DELIVERY_EXCEPTION A
|
|
|
|
|
+ JOIN TB_ORDER_DELIVERY_EXCEPTION_ITEM B ON A.DELIVERY_EXCEPTION_SQ = B.DELIVERY_EXCEPTION_SQ
|
|
|
|
|
+ JOIN TB_ORDER C ON A.ORD_NO = C.ORD_NO
|
|
|
|
|
+ JOIN TB_PAYMENT D ON A.ORD_NO = D.ORD_NO AND D.PAY_STAT = 'G016_30'
|
|
|
|
|
+ LEFT OUTER JOIN TB_CUST_ACCOUNT E ON C.CUST_NO = E.CUST_NO AND E.DEFAULT_YN = 'Y' AND E.DEL_YN = 'N'
|
|
|
|
|
+ WHERE A.COMPLTED_YN = 'N'
|
|
|
|
|
+ AND B.GIFT_YN = 'N'
|
|
|
|
|
+ AND A.ORD_NO = #{ordNo}
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 품절대상 회수예외 주문 목록 조회 -->
|
|
|
|
|
+ <select id="getSoldoutOrderRecallDtlNoList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getSoldoutOrderRecallDtlNoList*/
|
|
|
|
|
+ SELECT A.ORDER_NO
|
|
|
|
|
+ FROM TB_ORDER_RECALL_EXCEPTION A
|
|
|
|
|
+ JOIN TB_ORDER_RECALL_EXCEPTION_ITEM B ON A.RECALL_EXCEPTION_NO = B.RECALL_EXCEPTION_NO
|
|
|
|
|
+ WHERE B.REASON_CD IN ('확정 전 불량','확정 전 품절(재고없음)')
|
|
|
|
|
+ AND A.RECALL_STAT ='P'
|
|
|
|
|
+ GROUP BY A.ORDER_NO
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 품절대상 회수예외 주문상세 목록 조회 -->
|
|
|
|
|
+ <select id="getSoldoutOrderRecallDtlNoList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getSoldoutOrderRecallDtlNoList*/
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ A.ORDER_NO AS ORD_NO
|
|
|
|
|
+ , B.ORDER_DTL_NO AS ORD_DTL_NO
|
|
|
|
|
+ , C.CUST_NO
|
|
|
|
|
+ , C.ORD_NM
|
|
|
|
|
+ , D.PG_GB
|
|
|
|
|
+ , D.PAY_MEANS
|
|
|
|
|
+ , E.BANK_CD
|
|
|
|
|
+ , E.ACCOUNT_NM
|
|
|
|
|
+ , E.ACCOUNT_NO
|
|
|
|
|
+ , B.EXCEPTION_QTY AS SALE_QTY
|
|
|
|
|
+ FROM TB_ORDER_RECALL_EXCEPTION A
|
|
|
|
|
+ JOIN TB_ORDER_RECALL_EXCEPTION_ITEM B ON A.RECALL_EXCEPTION_NO = B.RECALL_EXCEPTION_NO
|
|
|
|
|
+ JOIN TB_ORDER C ON A.ORDER_NO = C.ORD_NO
|
|
|
|
|
+ JOIN TB_PAYMENT D ON A.ORDER_NO = D.ORD_NO AND D.PAY_STAT = 'G016_30'
|
|
|
|
|
+ LEFT OUTER JOIN TB_CUST_ACCOUNT E ON C.CUST_NO = E.CUST_NO AND E.DEFAULT_YN = 'Y' AND E.DEL_YN = 'N'
|
|
|
|
|
+ WHERE B.REASON_CD IN ('확정 전 불량','확정 전 품절(재고없음)')
|
|
|
|
|
+ AND A.RECALL_STAT ='P'
|
|
|
|
|
+ AND A.ORDER_NO = #{ordNo}
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 출고예외 처리 완료 -->
|
|
|
|
|
+ <update id="updateTbOrderDeliveryException" parameterType="Delivery" >
|
|
|
|
|
+ /*TsbDelivery.updateTbOrderDeliveryException*/
|
|
|
|
|
+ UPDATE TB_ORDER_DELIVERY_EXCEPTION SET
|
|
|
|
|
+ COMPLTED_YN = 'Y'
|
|
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
|
|
+ , UPD_DT = NOW()
|
|
|
|
|
+ WHERE COMPLTED_YN = 'N'
|
|
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
|
|
+ </update>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 회수예외 처리 완료 -->
|
|
|
|
|
+ <update id="updateTbRecallException" parameterType="Delivery" >
|
|
|
|
|
+ /*TsbDelivery.updateTbRecallException*/
|
|
|
|
|
+ UPDATE TB_ORDER_RECALL_EXCEPTION SET
|
|
|
|
|
+ RECALL_STAT = 'S'
|
|
|
|
|
+ , RECALL_STAT_DT = NOW()
|
|
|
|
|
+ WHERE RECALL_STAT ='P'
|
|
|
|
|
+ AND ORDER_NO = #{ordNo}
|
|
|
|
|
+ </update>
|
|
|
|
|
+
|
|
|
|
|
|
|
|
</mapper>
|
|
</mapper>
|