Jelajahi Sumber

Merge branch 'sowon' into develop

developer-sowon4187-at-925584686051 4 tahun lalu
induk
melakukan
5d51cbb826

+ 92 - 83
src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml

@@ -1776,87 +1776,96 @@
 		        ,(CASE WHEN RNK.LIST_PRICE > 0 THEN 100 - ROUND((RNK.CURR_PRICE / RNK.LIST_PRICE) * 100 ,0) ELSE 0 END ) AS DC_RATE
 		      FROM
 		         (
-		          SELECT  ROW_NUMBER() OVER (PARTITION BY GOODS.BRAND_GROUP_NO ORDER BY GOODS.DISP_ORD DESC) AS RNUM
+		          SELECT  ROW_NUMBER() OVER (PARTITION BY GOODS.BRAND_GROUP_NO ORDER BY GOODS.DISP_ORD DESC, GOODS.DIS) AS RNUM
 		                 , GOODS.*
 		            FROM 
 		                (
-		                 SELECT 
-		                    CASE WHEN BG.DISP_NM_LANG = 'EN' THEN
-		                             BG.BRAND_GROUP_ENM
-		                         ELSE
-		                             BG.BRAND_GROUP_KNM
-		                    END                                    AS BRAND_NM /*브랜드그룹명*/
-		                  , SDB.BRAND_GROUP_NO 
-		                  , SDB.DISP_ORD
-		                  , G.GOODS_CD 
-		                  , G.GOODS_NM 
-		                  , G.GOODS_GB                                               /*상품구분*/
-		                  , G.FOREIGN_BUY_YN                                         /*해외구매대행여부*/
-		                  , G.PARALLEL_IMPORT_YN                                     /*병행수입여부*/
-		                  , G.ORDER_MADE_YN                                          /*주문제작여부*/
-		                  , G.GOODS_TNM                                              /*상품타이틀명*/
-		                  , G.MAIN_COLOR_CD                                          /*대표색상코드*/
-		                  , G.LIST_PRICE                                             /*정상가(최초판매가)*/
-		                  , G.CURR_PRICE                                             /*현재판매가*/
-		                FROM   TB_SHOT_DELV_BRAND SDB
-		                                 INNER JOIN TB_SHOT_DELV_GOODS SDG
-		                        ON SDB.BRAND_GROUP_NO = SDG.BRAND_GROUP_NO
-		                                 INNER JOIN TB_GOODS G
-		                        ON SDG.GOODS_CD = G.GOODS_CD 
-		                          		  INNER JOIN TB_BRAND B
-		                        ON G.BRAND_CD = B.BRAND_CD 
-		                                 INNER JOIN TB_BRAND_GROUP BG 
-		                        ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO 
-		                                 INNER JOIN TB_GOODS_STOCK GS
-		                        ON SDG.GOODS_CD = GS.GOODS_CD 
-		                WHERE  1=1  
-		                AND    G.GOODS_CD NOT IN (SELECT GOODS_CD FROM TB_GOODS_SHOT_DELV_SKIP GSDS)
-		                AND    G.SELF_GOODS_YN = 'Y'
-		                AND    G.SELF_MALL_YN = 'Y'
-		                AND    SDG.DEL_YN = 'N'
-		                AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
-		                AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*현재 판매되는 상품*/
-		                AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
-		                AND    BG.USE_YN = 'Y' /*사용하는 브랜드그룹*/
-		                AND    GS.STOCK_QTY  <![CDATA[>]]>  0 /*재고있는상품*/
-		                UNION 
-		                SELECT 
-		                       CASE WHEN BG.DISP_NM_LANG = 'EN' THEN
-		                                BG.BRAND_GROUP_ENM
-		                            ELSE
-		                                BG.BRAND_GROUP_KNM
-		                       END                                    AS BRAND_NM /*브랜드그룹명*/
-		                     , SDB.BRAND_GROUP_NO 
-		                     , SDB.DISP_ORD
-		                     , G.GOODS_CD 
-		                     , G.GOODS_NM 
-		                     , G.GOODS_GB                                               /*상품구분*/
-		                     , G.FOREIGN_BUY_YN                                         /*해외구매대행여부*/
-		                     , G.PARALLEL_IMPORT_YN                                     /*병행수입여부*/
-		                     , G.ORDER_MADE_YN                                          /*주문제작여부*/
-		                     , G.GOODS_TNM                                              /*상품타이틀명*/
-		                     , G.MAIN_COLOR_CD                                          /*대표색상코드*/
-		                     , G.LIST_PRICE                                             /*정상가(최초판매가)*/
-		                     , G.CURR_PRICE                                             /*현재판매가*/
-		                FROM   TB_SHOT_DELV_BRAND SDB
-		                                  INNER JOIN TB_BRAND_GROUP BG 
-		                        ON SDB.BRAND_GROUP_NO = BG.BRAND_GROUP_NO 
-		                                  INNER JOIN TB_BRAND B
-		                        ON BG.BRAND_GROUP_NO = B.BRAND_GROUP_NO 
-		                                 INNER JOIN TB_GOODS G
-		                        ON B.BRAND_CD = G.BRAND_CD 
-		                                 INNER JOIN TB_GOODS_STOCK GS
-		                        ON G.GOODS_CD = GS.GOODS_CD 
-		                WHERE  1=1  
-		                AND    G.GOODS_CD NOT IN (SELECT GOODS_CD FROM TB_GOODS_SHOT_DELV_SKIP GSDS)
-		                AND    G.SELF_GOODS_YN = 'Y'
-		                AND    G.SELF_MALL_YN = 'Y'
-		                AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
-		                AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*현재 판매되는 상품*/
-		                AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
-		                AND    BG.USE_YN = 'Y' /*사용하는 브랜드그룹*/
-		                AND    GS.STOCK_QTY  <![CDATA[>]]>  0 /*재고있는상품*/
+		                  SELECT AA.*
+		                        ,COUNT(*) OVER(PARTITION BY GOODS_CD) AS GOODS_CD_CNT
+		                  FROM 		                 
+		                       (	                
+		                        SELECT 
+		                           CASE WHEN BG.DISP_NM_LANG = 'EN' THEN
+		                                    BG.BRAND_GROUP_ENM
+		                                ELSE
+		                                    BG.BRAND_GROUP_KNM
+		                           END                                    AS BRAND_NM /*브랜드그룹명*/
+		                         , SDB.BRAND_GROUP_NO 
+		                         , SDB.DISP_ORD
+		                         , G.GOODS_CD 
+		                         , G.GOODS_NM 
+		                         , G.GOODS_GB                                               /*상품구분*/
+		                         , G.FOREIGN_BUY_YN                                         /*해외구매대행여부*/
+		                         , G.PARALLEL_IMPORT_YN                                     /*병행수입여부*/
+		                         , G.ORDER_MADE_YN                                          /*주문제작여부*/
+		                         , G.GOODS_TNM                                              /*상품타이틀명*/
+		                         , G.MAIN_COLOR_CD                                          /*대표색상코드*/
+		                         , G.LIST_PRICE                                             /*정상가(최초판매가)*/
+		                         , G.CURR_PRICE                                             /*현재판매가*/
+		                         , 1 AS DIS
+		                        FROM   TB_SHOT_DELV_BRAND SDB
+		                                        INNER JOIN TB_SHOT_DELV_GOODS SDG
+		                               ON SDB.BRAND_GROUP_NO = SDG.BRAND_GROUP_NO
+		                                        INNER JOIN TB_GOODS G
+		                               ON SDG.GOODS_CD = G.GOODS_CD 
+		                            	        INNER JOIN TB_BRAND B
+		                               ON G.BRAND_CD = B.BRAND_CD 
+		                                        INNER JOIN TB_BRAND_GROUP BG 
+		                               ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO 
+		                                        INNER JOIN TB_GOODS_STOCK GS
+		                               ON SDG.GOODS_CD = GS.GOODS_CD 
+		                        WHERE  1=1  
+		                        AND    G.GOODS_CD NOT IN (SELECT GOODS_CD FROM TB_GOODS_SHOT_DELV_SKIP GSDS)
+		                        AND    G.SELF_GOODS_YN = 'Y'
+		                        AND    G.SELF_MALL_YN = 'Y'
+		                        AND    SDG.DEL_YN = 'N'
+		                        AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
+		                        AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*현재 판매되는 상품*/
+		                        AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
+		                        AND    BG.USE_YN = 'Y' /*사용하는 브랜드그룹*/
+		                        AND    GS.STOCK_QTY  <![CDATA[>]]>  0 /*재고있는상품*/
+		                        UNION ALL
+		                        SELECT 
+		                              CASE WHEN BG.DISP_NM_LANG = 'EN' THEN
+		                                       BG.BRAND_GROUP_ENM
+		                                   ELSE
+		                                       BG.BRAND_GROUP_KNM
+		                              END                                    AS BRAND_NM /*브랜드그룹명*/
+		                            , SDB.BRAND_GROUP_NO 
+		                            , SDB.DISP_ORD
+		                            , G.GOODS_CD 
+		                            , G.GOODS_NM 
+		                            , G.GOODS_GB                                               /*상품구분*/
+		                            , G.FOREIGN_BUY_YN                                         /*해외구매대행여부*/
+		                            , G.PARALLEL_IMPORT_YN                                     /*병행수입여부*/
+		                            , G.ORDER_MADE_YN                                          /*주문제작여부*/
+		                            , G.GOODS_TNM                                              /*상품타이틀명*/
+		                            , G.MAIN_COLOR_CD                                          /*대표색상코드*/
+		                            , G.LIST_PRICE                                             /*정상가(최초판매가)*/
+		                            , G.CURR_PRICE                                             /*현재판매가*/
+		                            , 2 AS DIS
+		                        FROM   TB_SHOT_DELV_BRAND SDB
+		                                         INNER JOIN TB_BRAND_GROUP BG 
+		                               ON SDB.BRAND_GROUP_NO = BG.BRAND_GROUP_NO 
+		                                         INNER JOIN TB_BRAND B
+		                               ON BG.BRAND_GROUP_NO = B.BRAND_GROUP_NO 
+		                                        INNER JOIN TB_GOODS G
+		                               ON B.BRAND_CD = G.BRAND_CD 
+		                                        INNER JOIN TB_GOODS_STOCK GS
+		                               ON G.GOODS_CD = GS.GOODS_CD 
+		                        WHERE  1=1  
+		                        AND    G.GOODS_CD NOT IN (SELECT GOODS_CD FROM TB_GOODS_SHOT_DELV_SKIP GSDS)
+		                        AND    G.SELF_GOODS_YN = 'Y'
+		                        AND    G.SELF_MALL_YN = 'Y'
+		                        AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
+		                        AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*현재 판매되는 상품*/
+		                        AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
+		                        AND    BG.USE_YN = 'Y' /*사용하는 브랜드그룹*/
+		                        AND    GS.STOCK_QTY  <![CDATA[>]]>  0 /*재고있는상품*/
+		                       )AA
+		                       ORDER BY AA.BRAND_GROUP_NO, AA.DISP_ORD DESC, AA.DIS
 		               )GOODS 
+		          WHERE CASE WHEN GOODS.GOODS_CD_CNT>1 THEN GOODS.DIS = 1 ELSE GOODS.DIS = 2 END  
 		        )RNK
 		   WHERE RNK.RNUM <![CDATA[<=]]> 100
 		)
@@ -1924,12 +1933,12 @@
 		      , C.COLOR_CHIPS                                                                                                      /*컬러칩*/
 		      , GB.ICON                                                                                                            /*혜택아이콘*/
 		       <choose>
-	                 <when test="custNo != null and custNo > 0"> <!-- 로그인 했으면 -->
-	             , IF(W.GOODS_CD IS NULL,'','likeit')                                                                AS LIKE_IT       /*위시리스트담긴상품*/
-	                 </when>
-	                 <otherwise>
-	             , ''                                                                                                AS LIKE_IT       /*위시리스트담긴상품*/
-	                 </otherwise>
+		                 <when test="custNo != null and custNo > 0"> <!-- 로그인 했으면 -->
+		             , IF(W.GOODS_CD IS NULL,'','likeit')                                                                AS LIKE_IT       /*위시리스트담긴상품*/
+		                 </when>
+		                 <otherwise>
+		             , ''                                                                                                AS LIKE_IT       /*위시리스트담긴상품*/
+		                 </otherwise>
 		      </choose>
 		FROM   TAB_BRAND_GOODS BG
 		LEFT OUTER JOIN TAB_GOODS_IMG GI ON BG.GOODS_CD = GI.GOODS_CD