eskim преди 5 години
родител
ревизия
a1688444fe
променени са 2 файла, в които са добавени 110 реда и са изтрити 67 реда
  1. 1 1
      src/main/java/com/style24/persistence/mybatis/shop/TsbCommon.xml
  2. 109 66
      src/main/java/com/style24/persistence/mybatis/shop/TsbGoods.xml

+ 1 - 1
src/main/java/com/style24/persistence/mybatis/shop/TsbCommon.xml

@@ -6,7 +6,7 @@
 	<!-- WMS 연동 여부 -->
 	<select id="getWmsSyncYn" resultType="String">
 		/* TsbCommon.getWmsSyncYn */
-		SELECT UPPER(NVL(USE_YN,'N')) AS WMS_SYNC_YN
+		SELECT UPPER(IFNULL(USE_YN,'N')) AS WMS_SYNC_YN
 		FROM TB_COMMON_CODE
 		WHERE CD_GB = 'G077'
 		AND CD = 'WMSSYNCYN'

+ 109 - 66
src/main/java/com/style24/persistence/mybatis/shop/TsbGoods.xml

@@ -425,7 +425,7 @@
 		                                  G.STYLE_YEAR,';',
 		                                  FN_GET_CODE_NM('G006',G.SEASON_CD),';',
 		                                  FN_GET_CODE_NM('G007',G.SEX_GB),';',
-		                                  NVL2(D.COLOR_INFO,CONCAT(D.COLOR_INFO,';'),''),
+		                                  COALESCE(D.COLOR_INFO,CONCAT(D.COLOR_INFO,';'),''),
 		                                  REPLACE(I.ITEMKIND_NM,'>',';')
 		                                  )) AS GOODS_SNM_COMP
 		                           FROM TB_GOODS G
@@ -472,7 +472,7 @@
 		       G.STYLE_YEAR,';',
 		       FN_GET_CODE_NM('G006',G.SEASON_CD),';',
 		       FN_GET_CODE_NM('G007',G.SEX_GB),';',
-		       NVL2(D.COLOR_INFO,CONCAT(D.COLOR_INFO,';'),''),
+		       COALESCE(D.COLOR_INFO,CONCAT(D.COLOR_INFO,';'),''),
 		       REPLACE(I.ITEMKIND_NM,'>',';')
 		       )) AS GOODS_SNM
 		FROM TB_GOODS G
