|
|
@@ -1075,6 +1075,13 @@
|
|
|
/* TsfGoods.getFreeGoodsList */
|
|
|
SELECT Z.*
|
|
|
FROM (
|
|
|
+ WITH TAB_GOODS AS (
|
|
|
+ SELECT GOODS_CD
|
|
|
+ , SUPPLY_COMP_CD
|
|
|
+ , BRAND_CD
|
|
|
+ FROM TB_GOODS
|
|
|
+ WHERE GOODS_CD = #{goodsCd}
|
|
|
+ )
|
|
|
SELECT A.FREEGIFT_SQ
|
|
|
, B.FREEGIFT_SECTION_SQ
|
|
|
, C.FREEGIFT_VAL_SQ
|
|
|
@@ -1085,29 +1092,48 @@
|
|
|
, F.GOODS_NM -- 사은품 명
|
|
|
, C.ITEM_QTY -- 사은품 지급 수량
|
|
|
, C.LEFT_QTY -- 잔여수량
|
|
|
- , D.TARGET_VAL
|
|
|
+ , D.GOODS_CD
|
|
|
FROM TB_FREEGIFT A
|
|
|
INNER JOIN TB_FREEGIFT_SECTION B ON A.FREEGIFT_SQ = B.FREEGIFT_SQ
|
|
|
AND B.DEL_YN = 'N'
|
|
|
INNER JOIN TB_FREEGIFT_VAL C ON B.FREEGIFT_SQ = C.FREEGIFT_SQ
|
|
|
AND B.FREEGIFT_SECTION_SQ = C.FREEGIFT_SECTION_SQ
|
|
|
AND C.DEL_YN = 'N'
|
|
|
- AND C.LEFT_QTY > 0 -- 사은품 잔여수량
|
|
|
+ AND C.LEFT_QTY - C.ITEM_QTY > 0 -- 사은품 잔여수량
|
|
|
INNER JOIN TB_FREE_GOODS F ON F.PRODUCT_NO = C.PRODUCT_NO
|
|
|
AND F.USE_YN = 'Y'
|
|
|
- INNER JOIN TB_FREEGIFT_GOODS D ON A.FREEGIFT_SQ = D.FREEGIFT_SQ
|
|
|
- AND D.GOODS_GB IN ( 'G800_10', 'G800_20')
|
|
|
- AND D.TARGET_GB = 'G260_10'
|
|
|
- AND D.DEL_YN = 'N'
|
|
|
- AND D.TARGET_VAL = #{goodsCd}
|
|
|
+ INNER JOIN (SELECT D.FREEGIFT_SQ
|
|
|
+ ,G.GOODS_CD
|
|
|
+ FROM TAB_GOODS G
|
|
|
+ INNER JOIN TB_FREEGIFT_GOODS D ON G.GOODS_CD = D.TARGET_VAL
|
|
|
+ AND D.GOODS_GB IN ( 'G800_10', 'G800_20')
|
|
|
+ AND D.TARGET_GB = 'G260_10' -- 상품코드
|
|
|
+ AND D.DEL_YN = 'N'
|
|
|
+ UNION
|
|
|
+ SELECT S.FREEGIFT_SQ
|
|
|
+ ,G.GOODS_CD
|
|
|
+ FROM TAB_GOODS G
|
|
|
+ INNER JOIN TB_FREEGIFT_GOODS S ON G.SUPPLY_COMP_CD = S.TARGET_VAL
|
|
|
+ AND S.GOODS_GB IN ( 'G800_10', 'G800_20')
|
|
|
+ AND S.TARGET_GB = 'G260_13' -- 공급업체코드
|
|
|
+ AND S.DEL_YN = 'N'
|
|
|
+ UNION
|
|
|
+ SELECT SB.FREEGIFT_SQ
|
|
|
+ ,G.GOODS_CD
|
|
|
+ FROM TAB_GOODS G
|
|
|
+ INNER JOIN TB_FREEGIFT_GOODS SB ON G.BRAND_CD = SB.TARGET_VAL
|
|
|
+ AND SB.GOODS_GB IN ( 'G800_10', 'G800_20')
|
|
|
+ AND SB.TARGET_GB = 'G260_12' -- 브랜드코드
|
|
|
+ AND SB.DEL_YN = 'N'
|
|
|
+ ) D ON A.FREEGIFT_SQ = D.FREEGIFT_SQ
|
|
|
LEFT OUTER JOIN TB_FREEGIFT_GOODS E ON A.FREEGIFT_SQ = E.FREEGIFT_SQ
|
|
|
- AND E.GOODS_GB = 'G800_30'
|
|
|
- AND E.TARGET_GB = 'G260_10'
|
|
|
- AND E.DEL_YN = 'N'
|
|
|
- AND E.TARGET_VAL = #{goodsCd}
|
|
|
+ AND E.GOODS_GB = 'G800_30'
|
|
|
+ AND E.TARGET_GB = 'G260_10'
|
|
|
+ AND E.DEL_YN = 'N'
|
|
|
+ AND E.TARGET_VAL = #{goodsCd}
|
|
|
WHERE NOW() BETWEEN A.FREEGIFT_STAT AND A.FREEGIFT_EDDT
|
|
|
AND A.FREEGIFT_STAT = 'G232_11'
|
|
|
- AND E.TARGET_VAL IS NULL
|
|
|
+ AND NULLIF(E.TARGET_VAL,'') IS NULL
|
|
|
AND A.DEL_YN = 'N'
|
|
|
ORDER BY A.FREEGIFT_SQ, B.FREEGIFT_SECTION_SQ, C.FREEGIFT_VAL_SQ
|
|
|
) Z
|