瀏覽代碼

Merge branch 'develop' into eskim

eskim 5 年之前
父節點
當前提交
75e2deff1f

+ 102 - 10
src/main/java/com/style24/persistence/mybatis/shop/TsbDisplay.xml

@@ -97,6 +97,7 @@
 		            AND    G.GOODS_TYPE = 'G056_N' /*일반상품*/
 		            AND    G.GOODS_STAT = 'G008_90' /*승인된상품*/
 		            AND    G.SELF_MALL_YN = 'Y' /*자사몰에노출하는넘만*/
+		            AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한판매기간*/
 		            AND    S.SOLDOUT_YN = 'N' /*품절이아닌넘*/
 		            AND    S.DISP_YN = 'Y' /*사이즈노출하는넘만*/
 		            AND    S.CURR_STOCK_QTY - S.BASE_STOCK_QTY > 0 /*재고있는넘*/
@@ -115,8 +116,9 @@
 		            AND    G.BRAND_CD = B.BRAND_CD
 		            AND    G.GOODS_TYPE != 'G056_N' /*일반상품이 아닌넘*/
 		            AND    G.GOODS_STAT = 'G008_90' /*승인된상품*/
-		            AND    G.SELF_GOODS_YN = 'Y' /*자사상품만*/
+		            AND    G.SELF_GOODS_YN = 'Y' /*자사상품만(세트상품과 딜상품은 자사상품만)*/
 		            AND    G.SELF_MALL_YN = 'Y' /*자사몰에노출하는넘만*/
+		            AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한판매기간*/
 		            AND    GC.USE_YN = 'Y' /*사용하는구성상품*/
 		            AND    S.SOLDOUT_YN = 'N' /*품절이아닌넘*/
 		            AND    S.DISP_YN = 'Y' /*사이즈노출하는넘만*/
@@ -277,7 +279,7 @@
 		    AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
 		    AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
 		    AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
-		    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
+		    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한판매기간*/
 		    AND    GS.STOCK_QTY > 0 /*재고있는상품*/
 		    AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
 		    AND    SB.SITE_CD = 'G000_10'
@@ -402,14 +404,57 @@
 		    AND    C4.SITE_CD = 'G000_10'
 		    AND    C4.CATE_GB = 'G032_101'
 		    AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
+		    AND    G.GOODS_TYPE = 'G056_N' /*일반상품*/
 		    AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
-		    AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
-		    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
+		    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 > 0 /*재고있는옵션*/
+		    AND    S.SOLDOUT_YN = 'N' /*품절이 아닌 옵션*/
+		    AND    S.DISP_YN = 'Y' /*노출하는 옵션*/
+		    AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
+		    AND    SB.SITE_CD = 'G000_10'
+		    AND    SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
+		    UNION ALL
+		    SELECT C4.SITE_CD
+		         , C4.CATE_GB
+		         , C4.FORMAL_GB
+		         , CG.BRAND_GROUP_NO
+		         , C4.CATE1_NO
+		         , C4.CATE2_NO
+		         , C4.CATE3_NO
+		         , C4.CATE4_NO
+		         , C4.CATE5_NO
+		         , CONCAT(I.SIZE_GB,'|',S.OPT_CD2) AS FILTER_CD
+		         , S.OPT_CD2                       AS FILTER_NM
+		    FROM   TB_CATE_4SRCH C4
+		         , TB_CATE_GOODS CG
+		         , TB_GOODS G
+		         , TB_GOODS_COMPOSE GC
+		         , TB_ITEMKIND I
+		         , VW_STOCK S
+		         , TB_BRAND B
+		         , TB_SITE_BRAND SB
+		    WHERE  C4.LEAF_CATE_NO = CG.CATE_NO
+		    AND    CG.BRAND_GROUP_NO = 0
+		    AND    CG.GOODS_CD = G.GOODS_CD
+		    AND    G.GOODS_CD = GC.GOODS_CD
+		    AND    G.ITEMKIND_CD = I.ITEMKIND_CD
+		    AND    GC.COMPS_GOODS_CD = S.GOODS_CD
+		    AND    G.BRAND_CD = B.BRAND_CD
+		    AND    B.BRAND_CD = SB.BRAND_CD
+		    AND    C4.SITE_CD = 'G000_10'
+		    AND    C4.CATE_GB = 'G032_101'
+		    AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
+		    AND    G.GOODS_TYPE != 'G056_N' /*일반상품이 아닌넘*/
+		    AND    G.GOODS_STAT = 'G008_90' /*승인된상품*/
+		    AND    G.SELF_GOODS_YN = 'Y' /*자사상품만(세트상품과 딜상품은 자사상품만)*/
+		    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 > 0 /*재고있는옵션*/
 		    AND    S.SOLDOUT_YN = 'N' /*품절이 아닌 옵션*/
 		    AND    S.DISP_YN = 'Y' /*노출하는 옵션*/
