|
|
@@ -0,0 +1,3760 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
+<mapper namespace="com.style24.core.biz.dao.TscOrderDao">
|
|
|
+
|
|
|
+ <!-- 페이징을 위한 select절 상단 -->
|
|
|
+ <sql id="selectForPagingHeader">
|
|
|
+ SELECT *
|
|
|
+ FROM (
|
|
|
+ </sql>
|
|
|
+
|
|
|
+ <!-- 페이징을 위한 select절 하단 -->
|
|
|
+ <sql id="selectForPagingFooter">
|
|
|
+ ) ORIGINAL
|
|
|
+ WHERE NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
|
|
|
+ </sql>
|
|
|
+
|
|
|
+ <!-- 주문목록 > 주문목록카운트 -->
|
|
|
+ <select id="getOrderListCount" parameterType="Order" resultType="int">
|
|
|
+ /* order.getOrderListCnt */
|
|
|
+ SELECT COUNT(1)
|
|
|
+ FROM TB_ORDER O
|
|
|
+ INNER JOIN TB_ORDER_DETAIL OD
|
|
|
+ ON O.ORD_NO = OD.ORD_NO
|
|
|
+ INNER JOIN TB_GOODS G1
|
|
|
+ ON OD.GOODS_CD = G1.GOODS_CD
|
|
|
+ INNER JOIN TB_ORDER_DETAIL_ITEM ODI
|
|
|
+ ON OD.ORD_NO = ODI.ORD_NO
|
|
|
+ AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
|
|
|
+ INNER JOIN TB_GOODS G2
|
|
|
+ ON ODI.ITEM_CD = G2.GOODS_CD
|
|
|
+ INNER JOIN TB_PAYMENT P
|
|
|
+ ON O.ORD_NO = P.ORD_NO
|
|
|
+ AND P.PAY_GB = 'O'
|
|
|
+ AND P.PAY_STAT IN ('G016_00', 'G016_30')
|
|
|
+ INNER JOIN TB_DELIVERY_ADDR DA
|
|
|
+ ON OD.DELV_ADDR_SQ = DA.DELV_ADDR_SQ
|
|
|
+ <if test="(chgStat != null and chgStat != '') or (chgGb != null and chgGb != '')">
|
|
|
+ LEFT OUTER JOIN (
|
|
|
+ SELECT OCD.ORD_DTL_NO
|
|
|
+ , OC.CHG_GB
|
|
|
+ , OCD.CHG_STAT
|
|
|
+ FROM TB_ORDER_CHANGE OC
|
|
|
+ INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
|
|
|
+ ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ
|
|
|
+ WHERE 1=1
|
|
|
+ GROUP BY OCD.ORD_DTL_NO
|
|
|
+ , OC.CHG_GB
|
|
|
+ , OCD.CHG_STAT
|
|
|
+ ) OCD
|
|
|
+ ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
|
|
|
+ </if>
|
|
|
+ WHERE 1=1
|
|
|
+ <if test='siteCd != null and siteCd != ""'>
|
|
|
+ AND O.SITE_CD = #{siteCd}
|
|
|
+ </if>
|
|
|
+ <if test='mallCd != null and mallCd != ""'>
|
|
|
+ AND O.MALL_GB = #{mallCd}
|
|
|
+ </if>
|
|
|
+ <if test='supplyCompCd != null and supplyCompCd != ""'>
|
|
|
+ AND OD.SUPPLY_COMP_CD = #{supplyCompCd}
|
|
|
+ </if>
|
|
|
+ <if test="multiBrand != null and multiBrand != ''">
|
|
|
+ AND G1.BRAND_CD IN
|
|
|
+ <foreach collection="multiBrand" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="multiOrdDtlStat != null and multiOrdDtlStat != ''">
|
|
|
+ AND OD.ORD_DTL_STAT IN
|
|
|
+ <foreach collection="multiOrdDtlStat" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="chgStat != null and chgStat != ''">
|
|
|
+ AND OCD.CHG_STAT = #{chgStat}
|
|
|
+ </if>
|
|
|
+ <if test="chgGb != null and chgGb != ''">
|
|
|
+ AND OCD.CHG_GB = #{chgGb}
|
|
|
+ </if>
|
|
|
+ <if test='search != null and search == "searchOrdNo"'>
|
|
|
+ <if test="condition != null and condition != ''">
|
|
|
+ AND O.ORD_NO = #{condition}
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+ <if test='search != null and search == "searchExtmallOrderId"'>
|
|
|
+ <if test="condition != null and condition != ''">
|
|
|
+ AND OD.EXTMALL_ORDER_ID = #{condition}
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+ <if test='search != null and search == "searchAgentOrderId"'>
|
|
|
+ <if test="condition != null and condition != ''">
|
|
|
+ AND OD.AGENT_ORDER_ID = #{condition}
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+ <if test='payMeans != null and payMeans != ""'>
|
|
|
+ AND P.PAY_MEANS = #{payMeans}
|
|
|
+ </if>
|
|
|
+ <if test='orderNm != null and orderNm != ""'>
|
|
|
+ AND O.ORD_NM = #{orderNm}
|
|
|
+ </if>
|
|
|
+ <if test='custId != null and custId != ""'>
|
|
|
+ AND O.CUST_NO = #{custId}
|
|
|
+ </if>
|
|
|
+ <if test='orderPhnno != null and orderPhnno != ""'>
|
|
|
+ AND O.ORD_PHNNO = #{orderPhnno}
|
|
|
+ </if>
|
|
|
+ <if test='goodsCd != null and goodsCd != ""'>
|
|
|
+ AND G1.GOODS_CD = #{goodsCd}
|
|
|
+ </if>
|
|
|
+ <if test='sizeCd != null and sizeCd != ""'>
|
|
|
+ AND ODI.OPT_CD2 = #{sizeCd}
|
|
|
+ </if>
|
|
|
+ <if test='goodsNm != null and goodsNm != ""'>
|
|
|
+ AND G1.GOODS_NM = #{goodsNm}
|
|
|
+ </if>
|
|
|
+ <if test='payMeans != null and payMeans != ""'>
|
|
|
+ AND P.PAY_MEANS = #{payMeans}
|
|
|
+ </if>
|
|
|
+ <if test='orderNm != null and orderNm != ""'>
|
|
|
+ AND O.ORD_NM = #{orderNm}
|
|
|
+ </if>
|
|
|
+ <if test='custId != null and custId != ""'>
|
|
|
+ AND O.CUST_NO = #{custId}
|
|
|
+ </if>
|
|
|
+ <if test='orderPhnno != null and orderPhnno != ""'>
|
|
|
+ AND O.ORD_PHNNO = #{orderPhnno}
|
|
|
+ </if>
|
|
|
+ <if test='goodsCd != null and goodsCd != ""'>
|
|
|
+ AND G2.GOODS_CD = #{goodsCd}
|
|
|
+ </if>
|
|
|
+ <if test='sizeCd != null and sizeCd != ""'>
|
|
|
+ AND ODI.OPT_CD2 = #{sizeCd}
|
|
|
+ </if>
|
|
|
+ <if test='goodsNm != null and goodsNm != ""'>
|
|
|
+ AND G2.GOODS_NM = #{goodsNm}
|
|
|
+ </if>
|
|
|
+ <if test='recipNm != null and recipNm != ""'>
|
|
|
+ AND DA.RECIP_NM = #{recipNm}
|
|
|
+ </if>
|
|
|
+ <if test='invoiceNo != null and invoiceNo != ""'>
|
|
|
+ AND OD.INVOICE_NO = #{invoiceNo}
|
|
|
+ </if>
|
|
|
+ <if test='wdInvoiceSendYn != null and wdInvoiceSendYn == "Y"'>
|
|
|
+ AND OD.INVOICE_SEND_YN = 'Y'
|
|
|
+ </if>
|
|
|
+ <if test='wdInvoiceSendYn != null and wdInvoiceSendYn == "N"'>
|
|
|
+ AND OD.INVOICE_SEND_YN = 'N'
|
|
|
+ </if>
|
|
|
+ <if test='searchDateGb != null and searchDateGb == "ordDt"'>
|
|
|
+ AND O.ORD_DT >= DATE_FORMAT(#{stDate}, '%Y-%m-%d %H:%i:%S')
|
|
|
+ AND O.ORD_DT <![CDATA[<]]> DATE_FORMAT(DATE_ADD(#{edDate}, INTERVAL 1 DAY), '%Y-%m-%d %H:%i:%S')
|
|
|
+ </if>
|
|
|
+ <if test='searchDateGb != null and searchDateGb == "delvStdt"'>
|
|
|
+ AND OD.DELV_STDT >= DATE_FORMAT(#{stDate}, '%Y-%m-%d %H:%i:%S')
|
|
|
+ AND OD.DELV_STDT <![CDATA[<]]> DATE_FORMAT(DATE_ADD(#{edDate}, INTERVAL 1 DAY), '%Y-%m-%d %H:%i:%S')
|
|
|
+ </if>
|
|
|
+ <if test='searchDateGb != null and searchDateGb == "soldoutDt"'>
|
|
|
+ AND OD.SOLDOUT_REG_DT >= DATE_FORMAT(#{stDate}, '%Y-%m-%d %H:%i:%S')
|
|
|
+ AND OD.SOLDOUT_REG_DT <![CDATA[<]]> DATE_FORMAT(DATE_ADD(#{edDate}, INTERVAL 1 DAY), '%Y-%m-%d %H:%i:%S')
|
|
|
+ </if>
|
|
|
+ <if test="ordNoList != null and ordNoList != ''">
|
|
|
+ AND OD.ORD_NO IN
|
|
|
+ <foreach collection="ordNoList" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문목록 > 주문목록 -->
|
|
|
+ <select id="getOrderList" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getOrderList */
|
|
|
+ SELECT Z.*
|
|
|
+ FROM (SELECT @rownum := @rownum + 1 AS RNUM
|
|
|
+ , A.*
|
|
|
+ FROM (SELECT O.ORD_NO
|
|
|
+ , OD.ORD_DTL_NO
|
|
|
+ , ODI.ORD_DTL_ITEM_SQ
|
|
|
+ , O.ORD_NM
|
|
|
+ , O.CUST_NO
|
|
|
+ , OD.VENDOR_ID
|
|
|
+ , O.FRONT_GB
|
|
|
+ , DATE_FORMAT(O.ORD_DT,'%Y%m%d%H%i%S') AS ORD_DT
|
|
|
+ , OD.ORD_EXCH_GB
|
|
|
+ , OD.ORD_DTL_STAT
|
|
|
+ , OD.DELV_LOC_CD
|
|
|
+ , G1.GOODS_CD
|
|
|
+ , G1.GOODS_NM
|
|
|
+ , G1.GOODS_TYPE
|
|
|
+ , FN_GET_CODE_NM('G056', G1.GOODS_TYPE) AS GOODS_TYPE_NM
|
|
|
+ , CASE WHEN G1.GOODS_TYPE != 'G056_S' AND G1.SELF_GOODS_YN = 'Y' THEN (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G1.GOODS_CD AND COLOR_CD = ODI.OPT_CD1 AND DEFAULT_IMG_YN = 'Y')
|
|
|
+ ELSE (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G1.GOODS_CD AND COLOR_CD = IFNULL(G1.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') END AS SYS_IMG_NM
|
|
|
+ , G2.BRAND_CD
|
|
|
+ , (SELECT Z.BRAND_ENM
|
|
|
+ FROM TB_BRAND Z
|
|
|
+ WHERE Z.BRAND_CD = G2.BRAND_CD) AS BRAND_ENM
|
|
|
+ , G2.GOODS_CD AS ITEM_CD
|
|
|
+ , G2.GOODS_NM AS ITEM_NM
|
|
|
+ , IFNULL((SELECT COLOR_KNM FROM TB_COLOR WHERE COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1,'') , G1.MAIN_COLOR_CD ) AND USE_YN = 'Y'), ODI.OPT_CD1) AS COLOR_NM
|
|
|
+ , ODI.OPT_CD1
|
|
|
+ , ODI.OPT_CD2
|
|
|
+ , OD.EXTMALL_ORDER_ID
|
|
|
+ , OD.AGENT_ORDER_ID
|
|
|
+ , ODI.ITEM_QTY * OD.ORD_QTY AS ORD_QTY
|
|
|
+ , ODI.ITEM_QTY * OD.CNCL_RTN_QTY AS CNCL_RTN_QTY
|
|
|
+ , ODI.ORD_AMT
|
|
|
+ , ODI.CNCL_RTN_AMT
|
|
|
+ , ODI.CPN1_DC_AMT + ODI.TMTB1_DC_AMT + ODI.TMTB2_DC_AMT + ODI.GOODS_CPN_DC_AMT + ODI.CART_CPN_DC_AMT + ODI.PNT_DC_AMT + ODI.PRE_PNT_DC_AMT AS TOT_DC_AMT
|
|
|
+ , ODI.REAL_ORD_AMT
|
|
|
+ , G2.SUPPLY_GOODS_CD
|
|
|
+ , OD.FORMAL_GB
|
|
|
+ , DATE_FORMAT(OD.DELV_ASSIGN_DT,'%Y%m%d%H%i%S') AS DELV_ASSIGN_DT
|
|
|
+ , OD.INVOICE_NO
|
|
|
+ , OD.DELV_STDT
|
|
|
+ , OD.SOLDOUT_YN
|
|
|
+ , OD.SOLDOUT_MEMO
|
|
|
+ , DATE_FORMAT(OD.SOLDOUT_REG_DT,'%Y%m%d%H%i%S') AS SOLDOUT_REG_DT
|
|
|
+ , OD.SOLDOUT_REG_NO
|
|
|
+ , CASE WHEN OD.ORD_EXCH_GB = 'O'
|
|
|
+ THEN '주문'
|
|
|
+ ELSE '교환'
|
|
|
+ END EXCH_GB_NM
|
|
|
+ , DA.RECIP_NM
|
|
|
+ , DA.RECIP_PHNNO
|
|
|
+ , CONCAT(DA.RECIP_BASE_ADDR, ' ', DA.RECIP_DTL_ADDR) AS RECIP_ADDR
|
|
|
+ , DA.DELV_MEMO
|
|
|
+ , OD.DSTRBT_NOTE
|
|
|
+ FROM TB_ORDER O
|
|
|
+ INNER JOIN TB_ORDER_DETAIL OD
|
|
|
+ ON O.ORD_NO = OD.ORD_NO
|
|
|
+ AND OD.ORD_DTL_STAT <![CDATA[<>]]> 'G013_97' -- 교환철회 상품 제외
|
|
|
+ INNER JOIN TB_GOODS G1
|
|
|
+ ON OD.GOODS_CD = G1.GOODS_CD
|
|
|
+ INNER JOIN TB_ORDER_DETAIL_ITEM ODI
|
|
|
+ ON OD.ORD_NO = ODI.ORD_NO
|
|
|
+ AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
|
|
|
+ INNER JOIN TB_GOODS G2
|
|
|
+ ON ODI.ITEM_CD = G2.GOODS_CD
|
|
|
+ INNER JOIN TB_PAYMENT P
|
|
|
+ ON O.ORD_NO = P.ORD_NO
|
|
|
+ AND P.PAY_GB = 'O'
|
|
|
+ AND P.PAY_STAT IN ('G016_00', 'G016_30')
|
|
|
+ INNER JOIN TB_DELIVERY_ADDR DA
|
|
|
+ ON OD.DELV_ADDR_SQ = DA.DELV_ADDR_SQ
|
|
|
+ <if test="(chgStat != null and chgStat != '') or (chgGb != null and chgGb != '')">
|
|
|
+ LEFT OUTER JOIN (SELECT OCD.ORD_DTL_NO
|
|
|
+ , OC.CHG_GB
|
|
|
+ , OCD.CHG_STAT
|
|
|
+ FROM TB_ORDER_CHANGE OC
|
|
|
+ INNER JOIN TB_ORDER_CHANGE_DETAIL OCD
|
|
|
+ ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ
|
|
|
+ WHERE 1=1
|
|
|
+ GROUP BY OCD.ORD_DTL_NO, OC.CHG_GB, OCD.CHG_STAT
|
|
|
+ ) OCD
|
|
|
+ ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
|
|
|
+ </if>
|
|
|
+ WHERE 1=1
|
|
|
+ <if test='siteCd != null and siteCd != ""'>
|
|
|
+ AND O.SITE_CD = #{siteCd}
|
|
|
+ </if>
|
|
|
+ <if test='mallCd != null and mallCd != ""'>
|
|
|
+ AND O.MALL_GB = #{mallCd}
|
|
|
+ </if>
|
|
|
+ <if test='supplyCompCd != null and supplyCompCd != ""'>
|
|
|
+ AND OD.SUPPLY_COMP_CD = #{supplyCompCd}
|
|
|
+ </if>
|
|
|
+ <if test="multiBrand != null and multiBrand != ''">
|
|
|
+ AND G1.BRAND_CD IN
|
|
|
+ <foreach collection="multiBrand" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="multiOrdDtlStat != null and multiOrdDtlStat != ''">
|
|
|
+ AND OD.ORD_DTL_STAT IN
|
|
|
+ <foreach collection="multiOrdDtlStat" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="multiOrdDtlStat == null or multiOrdDtlStat == ''">
|
|
|
+ <if test="multiOrdStat != null and multiOrdStat != ''">
|
|
|
+ AND OD.ORD_DTL_STAT IN
|
|
|
+ <foreach collection="multiOrdStat" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+ <if test="chgStat != null and chgStat != ''">
|
|
|
+ AND OCD.CHG_STAT = #{chgStat}
|
|
|
+ </if>
|
|
|
+ <if test="chgGb != null and chgGb != ''">
|
|
|
+ AND OCD.CHG_GB = #{chgGb}
|
|
|
+ </if>
|
|
|
+ <if test='search != null and search == "searchOrdNo"'>
|
|
|
+ <if test="condition != null and condition != ''">
|
|
|
+ AND O.ORD_NO = #{condition}
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+ <if test='search != null and search == "searchExtmallOrderId"'>
|
|
|
+ <if test="condition != null and condition != ''">
|
|
|
+ AND OD.EXTMALL_ORDER_ID = #{condition}
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+ <if test='search != null and search == "searchAgentOrderId"'>
|
|
|
+ <if test="condition != null and condition != ''">
|
|
|
+ AND OD.AGENT_ORDER_ID = #{condition}
|
|
|
+ </if>
|
|
|
+ </if>
|
|
|
+ <if test='payMeans != null and payMeans != ""'>
|
|
|
+ AND P.PAY_MEANS = #{payMeans}
|
|
|
+ </if>
|
|
|
+ <if test='orderNm != null and orderNm != ""'>
|
|
|
+ AND O.ORD_NM = #{orderNm}
|
|
|
+ </if>
|
|
|
+ <if test='custId != null and custId != ""'>
|
|
|
+ AND O.CUST_NO = #{custId}
|
|
|
+ </if>
|
|
|
+ <if test='orderPhnno != null and orderPhnno != ""'>
|
|
|
+ AND O.ORD_PHNNO = #{orderPhnno}
|
|
|
+ </if>
|
|
|
+ <if test='goodsCd != null and goodsCd != ""'>
|
|
|
+ AND G1.GOODS_CD = #{goodsCd}
|
|
|
+ </if>
|
|
|
+ <if test='sizeCd != null and sizeCd != ""'>
|
|
|
+ AND ODI.OPT_CD2 = #{sizeCd}
|
|
|
+ </if>
|
|
|
+ <if test='goodsNm != null and goodsNm != ""'>
|
|
|
+ AND G1.GOODS_NM = #{goodsNm}
|
|
|
+ </if>
|
|
|
+ <if test='payMeans != null and payMeans != ""'>
|
|
|
+ AND P.PAY_MEANS = #{payMeans}
|
|
|
+ </if>
|
|
|
+ <if test='orderNm != null and orderNm != ""'>
|
|
|
+ AND O.ORD_NM = #{orderNm}
|
|
|
+ </if>
|
|
|
+ <if test='custId != null and custId != ""'>
|
|
|
+ AND O.CUST_NO = #{custId}
|
|
|
+ </if>
|
|
|
+ <if test='orderPhnno != null and orderPhnno != ""'>
|
|
|
+ AND O.ORD_PHNNO = #{orderPhnno}
|
|
|
+ </if>
|
|
|
+ <if test='goodsCd != null and goodsCd != ""'>
|
|
|
+ AND G2.GOODS_CD = #{goodsCd}
|
|
|
+ </if>
|
|
|
+ <if test='sizeCd != null and sizeCd != ""'>
|
|
|
+ AND ODI.OPT_CD2 = #{sizeCd}
|
|
|
+ </if>
|
|
|
+ <if test='goodsNm != null and goodsNm != ""'>
|
|
|
+ AND G2.GOODS_NM = #{goodsNm}
|
|
|
+ </if>
|
|
|
+ <if test='recipNm != null and recipNm != ""'>
|
|
|
+ AND DA.RECIP_NM = #{recipNm}
|
|
|
+ </if>
|
|
|
+ <if test='invoiceNo != null and invoiceNo != ""'>
|
|
|
+ AND OD.INVOICE_NO = #{invoiceNo}
|
|
|
+ </if>
|
|
|
+ <if test='wdInvoiceSendYn != null and wdInvoiceSendYn == "Y"'>
|
|
|
+ AND OD.INVOICE_SEND_YN = 'Y'
|
|
|
+ </if>
|
|
|
+ <if test='wdInvoiceSendYn != null and wdInvoiceSendYn == "N"'>
|
|
|
+ AND OD.INVOICE_SEND_YN = 'N'
|
|
|
+ </if>
|
|
|
+ <if test='searchDateGb != null and searchDateGb == "ordDt"'>
|
|
|
+ AND O.ORD_DT >= DATE_FORMAT(#{stDate}, '%Y-%m-%d %H:%i:%S')
|
|
|
+ AND O.ORD_DT <![CDATA[<]]> DATE_FORMAT(DATE_ADD(#{edDate}, INTERVAL 1 DAY), '%Y-%m-%d %H:%i:%S')
|
|
|
+ </if>
|
|
|
+ <if test='searchDateGb != null and searchDateGb == "delvStdt"'>
|
|
|
+ AND OD.DELV_STDT >= DATE_FORMAT(#{stDate}, '%Y-%m-%d %H:%i:%S')
|
|
|
+ AND OD.DELV_STDT <![CDATA[<]]> DATE_FORMAT(DATE_ADD(#{edDate}, INTERVAL 1 DAY), '%Y-%m-%d %H:%i:%S')
|
|
|
+ </if>
|
|
|
+ <if test='searchDateGb != null and searchDateGb == "soldoutDt"'>
|
|
|
+ AND OD.SOLDOUT_REG_DT >= DATE_FORMAT(#{stDate}, '%Y-%m-%d %H:%i:%S')
|
|
|
+ AND OD.SOLDOUT_REG_DT <![CDATA[<]]> DATE_FORMAT(DATE_ADD(#{edDate}, INTERVAL 1 DAY), '%Y-%m-%d %H:%i:%S')
|
|
|
+ </if>
|
|
|
+ <if test="ordNoList != null and ordNoList != ''">
|
|
|
+ AND OD.ORD_NO IN
|
|
|
+ <foreach collection="ordNoList" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ ORDER BY OD.ORD_NO DESC
|
|
|
+ , OD.ORD_DTL_NO DESC
|
|
|
+ , ODI.ORD_DTL_ITEM_SQ DESC
|
|
|
+ ) A
|
|
|
+ JOIN (SELECT @rownum := 0) R
|
|
|
+ ) Z
|
|
|
+ WHERE 1=1
|
|
|
+ AND Z.RNUM BETWEEN #{pageable.startRow} AND #{pageable.endRow}
|
|
|
+ ORDER BY Z.ORD_NO DESC
|
|
|
+ , Z.ORD_DTL_NO DESC
|
|
|
+ , Z.ORD_DTL_ITEM_SQ DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 주문기본정보 -->
|
|
|
+ <select id="getOrderInfoList" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getOrderInfoList */
|
|
|
+ SELECT O.SITE_CD
|
|
|
+ , FN_GET_CODE_NM('G000', O.SITE_CD) AS SITE_CD_NM
|
|
|
+ , O.MALL_GB
|
|
|
+ , FN_GET_CODE_NM('G011', O.MALL_GB) AS MALL_GB_NM
|
|
|
+ , O.FRONT_GB
|
|
|
+ , CASE WHEN O.FRONT_GB = 'P'
|
|
|
+ THEN 'PC'
|
|
|
+ ELSE 'MOBILE'
|
|
|
+ END FRONT_GB_NM
|
|
|
+ , OD.EXTMALL_ID
|
|
|
+ , (SELECT X.EXTMALL_NM
|
|
|
+ FROM TB_EXTMALL X
|
|
|
+ WHERE X.EXTMALL_ID = OD.EXTMALL_ID) AS EXTMALL_NM
|
|
|
+ , O.ORD_DT
|
|
|
+ , O.ORD_NM
|
|
|
+ , O.CUST_NO
|
|
|
+ , O.ORD_NO
|
|
|
+ , O.ORD_EMAIL
|
|
|
+ , O.ORD_PHNNO
|
|
|
+ , O.ORD_TELNO
|
|
|
+ , C.CUST_GB
|
|
|
+ , CASE WHEN C.CUST_GB IS NULL
|
|
|
+ THEN '비회원'
|
|
|
+ ELSE FN_GET_CODE_NM('G100', C.CUST_GB)
|
|
|
+ END CUST_GB_NM
|
|
|
+ , C.MANAGED_RSN
|
|
|
+ , CASE WHEN C.MANAGED_RSN IS NULL
|
|
|
+ THEN '부'
|
|
|
+ ELSE FN_GET_CODE_NM('G120', C.MANAGED_RSN)
|
|
|
+ END MANAGED_RSN_NM
|
|
|
+ , C.CUST_GRADE
|
|
|
+ , CASE WHEN C.CUST_GRADE IS NULL
|
|
|
+ THEN '등급없음'
|
|
|
+ ELSE FN_GET_CODE_NM('G110', C.CUST_GRADE)
|
|
|
+ END CUST_GRADE_NM
|
|
|
+ , P.ESCROW_YN
|
|
|
+ , P.PAY_MEANS
|
|
|
+ , FN_GET_CODE_NM('G014', P.PAY_MEANS) AS PAY_MEANS_NM
|
|
|
+ , P.CARD_NM
|
|
|
+ , P.VA_BANK
|
|
|
+ , P.VA_NO
|
|
|
+ , CASE WHEN P.PAY_MEANS = 'G014_20' || P.PAY_MEANS = 'G014_10'
|
|
|
+ THEN FN_GET_CODE_NM('G940', P.VA_BANK)
|
|
|
+ ELSE P.CARD_NM
|
|
|
+ END CARD_NM
|
|
|
+ , P.PG_TRADE_NO
|
|
|
+ , DATE_FORMAT(P.PAY_DT, '%Y%m%d%H%i%S') AS PAY_DT
|
|
|
+ , P.PAY_STAT
|
|
|
+ , FN_GET_CODE_NM('G016', P.PAY_STAT) AS PAY_STAT_NM
|
|
|
+ , P.PAY_AMT
|
|
|
+ , P.VA_DEADLINE
|
|
|
+ , CASE WHEN NOW() <![CDATA[<]]> DATE_ADD(O.PAY_DT, INTERVAL 3 DAY)
|
|
|
+ THEN 'N'
|
|
|
+ ELSE 'Y'
|
|
|
+ END GIFT_PACK_CLOSE_YN
|
|
|
+ , DATE_ADD(O.PAY_DT, INTERVAL 3 DAY) AS GIFT_PACK_CLOSE_DT
|
|
|
+ , P.PG_GB
|
|
|
+ FROM TB_ORDER O
|
|
|
+ INNER JOIN TB_ORDER_DETAIL OD
|
|
|
+ ON O.ORD_NO = OD.ORD_NO
|
|
|
+ LEFT OUTER JOIN TB_CUSTOMER C
|
|
|
+ ON O.CUST_NO = C.CUST_NO
|
|
|
+ LEFT OUTER JOIN TB_PAYMENT P
|
|
|
+ ON O.ORD_NO = P.ORD_NO
|
|
|
+ AND P.PAY_GB = 'O'
|
|
|
+ AND P.PAY_STAT IN ('G016_30', 'G016_00')
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND O.ORD_NO = #{ordNo}
|
|
|
+ LIMIT 1
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 주문상품상세 목록(단품) -->
|
|
|
+ <select id="getOrderDetailList" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getOrderDetailList */
|
|
|
+ SELECT OD.ORD_NO
|
|
|
+ , CASE WHEN OD.ORD_EXCH_GB = 'O'
|
|
|
+ THEN '주문'
|
|
|
+ ELSE '교환'
|
|
|
+ END EXCH_GB_NM
|
|
|
+ , OD.ORD_DTL_NO
|
|
|
+ , G1.GOODS_CD
|
|
|
+ , G1.GOODS_NM
|
|
|
+ , G1.GOODS_TYPE
|
|
|
+ , FN_GET_CODE_NM('G056', G1.GOODS_TYPE) AS GOODS_TYPE_NM
|
|
|
+ , CASE WHEN G1.GOODS_TYPE != 'G056_S' AND G1.SELF_GOODS_YN = 'Y' THEN (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G1.GOODS_CD AND COLOR_CD = ODI.OPT_CD1 AND DEFAULT_IMG_YN = 'Y')
|
|
|
+ ELSE (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G1.GOODS_CD AND COLOR_CD = IFNULL(G1.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') END AS SYS_IMG_NM
|
|
|
+ , G2.BRAND_CD
|
|
|
+ , CASE BG.DISP_NM_LANG WHEN 'EN' THEN BG.BRAND_GROUP_ENM
|
|
|
+ ELSE BG.BRAND_GROUP_KNM
|
|
|
+ END AS BRAND_NM
|
|
|
+ , (SELECT Z.BRAND_ENM
|
|
|
+ FROM TB_BRAND Z
|
|
|
+ WHERE Z.BRAND_CD = G2.BRAND_CD) AS BRAND_ENM
|
|
|
+ , G2.GOODS_CD AS ITEM_CD
|
|
|
+ , G2.GOODS_NM AS ITEM_NM
|
|
|
+ , IFNULL((SELECT COLOR_KNM FROM TB_COLOR WHERE COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1,'') , G1.MAIN_COLOR_CD ) AND USE_YN = 'Y'), ODI.OPT_CD1) AS COLOR_NM
|
|
|
+ , ODI.OPT_CD1
|
|
|
+ , ODI.OPT_CD2
|
|
|
+ , ODI.ITEM_QTY
|
|
|
+ , ODI.ITEM_PRICE
|
|
|
+ , ODI.ITEM_QTY * OD.ORD_QTY AS ORD_QTY
|
|
|
+ , ODI.ITEM_QTY * OD.CNCL_RTN_QTY AS CNCL_RTN_QTY
|
|
|
+ , CASE WHEN OCD.ORD_REQ_CHG_QTY IS NULL
|
|
|
+ THEN 0
|
|
|
+ ELSE OCD.ORD_REQ_CHG_QTY * ODI.ITEM_QTY
|
|
|
+ END AS ORD_REQ_CHG_QTY
|
|
|
+ , CASE WHEN OCD.CANCEL_REQUEST_QTY IS NULL
|
|
|
+ THEN 0
|
|
|
+ ELSE OCD.CANCEL_REQUEST_QTY * ODI.ITEM_QTY
|
|
|
+ END AS CANCEL_REQUEST_QTY
|
|
|
+ , CASE WHEN OCD.EXCHANGE_REQUEST_QTY IS NULL
|
|
|
+ THEN 0
|
|
|
+ ELSE OCD.EXCHANGE_REQUEST_QTY * ODI.ITEM_QTY
|
|
|
+ END AS EXCHANGE_REQUEST_QTY
|
|
|
+ , CASE WHEN OCD.RETURN_REQUEST_QTY IS NULL
|
|
|
+ THEN 0
|
|
|
+ ELSE OCD.RETURN_REQUEST_QTY * ODI.ITEM_QTY
|
|
|
+ END AS RETURN_REQUEST_QTY
|
|
|
+ , ODI.OPT_ADD_PRICE
|
|
|
+ , ODI.CPN1_DC_AMT
|
|
|
+ , ODI.GOODS_CPN_DC_AMT
|
|
|
+ , ODI.CART_CPN_DC_AMT
|
|
|
+ , ODI.TMTB1_DC_AMT
|
|
|
+ , ODI.TMTB2_DC_AMT
|
|
|
+ , ODI.PNT_DC_AMT
|
|
|
+ , ODI.PRE_PNT_DC_AMT
|
|
|
+ , ODI.SAVE_PNT_AMT
|
|
|
+ , ODI.GFCD_USE_AMT
|
|
|
+ , ODI.ORD_AMT
|
|
|
+ , ODI.REAL_ORD_AMT
|
|
|
+ , ODI.CNCL_RTN_AMT
|
|
|
+ , OD.ORD_DTL_STAT
|
|
|
+ , FN_GET_CODE_NM('G013', OD.ORD_DTL_STAT) AS ORD_DTL_STAT_NM
|
|
|
+ , OD.SOLDOUT_YN
|
|
|
+ , OD.SOLDOUT_REG_NO
|
|
|
+ , OD.SOLDOUT_MEMO
|
|
|
+ , OD.INVOICE_NO
|
|
|
+ , OD.DELV_LOC_CD
|
|
|
+ , OD.DELV_ADDR_SQ
|
|
|
+ FROM TB_ORDER O
|
|
|
+ INNER JOIN TB_ORDER_DETAIL OD
|
|
|
+ ON O.ORD_NO = OD.ORD_NO
|
|
|
+ AND OD.ORD_DTL_STAT <![CDATA[<>]]> 'G013_97' -- 교환철회 상품 제외
|
|
|
+ INNER JOIN TB_GOODS G1
|
|
|
+ ON OD.GOODS_CD = G1.GOODS_CD
|
|
|
+ INNER JOIN TB_BRAND B
|
|
|
+ ON B.BRAND_CD = G1.BRAND_CD
|
|
|
+ INNER JOIN TB_BRAND_GROUP BG
|
|
|
+ ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
|
|
|
+ AND BG.USE_YN = 'Y'
|
|
|
+ INNER JOIN TB_ORDER_DETAIL_ITEM ODI
|
|
|
+ ON OD.ORD_NO = ODI.ORD_NO
|
|
|
+ AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
|
|
|
+ INNER JOIN TB_GOODS G2
|
|
|
+ ON ODI.ITEM_CD = G2.GOODS_CD
|
|
|
+ INNER JOIN TB_PAYMENT P
|
|
|
+ ON O.ORD_NO = P.ORD_NO
|
|
|
+ AND P.PAY_GB = 'O'
|
|
|
+ AND P.PAY_STAT IN ('G016_00', 'G016_30')
|
|
|
+ INNER JOIN TB_DELIVERY_ADDR DA
|
|
|
+ ON OD.DELV_ADDR_SQ = DA.DELV_ADDR_SQ
|
|
|
+ LEFT OUTER JOIN (SELECT OD.ORD_DTL_NO
|
|
|
+ , SUM(OCD.CHG_QTY) AS ORD_REQ_CHG_QTY
|
|
|
+ , SUM(CASE OCD.CHG_STAT WHEN 'G685_10' THEN OCD.CHG_QTY
|
|
|
+ WHEN 'G685_11' THEN OCD.CHG_QTY
|
|
|
+ ELSE 0
|
|
|
+ END) AS CANCEL_REQUEST_QTY
|
|
|
+ , SUM(CASE WHEN OCD.CHG_STAT = 'G685_20' THEN OCD.CHG_QTY
|
|
|
+ WHEN OCD.CHG_STAT = 'G685_21' THEN OCD.CHG_QTY
|
|
|
+ WHEN OCD.CHG_STAT = 'G685_30' AND OC.CHG_GB = 'G680_40' THEN OCD.CHG_QTY
|
|
|
+ WHEN OCD.CHG_STAT = 'G685_31' AND OC.CHG_GB = 'G680_40' THEN OCD.CHG_QTY
|
|
|
+ WHEN OCD.CHG_STAT = 'G685_32' AND OC.CHG_GB = 'G680_40' THEN OCD.CHG_QTY
|
|
|
+ ELSE 0
|
|
|
+ END) AS EXCHANGE_REQUEST_QTY
|
|
|
+ , SUM(CASE WHEN OCD.CHG_STAT = 'G685_50' THEN OCD.CHG_QTY
|
|
|
+ WHEN OCD.CHG_STAT = 'G685_51' THEN OCD.CHG_QTY
|
|
|
+ WHEN OCD.CHG_STAT = 'G685_33' THEN OCD.CHG_QTY
|
|
|
+ WHEN OCD.CHG_STAT = 'G685_30' AND OC.CHG_GB = 'G680_30' THEN OCD.CHG_QTY
|
|
|
+ WHEN OCD.CHG_STAT = 'G685_31' AND OC.CHG_GB = 'G680_30' THEN OCD.CHG_QTY
|
|
|
+ WHEN OCD.CHG_STAT = 'G685_32' AND OC.CHG_GB = 'G680_30' THEN OCD.CHG_QTY
|
|
|
+ ELSE 0
|
|
|
+ END) AS RETURN_REQUEST_QTY
|
|
|
+ FROM TB_ORDER_CHANGE_DETAIL OCD
|
|
|
+ INNER JOIN TB_ORDER_CHANGE OC
|
|
|
+ ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ
|
|
|
+ INNER JOIN TB_ORDER_DETAIL OD
|
|
|
+ ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND OD.ORD_NO = #{ordNo}
|
|
|
+ AND OCD.CHG_STAT IN ('G685_10', 'G685_11', 'G685_20', 'G685_21', 'G685_30', 'G685_31', 'G685_32', 'G685_33', 'G685_50', 'G685_51')
|
|
|
+ GROUP BY OCD.ORD_DTL_NO
|
|
|
+ ) OCD
|
|
|
+ ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND OD.ORD_NO = #{ordNo}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 사은품목록 -->
|
|
|
+ <select id="getOrderFreeGiftList" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getOrderFreeGiftList */
|
|
|
+ SELECT OFV.ORD_FREEGIFT_SQ
|
|
|
+ , OFV.ORD_NO
|
|
|
+ , OFV.FREEGIFT_SQ
|
|
|
+ , FG.FREEGIFT_NM
|
|
|
+ , OFV.FREEGIFT_VAL_SQ
|
|
|
+ , OFV.USE_POINT
|
|
|
+ , OFV.PRODUCT_NO
|
|
|
+ , G.GOODS_NM AS ITEM_NM
|
|
|
+ , OFV.ITEM_QTY
|
|
|
+ , OFV.DEL_YN
|
|
|
+ FROM TB_ORD_FREEGIFT_VAL OFV
|
|
|
+ INNER JOIN TB_FREEGIFT FG
|
|
|
+ ON OFV.FREEGIFT_SQ = FG.FREEGIFT_SQ
|
|
|
+ INNER JOIN TB_FREE_GOODS G
|
|
|
+ ON OFV.PRODUCT_NO = G.PRODUCT_NO
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND OFV.ORD_NO = #{ordNo}
|
|
|
+ AND OFV.DEL_YN = 'N'
|
|
|
+ ORDER BY OFV.REG_DT DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 배송정보 -->
|
|
|
+ <select id="getDeliveryAddrList" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getDeliveryAddrList */
|
|
|
+ SELECT Z.DELV_ADDR_SQ
|
|
|
+ , Z.ORD_DTL_STAT
|
|
|
+ , Z.EXCH_GB_NM
|
|
|
+ , Z.RECIP_NM
|
|
|
+ , Z.RECIP_PHNNO
|
|
|
+ , Z.RECIP_TELNO
|
|
|
+ , Z.RECIP_ZIPCODE
|
|
|
+ , Z.RECIP_BASE_ADDR
|
|
|
+ , Z.RECIP_DTL_ADDR
|
|
|
+ , Z.ORD_EMAIL
|
|
|
+ , Z.DELV_MEMO
|
|
|
+ , Z.GIFT_MSG
|
|
|
+ FROM (SELECT OD.DELV_ADDR_SQ
|
|
|
+ , OD.ORD_DTL_STAT
|
|
|
+ , OD.ORD_EXCH_GB
|
|
|
+ , CASE WHEN OD.ORD_EXCH_GB = 'O'
|
|
|
+ THEN '주문'
|
|
|
+ ELSE '교환'
|
|
|
+ END EXCH_GB_NM
|
|
|
+ , DA.RECIP_NM
|
|
|
+ , DA.RECIP_PHNNO
|
|
|
+ , DA.RECIP_TELNO
|
|
|
+ , DA.RECIP_ZIPCODE
|
|
|
+ , DA.RECIP_BASE_ADDR
|
|
|
+ , DA.RECIP_DTL_ADDR
|
|
|
+ , O.ORD_EMAIL
|
|
|
+ , DA.DELV_MEMO
|
|
|
+ , DA.GIFT_MSG
|
|
|
+ FROM TB_ORDER_DETAIL OD
|
|
|
+ INNER JOIN TB_ORDER O
|
|
|
+ ON OD.ORD_NO = O.ORD_NO
|
|
|
+ INNER JOIN TB_DELIVERY_ADDR DA
|
|
|
+ ON OD.DELV_ADDR_SQ = DA.DELV_ADDR_SQ
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND OD.ORD_NO = #{ordNo}
|
|
|
+ AND OD.ORD_DTL_STAT <![CDATA[<>]]> 'G013_97' -- 교환철회 상품 제외
|
|
|
+ ) Z
|
|
|
+ GROUP BY Z.DELV_ADDR_SQ
|
|
|
+ ORDER BY Z.DELV_ADDR_SQ
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 결제정보 -->
|
|
|
+ <select id="getOrderPaymentBasicInfoList" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getOrderPaymentBasicInfoList */
|
|
|
+ SELECT P.ESCROW_YN
|
|
|
+ , P.PG_GB
|
|
|
+ , P.PAY_MEANS
|
|
|
+ , FN_GET_CODE_NM('G014', P.PAY_MEANS) AS PAY_MEANS_NM
|
|
|
+ , P.VA_BANK
|
|
|
+ , CASE WHEN P.PAY_MEANS = 'G014_20' || P.PAY_MEANS = 'G014_10'
|
|
|
+ THEN FN_GET_CODE_NM('G940', P.VA_BANK)
|
|
|
+ ELSE P.CARD_NM
|
|
|
+ END CARD_NM
|
|
|
+ , P.PG_TRADE_NO
|
|
|
+ , DATE_FORMAT(P.PAY_DT, '%Y%m%d%H%i%S') AS PAY_DT
|
|
|
+ , P.PAY_STAT
|
|
|
+ , FN_GET_CODE_NM('G016', P.PAY_STAT) AS PAY_STAT_NM
|
|
|
+ , P.PAY_AMT
|
|
|
+ , P.PG_CPN_AMT
|
|
|
+ , P.NPAY_PNT_AMT
|
|
|
+ , DATE_FORMAT(P.VA_DEADLINE, '%Y%m%d%H%i%S') AS VA_DEADLINE
|
|
|
+ , CARD_MIPS
|
|
|
+ , CARD_TYPE
|
|
|
+ , CASH_AUTH_NO
|
|
|
+ , CASH_TRADE_NO
|
|
|
+ FROM TB_PAYMENT P
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND P.ORD_NO = #{ordNo}
|
|
|
+ AND P.PAY_STAT IN ('G016_30', 'G016_00')
|
|
|
+ AND NOT EXISTS (SELECT 1
|
|
|
+ FROM TB_ORDER_CHANGE_DETAIL OCD
|
|
|
+ WHERE P.ORD_CHG_SQ = OCD.ORD_CHG_SQ
|
|
|
+ AND OCD.CHG_STAT = 'G685_49')
|
|
|
+ ORDER BY P.REG_DT DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 배송비정보 -->
|
|
|
+ <select id="getDeliveryFeeList" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getDeliveryFeeList */
|
|
|
+ SELECT Z.*
|
|
|
+ FROM (SELECT DF.DELV_FEE_GB
|
|
|
+ , FN_GET_CODE_NM('G018', DF.DELV_FEE_GB) AS DELV_FEE_GB_NM
|
|
|
+ , DF.DELV_FEE
|
|
|
+ , DF.DELV_USAC_YN
|
|
|
+ , DATE_FORMAT(DF.DELV_USAC_DT, '%Y%m%d%H%i%S') AS DELV_USAC_DT
|
|
|
+ , DF.SUPPLY_COMP_CD
|
|
|
+ , DF.DELV_FEE_SQ
|
|
|
+ , DF.DELV_CPN_SQ
|
|
|
+ , DF.DELV_CPN_DC_AMT
|
|
|
+ FROM TB_DELIVERY_FEE DF
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND DF.ORD_NO = #{ordNo}
|
|
|
+ AND NOT EXISTS (SELECT 1
|
|
|
+ FROM TB_ORDER_CHANGE_DETAIL OCD
|
|
|
+ WHERE DF.ORD_CHG_SQ = OCD.ORD_CHG_SQ
|
|
|
+ AND OCD.CHG_STAT = 'G685_49')
|
|
|
+ ) Z
|
|
|
+ GROUP BY Z.DELV_FEE_GB
|
|
|
+ , Z.DELV_FEE_GB_NM
|
|
|
+ , Z.DELV_FEE
|
|
|
+ , Z.DELV_USAC_YN
|
|
|
+ , Z.DELV_USAC_DT
|
|
|
+ , Z.SUPPLY_COMP_CD
|
|
|
+ , Z.DELV_FEE_SQ
|
|
|
+ , Z.DELV_CPN_SQ
|
|
|
+ , Z.DELV_CPN_DC_AMT
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 취소/반품/교환 요청정보 (변경상세단위) -->
|
|
|
+ <select id="getOrderChangeList" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getOrderChangeList */
|
|
|
+ SELECT OCD.ORD_CHG_SQ
|
|
|
+ , OC.CHG_GB
|
|
|
+ , FN_GET_CODE_NM('G680', OC.CHG_GB) AS CHG_GB_NM
|
|
|
+ , OD.GOODS_CD
|
|
|
+ , IFNULL((SELECT COLOR_KNM FROM TB_COLOR WHERE COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1,'') , G.MAIN_COLOR_CD ) AND USE_YN = 'Y'), ODI.OPT_CD1) AS COLOR_NM
|
|
|
+ , ODI.OPT_CD1
|
|
|
+ , ODI.OPT_CD2
|
|
|
+ , OCD.CHG_STAT
|
|
|
+ , FN_GET_CODE_NM('G685', OCD.CHG_STAT) AS CHG_STAT_NM
|
|
|
+ , OCD.CHG_QTY
|
|
|
+ , DATE_FORMAT(OCD.REG_DT, '%Y%m%d%H%i%S') AS REG_DT
|
|
|
+ , OC.CHG_REASON
|
|
|
+ , CASE WHEN OC.CHG_GB = 'G680_20'
|
|
|
+ THEN FN_GET_CODE_NM('G686', OC.CHG_REASON)
|
|
|
+ WHEN OC.CHG_GB = 'G680_30'
|
|
|
+ THEN FN_GET_CODE_NM('G688', OC.CHG_REASON)
|
|
|
+ WHEN OC.CHG_GB = 'G680_40'
|
|
|
+ THEN FN_GET_CODE_NM('G689', OC.CHG_REASON)
|
|
|
+ ELSE '결제전취소'
|
|
|
+ END CHG_REASON_NM
|
|
|
+ , OC.CHG_MEMO
|
|
|
+ , OC.CHGER_NM
|
|
|
+ , OC.CHGER_PHNNO
|
|
|
+ , OC.CHGER_ZIPCODE
|
|
|
+ , OC.CHGER_BASE_ADDR
|
|
|
+ , OC.CHGER_DTL_ADDR
|
|
|
+ , OC.WD_INVOICE_SEND_YN
|
|
|
+ , OC.WD_INVOICE_NO
|
|
|
+ , OC.WD_GB
|
|
|
+ FROM TB_ORDER_CHANGE_DETAIL OCD
|
|
|
+ INNER JOIN TB_ORDER_CHANGE OC
|
|
|
+ ON OC.ORD_CHG_SQ = OCD.ORD_CHG_SQ
|
|
|
+ INNER JOIN TB_ORDER_DETAIL OD
|
|
|
+ ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
|
|
|
+ INNER JOIN TB_GOODS G
|
|
|
+ ON G.GOODS_CD = OD.GOODS_CD
|
|
|
+ INNER JOIN (
|
|
|
+ SELECT X.ORD_DTL_ITEM_SQ
|
|
|
+ , X.ORD_DTL_NO
|
|
|
+ , X.ITEM_CD
|
|
|
+ , X.OPT_CD
|
|
|
+ , X.OPT_CD1
|
|
|
+ , X.OPT_CD2
|
|
|
+ FROM TB_ORDER_DETAIL_ITEM X
|
|
|
+ WHERE X.ORD_NO = #{ordNo}
|
|
|
+ LIMIT 1
|
|
|
+ ) ODI
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND OD.ORD_NO = #{ordNo}
|
|
|
+ <if test='ordChgSq != null and ordChgSq != ""'>
|
|
|
+ AND OCD.ORD_CHG_SQ = #{ordChgSq}
|
|
|
+ </if>
|
|
|
+ AND OCD.DEL_YN = 'N'
|
|
|
+ ORDER BY OC.ORD_CHG_SQ, OCD.ORD_DTL_NO
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 환불정보 -->
|
|
|
+ <select id="getOrderRefundInfo" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getOrderRefundInfo */
|
|
|
+ SELECT P.PAY_MEANS
|
|
|
+ , FN_GET_CODE_NM('G014', P.PAY_MEANS) AS PAY_MEANS_NM
|
|
|
+ , P.CARD_NM
|
|
|
+ , R.RA_BANK
|
|
|
+ , CASE WHEN PAY_MEANS = 'G014_20' || PAY_MEANS = 'G014_10'
|
|
|
+ THEN FN_GET_CODE_NM('G940', R.RA_BANK)
|
|
|
+ ELSE P.CARD_NM
|
|
|
+ END CARD_NM
|
|
|
+ , R.RA_NO
|
|
|
+ , R.RA_NM
|
|
|
+ , R.REFUND_AMT
|
|
|
+ , DATE_FORMAT(P.UPD_DT, '%Y%m%d%H%i%S') AS UPD_DT
|
|
|
+ , (SELECT USER_NM
|
|
|
+ FROM TB_USER X
|
|
|
+ WHERE X.USER_NO = P.UPD_NO
|
|
|
+ ) AS UPD_NM
|
|
|
+ FROM TB_REFUND R
|
|
|
+ INNER JOIN TB_PAYMENT P
|
|
|
+ ON R.ORD_CHG_SQ = P.ORD_CHG_SQ
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND R.ORD_NO = #{ordNo}
|
|
|
+ ORDER BY R.REG_DT DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 상담내역 -->
|
|
|
+ <select id="getOrderCounselInfo" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getOrderCounselInfo */
|
|
|
+ SELECT CS.COUNSEL_CLSF
|
|
|
+ , FN_GET_CODE_NM('G059', CS.COUNSEL_CLSF) AS COUNSEL_CLSF_NM
|
|
|
+ , CS.REL_GOODS_CD
|
|
|
+ , CS.QUEST_TITLE
|
|
|
+ , DATE_FORMAT(CS.QUEST_DT, '%Y%m%d%H%i%S') AS QUEST_DT
|
|
|
+ , DATE_FORMAT(CS.ANS_DT, '%Y%m%d%H%i%S') AS ANS_DT
|
|
|
+ , CS.ANS_NO
|
|
|
+ , (SELECT USER_NM
|
|
|
+ FROM TB_USER X
|
|
|
+ WHERE X.USER_NO = CS.ANS_NO) AS ANS_NM
|
|
|
+ , CS.DEL_YN
|
|
|
+ FROM TB_COUNSEL CS
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND CS.REL_ORD_NO = #{ordNo}
|
|
|
+ ORDER BY CS.REG_DT DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 관리자메모 -->
|
|
|
+ <select id="getOrderMemoList" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getOrderMemoList */
|
|
|
+ SELECT ORD_MEMO_SQ
|
|
|
+ , OM.ORD_NO
|
|
|
+ , OM.MEMO
|
|
|
+ , OM.REG_NO
|
|
|
+ , OM.REG_DT
|
|
|
+ , OM.UPD_NO
|
|
|
+ , OM.UPD_DT
|
|
|
+ , (SELECT USER_NM
|
|
|
+ FROM TB_USER X
|
|
|
+ WHERE X.USER_NO = OM.REG_NO) AS REG_NM
|
|
|
+ FROM TB_ORDER_MEMO OM
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND OM.ORD_NO = #{ordNo}
|
|
|
+ AND OM.DEL_YN = #{delYn}
|
|
|
+ ORDER BY OM.REG_DT DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <!-- 주문/배송 > 입점업체 주문상세정보 변경 (입점) -->
|
|
|
+ <update id="updateOrderDetailStat" parameterType="Order">
|
|
|
+ /* TscOrder.updateOrderDetailStat */
|
|
|
+ UPDATE TB_ORDER_DETAIL
|
|
|
+ SET ORD_DTL_STAT = 'G013_30'
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE ORD_DTL_NO = #{ordDtlNo}
|
|
|
+ AND ORD_DTL_STAT in ('G013_20')
|
|
|
+ AND SUPPLY_COMP_CD = #{supplyCompCd}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 주문/배송 > 주문상세이력 생성-->
|
|
|
+ <insert id="createOrderDetailHst" parameterType="Order">
|
|
|
+ /* Order.createOrderDetailHst */
|
|
|
+ INSERT INTO TB_ORDER_DETAIL_HST (
|
|
|
+ ORD_DTL_NO
|
|
|
+ , ORD_NO
|
|
|
+ , ORD_EXCH_GB
|
|
|
+ , ORD_DTL_STAT
|
|
|
+ , ORG_ORD_DTL_NO
|
|
|
+ , SUPPLY_COMP_CD
|
|
|
+ , GOODS_CD
|
|
|
+ , DEAL_GOODS_CD
|
|
|
+ , FORMAL_GB
|
|
|
+ , GOODS_TYPE
|
|
|
+ , LIST_PRICE
|
|
|
+ , CURR_PRICE
|
|
|
+ , DC_RATE
|
|
|
+ , OPT_ADD_PRICE
|
|
|
+ , ORD_QTY
|
|
|
+ , ORD_AMT
|
|
|
+ , CNCL_RTN_QTY
|
|
|
+ , CNCL_RTN_AMT
|
|
|
+ , CPN1_CPN_SQ
|
|
|
+ , CPN1_DC_AMT
|
|
|
+ , TMTB1_SQ
|
|
|
+ , TMTB1_DC_AMT
|
|
|
+ , TMTB2_SQ
|
|
|
+ , TMTB2_DC_AMT
|
|
|
+ , GOODS_CPN_SQ
|
|
|
+ , GOODS_CPN_DC_AMT
|
|
|
+ , CART_CPN_SQ
|
|
|
+ , CART_CPN_DC_AMT
|
|
|
+ , BURDEN_RATE
|
|
|
+ , PNT_DC_AMT
|
|
|
+ , PRE_PNT_DC_AMT
|
|
|
+ , SAVE_PNT_AMT
|
|
|
+ , REAL_ORD_AMT
|
|
|
+ , GFCD_USE_AMT
|
|
|
+ , VENDOR_ID
|
|
|
+ , EXTMALL_ID
|
|
|
+ , AGENT_ORDER_ID
|
|
|
+ , EXTMALL_ORDER_ID
|
|
|
+ , CHANGEABLE_YN
|
|
|
+ , CHANGE_FEE_FREE_YN
|
|
|
+ , RETURNABLE_YN
|
|
|
+ , RETURN_FEE_FREE_YN
|
|
|
+ , SOLDOUT_YN
|
|
|
+ , SOLDOUT_MEMO
|
|
|
+ , SOLDOUT_REG_NO
|
|
|
+ , SOLDOUT_REG_DT
|
|
|
+ , DELV_ADDR_SQ
|
|
|
+ , DELV_FEE_CD
|
|
|
+ , SHOT_DELV_YN
|
|
|
+ , GIFT_PACK_YN
|
|
|
+ , GIFT_ADDR_INP_YN
|
|
|
+ , MAKE_GOODS_YN
|
|
|
+ , ENTRY_NO
|
|
|
+ , DELV_LOC_CD
|
|
|
+ , DELV_ASSIGN_DT
|
|
|
+ , DELV_ASSIGN_STAT
|
|
|
+ , DSTRBT_NOTE
|
|
|
+ , DELV_STDT
|
|
|
+ , DELV_EDDT
|
|
|
+ , SHIP_COMP_CD
|
|
|
+ , INVOICE_NO
|
|
|
+ , INVOICE_SEND_YN
|
|
|
+ , SELL_STORE_CD
|
|
|
+ , SELL_FEE_RATE
|
|
|
+ , AF_LINK_CD
|
|
|
+ , ITHR_CD
|
|
|
+ , CONTENTS_LOC
|
|
|
+ , PLAN_DTL_SQ
|
|
|
+ , SOCIAL_SQ
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ )
|
|
|
+ SELECT ORD_DTL_NO
|
|
|
+ , ORD_NO
|
|
|
+ , ORD_EXCH_GB
|
|
|
+ , ORD_DTL_STAT
|
|
|
+ , ORG_ORD_DTL_NO
|
|
|
+ , SUPPLY_COMP_CD
|
|
|
+ , GOODS_CD
|
|
|
+ , DEAL_GOODS_CD
|
|
|
+ , FORMAL_GB
|
|
|
+ , GOODS_TYPE
|
|
|
+ , LIST_PRICE
|
|
|
+ , CURR_PRICE
|
|
|
+ , DC_RATE
|
|
|
+ , OPT_ADD_PRICE
|
|
|
+ , ORD_QTY
|
|
|
+ , ORD_AMT
|
|
|
+ , CNCL_RTN_QTY
|
|
|
+ , CNCL_RTN_AMT
|
|
|
+ , CPN1_CPN_SQ
|
|
|
+ , CPN1_DC_AMT
|
|
|
+ , TMTB1_SQ
|
|
|
+ , TMTB1_DC_AMT
|
|
|
+ , TMTB2_SQ
|
|
|
+ , TMTB2_DC_AMT
|
|
|
+ , GOODS_CPN_SQ
|
|
|
+ , GOODS_CPN_DC_AMT
|
|
|
+ , CART_CPN_SQ
|
|
|
+ , CART_CPN_DC_AMT
|
|
|
+ , BURDEN_RATE
|
|
|
+ , PNT_DC_AMT
|
|
|
+ , PRE_PNT_DC_AMT
|
|
|
+ , SAVE_PNT_AMT
|
|
|
+ , REAL_ORD_AMT
|
|
|
+ , GFCD_USE_AMT
|
|
|
+ , VENDOR_ID
|
|
|
+ , EXTMALL_ID
|
|
|
+ , AGENT_ORDER_ID
|
|
|
+ , EXTMALL_ORDER_ID
|
|
|
+ , CHANGEABLE_YN
|
|
|
+ , CHANGE_FEE_FREE_YN
|
|
|
+ , RETURNABLE_YN
|
|
|
+ , RETURN_FEE_FREE_YN
|
|
|
+ , SOLDOUT_YN
|
|
|
+ , SOLDOUT_MEMO
|
|
|
+ , SOLDOUT_REG_NO
|
|
|
+ , SOLDOUT_REG_DT
|
|
|
+ , DELV_ADDR_SQ
|
|
|
+ , DELV_FEE_CD
|
|
|
+ , SHOT_DELV_YN
|
|
|
+ , GIFT_PACK_YN
|
|
|
+ , GIFT_ADDR_INP_YN
|
|
|
+ , MAKE_GOODS_YN
|
|
|
+ , ENTRY_NO
|
|
|
+ , DELV_LOC_CD
|
|
|
+ , DELV_ASSIGN_DT
|
|
|
+ , DELV_ASSIGN_STAT
|
|
|
+ , DSTRBT_NOTE
|
|
|
+ , DELV_STDT
|
|
|
+ , DELV_EDDT
|
|
|
+ , SHIP_COMP_CD
|
|
|
+ , INVOICE_NO
|
|
|
+ , INVOICE_SEND_YN
|
|
|
+ , SELL_STORE_CD
|
|
|
+ , SELL_FEE_RATE
|
|
|
+ , AF_LINK_CD
|
|
|
+ , ITHR_CD
|
|
|
+ , CONTENTS_LOC
|
|
|
+ , PLAN_DTL_SQ
|
|
|
+ , SOCIAL_SQ
|
|
|
+ , #{regNo}
|
|
|
+ , NOW()
|
|
|
+ , #{regNo}
|
|
|
+ , NOW()
|
|
|
+ FROM TB_ORDER_DETAIL
|
|
|
+ WHERE ORD_DTL_NO = #{ordDtlNo}
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 주문메오 > 주문메모정보조회 -->
|
|
|
+ <select id="getOrderMemoInfo" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getOrderMemoInfo */
|
|
|
+ SELECT ORD_MEMO_SQ
|
|
|
+ , OM.ORD_NO
|
|
|
+ , OM.MEMO
|
|
|
+ , OM.REG_NO
|
|
|
+ , OM.REG_DT
|
|
|
+ , OM.UPD_NO
|
|
|
+ , OM.UPD_DT
|
|
|
+ , (SELECT USER_NM
|
|
|
+ FROM TB_USER X
|
|
|
+ WHERE X.USER_NO = OM.UPD_NO) AS USER_NM
|
|
|
+ FROM TB_ORDER_MEMO OM
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND OM.ORD_NO = #{ordNo}
|
|
|
+ AND OM.DEL_YN = 'N'
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 주문요청 관리자 메모 > 메모등록 -->
|
|
|
+ <insert id="createOrderMemo" parameterType="Order">
|
|
|
+ /* order.createOrderMemo */
|
|
|
+ INSERT INTO TB_ORDER_MEMO (
|
|
|
+ ORD_NO
|
|
|
+ ,MEMO
|
|
|
+ ,ORG_FILE_NM
|
|
|
+ ,SYS_FILE_NM
|
|
|
+ ,DEL_YN
|
|
|
+ ,REG_NO
|
|
|
+ ,REG_DT
|
|
|
+ ,UPD_NO
|
|
|
+ ,UPD_DT
|
|
|
+ ) VALUES (
|
|
|
+ #{ordNo}
|
|
|
+ ,#{memo}
|
|
|
+ ,#{orgFileNm}
|
|
|
+ ,#{sysFileNm}
|
|
|
+ ,'N'
|
|
|
+ ,#{regNo}
|
|
|
+ ,CURRENT_TIMESTAMP()
|
|
|
+ ,#{updNo}
|
|
|
+ ,CURRENT_TIMESTAMP()
|
|
|
+ )
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 주문요청 관리자 메모 > 메모수정 -->
|
|
|
+ <update id="updateOrderMemo" parameterType="Order">
|
|
|
+ /* order.updateOrderMemo */
|
|
|
+ UPDATE TB_ORDER_MEMO
|
|
|
+ SET MEMO = #{memo}
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
+ , UPD_DT = CURRENT_TIMESTAMP()
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
+ AND ORD_MEMO_SQ = #{seq}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 주문요청 관리자 메모 > 메모수정 -->
|
|
|
+ <update id="deleteOrderMemo" parameterType="Order">
|
|
|
+ /* order.deleteOrderMemo */
|
|
|
+ UPDATE TB_ORDER_MEMO
|
|
|
+ SET DEL_YN = 'Y'
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
+ , UPD_DT = CURRENT_TIMESTAMP()
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
+ AND ORD_MEMO_SQ = #{seq}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 주문상품 상세 변경 이력 -->
|
|
|
+ <select id="getOrderDetailHistoryList" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getOrderDetailHistoryList */
|
|
|
+ SELECT DATE_FORMAT(ODH.UPD_DT, '%Y%m%d%H%i%S') AS UPD_DT
|
|
|
+ , (SELECT Z.USER_ID
|
|
|
+ FROM TB_USER Z
|
|
|
+ WHERE Z.USER_NO = ODH.UPD_NO) AS UPD_ID
|
|
|
+ , FN_GET_CODE_NM('G013', ODH.ORD_DTL_STAT) AS ORD_DTL_STAT_NM
|
|
|
+ , ODH.ORD_QTY
|
|
|
+ , ODH.CNCL_RTN_QTY
|
|
|
+ , ODH.DELV_LOC_CD
|
|
|
+ , ODH.INVOICE_NO
|
|
|
+ , ODH.SHIP_COMP_CD
|
|
|
+ , (SELECT SHIP_COMP_NM
|
|
|
+ FROM TB_SHIP_COMPANY Z
|
|
|
+ WHERE Z.SHIP_COMP_CD = ODH.SHIP_COMP_CD) AS SHIP_COMP_NM
|
|
|
+ FROM TB_ORDER_DETAIL_HST ODH
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND ODH.ORD_DTL_NO = #{ordDtlNo}
|
|
|
+ ORDER BY ODH.REG_DT DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 쿠폰사용내역 팝업 화면 -->
|
|
|
+ <select id="getOrderDiscountCouponList" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getOrderDiscountCouponList */
|
|
|
+ WITH COUPON_DATA AS (
|
|
|
+ SELECT OD.ORD_NO
|
|
|
+ , OD.ORD_DTL_NO
|
|
|
+ , OD.GOODS_CD
|
|
|
+ , OD.ORD_AMT
|
|
|
+ , OD.SUPPLY_COMP_CD
|
|
|
+ , OD.DELV_FEE_CD
|
|
|
+ , DF.DELV_FEE
|
|
|
+ , OD.GOODS_CPN_SQ
|
|
|
+ , OD.GOODS_CPN_DC_AMT
|
|
|
+ , OD.CART_CPN_SQ
|
|
|
+ , OD.CART_CPN_DC_AMT
|
|
|
+ , DF.DELV_CPN_SQ
|
|
|
+ , DF.DELV_CPN_DC_AMT
|
|
|
+ FROM TB_ORDER_DETAIL OD
|
|
|
+ INNER JOIN TB_DELIVERY_FEE DF
|
|
|
+ ON OD.SUPPLY_COMP_CD = DF.SUPPLY_COMP_CD
|
|
|
+ AND OD.DELV_FEE_CD = DF.DELV_FEE_CD
|
|
|
+ AND OD.ORD_NO = DF.ORD_NO
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND OD.ORD_NO = #{ordNo}
|
|
|
+ )
|
|
|
+ SELECT X.*
|
|
|
+ , CP.CPN_ID
|
|
|
+ , CP.CPN_NM
|
|
|
+ , CP.DC_WAY
|
|
|
+ , CP.DC_PVAL
|
|
|
+ , CP.DC_MVAL
|
|
|
+ , CP.DC_AVAL
|
|
|
+ FROM (
|
|
|
+ SELECT Z.*
|
|
|
+ FROM (
|
|
|
+ SELECT 1 AS DISP_ORD
|
|
|
+ , CD.GOODS_CPN_SQ AS CPN_SQ
|
|
|
+ , CD.GOODS_CPN_DC_AMT AS CPN_DC_AMT
|
|
|
+ , '상품쿠폰' AS CPN_TYPE
|
|
|
+ , CD.GOODS_CD AS TARGET_CD1
|
|
|
+ , CD.ORD_DTL_NO AS TARGET_CD2
|
|
|
+ , CD.ORD_NO
|
|
|
+ , CD.ORD_AMT
|
|
|
+ FROM COUPON_DATA CD
|
|
|
+ UNION ALL
|
|
|
+ SELECT 2 AS DISP_ORD
|
|
|
+ , CD.CART_CPN_SQ AS CPN_SQ
|
|
|
+ , CD.CART_CPN_DC_AMT AS CPN_DC_AMT
|
|
|
+ , '장바구니쿠폰' AS CPN_TYPE
|
|
|
+ , CD.GOODS_CD AS TARGET_CD1
|
|
|
+ , CD.ORD_DTL_NO AS TARGET_CD2
|
|
|
+ , CD.ORD_NO
|
|
|
+ , CD.ORD_AMT
|
|
|
+ FROM COUPON_DATA CD
|
|
|
+ UNION ALL
|
|
|
+ SELECT 3 AS DISP_ORD
|
|
|
+ , CD.DELV_CPN_SQ AS CPN_SQ
|
|
|
+ , CD.DELV_CPN_DC_AMT AS CPN_DC_AMT
|
|
|
+ , '배송비쿠폰' AS CPN_TYPE
|
|
|
+ , CD.SUPPLY_COMP_CD AS TARGET_CD1
|
|
|
+ , CD.DELV_FEE_CD AS TARGET_CD2
|
|
|
+ , CD.ORD_NO
|
|
|
+ , CD.DELV_FEE AS ORD_AMT
|
|
|
+ FROM COUPON_DATA CD
|
|
|
+ GROUP BY CD.DELV_CPN_SQ
|
|
|
+ , CD.DELV_CPN_DC_AMT
|
|
|
+ , CD.SUPPLY_COMP_CD
|
|
|
+ , CD.DELV_FEE_CD
|
|
|
+ , CD.ORD_NO
|
|
|
+ , CD.DELV_FEE
|
|
|
+ ) Z
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND Z.CPN_SQ IS NOT NULL
|
|
|
+ ) X
|
|
|
+ INNER JOIN TB_CUST_COUPON CC
|
|
|
+ ON X.CPN_SQ = CC.CUST_CPN_SQ
|
|
|
+ LEFT OUTER JOIN TB_COUPON CP
|
|
|
+ ON CC.CPN_ID = CP.CPN_ID
|
|
|
+ ORDER BY DISP_ORD
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 포인트사용내역 -->
|
|
|
+ <select id="getOrderDiscountPointList" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getOrderDiscountPointList */
|
|
|
+ SELECT OD.ORD_NO
|
|
|
+ , OD.ORD_DTL_NO
|
|
|
+ , OD.GOODS_CD
|
|
|
+ , G.PNT_PRATE
|
|
|
+ , G.PNT_MRATE
|
|
|
+ , OD.CURR_PRICE
|
|
|
+ , OD.REAL_ORD_AMT
|
|
|
+ , CPH.PNT_AMT
|
|
|
+ , CPH.OCCUR_GB
|
|
|
+ , CPH.OCCUR_DTL_DESC
|
|
|
+ , DATE_FORMAT(CPH.REG_DT, '%Y%m%d%H%i%S') AS REG_DT
|
|
|
+ FROM TB_ORDER_DETAIL OD
|
|
|
+ INNER JOIN TB_CUST_POINT_HST CPH
|
|
|
+ ON OD.ORD_DTL_NO = CPH.ORD_DTL_NO
|
|
|
+ AND OD.ORD_NO = CPH.ORD_NO
|
|
|
+ INNER JOIN TB_GOODS G
|
|
|
+ ON OD.GOODS_CD = G.GOODS_CD
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND OD.ORD_NO = #{ordNo}
|
|
|
+ ORDER BY CPH.REG_DT DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 상품권사용내역 -->
|
|
|
+ <select id="getOrderGiftcardHstList" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getOrderGiftcardHstList */
|
|
|
+ SELECT CG.CUST_GFCD_SQ
|
|
|
+ , CG.CHG_GFCD_AMT
|
|
|
+ , CG.GFCD_NM
|
|
|
+ , CG.GFCD_NO
|
|
|
+ , CG.CHG_GFCD_AMT
|
|
|
+ , CG.US_GFCD_AMT
|
|
|
+ , CG.RM_GFCD_AMT
|
|
|
+ , OD.ORD_NO
|
|
|
+ , OD.ORD_DTL_NO
|
|
|
+ , OD.GOODS_CD
|
|
|
+ , CGH.GFCD_AMT
|
|
|
+ , CGH.OCCUR_GB
|
|
|
+ , CGH.OCCUR_DTL_DESC
|
|
|
+ , DATE_FORMAT(CGH.REG_DT, '%Y%m%d%H%i%S') AS REG_DT
|
|
|
+ , CG.CUST_GFCD_SQ
|
|
|
+ FROM TB_ORDER_DETAIL OD
|
|
|
+ INNER JOIN TB_CUST_GIFTCARD_HST CGH
|
|
|
+ ON OD.ORD_DTL_NO = CGH.ORD_DTL_NO
|
|
|
+ AND OD.ORD_NO = CGH.ORD_NO
|
|
|
+ INNER JOIN TB_CUST_GIFTCARD CG
|
|
|
+ ON CGH.CUST_GFCD_SQ = CG.CUST_GFCD_SQ
|
|
|
+ INNER JOIN TB_GOODS G
|
|
|
+ ON OD.GOODS_CD = G.GOODS_CD
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND OD.ORD_NO = #{ordNo}
|
|
|
+ ORDER BY CUST_GFCD_SQ, OD.ORD_NO, OD.ORD_DTL_NO
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 다다익선적용내역 -->
|
|
|
+ <select id="getOrderTmtbHstList" parameterType="Order" resultType="Order">
|
|
|
+ /* order.getOrderTmtbHstList */
|
|
|
+ WITH TMTB_DATA AS (
|
|
|
+ SELECT TM1.TMTB_SQ AS TMTB1_SQ
|
|
|
+ , TM1.TMTB_NM AS TMTB1_NM
|
|
|
+ , OD.TMTB1_DC_AMT
|
|
|
+ , OD.ORD_NO
|
|
|
+ , OD.ORD_DTL_NO
|
|
|
+ , OD.REG_NO
|
|
|
+ , OD.REG_DT
|
|
|
+ , OD.GOODS_CD
|
|
|
+ , TM2.TMTB_SQ AS TMTB2_SQ
|
|
|
+ , TM2.TMTB_NM AS TMTB2_NM
|
|
|
+ , OD.TMTB2_DC_AMT
|
|
|
+ FROM TB_ORDER_DETAIL OD
|
|
|
+ INNER JOIN TB_TMTB TM1
|
|
|
+ ON OD.TMTB1_SQ = TM1.TMTB_SQ
|
|
|
+ INNER JOIN TB_TMTB TM2
|
|
|
+ ON OD.TMTB2_SQ = TM2.TMTB_SQ
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND OD.ORD_NO = #{ordNo}
|
|
|
+ )
|
|
|
+ SELECT Z.*
|
|
|
+ FROM (
|
|
|
+ SELECT 1 AS DISP_ORD
|
|
|
+ , TD.TMTB1_SQ AS TMTB_SQ
|
|
|
+ , TD.TMTB1_NM AS TMTB_NM
|
|
|
+ , TD.TMTB1_DC_AMT AS TMTB_DC_AMT
|
|
|
+ , TD.ORD_NO
|
|
|
+ , TD.ORD_DTL_NO
|
|
|
+ , TD.GOODS_CD
|
|
|
+ , TD.REG_NO
|
|
|
+ , DATE_FORMAT(TD.REG_DT, '%Y%m%d%H%i%S') AS REG_DT
|
|
|
+ FROM TMTB_DATA TD
|
|
|
+ UNION ALL
|
|
|
+ SELECT 2 AS DISP_ORD
|
|
|
+ , TD.TMTB2_SQ AS TMTB_SQ
|
|
|
+ , TD.TMTB2_NM AS TMTB_NM
|
|
|
+ , TD.TMTB2_DC_AMT AS TMTB_DC_AMT
|
|
|
+ , TD.ORD_NO
|
|
|
+ , TD.ORD_DTL_NO
|
|
|
+ , TD.GOODS_CD
|
|
|
+ , TD.REG_NO
|
|
|
+ , DATE_FORMAT(TD.REG_DT, '%Y%m%d%H%i%S') AS REG_DT
|
|
|
+ FROM TMTB_DATA TD
|
|
|
+ ) Z
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND Z.TMTB_SQ IS NOT NULL
|
|
|
+ ORDER BY Z.DISP_ORD
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 주문상세상태변경 -->
|
|
|
+ <update id="changedOrdDtlStat" parameterType="Order">
|
|
|
+ /* order.changedOrdDtlStat */
|
|
|
+ UPDATE TB_ORDER_DETAIL
|
|
|
+ SET ORD_DTL_STAT = #{ordDtlStat}
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
+ AND ORD_DTL_NO = #{ordDtlNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 주문상세 > 주문상세상태변경 -->
|
|
|
+ <update id="changedOrdDtlStat2" parameterType="Order">
|
|
|
+ /* order.changedOrdDtlStat */
|
|
|
+ UPDATE TB_ORDER_DETAIL_ITEM
|
|
|
+ SET ORD_DTL_STAT = #{ordDtlStat}
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
+ AND ORD_DTL_NO = #{ordDtlNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- TB_PAYMENT -->
|
|
|
+ <update id="changedPayStat" parameterType="Order">
|
|
|
+ /* order.changedPayStat */
|
|
|
+ UPDATE TB_PAYMENT
|
|
|
+ SET PAY_STAT = 'G016_30'
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
+ AND PAY_GB = 'O'
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 배송 > 배송지 정보 수정 -->
|
|
|
+ <update id="updateOrderAddr" parameterType="Order">
|
|
|
+ /* order.updateOrderAddr : 주문 변경 업데이트(주문자 주소) */
|
|
|
+ UPDATE TB_DELIVERY_ADDR
|
|
|
+ SET RECIP_NM = #{recipNm}
|
|
|
+ , RECIP_PHNNO = #{recipPhnno}
|
|
|
+ , RECIP_TELNO = #{recipTelno}
|
|
|
+ , RECIP_ZIPCODE = #{recipZipcode}
|
|
|
+ , RECIP_BASE_ADDR = #{recipBaseAddr}
|
|
|
+ , RECIP_DTL_ADDR = #{recipDtlAddr}
|
|
|
+ , DELV_MEMO = #{delvMemo}
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE DELV_ADDR_SQ = #{delvAddrSq}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 반품/교환 > 회수지 정보 수정 -->
|
|
|
+ <update id="updateOrderChange" parameterType="Order">
|
|
|
+ /* order.updateOrderChange : 반품/교환 > 회수지 정보 수정 */
|
|
|
+ UPDATE TB_ORDER_CHANGE
|
|
|
+ SET CHGER_ZIPCODE = #{chgerZipcode}
|
|
|
+ , CHGER_BASE_ADDR = #{chgerBaseAddr}
|
|
|
+ , CHGER_DTL_ADDR = #{chgerDtlAddr}
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE ORD_CHG_SQ = #{ordChgSq}
|
|
|
+ </update>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ <!-- 장바구니 상품 목록 조회 (업체별 배송단위) -->
|
|
|
+ <select id="getCartGoodsList" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getCartGoodsList */
|
|
|
+ SELECT Z.CART_SQ
|
|
|
+ , Z.BRAND_ENM
|
|
|
+ , Z.BRAND_KNM
|
|
|
+ , Z.GOODS_NM
|
|
|
+ , Z.GOODS_CD
|
|
|
+ , GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.CART_DTL_SQ SEPARATOR '!@!') AS ITEM_NM
|
|
|
+ , GROUP_CONCAT(Z.ITEM_CD ORDER BY Z.CART_DTL_SQ) AS ITEM_CD
|
|
|
+ , GROUP_CONCAT(Z.OPT_CD ORDER BY Z.CART_DTL_SQ) AS OPT_CD
|
|
|
+ , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.CART_DTL_SQ) AS OPT_CD1
|
|
|
+ , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.CART_DTL_SQ) AS OPT_CD2
|
|
|
+ , GROUP_CONCAT(Z.ITEM_QTY ORDER BY Z.CART_DTL_SQ) AS ITEM_QTYR
|
|
|
+ , GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.CART_DTL_SQ) AS COLOR_NM
|
|
|
+ , Z.GOODS_QTY
|
|
|
+ , Z.GOODS_TYPE
|
|
|
+ , Z.LIST_PRICE
|
|
|
+ , Z.GOODS_GB
|
|
|
+ , Z.GOODS_STAT
|
|
|
+ , Z.PRE_PPNT_USABLE_YN
|
|
|
+ , Z.PRE_MPNT_USABLE_YN
|
|
|
+ , Z.MAX_ORD_QTY
|
|
|
+ , Z.DAY_MAX_ORD_QTY
|
|
|
+ , Z.GIFT_PACK_YN
|
|
|
+ , Z.NEW_CUST_ORD_YN
|
|
|
+ , Z.SUPPLY_COMP_CD
|
|
|
+ , Z.DELV_FEE_CD
|
|
|
+ , Z.RES_DELV_FEE_CD
|
|
|
+ , Z.DELV_RES_DT
|
|
|
+ , Z.MIN_ORD_AMT
|
|
|
+ , Z.DELV_FEE
|
|
|
+ , Z.CURR_PRICE
|
|
|
+ , Z.ORG_CURR_PRICE
|
|
|
+ , SUM(Z.OPT_ADD_PRICE) AS OPT_ADD_PRICE
|
|
|
+ , Z.CPN1_CPN_SQ
|
|
|
+ , Z.ORG_CURR_PRICE - Z.CURR_PRICE AS CPN1_DC_AMT
|
|
|
+ , Z.PNT_PRATE
|
|
|
+ , Z.PNT_MRATE
|
|
|
+ , Z.SYS_IMG_NM
|
|
|
+ , CASE WHEN #{frontGb} = 'P'
|
|
|
+ THEN (Z.CURR_PRICE * Z.GOODS_QTY) * (Z.PNT_PRATE/100)
|
|
|
+ ELSE (Z.CURR_PRICE * Z.GOODS_QTY) * (Z.PNT_MRATE/100)
|
|
|
+ END AS SAVE_PNT_AMT
|
|
|
+ , CASE WHEN #{frontGb} IN ('P') AND Z.PRE_PPNT_USABLE_YN IN ('Y') THEN (Z.CURR_PRICE * Z.GOODS_QTY) * (Z.PNT_PRATE/100)
|
|
|
+ WHEN #{frontGb} IN ('M', 'A') AND Z.PRE_MPNT_USABLE_YN IN ('Y') THEN (Z.CURR_PRICE * Z.GOODS_QTY) * (Z.PNT_MRATE/100)
|
|
|
+ END AS PRE_PNT_DC_AMT
|
|
|
+ , Z.SHOT_DELV_YN
|
|
|
+ , Z.FOREIGN_BUY_YN
|
|
|
+ , Z.ORDER_MADE_YN
|
|
|
+ FROM ( SELECT CA.CART_SQ
|
|
|
+ , CD.CART_DTL_SQ
|
|
|
+ , BR.BRAND_ENM
|
|
|
+ , BR.BRAND_KNM
|
|
|
+ , G.GOODS_NM
|
|
|
+ , CA.GOODS_CD
|
|
|
+ , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = CD.ITEM_CD) AS ITEM_NM
|
|
|
+ , IFNULL((SELECT COLOR_KNM FROM TB_COLOR C WHERE COLOR_CD = IFNULL(NULLIF(OP.OPT_CD1,'') , G.MAIN_COLOR_CD ) AND USE_YN = 'Y'), OP.OPT_CD1) AS COLOR_NM
|
|
|
+ , CD.ITEM_CD
|
|
|
+ , OP.OPT_CD
|
|
|
+ , OP.OPT_CD1
|
|
|
+ , OP.OPT_CD2
|
|
|
+ , CA.GOODS_QTY
|
|
|
+ , CD.ITEM_QTY
|
|
|
+ , G.GOODS_TYPE
|
|
|
+ , G.LIST_PRICE
|
|
|
+ , G.GOODS_GB
|
|
|
+ , G.GOODS_STAT
|
|
|
+ , G.PRE_PPNT_USABLE_YN
|
|
|
+ , G.PRE_MPNT_USABLE_YN
|
|
|
+ , G.MAX_ORD_QTY
|
|
|
+ , G.DAY_MAX_ORD_QTY
|
|
|
+ , G.GIFT_PACK_YN
|
|
|
+ , G.NEW_CUST_ORD_YN
|
|
|
+ , G.PNT_PRATE
|
|
|
+ , G.PNT_MRATE
|
|
|
+ , DFP.SUPPLY_COMP_CD
|
|
|
+ , CT.CUST_GRADE
|
|
|
+ , CASE WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
|
|
|
+ ELSE DFP.DELV_FEE_CD
|
|
|
+ END AS DELV_FEE_CD
|
|
|
+ , CASE WHEN GRS.DELV_RES_DT IS NOT NULL THEN 'RES'
|
|
|
+ WHEN GQDS.GOODS_CD IS NULL AND G.SELF_GOODS_YN = 'Y' THEN 'SHOT'
|
|
|
+ WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
|
|
|
+ ELSE DFP.DELV_FEE_CD
|
|
|
+ END AS RES_DELV_FEE_CD
|
|
|
+ , DATE_FORMAT(GRS.DELV_RES_DT, '%Y.%m.%d') AS DELV_RES_DT
|
|
|
+ , DFP.MIN_ORD_AMT
|
|
|
+ , DFP.DELV_FEE
|
|
|
+ , VS.CURR_STOCK_QTY
|
|
|
+ , FN_GET_APPLY_CPN1_PRICE(CA.GOODS_CD, #{frontGb}) AS CURR_PRICE
|
|
|
+ , G.CURR_PRICE AS ORG_CURR_PRICE
|
|
|
+ , FN_GET_APPLY_CPN1_ID(CA.GOODS_CD, #{frontGb}) AS CPN1_CPN_SQ
|
|
|
+ , IFNULL(OP.ADD_PRICE, 0) AS OPT_ADD_PRICE
|
|
|
+ , CASE WHEN G.SELF_GOODS_YN = 'Y' AND G.GOODS_TYPE != 'G056_S' THEN CD.OPT_CD1
|
|
|
+ ELSE '00' END AS COLOR_CD
|
|
|
+ , CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = CD.OPT_CD1 AND DEFAULT_IMG_YN = 'Y')
|
|
|
+ ELSE (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = G.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y') END AS SYS_IMG_NM
|
|
|
+ , CASE WHEN GQDS.GOODS_CD IS NULL
|
|
|
+ THEN 'Y'
|
|
|
+ ELSE 'N'
|
|
|
+ END SHOT_DELV_YN
|
|
|
+ , G.FOREIGN_BUY_YN
|
|
|
+ , G.ORDER_MADE_YN
|
|
|
+ FROM TB_CART CA
|
|
|
+ INNER JOIN TB_CART_DETAIL CD
|
|
|
+ ON CA.CART_SQ = CD.CART_SQ
|
|
|
+ INNER JOIN TB_GOODS G
|
|
|
+ ON CA.GOODS_CD = G.GOODS_CD
|
|
|
+ INNER JOIN TB_DELV_FEE_POLICY DFP
|
|
|
+ ON G.DELV_FEE_CD = DFP.DELV_FEE_CD
|
|
|
+ INNER JOIN TB_BRAND BR
|
|
|
+ ON G.BRAND_CD = BR.BRAND_CD
|
|
|
+ LEFT JOIN TB_OPTION OP
|
|
|
+ ON CD.ITEM_CD = OP.GOODS_CD
|
|
|
+ AND CD.OPT_CD1 = OP.OPT_CD1
|
|
|
+ AND CD.OPT_CD2 = OP.OPT_CD2
|
|
|
+ LEFT OUTER JOIN VW_STOCK VS
|
|
|
+ ON CD.ITEM_CD = VS.GOODS_CD
|
|
|
+ AND CD.OPT_CD = VS.OPT_CD
|
|
|
+ LEFT OUTER JOIN TB_GOODS_RES_SELL GRS
|
|
|
+ ON CA.GOODS_CD = GRS.GOODS_CD
|
|
|
+ AND GRS.USE_YN = 'Y'
|
|
|
+ AND GRS.DELV_RES_DT > NOW()
|
|
|
+ LEFT OUTER JOIN TB_CUSTOMER CT
|
|
|
+ ON CA.CUST_NO = CT.CUST_NO
|
|
|
+ LEFT OUTER JOIN TB_GOODS_SHOT_DELV_SKIP GQDS
|
|
|
+ ON G.GOODS_CD = GQDS.GOODS_CD
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ <if test="custNo == 0">
|
|
|
+ AND CA.CUST_NO = 0
|
|
|
+ AND CA.JSESSION_ID = #{jsessionId}
|
|
|
+ </if>
|
|
|
+ <if test="custNo != 0">
|
|
|
+ AND CA.CUST_NO = #{custNo}
|
|
|
+ </if>
|
|
|
+ AND CA.CART_SQ IN
|
|
|
+ <foreach collection="cartSqArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ ) Z
|
|
|
+ GROUP BY Z.CART_SQ
|
|
|
+ , Z.BRAND_ENM
|
|
|
+ , Z.GOODS_NM
|
|
|
+ , Z.GOODS_CD
|
|
|
+ , Z.GOODS_QTY
|
|
|
+ , Z.GOODS_TYPE
|
|
|
+ , Z.LIST_PRICE
|
|
|
+ , Z.GOODS_GB
|
|
|
+ , Z.GOODS_STAT
|
|
|
+ , Z.PRE_PPNT_USABLE_YN
|
|
|
+ , Z.PRE_MPNT_USABLE_YN
|
|
|
+ , Z.MAX_ORD_QTY
|
|
|
+ , Z.DAY_MAX_ORD_QTY
|
|
|
+ , Z.GIFT_PACK_YN
|
|
|
+ , Z.NEW_CUST_ORD_YN
|
|
|
+ , Z.SUPPLY_COMP_CD
|
|
|
+ , Z.DELV_FEE_CD
|
|
|
+ , Z.RES_DELV_FEE_CD
|
|
|
+ , Z.DELV_RES_DT
|
|
|
+ , Z.MIN_ORD_AMT
|
|
|
+ , Z.DELV_FEE
|
|
|
+ , Z.CURR_PRICE
|
|
|
+ , Z.ORG_CURR_PRICE
|
|
|
+ , Z.CPN1_CPN_SQ
|
|
|
+ , Z.PNT_PRATE
|
|
|
+ , Z.PNT_MRATE
|
|
|
+ , Z.SYS_IMG_NM
|
|
|
+ , Z.SHOT_DELV_YN
|
|
|
+ , Z.FOREIGN_BUY_YN
|
|
|
+ , Z.ORDER_MADE_YN
|
|
|
+ ORDER BY Z.SUPPLY_COMP_CD
|
|
|
+ , Z.DELV_FEE_CD
|
|
|
+ , Z.GOODS_CD
|
|
|
+ , Z.CART_SQ
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 고객정보 조회 -->
|
|
|
+ <select id="getCustemerInfo" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getCustemerInfo */
|
|
|
+ SELECT CU.CUST_NM
|
|
|
+ , CU.EMAIL
|
|
|
+ , CU.CELL_PHNNO
|
|
|
+ , CU.CI
|
|
|
+ , CU.SEX_GB
|
|
|
+ , CU.BIRTH_YMD
|
|
|
+ FROM TB_CUSTOMER CU
|
|
|
+ WHERE 1=1
|
|
|
+ AND CU.CUST_NO = #{custNo}
|
|
|
+ LIMIT 1
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 배송지정보 조회 -->
|
|
|
+ <select id="getDeliveryAddrInfo" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getDeliveryAddrInfo */
|
|
|
+ SELECT CDA.CUST_DELV_ADDR_SQ
|
|
|
+ , CDA.DELV_ADDR_NM
|
|
|
+ , CDA.RECIP_NM
|
|
|
+ , CDA.RECIP_ZIPCODE
|
|
|
+ , CDA.RECIP_BASE_ADDR
|
|
|
+ , CDA.RECIP_DTL_ADDR
|
|
|
+ , CDA.RECIP_PHNNO
|
|
|
+ , CDA.DELV_MEMO
|
|
|
+ , CU.CUST_NM
|
|
|
+ , CU.CELL_PHNNO
|
|
|
+ , CDA.DEFAULT_YN
|
|
|
+ , CASE WHEN DDZ.ZIP_NO IS NULL
|
|
|
+ THEN 'N'
|
|
|
+ ELSE 'Y'
|
|
|
+ END SHOT_DELV_USE_YN
|
|
|
+ FROM TB_CUSTOMER CU
|
|
|
+ LEFT OUTER JOIN TB_CUST_DELIVERY_ADDR CDA
|
|
|
+ ON CDA.CUST_NO = CU.CUST_NO
|
|
|
+ AND CDA.DEL_YN = 'N'
|
|
|
+ LEFT OUTER JOIN TB_DAILY_DELIVERY_ZONE DDZ
|
|
|
+ ON DDZ.ZIP_NO = CDA.RECIP_ZIPCODE
|
|
|
+ AND DDZ.ISUSE = 'Y'
|
|
|
+ WHERE 1=1
|
|
|
+ AND CU.CUST_NO = #{custNo}
|
|
|
+ ORDER BY CDA.DEFAULT_YN DESC
|
|
|
+ , CDA.REG_DT DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 기본배송지정보 변경 -->
|
|
|
+ <update id="updateCustDeliveryAddrDefaultYn" parameterType="Order">
|
|
|
+ /* TscOrder.updateCustDeliveryAddrDefaultYn */
|
|
|
+ UPDATE TB_CUST_DELIVERY_ADDR
|
|
|
+ SET DEFAULT_YN = 'N'
|
|
|
+ , UPD_NO = #{custNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE CUST_NO = #{custNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 회원 배송지정보 수정 -->
|
|
|
+ <update id="updateCustDeliveryAddr" parameterType="Order">
|
|
|
+ /* TscOrder.updateCustDeliveryAddr */
|
|
|
+ UPDATE TB_CUST_DELIVERY_ADDR
|
|
|
+ SET DELV_ADDR_NM = #{recipNm}
|
|
|
+ , DEFAULT_YN = #{defaultYn}
|
|
|
+ , RECIP_NM = #{recipNm}
|
|
|
+ , RECIP_PHNNO = #{recipPhnno}
|
|
|
+ , RECIP_TELNO = #{recipTelno}
|
|
|
+ , RECIP_ZIPCODE = #{recipZipcode}
|
|
|
+ , RECIP_BASE_ADDR = #{recipBaseAddr}
|
|
|
+ , RECIP_DTL_ADDR = #{recipDtlAddr}
|
|
|
+ , DELV_MEMO = #{delvMemo}
|
|
|
+ , UPD_NO = #{custNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE CUST_DELV_ADDR_SQ = #{custDelvAddrSq}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 회원 배송지정보 등록 -->
|
|
|
+ <insert id="createCustDeliveryAddr" parameterType="Order" keyProperty="custDelvAddrSq">
|
|
|
+ /* TscOrder.createCustDeliveryAddr */
|
|
|
+ INSERT INTO TB_CUST_DELIVERY_ADDR (
|
|
|
+ CUST_NO
|
|
|
+ , DELV_ADDR_NM
|
|
|
+ , DEFAULT_YN
|
|
|
+ , RECIP_NM
|
|
|
+ , RECIP_PHNNO
|
|
|
+ , RECIP_TELNO
|
|
|
+ , RECIP_ZIPCODE
|
|
|
+ , RECIP_BASE_ADDR
|
|
|
+ , RECIP_DTL_ADDR
|
|
|
+ , DELV_MEMO
|
|
|
+ , DEL_YN
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ ) VALUES (
|
|
|
+ #{custNo}
|
|
|
+ , #{recipNm}
|
|
|
+ , #{defaultYn}
|
|
|
+ , #{recipNm}
|
|
|
+ , #{recipPhnno}
|
|
|
+ , #{recipTelno}
|
|
|
+ , #{recipZipcode}
|
|
|
+ , #{recipBaseAddr}
|
|
|
+ , #{recipDtlAddr}
|
|
|
+ , #{delvMemo}
|
|
|
+ , 'N'
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ )
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 포인트정보 조회 -->
|
|
|
+ <select id="getCustPointInfo" parameterType="Order" resultType="int">
|
|
|
+ /* TscOrder.getCustPointInfo */
|
|
|
+ SELECT IFNULL(SUM(CP.RM_PNT_AMT), 0) AS RM_PNT_AMT
|
|
|
+ FROM TB_CUST_POINT CP
|
|
|
+ WHERE 1=1
|
|
|
+ AND CP.CUST_NO = #{custNo}
|
|
|
+ AND CP.EXP_BE_DT <![CDATA[ > ]]> NOW()
|
|
|
+ AND CP.EXP_CMP_DT IS NULL
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 상품권정보 조회 -->
|
|
|
+ <select id="getGiftcardInfo" parameterType="Order" resultType="int">
|
|
|
+ /* TscOrder.getGiftcardInfo */
|
|
|
+ SELECT IFNULL(SUM(CG.RM_GFCD_AMT), 0) AS RM_GFCD_AMT
|
|
|
+ FROM TB_CUST_GIFTCARD CG
|
|
|
+ WHERE 1=1
|
|
|
+ AND CG.CUST_NO = #{custNo}
|
|
|
+ AND NOW() BETWEEN DATE_FORMAT(CG.USE_ST_DATE, '%Y%m%d') AND DATE_FORMAT(CG.USE_EXP_DATE, '%Y%m%d')
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 쿠폰정보 조회 -->
|
|
|
+ <select id="getCouponInfo" parameterType="Order" resultType="int">
|
|
|
+ /* order.getCouponInfo */
|
|
|
+ SELECT COUNT(CUST_CPN_SQ) AS CNT
|
|
|
+ FROM TB_CUST_COUPON
|
|
|
+ WHERE CUST_NO = #{custNo}
|
|
|
+ AND NOW() BETWEEN AVAIL_STDT AND AVAIL_EDDT
|
|
|
+ AND USED_DT IS NULL
|
|
|
+ <if test='expiredSoon == "Y"'>
|
|
|
+ AND TIMESTAMPDIFF(SECOND, CURRENT_DATE, AVAIL_EDDT) BETWEEN 0 AND 604800
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 총알배송 가능시간 조회 -->
|
|
|
+ <select id="getDailyDeliveryTimeInfo" resultType="int">
|
|
|
+ /* order.getDailyDeliveryTimeInfo */
|
|
|
+ SELECT CASE WHEN TIME_FORMAT(NOW(), '%H%i%S') > 100000
|
|
|
+ THEN 0
|
|
|
+ ELSE 1
|
|
|
+ END SHOT_DELV_ABLE_YN
|
|
|
+ FROM DUAL
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 총알배송 가능지역 조회 -->
|
|
|
+ <select id="getDailyDeliveryZoneInfo" parameterType="Order" resultType="int">
|
|
|
+ /* TscOrder.getDailyDeliveryZoneInfo */
|
|
|
+ SELECT COUNT(1)
|
|
|
+ FROM TB_DAILY_DELIVERY_ZONE DC
|
|
|
+ WHERE 1=1
|
|
|
+ AND ZIP_NO = #{recipZipcode}
|
|
|
+ AND ISUSE = 'Y'
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 상품쿠폰, 장바구니쿠폰 적용 상품 조회 -->
|
|
|
+ <select id="getGoodsCartCpnApplyGoodsList" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getGoodsCartCpnApplyGoodsList */
|
|
|
+ WITH GOODS_DATA AS (
|
|
|
+ SELECT CA.GOODS_CD
|
|
|
+ , G.SUPPLY_COMP_CD
|
|
|
+ , G.BRAND_CD
|
|
|
+ , CA.CART_SQ
|
|
|
+ , (FN_GET_APPLY_CPN1_PRICE(CA.GOODS_CD, #{frontGb}) + IFNULL(OP.ADD_PRICE, 0)) * CA.GOODS_QTY AS CURR_PRICE
|
|
|
+ FROM TB_CART CA
|
|
|
+ INNER JOIN TB_CART_DETAIL CD
|
|
|
+ ON CA.CART_SQ = CD.CART_SQ
|
|
|
+ INNER JOIN TB_GOODS G
|
|
|
+ ON CA.GOODS_CD = G.GOODS_CD
|
|
|
+ LEFT OUTER JOIN ( SELECT OP.ADD_PRICE
|
|
|
+ , C.CART_SQ
|
|
|
+ FROM TB_CART C
|
|
|
+ INNER JOIN TB_CART_DETAIL CD
|
|
|
+ ON C.CART_SQ = CD.CART_SQ
|
|
|
+ INNER JOIN TB_OPTION OP
|
|
|
+ ON C.GOODS_CD = OP.GOODS_CD
|
|
|
+ AND CD.OPT_CD = OP.OPT_CD
|
|
|
+ ) OP
|
|
|
+ ON CA.CART_SQ = OP.CART_SQ
|
|
|
+ WHERE 1=1
|
|
|
+ <if test="custNo == 0">
|
|
|
+ AND CA.CUST_NO = 0
|
|
|
+ AND CA.JSESSION_ID = #{jsessionId}
|
|
|
+ </if>
|
|
|
+ <if test="custNo != 0">
|
|
|
+ AND CA.CUST_NO = #{custNo}
|
|
|
+ </if>
|
|
|
+ AND CA.CART_SQ IN
|
|
|
+ <foreach collection="cartSqArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ )
|
|
|
+ SELECT X.*
|
|
|
+ FROM (
|
|
|
+ SELECT Z.GOODS_CD
|
|
|
+ , Z.CART_SQ
|
|
|
+ , Z.CURR_PRICE
|
|
|
+ , CP.CPN_ID
|
|
|
+ , CP.CPN_NM
|
|
|
+ , CP.CPN_TYPE
|
|
|
+ , CP.DC_WAY
|
|
|
+ , CASE WHEN #{frontGb} = 'P' THEN CP.DC_PVAL
|
|
|
+ WHEN #{frontGb} = 'M' THEN CP.DC_MVAL
|
|
|
+ ELSE CP.DC_AVAL END AS DC_VAL
|
|
|
+ , CP.MAX_DC_AMT
|
|
|
+ , CP.BUY_LIMIT_AMT
|
|
|
+ , CP.APPLY_SCOPE
|
|
|
+ , CCP.CUST_CPN_SQ
|
|
|
+ FROM TB_COUPON CP
|
|
|
+ INNER JOIN TB_COUPON_CUST_GRADE CGR
|
|
|
+ ON CP.CPN_ID = CGR.CPN_ID
|
|
|
+ INNER JOIN TB_CUST_COUPON CCP
|
|
|
+ ON CP.CPN_ID = CCP.CPN_ID
|
|
|
+ INNER JOIN TB_CUSTOMER CT
|
|
|
+ ON CCP.CUST_NO = CT.CUST_NO
|
|
|
+ AND CGR.USABLE_CUST_GRADE = CT.CUST_GRADE
|
|
|
+ INNER JOIN TB_COUPON_CUST_GBN CGB
|
|
|
+ ON CP.CPN_ID = CGB.CPN_ID
|
|
|
+ AND CGB.USABLE_CUST_GB = CT.CUST_GB
|
|
|
+ INNER JOIN (
|
|
|
+ SELECT X.*
|
|
|
+ FROM (
|
|
|
+ SELECT CR.CPN_ID
|
|
|
+ , GD.GOODS_CD
|
|
|
+ , GD.CART_SQ
|
|
|
+ , GD.CURR_PRICE
|
|
|
+ FROM TB_COUPON_REFVAL CR
|
|
|
+ INNER JOIN GOODS_DATA GD
|
|
|
+ ON CR.REF_VAL = GD.GOODS_CD
|
|
|
+ WHERE 1=1
|
|
|
+ AND CR.CPN_TARGET = 'G260_10' -- 상품
|
|
|
+ AND CR.DEL_YN = 'N'
|
|
|
+ UNION
|
|
|
+ SELECT CR.CPN_ID
|
|
|
+ , GD.GOODS_CD
|
|
|
+ , GD.CART_SQ
|
|
|
+ , GD.CURR_PRICE
|
|
|
+ FROM (
|
|
|
+ SELECT C4.LEAF_CATE_NO
|
|
|
+ , CASE WHEN X = 1 THEN 'CATE1_NO'
|
|
|
+ WHEN X = 2 THEN 'CATE2_NO'
|
|
|
+ WHEN X = 3 THEN 'CATE3_NO'
|
|
|
+ WHEN X = 4 THEN 'CATE4_NO'
|
|
|
+ ELSE 'CATE5_NO'
|
|
|
+ END CATE_LVL
|
|
|
+ , CASE WHEN X = 1 THEN CATE1_NO
|
|
|
+ WHEN X = 2 THEN CATE2_NO
|
|
|
+ WHEN X = 3 THEN CATE3_NO
|
|
|
+ WHEN X = 4 THEN CATE4_NO
|
|
|
+ ELSE CATE5_NO
|
|
|
+ END CATE_NO
|
|
|
+ FROM TB_CATE_4SRCH C4
|
|
|
+ LEFT OUTER JOIN (
|
|
|
+ SELECT 1 AS X
|
|
|
+ UNION ALL
|
|
|
+ SELECT 2 AS X
|
|
|
+ UNION ALL
|
|
|
+ SELECT 3 AS X
|
|
|
+ UNION ALL
|
|
|
+ SELECT 4 AS X
|
|
|
+ UNION ALL
|
|
|
+ SELECT 5 AS X
|
|
|
+ ) B
|
|
|
+ ON 1=1
|
|
|
+ WHERE 1=1
|
|
|
+ AND C4.SITE_CD = 'G000_10'
|
|
|
+ AND C4.CATE_TYPE = 'G031_10'
|
|
|
+ ORDER BY LEAF_CATE_NO
|
|
|
+ , CATE_LVL
|
|
|
+ ) C4SRCH
|
|
|
+ INNER JOIN TB_COUPON_REFVAL CR
|
|
|
+ ON C4SRCH.CATE_NO = CR.REF_VAL
|
|
|
+ INNER JOIN TB_CATE_GOODS CG
|
|
|
+ ON C4SRCH.LEAF_CATE_NO = CG.CATE_NO
|
|
|
+ INNER JOIN GOODS_DATA GD
|
|
|
+ ON CG.GOODS_CD = GD.GOODS_CD
|
|
|
+ WHERE C4SRCH.CATE_NO IS NOT NULL
|
|
|
+ AND CR.CPN_TARGET = 'G260_11' -- 카테고리
|
|
|
+ AND CR.DEL_YN = 'N'
|
|
|
+ UNION
|
|
|
+ SELECT CR2.CPN_ID
|
|
|
+ , GD.GOODS_CD
|
|
|
+ , GD.CART_SQ
|
|
|
+ , GD.CURR_PRICE
|
|
|
+ FROM GOODS_DATA GD
|
|
|
+ INNER JOIN TB_COUPON_REFVAL CR2
|
|
|
+ ON GD.SUPPLY_COMP_CD = CR2.REF_VAL
|
|
|
+ AND CR2.CPN_TARGET = 'G260_13' -- 공급업체
|
|
|
+ AND CR2.DEL_YN = 'N'
|
|
|
+ UNION
|
|
|
+ SELECT CR1.CPN_ID
|
|
|
+ , GD.GOODS_CD
|
|
|
+ , GD.CART_SQ
|
|
|
+ , GD.CURR_PRICE
|
|
|
+ FROM GOODS_DATA GD
|
|
|
+ INNER JOIN TB_COUPON_REFVAL CR1
|
|
|
+ ON GD.BRAND_CD = CR1.REF_VAL
|
|
|
+ AND CR1.CPN_TARGET = 'G260_12' -- 브랜드
|
|
|
+ AND CR1.DEL_YN = 'N'
|
|
|
+ ) X
|
|
|
+ LEFT OUTER JOIN TB_COUPON_REFVAL CR
|
|
|
+ ON X.CPN_ID = CR.CPN_ID
|
|
|
+ AND X.GOODS_CD = CR.REF_VAL
|
|
|
+ AND CR.CPN_TARGET = 'G260_14' -- 제외상품
|
|
|
+ AND CR.DEL_YN = 'N'
|
|
|
+ WHERE 1=1
|
|
|
+ AND CR.REF_VAL IS NULL
|
|
|
+ ) Z
|
|
|
+ ON Z.CPN_ID = CP.CPN_ID
|
|
|
+ WHERE 1=1
|
|
|
+ <if test="cpnId != null and cpnId != 0">
|
|
|
+ AND CP.CPN_ID = #{cpnId}
|
|
|
+ </if>
|
|
|
+ AND CP.SITE_CD = 'G000_10'
|
|
|
+ AND CP.CPN_STAT = 'G232_11' -- 진행쿠폰
|
|
|
+ AND CP.CPN_TYPE IN ('G230_11', 'G230_20') -- 상품쿠폰, 장바구니쿠폰
|
|
|
+ AND CCP.AVAIL_STDT <![CDATA[<]]> CURRENT_TIMESTAMP
|
|
|
+ AND CCP.AVAIL_EDDT > CURRENT_TIMESTAMP
|
|
|
+ AND CT.CUST_NO = #{custNo}
|
|
|
+ AND CP.APPLY_SCOPE = 'I'
|
|
|
+ AND CCP.USED_DT IS NULL
|
|
|
+ GROUP BY Z.GOODS_CD
|
|
|
+ , Z.CART_SQ
|
|
|
+ , Z.CURR_PRICE
|
|
|
+ , CP.CPN_ID
|
|
|
+ , CP.CPN_NM
|
|
|
+ , CP.CPN_TYPE
|
|
|
+ , CP.DC_WAY
|
|
|
+ , CP.DC_PVAL
|
|
|
+ , CP.DC_MVAL
|
|
|
+ , CP.DC_AVAL
|
|
|
+ , CP.MAX_DC_AMT
|
|
|
+ , CP.BUY_LIMIT_AMT
|
|
|
+ , CP.APPLY_SCOPE
|
|
|
+ , CCP.CUST_CPN_SQ
|
|
|
+ UNION ALL
|
|
|
+ SELECT 'ALL' AS GOODS_CD
|
|
|
+ , 0 AS CART_SQ
|
|
|
+ , 0 AS CURR_PRICE
|
|
|
+ , CP.CPN_ID
|
|
|
+ , CP.CPN_NM
|
|
|
+ , CP.CPN_TYPE
|
|
|
+ , CP.DC_WAY
|
|
|
+ , CASE WHEN #{frontGb} = 'P' THEN CP.DC_PVAL
|
|
|
+ WHEN #{frontGb} = 'M' THEN CP.DC_MVAL
|
|
|
+ ELSE CP.DC_AVAL END AS DC_VAL
|
|
|
+ , CP.MAX_DC_AMT
|
|
|
+ , CP.BUY_LIMIT_AMT
|
|
|
+ , CP.APPLY_SCOPE
|
|
|
+ , CCP.CUST_CPN_SQ
|
|
|
+ FROM TB_COUPON CP
|
|
|
+ INNER JOIN TB_COUPON_CUST_GRADE CGR
|
|
|
+ ON CP.CPN_ID = CGR.CPN_ID
|
|
|
+ INNER JOIN TB_CUST_COUPON CCP
|
|
|
+ ON CP.CPN_ID = CCP.CPN_ID
|
|
|
+ INNER JOIN TB_CUSTOMER CT
|
|
|
+ ON CCP.CUST_NO = CT.CUST_NO
|
|
|
+ AND CGR.USABLE_CUST_GRADE = CT.CUST_GRADE
|
|
|
+ INNER JOIN TB_COUPON_CUST_GBN CGB
|
|
|
+ ON CP.CPN_ID = CGB.CPN_ID
|
|
|
+ AND CGB.USABLE_CUST_GB = CT.CUST_GB
|
|
|
+ WHERE 1=1
|
|
|
+ <if test="cpnId != null and cpnId != 0">
|
|
|
+ AND CP.CPN_ID = #{cpnId}
|
|
|
+ </if>
|
|
|
+ AND CP.SITE_CD = 'G000_10'
|
|
|
+ AND CP.CPN_STAT = 'G232_11' -- 진행쿠폰
|
|
|
+ AND CP.CPN_TYPE IN ('G230_11', 'G230_20') -- 상품쿠폰, 장바구니쿠폰
|
|
|
+ AND CCP.AVAIL_STDT <![CDATA[<]]> CURRENT_TIMESTAMP
|
|
|
+ AND CCP.AVAIL_EDDT > CURRENT_TIMESTAMP
|
|
|
+ AND CT.CUST_NO = #{custNo}
|
|
|
+ AND CP.APPLY_SCOPE = 'A'
|
|
|
+ AND CCP.USED_DT IS NULL
|
|
|
+ ) X
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 배송비쿠폰 조회 -->
|
|
|
+ <select id="getDelvCpnList" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getDelvCpnList */
|
|
|
+ SELECT CP.CPN_ID
|
|
|
+ , CP.CPN_NM
|
|
|
+ , CP.CPN_TYPE
|
|
|
+ , CP.DC_WAY
|
|
|
+ , CASE WHEN #{frontGb} = 'P' THEN CP.DC_PVAL
|
|
|
+ WHEN #{frontGb} = 'M' THEN CP.DC_MVAL
|
|
|
+ ELSE CP.DC_AVAL END AS DC_VAL
|
|
|
+ , CP.MAX_DC_AMT
|
|
|
+ , CP.BUY_LIMIT_AMT
|
|
|
+ , CCP.CUST_CPN_SQ
|
|
|
+ FROM TB_COUPON CP
|
|
|
+ INNER JOIN TB_COUPON_CUST_GRADE CGR
|
|
|
+ ON CP.CPN_ID = CGR.CPN_ID
|
|
|
+ INNER JOIN TB_CUST_COUPON CCP
|
|
|
+ ON CP.CPN_ID = CCP.CPN_ID
|
|
|
+ INNER JOIN TB_CUSTOMER CT
|
|
|
+ ON CCP.CUST_NO = CT.CUST_NO
|
|
|
+ AND CGR.USABLE_CUST_GRADE = CT.CUST_GRADE
|
|
|
+ INNER JOIN TB_COUPON_CUST_GBN CGB
|
|
|
+ ON CP.CPN_ID = CGB.CPN_ID
|
|
|
+ AND CGB.USABLE_CUST_GB = CT.CUST_GB
|
|
|
+ WHERE 1=1
|
|
|
+ AND CP.SITE_CD = 'G000_10'
|
|
|
+ AND CP.CPN_STAT = 'G232_11' -- 진행쿠폰
|
|
|
+ AND CP.CPN_TYPE = 'G230_30' -- 배송비쿠폰
|
|
|
+ AND CCP.USED_DT IS NULL
|
|
|
+ AND CCP.AVAIL_STDT <![CDATA[<]]> CURRENT_TIMESTAMP
|
|
|
+ AND CCP.AVAIL_EDDT > CURRENT_TIMESTAMP
|
|
|
+ AND CT.CUST_NO = #{custNo}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 장바구니쿠폰 가능결제수단목록조회 -->
|
|
|
+ <select id="getCartCpnPaytypeList" parameterType="Order" resultType="String">
|
|
|
+ /* TscOrder.getCartCpnPaytypeList */
|
|
|
+ SELECT CPP.PAY_TYPE
|
|
|
+ FROM TB_COUPON CP
|
|
|
+ INNER JOIN TB_COUPON_PAYTYPE CPP
|
|
|
+ ON CP.CPN_ID = CPP.CPN_ID
|
|
|
+ WHERE 1=1
|
|
|
+ AND CP.CPN_ID = #{cpnId}
|
|
|
+ AND CP.CPN_TYPE = 'G230_20' -- 장바구니쿠폰
|
|
|
+ AND CP.CPN_ID IN (
|
|
|
+ SELECT CPN_ID
|
|
|
+ FROM TB_CUST_COUPON
|
|
|
+ WHERE CUST_NO = #{custNo}
|
|
|
+ )
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 구매확정 포인트 지급 -->
|
|
|
+ <insert id="createOrderDecisionPoint" parameterType="Order">
|
|
|
+ /* TscOrder.createOrderDecisionPoint */
|
|
|
+ INSERT INTO TB_CUST_POINT (
|
|
|
+ CUST_NO
|
|
|
+ , GV_PNT_AMT
|
|
|
+ , US_PNT_AMT
|
|
|
+ , RM_PNT_AMT
|
|
|
+ , EXP_BE_DT
|
|
|
+ , EXP_CMP_DT
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ )
|
|
|
+ SELECT O.CUST_NO
|
|
|
+ , OD.SAVE_PNT_AMT
|
|
|
+ , 0
|
|
|
+ , OD.SAVE_PNT_AMT
|
|
|
+ , DATE_FORMAT(CONCAT(DATE_ADD(CURRENT_DATE, INTERVAL 1 YEAR), ' 23:59:59'), '%Y-%m-%d %H:%i:%S')
|
|
|
+ , NULL
|
|
|
+ , #{regNo}
|
|
|
+ , NOW()
|
|
|
+ , #{updNo}
|
|
|
+ , NOW()
|
|
|
+ FROM TB_ORDER O
|
|
|
+ INNER JOIN TB_ORDER_DETAIL OD
|
|
|
+ ON O.ORD_NO = OD.ORD_NO
|
|
|
+ WHERE OD.ORD_DTL_NO IN
|
|
|
+ <foreach collection="ordDtlNoArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <select id="getKcpOrderPaymentInfo" parameterType="Payment" resultType="Payment">
|
|
|
+ /* TscOrder.getKcpOrderPaymentInfo : PAYMENT 주문 데이터 조회 */
|
|
|
+ SELECT PAY_MEANS
|
|
|
+ , PG_GB
|
|
|
+ , ORD_NO
|
|
|
+ , PG_TID
|
|
|
+ , PG_SHOP_ID
|
|
|
+ , PAY_STAT
|
|
|
+ , CARD_TYPE
|
|
|
+ , CARD_KIND
|
|
|
+ , CARD_BANK
|
|
|
+ , CARD_NM
|
|
|
+ , CARD_MIPS
|
|
|
+ , CARD_PCABLE_YN
|
|
|
+ , VA_NO
|
|
|
+ , VA_NM
|
|
|
+ , VA_BANK
|
|
|
+ , DATE_FORMAT(VA_DEADLINE, '%Y%m%d%H%i%S') AS VA_DEADLINE
|
|
|
+ , TELECOM
|
|
|
+ , PAY_AMT
|
|
|
+ FROM TB_PAYMENT PAY
|
|
|
+ WHERE PG_TID = #{pgTid}
|
|
|
+ <choose>
|
|
|
+ <when test="payGb != null and payGb != ''">
|
|
|
+ AND PAY_GB = #{payGb}
|
|
|
+ </when>
|
|
|
+ <otherwise>
|
|
|
+ AND PAY_GB = 'O'
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ AND PAY_STAT IN ('G016_30', 'G016_00')
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 결제 취소 정보 생성 -->
|
|
|
+ <insert id="insertPaymentCancel" parameterType="Payment" keyProperty="paySq">
|
|
|
+ /* TscOrder.insertPaymentCancel : 결제 취소 정보 생성 */
|
|
|
+ INSERT INTO TB_PAYMENT (
|
|
|
+ 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_CD
|
|
|
+ , CARD_NM
|
|
|
+ , COM_CARD_CD
|
|
|
+ , CARD_MIPS
|
|
|
+ , CARD_PCABLE_YN
|
|
|
+ , VA_NO
|
|
|
+ , VA_NM
|
|
|
+ , VA_BANK
|
|
|
+ , VA_DEADLINE
|
|
|
+ , TELECOM
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT )
|
|
|
+ SELECT ORD_NO
|
|
|
+ , NOW()
|
|
|
+ , PAY_MEANS
|
|
|
+ , #{payAmt}
|
|
|
+ , #{pgCpnAmt}
|
|
|
+ , #{npayPntAmt}
|
|
|
+ , #{payGb}
|
|
|
+ , #{payStat}
|
|
|
+ , PG_GB
|
|
|
+ , #{pgTid}
|
|
|
+ , #{pgTradeNo}
|
|
|
+ , PG_SHOP_ID
|
|
|
+ , CARD_TYPE
|
|
|
+ , CARD_KIND
|
|
|
+ , CARD_BANK
|
|
|
+ , CARD_CD
|
|
|
+ , CARD_NM
|
|
|
+ , COM_CARD_CD
|
|
|
+ , CARD_MIPS
|
|
|
+ , CARD_PCABLE_YN
|
|
|
+ , VA_NO
|
|
|
+ , VA_NM
|
|
|
+ , VA_BANK
|
|
|
+ , VA_DEADLINE
|
|
|
+ , TELECOM
|
|
|
+ , #{regNo}
|
|
|
+ , NOW()
|
|
|
+ , #{updNo}
|
|
|
+ , NOW()
|
|
|
+ FROM TB_PAYMENT PAY
|
|
|
+ WHERE PG_TID = #{pgTid}
|
|
|
+ AND PAY_GB = 'O'
|
|
|
+ AND PAY_STAT IN ('G016_30', 'G016_00')
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- PAYMENT INSERT -->
|
|
|
+ <insert id="insertPayment" parameterType="Payment" keyProperty="paySq">
|
|
|
+ /* TscOrder.insertPayment : PAYMENT INSERT */
|
|
|
+ INSERT INTO TB_PAYMENT (
|
|
|
+ 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
|
|
|
+ , PG_SHOP_KEY
|
|
|
+ , CARD_TYPE
|
|
|
+ , CARD_KIND
|
|
|
+ , CARD_BANK
|
|
|
+ , CARD_CD
|
|
|
+ , CARD_NM
|
|
|
+ , COM_CARD_CD
|
|
|
+ , CARD_MIPS
|
|
|
+ , CARD_PCABLE_YN
|
|
|
+ , VA_NO
|
|
|
+ , VA_NM
|
|
|
+ , VA_BANK
|
|
|
+ , VA_DEADLINE
|
|
|
+ , TELECOM
|
|
|
+ , CASH_AUTH_NO
|
|
|
+ , CASH_TRADE_NO
|
|
|
+ , ORD_CHG_SQ
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ ) VALUES (
|
|
|
+ #{ordNo}
|
|
|
+ , NOW()
|
|
|
+ , #{payMeans}
|
|
|
+ , #{payAmt}
|
|
|
+ , #{pgCpnAmt}
|
|
|
+ , #{npayPntAmt}
|
|
|
+ , #{payGb}
|
|
|
+ , #{payStat}
|
|
|
+ , #{pgGb}
|
|
|
+ , #{pgTid}
|
|
|
+ , #{pgTradeNo}
|
|
|
+ , #{pgShopId}
|
|
|
+ , #{pgShopKey}
|
|
|
+ , #{cardType}
|
|
|
+ , #{cardKind}
|
|
|
+ , #{cardBank}
|
|
|
+ , #{cardCd}
|
|
|
+ , #{cardNm}
|
|
|
+ , FN_GET_CARD_CODE(#{pgGb}, #{cardCd})
|
|
|
+ , #{cardMips}
|
|
|
+ , IFNULL(#{cardPcableYn}, 'Y')
|
|
|
+ , #{vaNo}
|
|
|
+ , #{vaNm}
|
|
|
+ , #{vaBank}
|
|
|
+ , DATE_FORMAT(#{vaDeadline} , '%Y%m%d%H%i%S')
|
|
|
+ , #{telecom}
|
|
|
+ , #{cashAuthNo}
|
|
|
+ , #{cashTradeNo}
|
|
|
+ , #{ordChgSq}
|
|
|
+ , #{regNo}
|
|
|
+ , NOW()
|
|
|
+ , #{updNo}
|
|
|
+ , NOW()
|
|
|
+ )
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 결제 상태 수정 -->
|
|
|
+ <update id="updatePaymentStat" parameterType="Order">
|
|
|
+ /* TscOrder.updatePaymentStat : 결제 상태 수정 */
|
|
|
+ UPDATE TB_PAYMENT SET
|
|
|
+ PAY_STAT = #{payStat}
|
|
|
+ , CASH_AUTH_NO = #{cashAuthNo}
|
|
|
+ , CASH_TRADE_NO = #{cashTradeNo}
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE PG_TID = #{pgTid}
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 주문정보등록 -->
|
|
|
+ <!-- 1. 주문기본정보등록 -->
|
|
|
+ <insert id="createOrder" parameterType="Order" keyProperty="ordNo">
|
|
|
+ /* TscOrder.createOrder : 주문기본정보등록 */
|
|
|
+ INSERT INTO TB_ORDER (
|
|
|
+ MALL_GB
|
|
|
+ , ORD_DT
|
|
|
+ , PAY_DT
|
|
|
+ , CUST_NO
|
|
|
+ , ORD_NM
|
|
|
+ , ORD_PHNNO
|
|
|
+ , ORD_TELNO
|
|
|
+ , ORD_EMAIL
|
|
|
+ , SITE_CD
|
|
|
+ , NPAY_ORD_NO
|
|
|
+ , FRONT_GB
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ ) VALUES (
|
|
|
+ 'G011_10'
|
|
|
+ , NOW()
|
|
|
+ , NOW()
|
|
|
+ , #{custNo}
|
|
|
+ , #{custNm}
|
|
|
+ , #{recipPhnno}
|
|
|
+ , #{recipTelno}
|
|
|
+ , #{email}
|
|
|
+ , 'G000_10'
|
|
|
+ , #{npayOrdNo}
|
|
|
+ , #{frontGb}
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ )
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 2. 주문배송주소정보등록-->
|
|
|
+ <insert id="createDeliveryAddr" parameterType="Order" keyProperty="delvAddrSq">
|
|
|
+ /* TscOrder.createDeliveryAddr : 주문배송주소정보등록 */
|
|
|
+ INSERT INTO TB_DELIVERY_ADDR (
|
|
|
+ RECIP_NM
|
|
|
+ , RECIP_PHNNO
|
|
|
+ , RECIP_TELNO
|
|
|
+ , RECIP_ZIPCODE
|
|
|
+ , RECIP_BASE_ADDR
|
|
|
+ , RECIP_DTL_ADDR
|
|
|
+ , DELV_MEMO
|
|
|
+ , GIFT_MSG
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ ) VALUES (
|
|
|
+ #{recipNm}
|
|
|
+ , #{recipPhnno}
|
|
|
+ , #{recipTelno}
|
|
|
+ , #{recipZipcode}
|
|
|
+ , #{recipBaseAddr}
|
|
|
+ , #{recipDtlAddr}
|
|
|
+ , #{delvMemo}
|
|
|
+ , #{giftMsg}
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ )
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 3. 주문배송비정보등록-->
|
|
|
+ <insert id="createDeliveryFee" parameterType="Order">
|
|
|
+ /* TscOrder.createDeliveryFee : 주문배송비정보등록 */
|
|
|
+ INSERT INTO TB_DELIVERY_FEE (
|
|
|
+ PAY_SQ
|
|
|
+ , ORD_NO
|
|
|
+ , DELV_FEE_GB
|
|
|
+ , DELV_FEE_CD
|
|
|
+ , DELV_FEE
|
|
|
+ , DELV_CPN_SQ
|
|
|
+ , DELV_CPN_DC_AMT
|
|
|
+ , REAL_DELV_AMT
|
|
|
+ , ORD_CHG_SQ
|
|
|
+ , SUPPLY_COMP_CD
|
|
|
+ , DELV_USAC_YN
|
|
|
+ , DELV_USAC_DT
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ ) VALUES (
|
|
|
+ NULL
|
|
|
+ , #{ordNo}
|
|
|
+ , #{delvFeeGb}
|
|
|
+ , #{delvFeeCd}
|
|
|
+ , #{delvFee}
|
|
|
+ , #{delvCpnSq}
|
|
|
+ , #{delvCpnDcAmt}
|
|
|
+ , #{realDelvAmt}
|
|
|
+ , NULL
|
|
|
+ , #{supplyCompCd}
|
|
|
+ , 'N'
|
|
|
+ , NULL
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ )
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 4. 주문상세정보등록-->
|
|
|
+ <insert id="createOrderDetail" parameterType="Order" keyProperty="ordDtlNo">
|
|
|
+ /* TscOrder.createOrderDetail : 주문상세정보등록 */
|
|
|
+ INSERT INTO TB_ORDER_DETAIL (
|
|
|
+ ORD_NO
|
|
|
+ , ORD_EXCH_GB
|
|
|
+ , ORD_DTL_STAT
|
|
|
+ , ORG_ORD_DTL_NO
|
|
|
+ , SUPPLY_COMP_CD
|
|
|
+ , GOODS_CD
|
|
|
+ , DEAL_GOODS_CD
|
|
|
+ , FORMAL_GB
|
|
|
+ , GOODS_TYPE
|
|
|
+ , LIST_PRICE
|
|
|
+ , CURR_PRICE
|
|
|
+ , DC_RATE
|
|
|
+ , OPT_ADD_PRICE
|
|
|
+ , ORD_QTY
|
|
|
+ , ORD_AMT
|
|
|
+ , CNCL_RTN_QTY
|
|
|
+ , CNCL_RTN_AMT
|
|
|
+ , CPN1_CPN_SQ
|
|
|
+ , CPN1_DC_AMT
|
|
|
+ , TMTB1_SQ
|
|
|
+ , TMTB1_DC_AMT
|
|
|
+ , TMTB2_SQ
|
|
|
+ , TMTB2_DC_AMT
|
|
|
+ , GOODS_CPN_SQ
|
|
|
+ , GOODS_CPN_DC_AMT
|
|
|
+ , CART_CPN_SQ
|
|
|
+ , CART_CPN_DC_AMT
|
|
|
+ , BURDEN_RATE
|
|
|
+ , PNT_DC_AMT
|
|
|
+ , PRE_PNT_DC_AMT
|
|
|
+ , SAVE_PNT_AMT
|
|
|
+ , REAL_ORD_AMT
|
|
|
+ , GFCD_USE_AMT
|
|
|
+ , VENDOR_ID
|
|
|
+ , EXTMALL_ID
|
|
|
+ , AGENT_ORDER_ID
|
|
|
+ , EXTMALL_ORDER_ID
|
|
|
+ , CHANGEABLE_YN
|
|
|
+ , CHANGE_FEE_FREE_YN
|
|
|
+ , RETURNABLE_YN
|
|
|
+ , RETURN_FEE_FREE_YN
|
|
|
+ , SOLDOUT_YN
|
|
|
+ , SOLDOUT_MEMO
|
|
|
+ , SOLDOUT_REG_NO
|
|
|
+ , SOLDOUT_REG_DT
|
|
|
+ , DELV_ADDR_SQ
|
|
|
+ , DELV_FEE_CD
|
|
|
+ , SHOT_DELV_YN
|
|
|
+ , GIFT_PACK_YN
|
|
|
+ , GIFT_ADDR_INP_YN
|
|
|
+ , MAKE_GOODS_YN
|
|
|
+ , ENTRY_NO
|
|
|
+ , DELV_LOC_CD
|
|
|
+ , DELV_ASSIGN_DT
|
|
|
+ , DELV_ASSIGN_STAT
|
|
|
+ , DSTRBT_NOTE
|
|
|
+ , DELV_STDT
|
|
|
+ , DELV_EDDT
|
|
|
+ , SHIP_COMP_CD
|
|
|
+ , INVOICE_NO
|
|
|
+ , INVOICE_SEND_YN
|
|
|
+ , SELL_STORE_CD
|
|
|
+ , SELL_FEE_RATE
|
|
|
+ , AF_LINK_CD
|
|
|
+ , ITHR_CD
|
|
|
+ , CONTENTS_LOC
|
|
|
+ , PLAN_DTL_SQ
|
|
|
+ , SOCIAL_SQ
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ )
|
|
|
+ SELECT #{ordNo} AS ORD_NO
|
|
|
+ , #{ordExchGb} AS ORD_EXCH_GB
|
|
|
+ , #{ordDtlStat} AS ORD_DTL_STAT
|
|
|
+ , NULL AS ORG_ORD_DTL_NO
|
|
|
+ , G.SUPPLY_COMP_CD AS SUPPLY_COMP_CD
|
|
|
+ , CA.GOODS_CD AS GOODS_CD
|
|
|
+ , CA.DEAL_GOODS_CD AS DEAL_GOODS_CD
|
|
|
+ , G.FORMAL_GB AS FORMAL_GB
|
|
|
+ , G.GOODS_TYPE AS GOODS_TYPE
|
|
|
+ , G.LIST_PRICE AS LIST_PRICE
|
|
|
+ , G.CURR_PRICE AS CURR_PRICE
|
|
|
+ , G.DC_RATE AS DC_RATE
|
|
|
+ , #{optAddPrice} AS OPT_ADD_PRICE
|
|
|
+ , CA.GOODS_QTY AS GOODS_QTY
|
|
|
+ , #{ordAmt} AS ORD_AMT
|
|
|
+ , 0 AS CNCL_RTN_QTY
|
|
|
+ , 0 AS CNCLRTN_AMT
|
|
|
+ , #{cpn1CpnSq} AS CPN1_CPN_SQ
|
|
|
+ , #{cpn1DcAmt} AS CPN1_DC_AMT
|
|
|
+ , #{tmtb1Sq} AS TMTB1_SQ
|
|
|
+ , #{tmtb1DcAmt} AS TMTB1_DC_AMT
|
|
|
+ , #{tmtb2Sq} AS TMTB2_SQ
|
|
|
+ , #{tmtb2DcAmt} AS TMTB2_DC_AMT
|
|
|
+ , #{goodsCpnSq} AS GOODS_CPN_SQ
|
|
|
+ , #{goodsCpnDcAmt} AS GOODS_CPN_DC_AMT
|
|
|
+ , #{cartCpnSq} AS CART_CPN_SQ
|
|
|
+ , #{cartCpnDcAmt} AS CART_CPN_DC_AMT
|
|
|
+ , 0 AS BURDEN_RATE
|
|
|
+ , #{pntDcAmt} AS PNT_DC_AMT
|
|
|
+ , #{prePntDcAmt} AS PRE_PNT_DC_AMT
|
|
|
+ , #{savePntAmt} AS SAVE_PNT_AMT
|
|
|
+ , #{realOrdAmt} AS REAL_ORD_AMT
|
|
|
+ , #{gfcdUseAmt} AS GFCD_USE_AMT
|
|
|
+ , NULL AS VENDOR_ID
|
|
|
+ , NULL AS EXTMALL_ID
|
|
|
+ , NULL AS AGENT_ORDER_ID
|
|
|
+ , NULL AS EXTMALL_ORDER_ID
|
|
|
+ , G.CHANGEABLE_YN AS CHANGEABLE_YN
|
|
|
+ , G.CHANGE_FEE_FREE_YN AS CHANGE_FEE_FREE_YN
|
|
|
+ , G.RETURNABLE_YN AS RETURNABLE_YN
|
|
|
+ , G.RETURN_FEE_FREE_YN AS RETURN_FEE_FREE_YN
|
|
|
+ , 'N' AS SOLDOUT_YN
|
|
|
+ , NULL AS SOLDOUT_MEMO
|
|
|
+ , NULL AS SOLDOUT_REG_NO
|
|
|
+ , NULL AS SOLDOUT_REG_DT
|
|
|
+ , #{delvAddrSq} AS DELV_ADDR_SQ
|
|
|
+ , DELV_FEE_CD AS DELV_FEE_CD
|
|
|
+ , #{shotDelvYn} AS SHOT_DELV_YN
|
|
|
+ , #{giftPackYn} AS GIFT_PACK_YN
|
|
|
+ , 'N' AS GIFT_ADDR_INP_YN
|
|
|
+ , G.ORDER_MADE_YN AS MAKE_GOODS_YN
|
|
|
+ , #{entryNo} AS ENTRY_NO
|
|
|
+ , NULL AS DELV_LOC_CD
|
|
|
+ , NULL AS DELV_ASSIGN_DT
|
|
|
+ , 'P' AS DELV_ASSIGN_STAT
|
|
|
+ , NULL AS DSTRBT_NOTE
|
|
|
+ , NULL AS DELV_STDT
|
|
|
+ , NULL AS DELV_EDDT
|
|
|
+ , NULL AS SHIP_COMP_CD
|
|
|
+ , NULL AS INVOICE_NO
|
|
|
+ , 'N' AS INVOICE_SEND_YN
|
|
|
+ , NULL AS SELL_STORE_CD
|
|
|
+ , G.SELL_FEE_RATE AS SELL_FEE_RATE
|
|
|
+ , CA.AF_LINK_CD AS AF_LINK_CD
|
|
|
+ , CA.ITHR_CD AS ITHR_CD
|
|
|
+ , CA.CONTENTS_LOC AS CONTENTS_LOC
|
|
|
+ , CA.PLAN_DTL_SQ AS PLAN_DTL_SQ
|
|
|
+ , NULL AS SOCIAL_SQ
|
|
|
+ , #{custNo} AS REG_NO
|
|
|
+ , NOW() AS REG_DT
|
|
|
+ , #{custNo} AS UPD_NO
|
|
|
+ , NOW() AS UPD_DT
|
|
|
+ FROM TB_CART CA
|
|
|
+ INNER JOIN TB_GOODS G
|
|
|
+ ON CA.GOODS_CD = G.GOODS_CD
|
|
|
+ WHERE 1=1
|
|
|
+ AND CART_SQ = #{cartSq}
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 5. 주문상세단품정보등록을 위한 조회 -->
|
|
|
+ <select id="getOrderDetailItem" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getOrderDetailItem : 주문상세단품정보등록을 위한 조회 */
|
|
|
+ SELECT #{ordDtlNo} AS ORD_DTL_NO
|
|
|
+ , #{ordNo} AS ORD_NO
|
|
|
+ , #{ordDtlStat} AS ORD_DTL_STAT
|
|
|
+ , CD.ITEM_CD
|
|
|
+ , CD.OPT_CD
|
|
|
+ , CD.OPT_CD1
|
|
|
+ , CD.OPT_CD2
|
|
|
+ , CD.SKU_MODEL_NO
|
|
|
+ , CD.PRODUCT_NO
|
|
|
+ , CD.PRODUCT_CODE
|
|
|
+ , G.CURR_PRICE
|
|
|
+ , IFNULL(GC.QTY, 1) AS ITEM_QTY
|
|
|
+ , IFNULL(GC.COMPS_CURR_PRICE, G.CURR_PRICE) AS ITEM_PRICE
|
|
|
+ , OP.ADD_PRICE AS OPT_ADD_PRICE
|
|
|
+ , CD.DISP_ORD
|
|
|
+ , 0 AS ORD_AMT
|
|
|
+ , 0 AS CNCL_RTN_AMT
|
|
|
+ , 0 AS CPN1_DC_AMT
|
|
|
+ , 0 AS TMTB1_DC_AMT
|
|
|
+ , 0 AS TMTB2_DC_AMT
|
|
|
+ , 0 AS GOODS_CPN_DC_AMT
|
|
|
+ , 0 AS CART_CPN_DC_AMT
|
|
|
+ , 0 AS PNT_DC_AMT
|
|
|
+ , 0 AS PRE_PNT_DC_AMT
|
|
|
+ , 0 AS SAVE_PNT_AMT
|
|
|
+ , 0 AS REAL_ORD_AMT
|
|
|
+ , 0 AS GFCD_USE_AMT
|
|
|
+ FROM TB_CART_DETAIL CD
|
|
|
+ INNER JOIN TB_CART CA
|
|
|
+ ON CD.CART_SQ = CA.CART_SQ
|
|
|
+ INNER JOIN TB_OPTION OP
|
|
|
+ ON CD.ITEM_CD = OP.GOODS_CD
|
|
|
+ AND CD.OPT_CD = OP.OPT_CD
|
|
|
+ INNER JOIN TB_GOODS G
|
|
|
+ ON CA.GOODS_CD = G.GOODS_CD
|
|
|
+ LEFT OUTER JOIN TB_GOODS_COMPOSE GC
|
|
|
+ ON CD.ITEM_CD = GC.COMPS_GOODS_CD
|
|
|
+ AND CA.GOODS_CD = GC.GOODS_CD
|
|
|
+ WHERE 1=1
|
|
|
+ AND CD.CART_SQ = #{cartSq}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 6. 주문상세단품정보등록 -->
|
|
|
+ <insert id="createOrderDetailItem" parameterType="Order" keyProperty="ordDtlItemSq">
|
|
|
+ /* TscOrder.createOrderDetailItem : 주문상세단품정보등록 */
|
|
|
+ INSERT INTO TB_ORDER_DETAIL_ITEM (
|
|
|
+ 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
|
|
|
+ ) VALUES (
|
|
|
+ #{ordDtlNo}
|
|
|
+ , #{ordNo}
|
|
|
+ , #{ordDtlStat}
|
|
|
+ , #{itemCd}
|
|
|
+ , #{optCd}
|
|
|
+ , #{optCd1}
|
|
|
+ , #{optCd2}
|
|
|
+ , #{skuModelNo}
|
|
|
+ , #{productNo}
|
|
|
+ , #{productCode}
|
|
|
+ , #{itemQty}
|
|
|
+ , #{itemPrice}
|
|
|
+ , #{optAddPrice}
|
|
|
+ , #{dispOrd}
|
|
|
+ , #{ordAmt}
|
|
|
+ , #{cnclRtnAmt}
|
|
|
+ , #{cpn1DcAmt}
|
|
|
+ , #{tmtb1DcAmt}
|
|
|
+ , #{tmtb2DcAmt}
|
|
|
+ , #{goodsCpnDcAmt}
|
|
|
+ , #{cartCpnDcAmt}
|
|
|
+ , #{pntDcAmt}
|
|
|
+ , #{prePntDcAmt}
|
|
|
+ , #{savePntAmt}
|
|
|
+ , #{realOrdAmt}
|
|
|
+ , #{gfcdUseAmt}
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ )
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 7. 주문상세단품이력정보 등록 -->
|
|
|
+ <insert id="createOrderDetailItemHst" parameterType="Order">
|
|
|
+ /* TscOrder.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
|
|
|
+ , 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
|
|
|
+ , NOW()
|
|
|
+ , UPD_NO
|
|
|
+ , NOW()
|
|
|
+ FROM TB_ORDER_DETAIL_ITEM
|
|
|
+ WHERE 1=1
|
|
|
+ AND ORD_DTL_ITEM_SQ = #{ordDtlItemSq}
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 8. 주문사은품 마스터 정보 등록 -->
|
|
|
+ <insert id="createOrdFreegift" parameterType="Order">
|
|
|
+ /* TscOrder.createOrdFreegift */
|
|
|
+ INSERT INTO TB_ORD_FREEGIFT (
|
|
|
+ ORD_NO
|
|
|
+ , FREEGIFT_SQ
|
|
|
+ , DEL_YN
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ )
|
|
|
+ SELECT #{ordNo}
|
|
|
+ , FG.FREEGIFT_SQ
|
|
|
+ , 'N'
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ FROM TB_FREEGIFT_VAL FGV
|
|
|
+ INNER JOIN TB_FREEGIFT FG
|
|
|
+ ON FGV.FREEGIFT_SQ = FG.FREEGIFT_SQ
|
|
|
+ WHERE 1=1
|
|
|
+ AND FREEGIFT_VAL_SQ IN
|
|
|
+ <foreach collection="freegiftValArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ GROUP BY FREEGIFT_SQ
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 9. 주문사은품 상품 정보 등록 -->
|
|
|
+ <insert id="createOrdFreegiftVal" parameterType="Order">
|
|
|
+ /* TscOrder.createOrdFreegiftVal */
|
|
|
+ INSERT INTO TB_ORD_FREEGIFT_VAL (
|
|
|
+ ORD_FREEGIFT_SQ
|
|
|
+ , ORD_NO
|
|
|
+ , FREEGIFT_SQ
|
|
|
+ , FREEGIFT_VAL_SQ
|
|
|
+ , ORD_DTL_STAT
|
|
|
+ , USE_POINT
|
|
|
+ , ITEM_QTY
|
|
|
+ , PRODUCT_NO
|
|
|
+ , PRODUCT_CODE
|
|
|
+ , GOODS_NUM
|
|
|
+ , BRAND_CD
|
|
|
+ , DEL_YN
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ )
|
|
|
+ SELECT OFG.ORD_FREEGIFT_SQ
|
|
|
+ , #{ordNo}
|
|
|
+ , FGV.FREEGIFT_SQ
|
|
|
+ , FGV.FREEGIFT_VAL_SQ
|
|
|
+ , #{ordDtlStat}
|
|
|
+ , CASE WHEN FG.ALL_YN IN ('Y')
|
|
|
+ THEN 0
|
|
|
+ ELSE FGV.USE_POINT
|
|
|
+ END USE_POINT
|
|
|
+ , FGV.ITEM_QTY
|
|
|
+ , FGV.PRODUCT_NO
|
|
|
+ , FRG.PRODUCT_CODE
|
|
|
+ , FRG.GOODS_NUM
|
|
|
+ , FRG.BRAND_CD
|
|
|
+ , 'N'
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ FROM TB_FREEGIFT_VAL FGV
|
|
|
+ INNER JOIN TB_FREEGIFT FG
|
|
|
+ ON FGV.FREEGIFT_SQ = FG.FREEGIFT_SQ
|
|
|
+ INNER JOIN TB_FREE_GOODS FRG
|
|
|
+ ON FGV.PRODUCT_NO = FRG.PRODUCT_NO
|
|
|
+ INNER JOIN TB_ORD_FREEGIFT OFG
|
|
|
+ ON FGV.FREEGIFT_SQ = OFG.FREEGIFT_SQ
|
|
|
+ WHERE 1=1
|
|
|
+ AND OFG.ORD_NO = #{ordNo}
|
|
|
+ AND FGV.FREEGIFT_VAL_SQ IN
|
|
|
+ <foreach collection="freegiftValArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 10. 주문사은품 주문상세 정보 등록 -->
|
|
|
+ <insert id="createOrdFreegiftDtl" parameterType="Order">
|
|
|
+ /* TscOrder.createOrdFreegiftDtl */
|
|
|
+ INSERT INTO TB_ORD_FREEGIFT_DTL (
|
|
|
+ ORD_FREEGIFT_SQ
|
|
|
+ , FREGIFT_SQ
|
|
|
+ , ORD_NO
|
|
|
+ , ORD_DTL_NO
|
|
|
+ , DEL_YN
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ )
|
|
|
+ SELECT OFR.ORD_FREEGIFT_SQ
|
|
|
+ , OFR.FREEGIFT_SQ
|
|
|
+ , OD.ORD_NO
|
|
|
+ , OD.ORD_DTL_NO
|
|
|
+ , 'N'
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ FROM TB_ORDER_DETAIL OD
|
|
|
+ INNER JOIN TB_ORD_FREEGIFT OFR
|
|
|
+ ON OD.ORD_NO = OFR.ORD_NO
|
|
|
+ INNER JOIN TB_ORD_FREEGIFT_VAL OFV
|
|
|
+ ON OFR.ORD_FREEGIFT_SQ = OFV.ORD_FREEGIFT_SQ
|
|
|
+ WHERE 1=1
|
|
|
+ AND OD.GOODS_CD = #{goodsCd}
|
|
|
+ AND OFR.FREEGIFT_SQ = #{freegiftSq}
|
|
|
+ AND OD.ORD_NO = #{ordNo}
|
|
|
+ GROUP BY OD.ORD_DTL_NO
|
|
|
+ , OFR.FREEGIFT_SQ
|
|
|
+ , OFR.ORD_FREEGIFT_SQ
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 31. 주문정보 결제완료 상태 업데이트 -->
|
|
|
+ <update id="updateOrder" parameterType="Order">
|
|
|
+ UPDATE TB_ORDER
|
|
|
+ SET PAY_DT = NOW()
|
|
|
+ , UPD_NO = #{custNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE 1=1
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 32. 주문상세정보 결제완료 상태 업데이트 -->
|
|
|
+ <update id="updateOrderDetail" parameterType="Order">
|
|
|
+ UPDATE TB_ORDER_DETAIL
|
|
|
+ SET ORD_DTL_STAT = #{ordDtlStat}
|
|
|
+ , UPD_NO = #{custNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE 1=1
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 주문상세이력 생성-->
|
|
|
+ <insert id="createOrderDetailAllHst" parameterType="Order">
|
|
|
+ /* Order.createOrderDetailAllHst */
|
|
|
+ INSERT INTO TB_ORDER_DETAIL_HST (
|
|
|
+ ORD_DTL_NO
|
|
|
+ , ORD_NO
|
|
|
+ , ORD_EXCH_GB
|
|
|
+ , ORD_DTL_STAT
|
|
|
+ , ORG_ORD_DTL_NO
|
|
|
+ , SUPPLY_COMP_CD
|
|
|
+ , GOODS_CD
|
|
|
+ , DEAL_GOODS_CD
|
|
|
+ , FORMAL_GB
|
|
|
+ , GOODS_TYPE
|
|
|
+ , LIST_PRICE
|
|
|
+ , CURR_PRICE
|
|
|
+ , DC_RATE
|
|
|
+ , OPT_ADD_PRICE
|
|
|
+ , ORD_QTY
|
|
|
+ , ORD_AMT
|
|
|
+ , CNCL_RTN_QTY
|
|
|
+ , CNCL_RTN_AMT
|
|
|
+ , CPN1_CPN_SQ
|
|
|
+ , CPN1_DC_AMT
|
|
|
+ , TMTB1_SQ
|
|
|
+ , TMTB1_DC_AMT
|
|
|
+ , TMTB2_SQ
|
|
|
+ , TMTB2_DC_AMT
|
|
|
+ , GOODS_CPN_SQ
|
|
|
+ , GOODS_CPN_DC_AMT
|
|
|
+ , CART_CPN_SQ
|
|
|
+ , CART_CPN_DC_AMT
|
|
|
+ , BURDEN_RATE
|
|
|
+ , PNT_DC_AMT
|
|
|
+ , PRE_PNT_DC_AMT
|
|
|
+ , SAVE_PNT_AMT
|
|
|
+ , REAL_ORD_AMT
|
|
|
+ , GFCD_USE_AMT
|
|
|
+ , VENDOR_ID
|
|
|
+ , EXTMALL_ID
|
|
|
+ , AGENT_ORDER_ID
|
|
|
+ , EXTMALL_ORDER_ID
|
|
|
+ , CHANGEABLE_YN
|
|
|
+ , CHANGE_FEE_FREE_YN
|
|
|
+ , RETURNABLE_YN
|
|
|
+ , RETURN_FEE_FREE_YN
|
|
|
+ , SOLDOUT_YN
|
|
|
+ , SOLDOUT_MEMO
|
|
|
+ , SOLDOUT_REG_NO
|
|
|
+ , SOLDOUT_REG_DT
|
|
|
+ , DELV_ADDR_SQ
|
|
|
+ , DELV_FEE_CD
|
|
|
+ , SHOT_DELV_YN
|
|
|
+ , GIFT_PACK_YN
|
|
|
+ , GIFT_ADDR_INP_YN
|
|
|
+ , MAKE_GOODS_YN
|
|
|
+ , ENTRY_NO
|
|
|
+ , DELV_LOC_CD
|
|
|
+ , DELV_ASSIGN_DT
|
|
|
+ , DELV_ASSIGN_STAT
|
|
|
+ , DSTRBT_NOTE
|
|
|
+ , DELV_STDT
|
|
|
+ , DELV_EDDT
|
|
|
+ , SHIP_COMP_CD
|
|
|
+ , INVOICE_NO
|
|
|
+ , INVOICE_SEND_YN
|
|
|
+ , SELL_STORE_CD
|
|
|
+ , SELL_FEE_RATE
|
|
|
+ , AF_LINK_CD
|
|
|
+ , ITHR_CD
|
|
|
+ , CONTENTS_LOC
|
|
|
+ , PLAN_DTL_SQ
|
|
|
+ , SOCIAL_SQ
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ )
|
|
|
+ SELECT ORD_DTL_NO
|
|
|
+ , ORD_NO
|
|
|
+ , ORD_EXCH_GB
|
|
|
+ , ORD_DTL_STAT
|
|
|
+ , ORG_ORD_DTL_NO
|
|
|
+ , SUPPLY_COMP_CD
|
|
|
+ , GOODS_CD
|
|
|
+ , DEAL_GOODS_CD
|
|
|
+ , FORMAL_GB
|
|
|
+ , GOODS_TYPE
|
|
|
+ , LIST_PRICE
|
|
|
+ , CURR_PRICE
|
|
|
+ , DC_RATE
|
|
|
+ , OPT_ADD_PRICE
|
|
|
+ , ORD_QTY
|
|
|
+ , ORD_AMT
|
|
|
+ , CNCL_RTN_QTY
|
|
|
+ , CNCL_RTN_AMT
|
|
|
+ , CPN1_CPN_SQ
|
|
|
+ , CPN1_DC_AMT
|
|
|
+ , TMTB1_SQ
|
|
|
+ , TMTB1_DC_AMT
|
|
|
+ , TMTB2_SQ
|
|
|
+ , TMTB2_DC_AMT
|
|
|
+ , GOODS_CPN_SQ
|
|
|
+ , GOODS_CPN_DC_AMT
|
|
|
+ , CART_CPN_SQ
|
|
|
+ , CART_CPN_DC_AMT
|
|
|
+ , BURDEN_RATE
|
|
|
+ , PNT_DC_AMT
|
|
|
+ , PRE_PNT_DC_AMT
|
|
|
+ , SAVE_PNT_AMT
|
|
|
+ , REAL_ORD_AMT
|
|
|
+ , GFCD_USE_AMT
|
|
|
+ , VENDOR_ID
|
|
|
+ , EXTMALL_ID
|
|
|
+ , AGENT_ORDER_ID
|
|
|
+ , EXTMALL_ORDER_ID
|
|
|
+ , CHANGEABLE_YN
|
|
|
+ , CHANGE_FEE_FREE_YN
|
|
|
+ , RETURNABLE_YN
|
|
|
+ , RETURN_FEE_FREE_YN
|
|
|
+ , SOLDOUT_YN
|
|
|
+ , SOLDOUT_MEMO
|
|
|
+ , SOLDOUT_REG_NO
|
|
|
+ , SOLDOUT_REG_DT
|
|
|
+ , DELV_ADDR_SQ
|
|
|
+ , DELV_FEE_CD
|
|
|
+ , SHOT_DELV_YN
|
|
|
+ , GIFT_PACK_YN
|
|
|
+ , GIFT_ADDR_INP_YN
|
|
|
+ , MAKE_GOODS_YN
|
|
|
+ , ENTRY_NO
|
|
|
+ , DELV_LOC_CD
|
|
|
+ , DELV_ASSIGN_DT
|
|
|
+ , DELV_ASSIGN_STAT
|
|
|
+ , DSTRBT_NOTE
|
|
|
+ , DELV_STDT
|
|
|
+ , DELV_EDDT
|
|
|
+ , SHIP_COMP_CD
|
|
|
+ , INVOICE_NO
|
|
|
+ , INVOICE_SEND_YN
|
|
|
+ , SELL_STORE_CD
|
|
|
+ , SELL_FEE_RATE
|
|
|
+ , AF_LINK_CD
|
|
|
+ , ITHR_CD
|
|
|
+ , CONTENTS_LOC
|
|
|
+ , PLAN_DTL_SQ
|
|
|
+ , SOCIAL_SQ
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ FROM TB_ORDER_DETAIL
|
|
|
+ WHERE ORD_NO = #{ordNo}
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 33. 주문상세아이템정보 결제완료 상태 업데이트 -->
|
|
|
+ <update id="updateOrderDetailItem" parameterType="Order">
|
|
|
+ UPDATE TB_ORDER_DETAIL_ITEM
|
|
|
+ SET ORD_DTL_STAT = #{ordDtlStat}
|
|
|
+ , UPD_NO = #{custNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE 1=1
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 33.1 주문상세단품전체 이력정보 등록 -->
|
|
|
+ <insert id="createOrderDetailItemAllHst" parameterType="Order">
|
|
|
+ /* TscOrder.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
|
|
|
+ , 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
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ FROM TB_ORDER_DETAIL_ITEM
|
|
|
+ WHERE 1=1
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 34. 재고정보등록 -->
|
|
|
+ <insert id="createSellQty" parameterType="Order">
|
|
|
+ /* TscOrder.createSellQty */
|
|
|
+ INSERT INTO TB_SELL_QTY (
|
|
|
+ GOODS_CD
|
|
|
+ , OPT_CD
|
|
|
+ , SELL_GB
|
|
|
+ , ORD_DTL_NO
|
|
|
+ , ORD_CHG_SQ
|
|
|
+ , AGENT_ORDER_ID
|
|
|
+ , EXTMALL_ORDER_ID
|
|
|
+ , SELL_QTY
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ )
|
|
|
+ SELECT ODI.ITEM_CD
|
|
|
+ , ODI.OPT_CD
|
|
|
+ , #{sellGb}
|
|
|
+ , ODI.ORD_DTL_NO
|
|
|
+ , NULL
|
|
|
+ , OD.AGENT_ORDER_ID
|
|
|
+ , OD.EXTMALL_ORDER_ID
|
|
|
+ , ODI.ITEM_QTY * OD.ORD_QTY
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ FROM TB_ORDER_DETAIL_ITEM ODI
|
|
|
+ INNER JOIN TB_ORDER_DETAIL OD
|
|
|
+ ON ODI.ORD_DTL_NO = OD.ORD_DTL_NO
|
|
|
+ WHERE 1=1
|
|
|
+ AND ODI.ORD_NO = #{ordNo}
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 35. 주문상세할인정보조회 -->
|
|
|
+ <select id="getOrderDetailDcInfo" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getOrderDetailDcInfo */
|
|
|
+ SELECT OD.ORD_NO
|
|
|
+ , OD.ORD_DTL_NO
|
|
|
+ , OD.GOODS_CPN_SQ
|
|
|
+ , OD.CART_CPN_SQ
|
|
|
+ , DF.DELV_CPN_SQ
|
|
|
+ , OD.PNT_DC_AMT
|
|
|
+ , OD.GFCD_USE_AMT
|
|
|
+ , OD.SAVE_PNT_AMT
|
|
|
+ FROM TB_ORDER_DETAIL OD
|
|
|
+ LEFT OUTER JOIN TB_DELIVERY_FEE DF
|
|
|
+ ON OD.ORD_NO = DF.ORD_NO
|
|
|
+ AND DF.DELV_CPN_SQ > 0
|
|
|
+ WHERE 1=1
|
|
|
+ AND OD.ORD_NO = #{ordNo}
|
|
|
+ GROUP BY OD.ORD_NO
|
|
|
+ , OD.ORD_DTL_NO
|
|
|
+ , OD.GOODS_CPN_SQ
|
|
|
+ , OD.CART_CPN_SQ
|
|
|
+ , OD.PNT_DC_AMT
|
|
|
+ , OD.GFCD_USE_AMT
|
|
|
+ , OD.SAVE_PNT_AMT
|
|
|
+ , DF.DELV_CPN_SQ
|
|
|
+ UNION ALL
|
|
|
+ SELECT OFV.ORD_NO
|
|
|
+ , 0 AS ORD_DTL_NO
|
|
|
+ , 0 AS GOODS_CPN_SQ
|
|
|
+ , 0 AS CART_CPN_SQ
|
|
|
+ , 0 AS DELV_CPN_SQ
|
|
|
+ , SUM(USE_POINT) AS PNT_DC_AMT
|
|
|
+ , 0 AS GFCD_USE_POINT
|
|
|
+ , 0 AS SAVE_PNT_AMT
|
|
|
+ FROM TB_ORD_FREEGIFT_VAL OFV
|
|
|
+ WHERE 1=1
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
+ GROUP BY OFV.ORD_NO
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 36. 회원포인트정보조회 -->
|
|
|
+ <select id="getCustPointInfoList" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getCustPointInfoList */
|
|
|
+ SELECT CP.CUST_PNT_SQ
|
|
|
+ , CP.RM_PNT_AMT
|
|
|
+ FROM TB_CUST_POINT CP
|
|
|
+ WHERE 1=1
|
|
|
+ AND CP.CUST_NO = #{custNo}
|
|
|
+ AND CP.EXP_BE_DT <![CDATA[ > ]]> NOW()
|
|
|
+ AND CP.EXP_CMP_DT IS NULL
|
|
|
+ AND CP.RM_PNT_AMT > 0
|
|
|
+ ORDER BY CP.EXP_BE_DT ASC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 37. 회원포인트정보조회 -->
|
|
|
+ <select id="getCustGiftcardInfoList" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getCustGiftcardInfoList */
|
|
|
+ SELECT CG.CUST_GFCD_SQ
|
|
|
+ , CG.RM_GFCD_AMT
|
|
|
+ FROM TB_CUST_GIFTCARD CG
|
|
|
+ WHERE 1=1
|
|
|
+ AND CG.CUST_NO = #{custNo}
|
|
|
+ AND CG.USE_ST_DATE <![CDATA[<]]> NOW()
|
|
|
+ AND CG.USE_EXP_DATE > NOW()
|
|
|
+ AND CG.RM_GFCD_AMT > 0
|
|
|
+ ORDER BY CG.USE_EXP_DATE ASC
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 38. 회원포인트정보수정 -->
|
|
|
+ <update id="updateCustPoint" parameterType="Order">
|
|
|
+ /* TscOrder.updateCustPoint */
|
|
|
+ UPDATE TB_CUST_POINT
|
|
|
+ SET US_PNT_AMT = US_PNT_AMT + #{usPntAmt}
|
|
|
+ , RM_PNT_AMT = #{rmPntAmt}
|
|
|
+ , UPD_NO = #{custNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE 1=1
|
|
|
+ AND CUST_PNT_SQ = #{custPntSq}
|
|
|
+ AND CUST_NO = #{custNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 39. 회원포인트이력등록 -->
|
|
|
+ <insert id="createCustPointHst" parameterType="Order">
|
|
|
+ /* TscOrder.createCustPointHst */
|
|
|
+ INSERT INTO TB_CUST_POINT_HST (
|
|
|
+ CUST_NO
|
|
|
+ , OCCUR_GB
|
|
|
+ , OCCUR_DTL_DESC
|
|
|
+ , PNT_AMT
|
|
|
+ , CUST_PNT_SQ
|
|
|
+ , ORD_NO
|
|
|
+ , ORD_DTL_NO
|
|
|
+ , REVIEW_SQ
|
|
|
+ , SWITCH_DUE_DT
|
|
|
+ , PNT_UPLOAD_STAT
|
|
|
+ , PNT_UPLOAD_DT
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ ) VALUES (
|
|
|
+ #{custNo}
|
|
|
+ , #{occurGb}
|
|
|
+ , #{occurDtlDesc}
|
|
|
+ , #{pntAmt}
|
|
|
+ , #{custPntSq}
|
|
|
+ , #{ordNo}
|
|
|
+ , #{ordDtlNo}
|
|
|
+ , #{reviewSq}
|
|
|
+ , NULL
|
|
|
+ , #{pntUploadStat}
|
|
|
+ , NULL
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ )
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 40. 회원상품권정보수정 -->
|
|
|
+ <update id="updateCustGiftcard" parameterType="Order">
|
|
|
+ /* TscOrder.updateCustGiftcard */
|
|
|
+ UPDATE TB_CUST_GIFTCARD
|
|
|
+ SET US_GFCD_AMT = US_GFCD_AMT + #{usGfcdAmt}
|
|
|
+ , RM_GFCD_AMT = #{rmGfcdAmt}
|
|
|
+ , UPD_NO = #{custNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE 1=1
|
|
|
+ AND CUST_GFCD_SQ = #{custGfcdSq}
|
|
|
+ AND CUST_NO = #{custNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 41. 회원상품권정보이력 등록 -->
|
|
|
+ <insert id="createCustGiftcardHst" parameterType="Order">
|
|
|
+ /* TscOrder.createCustGiftcardHst */
|
|
|
+ INSERT INTO TB_CUST_GIFTCARD_HST (
|
|
|
+ CUST_NO
|
|
|
+ , OCCUR_GB
|
|
|
+ , OCCUR_DTL_DESC
|
|
|
+ , GFCD_AMT
|
|
|
+ , CUST_GFCD_SQ
|
|
|
+ , ORD_NO
|
|
|
+ , ORD_DTL_NO
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ ) VALUES (
|
|
|
+ #{custNo}
|
|
|
+ , #{occurGb}
|
|
|
+ , #{occurDtlDesc}
|
|
|
+ , #{gfcdAmt}
|
|
|
+ , #{custGfcdSq}
|
|
|
+ , #{ordNo}
|
|
|
+ , #{ordDtlNo}
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ )
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 42. 회원쿠폰 사용처리 -->
|
|
|
+ <update id="updateCustCouponUsedDt" parameterType="Order">
|
|
|
+ /* TscOrder.updateCustCoupon */
|
|
|
+ UPDATE TB_CUST_COUPON
|
|
|
+ SET USED_DT = NOW()
|
|
|
+ , UPD_NO = #{custNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE CUST_CPN_SQ = #{custCpnSq}
|
|
|
+ AND CUST_NO = #{custNo}
|
|
|
+ AND USED_DT IS NULL
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 43. 사은품 상태값 업데이트 -->
|
|
|
+ <update id="updateOrdFreegiftValOrdDtlStat" parameterType="Order">
|
|
|
+ /* TscOrder.updateOrdFreegiftValOrdDtlStat */
|
|
|
+ UPDATE TB_ORD_FREEGIFT_VAL
|
|
|
+ SET ORD_DTL_STAT = #{ordDtlStat}
|
|
|
+ , UPD_NO = #{custNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE ORD_NO = #{ordNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 43.1 사은품 남은수량 업데이트 -->
|
|
|
+ <update id="updateFreegiftValLeftQty" parameterType="Order">
|
|
|
+ /* TscOrder.updateFreegiftValLeftQty */
|
|
|
+ UPDATE TB_FREEGIFT_VAL FV
|
|
|
+ INNER JOIN TB_ORD_FREEGIFT_VAL OFV
|
|
|
+ ON FV.FREEGIFT_VAL_SQ = OFV.FREEGIFT_VAL_SQ
|
|
|
+ SET FV.LEFT_QTY = FV.LEFT_QTY - FV.ITEM_QTY
|
|
|
+ WHERE 1=1
|
|
|
+ AND OFV.ORD_NO = #{ordNo}
|
|
|
+ AND FV.DEL_YN = 'N'
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 44. 주문상세 결제금액 목록 조회 -->
|
|
|
+ <select id="getOrderDetailOrdAmtList" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getOrderDetailOrdAmtList */
|
|
|
+ SELECT OD.ORD_DTL_NO
|
|
|
+ , OD.LIST_PRICE
|
|
|
+ , OD.CURR_PRICE
|
|
|
+ , SUM(ODI.OPT_ADD_PRICE) AS OPT_ADD_PRICE
|
|
|
+ , OD.ORD_QTY
|
|
|
+ , OD.CPN1_DC_AMT
|
|
|
+ , OD.TMTB1_DC_AMT
|
|
|
+ , OD.TMTB2_DC_AMT
|
|
|
+ , OD.GOODS_CPN_DC_AMT
|
|
|
+ , OD.CART_CPN_DC_AMT
|
|
|
+ , OD.PRE_PNT_DC_AMT
|
|
|
+ , OD.PNT_DC_AMT
|
|
|
+ , OD.GFCD_USE_AMT
|
|
|
+ , OD.SAVE_PNT_AMT
|
|
|
+ , OD.DELV_ADDR_SQ
|
|
|
+ , OD.GIFT_PACK_YN
|
|
|
+ FROM TB_ORDER_DETAIL OD
|
|
|
+ INNER JOIN TB_ORDER_DETAIL_ITEM ODI
|
|
|
+ ON OD.ORD_NO = ODI.ORD_NO
|
|
|
+ AND OD.ORD_DTL_NO = ODI.ORD_DTL_NO
|
|
|
+ WHERE 1=1
|
|
|
+ AND OD.ORD_NO = #{ordNo}
|
|
|
+ GROUP BY OD.ORD_DTL_NO
|
|
|
+ , OD.CURR_PRICE
|
|
|
+ , OD.ORD_QTY
|
|
|
+ , OD.CPN1_DC_AMT
|
|
|
+ , OD.TMTB1_DC_AMT
|
|
|
+ , OD.TMTB2_DC_AMT
|
|
|
+ , OD.GOODS_CPN_DC_AMT
|
|
|
+ , OD.CART_CPN_DC_AMT
|
|
|
+ , OD.PRE_PNT_DC_AMT
|
|
|
+ , OD.PNT_DC_AMT
|
|
|
+ , OD.GFCD_USE_AMT
|
|
|
+ , OD.SAVE_PNT_AMT
|
|
|
+ , OD.DELV_ADDR_SQ
|
|
|
+ , OD.GIFT_PACK_YN
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 마이페이지 주문 상태 별 수량 조회 -->
|
|
|
+ <select id="getOrderStatCount" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getOrderStatCount */
|
|
|
+ SELECT IFNULL(SUM(Z.ORDER_RECEIPT), 0) AS ORDER_RECEIPT_COUNT
|
|
|
+ , IFNULL(SUM(Z.DEPOSIT_WAITING), 0) AS DEPOSIT_WAITING_COUNT
|
|
|
+ , IFNULL(SUM(Z.WAITING_ADD_PAYMENT), 0) AS WAITING_ADD_PAYMENT_COUNT
|
|
|
+ , IFNULL(SUM(Z.PAYMENT_COMPLETE), 0) AS PAYMENT_COMPLETE_COUNT
|
|
|
+ , IFNULL(SUM(Z.GOODS_PREPARE), 0) AS GOODS_PREPARE_COUNT
|
|
|
+ , IFNULL(SUM(Z.SHIP_PREPARE), 0) AS SHIP_PREPARE_COUNT
|
|
|
+ , IFNULL(SUM(Z.SHIPPING), 0) AS SHIPPING_COUNT
|
|
|
+ , IFNULL(SUM(Z.SHIP_COMPLETE), 0) AS SHIP_COMPLETE_COUNT
|
|
|
+ , IFNULL(SUM(Z.CANCEL_COUNT), 0) AS CANCEL_COUNT
|
|
|
+ , IFNULL(SUM(Z.EXCHANGE_COUNT), 0) AS EXCHANGE_COUNT
|
|
|
+ , IFNULL(SUM(Z.RETURN_COUNT), 0) AS RETURN_COUNT
|
|
|
+ , IFNULL(SUM(Z.CONFIRM_COUNT), 0) AS CONFIRM_COUNT
|
|
|
+ FROM (SELECT IFNULL(CASE OD.ORD_DTL_STAT WHEN 'G013_00' THEN 1
|
|
|
+ END, 0) AS ORDER_RECEIPT
|
|
|
+ , IFNULL(CASE OD.ORD_DTL_STAT WHEN 'G013_10' THEN 1
|
|
|
+ END, 0) AS DEPOSIT_WAITING
|
|
|
+ , IFNULL(CASE OD.ORD_DTL_STAT WHEN 'G013_11' THEN 1
|
|
|
+ END, 0) AS WAITING_ADD_PAYMENT
|
|
|
+ , IFNULL(CASE OD.ORD_DTL_STAT WHEN 'G013_20' THEN 1
|
|
|
+ END, 0) AS PAYMENT_COMPLETE
|
|
|
+ , IFNULL(CASE OD.ORD_DTL_STAT WHEN 'G013_30' THEN 1
|
|
|
+ END, 0) AS GOODS_PREPARE
|
|
|
+ , IFNULL(CASE OD.ORD_DTL_STAT WHEN 'G013_35' THEN 1
|
|
|
+ WHEN 'G013_40' THEN 1
|
|
|
+ END, 0) AS SHIP_PREPARE
|
|
|
+ , IFNULL(CASE OD.ORD_DTL_STAT WHEN 'G013_50' THEN 1
|
|
|
+ WHEN 'G013_55' THEN 1
|
|
|
+ END, 0) AS SHIPPING
|
|
|
+ , IFNULL(CASE WHEN OD.ORD_DTL_STAT = 'G013_60'
|
|
|
+ AND O.ORD_DT >= DATE_FORMAT(CURRENT_DATE - INTERVAL 1 WEEK, '%Y-%m-%d') THEN 1
|
|
|
+ END, 0) AS SHIP_COMPLETE
|
|
|
+ , IFNULL(CASE OCD.CHG_STAT WHEN 'G685_10' THEN 1
|
|
|
+ WHEN 'G685_11' THEN 1
|
|
|
+ END, 0) AS CANCEL_COUNT
|
|
|
+ , IFNULL(CASE WHEN OCD.CHG_STAT = 'G685_20' THEN 1
|
|
|
+ WHEN OCD.CHG_STAT = 'G685_21' THEN 1
|
|
|
+ WHEN OCD.CHG_STAT = 'G685_34' THEN 1
|
|
|
+ WHEN OCD.CHG_STAT = 'G685_40' AND (OD2.ORD_DTL_STAT IS NOT NULL AND OD2.ORD_DTL_STAT <![CDATA[<>]]> 'G013_60' AND OD2.ORD_DTL_STAT <![CDATA[<>]]> 'G013_70') THEN 1
|
|
|
+ END, 0) AS EXCHANGE_COUNT
|
|
|
+ , IFNULL(CASE OCD.CHG_STAT WHEN 'G685_50' THEN 1
|
|
|
+ WHEN 'G685_51' THEN 1
|
|
|
+ WHEN 'G685_33' THEN 1
|
|
|
+ END, 0) AS RETURN_COUNT
|
|
|
+ , IFNULL(CASE OCD.CHG_STAT WHEN 'G685_30' THEN 1
|
|
|
+ WHEN 'G685_31' THEN 1
|
|
|
+ WHEN 'G685_32' THEN 1
|
|
|
+ END, 0) AS CONFIRM_COUNT
|
|
|
+ FROM TB_ORDER O
|
|
|
+ INNER JOIN TB_ORDER_DETAIL OD
|
|
|
+ ON O.ORD_NO = OD.ORD_NO
|
|
|
+ LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL OCD
|
|
|
+ ON OD.ORD_DTL_NO = OCD.ORD_DTL_NO
|
|
|
+ LEFT OUTER JOIN TB_ORDER_DETAIL OD2
|
|
|
+ ON OCD.CHG_ORD_DTL_NO = OD2.ORD_DTL_NO
|
|
|
+ <where>
|
|
|
+ <choose>
|
|
|
+ <when test='custNo > 0'>
|
|
|
+ AND O.CUST_NO = #{custNo}
|
|
|
+ </when>
|
|
|
+ <otherwise>
|
|
|
+ AND O.ORD_NO = #{ordNo}
|
|
|
+ AND O.ORD_PHNNO = #{ordPhnno}
|
|
|
+ AND O.ORD_NM = #{ordNm}
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ </where>
|
|
|
+ AND O.DISP_YN = 'Y'
|
|
|
+ ) AS Z
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 장바구니 구분의 선물하기 여부 판단 -->
|
|
|
+ <select id="getGiftOrderCheck" parameterType="Order" resultType="int">
|
|
|
+ /* TscOrder.getGiftOrderCheck */
|
|
|
+ SELECT COUNT(1) CNT
|
|
|
+ FROM TB_CART CA
|
|
|
+ WHERE 1=1
|
|
|
+ AND CA.CART_SQ IN
|
|
|
+ <foreach collection="cartSqArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ AND CA.CART_GB = 'G026_GF'
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 선물받기 주문상품 목록 조회 -->
|
|
|
+ <select id="getOrderGiftGoodsList" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getOrderGiftGoodsList */
|
|
|
+ SELECT Z.ORD_NO
|
|
|
+ , Z.ORD_DTL_NO
|
|
|
+ , Z.BRAND_ENM
|
|
|
+ , Z.BRAND_KNM
|
|
|
+ , Z.GOODS_NM
|
|
|
+ , Z.GOODS_CD
|
|
|
+ , Z.ORD_QTY
|
|
|
+ , Z.CNCL_RTN_QTY
|
|
|
+ , Z.GIFT_PACK_YN
|
|
|
+ , Z.GIFT_ADDR_INP_YN
|
|
|
+ , GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!') AS ITEM_NM
|
|
|
+ , GROUP_CONCAT(Z.ITEM_CD ORDER BY Z.ORD_DTL_ITEM_SQ) AS ITEM_CD
|
|
|
+ , GROUP_CONCAT(Z.OPT_CD ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD
|
|
|
+ , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD1
|
|
|
+ , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD2
|
|
|
+ , GROUP_CONCAT(Z.ITEM_QTY ORDER BY Z.ORD_DTL_ITEM_SQ) AS ITEM_QTYR
|
|
|
+ , GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.ORD_DTL_ITEM_SQ) AS COLOR_NM
|
|
|
+ FROM (
|
|
|
+ SELECT OD.ORD_NO
|
|
|
+ , OD.ORD_DTL_NO
|
|
|
+ , BR.BRAND_ENM
|
|
|
+ , BR.BRAND_KNM
|
|
|
+ , G.GOODS_NM
|
|
|
+ , G.GOODS_CD
|
|
|
+ , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = ODI.ITEM_CD) AS ITEM_NM
|
|
|
+ , IFNULL((SELECT COLOR_KNM FROM TB_COLOR C WHERE COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1,'') , G.MAIN_COLOR_CD ) AND USE_YN = 'Y'), ODI.OPT_CD1) AS COLOR_NM
|
|
|
+ , ODI.ITEM_CD
|
|
|
+ , ODI.OPT_CD
|
|
|
+ , ODI.OPT_CD1
|
|
|
+ , ODI.OPT_CD2
|
|
|
+ , ODI.ITEM_QTY
|
|
|
+ , OD.ORD_QTY
|
|
|
+ , OD.CNCL_RTN_QTY
|
|
|
+ , ODI.ORD_DTL_ITEM_SQ
|
|
|
+ , OD.GIFT_PACK_YN
|
|
|
+ , OD.GIFT_ADDR_INP_YN
|
|
|
+ FROM TB_ORDER_DETAIL OD
|
|
|
+ INNER JOIN TB_ORDER_DETAIL_ITEM ODI
|
|
|
+ ON OD.ORD_DTL_NO = ODI.ORD_DTL_NO
|
|
|
+ INNER JOIN TB_GOODS G
|
|
|
+ ON OD.GOODS_CD = G.GOODS_CD
|
|
|
+ INNER JOIN TB_BRAND BR
|
|
|
+ ON G.BRAND_CD = BR.BRAND_CD
|
|
|
+ WHERE 1=1
|
|
|
+ AND OD.ORD_NO = #{ordNo}
|
|
|
+ AND OD.ORD_QTY > OD.CNCL_RTN_QTY
|
|
|
+ ) Z
|
|
|
+ GROUP BY Z.ORD_NO
|
|
|
+ , Z.ORD_DTL_NO
|
|
|
+ , Z.BRAND_ENM
|
|
|
+ , Z.BRAND_KNM
|
|
|
+ , Z.GOODS_NM
|
|
|
+ , Z.GOODS_CD
|
|
|
+ , Z.ORD_QTY
|
|
|
+ , Z.CNCL_RTN_QTY
|
|
|
+ , Z.GIFT_PACK_YN
|
|
|
+ , Z.GIFT_ADDR_INP_YN
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 선물주문배송신청완료 -->
|
|
|
+ <update id="updateOrderDetailGiftAddrInpYn" parameterType="Order">
|
|
|
+ /* TscOrder.updateOrderDetailGiftAddrInpYn */
|
|
|
+ UPDATE TB_ORDER_DETAIL
|
|
|
+ SET GIFT_ADDR_INP_YN = 'Y'
|
|
|
+ , UPD_NO = #{custNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE ORD_NO = #{ordNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 추가결제 취소,반품,교환 대상 상품목록 조회 -->
|
|
|
+ <select id="getAddPayGoodsList" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getAddPayGoodsList */
|
|
|
+ SELECT Z.ORD_NO
|
|
|
+ , Z.ORD_DTL_NO
|
|
|
+ , Z.ORD_CHG_SQ
|
|
|
+ , Z.CHG_STAT
|
|
|
+ , Z.CHG_GB
|
|
|
+ , Z.CHG_QTY
|
|
|
+ , Z.ADD_PAY_COST
|
|
|
+ , Z.REFUND_AMT
|
|
|
+ , Z.BRAND_ENM
|
|
|
+ , Z.BRAND_KNM
|
|
|
+ , Z.GOODS_NM
|
|
|
+ , Z.GOODS_CD
|
|
|
+ , Z.CURR_PRICE
|
|
|
+ , Z.CHGER_NM
|
|
|
+ , Z.CHGER_PHNNO
|
|
|
+ , SUM(Z.OPT_ADD_PRICE) AS OPT_ADD_PRICE
|
|
|
+ , GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!') AS ITEM_NM
|
|
|
+ , GROUP_CONCAT(Z.ITEM_CD ORDER BY Z.ORD_DTL_ITEM_SQ) AS ITEM_CD
|
|
|
+ , GROUP_CONCAT(Z.OPT_CD ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD
|
|
|
+ , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD1
|
|
|
+ , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.ORD_DTL_ITEM_SQ) AS OPT_CD2
|
|
|
+ , GROUP_CONCAT(Z.ITEM_QTY ORDER BY Z.ORD_DTL_ITEM_SQ) AS ITEM_QTYR
|
|
|
+ , GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.ORD_DTL_ITEM_SQ) AS COLOR_NM
|
|
|
+ , GROUP_CONCAT(Z.SYS_IMG_NM ORDER BY Z.ORD_DTL_ITEM_SQ) AS SYS_IMG_NM
|
|
|
+ FROM (
|
|
|
+ SELECT OD.ORD_NO
|
|
|
+ , OCD.ORD_DTL_NO
|
|
|
+ , OC.ORD_CHG_SQ
|
|
|
+ , OCD.CHG_STAT
|
|
|
+ , BR.BRAND_ENM
|
|
|
+ , BR.BRAND_KNM
|
|
|
+ , G.GOODS_NM
|
|
|
+ , G.GOODS_CD
|
|
|
+ , OCD.CHG_QTY
|
|
|
+ , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = ODI.ITEM_CD) AS ITEM_NM
|
|
|
+ , IFNULL((SELECT COLOR_KNM FROM TB_COLOR C WHERE COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1,'') , G.MAIN_COLOR_CD ) AND USE_YN = 'Y'), ODI.OPT_CD1) AS COLOR_NM
|
|
|
+ , CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = ODI.OPT_CD1 AND DEFAULT_IMG_YN = 'Y')
|
|
|
+ ELSE (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') END AS SYS_IMG_NM
|
|
|
+ , OD.CURR_PRICE
|
|
|
+ , ODI.ORD_DTL_ITEM_SQ
|
|
|
+ , ODI.OPT_ADD_PRICE
|
|
|
+ , ODI.ITEM_CD
|
|
|
+ , ODI.OPT_CD
|
|
|
+ , ODI.OPT_CD1
|
|
|
+ , ODI.OPT_CD2
|
|
|
+ , ODI.ITEM_QTY
|
|
|
+ , OC.ADD_PAY_COST
|
|
|
+ , RF.REFUND_AMT
|
|
|
+ , OC.CHG_GB
|
|
|
+ , OC.CHGER_NM
|
|
|
+ , OC.CHGER_PHNNO
|
|
|
+ FROM TB_ORDER_CHANGE_DETAIL OCD
|
|
|
+ INNER JOIN TB_ORDER_CHANGE OC
|
|
|
+ ON OCD.ORD_CHG_SQ = OC.ORD_CHG_SQ
|
|
|
+ INNER JOIN TB_ORDER_DETAIL OD
|
|
|
+ ON OCD.ORD_DTL_NO = OD.ORD_DTL_NO
|
|
|
+ INNER JOIN TB_ORDER_DETAIL_ITEM ODI
|
|
|
+ ON ODI.ORD_DTL_NO = OCD.ORD_DTL_NO
|
|
|
+ INNER JOIN TB_GOODS G
|
|
|
+ ON OD.GOODS_CD = G.GOODS_CD
|
|
|
+ INNER JOIN TB_BRAND BR
|
|
|
+ ON G.BRAND_CD = BR.BRAND_CD
|
|
|
+ LEFT OUTER JOIN TB_REFUND RF
|
|
|
+ ON RF.ORD_CHG_SQ = OC.ORD_CHG_SQ
|
|
|
+ WHERE 1=1
|
|
|
+ AND OC.ADD_PAY_COST <![CDATA[>]]> 0
|
|
|
+ AND OCD.ORD_CHG_SQ = #{ordChgSq}
|
|
|
+ AND OCD.CHG_STAT IN ('G685_11', 'G685_21', 'G685_32', 'G685_51')
|
|
|
+ AND OCD.DEL_YN = 'N'
|
|
|
+ ) Z
|
|
|
+ GROUP BY Z.ORD_NO
|
|
|
+ , Z.ORD_DTL_NO
|
|
|
+ , Z.ORD_CHG_SQ
|
|
|
+ , Z.CHG_STAT
|
|
|
+ , Z.CHG_GB
|
|
|
+ , Z.CHG_QTY
|
|
|
+ , Z.ADD_PAY_COST
|
|
|
+ , Z.REFUND_AMT
|
|
|
+ , Z.BRAND_ENM
|
|
|
+ , Z.BRAND_KNM
|
|
|
+ , Z.GOODS_NM
|
|
|
+ , Z.GOODS_CD
|
|
|
+ , Z.CURR_PRICE
|
|
|
+ , Z.CHGER_NM
|
|
|
+ , Z.CHGER_PHNNO
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 추가결제 반품,교환 상태값 업데이트 -->
|
|
|
+ <update id="updateOrderChangeDetailChgStat" parameterType="Order">
|
|
|
+ /* TscOrder.updateOrderChangeDetailChgStat */
|
|
|
+ UPDATE TB_ORDER_CHANGE_DETAIL
|
|
|
+ SET CHG_STAT = CASE WHEN CHG_STAT = 'G685_51' THEN 'G685_50'
|
|
|
+ WHEN CHG_STAT = 'G685_21' THEN 'G685_20'
|
|
|
+ WHEN CHG_STAT = 'G685_32' THEN 'G685_31'
|
|
|
+ ELSE CHG_STAT
|
|
|
+ END
|
|
|
+ , UPD_NO = #{custNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE 1=1
|
|
|
+ AND ORD_CHG_SQ = #{ordChgSq}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 추가결제 반품,교환 이력 생성 -->
|
|
|
+ <insert id="createOrderChangeDetailHstChgStat" parameterType="Order">
|
|
|
+ /* TscOrder.createOrderChangeDetailHstChgStat */
|
|
|
+ INSERT INTO TB_ORDER_CHANGE_DETAIL_HST (
|
|
|
+ ORD_CHG_SQ
|
|
|
+ , ORD_DTL_NO
|
|
|
+ , CHG_QTY
|
|
|
+ , CHG_STAT
|
|
|
+ , CHG_ORD_DTL_NO
|
|
|
+ , WH_MEMO
|
|
|
+ , COMPLETE_DT
|
|
|
+ , DEL_YN
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ )
|
|
|
+ SELECT ORD_CHG_SQ
|
|
|
+ , ORD_DTL_NO
|
|
|
+ , CHG_QTY
|
|
|
+ , CHG_STAT
|
|
|
+ , CHG_ORD_DTL_NO
|
|
|
+ , WH_MEMO
|
|
|
+ , COMPLETE_DT
|
|
|
+ , DEL_YN
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ , #{custNo}
|
|
|
+ , NOW()
|
|
|
+ FROM TB_ORDER_CHANGE_DETAIL
|
|
|
+ WHERE ORD_CHG_SQ = #{ordChgSq}
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 주문상세단품 상태값 변경-->
|
|
|
+ <update id="updateOrderDetailItemStat" parameterType="Order">
|
|
|
+ /* TscOrder.updateOrderDetailItemStat */
|
|
|
+ UPDATE TB_ORDER_DETAIL_ITEM
|
|
|
+ SET ORD_DTL_STAT = #{ordDtlStat}
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE ORD_NO = #{ordNo}
|
|
|
+ AND ORD_DTL_NO = #{ordDtlNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 보증보험 신청 완료 수정 -->
|
|
|
+ <update id="updateInsurance" parameterType="Order">
|
|
|
+ /* TscOrder.updateInsurance */
|
|
|
+ UPDATE TB_INSURANCE SET
|
|
|
+ IF_YN = #{ifYn}
|
|
|
+ , INS_NO = #{insNo}
|
|
|
+ , RESULT_CD = #{resultCd}
|
|
|
+ , RESULT_MSG = #{resultMsg}
|
|
|
+ , REG_DT = NOW()
|
|
|
+ WHERE ORD_NO = #{ordNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 보증보험신청정보등록 -->
|
|
|
+ <insert id="createInsurance" parameterType="Order">
|
|
|
+ /* TscOrder.createInsurance */
|
|
|
+ INSERT INTO TB_INSURANCE (
|
|
|
+ ORD_NO
|
|
|
+ , CUST_NO
|
|
|
+ , BIRTH_GEN
|
|
|
+ , INS_NO
|
|
|
+ , RESULT_CD
|
|
|
+ , RESULT_MSG
|
|
|
+ , REG_DT
|
|
|
+ ) VALUES (
|
|
|
+ #{ordNo}
|
|
|
+ , #{custNo}
|
|
|
+ , #{birthYmd}
|
|
|
+ , #{insNo}
|
|
|
+ , #{resultCd}
|
|
|
+ , #{resultMsg}
|
|
|
+ , NOW()
|
|
|
+ )
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 보증보험 정보 수정 -->
|
|
|
+ <update id="updateInsuranceInfo" parameterType="Order">
|
|
|
+ /* TscOrder.updateInsuranceInfo */
|
|
|
+ UPDATE TB_INSURANCE SET
|
|
|
+ IF_YN = #{ifYn}
|
|
|
+ , RESULT_CD = #{resultCd}
|
|
|
+ , RESULT_MSG = #{resultMsg}
|
|
|
+ WHERE 1=1
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 보증보험 정보 조회 -->
|
|
|
+ <select id="getInsuranceInfo" parameterType="Order" resultType="Order">
|
|
|
+ /* TscOrder.getInsuranceInfo */
|
|
|
+ SELECT ORD_NO
|
|
|
+ , CUST_NO
|
|
|
+ , INS_NO
|
|
|
+ FROM TB_INSURANCE
|
|
|
+ WHERE 1=1
|
|
|
+ AND IF_YN = 'N'
|
|
|
+ AND RESULT_CD = '0'
|
|
|
+ AND ORD_NO = #{ordNo}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 상품권 현금영수증 정보 등록 API 결과 -->
|
|
|
+ <insert id="createGiftcartReceiptApi" parameterType="GiftCard">
|
|
|
+ /* TsfOrder.createGiftcartReceiptApi : 상품권 현금영수증 정보 등록 */
|
|
|
+ INSERT INTO TB_GIFTCARD_RECEIPT_API (
|
|
|
+ ORD_NO
|
|
|
+ , TRADE_NO
|
|
|
+ , AUTH_NO
|
|
|
+ , AMT
|
|
|
+ , RESULT_CD
|
|
|
+ , RESULT_MSG
|
|
|
+ , REG_DT
|
|
|
+ ) VALUES (
|
|
|
+ #{ordNo}
|
|
|
+ , #{tradeNo}
|
|
|
+ , #{authNo}
|
|
|
+ , #{usGfcdAmt}
|
|
|
+ , #{resultCd}
|
|
|
+ , #{resultMsg}
|
|
|
+ , NOW()
|
|
|
+ )
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 사은품 현금영수증 금액 금액 수정 -->
|
|
|
+ <update id="updateGiftCardReceipt" parameterType="GiftCard">
|
|
|
+ /* TscOrder.updateGiftCardReceipt : 사은품 현금영수증 금액 금액 수정 */
|
|
|
+ UPDATE TB_GIFTCARD_RECEIPT SET
|
|
|
+ AMT = AMT + #{usGfcdAmt}
|
|
|
+ , UPD_DT = NOW()
|
|
|
+ WHERE ORD_NO = #{ordNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 상품권 현금영수증 정보 조회 -->
|
|
|
+ <select id="getGiftCardReceiptInfo" parameterType="Integer" resultType="GiftCard">
|
|
|
+ /* TscOrder.getGiftCardReceiptInfo : 상품권 현금영수증 정보 조회 */
|
|
|
+ SELECT GR.ORD_NO
|
|
|
+ , GR.TRADE_NO
|
|
|
+ , GR.AUTH_NO
|
|
|
+ , GR.AMT
|
|
|
+ , DATE_FORMAT(O.ORD_DT,'%Y%m%d%H%i%S') AS TRADE_TIME
|
|
|
+ FROM TB_GIFTCARD_RECEIPT GR
|
|
|
+ INNER JOIN TB_ORDER O
|
|
|
+ ON GR.ORD_NO = O.ORD_NO
|
|
|
+ WHERE GR.ORD_NO = #{ordNo}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 주문 현금영수증 정보 조회 -->
|
|
|
+ <select id="getOrderCashReceiptsInfo" parameterType="Integer" resultType="GiftCard">
|
|
|
+ /* TscOrder.getOrderCashReceiptsInfo */
|
|
|
+ SELECT P.ORD_NO
|
|
|
+ , P.CASH_TRADE_NO AS TRADE_NO
|
|
|
+ , P.CASH_AUTH_NO AS AUTH_NO
|
|
|
+ , SUM(P.PAY_AMT) AS AMT
|
|
|
+ , DATE_FORMAT(O.ORD_DT,'%Y%m%d%H%i%S') AS TRADE_TIME
|
|
|
+ FROM TB_PAYMENT P
|
|
|
+ INNER JOIN TB_ORDER O
|
|
|
+ ON P.ORD_NO = O.ORD_NO
|
|
|
+ WHERE P.ORD_NO = #{ordNo}
|
|
|
+ AND P.CASH_TRADE_NO IS NOT NULL
|
|
|
+ GROUP BY P.ORD_NO, P.CASH_TRADE_NO, P.CASH_AUTH_NO, O.ORD_DT
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 포인트사용 기준정보 조회 -->
|
|
|
+ <select id="getPointUseEnvset" resultType="Order">
|
|
|
+ /* TscOrder.getPointUseEnvset : 포인트사용 기준값 조회 */
|
|
|
+ SELECT STR_SET_VAL1 AS POINT_USE_ORD_MIN_AMT
|
|
|
+ , STR_SET_VAL2 AS POINT_USE_MAX_LIMIT
|
|
|
+ FROM TB_ENVSET
|
|
|
+ WHERE 1=1
|
|
|
+ AND ENVSET_TYPE = 'C17'
|
|
|
+ ORDER BY REG_DT DESC
|
|
|
+ LIMIT 1
|
|
|
+ </select>
|
|
|
+</mapper>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|