|
|
@@ -1601,67 +1601,73 @@
|
|
|
<!-- 장바구니 상품 목록 조회 (업체별 배송단위) -->
|
|
|
<select id="getCartGoodsList" parameterType="Order" resultType="Order">
|
|
|
/* TsfOrder.getCartGoodsList */
|
|
|
- SELECT CA.CART_SQ
|
|
|
- , CD.CART_DTL_SQ
|
|
|
- , BR.BRAND_ENM
|
|
|
- , G.GOODS_NM
|
|
|
- , CA.GOODS_CD
|
|
|
- , CD.ITEM_CD
|
|
|
- , OP.OPT_CD
|
|
|
- , OP.OPT_CD1
|
|
|
- , OP.OPT_CD2
|
|
|
- , CA.GOODS_QTY
|
|
|
- , G.GOODS_TYPE
|
|
|
- , G.LIST_PRICE
|
|
|
- , G.CURR_PRICE
|
|
|
- , G.GOODS_GB
|
|
|
- , G.PRE_PPNT_USABLE_YN
|
|
|
- , G.PRE_MPNT_USABLE_YN
|
|
|
- , G.MIN_ORD_AMT
|
|
|
- , G.MAX_ORD_QTY
|
|
|
- , G.DAY_MAX_ORD_QTY
|
|
|
- , G.GIFT_PACK_YN
|
|
|
- , G.NEW_CUST_ORD_YN
|
|
|
- , DFP.SUPPLY_COMP_CD
|
|
|
- , CASE WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
|
|
|
- ELSE DFP.DELV_FEE_CD END AS DELV_FEE_CD
|
|
|
- , GRS.DELV_RES_DT
|
|
|
- , DFP.MIN_ORD_AMT
|
|
|
- , DFP.DELV_FEE
|
|
|
- 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_OPTION OP
|
|
|
- ON CD.ITEM_CD = OP.GOODS_CD
|
|
|
- AND CD.OPT_CD1 = OP.OPT_CD1
|
|
|
- AND CD.OPT_CD2 = OP.OPT_CD2
|
|
|
- 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 OUTER JOIN TB_GOODS_RES_SELL GRS
|
|
|
- ON CA.GOODS_CD = GRS.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>
|
|
|
- <if test="cartSqArr != null and cartSqArr ==''">
|
|
|
- AND CA.CART_SQ IN
|
|
|
- <foreach collection="cartSqArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
- #{item}
|
|
|
- </foreach>
|
|
|
- </if>
|
|
|
- ORDER BY DFP.SUPPLY_COMP_CD
|
|
|
- , DFP.DELV_FEE_CD
|
|
|
- , CD.CART_SQ
|
|
|
- , CD.CART_DTL_SQ
|
|
|
+ SELECT Z.*
|
|
|
+ FROM (
|
|
|
+ SELECT CA.CART_SQ
|
|
|
+ , CD.CART_DTL_SQ
|
|
|
+ , BR.BRAND_ENM
|
|
|
+ , G.GOODS_NM
|
|
|
+ , CA.GOODS_CD
|
|
|
+ , CD.ITEM_CD
|
|
|
+ , OP.OPT_CD
|
|
|
+ , OP.OPT_CD1
|
|
|
+ , OP.OPT_CD2
|
|
|
+ , CA.GOODS_QTY
|
|
|
+ , G.GOODS_TYPE
|
|
|
+ , G.LIST_PRICE
|
|
|
+ , G.CURR_PRICE
|
|
|
+ , G.GOODS_GB
|
|
|
+ , G.PRE_PPNT_USABLE_YN
|
|
|
+ , G.PRE_MPNT_USABLE_YN
|
|
|
+ , G.MIN_ORD_AMT
|
|
|
+ , G.MAX_ORD_QTY
|
|
|
+ , G.DAY_MAX_ORD_QTY
|
|
|
+ , G.GIFT_PACK_YN
|
|
|
+ , G.NEW_CUST_ORD_YN
|
|
|
+ , DFP.SUPPLY_COMP_CD
|
|
|
+ , 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 G.SELF_GOODS_YN = 'Y' THEN 'WMS'
|
|
|
+ ELSE DFP.DELV_FEE_CD END AS RES_DELV_FEE_CD
|
|
|
+ , GRS.DELV_RES_DT
|
|
|
+ , DFP.MIN_ORD_AMT
|
|
|
+ , DFP.DELV_FEE
|
|
|
+ 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_OPTION OP
|
|
|
+ ON CD.ITEM_CD = OP.GOODS_CD
|
|
|
+ AND CD.OPT_CD1 = OP.OPT_CD1
|
|
|
+ AND CD.OPT_CD2 = OP.OPT_CD2
|
|
|
+ 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 OUTER JOIN TB_GOODS_RES_SELL GRS
|
|
|
+ ON CA.GOODS_CD = GRS.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>
|
|
|
+ <if test="cartSqArr != null and cartSqArr ==''">
|
|
|
+ AND CA.CART_SQ IN
|
|
|
+ <foreach collection="cartSqArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ ) Z
|
|
|
+ ORDER BY Z.SUPPLY_COMP_CD
|
|
|
+ , Z.DELV_FEE_CD
|
|
|
+ , Z.CART_SQ
|
|
|
+ , Z.CART_DTL_SQ
|
|
|
</select>
|
|
|
|
|
|
<!-- 고객정보 조회 -->
|
|
|
@@ -1673,6 +1679,7 @@
|
|
|
FROM TB_CUSTOMER CU
|
|
|
WHERE 1=1
|
|
|
AND CU.CUST_NO = #{custNo}
|
|
|
+ LIMIT 1
|
|
|
</select>
|
|
|
|
|
|
<!-- 배송지정보 조회 -->
|
|
|
@@ -1764,8 +1771,8 @@
|
|
|
, CP.MAX_DC_AMT
|
|
|
, CP.BUY_LIMIT_AMT
|
|
|
, CASE WHEN CP.DC_WAY = 'G240_11'
|
|
|
- THEN (Z.CURR_PRICE * CP.DC_PVAL) / 100
|
|
|
- ELSE CP.DC_PVAL
|
|
|
+ THEN (((Z.CURR_PRCE + Z.ADD_PRICE) * Z.GOODS_QTY) * CP.DC_PVAL) / 100
|
|
|
+ ELSE CP.DC_PVAL * Z.GOODS_QTY
|
|
|
END PC_CURR_PRICE
|
|
|
FROM TB_COUPON CP
|
|
|
INNER JOIN TB_COUPON_CUST_GBN CGB
|
|
|
@@ -1775,87 +1782,95 @@
|
|
|
ON CP.CPN_ID = CGR.CPN_ID
|
|
|
AND CGR.USABLE_CUST_GRADE IN ('G110_40', 'G110_50')
|
|
|
INNER JOIN (
|
|
|
- SELECT CR.CPN_ID
|
|
|
- , GD.GOODS_CD
|
|
|
- , GD.CURR_PRICE
|
|
|
- , GD.ADD_PRICE
|
|
|
- , GD.GOODS_QTY
|
|
|
- , GD.GOODS_TYPE
|
|
|
- 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.CURR_PRICE
|
|
|
- , GD.ADD_PRICE
|
|
|
- , GD.GOODS_QTY
|
|
|
- , GD.GOODS_TYPE
|
|
|
- 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 CR1.CPN_ID
|
|
|
- , GD.GOODS_CD
|
|
|
- , GD.CURR_PRICE
|
|
|
- , GD.ADD_PRICE
|
|
|
- , GD.GOODS_QTY
|
|
|
- , GD.GOODS_TYPE
|
|
|
- FROM GOODS_DATA GD
|
|
|
- INNER JOIN TB_COUPON_REFVAL CR1
|
|
|
- ON GD.SUPPLY_COMP_CD = CR1.REF_VAL
|
|
|
- AND CR1.CPN_TARGET = 'G260_12' -- 브랜드
|
|
|
- AND CR1.DEL_YN = 'N'
|
|
|
- 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'
|
|
|
+ SELECT X.*
|
|
|
+ FROM (
|
|
|
+ SELECT CR.CPN_ID
|
|
|
+ , GD.GOODS_CD
|
|
|
+ , GD.CURR_PRICE
|
|
|
+ , GD.ADD_PRICE
|
|
|
+ , GD.GOODS_QTY
|
|
|
+ , GD.GOODS_TYPE
|
|
|
+ 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.CURR_PRICE
|
|
|
+ , GD.ADD_PRICE
|
|
|
+ , GD.GOODS_QTY
|
|
|
+ , GD.GOODS_TYPE
|
|
|
+ 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 CR1.CPN_ID
|
|
|
+ , GD.GOODS_CD
|
|
|
+ , GD.CURR_PRICE
|
|
|
+ , GD.ADD_PRICE
|
|
|
+ , GD.GOODS_QTY
|
|
|
+ , GD.GOODS_TYPE
|
|
|
+ FROM GOODS_DATA GD
|
|
|
+ INNER JOIN TB_COUPON_REFVAL CR1
|
|
|
+ ON GD.SUPPLY_COMP_CD = CR1.REF_VAL
|
|
|
+ AND CR1.CPN_TARGET = 'G260_12' -- 브랜드
|
|
|
+ AND CR1.DEL_YN = 'N'
|
|
|
+ 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'
|
|
|
+ ) 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'
|
|
|
) Z
|
|
|
ON Z.CPN_ID = CP.CPN_ID
|
|
|
WHERE 1=1
|
|
|
- AND CP.SITE_CD = '10'
|
|
|
+ AND CP.SITE_CD = '10' -- 자사몰
|
|
|
AND CP.CPN_TYPE = 'G230_10' -- 즉시할인
|
|
|
AND CP.DOWN_STDT <![CDATA[<]]> CURRENT_TIMESTAMP
|
|
|
AND CP.DOWN_EDDT > CURRENT_TIMESTAMP
|
|
|
@@ -1913,92 +1928,210 @@
|
|
|
ON CP.CPN_ID = CGR.CPN_ID
|
|
|
AND CGR.USABLE_CUST_GRADE IN ('G110_40', 'G110_50')
|
|
|
INNER JOIN (
|
|
|
- SELECT CR.CPN_ID
|
|
|
- , GD.GOODS_CD
|
|
|
- , GD.CURR_PRICE
|
|
|
- , GD.ADD_PRICE
|
|
|
- , GD.GOODS_QTY
|
|
|
- , GD.GOODS_TYPE
|
|
|
- FROM TB_COUPON_REFVAL CR
|
|
|
- INNER JOIN GOODS_DATA GD
|
|
|
- ON CR.REF_VAL = GD.GOODS_CD
|
|
|
+ SELECT X.*
|
|
|
+ FROM (
|
|
|
+ SELECT CR.CPN_ID
|
|
|
+ , GD.GOODS_CD
|
|
|
+ , GD.CURR_PRICE
|
|
|
+ , GD.ADD_PRICE
|
|
|
+ , GD.GOODS_QTY
|
|
|
+ , GD.GOODS_TYPE
|
|
|
+ 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.CURR_PRICE
|
|
|
+ , GD.ADD_PRICE
|
|
|
+ , GD.GOODS_QTY
|
|
|
+ , GD.GOODS_TYPE
|
|
|
+ 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 CR1.CPN_ID
|
|
|
+ , GD.GOODS_CD
|
|
|
+ , GD.CURR_PRICE
|
|
|
+ , GD.ADD_PRICE
|
|
|
+ , GD.GOODS_QTY
|
|
|
+ , GD.GOODS_TYPE
|
|
|
+ FROM GOODS_DATA GD
|
|
|
+ INNER JOIN TB_COUPON_REFVAL CR1
|
|
|
+ ON GD.SUPPLY_COMP_CD = CR1.REF_VAL
|
|
|
+ AND CR1.CPN_TARGET = 'G260_12' -- 브랜드
|
|
|
+ AND CR1.DEL_YN = 'N'
|
|
|
+ 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'
|
|
|
+ ) 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'
|
|
|
+ ) Z
|
|
|
+ ON Z.CPN_ID = CP.CPN_ID
|
|
|
+ INNER JOIN TB_CUST_COUPON CCP
|
|
|
+ ON CP.CPN_ID = CCP.CPN_ID
|
|
|
+ WHERE 1=1
|
|
|
+ AND CP.SITE_CD = '10'
|
|
|
+ AND CP.CPN_TYPE IN ('G230_11', 'G230_20') -- 상품쿠폰, 장바구니쿠폰
|
|
|
+ AND CP.DOWN_STDT <![CDATA[<]]> CURRENT_TIMESTAMP
|
|
|
+ AND CP.DOWN_EDDT > CURRENT_TIMESTAMP
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 사은품 : 1차조건 적용된 사음품 정보, 상품 금액 조회 -->
|
|
|
+ <select id="getFreeGiftGoodsApplyAmt" parameterType="Order" resultType="Order">
|
|
|
+ /* TsfOrder.getFreeGiftGoodsApplyAmt */
|
|
|
+ WITH GOODS_DATA AS (
|
|
|
+ SELECT CA.GOODS_CD
|
|
|
+ , G.SUPPLY_COMP_CD
|
|
|
+ , G.BRAND_CD
|
|
|
+ , CA.GOODS_QTY
|
|
|
+ , G.CURR_PRICE
|
|
|
+ , OP.ADD_PRICE
|
|
|
+ , G.GOODS_TYPE
|
|
|
+ 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 TB_OPTION OP
|
|
|
+ ON G.GOODS_CD = OP.GOODS_CD
|
|
|
+ AND CD.OPT_CD = OP.OPT_CD
|
|
|
WHERE 1=1
|
|
|
- AND CR.CPN_TARGET = 'G260_10' -- 상품
|
|
|
- AND CR.DEL_YN = 'N'
|
|
|
- UNION
|
|
|
- SELECT CR.CPN_ID
|
|
|
+ AND G.GOODS_STAT = 'G008_90' -- 승인완료
|
|
|
+ AND G.SELF_GOODS_YN = 'Y' -- 자사상품
|
|
|
+ AND CA.CUST_NO = 0 -- 고객번호
|
|
|
+ )
|
|
|
+ SELECT FGG.FREEGIFT_SQ
|
|
|
+ , SUM(IFNULL((FGG.CURR_PRICE + FGG.ADD_PRICE) * FGG.GOODS_QTY,0)) FREEGIFT_AMT
|
|
|
+ FROM TB_FREEGIFT FG
|
|
|
+ INNER JOIN (
|
|
|
+ SELECT FGG.FREEGIFT_SQ
|
|
|
, GD.GOODS_CD
|
|
|
, GD.CURR_PRICE
|
|
|
, GD.ADD_PRICE
|
|
|
, GD.GOODS_QTY
|
|
|
- , GD.GOODS_TYPE
|
|
|
- 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
|
|
|
+ FROM TB_FREEGIFT_GOODS FGG
|
|
|
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'
|
|
|
+ ON FGG.TARGET_VAL = GD.BRAND_CD
|
|
|
+ WHERE 1=1
|
|
|
+ AND FGG.GOODS_GB = 'G800_20' -- 적용상품
|
|
|
+ AND FGG.TARGET_GB= 'G260_10' -- 상품
|
|
|
+ AND FGG.DEL_YN = 'N'
|
|
|
UNION
|
|
|
- SELECT CR1.CPN_ID
|
|
|
+ SELECT FGG1.FREEGIFT_SQ
|
|
|
, GD.GOODS_CD
|
|
|
, GD.CURR_PRICE
|
|
|
, GD.ADD_PRICE
|
|
|
, GD.GOODS_QTY
|
|
|
- , GD.GOODS_TYPE
|
|
|
FROM GOODS_DATA GD
|
|
|
- INNER JOIN TB_COUPON_REFVAL CR1
|
|
|
- ON GD.SUPPLY_COMP_CD = CR1.REF_VAL
|
|
|
- AND CR1.CPN_TARGET = 'G260_12' -- 브랜드
|
|
|
- AND CR1.DEL_YN = 'N'
|
|
|
- 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'
|
|
|
- ) Z
|
|
|
- ON Z.CPN_ID = CP.CPN_ID
|
|
|
- INNER JOIN TB_CUST_COUPON CCP
|
|
|
- ON CP.CPN_ID = CCP.CPN_ID
|
|
|
+ INNER JOIN TB_FREEGIFT_GOODS FGG1
|
|
|
+ ON GD.SUPPLY_COMP_CD = FGG1.TARGET_VAL
|
|
|
+ AND FGG1.GOODS_GB = 'G800_20' -- 적용상품
|
|
|
+ AND FGG1.TARGET_GB= 'G260_12' -- 공급처
|
|
|
+ AND FGG1.DEL_YN = 'N'
|
|
|
+ INNER JOIN TB_FREEGIFT_GOODS FGG2
|
|
|
+ ON GD.BRAND_CD = FGG2.TARGET_VAL
|
|
|
+ AND FGG2.GOODS_GB = 'G800_20' -- 적용상품
|
|
|
+ AND FGG2.TARGET_GB= 'G260_11' -- 브랜드
|
|
|
+ AND FGG2.DEL_YN = 'N'
|
|
|
+ ) FGG
|
|
|
+ ON FG.FREEGIFT_SQ = FGG.FREEGIFT_SQ
|
|
|
+ LEFT OUTER JOIN TB_FREEGIFT_GOODS NOT_APPLY_GOODS
|
|
|
+ ON FGG.FREEGIFT_SQ = NOT_APPLY_GOODS.FREEGIFT_SQ
|
|
|
+ AND FGG.GOODS_CD = NOT_APPLY_GOODS.TARGET_VAL
|
|
|
+ AND NOT_APPLY_GOODS.TARGET_GB = 'G800_30'
|
|
|
WHERE 1=1
|
|
|
- AND CP.SITE_CD = '10'
|
|
|
- AND CP.CPN_TYPE IN ('G230_11', 'G230_20') -- 상품쿠폰, 장바구니쿠폰
|
|
|
- AND CP.DOWN_STDT <![CDATA[<]]> CURRENT_TIMESTAMP
|
|
|
- AND CP.DOWN_EDDT > CURRENT_TIMESTAMP
|
|
|
+ AND NOT_APPLY_GOODS.FREEGIFT_SQ IS NULL
|
|
|
+ AND FG.DEL_YN = 'N'
|
|
|
+ AND FG.SELF_YN = 'Y'
|
|
|
+ AND FG.FREEGIFT_STAT = 'G232_11' -- 진행
|
|
|
+ AND FG.FREEGIFT_STDT <![CDATA[<]]> CURRENT_TIMESTAMP
|
|
|
+ AND FG.FREEGIFT_EDDT > CURRENT_TIMESTAMP
|
|
|
+ GROUP BY FGG.FREEGIFT_SQ
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 사은품 : 2차조건 적용된 사은품상품금액 구간정보조회 -->
|
|
|
+ <select id="getFreeGiftGoodsApplyAmt" parameterType="Order" resultType="Order">
|
|
|
+ /* TsfOrder.getFreeGiftGoodsApplyAmt */
|
|
|
+ SELECT FGS.FREEGIFT_SECTION_SQ
|
|
|
+ , FGS.FREEGIFT_SQ
|
|
|
+ , FGS.SECTION_GB
|
|
|
+ , FGS.SECTION_VAL
|
|
|
+ FROM TB_FREEGIFT_SECTION FGS
|
|
|
+ WHERE 1=1
|
|
|
+ AND FGS.DEL_YN = 'N'
|
|
|
+ <if test="freegiftSqArr != null and freegiftSqArr ==''">
|
|
|
+ AND FGS.FREEGIFT_SQ IN
|
|
|
+ <foreach collection="freegiftSqArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 사은품 : 3차조건 적용된 구간정보의 사은품정보조회 -->
|
|
|
+ <select id="getFreeGiftGoodsApplyAmt" parameterType="Order" resultType="Order">
|
|
|
+ /* TsfOrder.getFreeGiftGoodsApplyAmt */
|
|
|
+ SELECT FGV.FREEGIFT_SECTION_SQ
|
|
|
+ , FGV.FREEGIFT_SQ
|
|
|
+ , FGV.USE_POINT
|
|
|
+ , FGV.ITEM_QTY
|
|
|
+ , FGV.ITEM_CD
|
|
|
+ FROM TB_FREEGIFT_VAL FGV
|
|
|
+ WHERE 1=1
|
|
|
+ AND FGV.DEL_YN = 'N'
|
|
|
+ <if test="freegiftSectionSqArr != null and freegiftSectionSqArr ==''">
|
|
|
+ AND FGV.FREEGIFT_SECTION_SQ IN (
|
|
|
+ <foreach collection="freegiftSectionSqArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
</select>
|
|
|
|
|
|
<!-- 마이페이지 주문 목록 조회 -->
|