@@ -497,28 +497,28 @@
 		       , CURR_PRICE
 		       , MIN(CURR_PRICE - 
 		           ( CASE WHEN DC_WAY = 'G240_10' THEN
-		                 (CASE WHEN NVL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> DC_PVAL THEN MAX_DC_AMT ELSE DC_PVAL END)
+		                 (CASE WHEN IFNULL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> DC_PVAL THEN MAX_DC_AMT ELSE DC_PVAL END)
 		            ELSE
-		                 (CASE WHEN NVL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> FLOOR((CURR_PRICE * DC_PVAL / 100) / #{pointUnit}) * #{pointUnit} THEN MAX_DC_AMT ELSE FLOOR((CURR_PRICE * DC_PVAL / 100) / #{pointUnit}) * #{pointUnit} END)
+		                 (CASE WHEN IFNULL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> FLOOR((CURR_PRICE * DC_PVAL / 100) / #{pointUnit}) * #{pointUnit} THEN MAX_DC_AMT ELSE FLOOR((CURR_PRICE * DC_PVAL / 100) / #{pointUnit}) * #{pointUnit} END)
 		            END) )AS PC_CURR_PRICE
 		       , MIN(CURR_PRICE - 
 		           ( CASE WHEN DC_WAY = 'G240_10' THEN
-		                 (CASE WHEN NVL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> DC_MVAL THEN MAX_DC_AMT ELSE DC_MVAL END)
+		                 (CASE WHEN IFNULL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> DC_MVAL THEN MAX_DC_AMT ELSE DC_MVAL END)
 		            ELSE
-		                 (CASE WHEN NVL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> FLOOR((CURR_PRICE * DC_MVAL / 100) / #{pointUnit}) * #{pointUnit} THEN MAX_DC_AMT ELSE FLOOR((CURR_PRICE * DC_MVAL / 100) / #{pointUnit}) * #{pointUnit} END)
+		                 (CASE WHEN IFNULL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> FLOOR((CURR_PRICE * DC_MVAL / 100) / #{pointUnit}) * #{pointUnit} THEN MAX_DC_AMT ELSE FLOOR((CURR_PRICE * DC_MVAL / 100) / #{pointUnit}) * #{pointUnit} END)
 		            END)  )AS MO_CURR_PRICE
 		       , STAFF_CURR_PRICE
 		       , MIN(STAFF_CURR_PRICE - 
 		           ( CASE WHEN DC_WAY = 'V' THEN
-		                 (CASE WHEN NVL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> DC_PVAL THEN MAX_DC_AMT ELSE DC_PVAL END)
+		                 (CASE WHEN IFNULL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> DC_PVAL THEN MAX_DC_AMT ELSE DC_PVAL END)
 		            ELSE
-		                 (CASE WHEN NVL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> FLOOR((STAFF_CURR_PRICE * DC_PVAL / 100) / #{pointUnit}) * #{pointUnit} THEN MAX_DC_AMT ELSE FLOOR((STAFF_CURR_PRICE * DC_PVAL / 100) / #{pointUnit}) * #{pointUnit} END)
+		                 (CASE WHEN IFNULL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> FLOOR((STAFF_CURR_PRICE * DC_PVAL / 100) / #{pointUnit}) * #{pointUnit} THEN MAX_DC_AMT ELSE FLOOR((STAFF_CURR_PRICE * DC_PVAL / 100) / #{pointUnit}) * #{pointUnit} END)
 		            END) )AS STAFF_PC_CURR_PRICE
 		       , MIN(STAFF_CURR_PRICE - 
 		           ( CASE WHEN DC_WAY = 'G240_10' THEN
-		                 (CASE WHEN NVL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> DC_MVAL THEN MAX_DC_AMT ELSE DC_MVAL END)
+		                 (CASE WHEN IFNULL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> DC_MVAL THEN MAX_DC_AMT ELSE DC_MVAL END)
 		            ELSE
-		                 (CASE WHEN NVL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> FLOOR((STAFF_CURR_PRICE * DC_MVAL / 100) / #{pointUnit}) * #{pointUnit} THEN MAX_DC_AMT ELSE FLOOR((STAFF_CURR_PRICE * DC_MVAL / 100) / #{pointUnit}) * #{pointUnit} END)
+		                 (CASE WHEN IFNULL(MAX_DC_AMT, 0) >0 AND MAX_DC_AMT <![CDATA[<]]> FLOOR((STAFF_CURR_PRICE * DC_MVAL / 100) / #{pointUnit}) * #{pointUnit} THEN MAX_DC_AMT ELSE FLOOR((STAFF_CURR_PRICE * DC_MVAL / 100) / #{pointUnit}) * #{pointUnit} END)
 		            END)  )AS STAFF_MO_CURR_PRICE
 		FROM   (
 		        SELECT CP.CPN_ID
@@ -579,12 +579,55 @@
 		                                                   WHERE CPN_ID = CP.CPN_ID
 		                                                   AND CPN_TARGET = 'G260_11' 
 		                                                   AND DEL_YN = 'N'
-		                                                   AND NVL(REF_FORMAL_GB,G.FORMAL_GB) = G.FORMAL_GB
-		                                                   AND NVL(REF_BRAND_CD,G.BRAND_CD) = G.BRAND_CD
-		                                                   AND REF_VAL IN (SELECT CATE_CD
-		                                                                   FROM TB_CATEGORY_GOODS
-		                                                                   WHERE GOODS_CD = G.GOODS_CD
-		                                                                   )
+		                                                   AND IFNULL(REF_FORMAL_GB,G.FORMAL_GB) = G.FORMAL_GB
+		                                                   AND IFNULL(REF_BRAND_CD,G.BRAND_CD) = G.BRAND_CD
+		                                                   AND REF_VAL IN (SELECT DISTINCT X.CATE_NO 
+		                                                                   FROM 
+		                                                                        (SELECT LEAF_CATE_NO 
+		                                                                              , CATE_LVL 
+		                                                                              , CATE_NO
+		                                                                         FROM (
+		                                                                               SELECT LEAF_CATE_NO ,
+		                                                                                      CASE WHEN X = 1 THEN 'CATE1_NO'  -- 컬럼과 매핑(컬럼명)
+		                                                                                           WHEN X = 2 THEN 'CATE2_NO'
+		                                                                                           WHEN X = 3 THEN 'CATE3_NO'
+		                                                                                           WHEN X = 4 THEN 'CATE4_NO'
+		                                                                                           ELSE  'CATE5_NO' 
+		                                                                                      END CATE_LVL,
+		                                                                                      CASE WHEN X = 1 THEN CATE1_NO  -- 컬럼과 매핑(컬럼 데이터)
+		                                                                                           WHEN X = 2 THEN CATE2_NO
+		                                                                                           WHEN X = 3 THEN CATE3_NO
+		                                                                                           WHEN X = 4 THEN CATE4_NO
+		                                                                                           ELSE  CATE5_NO 
+		                                                                                      END CATE_NO
+		                                                                               FROM (
+		                                                                                      ( SELECT LEAF_CATE_NO
+		                                                                                             , CATE1_NO
+		                                                                                             , CATE2_NO
+		                                                                                             , CATE3_NO
+		                                                                                             , CATE4_NO
+		                                                                                             , CATE5_NO
+		                                                                                        FROM  TB_CATE_4SRCH
+		                                                                                        WHERE SITE_CD = 'G000_10'
+		                                                                                        AND CATE_TYPE = 'G031_10') A, -- 상품타입
+		                                                                                      (SELECT 1 AS X                -- UNPIVOT 컬럼 수 만큼 선언
+		                                                                                       UNION ALL SELECT 2 AS X
+		                                                                                       UNION ALL SELECT 3 AS X
+		                                                                                       UNION ALL SELECT 4 AS X
+		                                                                                       UNION ALL SELECT 5 AS X
+		                                                                                     ) B
+		                                                                                    )  
+		                                                                               ORDER BY LEAF_CATE_NO, CATE_LVL
+		                                                                              ) K
+		                                                                              WHERE CATE_NO IS NOT NULL
+		                                                                        ) X, 
+		                                                                        (
+		                                                                         SELECT A.CATE_NO, A.GOODS_CD
+		                                                                         FROM TB_CATE_GOODS A
+		                                                                         WHERE GOODS_CD = G.GOODS_CD
+		                                                                        ) Y 
+		                                                                        WHERE X.LEAF_CATE_NO = Y.CATE_NO
+		                                                                  )
 		                                                  ) >0
 		                        ) 
 		                        */
@@ -594,7 +637,7 @@
 		                                                   AND CPN_TARGET = 'G260_12' 
 		                                                   AND DEL_YN = 'N'
 		                                                   AND REF_VAL = G.BRAND_CD
-		                                                   AND NVL(REF_FORMAL_GB,G.FORMAL_GB) = G.FORMAL_GB
+		                                                   AND IFNULL(REF_FORMAL_GB,G.FORMAL_GB) = G.FORMAL_GB
 		                                                  ) >0
 		                        ) 
 		                        OR /* 적용대상:공급업체*/
@@ -603,7 +646,7 @@
 		                                                   AND CPN_TARGET = 'G260_13' 
 		                                                   AND DEL_YN = 'N'
 		                                                   AND REF_VAL = G.SUPPLY_COMP_CD
-		                                                   /*AND NVL(REF_FORMAL_GB,G.FORMAL_GB) = G.FORMAL_GB*/
+		                                                   /*AND IFNULL(REF_FORMAL_GB,G.FORMAL_GB) = G.FORMAL_GB*/
 		                                                  ) >0
 		                        )
 		                      )
@@ -922,9 +965,9 @@
 		    SELECT *
 		    FROM (
 		       SELECT GOODS_CD
-		             ,NVL(SUM(DECODE(${reviewColNm},'1',1,0)),0) AS COL_DATA1
-		             ,NVL(SUM(DECODE(${reviewColNm},'2',1,0)),0) AS COL_DATA2
-		             ,NVL(SUM(DECODE(${reviewColNm},'3',1,0)),0) AS COL_DATA3
+		             ,IFNULL(SUM(DECODE(${reviewColNm},'1',1,0)),0) AS COL_DATA1
+		             ,IFNULL(SUM(DECODE(${reviewColNm},'2',1,0)),0) AS COL_DATA2
+		             ,IFNULL(SUM(DECODE(${reviewColNm},'3',1,0)),0) AS COL_DATA3
 		             ,0
 		             ,NOW()
 		       FROM TB_REVIEW
@@ -975,36 +1018,36 @@
 	<insert id="saveGoodsSummary">
 		/* TsbGoods.saveGoodsSummary */
 		UPDATE TB_GOODS_SUMMARY A, TB_GOODS_SUMMARY_TEMP GS
-		SET  A.SELL_TOT_QTY        = NVL(GS.SELL_TOT_QTY,0)
-		   , A.SELL_WEEK_QTY       = NVL(GS.SELL_WEEK_QTY,0)
-		   , A.SELL_MONTH_QTY      = NVL(GS.SELL_MONTH_QTY,0)
-		   , A.SELL_YDAY_QTY       = NVL(GS.SELL_YDAY_QTY,0)
-		   , A.SELL_DAY15_QTY      = NVL(GS.SELL_DAY15_QTY,0)
-		   , A.READ_NWEEK_CNT      = NVL(GS.READ_NWEEK_CNT,0)
-		   , A.READ_PWEEK_CNT      = NVL(GS.READ_PWEEK_CNT,0)
-		   , A.GOODS_QNA_CNT       = NVL(GS.GOODS_QNA_CNT,0)
-		   , A.REVIEW_REG_CNT      = NVL(GS.REVIEW_REG_CNT,0)
-		   , A.RREVIEW_REG_CNT     = NVL(GS.RREVIEW_REG_CNT,0)
-		   , A.PREVIEW_REG_CNT     = NVL(GS.PREVIEW_REG_CNT,0)
-		   , A.SCORE               = NVL(GS.SCORE,0)
-		   , A.SCORE_SIZE1         = NVL(GS.SCORE_SIZE1,0)
-		   , A.SCORE_SIZE2         = NVL(GS.SCORE_SIZE2,0)
-		   , A.SCORE_SIZE3         = NVL(GS.SCORE_SIZE3,0)
-		   , A.SCORE_COLOR1        = NVL(GS.SCORE_COLOR1,0)
-		   , A.SCORE_COLOR2        = NVL(GS.SCORE_COLOR2,0)
-		   , A.SCORE_COLOR3        = NVL(GS.SCORE_COLOR3,0)
-		   , A.SCORE_FIT1          = NVL(GS.SCORE_FIT1,0)
-		   , A.SCORE_FIT2          = NVL(GS.SCORE_FIT2,0)
-		   , A.SCORE_FIT3          = NVL(GS.SCORE_FIT3,0)
-		   , A.SCORE_THICK1        = NVL(GS.SCORE_THICK1,0)
-		   , A.SCORE_THICK2        = NVL(GS.SCORE_THICK2,0)
-		   , A.SCORE_THICK3        = NVL(GS.SCORE_THICK3,0)
-		   , A.SCORE_WEIGHT1       = NVL(GS.SCORE_WEIGHT1,0)
-		   , A.SCORE_WEIGHT2       = NVL(GS.SCORE_WEIGHT2,0)
-		   , A.SCORE_WEIGHT3       = NVL(GS.SCORE_WEIGHT2,0)
-		   , A.SCORE_BALL1         = NVL(GS.SCORE_BALL1,0)
-		   , A.SCORE_BALL2         = NVL(GS.SCORE_BALL2,0)
-		   , A.SCORE_BALL3         = NVL(GS.SCORE_BALL3,0)
+		SET  A.SELL_TOT_QTY        = IFNULL(GS.SELL_TOT_QTY,0)
+		   , A.SELL_WEEK_QTY       = IFNULL(GS.SELL_WEEK_QTY,0)
+		   , A.SELL_MONTH_QTY      = IFNULL(GS.SELL_MONTH_QTY,0)
+		   , A.SELL_YDAY_QTY       = IFNULL(GS.SELL_YDAY_QTY,0)
+		   , A.SELL_DAY15_QTY      = IFNULL(GS.SELL_DAY15_QTY,0)
+		   , A.READ_NWEEK_CNT      = IFNULL(GS.READ_NWEEK_CNT,0)
+		   , A.READ_PWEEK_CNT      = IFNULL(GS.READ_PWEEK_CNT,0)
+		   , A.GOODS_QNA_CNT       = IFNULL(GS.GOODS_QNA_CNT,0)
+		   , A.REVIEW_REG_CNT      = IFNULL(GS.REVIEW_REG_CNT,0)
+		   , A.RREVIEW_REG_CNT     = IFNULL(GS.RREVIEW_REG_CNT,0)
+		   , A.PREVIEW_REG_CNT     = IFNULL(GS.PREVIEW_REG_CNT,0)
+		   , A.SCORE               = IFNULL(GS.SCORE,0)
+		   , A.SCORE_SIZE1         = IFNULL(GS.SCORE_SIZE1,0)
+		   , A.SCORE_SIZE2         = IFNULL(GS.SCORE_SIZE2,0)
+		   , A.SCORE_SIZE3         = IFNULL(GS.SCORE_SIZE3,0)
+		   , A.SCORE_COLOR1        = IFNULL(GS.SCORE_COLOR1,0)
+		   , A.SCORE_COLOR2        = IFNULL(GS.SCORE_COLOR2,0)
+		   , A.SCORE_COLOR3        = IFNULL(GS.SCORE_COLOR3,0)
+		   , A.SCORE_FIT1          = IFNULL(GS.SCORE_FIT1,0)
+		   , A.SCORE_FIT2          = IFNULL(GS.SCORE_FIT2,0)
+		   , A.SCORE_FIT3          = IFNULL(GS.SCORE_FIT3,0)
+		   , A.SCORE_THICK1        = IFNULL(GS.SCORE_THICK1,0)
+		   , A.SCORE_THICK2        = IFNULL(GS.SCORE_THICK2,0)
+		   , A.SCORE_THICK3        = IFNULL(GS.SCORE_THICK3,0)
+		   , A.SCORE_WEIGHT1       = IFNULL(GS.SCORE_WEIGHT1,0)
+		   , A.SCORE_WEIGHT2       = IFNULL(GS.SCORE_WEIGHT2,0)
+		   , A.SCORE_WEIGHT3       = IFNULL(GS.SCORE_WEIGHT2,0)
+		   , A.SCORE_BALL1         = IFNULL(GS.SCORE_BALL1,0)
+		   , A.SCORE_BALL2         = IFNULL(GS.SCORE_BALL2,0)
+		   , A.SCORE_BALL3         = IFNULL(GS.SCORE_BALL3,0)
 		   , A.UPD_NO              = 0
 		   , A.UPD_DT              = NOW()
 		WHERE A.GOODS_CD = GS.GOODS_CD
@@ -1094,29 +1137,29 @@
 		     , #{productcode}
 		     , #{typecd}
 		     , #{washingmethod}
-		     , NVL(#{value1},0)
-		     , NVL(#{value2},0)
-		     , NVL(#{value3},0)
-		     , NVL(#{value4},0)
-		     , NVL(#{value5},0)
+		     , IFNULL(#{value1},0)
+		     , IFNULL(#{value2},0)
+		     , IFNULL(#{value3},0)
+		     , IFNULL(#{value4},0)
+		     , IFNULL(#{value5},0)
 		     , #{memo}
 		     , DATE_FORMAT(#{dateinserted}, '%Y-%m-%d %H:%i:%S')
 		     , DATE_FORMAT(#{datelastmodified}, '%Y-%m-%d %H:%i:%S')
-		     , NVL(#{isuse},'1')
+		     , IFNULL(#{isuse},'1')
 		     , #{userlastmodified}
 		     , NOW()
 		)
 		ON DUPLICATE KEY UPDATE
 		       WASHINGMETHOD = #{washingmethod}
-		     , VALUE1 = NVL(#{value1},0)
-		     , VALUE2 = NVL(#{value2},0)
-		     , VALUE3 = NVL(#{value3},0)
-		     , VALUE4 = NVL(#{value4},0)
-		     , VALUE5 = NVL(#{value5},0)
+		     , VALUE1 = IFNULL(#{value1},0)
+		     , VALUE2 = IFNULL(#{value2},0)
+		     , VALUE3 = IFNULL(#{value3},0)
+		     , VALUE4 = IFNULL(#{value4},0)
+		     , VALUE5 = IFNULL(#{value5},0)
 		     , MEMO = #{memo}
 		     , DATEINSERTED = DATE_FORMAT(#{dateinserted}, '%Y-%m-%d %H:%i:%S')
 		     , DATELASTMODIFIED = DATE_FORMAT(#{datelastmodified}, '%Y-%m-%d %H:%i:%S')
-		     , ISUSE = NVL(#{isuse},'1')
+		     , ISUSE = IFNULL(#{isuse},'1')
 		     , USERLASTMODIFIED = #{userlastmodified}
 		     , UPD_DT = NOW()
 	</insert>
@@ -1651,7 +1694,7 @@
 		           , PRODUCT_NO
 		           , PRODUCT_CODE
 		           , SUM(CURR_STOCK_QTY) AS CURR_STOCK_QTY
-		           , NVL((SELECT (MAX(DISP_ORD) + 1) AS DISP_ORD 
+		           , IFNULL((SELECT (MAX(DISP_ORD) + 1) AS DISP_ORD 
 		                  FROM TB_OPTION WHERE GOODS_CD = Z.GOODS_CD) , ROW_NUMBER() OVER(PARTITION BY GOODS_CD ORDER BY OPT_CD)) AS DISP_ORD
 		           , ERP_STOCK_LINK_YN
 		       FROM (
@@ -1662,7 +1705,7 @@
 		                , MAX(A.SKUMODELNO) AS SKU_MODEL_NO
 		                , MAX(B.PRODUCT_NO) AS PRODUCT_NO
 		                , MAX(B.PRODUCT_CODE) AS PRODUCT_CODE
-		                , ROUND(GREATEST(A.SELLINGSTOCKAMOUNT, 0) * (NVL(D.STOCK_APPL_RATE, 0)/100)) AS CURR_STOCK_QTY
+		                , ROUND(GREATEST(A.SELLINGSTOCKAMOUNT, 0) * (IFNULL(D.STOCK_APPL_RATE, 0)/100)) AS CURR_STOCK_QTY
 		                , MAX(B.ERP_STOCK_LINK_YN) AS ERP_STOCK_LINK_YN
 		                , D.DELV_LOC_CD
 		                , D.STOCK_APPL_RATE
@@ -2002,7 +2045,7 @@
 		     , E.NORMALQTY AS CURR_STOCK_QTY
 		     , 0 AS ADD_PRICE
 		     , 'N' AS SOLDOUT_YN
-		     , NVL((SELECT (MAX(DISP_ORD) + 1)
+		     , IFNULL((SELECT (MAX(DISP_ORD) + 1)
 			        FROM TB_OPTION WHERE GOODS_CD = E.GOODS_CD) , ROW_NUMBER() OVER(PARTITION BY GOODS_CD ORDER BY OPT_CD)) AS DISP_ORD
 		     , 'Y' AS DISP_YN
 		     , 0 AS REG_NO