-		    AND    LENGTH(S.OPT_CD2) > 0
 		    AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
 		    AND    SB.SITE_CD = 'G000_10'
 		    AND    SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
@@ -535,7 +580,7 @@
 		    AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
 		    AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
 		    AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
-		    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
+		    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한판매기간*/
 		    AND    GS.STOCK_QTY > 0 /*재고있는옵션*/
 		    AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
 		    AND    SB.SITE_CD = 'G000_10'
@@ -783,7 +828,7 @@
 		    AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
 		    AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
 		    AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
-		    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
+		    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한판매기간*/
 		    AND    G.AGE_GRP_CD IS NOT NULL
 		    AND    GS.STOCK_QTY > 0 /*재고있는상품*/
 		    AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
@@ -905,7 +950,7 @@
 		    AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
 		    AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
 		    AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
-		    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
+		    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한판매기간*/
 		    AND    GS.STOCK_QTY > 0 /*재고있는상품*/
 		    AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
 		    AND    SB.SITE_CD = 'G000_10'
@@ -1028,15 +1073,62 @@
 		    AND    C4.SITE_CD = 'G000_10'
 		    AND    C4.CATE_GB = 'G032_101'
 		    AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
+		    AND    G.GOODS_TYPE = 'G056_N' /*일반상품인넘*/
 		    AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
 		    AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
-		    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
+		    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한판매기간*/
 		    AND    GS.STOCK_QTY > 0 /*재고있는상품*/
 		    AND    O.SOLDOUT_YN = 'N' /*품절이 아닌 옵션*/
 		    AND    O.DISP_YN = 'Y' /*노출하는 옵션*/
 		    AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
 		    AND    SB.SITE_CD = 'G000_10'
 		    AND    SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
+		    UNION ALL
+		    SELECT C4.SITE_CD
+		         , C4.CATE_GB
+		         , C4.FORMAL_GB
+		         , CG.BRAND_GROUP_NO
+		         , C4.CATE1_NO
+		         , C4.CATE2_NO
+		         , C4.CATE3_NO
+		         , C4.CATE4_NO
+		         , C4.CATE5_NO
+		         , C.COLOR_GRP_CD    AS FILTER_CD
+		    FROM   TB_CATE_4SRCH C4
+		         , TB_CATE_GOODS CG
+		         , TB_GOODS G
+		         , TB_GOODS_COMPOSE GC
+		         , VW_STOCK GS
+		         , TB_OPTION O
+		         , TB_COLOR C
+		         , TB_BRAND B
+		         , TB_SITE_BRAND SB
+		    WHERE  C4.LEAF_CATE_NO = CG.CATE_NO
+		    AND    CG.BRAND_GROUP_NO = 0
+		    AND    CG.GOODS_CD = G.GOODS_CD
+		    AND    CG.GOODS_CD = GC.GOODS_CD
+		    AND    GC.COMPS_GOODS_CD = GS.GOODS_CD
+		    AND    GS.GOODS_CD = O.GOODS_CD
+		    AND    GS.OPT_CD1 = O.OPT_CD1
+		    AND    O.OPT_CD1 = C.COLOR_CD
+		    AND    G.BRAND_CD = B.BRAND_CD
+		    AND    B.BRAND_CD = SB.BRAND_CD
+		    AND    C4.SITE_CD = 'G000_10'
+		    AND    C4.CATE_GB = 'G032_101'
+		    AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
+		    AND    G.GOODS_TYPE != 'G056_N' /*일반상품이아닌넘*/
+		    AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
+		    AND    G.SELF_GOODS_YN = 'Y' /*자사상품만(세트상품과 딜상품은 자사상품만)*/
+		    AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
+		    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한판매기간*/
+		    AND    GS.SOLDOUT_YN = 'N' /*품절이아닌넘*/
+		    AND    GS.DISP_YN = 'Y' /*사이즈노출하는넘만*/
+		    AND    GS.CURR_STOCK_QTY - GS.BASE_STOCK_QTY > 0 /*재고있는넘만*/
+		    AND    O.SOLDOUT_YN = 'N' /*품절이 아닌 옵션*/
+		    AND    O.DISP_YN = 'Y' /*노출하는 옵션*/
+		    AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
+		    AND    SB.SITE_CD = 'G000_10'
+		    AND    SB.USE_YN = 'Y' /*사이트에서 사용하는 브랜드*/
 		)
 		SELECT A.SITE_CD
 		     , A.CATE_GB
