|
@@ -43,6 +43,11 @@
|
|
|
, DATELASTUPDATE = NOW()
|
|
, DATELASTUPDATE = NOW()
|
|
|
</insert>
|
|
</insert>
|
|
|
|
|
|
|
|
|
|
+ <!-- 총알배송 권역정보 삭제 -->
|
|
|
|
|
+ <delete id="deleteDailyDeliveryZone" parameterType="Delivery" >
|
|
|
|
|
+ DELETE FROM TB_DAILY_DELIVERY_ZONE
|
|
|
|
|
+ </delete>
|
|
|
|
|
+
|
|
|
<!-- 회수예외 등록 마스터 -->
|
|
<!-- 회수예외 등록 마스터 -->
|
|
|
<insert id="insertTbOrderRecallException" parameterType="Delivery" >
|
|
<insert id="insertTbOrderRecallException" parameterType="Delivery" >
|
|
|
/*TsbDelivery.insertTbOrderRecallException*/
|
|
/*TsbDelivery.insertTbOrderRecallException*/
|
|
@@ -274,7 +279,7 @@
|
|
|
, C.OPT_CD2
|
|
, C.OPT_CD2
|
|
|
, D.ORD_CHG_SQ
|
|
, D.ORD_CHG_SQ
|
|
|
, D.CHG_ORD_DTL_NO
|
|
, D.CHG_ORD_DTL_NO
|
|
|
- , B.ORD_EXCH_GB
|
|
|
|
|
|
|
+ , B.ORD_EXCH_GB -- 주문교환구분(O:주문,E:교환)
|
|
|
, B.SELL_STORE_CD
|
|
, B.SELL_STORE_CD
|
|
|
, E.CHG_GB -- 변경구분
|
|
, E.CHG_GB -- 변경구분
|
|
|
, E.WD_GB -- 회수구분 (W:회수요청, D:직접배송)
|
|
, E.WD_GB -- 회수구분 (W:회수요청, D:직접배송)
|
|
@@ -288,7 +293,7 @@
|
|
|
AND C.PRODUCT_NO = #{productno}
|
|
AND C.PRODUCT_NO = #{productno}
|
|
|
AND C.PRODUCT_CODE = #{productcode}
|
|
AND C.PRODUCT_CODE = #{productcode}
|
|
|
AND D.DEL_YN = 'N'
|
|
AND D.DEL_YN = 'N'
|
|
|
- AND D.CHG_STAT NOT IN ('G685_31','G685_41')
|
|
|
|
|
|
|
+ AND D.CHG_STAT NOT IN ('G685_49','G685_69') -- 교환철회 반품철회 제외
|
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 회수결과 등록 -->
|
|
<!-- 회수결과 등록 -->
|
|
@@ -515,7 +520,745 @@
|
|
|
)
|
|
)
|
|
|
</insert>
|
|
</insert>
|
|
|
|
|
|
|
|
|
|
+ <!-- 출고대상 주문번호 조회 -->
|
|
|
|
|
+ <select id="getOrderNoList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getOrderNoList*/
|
|
|
|
|
+ <![CDATA[
|
|
|
|
|
+ SELECT DISTINCT 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 C.SELF_GOODS_YN = 'Y' -- 자사
|
|
|
|
|
+ AND B.ORD_DTL_STAT = 'G013_20' -- 결제완료
|
|
|
|
|
+ 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 NOT EXISTS (SELECT '1' FROM TB_GOODS_RES_SELL WHERE GOODS_CD = B.GOODS_CD AND USE_YN ='Y')
|
|
|
|
|
+ GROUP BY A.ORD_NO
|
|
|
|
|
+
|
|
|
|
|
+ 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_ORDER_CHANGE_DETAIL D ON B.ORG_ORD_DTL_NO = D.ORD_DTL_NO
|
|
|
|
|
+ JOIN TB_ORDER_CHANGE E ON D.ORD_CHG_SQ = E.ORD_CHG_SQ
|
|
|
|
|
+ WHERE C.SELF_GOODS_YN = 'Y' -- 자사
|
|
|
|
|
+ AND B.ORD_DTL_STAT = 'G013_20' -- 결제완료
|
|
|
|
|
+ AND B.ORD_EXCH_GB = 'E' -- 교환
|
|
|
|
|
+ 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)
|
|
|
|
|
+ <= CASE WHEN E.WD_BF_SEND_YN = 'Y' THEN B.REG_DT ELSE D.COMPLETE_DT END
|
|
|
|
|
+ GROUP BY A.ORD_NO
|
|
|
|
|
+
|
|
|
|
|
+ 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 C.SELF_GOODS_YN = 'Y' -- 자사
|
|
|
|
|
+ AND B.ORD_DTL_STAT = 'G013_20' -- 결제완료
|
|
|
|
|
+ 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)
|
|
|
|
|
+ < CASE WHEN A.ORD_DT < D.DELV_RES_DT THEN D.DELV_RES_DT ELSE A.ORD_DT END
|
|
|
|
|
+ GROUP BY A.ORD_NO
|
|
|
|
|
+
|
|
|
|
|
+ ) A
|
|
|
|
|
+ ORDER BY ORD_NO
|
|
|
|
|
+ ]]>
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 출고대상 주문상세번호 조회 -->
|
|
|
|
|
+ <select id="getOrderDtlNoList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getOrderDtlNoList*/
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ A.ORD_NO
|
|
|
|
|
+ , B.ORD_DTL_NO
|
|
|
|
|
+ , B.GOODS_TYPE
|
|
|
|
|
+ , 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
|
|
|
|
|
+ WHERE A.ORD_NO = #{ordNo}
|
|
|
|
|
+ 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 > NOW()) -- 예약상품건 제외
|
|
|
|
|
+ ORDER BY B.ORD_DTL_NO
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 출고대상 주문상세아이템 조회 -->
|
|
|
|
|
+ <select id="getOrderDtlItemList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getOrderDtlItemList*/
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ A.ORD_NO
|
|
|
|
|
+ , B.ORD_DTL_NO
|
|
|
|
|
+ , B.GOODS_CD
|
|
|
|
|
+ , C.ITEM_CD
|
|
|
|
|
+ , C.OPT_CD
|
|
|
|
|
+ , C.OPT_CD1
|
|
|
|
|
+ , C.OPT_CD2
|
|
|
|
|
+ , (B.ORD_QTY - B.CNCL_RTN_QTY) * C.ITEM_QTY AS ORD_QTY
|
|
|
|
|
+ , (B.ORD_QTY - B.CNCL_RTN_QTY) AS ORD_DTL_QTY
|
|
|
|
|
+ , C.ITEM_QTY AS ITEM_QTY
|
|
|
|
|
+ , B.GOODS_TYPE
|
|
|
|
|
+ , C.PRODUCT_NO
|
|
|
|
|
+ , B.FORMAL_GB
|
|
|
|
|
+ , B.SUPPLY_COMP_CD
|
|
|
|
|
+ , D.BRAND_CD
|
|
|
|
|
+ FROM TB_ORDER A
|
|
|
|
|
+ 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_GOODS D ON B.GOODS_CD = D.GOODS_CD
|
|
|
|
|
+ WHERE B.ORD_DTL_NO = #{ordDtlNo}
|
|
|
|
|
+
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 출고처 및 상품 제외 조회 -->
|
|
|
|
|
+ <select id="getDeliveryAssignBanGoods" resultType="int">
|
|
|
|
|
+ /*TsbDelivery.getDeliveryAssignBanGoods*/
|
|
|
|
|
+ <![CDATA[
|
|
|
|
|
+ SELECT SUM(CNT) AS CNT
|
|
|
|
|
+ FROM (
|
|
|
|
|
+ SELECT COUNT(*) CNT
|
|
|
|
|
+ FROM TB_DELIVERY_ASSIGN
|
|
|
|
|
+ WHERE ORD_NO = #{ordNo}
|
|
|
|
|
+ AND ORD_DTL_NO = #{ordDtlNo}
|
|
|
|
|
+ AND DELV_LOC_CD = #{delvLocCd}
|
|
|
|
|
+ AND DELV_AR_GB = 'N' -- 출고수락 거부
|
|
|
|
|
+ UNION ALL
|
|
|
|
|
+ SELECT COUNT(*) CNT
|
|
|
|
|
+ FROM TB_DELIVERY_BAN_GOODS
|
|
|
|
|
+ WHERE DELV_LOC_CD = #{delvLocCd}
|
|
|
|
|
+ AND GOODS_CD = #{optCd}
|
|
|
|
|
+ AND OPT_CD1 = #{optCd1}
|
|
|
|
|
+ AND OPT_CD2 = #{optCd2}
|
|
|
|
|
+ AND DELV_BAN_STDT <= NOW()
|
|
|
|
|
+ AND DELV_BAN_EDDT >= NOW()
|
|
|
|
|
+ AND DEL_YN = 'N'
|
|
|
|
|
+ ) A
|
|
|
|
|
+ ]]>
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 출고처지정 등록 -->
|
|
|
|
|
+ <insert id="insertTbDeliveryAssign" parameterType="Delivery" keyProperty="delvAssignSq" >
|
|
|
|
|
+ /*TsbDelivery.insertTbDeliveryAssign*/
|
|
|
|
|
+ INSERT INTO TB_DELIVERY_ASSIGN
|
|
|
|
|
+ (
|
|
|
|
|
+ DELV_ASSIGN_SQ -- 출고지정일련번호
|
|
|
|
|
+ , ORD_NO -- 주문번호
|
|
|
|
|
+ , ORD_DTL_NO -- 주문상세번호
|
|
|
|
|
+ , DELV_LOC_CD -- 출고처코드
|
|
|
|
|
+ , ASSIGN_QTY -- 지정수량
|
|
|
|
|
+ , DELV_AR_GB -- 출고수락거부구분(P:대기, Y:수락, N:거부)
|
|
|
|
|
+ , REG_NO -- 등록자NO
|
|
|
|
|
+ , REG_DT -- 등록일시
|
|
|
|
|
+ , UPD_NO -- 수정자NO
|
|
|
|
|
+ , UPD_DT -- 수정일시
|
|
|
|
|
+ )
|
|
|
|
|
+ VALUES
|
|
|
|
|
+ (
|
|
|
|
|
+ #{delvAssignSq} -- 출고지정일련번호
|
|
|
|
|
+ , #{ordNo} -- 주문번호
|
|
|
|
|
+ , #{ordDtlNo} -- 주문상세번호
|
|
|
|
|
+ , #{delvLocCd} -- 출고처코드
|
|
|
|
|
+ , #{locQty} -- 지정수량
|
|
|
|
|
+ , #{delvArGb} -- 출고수락거부구분(P:대기, Y:수락, N:거부)
|
|
|
|
|
+ , #{regNo} -- 등록자NO
|
|
|
|
|
+ , NOW() -- 등록일시
|
|
|
|
|
+ , #{regNo} -- 수정자NO
|
|
|
|
|
+ , NOW() -- 수정일시
|
|
|
|
|
+ )
|
|
|
|
|
+ </insert>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 출고처지정HST 등록 -->
|
|
|
|
|
+ <insert id="insertTbDeliveryAssignHst" parameterType="Delivery" keyProperty="delvAssignHstSq" >
|
|
|
|
|
+ /*TsbDelivery.insertTbDeliveryAssignHst*/
|
|
|
|
|
+ INSERT INTO TB_DELIVERY_ASSIGN_HST
|
|
|
|
|
+ (
|
|
|
|
|
+ DELV_ASSIGN_SQ -- 출고지정일련번호
|
|
|
|
|
+ , ORD_NO -- 주문번호
|
|
|
|
|
+ , ORD_DTL_NO -- 주문상세번호
|
|
|
|
|
+ , DELV_LOC_CD -- 출고처코드
|
|
|
|
|
+ , ASSIGN_QTY -- 지정수량
|
|
|
|
|
+ , DELV_AR_GB -- 출고수락거부구분(P:대기, Y:수락, N:거부)
|
|
|
|
|
+ , REG_NO -- 등록자NO
|
|
|
|
|
+ , REG_DT -- 등록일시
|
|
|
|
|
+ , UPD_NO -- 수정자NO
|
|
|
|
|
+ , UPD_DT -- 수정일시
|
|
|
|
|
+ , HST_REG_DT -- 이력등록일시
|
|
|
|
|
+ )
|
|
|
|
|
+ VALUES
|
|
|
|
|
+ (
|
|
|
|
|
+ #{delvAssignSq} -- 출고지정일련번호
|
|
|
|
|
+ , #{ordNo} -- 주문번호
|
|
|
|
|
+ , #{ordDtlNo} -- 주문상세번호
|
|
|
|
|
+ , #{delvLocCd} -- 출고처코드
|
|
|
|
|
+ , #{locQty} -- 지정수량
|
|
|
|
|
+ , #{delvArGb} -- 출고수락거부구분(P:대기, Y:수락, N:거부)
|
|
|
|
|
+ , #{regNo} -- 등록자NO
|
|
|
|
|
+ , NOW() -- 등록일시
|
|
|
|
|
+ , #{regNo} -- 수정자NO
|
|
|
|
|
+ , NOW() -- 수정일시
|
|
|
|
|
+ , NOW() -- 수정일시
|
|
|
|
|
+ )
|
|
|
|
|
+ </insert>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 주문상세 출고처지정 -->
|
|
|
|
|
+ <update id="updateTbOrderDtlAssign" parameterType="Delivery" >
|
|
|
|
|
+ /*TsbDelivery.updateTbOrderDtlAssign*/
|
|
|
|
|
+ UPDATE TB_ORDER_DETAIL SET
|
|
|
|
|
+ ORD_DTL_STAT = #{ordDtlStat}
|
|
|
|
|
+ , DELV_LOC_CD = #{delvLocCd}
|
|
|
|
|
+ , DELV_ASSIGN_DT = NOW()
|
|
|
|
|
+ , DELV_ASSIGN_STAT = #{delvAssignStat}
|
|
|
|
|
+ , UPD_NO = #{regNo}
|
|
|
|
|
+ , UPD_DT = NOW()
|
|
|
|
|
+ WHERE ORD_DTL_NO = #{ordDtlNo}
|
|
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
|
|
+ AND ORD_DTL_STAT = 'G013_20'
|
|
|
|
|
+ </update>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 출고처 직송매장 체크 -->
|
|
|
|
|
+ <select id="getDeliveryAssignBanGoodsShop" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getDeliveryAssignBanGoodsShop*/
|
|
|
|
|
+ <![CDATA[
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ 'PRC' AS USE_GB
|
|
|
|
|
+ , A.DELV_LOC_CD
|
|
|
|
|
+ , A.DELV_ASSIGN_ORD
|
|
|
|
|
+ , #{locQty} AS LOC_QTY
|
|
|
|
|
+ , #{ordDtlNo} AS ORD_DTL_NO
|
|
|
|
|
+ , #{optCd} AS OPT_CD
|
|
|
|
|
+ , #{optCd1} AS OPT_CD1
|
|
|
|
|
+ , #{optCd2} AS OPT_CD2
|
|
|
|
|
+ , #{goodsType} AS GOODS_TYPE
|
|
|
|
|
+ FROM TB_DELIVERY_LOC A
|
|
|
|
|
+ JOIN TB_STOCK_SYNC_BASE B ON A.DELV_LOC_CD = B.DELV_LOC_CD
|
|
|
|
|
+ WHERE A.USE_YN = 'Y'
|
|
|
|
|
+ AND B.DELV_SYNC_YN = 'Y'
|
|
|
|
|
+ AND B.BRAND_CD = #{brandCd}
|
|
|
|
|
+ AND B.FORMAL_GB = #{formalGb}
|
|
|
|
|
+ AND A.SUPPLY_COMP_CD = #{supplycompCd}
|
|
|
|
|
+ AND A.DELV_LOC_CD = #{delvLocCd}
|
|
|
|
|
+ AND NOT EXISTS (
|
|
|
|
|
+ SELECT 1
|
|
|
|
|
+ FROM TB_DELIVERY_ASSIGN
|
|
|
|
|
+ WHERE ORD_NO = #{ordNo}
|
|
|
|
|
+ AND ORD_DTL_NO = #{ordDtlNo}
|
|
|
|
|
+ AND DELV_LOC_CD = A.DELV_LOC_CD
|
|
|
|
|
+ AND DELV_AR_GB = 'N'
|
|
|
|
|
+ )
|
|
|
|
|
+ AND NOT EXISTS (
|
|
|
|
|
+ SELECT 1
|
|
|
|
|
+ FROM TB_DELIVERY_BAN_GOODS
|
|
|
|
|
+ WHERE DELV_LOC_CD = A.DELV_LOC_CD
|
|
|
|
|
+ AND GOODS_CD = #{optCd}
|
|
|
|
|
+ AND OPT_CD1 = #{optCd1}
|
|
|
|
|
+ AND OPT_CD2 = #{optCd2}
|
|
|
|
|
+ AND DELV_BAN_STDT <= NOW()
|
|
|
|
|
+ AND DELV_BAN_EDDT >= NOW()
|
|
|
|
|
+ AND DEL_YN = 'N'
|
|
|
|
|
+ )
|
|
|
|
|
+ ]]>
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 출고처지정 임시 테이블 삭제 -->
|
|
|
|
|
+ <delete id="deleteTbDeliveryLocTmp" parameterType="Delivery" >
|
|
|
|
|
+ /*TsbDelivery.deleteTbDeliveryLocTmp*/
|
|
|
|
|
+ DELETE FROM TB_DELIVERY_LOC_TMP WHERE USE_GB ='PRC'
|
|
|
|
|
+ </delete>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 출고처지정 임시 테이블 등록 -->
|
|
|
|
|
+ <insert id="insertTbDeliveryLocTmp" parameterType="Delivery" >
|
|
|
|
|
+ /*TsbDelivery.insertTbDeliveryLocTmp*/
|
|
|
|
|
+ INSERT INTO TB_DELIVERY_LOC_TMP
|
|
|
|
|
+ (
|
|
|
|
|
+ USE_GB
|
|
|
|
|
+ , DELV_LOC_CD
|
|
|
|
|
+ , DELV_ASSIGN_ORD
|
|
|
|
|
+ , LOC_QTY
|
|
|
|
|
+ , GOODS_LOC_CNT
|
|
|
|
|
+ , ORD_DTL_NO_LIST
|
|
|
|
|
+ )
|
|
|
|
|
+ VALUES
|
|
|
|
|
+ (
|
|
|
|
|
+ #{useGb}
|
|
|
|
|
+ , #{delvLocCd}
|
|
|
|
|
+ , #{delvAssignOrd}
|
|
|
|
|
+ , #{locQty}
|
|
|
|
|
+ , 1
|
|
|
|
|
+ , #{ordDtlNo}
|
|
|
|
|
+ ) ON DUPLICATE KEY
|
|
|
|
|
+ UPDATE
|
|
|
|
|
+ GOODS_LOC_CNT = GOODS_LOC_CNT+1
|
|
|
|
|
+ , ORD_DTL_NO_LIST = CONCAT(ORD_DTL_NO_LIST,',',#{ordDtlNo})
|
|
|
|
|
+ , LOC_QTY = CASE WHEN LOC_QTY > #{locQty} THEN #{locQty} ELSE LOC_QTY END
|
|
|
|
|
+
|
|
|
|
|
+ </insert>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 출고처 지정 임시테이블 조회 -->
|
|
|
|
|
+ <select id="getDeliveryLocTmp" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getDeliveryLocTmp*/
|
|
|
|
|
+ SELECT A.*
|
|
|
|
|
+ FROM(
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ DELV_LOC_CD
|
|
|
|
|
+ , ORD_DTL_NO_LIST
|
|
|
|
|
+ , LOC_QTY
|
|
|
|
|
+ , GOODS_LOC_CNT
|
|
|
|
|
+ , RANK() OVER( ORDER BY GOODS_LOC_CNT DESC, DELV_ASSIGN_ORD, LOC_QTY DESC, DELV_LOC_CD) AS RNK
|
|
|
|
|
+ FROM TB_DELIVERY_LOC_TMP
|
|
|
|
|
+ WHERE USE_GB = 'PRC'
|
|
|
|
|
+ AND GOODS_LOC_CNT = #{goodsLocCnt}
|
|
|
|
|
+ ) A WHERE RNK = 1
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 출고처지정 임시 테이블 등록 -->
|
|
|
|
|
+ <insert id="insertTbDeliveryLocSetTmp" parameterType="Delivery" >
|
|
|
|
|
+ /*TsbDelivery.insertTbDeliveryLocSetTmp*/
|
|
|
|
|
+ INSERT INTO TB_DELIVERY_LOC_TMP
|
|
|
|
|
+ (
|
|
|
|
|
+ USE_GB
|
|
|
|
|
+ , DELV_LOC_CD
|
|
|
|
|
+ , DELV_ASSIGN_ORD
|
|
|
|
|
+ , LOC_QTY
|
|
|
|
|
+ , GOODS_LOC_CNT
|
|
|
|
|
+ , GOODS_LOC_SET_CNT
|
|
|
|
|
+ )
|
|
|
|
|
+ VALUES
|
|
|
|
|
+ (
|
|
|
|
|
+ #{useGb}
|
|
|
|
|
+ , #{delvLocCd}
|
|
|
|
|
+ , #{delvAssignOrd}
|
|
|
|
|
+ , #{locQty}
|
|
|
|
|
+ , 0
|
|
|
|
|
+ , 1
|
|
|
|
|
+ ) ON DUPLICATE KEY
|
|
|
|
|
+ UPDATE
|
|
|
|
|
+ GOODS_LOC_SET_CNT = A.GOODS_LOC_SET_CNT+1
|
|
|
|
|
+ , LOC_QTY = CASE WHEN LOC_QTY > #{locQty} THEN #{locQty} ELSE LOC_QTY END
|
|
|
|
|
+ </insert>
|
|
|
|
|
|
|
|
|
|
+ <!-- 출고처 지정 임시테이블 세트상품갯수 max값 조회 -->
|
|
|
|
|
+ <select id="getDeliveryLocTmpGoodsSetMaxCnt" resultType="int">
|
|
|
|
|
+ /*TsbDelivery.getDeliveryLocTmpGoodsSetMaxCnt*/
|
|
|
|
|
+ SELECT CASE WHEN MAX(GOODS_LOC_SET_CNT) IS NULL THEN 0 ELSE MAX(GOODS_LOC_SET_CNT) END AS CNT
|
|
|
|
|
+ FROM TB_DELIVERY_LOC_TMP
|
|
|
|
|
+ WHERE USE_GB = 'PRC'
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 출고처지정 임시 테이블 수정 -->
|
|
|
|
|
+ <update id="updateTbDeliveryLocSetTmp" parameterType="Delivery" >
|
|
|
|
|
+ /*TsbDelivery.updateTbDeliveryLocSetTmp*/
|
|
|
|
|
+ UPDATE TB_DELIVERY_LOC_TMP SET
|
|
|
|
|
+ GOODS_LOC_CNT = GOODS_LOC_CNT + 1
|
|
|
|
|
+ , ORD_DTL_NO_LIST = CASE WHEN ORD_DTL_NO_LIST IS NULL THEN #{ordDtlNo} ELSE CONCAT(ORD_DTL_NO_LIST,',',#{ordDtlNo}) END
|
|
|
|
|
+ WHERE USE_GB = 'PRC' AND GOODS_LOC_SET_CNT = #{goodsLocSetCnt}
|
|
|
|
|
+ </update>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 출고처지정 임시 테이블 세트상품갯수 초기화 -->
|
|
|
|
|
+ <update id="updateTbDeliveryLocSetTmpInit" parameterType="Delivery" >
|
|
|
|
|
+ /*TsbDelivery.updateTbDeliveryLocSetTmpInit*/
|
|
|
|
|
+ UPDATE TB_DELIVERY_LOC_TMP SET
|
|
|
|
|
+ GOODS_LOC_SET_CNT = 0
|
|
|
|
|
+ WHERE USE_GB = 'PRC'
|
|
|
|
|
+ </update>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- WMS 출고요청 대상 주문번호 조회 -->
|
|
|
|
|
+ <select id="getWmsDeliveryOrdNoList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getWmsDeliveryOrdNoList*/
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ A.ORD_NO
|
|
|
|
|
+ FROM TB_ORDER A
|
|
|
|
|
+ JOIN TB_ORDER_DETAIL B ON A.ORD_NO = B.ORD_NO
|
|
|
|
|
+ JOIN TB_DELIVERY_LOC C ON B.DELV_LOC_CD = C.DELV_LOC_CD AND B.SUPPLY_COMP_CD = C.SUPPLY_COMP_CD
|
|
|
|
|
+ JOIN TB_GOODS D ON B.GOODS_CD = D.GOODS_CD
|
|
|
|
|
+ WHERE B.ORD_DTL_STAT = 'G013_35' -- 출고처지정
|
|
|
|
|
+ AND C.DELV_LOC_CLSF = 'G024_10' -- 물류창고
|
|
|
|
|
+ AND D.SELF_GOODS_YN = 'Y' -- 자사상품
|
|
|
|
|
+ GROUP BY A.ORD_NO
|
|
|
|
|
+
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- WMS 출고요청 대상 조회 -->
|
|
|
|
|
+ <select id="getWmsDeliveryList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getWmsDeliveryList*/
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ A.ORD_NO AS OrderNo
|
|
|
|
|
+ , 'WMS' AS DeliveryTypeCd
|
|
|
|
|
+ , '정상' AS IssueTypeCd
|
|
|
|
|
+ , '10' AS StatusCd -- 배송지시
|
|
|
|
|
+ , D.CUST_ID AS LoginId
|
|
|
|
|
+ , A.ORD_NM AS CustomerName
|
|
|
|
|
+ , A.ORD_DT AS DateOrdered
|
|
|
|
|
+ , FN_GET_CODE_NM('G110',D.CUST_GRADE) AS Grade
|
|
|
|
|
+ , E.RECIP_NM AS Receiver
|
|
|
|
|
+ , E.RECIP_TELNO AS ReceiverTelNum
|
|
|
|
|
+ , E.RECIP_PHNNO AS ReceiverCellNum
|
|
|
|
|
+ , E.RECIP_ZIPCODE AS DeliveryPostalCode
|
|
|
|
|
+ , E.RECIP_BASE_ADDR AS DeliveryAddr1
|
|
|
|
|
+ , E.RECIP_DTL_ADDR AS DeliveryAddr2
|
|
|
|
|
+ , CASE WHEN B.SHOT_DELV_YN ='Y' THEN '13' ELSE '05' END AS LogisticsNo
|
|
|
|
|
+ , CASE WHEN B.SHOT_DELV_YN ='Y' THEN '디디로직스' ELSE 'CJ 대한통운' END AS LogisticsName
|
|
|
|
|
+ , E.DELV_MEMO AS DeliveryMemo
|
|
|
|
|
+ , CONCAT(F.GOODS_NM,' 외 ', (SELECT COUNT(*) -1 FROM TB_ORDER_DETAIL WHERE ORD_NO = A.ORD_NO) , '건') AS ProductSummary
|
|
|
|
|
+ , 0 AS IsCancel
|
|
|
|
|
+ , 0 AS IsChangeAddress
|
|
|
|
|
+ , 0 AS IsReOrder
|
|
|
|
|
+ , CASE WHEN A.MALL_GB = 'G011_20' THEN B.EXTMALL_ID ELSE 'APISHOP_0054' END AS OrderPath -- 주문경로 (확인필요!)
|
|
|
|
|
+ , CASE WHEN B.SHOT_DELV_YN ='Y' THEN '20' ELSE '10' END AS DeliveryClassCd
|
|
|
|
|
+ , CASE WHEN B.ORD_EXCH_GB ='O' THEN '10' ELSE '20' END AS ShippingTypeCd
|
|
|
|
|
+ , B.GIFT_PACK_YN AS IsBeautyDelivery
|
|
|
|
|
+ , '' AS DeliveryAddrNew -- 도로명 주소 (확인필요!)
|
|
|
|
|
+ , (SELECT PROVIDER_NO FROM TB_SUPPLY_COMPANY BB WHERE BB.SUPPLY_COMP_CD = B.SUPPLY_COMP_CD ) AS ProviderNo
|
|
|
|
|
+ , C.PRODUCT_NO AS ProductNo
|
|
|
|
|
+ , C.PRODUCT_CODE AS ProductCode
|
|
|
|
|
+ , (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 -- 상품타입
|
|
|
|
|
+ , C.OPT_CD AS SKUCode
|
|
|
|
|
+ , CONCAT(C.OPT_CD1,'/',C.OPT_CD2) AS SKUValue
|
|
|
|
|
+ , B.CURR_PRICE + B.OPT_ADD_PRICE AS UnitPrice
|
|
|
|
|
+ , (B.ORD_QTY -B.CNCL_RTN_QTY) * C.ITEM_QTY AS Qty
|
|
|
|
|
+ , 'WMS' AS StockMgmtTypeCd
|
|
|
|
|
+ , 'N' AS GiftYn -- 사은품여부
|
|
|
|
|
+ , CASE WHEN B.GOODS_TYPE = 'G056_S' THEN B.GOODS_CD ELSE '' END AS SetProductCode -- 세트상품코드
|
|
|
|
|
+ , CASE WHEN B.GOODS_TYPE = 'G056_S' THEN 'Y' ELSE 'N' END AS SetProductYn -- 세트상품여부
|
|
|
|
|
+ , CASE WHEN B.GOODS_TYPE = 'G056_S' THEN F.GOODS_NM ELSE '' END AS SetproductName -- 세트상품명
|
|
|
|
|
+ , B.ORD_DTL_NO AS OrderDtlNo
|
|
|
|
|
+ , 0 AS Cqty
|
|
|
|
|
+ FROM TB_ORDER A
|
|
|
|
|
+ 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
|
|
|
|
|
+ LEFT JOIN TB_CUSTOMER D ON A.CUST_NO = D.CUST_NO
|
|
|
|
|
+ JOIN TB_DELIVERY_ADDR E ON B.DELV_ADDR_SQ = E.DELV_ADDR_SQ
|
|
|
|
|
+ JOIN TB_GOODS F ON B.GOODS_CD = F.GOODS_CD
|
|
|
|
|
+ JOIN TB_DELIVERY_LOC G ON B.DELV_LOC_CD = G.DELV_LOC_CD AND B.SUPPLY_COMP_CD = G.SUPPLY_COMP_CD
|
|
|
|
|
+ WHERE A.ORD_NO = #{ordNo}
|
|
|
|
|
+ AND B.ORD_DTL_STAT = 'G013_35' -- 출고처지정
|
|
|
|
|
+ AND G.DELV_LOC_CLSF = 'G024_10' -- 물류창고
|
|
|
|
|
+ ORDER BY B.ORD_DTL_NO
|
|
|
|
|
+
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- WMS 회수요청 대상 조회 -->
|
|
|
|
|
+ <select id="getWithdrawRequestList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getWithdrawRequestList*/
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ A.ORD_CHG_SQ AS OrderExceptionNo -- 주문변경번호
|
|
|
|
|
+ , CASE WHEN A.CHG_GB ='G680_30' THEN '10' ELSE '20' END AS RecallTypeCd
|
|
|
|
|
+ , A.CHGER_NM AS Receiver
|
|
|
|
|
+ , A.CHGER_TELNO AS ReceiverTelNum
|
|
|
|
|
+ , A.CHGER_PHNNO AS ReceiverCellNum
|
|
|
|
|
+ , A.CHGER_ZIPCODE AS DeliveryPostalCode
|
|
|
|
|
+ , A.CHGER_BASE_ADDR AS DeliveryAddr1
|
|
|
|
|
+ , A.CHGER_DTL_ADDR AS DeliveryAddr2
|
|
|
|
|
+ , G.ORD_NO AS OrderNo
|
|
|
|
|
+ , G.ORD_NM AS CustomerName
|
|
|
|
|
+ , (SELECT CC.CUST_ID FROM TB_CUSTOMER CC WHERE CC.CUST_NO = G.CUST_NO) AS LoginId
|
|
|
|
|
+ , A.CHG_MEMO AS CSMemo
|
|
|
|
|
+ , A.UPD_DT AS DateCSMemoUpdated
|
|
|
|
|
+ , 0 AS IsDeleted
|
|
|
|
|
+ , '' AS DeliveryAddrNew
|
|
|
|
|
+ , CASE WHEN A.WD_GB ='W' THEN 'Y' ELSE 'N' END AS RecallRequestYn
|
|
|
|
|
+ , '0' AS IfStat
|
|
|
|
|
+ , D.PRODUCT_NO AS ProductNo
|
|
|
|
|
+ , D.PRODUCT_CODE AS ProductCode
|
|
|
|
|
+ , E.GOODS_NM AS ProductName
|
|
|
|
|
+ , D.OPT_CD AS SKUCode
|
|
|
|
|
+ , CONCAT(D.OPT_CD1,'/',D.OPT_CD2) AS SKUValue
|
|
|
|
|
+ , B.CHG_QTY * D.ITEM_QTY AS RecallQty
|
|
|
|
|
+ , '입고대기' AS StatusCd
|
|
|
|
|
+ , (SELECT SS.SHIP_COMP_NM FROM TB_SHIP_COMPANY SS WHERE SS.SHIP_COMP_CD = A.SHIP_COMP_CD ) AS LogisticsName
|
|
|
|
|
+ , A.SHIP_COMP_CD AS LogisticsCode
|
|
|
|
|
+ , A.WD_INVOICE_NO AS RecallInvoiceNo
|
|
|
|
|
+ , C.ORD_DTL_NO AS OrderDtlNo
|
|
|
|
|
+ , C.INVOICE_NO AS InvoiceNo
|
|
|
|
|
+ FROM TB_ORDER_CHANGE A
|
|
|
|
|
+ JOIN TB_ORDER_CHANGE_DETAIL B ON A.ORD_CHG_SQ = B.ORD_CHG_SQ
|
|
|
|
|
+ JOIN TB_ORDER_DETAIL C ON B.ORD_DTL_NO = C.ORD_DTL_NO
|
|
|
|
|
+ JOIN TB_ORDER_DETAIL_ITEM D ON C.ORD_DTL_NO = D.ORD_DTL_NO
|
|
|
|
|
+ JOIN TB_GOODS E ON C.GOODS_CD = E.GOODS_CD
|
|
|
|
|
+ JOIN TB_ORDER G ON C.ORD_NO = G.ORD_NO
|
|
|
|
|
+ WHERE A.CHG_GB = 'G680_30' -- 반품요청
|
|
|
|
|
+ AND B.CHG_STAT = 'G685_30' -- 회수요청
|
|
|
|
|
+ AND B.DEL_YN = 'N'
|
|
|
|
|
+ AND E.SELF_GOODS_YN = 'Y' -- 자사상품
|
|
|
|
|
+ AND E.RETURNABLE_YN = 'Y' -- 반품가능여부
|
|
|
|
|
+ AND G.MALL_GB = 'G011_10' -- 자사몰
|
|
|
|
|
+
|
|
|
|
|
+ UNION ALL
|
|
|
|
|
+
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ A.ORD_CHG_SQ AS OrderExceptionNo -- 주문변경번호
|
|
|
|
|
+ , CASE WHEN A.CHG_GB ='G680_30' THEN '10' ELSE '20' END AS RecallTypeCd
|
|
|
|
|
+ , A.CHGER_NM AS Receiver
|
|
|
|
|
+ , A.CHGER_TELNO AS ReceiverTelNum
|
|
|
|
|
+ , A.CHGER_PHNNO AS ReceiverCellNum
|
|
|
|
|
+ , A.CHGER_ZIPCODE AS DeliveryPostalCode
|
|
|
|
|
+ , A.CHGER_BASE_ADDR AS DeliveryAddr1
|
|
|
|
|
+ , A.CHGER_DTL_ADDR AS DeliveryAddr2
|
|
|
|
|
+ , G.ORD_NO AS OrderNo
|
|
|
|
|
+ , G.ORD_NM AS CustomerName
|
|
|
|
|
+ , (SELECT CC.CUST_ID FROM TB_CUSTOMER CC WHERE CC.CUST_NO = G.CUST_NO) AS LoginId
|
|
|
|
|
+ , A.CHG_MEMO AS CSMemo
|
|
|
|
|
+ , A.UPD_DT AS DateCSMemoUpdated
|
|
|
|
|
+ , 0 AS IsDeleted
|
|
|
|
|
+ , '' AS DeliveryAddrNew
|
|
|
|
|
+ , CASE WHEN A.WD_GB ='W' THEN 'Y' ELSE 'N' END AS RecallRequestYn
|
|
|
|
|
+ , '0' AS IfStat
|
|
|
|
|
+ , D.PRODUCT_NO AS ProductNo
|
|
|
|
|
+ , D.PRODUCT_CODE AS ProductCode
|
|
|
|
|
+ , E.GOODS_NM AS ProductName
|
|
|
|
|
+ , D.OPT_CD AS SKUCode
|
|
|
|
|
+ , CONCAT(D.OPT_CD1,'/',D.OPT_CD2) AS SKUValue
|
|
|
|
|
+ , B.CHG_QTY * D.ITEM_QTY AS RecallQty
|
|
|
|
|
+ , '입고대기' AS StatusCd
|
|
|
|
|
+ , (SELECT SS.SHIP_COMP_NM FROM TB_SHIP_COMPANY SS WHERE SS.SHIP_COMP_CD = A.SHIP_COMP_CD ) AS LogisticsName
|
|
|
|
|
+ , A.SHIP_COMP_CD AS LogisticsCode
|
|
|
|
|
+ , A.WD_INVOICE_NO AS RecallInvoiceNo
|
|
|
|
|
+ , C.ORD_DTL_NO AS OrderDtlNo
|
|
|
|
|
+ , C.INVOICE_NO AS InvoiceNo
|
|
|
|
|
+ FROM TB_ORDER_CHANGE A
|
|
|
|
|
+ JOIN TB_ORDER_CHANGE_DETAIL B ON A.ORD_CHG_SQ = B.ORD_CHG_SQ
|
|
|
|
|
+ JOIN TB_ORDER_DETAIL C ON B.ORD_DTL_NO = C.ORD_DTL_NO
|
|
|
|
|
+ JOIN TB_ORDER_DETAIL_ITEM D ON C.ORD_DTL_NO = D.ORD_DTL_NO
|
|
|
|
|
+ JOIN TB_GOODS E ON C.GOODS_CD = E.GOODS_CD
|
|
|
|
|
+ JOIN TB_ORDER G ON C.ORD_NO = G.ORD_NO
|
|
|
|
|
+ WHERE A.CHG_GB = 'G680_40' -- 교환요청
|
|
|
|
|
+ AND B.CHG_STAT = 'G685_30' -- 회수요청
|
|
|
|
|
+ AND B.DEL_YN = 'N'
|
|
|
|
|
+ AND E.SELF_GOODS_YN = 'Y' -- 자사상품
|
|
|
|
|
+ AND E.CHANGEABLE_YN = 'Y' -- 교환가능여부
|
|
|
|
|
+ AND G.MALL_GB = 'G011_10' -- 자사몰
|
|
|
|
|
|
|
|
|
|
+ UNION ALL
|
|
|
|
|
+
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ A.ORD_CHG_SQ AS OrderExceptionNo -- 주문변경번호
|
|
|
|
|
+ , CASE WHEN A.CHG_GB ='G680_30' THEN '10' ELSE '20' END AS RecallTypeCd
|
|
|
|
|
+ , A.CHGER_NM AS Receiver
|
|
|
|
|
+ , A.CHGER_TELNO AS ReceiverTelNum
|
|
|
|
|
+ , A.CHGER_PHNNO AS ReceiverCellNum
|
|
|
|
|
+ , A.CHGER_ZIPCODE AS DeliveryPostalCode
|
|
|
|
|
+ , A.CHGER_BASE_ADDR AS DeliveryAddr1
|
|
|
|
|
+ , A.CHGER_DTL_ADDR AS DeliveryAddr2
|
|
|
|
|
+ , G.ORD_NO AS OrderNo
|
|
|
|
|
+ , G.ORD_NM AS CustomerName
|
|
|
|
|
+ , (SELECT CC.CUST_ID FROM TB_CUSTOMER CC WHERE CC.CUST_NO = G.CUST_NO) AS LoginId
|
|
|
|
|
+ , A.CHG_MEMO AS CSMemo
|
|
|
|
|
+ , A.UPD_DT AS DateCSMemoUpdated
|
|
|
|
|
+ , 0 AS IsDeleted
|
|
|
|
|
+ , '' AS DeliveryAddrNew
|
|
|
|
|
+ , CASE WHEN A.WD_GB ='W' THEN 'Y' ELSE 'N' END AS RecallRequestYn
|
|
|
|
|
+ , '0' AS IfStat
|
|
|
|
|
+ , D.PRODUCT_NO AS ProductNo
|
|
|
|
|
+ , D.PRODUCT_CODE AS ProductCode
|
|
|
|
|
+ , E.GOODS_NM AS ProductName
|
|
|
|
|
+ , D.OPT_CD AS SKUCode
|
|
|
|
|
+ , CONCAT(D.OPT_CD1,'/',D.OPT_CD2) AS SKUValue
|
|
|
|
|
+ , B.CHG_QTY * D.ITEM_QTY AS RecallQty
|
|
|
|
|
+ , '입고대기' AS StatusCd
|
|
|
|
|
+ , (SELECT SS.SHIP_COMP_NM FROM TB_SHIP_COMPANY SS WHERE SS.SHIP_COMP_CD = A.SHIP_COMP_CD ) AS LogisticsName
|
|
|
|
|
+ , A.SHIP_COMP_CD AS LogisticsCode
|
|
|
|
|
+ , A.WD_INVOICE_NO AS RecallInvoiceNo
|
|
|
|
|
+ , C.ORD_DTL_NO AS OrderDtlNo
|
|
|
|
|
+ , C.INVOICE_NO AS InvoiceNo
|
|
|
|
|
+ FROM TB_ORDER_CHANGE A
|
|
|
|
|
+ JOIN TB_ORDER_CHANGE_DETAIL B ON A.ORD_CHG_SQ = B.ORD_CHG_SQ
|
|
|
|
|
+ JOIN TB_ORDER_DETAIL C ON B.ORD_DTL_NO = C.ORD_DTL_NO
|
|
|
|
|
+ JOIN TB_ORDER_DETAIL_ITEM D ON C.ORD_DTL_NO = D.ORD_DTL_NO
|
|
|
|
|
+ JOIN TB_GOODS E ON C.GOODS_CD = E.GOODS_CD
|
|
|
|
|
+ JOIN TB_EXTMALL F ON C.VENDOR_ID = F.VENDOR_ID AND C.EXTMALL_ID = F.EXTMALL_ID
|
|
|
|
|
+ JOIN TB_ORDER G ON C.ORD_NO = G.ORD_NO
|
|
|
|
|
+ WHERE A.CHG_GB = 'G680_30' -- 반품요청
|
|
|
|
|
+ AND B.CHG_STAT = 'G685_30' -- 회수요청
|
|
|
|
|
+ AND B.DEL_YN = 'N'
|
|
|
|
|
+ AND F.DWDP_YN = 'N' -- N:자사몰에서 회수
|
|
|
|
|
+ AND E.SELF_GOODS_YN = 'Y' -- 자사상품
|
|
|
|
|
+ AND E.RETURNABLE_YN = 'Y' -- 반품가능여부
|
|
|
|
|
+ AND G.MALL_GB = 'G011_20' -- 제휴몰
|
|
|
|
|
+
|
|
|
|
|
+ UNION ALL
|
|
|
|
|
+
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ A.ORD_CHG_SQ AS OrderExceptionNo -- 주문변경번호
|
|
|
|
|
+ , CASE WHEN A.CHG_GB ='G680_30' THEN '10' ELSE '20' END AS RecallTypeCd
|
|
|
|
|
+ , A.CHGER_NM AS Receiver
|
|
|
|
|
+ , A.CHGER_TELNO AS ReceiverTelNum
|
|
|
|
|
+ , A.CHGER_PHNNO AS ReceiverCellNum
|
|
|
|
|
+ , A.CHGER_ZIPCODE AS DeliveryPostalCode
|
|
|
|
|
+ , A.CHGER_BASE_ADDR AS DeliveryAddr1
|
|
|
|
|
+ , A.CHGER_DTL_ADDR AS DeliveryAddr2
|
|
|
|
|
+ , G.ORD_NO AS OrderNo
|
|
|
|
|
+ , G.ORD_NM AS CustomerName
|
|
|
|
|
+ , (SELECT CC.CUST_ID FROM TB_CUSTOMER CC WHERE CC.CUST_NO = G.CUST_NO) AS LoginId
|
|
|
|
|
+ , A.CHG_MEMO AS CSMemo
|
|
|
|
|
+ , A.UPD_DT AS DateCSMemoUpdated
|
|
|
|
|
+ , 0 AS IsDeleted
|
|
|
|
|
+ , '' AS DeliveryAddrNew
|
|
|
|
|
+ , CASE WHEN A.WD_GB ='W' THEN 'Y' ELSE 'N' END AS RecallRequestYn
|
|
|
|
|
+ , '0' AS IfStat
|
|
|
|
|
+ , D.PRODUCT_NO AS ProductNo
|
|
|
|
|
+ , D.PRODUCT_CODE AS ProductCode
|
|
|
|
|
+ , E.GOODS_NM AS ProductName
|
|
|
|
|
+ , D.OPT_CD AS SKUCode
|
|
|
|
|
+ , CONCAT(D.OPT_CD1,'/',D.OPT_CD2) AS SKUValue
|
|
|
|
|
+ , B.CHG_QTY * D.ITEM_QTY AS RecallQty
|
|
|
|
|
+ , '입고대기' AS StatusCd
|
|
|
|
|
+ , (SELECT SS.SHIP_COMP_NM FROM TB_SHIP_COMPANY SS WHERE SS.SHIP_COMP_CD = A.SHIP_COMP_CD ) AS LogisticsName
|
|
|
|
|
+ , A.SHIP_COMP_CD AS LogisticsCode
|
|
|
|
|
+ , A.WD_INVOICE_NO AS RecallInvoiceNo
|
|
|
|
|
+ , C.ORD_DTL_NO AS OrderDtlNo
|
|
|
|
|
+ , C.INVOICE_NO AS InvoiceNo
|
|
|
|
|
+ FROM TB_ORDER_CHANGE A
|
|
|
|
|
+ JOIN TB_ORDER_CHANGE_DETAIL B ON A.ORD_CHG_SQ = B.ORD_CHG_SQ
|
|
|
|
|
+ JOIN TB_ORDER_DETAIL C ON B.ORD_DTL_NO = C.ORD_DTL_NO
|
|
|
|
|
+ JOIN TB_ORDER_DETAIL_ITEM D ON C.ORD_DTL_NO = D.ORD_DTL_NO
|
|
|
|
|
+ JOIN TB_GOODS E ON C.GOODS_CD = E.GOODS_CD
|
|
|
|
|
+ JOIN TB_EXTMALL F ON C.VENDOR_ID = F.VENDOR_ID AND C.EXTMALL_ID = F.EXTMALL_ID
|
|
|
|
|
+ JOIN TB_ORDER G ON C.ORD_NO = G.ORD_NO
|
|
|
|
|
+ WHERE A.CHG_GB = 'G680_40' -- 교환요청
|
|
|
|
|
+ AND B.CHG_STAT = 'G685_30' -- 회수요청
|
|
|
|
|
+ AND B.DEL_YN = 'N'
|
|
|
|
|
+ AND F.DWDP_YN = 'N' -- N:자사몰에서 회수
|
|
|
|
|
+ AND E.SELF_GOODS_YN = 'Y' -- 자사상품
|
|
|
|
|
+ AND E.CHANGEABLE_YN = 'Y' -- 교환가능여부
|
|
|
|
|
+ AND G.MALL_GB = 'G011_20' -- 제휴몰
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 주문변경상세 상태값 변경 -->
|
|
|
|
|
+ <update id="updateTbOrderChaneDetailStat" parameterType="Delivery" >
|
|
|
|
|
+ /*TsbDelivery.updateTbOrderChaneDetailStat*/
|
|
|
|
|
+ UPDATE TB_ORDER_CHANGE_DETAIL SET
|
|
|
|
|
+ CHG_STAT = #{chgStat}
|
|
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
|
|
+ , UPD_DT = NOW()
|
|
|
|
|
+ WHERE ORD_CHG_SQ = #{orderexceptionno}
|
|
|
|
|
+ AND ORD_DTL_NO = #{orderdtlno}
|
|
|
|
|
+ </update>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- WMS 회수 송장번호 조회 대상 -->
|
|
|
|
|
+ <select id="getWithdrawInvcRcpList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getWithdrawInvcRcpList*/
|
|
|
|
|
+ SELECT ORD_CHG_SQ, ORD_NO
|
|
|
|
|
+ FROM(
|
|
|
|
|
+ SELECT A.ORD_CHG_SQ, (SELECT MAX(D.ORD_NO) FROM TB_ORDER_DETAIL D WHERE D.ORD_DTL_NO = B.ORD_DTL_NO) AS ORD_NO
|
|
|
|
|
+ FROM TB_ORDER_CHANGE A
|
|
|
|
|
+ JOIN TB_ORDER_CHANGE_DETAIL B ON A.ORD_CHG_SQ = B.ORD_CHG_SQ
|
|
|
|
|
+ WHERE B.DEL_YN ='N'
|
|
|
|
|
+ AND A.WD_INVOICE_NO IS NULL
|
|
|
|
|
+ AND A.WD_GB = 'W'
|
|
|
|
|
+ AND A.CHG_GB IN('G680_30','G680_40')
|
|
|
|
|
+ AND A.REG_DT > STR_TO_DATE('2021-03-15 00:00:00','%Y-%m-%d %H:%i:%S')
|
|
|
|
|
+ ) A
|
|
|
|
|
+ GROUP BY ORD_CHG_SQ, ORD_NO
|
|
|
|
|
+
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 주문변경상세 반운송장번호 업데이트 -->
|
|
|
|
|
+ <update id="updateTbOrderChaneInvoc" parameterType="Delivery" >
|
|
|
|
|
+ /*TsbDelivery.updateTbOrderChaneInvoc*/
|
|
|
|
|
+ UPDATE TB_ORDER_CHANGE SET
|
|
|
|
|
+ WD_STDT = #{deliveryDt}
|
|
|
|
|
+ , WD_INVOICE_NO = #{recallinvoiceno}
|
|
|
|
|
+ , SHIP_COMP_CD = #{shipCompCd}
|
|
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
|
|
+ , UPD_DT = NOW()
|
|
|
|
|
+ WHERE ORD_CHG_SQ = #{ordChgSq}
|
|
|
|
|
+ </update>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 주문변경회수상태 업데이트 -->
|
|
|
|
|
+ <update id="updateTbOrderChangeStat" parameterType="Delivery" >
|
|
|
|
|
+ /*TsbDelivery.updateTbOrderChangeStat*/
|
|
|
|
|
+ UPDATE TB_ORDER_CHANGE SET
|
|
|
|
|
+ WD_SHIP_STATE = #{crgSt}
|
|
|
|
|
+ , WD_REASON_CD = #{noCldvRsnCd}
|
|
|
|
|
+ <if test='crgSt == "91"'>
|
|
|
|
|
+ , WD_EDDT = #{deliveryDt}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ , WD_STATE_DT = NOW()
|
|
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
|
|
+ , UPD_DT = NOW()
|
|
|
|
|
+ WHERE ORD_CHG_SQ = #{ordChgSq}
|
|
|
|
|
+ </update>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 주문변경상태 업데이트 -->
|
|
|
|
|
+ <update id="updateTbOrderChangeDtlStat" parameterType="Delivery" >
|
|
|
|
|
+ /*TsbDelivery.updateTbOrderChangeDtlStat*/
|
|
|
|
|
+ UPDATE TB_ORDER_CHANGE_DETAIL SET
|
|
|
|
|
+ CHG_STAT = #{chgStat}
|
|
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
|
|
+ , UPD_DT = NOW()
|
|
|
|
|
+ WHERE ORD_CHG_SQ = #{ordChgSq}
|
|
|
|
|
+ AND CHG_STAT = 'G685_30'
|
|
|
|
|
+ AND DEL_YN = 'N'
|
|
|
|
|
+ </update>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 주문변경 주문상세번호 조회 -->
|
|
|
|
|
+ <select id="getOrdChgDtlNoList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getOrdChgDtlNoList*/
|
|
|
|
|
+ SELECT ORD_CHG_SQ
|
|
|
|
|
+ , ORD_DTL_NO
|
|
|
|
|
+ FROM TB_ORDER_CHANGE_DETAIL
|
|
|
|
|
+ WHERE ORD_CHG_SQ = #{ordChgSq}
|
|
|
|
|
+ AND CHG_STAT = 'G685_30'
|
|
|
|
|
+ AND DEL_YN = 'N'
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 배송추적 대상 조회 -->
|
|
|
|
|
+ <select id="getDelvTrackingList" resultType="Delivery">
|
|
|
|
|
+ /*TsbDelivery.getDelvTrackingList*/
|
|
|
|
|
+ SELECT 'O' AS GB
|
|
|
|
|
+ , A.INVOICE_NO
|
|
|
|
|
+ , (SELECT SWT_SHIP_COMP_CD FROM TB_SHIP_COMPANY C WHERE C.SHIP_COMP_CD = A.SHIP_COMP_CD) AS SHIP_COMP_CD
|
|
|
|
|
+ , NULL AS ORD_CHG_SQ
|
|
|
|
|
+ FROM TB_ORDER_DETAIL A
|
|
|
|
|
+ WHERE A.INVOICE_NO IS NOT NULL
|
|
|
|
|
+ AND A.ORD_DTL_STAT IN ('G013_40','G013_50','G013_55') -- 배송준비중 배송중 출고완료
|
|
|
|
|
+ AND NOT EXISTS (SELECT 1 FROM TB_ORDER_DETAIL_INVOICE B WHERE A.ORD_NO = B.ORD_NO AND A.ORD_DTL_NO = B.ORD_DTL_NO AND A.INVOICE_NO = B.INVOICE_NO AND B.SWT_TRC_SEND_YN ='Y')
|
|
|
|
|
+ GROUP BY A.INVOICE_NO, A.SHIP_COMP_CD
|
|
|
|
|
+
|
|
|
|
|
+ UNION ALL
|
|
|
|
|
+
|
|
|
|
|
+ SELECT 'W' AS GB
|
|
|
|
|
+ , A.WD_INVOICE_NO
|
|
|
|
|
+ , (SELECT SWT_SHIP_COMP_CD FROM TB_SHIP_COMPANY C WHERE C.SHIP_COMP_CD = A.SHIP_COMP_CD) AS SHIP_COMP_CD
|
|
|
|
|
+ , A.ORD_CHG_SQ
|
|
|
|
|
+ FROM TB_ORDER_CHANGE A
|
|
|
|
|
+ JOIN TB_ORDER_CHANGE_DETAIL B ON A.ORD_CHG_SQ = B.ORD_CHG_SQ AND B.DEL_YN ='N'
|
|
|
|
|
+ WHERE A.WD_INVOICE_NO IS NOT NULL
|
|
|
|
|
+ AND A.CHG_GB IN('G680_30','G680_40') -- 반품요청 교환요청
|
|
|
|
|
+ AND A.SWT_TRC_SEND_YN = 'N'
|
|
|
|
|
+ AND B.CHG_STAT IN('G685_30','G685_31') -- 회수요청 상품검수중
|
|
|
|
|
+ GROUP BY A.WD_INVOICE_NO, A.SHIP_COMP_CD, A.ORD_CHG_SQ
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 주문 배송추적요청 완료 -->
|
|
|
|
|
+ <update id="updateSwtOrdInvcSendYn" parameterType="Delivery" >
|
|
|
|
|
+ /*TsbDelivery.updateSwtOrdInvcSendYn*/
|
|
|
|
|
+ UPDATE TB_ORDER_DETAIL_INVOICE A SET
|
|
|
|
|
+ SWT_TRC_SEND_YN = 'Y'
|
|
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
|
|
+ , UPD_DT = NOW()
|
|
|
|
|
+ WHERE EXISTS (SELECT 1 FROM TB_ORDER_DETAIL B
|
|
|
|
|
+ WHERE B.ORD_NO = A.ORD_NO AND B.ORD_DTL_NO = A.ORD_DTL_NO AND B.INVOICE_NO = A.INVOICE_NO
|
|
|
|
|
+ AND B.INVOICE_NO = #{invoiceNo}
|
|
|
|
|
+ AND B.SHIP_COMP_CD = #{shipCompCd} )
|
|
|
|
|
+ </update>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 회수 배송추적요청 완료 -->
|
|
|
|
|
+ <update id="updateSwtWdInvcSendYn" parameterType="Delivery" >
|
|
|
|
|
+ /*TsbDelivery.updateSwtWdInvcSendYn*/
|
|
|
|
|
+ UPDATE TB_ORDER_CHANGE SET
|
|
|
|
|
+ SWT_TRC_SEND_YN = 'Y'
|
|
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
|
|
+ , UPD_DT = NOW()
|
|
|
|
|
+ WHERE ORD_CHG_SQ = #{ordChgSq}
|
|
|
|
|
+ </update>
|
|
|
|
|
+
|
|
|
|
|
|
|
|
</mapper>
|
|
</mapper>
|