|
|
@@ -507,6 +507,12 @@
|
|
|
ELSE
|
|
|
(CASE WHEN IFNULL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> FLOOR((CURR_PRICE * DC_MVAL / 100) / #{pointUnit}) * #{pointUnit} THEN MAX_DC_AMT ELSE FLOOR((CURR_PRICE * DC_MVAL / 100) / #{pointUnit}) * #{pointUnit} END)
|
|
|
END) )AS MO_CURR_PRICE
|
|
|
+ , MIN(CURR_PRICE -
|
|
|
+ ( CASE WHEN DC_WAY = 'G240_10' THEN
|
|
|
+ (CASE WHEN IFNULL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> DC_MVAL THEN MAX_DC_AMT ELSE DC_AVAL END)
|
|
|
+ ELSE
|
|
|
+ (CASE WHEN IFNULL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> FLOOR((CURR_PRICE * DC_AVAL / 100) / #{pointUnit}) * #{pointUnit} THEN MAX_DC_AMT ELSE FLOOR((CURR_PRICE * DC_AVAL / 100) / #{pointUnit}) * #{pointUnit} END)
|
|
|
+ END) )AS APP_CURR_PRICE
|
|
|
, STAFF_CURR_PRICE
|
|
|
, MIN(STAFF_CURR_PRICE -
|
|
|
( CASE WHEN DC_WAY = 'V' THEN
|
|
|
@@ -520,19 +526,26 @@
|
|
|
ELSE
|
|
|
(CASE WHEN IFNULL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> FLOOR((STAFF_CURR_PRICE * DC_MVAL / 100) / #{pointUnit}) * #{pointUnit} THEN MAX_DC_AMT ELSE FLOOR((STAFF_CURR_PRICE * DC_MVAL / 100) / #{pointUnit}) * #{pointUnit} END)
|
|
|
END) )AS STAFF_MO_CURR_PRICE
|
|
|
+ , MIN(STAFF_CURR_PRICE -
|
|
|
+ ( CASE WHEN DC_WAY = 'G240_10' THEN
|
|
|
+ (CASE WHEN IFNULL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> DC_MVAL THEN MAX_DC_AMT ELSE DC_AVAL END)
|
|
|
+ ELSE
|
|
|
+ (CASE WHEN IFNULL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> FLOOR((STAFF_CURR_PRICE * DC_AVAL / 100) / #{pointUnit}) * #{pointUnit} THEN MAX_DC_AMT ELSE FLOOR((STAFF_CURR_PRICE * DC_AVAL / 100) / #{pointUnit}) * #{pointUnit} END)
|
|
|
+ END) )AS STAFF_APP_CURR_PRICE
|
|
|
FROM (
|
|
|
SELECT CP.CPN_ID
|
|
|
, CP.CPN_NM
|
|
|
, CP.DC_WAY /*할인방식*/
|
|
|
, CP.DC_PVAL /*PC 할인값*/
|
|
|
, CP.DC_MVAL /*MO 할인값*/
|
|
|
+ , CP.DC_AVAL /*APP 할인값*/
|
|
|
, CP.MAX_DC_AMT /*최대할인금액*/
|
|
|
, CP.CURR_PRICE /*전체 판매가*/
|
|
|
, CP.CURR_PRICE_YN
|
|
|
- , CP.STAFF_CURR_PRICE /*임직원판매가*/
|
|
|
+ , CP.STAFF_CURR_PRICE /*임직원판매가*/
|
|
|
, CP.STAFF_CURR_PRICE_YN
|
|
|
, CP.AVAIL_EDDT
|
|
|
- , CP.USABLE_CUST_GB AS CUST_GB
|
|
|
+ -- , CP.USABLE_CUST_GB AS CUST_GB
|
|
|
, CP.GOODS_CD
|
|
|
FROM (
|
|
|
SELECT CP.CPN_ID /*쿠폰ID*/
|
|
|
@@ -540,6 +553,7 @@
|
|
|
, CP.DC_WAY /*할인방식*/
|
|
|
, CP.DC_PVAL /*PC할인값*/
|
|
|
, CP.DC_MVAL /*모바일할인값*/
|
|
|
+ , CP.DC_AVAL /*APP할인값*/
|
|
|
, CP.MAX_DC_AMT /*최대할인금액*/
|
|
|
, G.CURR_PRICE /*현재판매가*/
|
|
|
, CASE WHEN BUY_LIMIT_AMT <![CDATA[<=]]> G.CURR_PRICE THEN 'Y'
|
|
|
@@ -550,17 +564,25 @@
|
|
|
ELSE 'N'
|
|
|
END AS STAFF_CURR_PRICE_YN
|
|
|
, IF (CP.PD_GB = 'D', DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 DAY), '%Y-%m-%d %H:%i:%S'), CP.AVAIL_EDDT) AS AVAIL_EDDT
|
|
|
- , CP.USABLE_CUST_GB /*쿠폰사용이 가능한 고객(G100_00:전체, G100_10:일반회원, G100_20:임직원)*/
|
|
|
+ -- , CP.USABLE_CUST_GB /*쿠폰사용이 가능한 고객(G100_00:전체, G100_10:일반회원, G100_20:임직원)*/
|
|
|
, G.GOODS_CD
|
|
|
FROM TB_GOODS G
|
|
|
, TB_COUPON CP
|
|
|
- WHERE CP.SITE_CD = '10'
|
|
|
+ WHERE CP.SITE_CD = 'G000_10'
|
|
|
AND NOW() <![CDATA[<=]]> IF (CP.PD_GB = 'D', DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 DAY), '%Y-%m-%d %H:%i:%S'), CP.AVAIL_EDDT)
|
|
|
AND NOW() BETWEEN CP.DOWN_STDT AND CP.DOWN_EDDT
|
|
|
AND CP.DN_GB = 'G058_10' /* 자동다운로드(결제시)다운로드*/
|
|
|
AND CP.CPN_TYPE = 'G230_10' /*즉시할인쿠폰*/
|
|
|
- AND CP.USABLE_CUST_GB = #{usableCustGb}
|
|
|
- AND CP.USABLE_CUST_GRADE = 'G100_00' /* 사용가능고객등급이 일반만*/
|
|
|
+ AND (SELECT COUNT(1)
|
|
|
+ FROM TB_COUPON_CUST_GBN
|
|
|
+ WHERE CPN_ID = CP.CPN_ID
|
|
|
+ AND USABLE_CUST_GB IN ('G100_10') /*사용가능고객구분 일반회원*/
|
|
|
+ ) >= 1
|
|
|
+ AND (SELECT COUNT(1)
|
|
|
+ FROM TB_COUPON_CUST_GRADE
|
|
|
+ WHERE CPN_ID = CP.CPN_ID
|
|
|
+ AND USABLE_CUST_GRADE IN ('G110_10', 'G110_20', 'G110_30', 'G110_40', 'G110_50' ) /*전체고객*/
|
|
|
+ ) = 5
|
|
|
AND CP.BUY_LIMIT_AMT <![CDATA[<=]]> G.CURR_PRICE /*최소주문금액*/
|
|
|
AND IF (CP.TOT_PUB_LIMIT_QTY = 0, 9999999999,CP.TOT_PUB_LIMIT_QTY) > (SELECT COUNT(1) FROM TB_CUST_COUPON WHERE CPN_ID = CP.CPN_ID) /*총발행제한수*/
|
|
|
AND (
|
|
|
@@ -573,8 +595,7 @@
|
|
|
AND REF_VAL = G.GOODS_CD
|
|
|
) > 0
|
|
|
)
|
|
|
- /*OR*/ /* 적용대상:카테고리*/
|
|
|
- /*
|
|
|
+ OR /* 적용대상:카테고리*/
|
|
|
(CP.APPLY_SCOPE = 'I' AND (SELECT COUNT(1) FROM TB_COUPON_REFVAL
|
|
|
WHERE CPN_ID = CP.CPN_ID
|
|
|
AND CPN_TARGET = 'G260_11'
|
|
|
@@ -630,7 +651,6 @@
|
|
|
)
|
|
|
) >0
|
|
|
)
|
|
|
- */
|
|
|
OR /* 적용대상:브랜드*/
|
|
|
(CP.APPLY_SCOPE = 'I' AND (SELECT COUNT(1) FROM TB_COUPON_REFVAL
|
|
|
WHERE CPN_ID = CP.CPN_ID
|
|
|
@@ -685,9 +705,11 @@
|
|
|
, CURR_PRICE
|
|
|
, PC_CURR_PRICE
|
|
|
, MO_CURR_PRICE
|
|
|
+ , APP_CURR_PRICE
|
|
|
, STAFF_CURR_PRICE
|
|
|
, STAFF_PC_CURR_PRICE
|
|
|
, STAFF_MO_CURR_PRICE
|
|
|
+ , STAFF_APP_CURR_PRICE
|
|
|
)
|
|
|
<include refid="getGoodsBenefitList_sql"/>
|
|
|
</insert>
|
|
|
@@ -701,9 +723,11 @@
|
|
|
, CURR_PRICE
|
|
|
, PC_CURR_PRICE
|
|
|
, MO_CURR_PRICE
|
|
|
+ , APP_CURR_PRICE
|
|
|
, STAFF_CURR_PRICE
|
|
|
, STAFF_PC_CURR_PRICE
|
|
|
, STAFF_MO_CURR_PRICE
|
|
|
+ , STAFF_APP_CURR_PRICE
|
|
|
, REG_DT
|
|
|
)
|
|
|
(
|
|
|
@@ -720,16 +744,20 @@
|
|
|
<if test="usableCustGb != null and usableCustGb == 'G100_00'">
|
|
|
, PC_CURR_PRICE = B.PC_CURR_PRICE
|
|
|
, MO_CURR_PRICE = B.MO_CURR_PRICE
|
|
|
+ , APP_CURR_PRICE = B.APP_CURR_PRICE
|
|
|
, STAFF_PC_CURR_PRICE = B.STAFF_PC_CURR_PRICE
|
|
|
, STAFF_MO_CURR_PRICE = B.STAFF_MO_CURR_PRICE
|
|
|
+ , STAFF_APP_CURR_PRICE = B.STAFF_APP_CURR_PRICE
|
|
|
</if>
|
|
|
<if test="usableCustGb != null and usableCustGb == 'G100_10'">
|
|
|
, PC_CURR_PRICE = IF (TB_GOODS_BENEFIT_PRICE_TEMP.PC_CURR_PRICE >= B.PC_CURR_PRICE, B.PC_CURR_PRICE, TB_GOODS_BENEFIT_PRICE_TEMP.PC_CURR_PRICE)
|
|
|
, MO_CURR_PRICE = IF (TB_GOODS_BENEFIT_PRICE_TEMP.MO_CURR_PRICE >= B.MO_CURR_PRICE, B.MO_CURR_PRICE, TB_GOODS_BENEFIT_PRICE_TEMP.MO_CURR_PRICE)
|
|
|
+ , APP_CURR_PRICE = IF (TB_GOODS_BENEFIT_PRICE_TEMP.APP_CURR_PRICE >= B.APP_CURR_PRICE, B.APP_CURR_PRICE, TB_GOODS_BENEFIT_PRICE_TEMP.APP_CURR_PRICE)
|
|
|
</if>
|
|
|
<if test="usableCustGb != null and usableCustGb == 'G100_20'">
|
|
|
, STAFF_PC_CURR_PRICE = IF (TB_GOODS_BENEFIT_PRICE_TEMP.STAFF_PC_CURR_PRICE >= B.STAFF_PC_CURR_PRICE, B.STAFF_PC_CURR_PRICE, TB_GOODS_BENEFIT_PRICE_TEMP.STAFF_PC_CURR_PRICE)
|
|
|
, STAFF_MO_CURR_PRICE = IF (TB_GOODS_BENEFIT_PRICE_TEMP.STAFF_MO_CURR_PRICE >= B.STAFF_MO_CURR_PRICE, B.STAFF_MO_CURR_PRICE, TB_GOODS_BENEFIT_PRICE_TEMP.STAFF_MO_CURR_PRICE)
|
|
|
+ , STAFF_APP_CURR_PRICE = IF (TB_GOODS_BENEFIT_PRICE_TEMP.STAFF_APP_CURR_PRICE >= B.STAFF_APP_CURR_PRICE, B.STAFF_APP_CURR_PRICE, TB_GOODS_BENEFIT_PRICE_TEMP.STAFF_APP_CURR_PRICE)
|
|
|
</if>
|
|
|
</update>
|
|
|
|
|
|
@@ -748,9 +776,11 @@
|
|
|
, CURR_PRICE
|
|
|
, PC_CURR_PRICE
|
|
|
, MO_CURR_PRICE
|
|
|
+ , APP_CURR_PRICE
|
|
|
, STAFF_CURR_PRICE
|
|
|
, STAFF_PC_CURR_PRICE
|
|
|
, STAFF_MO_CURR_PRICE
|
|
|
+ , STAFF_APP_CURR_PRICE
|
|
|
, REG_DT
|
|
|
)
|
|
|
SELECT GOODS_CD
|
|
|
@@ -758,9 +788,11 @@
|
|
|
, CURR_PRICE
|
|
|
, PC_CURR_PRICE
|
|
|
, MO_CURR_PRICE
|
|
|
+ , APP_CURR_PRICE
|
|
|
, STAFF_CURR_PRICE
|
|
|
, STAFF_PC_CURR_PRICE
|
|
|
, STAFF_MO_CURR_PRICE
|
|
|
+ , STAFF_APP_CURR_PRICE
|
|
|
, NOW()
|
|
|
FROM TB_GOODS_BENEFIT_PRICE_TEMP
|
|
|
</insert>
|