@@ -1156,7 +1248,7 @@
 		    AND    C4.CATE_TYPE = 'G031_10' /*상품카테고리*/
 		    AND    G.GOODS_STAT = 'G008_90' /*승인완료상품*/
 		    AND    G.SELF_MALL_YN = 'Y' /*몰노출상품*/
-		    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*판매기간*/
+		    AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한판매기간*/
 		    AND    GS.STOCK_QTY > 0 /*재고있는상품*/
 		    AND    B.USE_YN = 'Y' /*사용하는 브랜드*/
 		    AND    SB.SITE_CD = 'G000_10'

+ 47 - 35
src/main/java/com/style24/persistence/mybatis/shop/TsbGoods.xml

@@ -1617,7 +1617,7 @@
 	</insert>
 	
 	<!-- TB_GOODS_STOCK 삭제 -->
-	<delete id="deleteGoodsDispStock"   timeout="300">
+	<delete id="deleteGoodsDispStock" timeout="300">
 		/* TsbGoods.deleteGoodsDispStock */
 		DELETE FROM TB_GOODS_STOCK
 	</delete>
@@ -1625,41 +1625,44 @@
 	<!-- TB_GOODS_STOCK 저장 -->
 	<insert id="createGoodsDispStock"  parameterType="String" timeout="300">
 		/* TsbGoods.createGoodsDispStock */
