浏览代码

FN_IS_GOODS_COUPON 고객구분 인자 추가

eskim 5 年之前
父节点
当前提交
422b97eea4

+ 9 - 7
산출물/3.설계/05.DB-Object/03.db_function/FN_IS_GOODS_COUPON.sql

@@ -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

+ 3 - 3
산출물/3.설계/99.검색/검색_상품색인.sql

@@ -145,9 +145,9 @@ WITH TAB_GOODS AS (
          , GBP.PC_CURR_PRICE
          , GBP.MO_CURR_PRICE
          , GBP.APP_CURR_PRICE
-         -- , FN_IS_GOODS_COUPON('P',G.GOODS_CD,ifnull(GBP.PC_CURR_PRICE, G.CURR_PRICE))  AS CPN_PC_ICON  -- 속도 이슈
-         -- , FN_IS_GOODS_COUPON('M',G.GOODS_CD,ifnull(GBP.PC_CURR_PRICE, G.CURR_PRICE))  AS CPN_MO_ICON
-         -- , FN_IS_GOODS_COUPON('A',G.GOODS_CD,ifnull(GBP.PC_CURR_PRICE, G.CURR_PRICE)) AS CPN_APP_ICON
+         -- , FN_IS_GOODS_COUPON('P',G.GOODS_CD,ifnull(GBP.PC_CURR_PRICE, G.CURR_PRICE, 'G100_10'))  AS CPN_PC_ICON  -- 속도 이슈  일반:G100_10, 임직원:G100_20
+         -- , FN_IS_GOODS_COUPON('M',G.GOODS_CD,ifnull(GBP.PC_CURR_PRICE, G.CURR_PRICE, 'G100_10'))  AS CPN_MO_ICON
+         -- , FN_IS_GOODS_COUPON('A',G.GOODS_CD,ifnull(GBP.PC_CURR_PRICE, G.CURR_PRICE, 'G100_10')) AS CPN_APP_ICON
           , FN_GET_FREEGIFT_GOODS_YN(G.GOODS_CD)                  AS FREEGIFT_ICON
     FROM   TAB_GOODS G
     LEFT OUTER JOIN TB_GOODS_BENEFIT_PRICE GBP ON G.GOODS_CD = GBP.GOODS_CD