|
|
@@ -1711,6 +1711,8 @@
|
|
|
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()
|
|
|
WHERE 1 = 1
|
|
|
AND G.GOODS_STAT = 'G008_90'
|
|
|
<if test="custNo == 0">
|
|
|
@@ -1757,6 +1759,7 @@
|
|
|
, GI.SYS_IMG_NM
|
|
|
ORDER BY Z.SUPPLY_COMP_CD
|
|
|
, Z.DELV_FEE_CD
|
|
|
+ , Z.GOODS_CD
|
|
|
, Z.CART_SQ
|
|
|
</select>
|
|
|
|
|
|
@@ -1878,136 +1881,175 @@
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
)
|
|
|
- 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
|
|
|
- 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 CT.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
|
|
|
- LEFT OUTER 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
|
|
|
+ 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
|
|
|
+ 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 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.CART_SQ
|
|
|
- , GD.CURR_PRICE
|
|
|
- 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
|
|
|
- <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 CP.AVAIL_STDT <![CDATA[<]]> CURRENT_TIMESTAMP
|
|
|
- AND CP.AVAIL_EDDT > CURRENT_TIMESTAMP
|
|
|
- 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
|
|
|
- ORDER BY Z.GOODS_CD
|
|
|
- , CP.CPN_ID
|
|
|
+ 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 CR1.CPN_ID
|
|
|
+ , GD.GOODS_CD
|
|
|
+ , GD.CART_SQ
|
|
|
+ , GD.CURR_PRICE
|
|
|
+ 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
|
|
|
+ <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 CP.AVAIL_STDT <![CDATA[<]]> CURRENT_TIMESTAMP
|
|
|
+ AND CP.AVAIL_EDDT > CURRENT_TIMESTAMP
|
|
|
+ AND CT.CUST_NO = #{custNo}
|
|
|
+ AND CP.APPLY_SCOPE = 'I'
|
|
|
+ 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
|
|
|
+ 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
|
|
|
+ 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 CP.AVAIL_STDT <![CDATA[<]]> CURRENT_TIMESTAMP
|
|
|
+ AND CP.AVAIL_EDDT > CURRENT_TIMESTAMP
|
|
|
+ AND CT.CUST_NO = #{custNo}
|
|
|
+ AND CP.APPLY_SCOPE = 'A'
|
|
|
+ ) X
|
|
|
</select>
|
|
|
|
|
|
<!-- 배송비쿠폰 조회 -->
|
|
|
@@ -2023,13 +2065,23 @@
|
|
|
, CP.MAX_DC_AMT
|
|
|
, CP.BUY_LIMIT_AMT
|
|
|
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 = '10'
|
|
|
- AND CP.CPN_TYPE = 'G230_30'
|
|
|
+ AND CP.SITE_CD = 'G000_10'
|
|
|
+ AND CP.CPN_STAT = 'G232_11' -- 진행쿠폰
|
|
|
+ AND CP.CPN_TYPE = 'G230_30' -- 배송비쿠폰
|
|
|
AND CCP.AVAIL_STDT <![CDATA[<]]> CURRENT_TIMESTAMP
|
|
|
AND CCP.AVAIL_EDDT > CURRENT_TIMESTAMP
|
|
|
+ AND CT.CUST_NO = #{custNo}
|
|
|
</select>
|
|
|
|
|
|
<!-- 구매확정 포인트 지급 -->
|