Просмотр исходного кода

카테고리 목록 검색키워드 조건 추가

bin2107 5 лет назад
Родитель
Сommit
02c716cd41

+ 120 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfDisplay.xml

@@ -366,6 +366,36 @@
 		               AND    STOCK_QTY > 0 /*품절상품전시여부가 N일 때 재고가 있는 카테고리만*/
 		               </if>
 		              )
+		<if test="keyword != null and keyword != ''"> <!-- 상품검색키워드 -->
+		AND    CATE2_NO IN (SELECT DISTINCT C4.CATE2_NO
+		                      FROM   TB_CATE_4SRCH C4
+		                           , TB_CATE_GOODS CG
+		                           , TB_GOODS G
+		                           , TB_GOODS_STOCK S
+		                           , TB_BRAND B
+		                      WHERE  C4.LEAF_CATE_NO = CG.CATE_NO
+		                      AND    CG.GOODS_CD = G.GOODS_CD
+		                      AND    CG.GOODS_CD = S.GOODS_CD
+		                      AND    G.BRAND_CD = B.BRAND_CD
+		                      AND    C4.SITE_CD = #{siteCd}
+		                      AND    C4.CATE_GB = #{cateGb}
+		                      AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
+		                      AND    (
+		                              G.GOODS_NUM LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                              OR
+		                              G.GOODS_CD LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                              OR
+		                              UPPER(G.GOODS_NM) LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                              OR
+		                              UPPER(B.BRAND_ENM) LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                              OR
+		                              UPPER(B.BRAND_KNM) LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                             )
+		                      AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
+		                      AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
+		                      AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한 판매기간*/
+		                     )
+		</if>
 		ORDER  BY DISP_ORD
 	</select>
 	
@@ -401,6 +431,36 @@
 		               AND    STOCK_QTY > 0 /*품절상품전시여부가 N일 때 재고가 있는 카테고리만*/
 		               </if>
 		              )
+		<if test="keyword != null and keyword != ''"> <!-- 상품검색키워드 -->
+		AND    CATE3_NO IN (SELECT DISTINCT C4.CATE3_NO
+		                      FROM   TB_CATE_4SRCH C4
+		                           , TB_CATE_GOODS CG
+		                           , TB_GOODS G
+		                           , TB_GOODS_STOCK S
+		                           , TB_BRAND B
+		                     WHERE  C4.LEAF_CATE_NO = CG.CATE_NO
+		                     AND    CG.GOODS_CD = G.GOODS_CD
+		                     AND    CG.GOODS_CD = S.GOODS_CD
+		                     AND    G.BRAND_CD = B.BRAND_CD
+		                     AND    C4.SITE_CD = #{siteCd}
+		                     AND    C4.CATE_GB = #{cateGb}
+		                     AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
+		                     AND    (
+		                              G.GOODS_NUM LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                              OR
+		                              G.GOODS_CD LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                              OR
+		                              UPPER(G.GOODS_NM) LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                              OR
+		                              UPPER(B.BRAND_ENM) LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                              OR
+		                              UPPER(B.BRAND_KNM) LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                            )
+		                     AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
+		                     AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
+		                     AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한 판매기간*/
+		                    )
+		</if>
 		ORDER  BY DISP_ORD
 	</select>
 	
@@ -438,6 +498,36 @@
 		               AND    STOCK_QTY > 0 /*품절상품전시여부가 N일 때 재고가 있는 카테고리만*/
 		               </if>
 		              )
+		<if test="keyword != null and keyword != ''"> <!-- 상품검색키워드 -->
+		AND    CATE4_NO IN (SELECT DISTINCT C4.CATE4_NO
+		                    FROM   TB_CATE_4SRCH C4
+		                         , TB_CATE_GOODS CG
+		                         , TB_GOODS G
+		                         , TB_GOODS_STOCK S
+		                         , TB_BRAND B
+		                    WHERE  C4.LEAF_CATE_NO = CG.CATE_NO
+		                    AND    CG.GOODS_CD = G.GOODS_CD
+		                    AND    CG.GOODS_CD = S.GOODS_CD
+		                    AND    G.BRAND_CD = B.BRAND_CD
+		                    AND    C4.SITE_CD = #{siteCd}
+		                    AND    C4.CATE_GB = #{cateGb}
+		                    AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
+		                    AND    (
+		                             G.GOODS_NUM LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                             OR
+		                             G.GOODS_CD LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                             OR
+		                             UPPER(G.GOODS_NM) LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                             OR
+		                             UPPER(B.BRAND_ENM) LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                             OR
+		                             UPPER(B.BRAND_KNM) LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                            )
+		                    AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
+		                    AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
+		                    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한 판매기간*/
+		                  )
+		</if>
 		ORDER  BY DISP_ORD
 	</select>
 	
@@ -477,6 +567,36 @@
 		               AND    STOCK_QTY > 0 /*품절상품전시여부가 N일 때 재고가 있는 카테고리만*/
 		               </if>
 		              )
+		<if test="keyword != null and keyword != ''"> <!-- 상품검색키워드 -->
+		AND    CATE5_NO IN (SELECT DISTINCT C4.CATE5_NO
+		                    FROM   TB_CATE_4SRCH C4
+		                         , TB_CATE_GOODS CG
+		                         , TB_GOODS G
+		                         , TB_GOODS_STOCK S
+		                         , TB_BRAND B
+		                    WHERE  C4.LEAF_CATE_NO = CG.CATE_NO
+		                    AND    CG.GOODS_CD = G.GOODS_CD
+		                    AND    CG.GOODS_CD = S.GOODS_CD
+		                    AND    G.BRAND_CD = B.BRAND_CD
+		                    AND    C4.SITE_CD = #{siteCd}
+		                    AND    C4.CATE_GB = #{cateGb}
+		                    AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
+		                    AND    (
+		                             G.GOODS_NUM LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                             OR
+		                             G.GOODS_CD LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                             OR
+		                             UPPER(G.GOODS_NM) LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                             OR
+		                             UPPER(B.BRAND_ENM) LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                             OR
+		                             UPPER(B.BRAND_KNM) LIKE CONCAT('%',UPPER(#{keyword}),'%')
+		                           )
+		                    AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
+		                    AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
+		                    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한 판매기간*/
+		                  )
+		</if>
 		ORDER  BY DISP_ORD
 	</select>
 

+ 4 - 1
src/main/webapp/WEB-INF/views/web/display/CategoryGoodsListFormWeb.html

@@ -567,8 +567,11 @@
 								$("#brandNm").show();
 								$("#brandNm").text(brandGroupNm);
 								$("#navNm").hide();
-								$('#ulAllCate').append('<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(\''+brandGroupNo+'\',\''+cateGb+'\');" class="on">전체</a></li>\n');
+								$('#ulAllCate').append('<li><a href="javascript:void(0);" id="cateAll" onclick="cfnGoToGoodsList(\''+brandGroupNo+'\',\''+cateGb+'\');" >전체</a></li>\n');
 								navNm += '<li class="bread_2depth" id="navNm1">전체</li>';
+								if(gagajf.isNull(cate1No)){
+									$("#cateAll").addClass("on");
+								}
 							}else{
 								if(formalGb=='G009_20'){
 									$("#navNm").hide();