-		INSERT INTO TB_GOODS_STOCK( 
-		    GOODS_CD
-		  , STOCK_QTY
-		  , REG_DT
+		INSERT INTO TB_GOODS_STOCK (
+		       GOODS_CD
+		     , STOCK_QTY
+		     , REG_DT
 		)
-		SELECT Z.GOODS_CD
-		     , MIN(Z.STOCK_QTY_ITEM) AS STOCK_QTY
-		     , NOW()
-		FROM   (
-		        SELECT A.GOODS_CD
-		             , A.MIN_ORD_QTY
-		             , SUM(C.CURR_STOCK_QTY - C.BASE_STOCK_QTY) AS STOCK_QTY_ITEM
-		        FROM   TB_GOODS A
-		             , VW_STOCK C
-		        WHERE  A.GOODS_CD = C.GOODS_CD
-		        AND    C.SOLDOUT_YN = 'N'
-		        AND    C.CURR_STOCK_QTY - C.BASE_STOCK_QTY > 0
-		        GROUP  BY A.GOODS_CD, A.MIN_ORD_QTY
-		        UNION ALL
-		        SELECT A.GOODS_CD
-		             , A.MIN_ORD_QTY
-		             , SUM(C.CURR_STOCK_QTY - C.BASE_STOCK_QTY) AS STOCK_QTY_ITEM
-		        FROM   TB_GOODS A
-		             , TB_GOODS_COMPOSE B
-		             , VW_STOCK C
-		        WHERE  A.GOODS_CD = B.GOODS_CD
-		        AND    B.COMPS_GOODS_CD = C.GOODS_CD
-		        AND    B.USE_YN = 'Y'
-		        AND    A.GOODS_TYPE != 'N'
-		        AND    C.SOLDOUT_YN = 'N'
-		        AND    C.CURR_STOCK_QTY - C.BASE_STOCK_QTY > 0
-		        GROUP  BY A.GOODS_CD, A.MIN_ORD_QTY
-		       ) Z
-		GROUP  BY Z.GOODS_CD, Z.MIN_ORD_QTY
-		HAVING Z.MIN_ORD_QTY <![CDATA[<=]]> MIN(Z.STOCK_QTY_ITEM)
+		SELECT G.GOODS_CD
+		     , SUM(S.CURR_STOCK_QTY - S.BASE_STOCK_QTY) AS STOCK_QTY
+		     , NOW()                                    AS REG_DT
+		FROM   TB_GOODS G
+		     , VW_STOCK S
+		WHERE  G.GOODS_CD = S.GOODS_CD
+		AND    G.GOODS_TYPE = 'G056_N' /*일반상품*/
+		AND    G.GOODS_STAT = 'G008_90' /*승인된상품*/
+		AND    G.SELF_MALL_YN = 'Y' /*자사몰에노출하는넘만*/
+		AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한판매기간*/
+		AND    S.SOLDOUT_YN = 'N' /*품절이아닌넘*/
+		AND    S.DISP_YN = 'Y' /*사이즈노출하는넘만*/
+		AND    S.CURR_STOCK_QTY - S.BASE_STOCK_QTY > 0/*재고있는넘만*/
+		GROUP  BY G.GOODS_CD
+		UNION ALL
+		SELECT G.GOODS_CD
+		     , SUM(S.CURR_STOCK_QTY - S.BASE_STOCK_QTY) AS STOCK_QTY
+		     , NOW()                                    AS REG_DT
+		FROM   TB_GOODS G
+		     , TB_GOODS_COMPOSE GC
+		     , VW_STOCK S
+		WHERE  G.GOODS_CD = GC.GOODS_CD
+		AND    GC.COMPS_GOODS_CD = S.GOODS_CD
+		AND    G.GOODS_TYPE != 'G056_N' /*일반상품이 아닌넘*/
+		AND    G.GOODS_STAT = 'G008_90' /*승인된상품*/
+		AND    G.SELF_GOODS_YN = 'Y' /*자사상품만(세트상품과 딜상품은 자사상품만)*/
+		AND    G.SELF_MALL_YN = 'Y' /*자사몰에노출하는넘만*/
+		AND    NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT /*유효한판매기간*/
+		AND    GC.USE_YN = 'Y' /*사용하는구성상품*/
+		AND    S.SOLDOUT_YN = 'N' /*품절이아닌넘*/
+		AND    S.DISP_YN = 'Y' /*사이즈노출하는넘만*/
+		AND    S.CURR_STOCK_QTY - S.BASE_STOCK_QTY > 0 /*재고있는넘만*/
+		GROUP  BY G.GOODS_CD
 	</insert>
 	
 	<!-- WMS 재고 임시 테이블 삭제 -->
@@ -2408,6 +2411,15 @@
 		     , 0          AS REG_NO
 		     , NOW()      AS REG_DT
 		FROM   TB_GOODS_BENEFIT_TMP
+		UNION ALL
+		SELECT DISTINCT
+		       GC.GOODS_CD
+		     , G.BENEFIT_GB
+		     , 0          AS REG_NO
+		     , NOW()      AS REG_DT
+		FROM   TB_GOODS_BENEFIT_TMP G
+		     , TB_GOODS_COMPOSE GC
+		WHERE  G.GOODS_CD = GC.COMPS_GOODS_CD
 	</insert>
 	
 </mapper>