|
|
@@ -1,35 +1,84 @@
|
|
|
-DROP FUNCTION IF EXISTS FN_GET_COUPON_NM;
|
|
|
+CREATE
|
|
|
+ DEFINER = style@`%` FUNCTION FN_GET_FREEGIFT_GOODS_YN(I_GOODS_CD VARCHAR(20)) RETURNS CHAR DETERMINISTIC
|
|
|
+ /******************************************************************************
|
|
|
+ /*
|
|
|
+ /* Module : 상품 사은품 여부 조회
|
|
|
+ /* Program Name : FN_GET_FREEGIFT_GOODS_YN
|
|
|
+ /* Description : 해당 상품 구매시 지급하는 사은품이 있는지 조회한다.
|
|
|
+ /*
|
|
|
+ /* Input : I_GOODS_CD => 상품코드
|
|
|
+ /* OutPut : 'Y' OR 'N'
|
|
|
+ /*
|
|
|
+ /* Program History
|
|
|
+ /*
|
|
|
+ /*----------------------------------------------------------------------------
|
|
|
+ /* Date CSR NO. Name Description
|
|
|
+ /*----------------------------------------------------------------------------
|
|
|
+ /* 2021-04-08 xodud1202 Initial Release
|
|
|
+ /******************************************************************************/
|
|
|
+BEGIN
|
|
|
+ DECLARE O_RETURN_VAL CHAR(1);
|
|
|
|
|
|
-CREATE FUNCTION FN_GET_COUPON_NM
|
|
|
- (I_CPN_ID VARCHAR(20)
|
|
|
- ) RETURNS VARCHAR(100) DETERMINISTIC
|
|
|
-/******************************************************************************
|
|
|
-/*
|
|
|
-/* Module : 쿠폰명 조회
|
|
|
-/* Program Name : FN_GET_COUPON_NM
|
|
|
-/* Description : 쿠폰 명칭을 반환한다.
|
|
|
-/*
|
|
|
-/* Input : I_CPN_ID => 쿠폰ID
|
|
|
-/* OutPut : 쿠폰명
|
|
|
-/*
|
|
|
-/* Program History
|
|
|
-/*
|
|
|
-/*----------------------------------------------------------------------------
|
|
|
-/* Date CSR NO. Name Description
|
|
|
-/*----------------------------------------------------------------------------
|
|
|
-/* 2021-01-07 gagamel Initial Release
|
|
|
-/******************************************************************************/
|
|
|
+ SELECT CASE WHEN COUNT(A.GOODS_CD) > 0 THEN 'Y'
|
|
|
+ ELSE 'N' END INTO O_RETURN_VAL
|
|
|
+ FROM (SELECT G.GOODS_CD
|
|
|
+ FROM TB_FREEGIFT F
|
|
|
+ INNER JOIN TB_FREEGIFT_SECTION FS
|
|
|
+ ON F.FREEGIFT_SQ = FS.FREEGIFT_SQ
|
|
|
+ INNER JOIN TB_FREEGIFT_GOODS FGA
|
|
|
+ ON F.FREEGIFT_SQ = FGA.FREEGIFT_SQ
|
|
|
+ AND FGA.GOODS_GB = 'G800_20'
|
|
|
+ AND FGA.TARGET_GB = 'G260_10'
|
|
|
+ INNER JOIN TB_GOODS G
|
|
|
+ ON FGA.TARGET_VAL = G.GOODS_CD
|
|
|
+ LEFT OUTER JOIN TB_FREEGIFT_GOODS NOT_APPLY
|
|
|
+ ON F.FREEGIFT_SQ = NOT_APPLY.FREEGIFT_SQ
|
|
|
+ AND G.GOODS_CD = NOT_APPLY.TARGET_VAL
|
|
|
+ AND NOT_APPLY.GOODS_GB = 'G800_30'
|
|
|
+ AND NOT_APPLY.TARGET_GB = 'G260_10'
|
|
|
+ WHERE NOT_APPLY.TARGET_VAL IS NULL
|
|
|
+ AND F.DEL_YN = 'N'
|
|
|
+ AND FS.DEL_YN = 'N'
|
|
|
+ AND FGA.DEL_YN = 'N'
|
|
|
+ AND NOW() BETWEEN F.FREEGIFT_STDT AND F.FREEGIFT_EDDT
|
|
|
+ AND F.SELF_YN = 'Y'
|
|
|
+ AND F.FREEGIFT_STAT = 'G232_11'
|
|
|
+ AND G.GOODS_CD = I_GOODS_CD) A
|
|
|
+ ;
|
|
|
|
|
|
-BEGIN
|
|
|
+ IF O_RETURN_VAL = 'Y' THEN
|
|
|
+ RETURN O_RETURN_VAL;
|
|
|
+ END IF;
|
|
|
|
|
|
- DECLARE O_RET_VALUE VARCHAR(150);
|
|
|
-
|
|
|
- SELECT CPN_NM
|
|
|
- INTO O_RET_VALUE
|
|
|
- FROM TB_COUPON
|
|
|
- WHERE CPN_ID = I_CPN_ID
|
|
|
- ;
|
|
|
-
|
|
|
- RETURN O_RET_VALUE;
|
|
|
+ SELECT CASE WHEN COUNT(A.GOODS_CD) > 0 THEN 'Y'
|
|
|
+ ELSE 'N' END INTO O_RETURN_VAL
|
|
|
+ FROM (SELECT G.GOODS_CD
|
|
|
+ FROM TB_FREEGIFT F
|
|
|
+ INNER JOIN TB_FREEGIFT_SECTION FS
|
|
|
+ ON F.FREEGIFT_SQ = FS.FREEGIFT_SQ
|
|
|
+ INNER JOIN TB_FREEGIFT_GOODS_APPLY BRAND_FGA
|
|
|
+ ON F.FREEGIFT_SQ = BRAND_FGA.FREEGIFT_SQ
|
|
|
+ AND BRAND_FGA.TARGET_GB = 'G260_12' -- 브랜드
|
|
|
+ INNER JOIN TB_FREEGIFT_GOODS_APPLY COMPANY_FGA
|
|
|
+ ON F.FREEGIFT_SQ = COMPANY_FGA.FREEGIFT_SQ
|
|
|
+ AND COMPANY_FGA.TARGET_GB = 'G260_13' -- 업체
|
|
|
+ INNER JOIN TB_GOODS G
|
|
|
+ ON BRAND_FGA.TARGET_VAL = G.BRAND_CD
|
|
|
+ AND COMPANY_FGA.TARGET_VAL = G.SUPPLY_COMP_CD
|
|
|
+ LEFT OUTER JOIN TB_FREEGIFT_GOODS NOT_APPLY
|
|
|
+ ON F.FREEGIFT_SQ = NOT_APPLY.FREEGIFT_SQ
|
|
|
+ AND G.GOODS_CD = NOT_APPLY.TARGET_VAL
|
|
|
+ AND NOT_APPLY.GOODS_GB = 'G800_30'
|
|
|
+ WHERE NOT_APPLY.TARGET_VAL IS NULL
|
|
|
+ AND F.DEL_YN = 'N'
|
|
|
+ AND FS.DEL_YN = 'N'
|
|
|
+ AND NOW() BETWEEN F.FREEGIFT_STDT AND F.FREEGIFT_EDDT
|
|
|
+ AND F.SELF_YN = 'Y'
|
|
|
+ AND F.FREEGIFT_STAT = 'G232_11'
|
|
|
+ AND G.GOODS_CD = I_GOODS_CD) A
|
|
|
+ ;
|
|
|
+
|
|
|
+ RETURN O_RETURN_VAL;
|
|
|
|
|
|
END;
|
|
|
+
|