Browse Source

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.front into develop

sowon4187 5 years ago
parent
commit
82c89613a5

+ 213 - 218
src/main/java/com/style24/persistence/mybatis/shop/TsfDisplay.xml

@@ -746,14 +746,17 @@
 		               </when>
 		               <otherwise>
 		           AND    CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
-		                  </otherwise>
-		              </choose>
-		AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
-		AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
-		AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한 판매기간*/
-		AND    S.STOCK_QTY > 0 /*재고있는 상품*/
-		AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
-		AND    BG.USE_YN = 'Y' /*사용하는 브랜드그룹*/
+		               </otherwise>
+		           </choose>
+		           <if test="formalGb != null and formalGb !=''">
+		           AND    G.FORMAL_GB = #{formalGb}
+		           </if>
+		           AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
+		           AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
+		           AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한 판매기간*/
+		           AND    S.STOCK_QTY > 0 /*재고있는 상품*/
+		           AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
+		           AND    BG.USE_YN = 'Y' /*사용하는 브랜드그룹*/
 		) G
 		WHERE  1 = 1
 		)
@@ -823,225 +826,217 @@
 	<select id="getCategoryGoodsList" parameterType="GoodsSearch" resultType="Goods">
 		/* TsfDisplay.getCategoryGoodsList */
 		WITH TAB_GOODS AS (
-		SELECT G.BRAND_GROUP_NM     /*브랜드그룹명*/
-		, G.GOODS_CD           /*상품코드*/
-		, G.GOODS_NM           /*상품명*/
-		, G.GOODS_GB           /*상품구분*/
-		, G.SELF_GOODS_YN      /*자사상품여부*/
-		, 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         /*현재판매가*/
-		, G.FORMAL_GB
-		, G.REG_DT             /*등록일시*/
-		, G.SELL_WEEK_QTY  /*주간판매수량*/
-		, G.REVIEW_REG_CNT /*리뷰등록건수*/
-		FROM   (
-		SELECT CASE WHEN BG.DISP_NM_LANG = 'EN' THEN
-		BG.BRAND_GROUP_ENM
-		ELSE
-		BG.BRAND_GROUP_KNM
-		END                                                                AS BRAND_GROUP_NM /*브랜드그룹명*/
-		, G.GOODS_CD                                                                           /*상품코드*/
-		, G.GOODS_NM                                                                           /*상품명*/
-		, G.GOODS_GB                                                                           /*상품구분*/
-		, G.SELF_GOODS_YN                                                                      /*자사상품여부*/
-		, G.FOREIGN_BUY_YN                                                                     /*해외구매대행여부*/
-		, G.PARALLEL_IMPORT_YN                                                                 /*병행수입여부*/
-		, G.ORDER_MADE_YN                                                                      /*주문제작여부*/
-		, G.GOODS_TNM                                                                          /*상품타이틀명*/
-		, G.MAIN_COLOR_CD                                                                      /*대표색상코드*/
-		, G.LIST_PRICE                                                                         /*정상가(최초판매가)*/
-		, CASE WHEN 'P' = 'P' AND GBP.CUST_GB = 'G100_20' THEN GBP.STAFF_PC_CURR_PRICE
-		WHEN 'P' = 'M' AND GBP.CUST_GB = 'G100_20' THEN GBP.STAFF_MO_CURR_PRICE
-		WHEN 'P' = 'A' AND GBP.CUST_GB = 'G100_20' THEN GBP.STAFF_APP_CURR_PRICE
-		WHEN 'P' = 'P' AND GBP.CUST_GB != 'G100_20' THEN GBP.PC_CURR_PRICE
-		WHEN 'P' = 'M' AND GBP.CUST_GB != 'G100_20' THEN GBP.MO_CURR_PRICE
-		WHEN 'P' = 'A' AND GBP.CUST_GB != 'G100_20' THEN GBP.APP_CURR_PRICE
-		ELSE G.CURR_PRICE
-		END                                                   AS CURR_PRICE       /*현재판매가*/
-		, G.MIN_ORD_AMT                                                                        /*최수주문금액*/
-		, G.FORMAL_GB /*정상이월구분*/
-		, G.REG_DT                                                                             /*등록일시*/
-		, GS.SELL_WEEK_QTY  /*주간판매수량*/
-		, GS.REVIEW_REG_CNT /*리뷰등록건수*/
-		FROM   TB_CATE_4SRCH C4
-		INNER JOIN TB_CATE_GOODS CG ON C4.LEAF_CATE_NO = CG.CATE_NO
-		INNER JOIN TB_GOODS G ON CG.GOODS_CD = G.GOODS_CD
-		INNER JOIN TB_GOODS_STOCK S ON CG.GOODS_CD = S.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_SUMMARY GS ON CG.GOODS_CD = GS.GOODS_CD
-		LEFT OUTER JOIN TB_GOODS_BENEFIT_PRICE GBP ON CG.GOODS_CD = GBP.GOODS_CD
-		WHERE  C4.SITE_CD = 'G000_10'
-		AND    C4.CATE_GB = 'G032_101'
-		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>
-		<choose>
-			<when test="brandGroupNo != null and brandGroupNo != ''">
-				AND    CG.BRAND_GROUP_NO = #{brandGroupNo}
-			</when>
-			<otherwise>
-				AND    CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
-			</otherwise>
-		</choose>
-		AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
-		AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
-		AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한 판매기간*/
-		AND    S.STOCK_QTY > 0 /*재고있는 상품*/
-		AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
-		AND    BG.USE_YN = 'Y' /*사용하는 브랜드그룹*/
-		) G
-		WHERE  1 = 1
+		          SELECT G.BRAND_GROUP_NM     /*브랜드그룹명*/
+		               , G.GOODS_CD           /*상품코드*/
+		               , G.GOODS_NM           /*상품명*/
+		               , G.GOODS_GB           /*상품구분*/
+		               , G.SELF_GOODS_YN      /*자사상품여부*/
+		               , 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         /*현재판매가*/
+		               , G.FORMAL_GB
+		               , G.REG_DT             /*등록일시*/
+		               , G.SELL_WEEK_QTY  /*주간판매수량*/
+		               , G.REVIEW_REG_CNT /*리뷰등록건수*/
+		          FROM   (
+		                    SELECT CASE WHEN BG.DISP_NM_LANG = 'EN' THEN BG.BRAND_GROUP_ENM
+		                           ELSE BG.BRAND_GROUP_KNM   END                       AS BRAND_GROUP_NM /*브랜드그룹명*/
+		                         , G.GOODS_CD                                                                           /*상품코드*/
+		                         , G.GOODS_NM                                                                           /*상품명*/
+		                         , G.GOODS_GB                                                                           /*상품구분*/
+		                         , G.SELF_GOODS_YN                                                                      /*자사상품여부*/
+		                         , G.FOREIGN_BUY_YN                                                                     /*해외구매대행여부*/
+		                         , G.PARALLEL_IMPORT_YN                                                                 /*병행수입여부*/
+		                         , G.ORDER_MADE_YN                                                                      /*주문제작여부*/
+		                         , G.GOODS_TNM                                                                          /*상품타이틀명*/
+		                         , G.MAIN_COLOR_CD                                                                      /*대표색상코드*/
+		                         , G.LIST_PRICE                                                                         /*정상가(최초판매가)*/
+		                         , CASE WHEN 'P' = 'P' AND GBP.CUST_GB = 'G100_20' THEN GBP.STAFF_PC_CURR_PRICE
+		                         WHEN 'P' = 'M' AND GBP.CUST_GB = 'G100_20' THEN GBP.STAFF_MO_CURR_PRICE
+		                         WHEN 'P' = 'A' AND GBP.CUST_GB = 'G100_20' THEN GBP.STAFF_APP_CURR_PRICE
+		                         WHEN 'P' = 'P' AND GBP.CUST_GB != 'G100_20' THEN GBP.PC_CURR_PRICE
+		                         WHEN 'P' = 'M' AND GBP.CUST_GB != 'G100_20' THEN GBP.MO_CURR_PRICE
+		                         WHEN 'P' = 'A' AND GBP.CUST_GB != 'G100_20' THEN GBP.APP_CURR_PRICE
+		                         ELSE G.CURR_PRICE
+		                         END                                                   AS CURR_PRICE       /*현재판매가*/
+		                         , G.MIN_ORD_AMT                                                                        /*최수주문금액*/
+		                         , G.FORMAL_GB /*정상이월구분*/
+		                         , G.REG_DT                                                                             /*등록일시*/
+		                         , GS.SELL_WEEK_QTY  /*주간판매수량*/
+		                         , GS.REVIEW_REG_CNT /*리뷰등록건수*/
+		                    FROM   TB_CATE_4SRCH C4
+		                    INNER JOIN TB_CATE_GOODS CG ON C4.LEAF_CATE_NO = CG.CATE_NO
+		                    INNER JOIN TB_GOODS G ON CG.GOODS_CD = G.GOODS_CD
+		                    INNER JOIN TB_GOODS_STOCK S ON CG.GOODS_CD = S.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_SUMMARY GS ON CG.GOODS_CD = GS.GOODS_CD
+		                    LEFT OUTER JOIN TB_GOODS_BENEFIT_PRICE GBP ON CG.GOODS_CD = GBP.GOODS_CD
+		                    WHERE  C4.SITE_CD = 'G000_10'
+		                    AND    C4.CATE_GB = 'G032_101'
+		                    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>
+		                <choose>
+		                    <when test="brandGroupNo != null and brandGroupNo != ''">
+		                    AND    CG.BRAND_GROUP_NO = #{brandGroupNo}
+		                    </when>
+		                    <otherwise>
+		                    AND    CG.BRAND_GROUP_NO = 0 /*브랜드메인에서 접근한 것이 아니면*/
+		                    </otherwise>
+		                </choose>
+		                <if test="formalGb != null and formalGb !=''">
+		                    AND    G.FORMAL_GB = #{formalGb}
+		                </if>
+		                    AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
+		                    AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
+		                    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한 판매기간*/
+		                    AND    S.STOCK_QTY > 0 /*재고있는 상품*/
+		                    AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
+		                    AND    BG.USE_YN = 'Y' /*사용하는 브랜드그룹*/
+		                ) G
+		          WHERE  1 = 1
 		)
 		, TAB_OPTION AS (
-		/* 자사상품 색상 목록 */
-		SELECT O.GOODS_CD
-		, O.OPT_CD1  AS MAIN_COLOR_CD
-		FROM   TAB_GOODS G
-		, TB_OPTION O
-		WHERE  G.GOODS_CD = O.GOODS_CD
-		AND    G.SELF_GOODS_YN = 'Y' /*자사상품만*/
-		AND    O.DISP_YN = 'N'
-		GROUP  BY O.GOODS_CD, O.OPT_CD1
+		          /* 자사상품 색상 목록 */
+		          SELECT O.GOODS_CD
+		          , O.OPT_CD1  AS MAIN_COLOR_CD
+		          FROM   TAB_GOODS G
+		          , TB_OPTION O
+		          WHERE  G.GOODS_CD = O.GOODS_CD
+		          AND    G.SELF_GOODS_YN = 'Y' /*자사상품만*/
+		          AND    O.DISP_YN = 'N'
+		          GROUP  BY O.GOODS_CD, O.OPT_CD1
 		)
 		, TAB_ALL_GOODS AS (
-		SELECT *
-		FROM   (
-		SELECT G.BRAND_GROUP_NM
-		, G.GOODS_CD
-		, G.GOODS_NM           /*상품명*/
-		, G.GOODS_GB           /*상품구분*/
-		, G.SELF_GOODS_YN      /*자사상품여부*/
-		, G.FOREIGN_BUY_YN     /*해외구매대행여부*/
-		, G.PARALLEL_IMPORT_YN /*병행수입여부*/
-		, G.ORDER_MADE_YN      /*주문제작여부*/
-		, G.GOODS_TNM          /*상품타이틀명*/
-		, IFNULL(O.MAIN_COLOR_CD,G.MAIN_COLOR_CD) AS MAIN_COLOR_CD /*대표색상코드*/
-		, G.LIST_PRICE         /*정상가(최초판매가)*/
-		, G.CURR_PRICE         /*현재판매가*/
-		, G.FORMAL_GB
-		, G.REG_DT             /*등록일시*/
-		, G.SELL_WEEK_QTY
-		, G.REVIEW_REG_CNT
-		, RANK() OVER(ORDER BY G.FORMAL_GB
-		, G.REG_DT DESC
-		, G.GOODS_CD) AS NUMB
-		FROM TAB_GOODS G
-		LEFT OUTER JOIN TAB_OPTION O ON G.GOODS_CD = O.GOODS_CD
-		) ORIGINAL
-		WHERE 1=1
-		<if test="pageable != null and pageable.endRow != null and pageable.endRow > 0">
-			AND  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
-		</if>
-		<if test="maxRow != null and maxRow !=''">
-			AND  NUMB <![CDATA[<=]]> #{maxRow}
-		</if>
+		        SELECT *
+		        FROM   (
+		                 SELECT G.BRAND_GROUP_NM
+		                 , G.GOODS_CD
+		                 , G.GOODS_NM           /*상품명*/
+		                 , G.GOODS_GB           /*상품구분*/
+		                 , G.SELF_GOODS_YN      /*자사상품여부*/
+		                 , G.FOREIGN_BUY_YN     /*해외구매대행여부*/
+		                 , G.PARALLEL_IMPORT_YN /*병행수입여부*/
+		                 , G.ORDER_MADE_YN      /*주문제작여부*/
+		                 , G.GOODS_TNM          /*상품타이틀명*/
+		                 , IFNULL(O.MAIN_COLOR_CD,G.MAIN_COLOR_CD) AS MAIN_COLOR_CD /*대표색상코드*/
+		                 , G.LIST_PRICE         /*정상가(최초판매가)*/
+		                 , G.CURR_PRICE         /*현재판매가*/
+		                 , G.FORMAL_GB
+		                 , G.REG_DT             /*등록일시*/
+		                 , G.SELL_WEEK_QTY
+		                 , G.REVIEW_REG_CNT
+		                 , RANK() OVER(ORDER BY G.FORMAL_GB
+		                 , G.REG_DT DESC
+		                 , G.GOODS_CD) AS NUMB
+		                 FROM TAB_GOODS G
+		                 LEFT OUTER JOIN TAB_OPTION O ON G.GOODS_CD = O.GOODS_CD
+		        ) ORIGINAL
+		        WHERE 1=1
+		        <if test="pageable != null and pageable.endRow != null and pageable.endRow > 0">
+		        	AND  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
+		        </if>
+		        <if test="maxRow != null and maxRow !=''">
+		        	AND  NUMB <![CDATA[<=]]> #{maxRow}
+		        </if>
 		)
 		, TAB_GOODS_IMG AS (
-		/* 상품의 이미지 */
-		SELECT GOODS_CD
-		,MAX(SYS_IMG_NM)  AS SYS_IMG_NM
-		,MAX(SYS_IMG_NM2) AS SYS_IMG_NM2
-		FROM   (
-		SELECT G.GOODS_CD
-		, CASE WHEN GI.DEFAULT_IMG_YN = 'Y' THEN GI.SYS_IMG_NM ELSE NULL END   AS SYS_IMG_NM
-		, CASE WHEN GI.MOUSEOVER_IMG_YN = 'Y' THEN GI.SYS_IMG_NM ELSE NULL END AS SYS_IMG_NM2
-		FROM   TAB_ALL_GOODS G
-		, TB_GOODS_IMG GI
-		WHERE  G.GOODS_CD = GI.GOODS_CD
-		AND    G.MAIN_COLOR_CD = GI.COLOR_CD
-		) Z
-		GROUP  BY GOODS_CD
+		         /* 상품의 이미지 */
+		         SELECT GOODS_CD
+		                ,MAX(SYS_IMG_NM)  AS SYS_IMG_NM
+		                ,MAX(SYS_IMG_NM2) AS SYS_IMG_NM2
+		         FROM   (
+		                SELECT G.GOODS_CD
+		                , CASE WHEN GI.DEFAULT_IMG_YN = 'Y' THEN GI.SYS_IMG_NM ELSE NULL END   AS SYS_IMG_NM
+		                , CASE WHEN GI.MOUSEOVER_IMG_YN = 'Y' THEN GI.SYS_IMG_NM ELSE NULL END AS SYS_IMG_NM2
+		                FROM   TAB_ALL_GOODS G
+		                , TB_GOODS_IMG GI
+		                WHERE  G.GOODS_CD = GI.GOODS_CD
+		                AND    G.MAIN_COLOR_CD = GI.COLOR_CD
+		         ) Z
+		         GROUP  BY GOODS_CD
 		)
 		SELECT G.BRAND_GROUP_NM
