|
|
@@ -588,431 +588,27 @@
|
|
|
)
|
|
|
</select>
|
|
|
|
|
|
- <!-- 상품 카테고리 필터 브랜드 -->
|
|
|
- <select id="getCategoryFliterBrand" parameterType="GoodsSearch" resultType="GoodsSearch" timeout="300">
|
|
|
- /* TsfDisplay.getCategoryFliterBrand */
|
|
|
- SELECT BG.BRAND_GROUP_NO
|
|
|
- , CASE WHEN BG.DISP_NM_LANG = 'EN' THEN
|
|
|
- BG.BRAND_GROUP_ENM
|
|
|
- ELSE
|
|
|
- BG.BRAND_GROUP_KNM
|
|
|
- END AS BRAND_GROUP_NM /*브랜드그룹명*/
|
|
|
- FROM TB_BRAND_GROUP BG
|
|
|
- WHERE BRAND_GROUP_NO IN (SELECT B.BRAND_GROUP_NO
|
|
|
- FROM TB_CATE_4SRCH C4
|
|
|
- , TB_CATE_GOODS CG
|
|
|
- , TB_GOODS G
|
|
|
- , TB_GOODS_STOCK GS
|
|
|
- , TB_BRAND B
|
|
|
- , TB_SITE_BRAND SB
|
|
|
- WHERE C4.LEAF_CATE_NO = CG.CATE_NO
|
|
|
- <choose>
|
|
|
- <when test="brandGroupNo != null and brandGroupNo != ''">
|
|
|
- AND CG.BRAND_GROUP_NO = #{brandGroupNo}
|
|
|
- </when>
|
|
|
- <otherwise>
|
|
|
- AND CG.BRAND_GROUP_NO = 0
|
|
|
- </otherwise>
|
|
|
- </choose>
|
|
|
- AND CG.GOODS_CD = G.GOODS_CD
|
|
|
- AND G.GOODS_CD = GS.GOODS_CD
|
|
|
- AND G.BRAND_CD = B.BRAND_CD
|
|
|
- AND B.BRAND_CD = SB.BRAND_CD
|
|
|
- AND C4.SITE_CD = #{siteCd}
|
|
|
- AND C4.CATE_GB = #{cateGb}
|
|
|
- AND C4.CATE_TYPE = 'G031_10'
|
|
|
- AND C4.CATE1_NO = #{cate1No}
|
|
|
- <if test="cate2No != null and cate2No != ''">
|
|
|
- AND C4.CATE2_NO = #{cate2No}
|
|
|
- </if>
|
|
|
- <if test="cate3No != null and cate3No != ''">
|
|
|
- AND C4.CATE3_NO = #{cate3No}
|
|
|
- </if>
|
|
|
- <if test="cate4No != null and cate4No != ''">
|
|
|
- AND C4.CATE4_NO = #{cate4No}
|
|
|
- </if>
|
|
|
- <if test="cate5No != null and cate5No != ''">
|
|
|
- AND C4.CATE5_NO = #{cate5No}
|
|
|
- </if>
|
|
|
- AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
|
|
|
- AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
|
|
|
- AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
|
|
|
- AND GS.STOCK_QTY <![CDATA[>]]> 0 /*재고있는상품*/
|
|
|
- AND SB.SITE_CD = #{siteCd}
|
|
|
- AND SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
|
|
|
- AND B.USE_YN = 'Y' /*사용하는 브랜드*/
|
|
|
- )
|
|
|
- AND BG.USE_YN = 'Y' /*사용하는 브랜드그룹*/
|
|
|
- ORDER BY 2
|
|
|
- </select>
|
|
|
-
|
|
|
- <!-- 상품 카테고리 필터 사이즈 -->
|
|
|
- <select id="getCategoryFliterSize" parameterType="GoodsSearch" resultType="GoodsSearch" timeout="300">
|
|
|
- /* TsfDisplay.getCategoryFliterSize */
|
|
|
- SELECT DISTINCT
|
|
|
- I.SIZE_GB /*사이즈구분(T:상의, B:하의, S:신발)*/
|
|
|
- , S.OPT_CD2 /*옵션코드2*/
|
|
|
- FROM TB_CATE_4SRCH C4
|
|
|
- , TB_CATE_GOODS CG
|
|
|
- , TB_GOODS G
|
|
|
- , TB_ITEMKIND I
|
|
|
- , VW_STOCK S
|
|
|
- , TB_BRAND B
|
|
|
- , TB_SITE_BRAND SB
|
|
|
- WHERE C4.LEAF_CATE_NO = CG.CATE_NO
|
|
|
+ <!-- 상품 카테고리 필터 -->
|
|
|
+ <select id="getCategoryFilter" parameterType="Cate4srch" resultType="GoodsSearch">
|
|
|
+ /* TsfDisplay.getCategoryFilter */
|
|
|
+ SELECT
|
|
|
<choose>
|
|
|
- <when test="brandGroupNo != null and brandGroupNo != ''">
|
|
|
- AND CG.BRAND_GROUP_NO = #{brandGroupNo}
|
|
|
+ <when test="filterGb != null and filterGb =='SIZE'">
|
|
|
+ SUBSTRING_INDEX(FILTER_CD,'|',1) AS FILTER_CD
|
|
|
</when>
|
|
|
<otherwise>
|
|
|
- AND CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
|
|
|
+ FILTER_CD
|
|
|
</otherwise>
|
|
|
</choose>
|
|
|
- AND CG.GOODS_CD = G.GOODS_CD
|
|
|
- AND G.ITEMKIND_CD = I.ITEMKIND_CD
|
|
|
- AND G.GOODS_CD = S.GOODS_CD
|
|
|
- AND G.BRAND_CD = B.BRAND_CD
|
|
|
- AND B.BRAND_CD = SB.BRAND_CD
|
|
|
- AND C4.SITE_CD = #{siteCd}
|
|
|
- AND C4.CATE_GB = #{cateGb}
|
|
|
- AND C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
|
|
|
- AND C4.CATE1_NO = #{cate1No}
|
|
|
- <if test="cate2No != null and cate2No != ''">
|
|
|
- AND C4.CATE2_NO = #{cate2No}
|
|
|
- </if>
|
|
|
- <if test="cate3No != null and cate3No != ''">
|
|
|
- AND C4.CATE3_NO = #{cate3No}
|
|
|
- </if>
|
|
|
- <if test="cate4No != null and cate4No != ''">
|
|
|
- AND C4.CATE4_NO = #{cate4No}
|
|
|
- </if>
|
|
|
- <if test="cate5No != null and cate5No != ''">
|
|
|
- AND C4.CATE5_NO = #{cate5No}
|
|
|
- </if>
|
|
|
- AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
|
|
|
- AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
|
|
|
- AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
|
|
|
- AND I.SIZE_GB IS NOT NULL
|
|
|
- AND S.CURR_STOCK_QTY - S.BASE_STOCK_QTY <![CDATA[>]]> 0 /*재고있는옵션*/
|
|
|
- AND S.SOLDOUT_YN = 'N' /*품절이 아닌 옵션*/
|
|
|
- AND S.DISP_YN = 'Y' /*노출하는 옵션*/
|
|
|
- AND LENGTH(S.OPT_CD2) > 0
|
|
|
- AND SB.SITE_CD = #{siteCd}
|
|
|
- AND SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
|
|
|
- AND B.USE_YN = 'Y' /*사용하는 브랜드*/
|
|
|
- ORDER BY CASE WHEN I.SIZE_GB = 'T' THEN 1
|
|
|
- WHEN I.SIZE_GB = 'B' THEN 2
|
|
|
- WHEN I.SIZE_GB = 'S' THEN 3
|
|
|
- ELSE 4
|
|
|
- END, S.OPT_CD2
|
|
|
- </select>
|
|
|
-
|
|
|
- <!-- 상품 카테고리 필터 사이즈 -->
|
|
|
- <select id="getCategoryFliterPrice" parameterType="GoodsSearch" resultType="GoodsSearch" timeout="300">
|
|
|
- /* TsfDisplay.getCategoryFliterPrice */
|
|
|
- SELECT FLOOR(MIN_CURR_PRICE / 1000) * 1000 AS PRICE1
|
|
|
- , FLOOR((MIN_CURR_PRICE + SLICE_VAL * 1) / 1000) * 1000 AS PRICE2
|
|
|
- , FLOOR((MIN_CURR_PRICE + SLICE_VAL * 2) / 1000) * 1000 AS PRICE3
|
|
|
- , FLOOR((MIN_CURR_PRICE + SLICE_VAL * 3) / 1000) * 1000 AS PRICE4
|
|
|
- , FLOOR((MIN_CURR_PRICE + SLICE_VAL * 4) / 1000) * 1000 AS PRICE5
|
|
|
- , FLOOR(MAX_CURR_PRICE / 1000) * 1000 AS PRICE6
|
|
|
- FROM (
|
|
|
- SELECT MIN(CURR_PRICE) AS MIN_CURR_PRICE /*최소현재판매가*/
|
|
|
- , MAX(CURR_PRICE) AS MAX_CURR_PRICE /*최대현재판매가*/
|
|
|
- , (MAX(CURR_PRICE) - MIN(CURR_PRICE)) / 5 AS SLICE_VAL /*분할값*/
|
|
|
- FROM (
|
|
|
- SELECT FN_GET_BENEFIT_PRICE(#{frontGb},G.GOODS_CD,G.CURR_PRICE,#{custGb}) AS CURR_PRICE /*현재판매가*/
|
|
|
- FROM TB_CATE_4SRCH C4
|
|
|
- , TB_CATE_GOODS CG
|
|
|
- , TB_GOODS G
|
|
|
- , TB_GOODS_STOCK GS
|
|
|
- , TB_BRAND B
|
|
|
- , TB_SITE_BRAND SB
|
|
|
- WHERE C4.LEAF_CATE_NO = CG.CATE_NO
|
|
|
- <choose>
|
|
|
- <when test="brandGroupNo != null and brandGroupNo != ''">
|
|
|
- AND CG.BRAND_GROUP_NO = #{brandGroupNo}
|
|
|
- </when>
|
|
|
- <otherwise>
|
|
|
- AND CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
|
|
|
- </otherwise>
|
|
|
- </choose>
|
|
|
- AND CG.GOODS_CD = G.GOODS_CD
|
|
|
- AND CG.GOODS_CD = GS.GOODS_CD
|
|
|
- AND G.BRAND_CD = B.BRAND_CD
|
|
|
- AND B.BRAND_CD = SB.BRAND_CD
|
|
|
- AND C4.SITE_CD = #{siteCd}
|
|
|
- AND C4.CATE_GB = #{cateGb}
|
|
|
- AND C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
|
|
|
- AND C4.CATE1_NO = #{cate1No}
|
|
|
- <if test="cate2No != null and cate2No != ''">
|
|
|
- AND C4.CATE2_NO = #{cate2No}
|
|
|
- </if>
|
|
|
- <if test="cate3No != null and cate3No != ''">
|
|
|
- AND C4.CATE3_NO = #{cate3No}
|
|
|
- </if>
|
|
|
- <if test="cate4No != null and cate4No != ''">
|
|
|
- AND C4.CATE4_NO = #{cate4No}
|
|
|
- </if>
|
|
|
- <if test="cate5No != null and cate5No != ''">
|
|
|
- AND C4.CATE5_NO = #{cate5No}
|
|
|
- </if>
|
|
|
- AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
|
|
|
- AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
|
|
|
- AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
|
|
|
- AND GS.STOCK_QTY <![CDATA[>]]> 0 /*재고있는상품*/
|
|
|
- AND SB.SITE_CD = #{siteCd}
|
|
|
- AND SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
|
|
|
- AND B.USE_YN = 'Y' /*사용하는 브랜드*/
|
|
|
- ) Z
|
|
|
- ) Z
|
|
|
- </select>
|
|
|
-
|
|
|
- <!-- 상품 카테고리 필터 연령대 -->
|
|
|
- <select id="getCategoryFliterAge" parameterType="GoodsSearch" resultType="GoodsSearch" timeout="300">
|
|
|
- /* TsfDisplay.getCategoryFliterAge */
|
|
|
- SELECT CD AS AGES_CD /*연령대코드*/
|
|
|
- , CD_NM AS AGES_NM /*연령대명*/
|
|
|
- FROM TB_COMMON_CODE
|
|
|
- WHERE CD_GB = 'G023'
|
|
|
- AND CD IN (SELECT G.AGE_GRP_CD
|
|
|
- FROM TB_CATE_4SRCH C4
|
|
|
- , TB_CATE_GOODS CG
|
|
|
- , TB_GOODS G
|
|
|
- , TB_GOODS_STOCK GS
|
|
|
- , TB_BRAND B
|
|
|
- , TB_SITE_BRAND SB
|
|
|
- WHERE C4.LEAF_CATE_NO = CG.CATE_NO
|
|
|
- <choose>
|
|
|
- <when test="brandGroupNo != null and brandGroupNo != ''">
|
|
|
- AND CG.BRAND_GROUP_NO = #{brandGroupNo}
|
|
|
- </when>
|
|
|
- <otherwise>
|
|
|
- AND CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
|
|
|
- </otherwise>
|
|
|
- </choose>
|
|
|
- AND CG.GOODS_CD = G.GOODS_CD
|
|
|
- AND CG.GOODS_CD = GS.GOODS_CD
|
|
|
- AND G.BRAND_CD = B.BRAND_CD
|
|
|
- AND B.BRAND_CD = SB.BRAND_CD
|
|
|
- AND C4.SITE_CD = #{siteCd}
|
|
|
- AND C4.CATE_GB = #{cateGb}
|
|
|
- AND C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
|
|
|
- AND C4.CATE1_NO = #{cate1No}
|
|
|
- <if test="cate2No != null and cate2No != ''">
|
|
|
- AND C4.CATE2_NO = #{cate2No}
|
|
|
- </if>
|
|
|
- <if test="cate3No != null and cate3No != ''">
|
|
|
- AND C4.CATE3_NO = #{cate3No}
|
|
|
- </if>
|
|
|
- <if test="cate4No != null and cate4No != ''">
|
|
|
- AND C4.CATE4_NO = #{cate4No}
|
|
|
- </if>
|
|
|
- <if test="cate5No != null and cate5No != ''">
|
|
|
- AND C4.CATE5_NO = #{cate5No}
|
|
|
- </if>
|
|
|
- AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
|
|
|
- AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
|
|
|
- AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
|
|
|
- AND GS.STOCK_QTY <![CDATA[>]]> 0 /*재고있는상품*/
|
|
|
- AND SB.SITE_CD = #{siteCd}
|
|
|
- AND SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
|
|
|
- AND B.USE_YN = 'Y' /*사용하는 브랜드*/
|
|
|
- )
|
|
|
- AND USE_YN = 'Y'
|
|
|
- ORDER BY DISP_ORD
|
|
|
- </select>
|
|
|
-
|
|
|
- <!-- 상품 카테고리 필터 시즌 -->
|
|
|
- <select id="getCategoryFliterSeason" parameterType="GoodsSearch" resultType="GoodsSearch" timeout="300">
|
|
|
- /* TsfDisplay.getCategoryFliterSeason */
|
|
|
- SELECT CD AS SEASON_CD /*시즌코드*/
|
|
|
- , CD_NM AS SEASON_NM /*시즌명*/
|
|
|
- FROM TB_COMMON_CODE
|
|
|
- WHERE CD_GB = 'G006'
|
|
|
- AND CD IN (SELECT G.SEASON_CD
|
|
|
- FROM TB_CATE_4SRCH C4
|
|
|
- , TB_CATE_GOODS CG
|
|
|
- , TB_GOODS G
|
|
|
- , TB_GOODS_STOCK GS
|
|
|
- , TB_BRAND B
|
|
|
- , TB_SITE_BRAND SB
|
|
|
- WHERE C4.LEAF_CATE_NO = CG.CATE_NO
|
|
|
- <choose>
|
|
|
- <when test="brandGroupNo != null and brandGroupNo != ''">
|
|
|
- AND CG.BRAND_GROUP_NO = #{brandGroupNo}
|
|
|
- </when>
|
|
|
- <otherwise>
|
|
|
- AND CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
|
|
|
- </otherwise>
|
|
|
- </choose>
|
|
|
- AND CG.GOODS_CD = G.GOODS_CD
|
|
|
- AND CG.GOODS_CD = GS.GOODS_CD
|
|
|
- AND G.BRAND_CD = B.BRAND_CD
|
|
|
- AND B.BRAND_CD = SB.BRAND_CD
|
|
|
- AND C4.SITE_CD = #{siteCd}
|
|
|
- AND C4.CATE_GB = #{cateGb}
|
|
|
- AND C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
|
|
|
- AND C4.CATE1_NO = #{cate1No}
|
|
|
- <if test="cate2No != null and cate2No != ''">
|
|
|
- AND C4.CATE2_NO = #{cate2No}
|
|
|
- </if>
|
|
|
- <if test="cate3No != null and cate3No != ''">
|
|
|
- AND C4.CATE3_NO = #{cate3No}
|
|
|
- </if>
|
|
|
- <if test="cate4No != null and cate4No != ''">
|
|
|
- AND C4.CATE4_NO = #{cate4No}
|
|
|
- </if>
|
|
|
- <if test="cate5No != null and cate5No != ''">
|
|
|
- AND C4.CATE5_NO = #{cate5No}
|
|
|
- </if>
|
|
|
- AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
|
|
|
- AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
|
|
|
- AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
|
|
|
- AND GS.STOCK_QTY <![CDATA[>]]> 0 /*재고있는상품*/
|
|
|
- AND SB.SITE_CD = #{siteCd}
|
|
|
- AND SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
|
|
|
- AND B.USE_YN = 'Y' /*사용하는 브랜드*/
|
|
|
- )
|
|
|
- AND USE_YN = 'Y'
|
|
|
- ORDER BY DISP_ORD
|
|
|
- </select>
|
|
|
-
|
|
|
- <!-- 상품 카테고리 필터 컬러 -->
|
|
|
- <select id="getCategoryFliterColor" parameterType="GoodsSearch" resultType="GoodsSearch" timeout="300">
|
|
|
- /* TsfDisplay.getCategoryFliterColor */
|
|
|
- SELECT C.COLOR_GRP_CD /*컬러그룹코드*/
|
|
|
- , CC.CD_DESC AS COLOR_CHIP /*컬러칩*/
|
|
|
- FROM TB_COLOR C
|
|
|
- , TB_COMMON_CODE CC
|
|
|
- WHERE C.COLOR_GRP_CD = CC.CD
|
|
|
- AND CC.CD_GB = 'G072'
|
|
|
- AND C.COLOR_CD IN (SELECT O.OPT_CD1
|
|
|
- FROM TB_CATE_4SRCH C4
|
|
|
- , TB_CATE_GOODS CG
|
|
|
- , TB_GOODS G
|
|
|
- , TB_GOODS_STOCK GS
|
|
|
- , TB_BRAND B
|
|
|
- , TB_SITE_BRAND SB
|
|
|
- , TB_OPTION O
|
|
|
- WHERE C4.LEAF_CATE_NO = CG.CATE_NO
|
|
|
- <choose>
|
|
|
- <when test="brandGroupNo != null and brandGroupNo != ''">
|
|
|
- AND CG.BRAND_GROUP_NO = #{brandGroupNo}
|
|
|
- </when>
|
|
|
- <otherwise>
|
|
|
- AND CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
|
|
|
- </otherwise>
|
|
|
- </choose>
|
|
|
- AND CG.GOODS_CD = G.GOODS_CD
|
|
|
- AND CG.GOODS_CD = GS.GOODS_CD
|
|
|
- AND G.BRAND_CD = B.BRAND_CD
|
|
|
- AND B.BRAND_CD = SB.BRAND_CD
|
|
|
- AND G.GOODS_CD = O.GOODS_CD
|
|
|
- AND C4.SITE_CD = #{siteCd}
|
|
|
- AND C4.CATE_GB = #{cateGb}
|
|
|
- AND C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
|
|
|
- AND C4.CATE1_NO = #{cate1No}
|
|
|
- <if test="cate2No != null and cate2No != ''">
|
|
|
- AND C4.CATE2_NO = #{cate2No}
|
|
|
- </if>
|
|
|
- <if test="cate3No != null and cate3No != ''">
|
|
|
- AND C4.CATE3_NO = #{cate3No}
|
|
|
- </if>
|
|
|
- <if test="cate4No != null and cate4No != ''">
|
|
|
- AND C4.CATE4_NO = #{cate4No}
|
|
|
- </if>
|
|
|
- <if test="cate5No != null and cate5No != ''">
|
|
|
- AND C4.CATE5_NO = #{cate5No}
|
|
|
- </if>
|
|
|
- AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
|
|
|
- AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
|
|
|
- AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
|
|
|
- AND GS.STOCK_QTY <![CDATA[>]]> 0 /*재고있는상품*/
|
|
|
- AND SB.SITE_CD = #{siteCd}
|
|
|
- AND SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
|
|
|
- AND B.USE_YN = 'Y' /*사용하는 브랜드*/
|
|
|
- AND O.SOLDOUT_YN = 'N' /*품절이 아닌 옵션*/
|
|
|
- AND O.DISP_YN = 'Y' /*노출하는 옵션*/
|
|
|
- )
|
|
|
- AND CC.USE_YN = 'Y'
|
|
|
- GROUP BY C.COLOR_GRP_CD , CC.CD_DESC
|
|
|
- ORDER BY CC.DISP_ORD
|
|
|
- </select>
|
|
|
-
|
|
|
- <!-- 상품 카테고리 필터 혜택 -->
|
|
|
- <select id="getCategoryFliterBenefit" parameterType="GoodsSearch" resultType="GoodsSearch" timeout="300">
|
|
|
- /* TsfDisplay.getCategoryFliterBenefit */
|
|
|
- WITH TAB_BENEFIT AS (
|
|
|
- SELECT GB.CPN_YN
|
|
|
- , GB.FREEGIFT_YN
|
|
|
- , G.FORMAL_GB
|
|
|
- , G.MIN_ORD_AMT
|
|
|
- , FN_GET_BENEFIT_PRICE(#{frontGb},G.GOODS_CD,G.CURR_PRICE,#{custGb}) AS CURR_PRICE /*현재판매가*/
|
|
|
- , DF.REAL_DELV_AMT
|
|
|
- FROM TB_CATE_4SRCH C4
|
|
|
- JOIN TB_CATE_GOODS CG ON C4.LEAF_CATE_NO = CG.CATE_NO
|
|
|
- <choose>
|
|
|
- <when test="brandGroupNo != null and brandGroupNo != ''">
|
|
|
- AND CG.BRAND_GROUP_NO = #{brandGroupNo}
|
|
|
- </when>
|
|
|
- <otherwise>
|
|
|
- AND CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
|
|
|
- </otherwise>
|
|
|
- </choose>
|
|
|
- JOIN TB_GOODS G ON CG.GOODS_CD = G.GOODS_CD
|
|
|
- JOIN TB_GOODS_STOCK GS ON CG.GOODS_CD = GS.GOODS_CD
|
|
|
- LEFT OUTER JOIN TB_GOODS_BENEFIT GB ON G.GOODS_CD = GB.GOODS_CD
|
|
|
- JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
|
|
|
- JOIN TB_SITE_BRAND SB ON B.BRAND_CD = SB.BRAND_CD
|
|
|
- JOIN TB_DELIVERY_FEE DF ON G.DELV_FEE_CD = DF.DELV_FEE_CD
|
|
|
- WHERE 1=1
|
|
|
- AND C4.SITE_CD = #{siteCd}
|
|
|
- AND C4.CATE_GB = #{cateGb}
|
|
|
- AND C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
|
|
|
- AND C4.CATE1_NO = #{cate1No}
|
|
|
- <if test="cate2No != null and cate2No != ''">
|
|
|
- AND C4.CATE2_NO = #{cate2No}
|
|
|
- </if>
|
|
|
- <if test="cate3No != null and cate3No != ''">
|
|
|
- AND C4.CATE3_NO = #{cate3No}
|
|
|
- </if>
|
|
|
- <if test="cate4No != null and cate4No != ''">
|
|
|
- AND C4.CATE4_NO = #{cate4No}
|
|
|
- </if>
|
|
|
- <if test="cate5No != null and cate5No != ''">
|
|
|
- AND C4.CATE5_NO = #{cate5No}
|
|
|
- </if>
|
|
|
- AND G.GOODS_STAT = 'G008_90' /*승인완료상품*/
|
|
|
- AND G.SELF_MALL_YN = 'Y' /*몰노출상품*/
|
|
|
- AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
|
|
|
- AND GS.STOCK_QTY <![CDATA[>]]> 0 /*재고있는상품*/
|
|
|
- AND SB.SITE_CD = #{siteCd}
|
|
|
- AND SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
|
|
|
- AND B.USE_YN = 'Y' /*사용하는 브랜드*/
|
|
|
- )
|
|
|
- SELECT Z.BENEFIT_CD , Z.BENEFIT_NM
|
|
|
- FROM (
|
|
|
- SELECT '10' AS BENEFIT_CD
|
|
|
- , '쿠폰할인' AS BENEFIT_NM
|
|
|
- FROM TAB_BENEFIT
|
|
|
- WHERE CPN_YN = 'Y'
|
|
|
- UNION ALL
|
|
|
- SELECT '20' AS BENEFIT_CD
|
|
|
- , '무료배송' AS BENEFIT_NM
|
|
|
- FROM TAB_BENEFIT
|
|
|
- WHERE REAL_DELV_AMT = 0 -- MIN_ORD_AMT >= CURR_PRICE
|
|
|
- UNION ALL
|
|
|
- SELECT '30' AS BENEFIT_CD
|
|
|
- , '사은품' AS BENEFIT_NM
|
|
|
- FROM TAB_BENEFIT
|
|
|
- WHERE FREEGIFT_YN = 'Y'
|
|
|
- UNION ALL
|
|
|
- SELECT '40' AS BENEFIT_CD
|
|
|
- , '신상' AS BENEFIT_NM
|
|
|
- FROM TAB_BENEFIT
|
|
|
- WHERE FORMAL_GB = 'G009_10'
|
|
|
- ) Z
|
|
|
- GROUP BY Z.BENEFIT_CD , Z.BENEFIT_NM
|
|
|
+ , FILTER_NM
|
|
|
+ FROM TB_CATE_FILTER
|
|
|
+ WHERE 1=1
|
|
|
+ AND SITE_CD = #{siteCd}
|
|
|
+ AND CATE_GB = #{cateGb}
|
|
|
+ AND FORMAL_GB = #{formalGb}
|
|
|
+ AND BRAND_GROUP_NO = #{brandGroupNo}
|
|
|
+ AND CATE_NO = #{cateNo}
|
|
|
+ AND FILTER_GB = #{filterGb}
|
|
|
+ ORDER BY DISP_ORD
|
|
|
</select>
|
|
|
</mapper>
|