| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- 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);
- 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
- ;
- IF O_RETURN_VAL = 'Y' THEN
- RETURN O_RETURN_VAL;
- END IF;
- 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;
|