-		, G.GOODS_CD
-		, FN_GET_GOODS_NM(G.GOODS_NM,G.GOODS_GB,G.FOREIGN_BUY_YN,G.PARALLEL_IMPORT_YN,G.ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
-		, G.GOODS_TNM
-		, G.MAIN_COLOR_CD
-		, G.LIST_PRICE
-		, G.CURR_PRICE                                                                                                  /*현재판매가*/
-		, GI.SYS_IMG_NM
-		, GI.SYS_IMG_NM2
-		, (
-		SELECT GROUP_CONCAT(CONCAT(VIDEO_GB,':',KMC_KEY) ORDER BY NUMB SEPARATOR ',')
-		FROM   (
-		SELECT GV.VIDEO_GB
-		, GV.KMC_KEY
-		, GV.REG_DT
-		, RANK() OVER(ORDER BY GV.REG_DT, GV.KMC_KEY) AS NUMB
-		FROM   TB_GOODS_VIDEO GV
-		WHERE  GV.GOODS_CD = G.GOODS_CD
-		AND    GV.DISP_YN = 'Y'
-		AND    GV.KMC_KEY IS NOT NULL
-		) Z
-		WHERE  NUMB <![CDATA[<=]]>  2
-		) AS VIDEO_VAL
-		, (
-		SELECT GROUP_CONCAT(DISTINCT CONCAT(C.COLOR_CD,':',CC.CD_DESC) ORDER BY CC.DISP_ORD SEPARATOR ',') AS COLOR_CHIPS
-		FROM   TB_OPTION O
-		, TB_COLOR C
-		, TB_COMMON_CODE CC
-		WHERE  O.OPT_CD1 = C.COLOR_CD
-		AND    C.COLOR_GRP_CD = CC.CD
-		AND    O.GOODS_CD = G.GOODS_CD
-		AND    O.DISP_YN = 'Y'
-		AND    C.USE_YN = 'Y'
-		AND    CC.USE_YN = 'Y'
-		) AS COLOR_CHIPS /*컬러칩*/
-		, (
-		SELECT GROUP_CONCAT(DISTINCT CONCAT(OPT_CD2
-		,':'
-		,CASE WHEN SOLDOUT_YN = 'Y' THEN 'Y'
-		ELSE
-		CASE WHEN CURR_STOCK_QTY - BASE_STOCK_QTY > 0 THEN 'N'
-		ELSE 'Y'
-		END
-		END)
-		ORDER BY DISP_ORD SEPARATOR ',') AS SIZES
-		FROM   VW_STOCK
-		WHERE  GOODS_CD = G.GOODS_CD
-		AND    OPT_CD1 = G.MAIN_COLOR_CD
-		AND    DISP_YN = 'Y'
-		) AS SIZES /*사이즈*/
-		, (
-		SELECT GROUP_CONCAT(CONCAT(BENEFIT_GB,':',BENEFIT_NM) ORDER BY NUMB SEPARATOR ',')
-		FROM   (
-		SELECT GB.BENEFIT_GB
-		, CASE WHEN GB.BENEFIT_GB = '10' THEN '쿠폰할인'
-		       WHEN GB.BENEFIT_GB = '20' THEN '무료배송'
-		       WHEN GB.BENEFIT_GB = '30' THEN '사은품'
-		       ELSE '신상' END AS BENEFIT_NM
-		, RANK() OVER(ORDER BY GB.BENEFIT_GB, GB.GOODS_CD) AS NUMB
-		FROM   TB_GOODS_BENEFIT GB
-		WHERE  GB.GOODS_CD = G.GOODS_CD
-		) Z
-		) AS ICON
-		, FORMAL_GB
-		, REG_DT
-		, NUMB
+		     , G.GOODS_CD
+		     , FN_GET_GOODS_NM(G.GOODS_NM,G.GOODS_GB,G.FOREIGN_BUY_YN,G.PARALLEL_IMPORT_YN,G.ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
+		     , G.GOODS_TNM
+		     , G.MAIN_COLOR_CD
+		     , G.LIST_PRICE
+		     , G.CURR_PRICE                                                                                                  /*현재판매가*/
+		     , GI.SYS_IMG_NM
+		     , GI.SYS_IMG_NM2
+		     , (
+		           SELECT GROUP_CONCAT(CONCAT(VIDEO_GB,':',KMC_KEY) ORDER BY NUMB SEPARATOR ',')
+		           FROM   (
+		                  SELECT GV.VIDEO_GB
+		                  , GV.KMC_KEY
+		                  , GV.REG_DT
+		                  , RANK() OVER(ORDER BY GV.REG_DT, GV.KMC_KEY) AS NUMB
+		                  FROM   TB_GOODS_VIDEO GV
+		                  WHERE  GV.GOODS_CD = G.GOODS_CD
+		                  AND    GV.DISP_YN = 'Y'
+		                  AND    GV.KMC_KEY IS NOT NULL
+		           ) Z
+		           WHERE  NUMB <![CDATA[<=]]>  2
+		     ) AS VIDEO_VAL
+		     , (
+		           SELECT GROUP_CONCAT(DISTINCT CONCAT(C.COLOR_CD,':',CC.CD_DESC) ORDER BY CC.DISP_ORD SEPARATOR ',') AS COLOR_CHIPS
+		           FROM   TB_OPTION O
+		           , TB_COLOR C
+		           , TB_COMMON_CODE CC
+		           WHERE  O.OPT_CD1 = C.COLOR_CD
+		           AND    C.COLOR_GRP_CD = CC.CD
+		           AND    O.GOODS_CD = G.GOODS_CD
+		           AND    O.DISP_YN = 'Y'
+		           AND    C.USE_YN = 'Y'
+		           AND    CC.USE_YN = 'Y'
+		     ) AS COLOR_CHIPS /*컬러칩*/
+		     , (
+		           SELECT GROUP_CONCAT(DISTINCT CONCAT(OPT_CD2 ,':' ,CASE WHEN SOLDOUT_YN = 'Y' THEN 'Y'
+		                               ELSE CASE WHEN CURR_STOCK_QTY - BASE_STOCK_QTY > 0 THEN 'N' ELSE 'Y'  END END) ORDER BY DISP_ORD SEPARATOR ',') AS SIZES
+		           FROM   VW_STOCK
+		           WHERE  GOODS_CD = G.GOODS_CD
+		           AND    OPT_CD1 = G.MAIN_COLOR_CD
+		           AND    DISP_YN = 'Y'
+		     ) AS SIZES /*사이즈*/
+		     , (
+		          SELECT GROUP_CONCAT(CONCAT(BENEFIT_GB,':',BENEFIT_NM) ORDER BY NUMB SEPARATOR ',')
+		          FROM   (
+		                SELECT GB.BENEFIT_GB
+		                , CASE WHEN GB.BENEFIT_GB = '10' THEN '쿠폰할인'
+		                       WHEN GB.BENEFIT_GB = '20' THEN '무료배송'
+		                       WHEN GB.BENEFIT_GB = '30' THEN '사은품'
+		                       ELSE '신상' END AS BENEFIT_NM
+		                , RANK() OVER(ORDER BY GB.BENEFIT_GB, GB.GOODS_CD) AS NUMB
+		                FROM   TB_GOODS_BENEFIT GB
+		                WHERE  GB.GOODS_CD = G.GOODS_CD
+		          ) Z
+		     ) AS ICON
+		     , FORMAL_GB
+		     , REG_DT
+		     , NUMB
 		<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_ALL_GOODS G
 		LEFT OUTER JOIN TAB_GOODS_IMG GI ON G.GOODS_CD = GI.GOODS_CD

+ 11 - 10
src/main/webapp/WEB-INF/views/web/common/fragments/GnbWeb.html

@@ -572,6 +572,7 @@
 	// GNB탭 > 카테고리
 	let fnGetGnbCategory = function(cate1) {
 		let tag = '';
+		let formalGb = 'G009_10';
 		if (cate1 != null) {
 			tag += '<li class="has_depth">\n'; //depth_menu 있을 시 has_depth 클래스 추가
 			tag += '	<a href="javascript:void(0);" onclick="cfnGoToCategoryMain(\'' + cate1.cateGb + '\',' + cate1.cate1No + ');">' + cate1.cate1Nm + '</a>\n';
@@ -579,23 +580,23 @@
 			tag += '		<div class="head_category">\n';
 			tag += '			<div class="tit">\n';
 			tag += '				<p>' + cate1.cate1Nm + '</p>\n';
-			tag += '				<a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate1.cateGb + '\',' + cate1.cate1No + ');" class="more">전체보기</a>\n';
+			tag += '				<a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate1.cateGb + '\',' + cate1.cate1No + ',\'\',\'\',\'\',\'\',\'' + formalGb + '\');" class="more">전체보기</a>\n';
 			tag += '			</div>\n';
 			if (cate1.leafYn == 'N' && cate1.cate2List.length > 0) {
 				tag += '			<div class="menu">\n';
 				tag += '				<ul class="maintabs">\n';
 				$.each(cate1.cate2List, function(idx2, cate2) {
 					tag += '					<li>\n';
-					tag += '						<a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate2.cateGb + '\',' + cate2.cate1No + ',' + cate2.cate2No + ');">' + cate2.cate2Nm + '</a>\n';
+					tag += '						<a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate2.cateGb + '\',' + cate2.cate1No + ',' + cate2.cate2No + ',\'\',\'\',\'\',\'' + formalGb + '\');">' + cate2.cate2Nm + '</a>\n';
 					if (cate2.leafYn == 'N' && cate2.cate3List != null && cate2.cate3List.length > 0) {
 						tag += '						<ul class="box_depth2">\n';
 						$.each(cate2.cate3List, function(idx3, cate3) {
 							tag += '							<li>\n';
-							tag += '								<a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate3.cateGb + '\',' + cate3.cate1No + ',' + cate3.cate2No + ',' + cate3.cate3No + ');">' + cate3.cate3Nm + '</a>\n';
+							tag += '								<a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate3.cateGb + '\',' + cate3.cate1No + ',' + cate3.cate2No + ',' + cate3.cate3No + ',\'\',\'\',\'' + formalGb + '\');">' + cate3.cate3Nm + '</a>\n';
 							if (cate3.leafYn == 'N' && cate3.cate4List != null && cate3.cate4List.length > 0) {
 								tag += '								<ul class="box_depth3">\n';
 								$.each(cate3.cate4List, function(idx4, cate4) {
-									tag += '									<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate4.cateGb + '\',' + cate4.cate1No + ',' + cate4.cate2No + ',' + cate4.cate3No + ',' + cate4.cate4No + ');">' + cate4.cate4Nm + '</a></li>\n';
+									tag += '									<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate4.cateGb + '\',' + cate4.cate1No + ',' + cate4.cate2No + ',' + cate4.cate3No + ',' + cate4.cate4No + ',\'\',\'' + formalGb + '\');">' + cate4.cate4Nm + '</a></li>\n';
 								});
 								tag += '								</ul>\n';
 							}
@@ -714,8 +715,8 @@
 		tag += '				</ul>\n';
 		tag += '			</div>\n';
 		tag += '		</div>\n';
-		tag += '	<div class="head_banner" id="outlet'+allCateItem.cate1No+'">\n';
-		tag += '	</div>';
+		// tag += '	<div class="head_banner" id="outlet'+allCateItem.cate1No+'">\n';
+		// tag += '	</div>';
 		tag += '	</div>\n';
 		tag += '</li>\n';
 		return tag;
@@ -731,22 +732,22 @@
 
 	var fnGetOutletLeafData= function (idx, cate1){
 		let tag2 = '';
-
+		let formalGb = 'G009_20';
 		if (cate1 != null) {
 			if (cate1.leafYn == 'N' && cate1.cate2List.length > 0) {
 				tag2 += '<ul class="box_depth2">';
 				$.each(cate1.cate2List, function(idx2, cate2) {
 					tag2 += '					<li>\n';
-					tag2 += '						<a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate2.cateGb + '\',' + cate2.cate1No + ',' + cate2.cate2No + ');">' + cate2.cate2Nm + '</a>\n';
+					tag2 += '						<a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate2.cateGb + '\',' + cate2.cate1No + ',' + cate2.cate2No + ',\'\',\'\',\'\',\'' + formalGb + '\');">' + cate2.cate2Nm + '</a>\n';
 					if (cate2.leafYn == 'N' && cate2.cate3List != null && cate2.cate3List.length > 0) {
 						tag2 += '						<ul class="box_depth2">\n';
 						$.each(cate2.cate3List, function(idx3, cate3) {
 							tag2 += '							<li>\n';
-							tag2 += '								<a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate3.cateGb + '\',' + cate3.cate1No + ',' + cate3.cate2No + ',' + cate3.cate3No + ');">' + cate3.cate3Nm + '</a>\n';
+							tag2 += '								<a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate3.cateGb + '\',' + cate3.cate1No + ',' + cate3.cate2No + ',' + cate3.cate3No + ',\'\',\'\',\'' + formalGb + '\');">' + cate3.cate3Nm + '</a>\n';
 							if (cate3.leafYn == 'N' && cate3.cate4List != null && cate3.cate4List.length > 0) {
 								tag2 += '								<ul class="box_depth3">\n';
 								$.each(cate3.cate4List, function(idx4, cate4) {
-									tag2 += '									<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate4.cateGb + '\',' + cate4.cate1No + ',' + cate4.cate2No + ',' + cate4.cate3No + ',' + cate4.cate4No + ');">' + cate4.cate4Nm + '</a></li>\n';
+									tag2 += '									<li><a href="javascript:void(0);" onclick="cfnGoToGoodsList(0,\'' + cate4.cateGb + '\',' + cate4.cate1No + ',' + cate4.cate2No + ',' + cate4.cate3No + ',' + cate4.cate4No + ',\'\',\'' + formalGb + '\');">' + cate4.cate4Nm + '</a></li>\n';
 								});
 								tag2 += '								</ul>\n';
 							}

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

@@ -474,7 +474,7 @@
 										<div class="swiper-slide">
 											<div class="movbox">
 												<iframe th:if="${item.strVar1=='Y'}" width="100%" height="100%" th:src="${'https://www.youtube.com/embed/'+item.strVar2+'?rel=0'}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
-												<iframe th:if="${item.strVar1=='M'}" width="100%" height="100%" th:src="${'http://v.kr.kollus.com/'+item.strVar2}" ></iframe>
+												<iframe th:if="${item.strVar1=='M'}" class="pd_mov"  th:src="${'http://v.kr.kollus.com/'+item.strVar2+'?enable_initialize_focus=false'}" allowfullscreen></iframe>
 											</div>
 										</div>
 									</th:block>

+ 10 - 5
src/main/webapp/biz/goods.js

@@ -172,9 +172,14 @@ var fnCreateGoodsList = function(result, ithrCd, contentLoc, goodsUrl, lastPage,
 
 		tag += '<div class="item_prod">';
 		tag += '	<div class="item_state">';
-		tag += '		<button type="button" class="itemLike">관심상품 추가</button>';
-		tag += '		<a href="#none" class="itemLink">';
-		// tag += '			<div class="rank ranker"><span>'+(rank+(idx+1))+'</span></div>';
+		tag += '		<button type="button" class="itemLike"';
+		if(item.likeIt == 'likeit'){
+			tag += 'classappend="likeit"';
+		}else{
+			tag += 'classappend=""';
+		}
+		tag += ' onClick="cfnPutWishList(this);" goodsCd=\''+item.goodsCd+'\', ithrCd=\'\', contentsLoc=\'\', planDtlSq=\'\'>관심상품 추가</button>';
+		tag += '<a href="javascript:void(0);" class="itemLink" onclick="cfnGoToGoodsDetail(\''+item.goodsCd+'\');">';
 		tag += '			<div class="itemPic">';
 		if(!gagajf.isNull(item.videoVal)){
 			var videoArr = item.videoVal.split(",");
@@ -188,11 +193,11 @@ var fnCreateGoodsList = function(result, ithrCd, contentLoc, goodsUrl, lastPage,
 			if(videoGb=='Y'){
 				tag += '<iframe id="child" class="pd_mov" src="https://www.youtube.com/embed/'+videoUrl+'"></iframe>';
 			}else{
-				tag += '<iframe id="child" class="pd_mov" src="http://v.kr.kollus.com/'+videoUrl+'"></iframe>';
+				tag += '<iframe id="child" class="pd_mov" src="http://v.kr.kollus.com/'+videoUrl+'?enable_initialize_focus=false&autoplay=true" frameborder="0" allowfullscreen></iframe>';
 			}
 		}
 		tag += '		<img class=" vLHTC pd_img" src="'+goodsUrl+'/'+item.sysImgNm+'" data-img="'+goodsUrl+'/'+item.sysImgNm2+'">';
-		if(!gagajf.isNull(item.sizes)){
+		if(!gagajf.isNull(item.sizes) && gagajf.isNull(item.videoVal)){
 			var sizeArr = item.sizes.split(",");
 			var minSize;
 			var maxSize;

+ 3 - 1
src/main/webapp/ux/style24_link.js

@@ -1055,15 +1055,17 @@ var cfnGoToOutletMain = function(cateGb, cate1No) {
  * @param  : cate3No - 카테고리3번호. 옵션
  * @param  : cate4No - 카테고리4번호. 옵션
  * @param  : cate5No - 카테고리5번호. 옵션
+ * @param  : formalGb - 정상이월구분. 옵션
  * @since  : 2021/03/22
  * @author : gagamel
  */
-var cfnGoToGoodsList = function(brandGroupNo, cateGb, cate1No, cate2No, cate3No, cate4No, cate5No) {
+var cfnGoToGoodsList = function(brandGroupNo, cateGb, cate1No, cate2No, cate3No, cate4No, cate5No, formalGb) {
 	var params = '?brandGroupNo=' + brandGroupNo + '&cateGb=' + cateGb + '&cate1No=' + cate1No;
 	if (typeof (cate2No) != 'undefined') params += '&cate2No=' + cate2No;
 	if (typeof (cate3No) != 'undefined') params += '&cate3No=' + cate3No;
 	if (typeof (cate4No) != 'undefined') params += '&cate4No=' + cate4No;
 	if (typeof (cate5No) != 'undefined') params += '&cate5No=' + cate5No;
+	if (typeof (formalGb) != 'undefined') params += '&formalGb=' + formalGb;
 	cfnGoToPage(_PAGE_CATE_GOODS_LIST + params);
 }