|
|
@@ -15,4 +15,294 @@
|
|
|
</sql>
|
|
|
<!--// Paging -->
|
|
|
|
|
|
+ <!-- 마이페이지 주문 목록 조회 -->
|
|
|
+ <select id="getOrderListForMypage" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getOrderListForMypage */
|
|
|
+ SELECT O.ORD_NO
|
|
|
+ , DATE_FORMAT(O.ORD_DT, '%Y.%m.%d') AS ORD_DT
|
|
|
+ , CASE OD.GIFT_PACK_YN WHEN 'Y' THEN DATE_FORMAT(O.ORD_DT + INTERVAL 3 DAY, '%Y.%m.%d')
|
|
|
+ END AS GIFT_LIMIT_DT
|
|
|
+ , CASE OD.GIFT_PACK_YN WHEN 'Y' THEN TIMESTAMPDIFF(DAY, NOW(), O.ORD_DT + INTERVAL 3 DAY)
|
|
|
+ END AS GIFT_LIMIT_DAY
|
|
|
+ , CASE OD.GIFT_PACK_YN WHEN 'Y' THEN DATE_FORMAT(DA.UPD_DT, '%Y.%m.%d')
|
|
|
+ END AS GIFT_COMPLETE_DT
|
|
|
+ , DATE_FORMAT(OD.DELV_EDDT, '%m/%d') AS DELV_EDDT
|
|
|
+ , OD.ORD_DTL_NO
|
|
|
+ , OD.ORD_EXCH_GB
|
|
|
+ , OD.GOODS_CD
|
|
|
+ , G.GOODS_NM
|
|
|
+ , ODI.OPT_CD
|
|
|
+ , ODI.OPT_CD1
|
|
|
+ , ODI.OPT_CD2
|
|
|
+ , GI.SYS_IMG_NM
|
|
|
+ , OD.ORD_DTL_STAT
|
|
|
+ , OD.ORD_QTY
|
|
|
+ , OD.ORD_AMT
|
|
|
+ , OD.SAVE_PNT_AMT
|
|
|
+ , OD.SHIP_COMP_CD
|
|
|
+ , OD.GIFT_PACK_YN
|
|
|
+ , (SELECT SHIP_COMP_NM
|
|
|
+ FROM TB_SHIP_COMPANY Z
|
|
|
+ WHERE Z.SHIP_COMP_CD = OD.SHIP_COMP_CD) AS SHIP_COMP_NM
|
|
|
+ , OD.INVOICE_NO
|
|
|
+ , OD.SUPPLY_COMP_CD
|
|
|
+ , OD.DELV_FEE_CD
|
|
|
+ , OD.SHOT_DELV_YN
|
|
|
+ , G.SELF_GOODS_YN
|
|
|
+ , CONCAT(B.BRAND_ENM, ' ', B.BRAND_KNM) AS BRAND_NM
|
|
|
+ , FN_GET_CODE_NM('G013', OD.ORD_DTL_STAT) AS ORD_DTL_STAT_NM
|
|
|
+ , R.REVIEW_SQ
|
|
|
+ , TIMESTAMPDIFF(DAY, NOW(), OD.DELV_EDDT + INTERVAL 2 WEEK) AS PURCHASE_CONFIRM_DAY
|
|
|
+ , DA.RECIP_NM
|
|
|
+ , DA.RECIP_TELNO
|
|
|
+ , DA.RECIP_PHNNO
|
|
|
+ , DA.RECIP_ZIPCODE
|
|
|
+ , DA.RECIP_BASE_ADDR
|
|
|
+ , DA.RECIP_DTL_ADDR
|
|
|
+ FROM TB_ORDER O
|
|
|
+ INNER JOIN TB_ORDER_DETAIL OD
|
|
|
+ ON O.ORD_NO = OD.ORD_NO
|
|
|
+ AND OD.ORD_DTL_STAT NOT IN ('G013_11', 'G013_25', 'G013_97')
|
|
|
+ INNER JOIN TB_ORDER_DETAIL_ITEM ODI
|
|
|
+ ON OD.ORD_NO = ODI.ORD_NO
|
|
|
+ AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
|
|
|
+ INNER JOIN TB_GOODS G
|
|
|
+ ON OD.GOODS_CD = G.GOODS_CD
|
|
|
+ INNER JOIN TB_BRAND B
|
|
|
+ ON B.BRAND_CD = G.BRAND_CD
|
|
|
+ LEFT OUTER JOIN TB_REVIEW R
|
|
|
+ ON R.ORD_NO = OD.ORD_NO
|
|
|
+ AND R.ORD_DTL_NO = OD.ORD_DTL_NO
|
|
|
+ LEFT OUTER JOIN TB_DELIVERY_ADDR DA
|
|
|
+ ON DA.DELV_ADDR_SQ = OD.DELV_ADDR_SQ
|
|
|
+ LEFT OUTER JOIN TB_GOODS_IMG GI
|
|
|
+ ON OD.GOODS_CD = GI.GOODS_CD
|
|
|
+ AND ODI.OPT_CD1 = GI.COLOR_CD
|
|
|
+ AND GI.DEFAULT_IMG_YN = 'Y'
|
|
|
+ <where>
|
|
|
+ <choose>
|
|
|
+ <when test='custNo != null and custNo != ""'>
|
|
|
+ AND O.CUST_NO = #{custNo}
|
|
|
+ </when>
|
|
|
+ <otherwise>
|
|
|
+ AND O.ORD_NO = #{ordNo}
|
|
|
+ AND O.ORD_NM = #{orderNm}
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ <if test="ordNo != null and ordNo != ''">
|
|
|
+ AND O.ORD_NO = #{ordNo}
|
|
|
+ </if>
|
|
|
+ <choose>
|
|
|
+ <when test="stDate != null and stDate != '' and edDate != null and edDate != ''">
|
|
|
+ AND O.ORD_DT BETWEEN DATE_FORMAT(CONCAT(#{stDate}, ' 000000'), '%Y-%m-%d %H%i%S') AND DATE_FORMAT(CONCAT(#{edDate}, ' 235959'), '%Y-%m-%d %H%i%S')
|
|
|
+ </when>
|
|
|
+ <otherwise>
|
|
|
+ AND O.ORD_DT >= DATE_FORMAT(LAST_DAY(NOW() - INTERVAL 3 MONTH) + INTERVAL 1 DAY, '%Y-%m-%d')
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ <if test="ordDtlNoArr != null">
|
|
|
+ AND OD.ORD_DTL_NO IN
|
|
|
+ <foreach collection="ordDtlNoArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ AND O.DISP_YN = 'Y'
|
|
|
+ </where>
|
|
|
+ ORDER BY OD.SUPPLY_COMP_CD
|
|
|
+ , OD.DELV_FEE_CD
|
|
|
+ , OD.ORD_NO DESC
|
|
|
+ , G.SELF_GOODS_YN DESC
|
|
|
+ , OD.SHOT_DELV_YN DESC
|
|
|
+ , OD.ORD_DTL_STAT
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 마이페이지 주문상태 별 주문수량 조회 -->
|
|
|
+ <select id="getOrderStatCount" parameterType="Order" resultType="int">
|
|
|
+ /* TscOrder.getOrderStatCount */
|
|
|
+ SELECT COUNT(*) CNT
|
|
|
+ FROM TB_ORDER O
|
|
|
+ INNER JOIN TB_ORDER_DETAIL OD
|
|
|
+ ON O.ORD_NO = OD.ORD_NO
|
|
|
+ <where>
|
|
|
+ <choose>
|
|
|
+ <when test='custNo != null and custNo != ""'>
|
|
|
+ AND O.CUST_NO = #{custNo}
|
|
|
+ </when>
|
|
|
+ <otherwise>
|
|
|
+ AND O.ORD_NO = #{ordNo}
|
|
|
+ AND O.ORD_NM = #{orderNm}
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ </where>
|
|
|
+ <if test="ordDtlStat == 'G013_60'">
|
|
|
+ AND O.ORD_DT >= DATE_FORMAT(CURRENT_DATE - INTERVAL 1 WEEK, '%Y-%m-%d')
|
|
|
+ </if>
|
|
|
+ AND OD.ORD_DTL_STAT = #{ordDtlStat}
|
|
|
+ AND O.DISP_YN = 'Y'
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 마이페이지 주문변경상태 별 주문수량 조회 -->
|
|
|
+ <select id="getOrderChangeStatCount" parameterType="Order" resultType="int">
|
|
|
+ /* TscOrder.getOrderChangeStatCount */
|
|
|
+ SELECT COUNT(*) CNT
|
|
|
+ FROM TB_ORDER_CHANGE_DETAIL OCD
|
|
|
+ INNER JOIN TB_ORDER_DETAIL OD
|
|
|
+ ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
|
|
|
+ INNER JOIN TB_ORDER O
|
|
|
+ ON O.ORD_NO = OD.ORD_NO
|
|
|
+ <where>
|
|
|
+ <choose>
|
|
|
+ <when test='custNo != null and custNo != ""'>
|
|
|
+ AND O.CUST_NO = #{custNo}
|
|
|
+ </when>
|
|
|
+ <otherwise>
|
|
|
+ AND O.ORD_NO = #{ordNo}
|
|
|
+ AND O.ORD_NM = #{orderNm}
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ </where>
|
|
|
+ <choose>
|
|
|
+ <when test="chgStat == 'G685_30'">
|
|
|
+ AND OCD.CHG_STAT IN (#{chgStat}, 'G685_33')
|
|
|
+ </when>
|
|
|
+ <otherwise>
|
|
|
+ AND OCD.CHG_STAT = #{chgStat}
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ AND O.DISP_YN = 'Y'
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 마이페이지 주문목록 페이징 처리 주문번호 조회 -->
|
|
|
+ <select id="getPagingOrdNoList" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getPagingOrdNoList */
|
|
|
+ <include refid="selectForPagingHeader"/>
|
|
|
+ SELECT ORD_NO
|
|
|
+ , RANK() OVER(ORDER BY ORD_DT DESC) AS NUMB
|
|
|
+ FROM TB_ORDER
|
|
|
+ WHERE CUST_NO = #{custNo}
|
|
|
+ AND DISP_YN = 'Y'
|
|
|
+ <include refid="selectForPagingFooter"/>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 마이페이지 주문상세 금액정보 조회 -->
|
|
|
+ <select id="getOrderAmtForMypage" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getOrderAmtForMypage */
|
|
|
+ SELECT SUM(OD.ORD_AMT) AS ORD_AMT
|
|
|
+ , SUM(OD.CPN1_DC_AMT) AS CPN1_DC_AMT
|
|
|
+ , SUM(OD.TMTB1_DC_AMT) AS TMTB1_DC_AMT
|
|
|
+ , SUM(OD.TMTB2_DC_AMT) AS TMTB2_DC_AMT
|
|
|
+ , SUM(OD.CART_CPN_DC_AMT) AS CART_CPN_DC_AMT
|
|
|
+ , SUM(OD.GOODS_CPN_DC_AMT) AS GOODS_CPN_DC_AMT
|
|
|
+ , SUM(OD.PRE_PNT_DC_AMT) AS PRE_PNT_DC_AMT
|
|
|
+ , SUM(OD.PNT_DC_AMT) AS PNT_DC_AMT
|
|
|
+ , SUM(OD.GFCD_USE_AMT) AS GFCD_USE_AMT
|
|
|
+ , SUM(OD.CPN1_DC_AMT + OD.TMTB1_DC_AMT + OD.TMTB2_DC_AMT + OD.CART_CPN_DC_AMT + OD.GOODS_CPN_DC_AMT + OD.PRE_PNT_DC_AMT + OD.PNT_DC_AMT + OD.GFCD_USE_AMT) AS TOTAL_DC_AMT
|
|
|
+ , SUM(OD.REAL_ORD_AMT) AS REAL_ORD_AMT
|
|
|
+ , SUM(OD.SAVE_PNT_AMT) AS SAVE_PNT_AMT
|
|
|
+ , SUM(DF.DELV_FEE) AS DELV_FEE
|
|
|
+ FROM TB_ORDER_DETAIL OD
|
|
|
+ LEFT OUTER JOIN (
|
|
|
+ SELECT ORD_NO
|
|
|
+ , SUM(DELV_FEE) AS DELV_FEE
|
|
|
+ FROM TB_DELIVERY_FEE
|
|
|
+ WHERE ORD_NO = #{ordNo}
|
|
|
+ AND DELV_FEE_GB = 'G018_10'
|
|
|
+ GROUP BY ORD_NO
|
|
|
+ ) DF
|
|
|
+ ON OD.ORD_NO = DF.ORD_NO
|
|
|
+ WHERE OD.ORD_NO = #{ordNo}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 마이페이지 주문상세 결제정보 조회 -->
|
|
|
+ <select id="getPaymentInfoForMypage" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getPaymentInfoForMypage */
|
|
|
+ SELECT PAY_SQ
|
|
|
+ , ORD_NO
|
|
|
+ , PAY_DT
|
|
|
+ , PAY_MEANS
|
|
|
+ , PAY_AMT
|
|
|
+ , PG_CPN_AMT
|
|
|
+ , NPAY_PNT_AMT
|
|
|
+ , PAY_GB
|
|
|
+ , PAY_STAT
|
|
|
+ , PG_GB
|
|
|
+ , PG_TID
|
|
|
+ , PG_TRADE_NO
|
|
|
+ , PG_SHOP_ID
|
|
|
+ , CARD_TYPE
|
|
|
+ , CARD_KIND
|
|
|
+ , CARD_BANK
|
|
|
+ , CARD_NM
|
|
|
+ , CARD_MIPS
|
|
|
+ , CARD_PCABLE_YN
|
|
|
+ , VA_NO
|
|
|
+ , VA_NM
|
|
|
+ , VA_BANK
|
|
|
+ , VA_DEADLINE
|
|
|
+ , DATE_FORMAT(VA_DEADLINE, '%Y.%m.%d') AS VA_DEADLINE_YMD
|
|
|
+ , DATE_FORMAT(VA_DEADLINE, '%H:%i:%S') AS VA_DEADLINE_HMS
|
|
|
+ , TELECOM
|
|
|
+ , ESCROW_YN
|
|
|
+ , ORD_CHG_SQ
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ FROM TB_PAYMENT
|
|
|
+ <where>
|
|
|
+ <if test="ordNo != null and ordNo != ''">
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
+ </if>
|
|
|
+ <if test="paySq != null and paySq != ''">
|
|
|
+ AND PAY_SQ = #{paySq}
|
|
|
+ </if>
|
|
|
+ <if test="ordChgSq != null and ordChgSq != ''">
|
|
|
+ AND ORD_CHG_SQ = #{ordChgSq}
|
|
|
+ </if>
|
|
|
+ <if test="pgTid != null and pgTid != ''">
|
|
|
+ AND PG_TID = #{pgTid}
|
|
|
+ </if>
|
|
|
+ <if test="payGb != null and payGb != ''">
|
|
|
+ AND PAY_GB = #{payGb}
|
|
|
+ </if>
|
|
|
+ <if test="payStat != null and payStat != ''">
|
|
|
+ AND PAY_STAT = #{payStat}
|
|
|
+ </if>
|
|
|
+ <if test="pgGb != null and pgGb != ''">
|
|
|
+ AND PG_GB = #{pgGb}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 마이페이지 주문상세 배송지 정보 조회 -->
|
|
|
+ <select id="getOrderDeliveryAddrInfo" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getOrderDeliveryAddrInfo */
|
|
|
+ SELECT DA.DELV_ADDR_SQ
|
|
|
+ , DA.RECIP_NM
|
|
|
+ , DA.RECIP_PHNNO
|
|
|
+ , DA.RECIP_TELNO
|
|
|
+ , DA.RECIP_ZIPCODE
|
|
|
+ , DA.RECIP_BASE_ADDR
|
|
|
+ , DA.RECIP_DTL_ADDR
|
|
|
+ , DA.DELV_MEMO
|
|
|
+ , DA.REG_NO
|
|
|
+ , DA.REG_DT
|
|
|
+ , DA.UPD_NO
|
|
|
+ , DA.UPD_DT
|
|
|
+ FROM TB_DELIVERY_ADDR DA
|
|
|
+ INNER JOIN TB_ORDER_DETAIL OD
|
|
|
+ ON OD.DELV_ADDR_SQ = DA.DELV_ADDR_SQ
|
|
|
+ AND OD.ORD_NO = #{ordNo}
|
|
|
+ LIMIT 1
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 마이페이지 주문상세 주문내역삭제 처리 -->
|
|
|
+ <update id="updateOrderDisplayYn" parameterType="Order">
|
|
|
+ /* TsfOrder.updateOrderDisplayYn */
|
|
|
+ UPDATE TB_ORDER
|
|
|
+ SET DISP_YN = 'N'
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE ORD_NO = #{ordNo}
|
|
|
+ </update>
|
|
|
</mapper>
|