|
|
@@ -4,16 +4,18 @@ create FUNCTION FN_IS_GOODS_COUPON
|
|
|
(I_FRONT_GB VARCHAR(20)
|
|
|
,I_GOODS_CD VARCHAR(20)
|
|
|
,I_CURR_PRICE int
|
|
|
+ ,I_USABLE_CUST_GB VARCHAR(20)
|
|
|
) RETURNS CHAR(1)
|
|
|
/******************************************************************************
|
|
|
/*
|
|
|
/* Module : 상품쿠폰 존재여부
|
|
|
/* Program Name : FN_IS_GOODS_COUPON
|
|
|
-/* Description : 상품의 최대로 할인 받는 쿠폰정보 조회한다.
|
|
|
-/*
|
|
|
+/* Description : 상품상세에서 다운받을수 있는 쿠폰이 존재하는지 확인한다.
|
|
|
+/*
|
|
|
/* Input : i_front_gb => 프론트구분(P:PC, M:모바일,A:APP )
|
|
|
/* i_goods_cd => 상품코드
|
|
|
/* i_curr_price => 현재판매가
|
|
|
+/* i_usable_cust_gb => 고객구분
|
|
|
/* OutPut : 쿠폰정보
|
|
|
/*
|
|
|
/* Program History
|
|
|
@@ -36,17 +38,17 @@ BEGIN
|
|
|
AND CP.DOWN_ABL_YN = 'Y' -- 상품상세 다운로드 가능여부
|
|
|
AND NOW() <= 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.CPN_TYPE IN ('G230_11', 'G230_30') /* 상품쿠폰,배송비 쿠폰*/
|
|
|
+ AND CP.CPN_TYPE IN ('G230_11', 'G230_20', 'G230_30') /* 상품쿠폰, 주문서 쿠폰, 배송비 쿠폰*/
|
|
|
AND (SELECT COUNT(1)
|
|
|
FROM TB_COUPON_CUST_GBN
|
|
|
WHERE CPN_ID = CP.CPN_ID
|
|
|
- AND USABLE_CUST_GB IN ('G100_10') /*사용가능고객구분 일반회원*/
|
|
|
+ AND USABLE_CUST_GB IN (i_usable_cust_gb) /*사용가능고객구분 일반 : G100_10, 임직원 : G100_20*/
|
|
|
) >= 1
|
|
|
- AND (SELECT COUNT(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 USABLE_CUST_GRADE IN ('G110_10', 'G110_20', 'G110_30', 'G110_40', 'G110_50' )
|
|
|
+ ) = 5 */
|
|
|
AND CP.BUY_LIMIT_AMT <= I_CURR_PRICE /*최소주문금액*/
|
|
|
AND (CASE WHEN I_FRONT_GB = 'P' THEN DC_PVAL
|
|
|
WHEN I_FRONT_GB = 'M' THEN DC_MVAL
|