|
@@ -147,362 +147,492 @@
|
|
|
<!-- 회수예외목록 건수 -->
|
|
<!-- 회수예외목록 건수 -->
|
|
|
<select id="getWithdrawExceptionListCount" parameterType="WithdrawExc" resultType="int">
|
|
<select id="getWithdrawExceptionListCount" parameterType="WithdrawExc" resultType="int">
|
|
|
/* TsaWithdraw.getWithdrawExceptionListCount */
|
|
/* TsaWithdraw.getWithdrawExceptionListCount */
|
|
|
- SELECT COUNT(*) AS TOTCNT
|
|
|
|
|
- FROM (
|
|
|
|
|
- SELECT
|
|
|
|
|
- A.RECALL_STAT -- 반품대기처리상태
|
|
|
|
|
- , A.STATUS_CD -- 처리상태
|
|
|
|
|
- , A.RECALL_EXCEPTION_NO -- 반품예외처리번호
|
|
|
|
|
- , B.ORDER_DTL_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_CODE NOT IN('08','10')
|
|
|
|
|
|
|
+ SELECT COUNT(1) AS TOTCNT
|
|
|
|
|
+ FROM (
|
|
|
|
|
+ SELECT A.RECALL_STAT -- 반품대기처리상태
|
|
|
|
|
+ , A.STATUS_CD -- 처리상태
|
|
|
|
|
+ , A.RECALL_EXCEPTION_NO -- 반품예외처리번호
|
|
|
|
|
+ , B.ORDER_DTL_NO
|
|
|
|
|
+ FROM TB_ORDER_RECALL_EXCEPTION A
|
|
|
|
|
+ JOIN TB_ORDER_RECALL_EXCEPTION_ITEM B ON A.RECALL_EXCEPTION_NO = B.RECALL_EXCEPTION_NO
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ AND B.REASON_CODE NOT IN('08','10')
|
|
|
|
|
+ <if test='customerName != null and customerName != ""'>
|
|
|
|
|
+ AND A.CUSTOMER_NAME = #{customerName}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='orderNo != null and orderNo != ""'>
|
|
|
|
|
+ AND A.ORDER_NO = #{orderNo}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='recallStat != null and recallStat != ""'>
|
|
|
|
|
+ AND A.RECALL_STAT = #{recallStat}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='stDate != null and stDate != ""'>
|
|
|
|
|
+ AND A.DATE_CREATED <![CDATA[>= ]]> STR_TO_DATE(REPLACE(#{stDate},'-',''), '%Y%m%d%H%i%s')
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='edDate != null and edDate != ""'>
|
|
|
|
|
+ AND A.DATE_CREATED <![CDATA[<]]> DATE_ADD(STR_TO_DATE(REPLACE(#{edDate},'-','') + 1 , '%Y%m%d%H%i%s'), INTERVAL 1 DAY)
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='reasonCode != null and reasonCode != ""'>
|
|
|
|
|
+ AND B.REASON_CODE = #{reasonCode}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='userNameCreated != null and userNameCreated != ""'>
|
|
|
|
|
+ AND A.USER_NAME_CREATED = #{userNameCreated}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <choose>
|
|
|
|
|
+ <when test='ordNoList != null and ordNoList != ""'>
|
|
|
|
|
+ AND A.ORDER_NO IN
|
|
|
|
|
+ <foreach collection="ordNoList" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
+ #{item}
|
|
|
|
|
+ </foreach>
|
|
|
|
|
+ </when>
|
|
|
|
|
+ </choose>
|
|
|
|
|
+ <if test="optCd != null and optCd != ''">
|
|
|
|
|
+ AND B.SKU_CODE LIKE CONCAT('%',#{optCd},'%')
|
|
|
|
|
+ </if>
|
|
|
|
|
+ ) A
|
|
|
|
|
+ LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL CD ON A.ORDER_DTL_NO = CD.ORD_DTL_NO AND CD.DEL_YN ='N' AND CD.CHG_STAT = 'G685_31'
|
|
|
|
|
+ LEFT OUTER JOIN TB_ORDER_CHANGE OC ON CD.ORD_CHG_SQ = OC.ORD_CHG_SQ
|
|
|
|
|
+ LEFT OUTER JOIN TB_ORDER_DETAIL OD ON A.ORDER_DTL_NO = OD.ORD_DTL_NO
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ <if test='chgGb != null and chgGb != "" and chgGb !="G680" and chgGb !="G680_00"'>
|
|
|
|
|
+ AND OC.CHG_GB = #{chgGb}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='chgGb =="G680"'>
|
|
|
|
|
+ AND OC.CHG_GB = 'WEXC'
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='chgGb =="G680_00"'>
|
|
|
|
|
+ AND OC.CHG_GB = 'EXC'
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="extmallId != null and extmallId != ''">
|
|
|
|
|
+ AND OD.VENDOR_ID = #{vendorId}
|
|
|
|
|
+ AND OD.EXTMALL_ID = #{extmallId}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="extmallOrderId != null and extmallOrderId != ''">
|
|
|
|
|
+ AND OD.EXTMALL_ORDER_ID LIKE CONCAT('%',#{extmallOrderId},'%')
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <choose>
|
|
|
|
|
+ <when test="search != null and search != '' and search == 'shoplinkerOrderId'">
|
|
|
|
|
+ AND OD.AGENT_ORDER_ID IN
|
|
|
|
|
+ <foreach collection="conditions" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
+ #{item}
|
|
|
|
|
+ </foreach>
|
|
|
|
|
+ </when>
|
|
|
|
|
+ <when test="search != null and search != '' and search == 'mallOrderId'">
|
|
|
|
|
+ AND OD.EXTMALL_ORDER_ID IN
|
|
|
|
|
+ <foreach collection="conditions" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
+ #{item}
|
|
|
|
|
+ </foreach>
|
|
|
|
|
+ </when>
|
|
|
|
|
+ </choose>
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 회수예외목록 -->
|
|
|
|
|
+ <select id="getWithdrawExceptionList" parameterType="WithdrawExc" resultType="WithdrawExc">
|
|
|
|
|
+ /* TsaWithdraw.getWithdrawExceptionList */
|
|
|
|
|
+ SELECT Z.*
|
|
|
|
|
+ , ROW_NUMBER() OVER W AS ROWSPAN_CNT
|
|
|
|
|
+ , ROW_NUMBER() OVER T AS ROWSPAN_RANK
|
|
|
|
|
+ , ROW_NUMBER() OVER S AS ROWSPAN_DT_CNT
|
|
|
|
|
+ , ROW_NUMBER() OVER C AS ROWSPAN_DT_RANK
|
|
|
|
|
+ , (SELECT E.EXTMALL_NM FROM TB_EXTMALL E WHERE E.VENDOR_ID = Z.VENDOR_ID AND E.EXTMALL_ID = Z.EXTMALL_ID) AS SITE_CD
|
|
|
|
|
+ , CASE WHEN Z.CHG_GB = 'G680_30' THEN FN_GET_CODE_NM('G688', Z.CHG_REASON)
|
|
|
|
|
+ WHEN Z.CHG_GB = 'G680_40' THEN FN_GET_CODE_NM('G689', Z.CHG_REASON)
|
|
|
|
|
+ ELSE ''
|
|
|
|
|
+ END AS CHG_REASON_NM
|
|
|
|
|
+ , CASE WHEN Z.CHG_GB = 'EXC' THEN '출고예외'
|
|
|
|
|
+ WHEN Z.CHG_GB = 'WEXC' THEN '회수예외'
|
|
|
|
|
+ ELSE FN_GET_CODE_NM('G680', Z.CHG_GB)
|
|
|
|
|
+ END AS CHG_GB_NM
|
|
|
|
|
+ , (SELECT CHG_STAT
|
|
|
|
|
+ FROM TB_ORDER_CHANGE_DETAIL C
|
|
|
|
|
+ WHERE C.ORD_DTL_NO = Z.ORDER_DTL_NO
|
|
|
|
|
+ AND C.DEL_YN = 'N'
|
|
|
|
|
+ AND C.ORD_CHG_SQ = Z.ORD_CHG_SQ) AS CHG_STAT
|
|
|
|
|
+ , (SELECT D.DELV_FEE_CD
|
|
|
|
|
+ FROM TB_ORDER_DETAIL D
|
|
|
|
|
+ WHERE D.ORD_DTL_NO = Z.ORDER_DTL_NO ) AS DELV_FEE_CD
|
|
|
|
|
+ , CASE WHEN Z.RECALL_STAT = 'P'
|
|
|
|
|
+ THEN '대기'
|
|
|
|
|
+ ELSE '완료'
|
|
|
|
|
+ END AS RECALL_STAT_NM
|
|
|
|
|
+ , CASE WHEN Z.RECALL_STAT = 'P' AND Z.ADD_FEE_YN = 'Y' AND (SELECT CHG_STAT FROM TB_ORDER_CHANGE_DETAIL C WHERE C.ORD_DTL_NO = Z.ORDER_DTL_NO AND C.DEL_YN = 'N' AND C.ORD_CHG_SQ = Z.ORD_CHG_SQ) IN ('G685_32') THEN '추가결제대기'
|
|
|
|
|
+ WHEN Z.RECALL_STAT = 'P' AND Z.ADD_FEE_YN = 'Y' AND (SELECT CHG_STAT FROM TB_ORDER_CHANGE_DETAIL C WHERE C.ORD_DTL_NO = Z.ORDER_DTL_NO AND C.DEL_YN = 'N' AND C.ORD_CHG_SQ = Z.ORD_CHG_SQ) NOT IN ('G685_32') THEN '추가결제완료'
|
|
|
|
|
+ WHEN Z.RECALL_STAT = 'P' THEN '대기' ELSE '완료' END AS STAT_NM
|
|
|
|
|
+ , CASE WHEN (SELECT COUNT(*) FROM TB_ORDER_CHANGE_DETAIL OCD WHERE OCD.ORD_DTL_NO = Z.ORDER_DTL_NO AND OCD.CHG_STAT IN('G685_49','G685_69') AND OCD.ORD_CHG_SQ = Z.ORD_CHG_SQ) > 0 THEN 'Y' ELSE 'N' END AS NEW_ORD_CHG_SQ_YN
|
|
|
|
|
+ FROM (
|
|
|
|
|
+ SELECT A.*
|
|
|
|
|
+ , ROW_NUMBER() OVER(ORDER BY A.ORDER_NO, A.RECALL_EXCEPTION_NO, A.RECALL_EXCEPTION_ITEM_NO) RNUM
|
|
|
|
|
+ , CASE WHEN A.MALL_GB = 'G011_20' THEN (SELECT MAX(BB.EXTMALL_ID) FROM TB_ORDER_DETAIL BB WHERE BB.ORD_NO = A.ORDER_NO) ELSE 'APISHOP_0054' END AS EXTMALL_ID
|
|
|
|
|
+ , CASE WHEN A.MALL_GB = 'G011_20' THEN (SELECT MAX(BB.VENDOR_ID) FROM TB_ORDER_DETAIL BB WHERE BB.ORD_NO = A.ORDER_NO) ELSE 'G003_V001' END AS VENDOR_ID
|
|
|
|
|
+ FROM (
|
|
|
|
|
+ SELECT A.*
|
|
|
|
|
+ FROM (
|
|
|
|
|
+ SELECT A.RECALL_STAT -- 반품대기처리상태
|
|
|
|
|
+ , A.STATUS_CD -- 처리상태
|
|
|
|
|
+ , A.DATE_CREATED -- 등록일자
|
|
|
|
|
+ , A.CUSTOMER_NAME -- 고객명
|
|
|
|
|
+ , A.ORDER_NO -- 주문번호
|
|
|
|
|
+ , B.ORDER_DTL_NO -- 주문상세번호
|
|
|
|
|
+ , A.LOGISTICS_NAME -- 택배사명
|
|
|
|
|
+ , A.INVOICE_NO -- 반송장번호
|
|
|
|
|
+ , A.CHARGE_TYPE -- 요금구분
|
|
|
|
|
+ , A.CHARGE_AMOUNT -- 배송비
|
|
|
|
|
+ , A.USER_NAME_CREATED -- 작업자
|
|
|
|
|
+ , B.REASON_CD -- 예외사유
|
|
|
|
|
+ , IFNULL((SELECT GROUP_CONCAT(ADMIN_MEMO ORDER BY RECALL_EXCEPTION_MEMO_NO )
|
|
|
|
|
+ FROM TB_ORDER_RECALL_EXCEPTION_MEMO C
|
|
|
|
|
+ WHERE C.RECALL_EXCEPTION_NO = A.RECALL_EXCEPTION_NO
|
|
|
|
|
+ AND ADMIN_MEMO !='.'),'-') AS ADMIN_MEMO -- WMS메시지
|
|
|
|
|
+ , IFNULL((SELECT BRAND_KNM FROM TB_BRAND BR JOIN TB_GOODS GD ON BR.BRAND_CD = GD.BRAND_CD WHERE GD.GOODS_CD = C.GOODS_CD),'') AS BRAND_NM -- 브랜드명
|
|
|
|
|
+ , B.PRODUCT_CODE -- 상품코드
|
|
|
|
|
+ , B.SKU_CODE -- SKU코드
|
|
|
|
|
+ , B.PRODUCT_NAME -- 상품명
|
|
|
|
|
+ , B.SKU_VALUE -- 속성
|
|
|
|
|
+ , C.SKU_MODEL_NO -- 원코드
|
|
|
|
|
+ , B.EXCEPTION_QTY -- 수량
|
|
|
|
|
+ , A.RECALL_EXCEPTION_NO -- 반품예외처리번호
|
|
|
|
|
+ , IFNULL(C.GOODS_CD,'') AS GOODS_CD -- 상품코드
|
|
|
|
|
+ , B.RECALL_EXCEPTION_ITEM_NO
|
|
|
|
|
+ , B.QTY
|
|
|
|
|
+ , B.REASON_CODE
|
|
|
|
|
+ , O.MALL_GB
|
|
|
|
|
+ , A.COD_FEE
|
|
|
|
|
+ , O.ORD_PHNNO
|
|
|
|
|
+ , O.CUST_NO
|
|
|
|
|
+ , CASE WHEN A.PAY_GB = 'NAVER' THEN 'Y' ELSE 'N' END AS PAY_GB
|
|
|
|
|
+ , A.ORDER_EXCEPTION_NO
|
|
|
|
|
+ , NULL AS CHG_STAT
|
|
|
|
|
+ , CD.ORD_CHG_SQ
|
|
|
|
|
+ , NULL AS WD_GB
|
|
|
|
|
+ , NULL AS CHG_REASON
|
|
|
|
|
+ , 'EXC' AS CHG_GB
|
|
|
|
|
+ , 'N' AS WD_BF_SEND_YN
|
|
|
|
|
+ , A.ADD_FEE_YN
|
|
|
|
|
+ , A.CS_ADD_FEE
|
|
|
|
|
+ , A.CS_MEMO
|
|
|
|
|
+ , (SELECT EXTMALL_NM
|
|
|
|
|
+ FROM TB_EXTMALL X
|
|
|
|
|
+ WHERE X.EXTMALL_ID = OD.EXTMALL_ID) AS EXTMALL_NM
|
|
|
|
|
+ , OD.EXTMALL_ORDER_ID
|
|
|
|
|
+ , CD.REG_DT AS CHG_REG_DT
|
|
|
|
|
+ FROM TB_ORDER_RECALL_EXCEPTION A
|
|
|
|
|
+ JOIN TB_ORDER_RECALL_EXCEPTION_ITEM B ON A.RECALL_EXCEPTION_NO = B.RECALL_EXCEPTION_NO
|
|
|
|
|
+ LEFT JOIN TB_ORDER O ON O.ORD_NO = A.ORDER_NO
|
|
|
|
|
+ LEFT JOIN TB_OPTION C ON C.OPT_CD = B.SKU_CODE
|
|
|
|
|
+ LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL CD ON B.ORDER_DTL_NO = CD.ORD_DTL_NO
|
|
|
|
|
+ LEFT OUTER JOIN TB_ORDER_DETAIL OD ON B.ORDER_DTL_NO = OD.ORD_DTL_NO
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ AND B.REASON_CODE IN ('09','11')
|
|
|
<if test='customerName != null and customerName != ""'>
|
|
<if test='customerName != null and customerName != ""'>
|
|
|
- AND A.CUSTOMER_NAME = #{customerName}
|
|
|
|
|
|
|
+ AND A.CUSTOMER_NAME = #{customerName}
|
|
|
</if>
|
|
</if>
|
|
|
<if test='orderNo != null and orderNo != ""'>
|
|
<if test='orderNo != null and orderNo != ""'>
|
|
|
- AND A.ORDER_NO = #{orderNo}
|
|
|
|
|
|
|
+ AND A.ORDER_NO = #{orderNo}
|
|
|
</if>
|
|
</if>
|
|
|
<if test='recallStat != null and recallStat != ""'>
|
|
<if test='recallStat != null and recallStat != ""'>
|
|
|
- AND A.RECALL_STAT = #{recallStat}
|
|
|
|
|
|
|
+ AND A.RECALL_STAT = #{recallStat}
|
|
|
</if>
|
|
</if>
|
|
|
<if test='stDate != null and stDate != ""'>
|
|
<if test='stDate != null and stDate != ""'>
|
|
|
- AND A.DATE_CREATED <![CDATA[>= ]]> STR_TO_DATE(REPLACE(#{stDate},'-',''), '%Y%m%d%H%i%s')
|
|
|
|
|
|
|
+ AND A.DATE_CREATED <![CDATA[>= ]]> STR_TO_DATE(REPLACE(#{stDate},'-',''), '%Y%m%d%H%i%s')
|
|
|
</if>
|
|
</if>
|
|
|
<if test='edDate != null and edDate != ""'>
|
|
<if test='edDate != null and edDate != ""'>
|
|
|
- AND A.DATE_CREATED <![CDATA[<]]> DATE_ADD(STR_TO_DATE(REPLACE(#{edDate},'-','') + 1 , '%Y%m%d%H%i%s'), INTERVAL 1 DAY)
|
|
|
|
|
|
|
+ AND A.DATE_CREATED <![CDATA[<]]> DATE_ADD(STR_TO_DATE(REPLACE(#{edDate},'-','')+ 1, '%Y%m%d%H%i%s'), INTERVAL 1 DAY)
|
|
|
</if>
|
|
</if>
|
|
|
<if test='reasonCode != null and reasonCode != ""'>
|
|
<if test='reasonCode != null and reasonCode != ""'>
|
|
|
- AND B.REASON_CODE = #{reasonCode}
|
|
|
|
|
|
|
+ AND B.REASON_CODE = #{reasonCode}
|
|
|
</if>
|
|
</if>
|
|
|
<if test='userNameCreated != null and userNameCreated != ""'>
|
|
<if test='userNameCreated != null and userNameCreated != ""'>
|
|
|
- AND A.USER_NAME_CREATED = #{userNameCreated}
|
|
|
|
|
- </if>
|
|
|
|
|
|
|
+ AND A.USER_NAME_CREATED = #{userNameCreated}
|
|
|
|
|
+ </if>
|
|
|
<choose>
|
|
<choose>
|
|
|
- <when test='ordNoList != null and ordNoList != ""'>
|
|
|
|
|
- AND A.ORDER_NO IN
|
|
|
|
|
- <foreach collection="ordNoList" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
- #{item}
|
|
|
|
|
- </foreach>
|
|
|
|
|
- </when>
|
|
|
|
|
|
|
+ <when test='ordNoList != null and ordNoList != ""'>
|
|
|
|
|
+ AND A.ORDER_NO IN
|
|
|
|
|
+ <foreach collection="ordNoList" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
+ #{item}
|
|
|
|
|
+ </foreach>
|
|
|
|
|
+ </when>
|
|
|
</choose>
|
|
</choose>
|
|
|
- ) A
|
|
|
|
|
- LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL CD ON A.ORDER_DTL_NO = CD.ORD_DTL_NO AND CD.DEL_YN ='N' AND CD.CHG_STAT = 'G685_31'
|
|
|
|
|
- LEFT OUTER JOIN TB_ORDER_CHANGE OC ON CD.ORD_CHG_SQ = OC.ORD_CHG_SQ
|
|
|
|
|
- WHERE 1=1
|
|
|
|
|
- <if test='chgGb != null and chgGb != "" and chgGb !="G680" and chgGb !="G680_00"'>
|
|
|
|
|
- AND OC.CHG_GB = #{chgGb}
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='chgGb =="G680"'>
|
|
|
|
|
- AND OC.CHG_GB = 'WEXC'
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='chgGb =="G680_00"'>
|
|
|
|
|
- AND OC.CHG_GB = 'EXC'
|
|
|
|
|
- </if>
|
|
|
|
|
-
|
|
|
|
|
- </select>
|
|
|
|
|
-
|
|
|
|
|
- <!-- 회수예외목록 -->
|
|
|
|
|
- <select id="getWithdrawExceptionList" parameterType="WithdrawExc" resultType="WithdrawExc">
|
|
|
|
|
- /* TsaWithdraw.getWithdrawExceptionList */
|
|
|
|
|
- SELECT Z.*
|
|
|
|
|
- , ROW_NUMBER() OVER W AS ROWSPAN_CNT
|
|
|
|
|
- , ROW_NUMBER() OVER T AS ROWSPAN_RANK
|
|
|
|
|
- , ROW_NUMBER() OVER S AS ROWSPAN_DT_CNT
|
|
|
|
|
- , ROW_NUMBER() OVER C AS ROWSPAN_DT_RANK
|
|
|
|
|
- , (SELECT E.EXTMALL_NM FROM TB_EXTMALL E WHERE E.VENDOR_ID = Z.VENDOR_ID AND E.EXTMALL_ID = Z.EXTMALL_ID) AS SITE_CD
|
|
|
|
|
- , CASE WHEN Z.CHG_GB = 'G680_30' THEN FN_GET_CODE_NM('G688', Z.CHG_REASON)
|
|
|
|
|
- WHEN Z.CHG_GB = 'G680_40' THEN FN_GET_CODE_NM('G689', Z.CHG_REASON) ELSE '' END AS CHG_REASON_NM
|
|
|
|
|
- , CASE WHEN Z.CHG_GB = 'EXC' THEN '출고예외' WHEN Z.CHG_GB = 'WEXC' THEN '회수예외' ELSE FN_GET_CODE_NM('G680', Z.CHG_GB) END AS CHG_GB_NM
|
|
|
|
|
- , (SELECT CHG_STAT FROM TB_ORDER_CHANGE_DETAIL C WHERE C.ORD_DTL_NO = Z.ORDER_DTL_NO AND C.DEL_YN = 'N' AND C.ORD_CHG_SQ = Z.ORD_CHG_SQ) AS CHG_STAT
|
|
|
|
|
- , (SELECT D.DELV_FEE_CD FROM TB_ORDER_DETAIL D WHERE D.ORD_DTL_NO = Z.ORDER_DTL_NO ) AS DELV_FEE_CD
|
|
|
|
|
- , CASE WHEN Z.RECALL_STAT = 'P' THEN '대기' ELSE '완료' END AS RECALL_STAT_NM
|
|
|
|
|
- , CASE WHEN Z.RECALL_STAT = 'P' AND Z.ADD_FEE_YN = 'Y' AND (SELECT CHG_STAT FROM TB_ORDER_CHANGE_DETAIL C WHERE C.ORD_DTL_NO = Z.ORDER_DTL_NO AND C.DEL_YN = 'N' AND C.ORD_CHG_SQ = Z.ORD_CHG_SQ) IN ('G685_32') THEN '추가결제대기'
|
|
|
|
|
- WHEN Z.RECALL_STAT = 'P' AND Z.ADD_FEE_YN = 'Y' AND (SELECT CHG_STAT FROM TB_ORDER_CHANGE_DETAIL C WHERE C.ORD_DTL_NO = Z.ORDER_DTL_NO AND C.DEL_YN = 'N' AND C.ORD_CHG_SQ = Z.ORD_CHG_SQ) NOT IN ('G685_32') THEN '추가결제완료'
|
|
|
|
|
- WHEN Z.RECALL_STAT = 'P' THEN '대기' ELSE '완료' END AS STAT_NM
|
|
|
|
|
- , CASE WHEN (SELECT COUNT(*) FROM TB_ORDER_CHANGE_DETAIL OCD WHERE OCD.ORD_DTL_NO = Z.ORDER_DTL_NO AND OCD.CHG_STAT IN('G685_49','G685_69') AND OCD.ORD_CHG_SQ = Z.ORD_CHG_SQ) > 0 THEN 'Y' ELSE 'N' END AS NEW_ORD_CHG_SQ_YN
|
|
|
|
|
- FROM (
|
|
|
|
|
- SELECT A.*, ROW_NUMBER() OVER(ORDER BY A.ORDER_NO, A.RECALL_EXCEPTION_NO, A.RECALL_EXCEPTION_ITEM_NO) RNUM
|
|
|
|
|
- , CASE WHEN A.MALL_GB = 'G011_20' THEN (SELECT MAX(BB.EXTMALL_ID) FROM TB_ORDER_DETAIL BB WHERE BB.ORD_NO = A.ORDER_NO) ELSE 'APISHOP_0054' END AS EXTMALL_ID
|
|
|
|
|
- , CASE WHEN A.MALL_GB = 'G011_20' THEN (SELECT MAX(BB.VENDOR_ID) FROM TB_ORDER_DETAIL BB WHERE BB.ORD_NO = A.ORDER_NO) ELSE 'G003_V001' END AS VENDOR_ID
|
|
|
|
|
- FROM (
|
|
|
|
|
- SELECT A.*
|
|
|
|
|
- FROM (
|
|
|
|
|
- SELECT
|
|
|
|
|
- A.RECALL_STAT -- 반품대기처리상태
|
|
|
|
|
- , A.STATUS_CD -- 처리상태
|
|
|
|
|
- , A.DATE_CREATED -- 등록일자
|
|
|
|
|
- , A.CUSTOMER_NAME -- 고객명
|
|
|
|
|
- , A.ORDER_NO -- 주문번호
|
|
|
|
|
- , B.ORDER_DTL_NO -- 주문상세번호
|
|
|
|
|
- , A.LOGISTICS_NAME -- 택배사명
|
|
|
|
|
- , A.INVOICE_NO -- 반송장번호
|
|
|
|
|
- , A.CHARGE_TYPE -- 요금구분
|
|
|
|
|
- , A.CHARGE_AMOUNT -- 배송비
|
|
|
|
|
- , A.USER_NAME_CREATED -- 작업자
|
|
|
|
|
- , B.REASON_CD -- 예외사유
|
|
|
|
|
- , IFNULL((SELECT GROUP_CONCAT(ADMIN_MEMO ORDER BY RECALL_EXCEPTION_MEMO_NO )
|
|
|
|
|
- FROM TB_ORDER_RECALL_EXCEPTION_MEMO C WHERE C.RECALL_EXCEPTION_NO = A.RECALL_EXCEPTION_NO AND ADMIN_MEMO !='.'),'-') AS ADMIN_MEMO -- WMS메시지
|
|
|
|
|
- , IFNULL((SELECT BRAND_KNM FROM TB_BRAND BR JOIN TB_GOODS GD ON BR.BRAND_CD = GD.BRAND_CD WHERE GD.GOODS_CD = C.GOODS_CD),'') AS BRAND_NM -- 브랜드명
|
|
|
|
|
- , B.PRODUCT_CODE -- 상품코드
|
|
|
|
|
- , B.SKU_CODE -- SKU코드
|
|
|
|
|
- , B.PRODUCT_NAME -- 상품명
|
|
|
|
|
- , B.SKU_VALUE -- 속성
|
|
|
|
|
- , C.SKU_MODEL_NO -- 원코드
|
|
|
|
|
- , B.EXCEPTION_QTY -- 수량
|
|
|
|
|
- , A.RECALL_EXCEPTION_NO -- 반품예외처리번호
|
|
|
|
|
- , IFNULL(C.GOODS_CD,'') AS GOODS_CD -- 상품코드
|
|
|
|
|
- , B.RECALL_EXCEPTION_ITEM_NO
|
|
|
|
|
- , B.QTY
|
|
|
|
|
- , B.REASON_CODE
|
|
|
|
|
- , O.MALL_GB
|
|
|
|
|
- , A.COD_FEE
|
|
|
|
|
- , O.ORD_PHNNO
|
|
|
|
|
- , O.CUST_NO
|
|
|
|
|
- , CASE WHEN A.PAY_GB = 'NAVER' THEN 'Y' ELSE 'N' END AS PAY_GB
|
|
|
|
|
- , A.ORDER_EXCEPTION_NO
|
|
|
|
|
- , NULL AS CHG_STAT
|
|
|
|
|
- , CD.ORD_CHG_SQ
|
|
|
|
|
- , NULL AS WD_GB
|
|
|
|
|
- , NULL AS CHG_REASON
|
|
|
|
|
- , 'EXC' AS CHG_GB
|
|
|
|
|
- , 'N' AS WD_BF_SEND_YN
|
|
|
|
|
- , A.ADD_FEE_YN
|
|
|
|
|
- , A.CS_ADD_FEE
|
|
|
|
|
- , A.CS_MEMO
|
|
|
|
|
- FROM TB_ORDER_RECALL_EXCEPTION A
|
|
|
|
|
- JOIN TB_ORDER_RECALL_EXCEPTION_ITEM B ON A.RECALL_EXCEPTION_NO = B.RECALL_EXCEPTION_NO
|
|
|
|
|
- LEFT JOIN TB_ORDER O ON O.ORD_NO = A.ORDER_NO
|
|
|
|
|
- LEFT JOIN TB_OPTION C ON C.OPT_CD = B.SKU_CODE
|
|
|
|
|
- LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL CD ON B.ORDER_DTL_NO = CD.ORD_DTL_NO
|
|
|
|
|
- WHERE B.REASON_CODE IN('09','11')
|
|
|
|
|
- <if test='customerName != null and customerName != ""'>
|
|
|
|
|
- AND A.CUSTOMER_NAME = #{customerName}
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='orderNo != null and orderNo != ""'>
|
|
|
|
|
- AND A.ORDER_NO = #{orderNo}
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='recallStat != null and recallStat != ""'>
|
|
|
|
|
- AND A.RECALL_STAT = #{recallStat}
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='stDate != null and stDate != ""'>
|
|
|
|
|
- AND A.DATE_CREATED <![CDATA[>= ]]> STR_TO_DATE(REPLACE(#{stDate},'-',''), '%Y%m%d%H%i%s')
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='edDate != null and edDate != ""'>
|
|
|
|
|
- AND A.DATE_CREATED <![CDATA[<]]> DATE_ADD(STR_TO_DATE(REPLACE(#{edDate},'-','')+ 1, '%Y%m%d%H%i%s'), INTERVAL 1 DAY)
|
|
|
|
|
- </if>
|
|
|
|
|
-
|
|
|
|
|
- <if test='reasonCode != null and reasonCode != ""'>
|
|
|
|
|
- AND B.REASON_CODE = #{reasonCode}
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='userNameCreated != null and userNameCreated != ""'>
|
|
|
|
|
- AND A.USER_NAME_CREATED = #{userNameCreated}
|
|
|
|
|
- </if>
|
|
|
|
|
- <choose>
|
|
|
|
|
- <when test='ordNoList != null and ordNoList != ""'>
|
|
|
|
|
- AND A.ORDER_NO IN
|
|
|
|
|
- <foreach collection="ordNoList" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
- #{item}
|
|
|
|
|
- </foreach>
|
|
|
|
|
- </when>
|
|
|
|
|
- </choose>
|
|
|
|
|
- UNION ALL
|
|
|
|
|
-
|
|
|
|
|
- SELECT
|
|
|
|
|
- A.RECALL_STAT -- 반품대기처리상태
|
|
|
|
|
- , A.STATUS_CD -- 처리상태
|
|
|
|
|
- , A.DATE_CREATED -- 등록일자
|
|
|
|
|
- , A.CUSTOMER_NAME -- 고객명
|
|
|
|
|
- , A.ORDER_NO -- 주문번호
|
|
|
|
|
- , B.ORDER_DTL_NO -- 주문상세번호
|
|
|
|
|
- , A.LOGISTICS_NAME -- 택배사명
|
|
|
|
|
- , A.INVOICE_NO -- 반송장번호
|
|
|
|
|
- , A.CHARGE_TYPE -- 요금구분
|
|
|
|
|
- , A.CHARGE_AMOUNT -- 배송비
|
|
|
|
|
- , A.USER_NAME_CREATED -- 작업자
|
|
|
|
|
- , B.REASON_CD -- 예외사유
|
|
|
|
|
- , IFNULL((SELECT GROUP_CONCAT(ADMIN_MEMO ORDER BY RECALL_EXCEPTION_MEMO_NO )
|
|
|
|
|
- FROM TB_ORDER_RECALL_EXCEPTION_MEMO C WHERE C.RECALL_EXCEPTION_NO = A.RECALL_EXCEPTION_NO AND ADMIN_MEMO !='.'),'-') AS ADMIN_MEMO -- WMS메시지
|
|
|
|
|
- , IFNULL((SELECT BRAND_KNM FROM TB_BRAND BR JOIN TB_GOODS GD ON BR.BRAND_CD = GD.BRAND_CD WHERE GD.GOODS_CD = C.GOODS_CD),'') AS BRAND_NM -- 브랜드명
|
|
|
|
|
- , B.PRODUCT_CODE -- 상품코드
|
|
|
|
|
- , B.SKU_CODE -- SKU코드
|
|
|
|
|
- , B.PRODUCT_NAME -- 상품명
|
|
|
|
|
- , B.SKU_VALUE -- 속성
|
|
|
|
|
- , C.SKU_MODEL_NO -- 원코드
|
|
|
|
|
- , B.EXCEPTION_QTY -- 수량
|
|
|
|
|
- , A.RECALL_EXCEPTION_NO -- 반품예외처리번호
|
|
|
|
|
- , IFNULL(C.GOODS_CD,'') AS GOODS_CD -- 상품코드
|
|
|
|
|
- , B.RECALL_EXCEPTION_ITEM_NO
|
|
|
|
|
- , B.QTY
|
|
|
|
|
- , B.REASON_CODE
|
|
|
|
|
- , O.MALL_GB
|
|
|
|
|
- , A.COD_FEE
|
|
|
|
|
- , O.ORD_PHNNO
|
|
|
|
|
- , O.CUST_NO
|
|
|
|
|
- , CASE WHEN A.PAY_GB = 'NAVER' THEN 'Y' ELSE 'N' END AS PAY_GB
|
|
|
|
|
- , A.ORDER_EXCEPTION_NO
|
|
|
|
|
- , CD.CHG_STAT
|
|
|
|
|
- , OC.ORD_CHG_SQ
|
|
|
|
|
- , OC.WD_GB
|
|
|
|
|
- , OC.CHG_REASON
|
|
|
|
|
- , OC.CHG_GB
|
|
|
|
|
- , OC.WD_BF_SEND_YN
|
|
|
|
|
- , A.ADD_FEE_YN
|
|
|
|
|
- , A.CS_ADD_FEE
|
|
|
|
|
- , A.CS_MEMO
|
|
|
|
|
- FROM TB_ORDER_RECALL_EXCEPTION A
|
|
|
|
|
- JOIN TB_ORDER_RECALL_EXCEPTION_ITEM B ON A.RECALL_EXCEPTION_NO = B.RECALL_EXCEPTION_NO
|
|
|
|
|
- LEFT JOIN TB_ORDER O ON O.ORD_NO = A.ORDER_NO
|
|
|
|
|
- LEFT JOIN TB_OPTION C ON C.OPT_CD = B.SKU_CODE
|
|
|
|
|
- LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL CD ON B.ORDER_DTL_NO = CD.ORD_DTL_NO AND A.ORDER_EXCEPTION_NO = CD.ORD_CHG_SQ
|
|
|
|
|
- LEFT OUTER JOIN TB_ORDER_CHANGE OC ON CD.ORD_CHG_SQ = OC.ORD_CHG_SQ
|
|
|
|
|
- WHERE B.REASON_CODE IN('00','02','03','04','05','06','15')
|
|
|
|
|
- <if test='customerName != null and customerName != ""'>
|
|
|
|
|
- AND A.CUSTOMER_NAME = #{customerName}
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='orderNo != null and orderNo != ""'>
|
|
|
|
|
- AND A.ORDER_NO = #{orderNo}
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='recallStat != null and recallStat != ""'>
|
|
|
|
|
- AND A.RECALL_STAT = #{recallStat}
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='stDate != null and stDate != ""'>
|
|
|
|
|
- AND A.DATE_CREATED <![CDATA[>= ]]> STR_TO_DATE(REPLACE(#{stDate},'-',''), '%Y%m%d%H%i%s')
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='edDate != null and edDate != ""'>
|
|
|
|
|
- AND A.DATE_CREATED <![CDATA[<]]> DATE_ADD(STR_TO_DATE(REPLACE(#{edDate},'-','')+ 1, '%Y%m%d%H%i%s'), INTERVAL 1 DAY)
|
|
|
|
|
- </if>
|
|
|
|
|
-
|
|
|
|
|
- <if test='reasonCode != null and reasonCode != ""'>
|
|
|
|
|
- AND B.REASON_CODE = #{reasonCode}
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='userNameCreated != null and userNameCreated != ""'>
|
|
|
|
|
- AND A.USER_NAME_CREATED = #{userNameCreated}
|
|
|
|
|
- </if>
|
|
|
|
|
- <choose>
|
|
|
|
|
- <when test='ordNoList != null and ordNoList != ""'>
|
|
|
|
|
- AND A.ORDER_NO IN
|
|
|
|
|
- <foreach collection="ordNoList" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
- #{item}
|
|
|
|
|
- </foreach>
|
|
|
|
|
- </when>
|
|
|
|
|
- </choose>
|
|
|
|
|
- UNION ALL
|
|
|
|
|
-
|
|
|
|
|
- SELECT
|
|
|
|
|
- A.RECALL_STAT -- 반품대기처리상태
|
|
|
|
|
- , A.STATUS_CD -- 처리상태
|
|
|
|
|
- , A.DATE_CREATED -- 등록일자
|
|
|
|
|
- , A.CUSTOMER_NAME -- 고객명
|
|
|
|
|
- , A.ORDER_NO -- 주문번호
|
|
|
|
|
- , B.ORDER_DTL_NO -- 주문상세번호
|
|
|
|
|
- , A.LOGISTICS_NAME -- 택배사명
|
|
|
|
|
- , A.INVOICE_NO -- 반송장번호
|
|
|
|
|
- , A.CHARGE_TYPE -- 요금구분
|
|
|
|
|
- , A.CHARGE_AMOUNT -- 배송비
|
|
|
|
|
- , A.USER_NAME_CREATED -- 작업자
|
|
|
|
|
- , B.REASON_CD -- 예외사유
|
|
|
|
|
- , IFNULL((SELECT GROUP_CONCAT(ADMIN_MEMO ORDER BY RECALL_EXCEPTION_MEMO_NO )
|
|
|
|
|
- FROM TB_ORDER_RECALL_EXCEPTION_MEMO C WHERE C.RECALL_EXCEPTION_NO = A.RECALL_EXCEPTION_NO AND ADMIN_MEMO !='.'),'-') AS ADMIN_MEMO -- WMS메시지
|
|
|
|
|
- , IFNULL((SELECT BRAND_KNM FROM TB_BRAND BR JOIN TB_GOODS GD ON BR.BRAND_CD = GD.BRAND_CD WHERE GD.GOODS_CD = C.GOODS_CD),'') AS BRAND_NM -- 브랜드명
|
|
|
|
|
- , B.PRODUCT_CODE -- 상품코드
|
|
|
|
|
- , B.SKU_CODE -- SKU코드
|
|
|
|
|
- , B.PRODUCT_NAME -- 상품명
|
|
|
|
|
- , B.SKU_VALUE -- 속성
|
|
|
|
|
- , C.SKU_MODEL_NO -- 원코드
|
|
|
|
|
- , B.EXCEPTION_QTY -- 수량
|
|
|
|
|
- , A.RECALL_EXCEPTION_NO -- 반품예외처리번호
|
|
|
|
|
- , IFNULL(C.GOODS_CD,'') AS GOODS_CD -- 상품코드
|
|
|
|
|
- , B.RECALL_EXCEPTION_ITEM_NO
|
|
|
|
|
- , B.QTY
|
|
|
|
|
- , B.REASON_CODE
|
|
|
|
|
- , O.MALL_GB
|
|
|
|
|
- , A.COD_FEE
|
|
|
|
|
- , O.ORD_PHNNO
|
|
|
|
|
- , O.CUST_NO
|
|
|
|
|
- , CASE WHEN A.PAY_GB = 'NAVER' THEN 'Y' ELSE 'N' END AS PAY_GB
|
|
|
|
|
- , A.ORDER_EXCEPTION_NO
|
|
|
|
|
- , CD.CHG_STAT
|
|
|
|
|
- , OC.ORD_CHG_SQ
|
|
|
|
|
- , OC.WD_GB
|
|
|
|
|
- , OC.CHG_REASON
|
|
|
|
|
- , 'WEXC' AS CHG_GB
|
|
|
|
|
- , IFNULL(OC.WD_BF_SEND_YN,'N') AS WD_BF_SEND_YN
|
|
|
|
|
- , A.ADD_FEE_YN
|
|
|
|
|
- , A.CS_ADD_FEE
|
|
|
|
|
- , A.CS_MEMO
|
|
|
|
|
- FROM TB_ORDER_RECALL_EXCEPTION A
|
|
|
|
|
- JOIN TB_ORDER_RECALL_EXCEPTION_ITEM B ON A.RECALL_EXCEPTION_NO = B.RECALL_EXCEPTION_NO
|
|
|
|
|
- LEFT JOIN TB_ORDER O ON O.ORD_NO = A.ORDER_NO
|
|
|
|
|
- LEFT JOIN TB_OPTION C ON C.OPT_CD = B.SKU_CODE
|
|
|
|
|
- LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL CD ON B.ORDER_DTL_NO = CD.ORD_DTL_NO
|
|
|
|
|
- LEFT OUTER JOIN TB_ORDER_CHANGE OC ON CD.ORD_CHG_SQ = OC.ORD_CHG_SQ
|
|
|
|
|
- WHERE B.REASON_CODE IN('01')
|
|
|
|
|
- <if test='customerName != null and customerName != ""'>
|
|
|
|
|
- AND A.CUSTOMER_NAME = #{customerName}
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='orderNo != null and orderNo != ""'>
|
|
|
|
|
- AND A.ORDER_NO = #{orderNo}
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='recallStat != null and recallStat != ""'>
|
|
|
|
|
- AND A.RECALL_STAT = #{recallStat}
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='stDate != null and stDate != ""'>
|
|
|
|
|
- AND A.DATE_CREATED <![CDATA[>= ]]> STR_TO_DATE(REPLACE(#{stDate},'-',''), '%Y%m%d%H%i%s')
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='edDate != null and edDate != ""'>
|
|
|
|
|
- AND A.DATE_CREATED <![CDATA[<]]> DATE_ADD(STR_TO_DATE(REPLACE(#{edDate},'-','')+ 1, '%Y%m%d%H%i%s'), INTERVAL 1 DAY)
|
|
|
|
|
- </if>
|
|
|
|
|
-
|
|
|
|
|
- <if test='reasonCode != null and reasonCode != ""'>
|
|
|
|
|
- AND B.REASON_CODE = #{reasonCode}
|
|
|
|
|
- </if>
|
|
|
|
|
- <if test='userNameCreated != null and userNameCreated != ""'>
|
|
|
|
|
- AND A.USER_NAME_CREATED = #{userNameCreated}
|
|
|
|
|
- </if>
|
|
|
|
|
- <choose>
|
|
|
|
|
- <when test='ordNoList != null and ordNoList != ""'>
|
|
|
|
|
- AND A.ORDER_NO IN
|
|
|
|
|
- <foreach collection="ordNoList" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
- #{item}
|
|
|
|
|
- </foreach>
|
|
|
|
|
- </when>
|
|
|
|
|
- </choose>
|
|
|
|
|
- ) A
|
|
|
|
|
- WHERE 1=1
|
|
|
|
|
|
|
+ <if test="extmallId != null and extmallId != ''">
|
|
|
|
|
+ AND OD.VENDOR_ID = #{vendorId}
|
|
|
|
|
+ AND OD.EXTMALL_ID = #{extmallId}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="extmallOrderId != null and extmallOrderId != ''">
|
|
|
|
|
+ AND OD.EXTMALL_ORDER_ID LIKE CONCAT('%',#{extmallOrderId},'%')
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="optCd != null and optCd != ''">
|
|
|
|
|
+ AND B.SKU_CODE LIKE CONCAT('%',#{optCd},'%')
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <choose>
|
|
|
|
|
+ <when test="search != null and search != '' and search == 'shoplinkerOrderId'">
|
|
|
|
|
+ AND OD.AGENT_ORDER_ID IN
|
|
|
|
|
+ <foreach collection="conditions" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
+ #{item}
|
|
|
|
|
+ </foreach>
|
|
|
|
|
+ </when>
|
|
|
|
|
+ <when test="search != null and search != '' and search == 'mallOrderId'">
|
|
|
|
|
+ AND OD.EXTMALL_ORDER_ID IN
|
|
|
|
|
+ <foreach collection="conditions" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
+ #{item}
|
|
|
|
|
+ </foreach>
|
|
|
|
|
+ </when>
|
|
|
|
|
+ </choose>
|
|
|
|
|
+ UNION ALL
|
|
|
|
|
+ SELECT A.RECALL_STAT -- 반품대기처리상태
|
|
|
|
|
+ , A.STATUS_CD -- 처리상태
|
|
|
|
|
+ , A.DATE_CREATED -- 등록일자
|
|
|
|
|
+ , A.CUSTOMER_NAME -- 고객명
|
|
|
|
|
+ , A.ORDER_NO -- 주문번호
|
|
|
|
|
+ , B.ORDER_DTL_NO -- 주문상세번호
|
|
|
|
|
+ , A.LOGISTICS_NAME -- 택배사명
|
|
|
|
|
+ , A.INVOICE_NO -- 반송장번호
|
|
|
|
|
+ , A.CHARGE_TYPE -- 요금구분
|
|
|
|
|
+ , A.CHARGE_AMOUNT -- 배송비
|
|
|
|
|
+ , A.USER_NAME_CREATED -- 작업자
|
|
|
|
|
+ , B.REASON_CD -- 예외사유
|
|
|
|
|
+ , IFNULL((SELECT GROUP_CONCAT(ADMIN_MEMO ORDER BY RECALL_EXCEPTION_MEMO_NO )
|
|
|
|
|
+ FROM TB_ORDER_RECALL_EXCEPTION_MEMO C
|
|
|
|
|
+ WHERE C.RECALL_EXCEPTION_NO = A.RECALL_EXCEPTION_NO
|
|
|
|
|
+ AND ADMIN_MEMO !='.'),'-') AS ADMIN_MEMO -- WMS메시지
|
|
|
|
|
+ , IFNULL((SELECT BRAND_KNM FROM TB_BRAND BR JOIN TB_GOODS GD ON BR.BRAND_CD = GD.BRAND_CD WHERE GD.GOODS_CD = C.GOODS_CD),'') AS BRAND_NM -- 브랜드명
|
|
|
|
|
+ , B.PRODUCT_CODE -- 상품코드
|
|
|
|
|
+ , B.SKU_CODE -- SKU코드
|
|
|
|
|
+ , B.PRODUCT_NAME -- 상품명
|
|
|
|
|
+ , B.SKU_VALUE -- 속성
|
|
|
|
|
+ , C.SKU_MODEL_NO -- 원코드
|
|
|
|
|
+ , B.EXCEPTION_QTY -- 수량
|
|
|
|
|
+ , A.RECALL_EXCEPTION_NO -- 반품예외처리번호
|
|
|
|
|
+ , IFNULL(C.GOODS_CD,'') AS GOODS_CD -- 상품코드
|
|
|
|
|
+ , B.RECALL_EXCEPTION_ITEM_NO
|
|
|
|
|
+ , B.QTY
|
|
|
|
|
+ , B.REASON_CODE
|
|
|
|
|
+ , O.MALL_GB
|
|
|
|
|
+ , A.COD_FEE
|
|
|
|
|
+ , O.ORD_PHNNO
|
|
|
|
|
+ , O.CUST_NO
|
|
|
|
|
+ , CASE WHEN A.PAY_GB = 'NAVER' THEN 'Y' ELSE 'N' END AS PAY_GB
|
|
|
|
|
+ , A.ORDER_EXCEPTION_NO
|
|
|
|
|
+ , CD.CHG_STAT
|
|
|
|
|
+ , OC.ORD_CHG_SQ
|
|
|
|
|
+ , OC.WD_GB
|
|
|
|
|
+ , OC.CHG_REASON
|
|
|
|
|
+ , OC.CHG_GB
|
|
|
|
|
+ , OC.WD_BF_SEND_YN
|
|
|
|
|
+ , A.ADD_FEE_YN
|
|
|
|
|
+ , A.CS_ADD_FEE
|
|
|
|
|
+ , A.CS_MEMO
|
|
|
|
|
+ , (SELECT EXTMALL_NM
|
|
|
|
|
+ FROM TB_EXTMALL X
|
|
|
|
|
+ WHERE X.EXTMALL_ID = OD.EXTMALL_ID) AS EXTMALL_NM
|
|
|
|
|
+ , OD.EXTMALL_ORDER_ID
|
|
|
|
|
+ , CD.REG_DT AS CHG_REG_DT
|
|
|
|
|
+ FROM TB_ORDER_RECALL_EXCEPTION A
|
|
|
|
|
+ JOIN TB_ORDER_RECALL_EXCEPTION_ITEM B ON A.RECALL_EXCEPTION_NO = B.RECALL_EXCEPTION_NO
|
|
|
|
|
+ LEFT JOIN TB_ORDER O ON O.ORD_NO = A.ORDER_NO
|
|
|
|
|
+ LEFT JOIN TB_OPTION C ON C.OPT_CD = B.SKU_CODE
|
|
|
|
|
+ LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL CD ON B.ORDER_DTL_NO = CD.ORD_DTL_NO AND A.ORDER_EXCEPTION_NO = CD.ORD_CHG_SQ
|
|
|
|
|
+ LEFT OUTER JOIN TB_ORDER_CHANGE OC ON CD.ORD_CHG_SQ = OC.ORD_CHG_SQ
|
|
|
|
|
+ LEFT OUTER JOIN TB_ORDER_DETAIL OD ON B.ORDER_DTL_NO = OD.ORD_DTL_NO
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ AND B.REASON_CODE IN('00','02','03','04','05','06','15')
|
|
|
|
|
+ <if test='customerName != null and customerName != ""'>
|
|
|
|
|
+ AND A.CUSTOMER_NAME = #{customerName}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='orderNo != null and orderNo != ""'>
|
|
|
|
|
+ AND A.ORDER_NO = #{orderNo}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='recallStat != null and recallStat != ""'>
|
|
|
|
|
+ AND A.RECALL_STAT = #{recallStat}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='stDate != null and stDate != ""'>
|
|
|
|
|
+ AND A.DATE_CREATED <![CDATA[>= ]]> STR_TO_DATE(REPLACE(#{stDate},'-',''), '%Y%m%d%H%i%s')
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='edDate != null and edDate != ""'>
|
|
|
|
|
+ AND A.DATE_CREATED <![CDATA[<]]> DATE_ADD(STR_TO_DATE(REPLACE(#{edDate},'-','')+ 1, '%Y%m%d%H%i%s'), INTERVAL 1 DAY)
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='reasonCode != null and reasonCode != ""'>
|
|
|
|
|
+ AND B.REASON_CODE = #{reasonCode}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='userNameCreated != null and userNameCreated != ""'>
|
|
|
|
|
+ AND A.USER_NAME_CREATED = #{userNameCreated}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <choose>
|
|
|
|
|
+ <when test='ordNoList != null and ordNoList != ""'>
|
|
|
|
|
+ AND A.ORDER_NO IN
|
|
|
|
|
+ <foreach collection="ordNoList" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
+ #{item}
|
|
|
|
|
+ </foreach>
|
|
|
|
|
+ </when>
|
|
|
|
|
+ </choose>
|
|
|
|
|
+ <if test="extmallId != null and extmallId != ''">
|
|
|
|
|
+ AND OD.VENDOR_ID = #{vendorId}
|
|
|
|
|
+ AND OD.EXTMALL_ID = #{extmallId}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="extmallOrderId != null and extmallOrderId != ''">
|
|
|
|
|
+ AND OD.EXTMALL_ORDER_ID LIKE CONCAT('%',#{extmallOrderId},'%')
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="optCd != null and optCd != ''">
|
|
|
|
|
+ AND B.SKU_CODE LIKE CONCAT('%',#{optCd},'%')
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <choose>
|
|
|
|
|
+ <when test="search != null and search != '' and search == 'shoplinkerOrderId'">
|
|
|
|
|
+ AND OD.AGENT_ORDER_ID IN
|
|
|
|
|
+ <foreach collection="conditions" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
+ #{item}
|
|
|
|
|
+ </foreach>
|
|
|
|
|
+ </when>
|
|
|
|
|
+ <when test="search != null and search != '' and search == 'mallOrderId'">
|
|
|
|
|
+ AND OD.EXTMALL_ORDER_ID IN
|
|
|
|
|
+ <foreach collection="conditions" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
+ #{item}
|
|
|
|
|
+ </foreach>
|
|
|
|
|
+ </when>
|
|
|
|
|
+ </choose>
|
|
|
|
|
+ UNION ALL
|
|
|
|
|
+ SELECT A.RECALL_STAT -- 반품대기처리상태
|
|
|
|
|
+ , A.STATUS_CD -- 처리상태
|
|
|
|
|
+ , A.DATE_CREATED -- 등록일자
|
|
|
|
|
+ , A.CUSTOMER_NAME -- 고객명
|
|
|
|
|
+ , A.ORDER_NO -- 주문번호
|
|
|
|
|
+ , B.ORDER_DTL_NO -- 주문상세번호
|
|
|
|
|
+ , A.LOGISTICS_NAME -- 택배사명
|
|
|
|
|
+ , A.INVOICE_NO -- 반송장번호
|
|
|
|
|
+ , A.CHARGE_TYPE -- 요금구분
|
|
|
|
|
+ , A.CHARGE_AMOUNT -- 배송비
|
|
|
|
|
+ , A.USER_NAME_CREATED -- 작업자
|
|
|
|
|
+ , B.REASON_CD -- 예외사유
|
|
|
|
|
+ , IFNULL((SELECT GROUP_CONCAT(ADMIN_MEMO ORDER BY RECALL_EXCEPTION_MEMO_NO )
|
|
|
|
|
+ FROM TB_ORDER_RECALL_EXCEPTION_MEMO C
|
|
|
|
|
+ WHERE C.RECALL_EXCEPTION_NO = A.RECALL_EXCEPTION_NO
|
|
|
|
|
+ AND ADMIN_MEMO !='.'),'-') AS ADMIN_MEMO -- WMS메시지
|
|
|
|
|
+ , IFNULL((SELECT BRAND_KNM FROM TB_BRAND BR JOIN TB_GOODS GD ON BR.BRAND_CD = GD.BRAND_CD WHERE GD.GOODS_CD = C.GOODS_CD),'') AS BRAND_NM -- 브랜드명
|
|
|
|
|
+ , B.PRODUCT_CODE -- 상품코드
|
|
|
|
|
+ , B.SKU_CODE -- SKU코드
|
|
|
|
|
+ , B.PRODUCT_NAME -- 상품명
|
|
|
|
|
+ , B.SKU_VALUE -- 속성
|
|
|
|
|
+ , C.SKU_MODEL_NO -- 원코드
|
|
|
|
|
+ , B.EXCEPTION_QTY -- 수량
|
|
|
|
|
+ , A.RECALL_EXCEPTION_NO -- 반품예외처리번호
|
|
|
|
|
+ , IFNULL(C.GOODS_CD,'') AS GOODS_CD -- 상품코드
|
|
|
|
|
+ , B.RECALL_EXCEPTION_ITEM_NO
|
|
|
|
|
+ , B.QTY
|
|
|
|
|
+ , B.REASON_CODE
|
|
|
|
|
+ , O.MALL_GB
|
|
|
|
|
+ , A.COD_FEE
|
|
|
|
|
+ , O.ORD_PHNNO
|
|
|
|
|
+ , O.CUST_NO
|
|
|
|
|
+ , CASE WHEN A.PAY_GB = 'NAVER' THEN 'Y' ELSE 'N' END AS PAY_GB
|
|
|
|
|
+ , A.ORDER_EXCEPTION_NO
|
|
|
|
|
+ , CD.CHG_STAT
|
|
|
|
|
+ , OC.ORD_CHG_SQ
|
|
|
|
|
+ , OC.WD_GB
|
|
|
|
|
+ , OC.CHG_REASON
|
|
|
|
|
+ , 'WEXC' AS CHG_GB
|
|
|
|
|
+ , IFNULL(OC.WD_BF_SEND_YN,'N') AS WD_BF_SEND_YN
|
|
|
|
|
+ , A.ADD_FEE_YN
|
|
|
|
|
+ , A.CS_ADD_FEE
|
|
|
|
|
+ , A.CS_MEMO
|
|
|
|
|
+ , (SELECT EXTMALL_NM
|
|
|
|
|
+ FROM TB_EXTMALL X
|
|
|
|
|
+ WHERE X.EXTMALL_ID = OD.EXTMALL_ID) AS EXTMALL_NM
|
|
|
|
|
+ , OD.EXTMALL_ORDER_ID
|
|
|
|
|
+ , CD.REG_DT AS CHG_REG_DT
|
|
|
|
|
+ FROM TB_ORDER_RECALL_EXCEPTION A
|
|
|
|
|
+ JOIN TB_ORDER_RECALL_EXCEPTION_ITEM B ON A.RECALL_EXCEPTION_NO = B.RECALL_EXCEPTION_NO
|
|
|
|
|
+ LEFT JOIN TB_ORDER O ON O.ORD_NO = A.ORDER_NO
|
|
|
|
|
+ LEFT JOIN TB_OPTION C ON C.OPT_CD = B.SKU_CODE
|
|
|
|
|
+ LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL CD ON B.ORDER_DTL_NO = CD.ORD_DTL_NO
|
|
|
|
|
+ LEFT OUTER JOIN TB_ORDER_CHANGE OC ON CD.ORD_CHG_SQ = OC.ORD_CHG_SQ
|
|
|
|
|
+ LEFT OUTER JOIN TB_ORDER_DETAIL OD ON B.ORDER_DTL_NO = OD.ORD_DTL_NO
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ AND B.REASON_CODE IN('01')
|
|
|
|
|
+ <if test='customerName != null and customerName != ""'>
|
|
|
|
|
+ AND A.CUSTOMER_NAME = #{customerName}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='orderNo != null and orderNo != ""'>
|
|
|
|
|
+ AND A.ORDER_NO = #{orderNo}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='recallStat != null and recallStat != ""'>
|
|
|
|
|
+ AND A.RECALL_STAT = #{recallStat}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='stDate != null and stDate != ""'>
|
|
|
|
|
+ AND A.DATE_CREATED <![CDATA[>= ]]> STR_TO_DATE(REPLACE(#{stDate},'-',''), '%Y%m%d%H%i%s')
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='edDate != null and edDate != ""'>
|
|
|
|
|
+ AND A.DATE_CREATED <![CDATA[<]]> DATE_ADD(STR_TO_DATE(REPLACE(#{edDate},'-','')+ 1, '%Y%m%d%H%i%s'), INTERVAL 1 DAY)
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='reasonCode != null and reasonCode != ""'>
|
|
|
|
|
+ AND B.REASON_CODE = #{reasonCode}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test='userNameCreated != null and userNameCreated != ""'>
|
|
|
|
|
+ AND A.USER_NAME_CREATED = #{userNameCreated}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <choose>
|
|
|
|
|
+ <when test='ordNoList != null and ordNoList != ""'>
|
|
|
|
|
+ AND A.ORDER_NO IN
|
|
|
|
|
+ <foreach collection="ordNoList" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
+ #{item}
|
|
|
|
|
+ </foreach>
|
|
|
|
|
+ </when>
|
|
|
|
|
+ </choose>
|
|
|
|
|
+ <if test="extmallId != null and extmallId != ''">
|
|
|
|
|
+ AND OD.VENDOR_ID = #{vendorId}
|
|
|
|
|
+ AND OD.EXTMALL_ID = #{extmallId}
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="extmallOrderId != null and extmallOrderId != ''">
|
|
|
|
|
+ AND OD.EXTMALL_ORDER_ID LIKE CONCAT('%',#{extmallOrderId},'%')
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <if test="optCd != null and optCd != ''">
|
|
|
|
|
+ AND B.SKU_CODE LIKE CONCAT('%',#{optCd},'%')
|
|
|
|
|
+ </if>
|
|
|
|
|
+ <choose>
|
|
|
|
|
+ <when test="search != null and search != '' and search == 'shoplinkerOrderId'">
|
|
|
|
|
+ AND OD.AGENT_ORDER_ID IN
|
|
|
|
|
+ <foreach collection="conditions" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
+ #{item}
|
|
|
|
|
+ </foreach>
|
|
|
|
|
+ </when>
|
|
|
|
|
+ <when test="search != null and search != '' and search == 'mallOrderId'">
|
|
|
|
|
+ AND OD.EXTMALL_ORDER_ID IN
|
|
|
|
|
+ <foreach collection="conditions" item="item" index="index" open="(" close=")" separator=",">
|
|
|
|
|
+ #{item}
|
|
|
|
|
+ </foreach>
|
|
|
|
|
+ </when>
|
|
|
|
|
+ </choose>
|
|
|
|
|
+ ) A
|
|
|
|
|
+ WHERE 1=1
|
|
|
<if test='chgGb != null and chgGb != "" and chgGb !="G680" and chgGb !="G680_00"'>
|
|
<if test='chgGb != null and chgGb != "" and chgGb !="G680" and chgGb !="G680_00"'>
|
|
|
- AND A.CHG_GB = #{chgGb}
|
|
|
|
|
|
|
+ AND A.CHG_GB = #{chgGb}
|
|
|
</if>
|
|
</if>
|
|
|
<if test='chgGb =="G680"'>
|
|
<if test='chgGb =="G680"'>
|
|
|
- AND A.CHG_GB = 'WEXC'
|
|
|
|
|
|
|
+ AND A.CHG_GB = 'WEXC'
|
|
|
</if>
|
|
</if>
|
|
|
<if test='chgGb =="G680_00"'>
|
|
<if test='chgGb =="G680_00"'>
|
|
|
- AND A.CHG_GB = 'EXC'
|
|
|
|
|
|
|
+ AND A.CHG_GB = 'EXC'
|
|
|
</if>
|
|
</if>
|
|
|
- ORDER BY A.ORDER_NO, A.RECALL_EXCEPTION_NO, A.RECALL_EXCEPTION_ITEM_NO
|
|
|
|
|
- <include refid="getListPagingCondition_sql"/>
|
|
|
|
|
- WINDOW W AS (PARTITION BY ORDER_NO ORDER BY ORDER_NO , RECALL_EXCEPTION_ITEM_NO ), T AS (PARTITION BY ORDER_NO ORDER BY ORDER_NO , RECALL_EXCEPTION_ITEM_NO desc), S AS (PARTITION BY ORDER_NO, ORDER_DTL_NO ORDER BY ORDER_NO , ORDER_DTL_NO, RECALL_EXCEPTION_ITEM_NO DESC ), C AS (PARTITION BY ORDER_NO, ORDER_DTL_NO ORDER BY ORDER_NO, ORDER_DTL_NO)
|
|
|
|
|
|
|
+ ORDER BY A.ORDER_NO
|
|
|
|
|
+ , A.RECALL_EXCEPTION_NO
|
|
|
|
|
+ , A.RECALL_EXCEPTION_ITEM_NO
|
|
|
|
|
+ <include refid="getListPagingCondition_sql"/>
|
|
|
|
|
+ WINDOW W AS (PARTITION BY ORDER_NO ORDER BY ORDER_NO , RECALL_EXCEPTION_ITEM_NO ), T AS (PARTITION BY ORDER_NO ORDER BY ORDER_NO , RECALL_EXCEPTION_ITEM_NO desc), S AS (PARTITION BY ORDER_NO, ORDER_DTL_NO ORDER BY ORDER_NO , ORDER_DTL_NO, RECALL_EXCEPTION_ITEM_NO DESC ), C AS (PARTITION BY ORDER_NO, ORDER_DTL_NO ORDER BY ORDER_NO, ORDER_DTL_NO)
|
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
-
|
|
|
|
|
<!-- 회수예외 처리완료-->
|
|
<!-- 회수예외 처리완료-->
|
|
|
<update id="updateWithdrawException" parameterType="WithdrawExc" >
|
|
<update id="updateWithdrawException" parameterType="WithdrawExc" >
|
|
|
/* TsaWithdraw.updateWithdrawException */
|
|
/* TsaWithdraw.updateWithdrawException */
|
|
|
- UPDATE TB_ORDER_RECALL_EXCEPTION SET
|
|
|
|
|
- RECALL_STAT = #{recallStat}
|
|
|
|
|
- , RECALL_STAT_DT = NOW()
|
|
|
|
|
- , CS_ADD_FEE = #{csAddFee}
|
|
|
|
|
- , CS_MEMO = #{csMemo}
|
|
|
|
|
- WHERE RECALL_EXCEPTION_NO = #{recallExceptionNo}
|
|
|
|
|
-
|
|
|
|
|
|
|
+ UPDATE TB_ORDER_RECALL_EXCEPTION
|
|
|
|
|
+ SET RECALL_STAT = #{recallStat}
|
|
|
|
|
+ , RECALL_STAT_DT = NOW()
|
|
|
|
|
+ , CS_ADD_FEE = #{csAddFee}
|
|
|
|
|
+ , CS_MEMO = #{csMemo}
|
|
|
|
|
+ WHERE RECALL_EXCEPTION_NO = #{recallExceptionNo}
|
|
|
</update>
|
|
</update>
|
|
|
|
|
|
|
|
<!-- 상품옵션 정보 -->
|
|
<!-- 상품옵션 정보 -->
|
|
|
<select id="getOptionInfo" parameterType="WmsWithdraw" resultType="WmsWithdraw">
|
|
<select id="getOptionInfo" parameterType="WmsWithdraw" resultType="WmsWithdraw">
|
|
|
/* TsaWithdraw.getOptionInfo */
|
|
/* TsaWithdraw.getOptionInfo */
|
|
|
- SELECT GOODS_CD
|
|
|
|
|
- FROM TB_OPTION
|
|
|
|
|
- WHERE OPT_CD = #{skucode}
|
|
|
|
|
|
|
+ SELECT GOODS_CD
|
|
|
|
|
+ FROM TB_OPTION
|
|
|
|
|
+ WHERE OPT_CD = #{skucode}
|
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 회수지시 목록 건수 -->
|
|
<!-- 회수지시 목록 건수 -->
|