|
|
@@ -2504,6 +2504,94 @@
|
|
|
|
|
|
</insert>
|
|
|
|
|
|
+ <!-- 입고상품중 온라인 옵션이 없는 상품옵션 추가 -->
|
|
|
+ <insert id="createGoodsOptionList_new" parameterType="String" timeout="300">
|
|
|
+ /* TsbGoods.createGoodsOptionList_new */
|
|
|
+ INSERT INTO TB_OPTION(
|
|
|
+ GOODS_CD
|
|
|
+ , OPT_CD
|
|
|
+ , OPT_CD1
|
|
|
+ , OPT_CD2
|
|
|
+ , SKU_MODEL_NO
|
|
|
+ , PRODUCT_NO
|
|
|
+ , PRODUCT_CODE
|
|
|
+ , BASE_STOCK_QTY
|
|
|
+ , CURR_STOCK_QTY
|
|
|
+ , STORE_STOCK_QTY
|
|
|
+ , STORE_MAX_QTY
|
|
|
+ , ADD_PRICE
|
|
|
+ , SOLDOUT_YN
|
|
|
+ , DISP_ORD
|
|
|
+ , DISP_YN
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ )
|
|
|
+ SELECT
|
|
|
+ Z.MODELNO
|
|
|
+ , Z.SKUCODE
|
|
|
+ , Z.OPTION1
|
|
|
+ , Z.OPTION2
|
|
|
+ , Z.SKUMODELNO
|
|
|
+ , Z.PRODUCTNO
|
|
|
+ , Z.PRODUCTCODE
|
|
|
+ , 0
|
|
|
+ , 0
|
|
|
+ , 0
|
|
|
+ , 0
|
|
|
+ , 0 /*추가금액*/
|
|
|
+ , 'N' /*SOLDOUT_YN*/
|
|
|
+ , ROW_NUMBER() OVER (PARTITION BY Z.MODELNO ORDER BY PRODUCTNO, SKUCODE )
|
|
|
+ + (select MAX(DISP_ORD) from TB_OPTION where GOODS_CD = Z.MODELNO) AS DISP_ORD /*DISP_ORD*/
|
|
|
+ , 'Y' /*DISP_YN*/
|
|
|
+ , 99999
|
|
|
+ , NOW()
|
|
|
+ , 99999
|
|
|
+ , NOW()
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ B.PRODUCTNO
|
|
|
+ , B.PRODUCTCODE
|
|
|
+ , B.SKUCODE
|
|
|
+ , B.SKUMODELNO
|
|
|
+ , MAX(B.PRODUCTNAME) AS PRODUCTNAME
|
|
|
+ , MAX(CASE WHEN INSTR(REPLACE(B.SKUMODELNO, ' ' , ''), 'F20') = 1 THEN LEFT(REPLACE(B.SKUMODELNO, ' ' , ''),12)
|
|
|
+ WHEN INSTR(REPLACE(B.SKUMODELNO, ' ' , ''), '-') > 0 AND INSTR(REPLACE(B.SKUMODELNO, ' ' , ''), '-') <![CDATA[<]]> 10 THEN LEFT(REPLACE(B.SKUMODELNO, ' ' , ''),11)
|
|
|
+ ELSE LEFT(REPLACE(B.SKUMODELNO, ' ' , ''),10) END) AS MODELNO
|
|
|
+ , IFP.OPTION1
|
|
|
+ , IFP.OPTION2
|
|
|
+ FROM TB_IF_INCOMELOT A
|
|
|
+ INNER JOIN TB_IF_INCOMELOTITEM B ON A.LOTNO = B.LOTNO
|
|
|
+ INNER JOIN ISTYLE24_WMSIF.DBO.TB_IF_PRODUCTSKU IFP ON B.SKUCODE = IFP.SKUCODE
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND LENGTH(REPLACE(B.SKUMODELNO, ' ' , '')) >= 13 -- 품번+색상+사이즈 최소길이
|
|
|
+ <choose>
|
|
|
+ <when test='jobdate != null and jobdate != ""'>
|
|
|
+ AND DATEINCOME >= DATE_FORMAT(#{jobdate}, '%Y-%m-%d %H:%i:%S')
|
|
|
+ <![CDATA[
|
|
|
+ AND DATEINCOME < DATE_FORMAT(DATE_ADD(#{jobdate}, INTERVAL 1 DAY), '%Y-%m-%d %H:%i:%S')
|
|
|
+ ]]>
|
|
|
+ </when>
|
|
|
+ <otherwise>
|
|
|
+ AND DATEINCOME >= DATE_FORMAT(DATE_FORMAT(DATE_ADD(NOW(), INTERVAL -1 DAY),'%Y%m%d' ), '%Y-%m-%d %H:%i:%S')
|
|
|
+ <![CDATA[
|
|
|
+ AND DATEINCOME < DATE_FORMAT(DATE_FORMAT(NOW() ,'%Y%m%d'), '%Y-%m-%d %H:%i:%S')
|
|
|
+ ]]>
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ GROUP BY B.PRODUCTNO , B.PRODUCTCODE, B.SKUCODE, B.SKUMODELNO, IFP.OPTION1, IFP.OPTION2
|
|
|
+ ORDER BY 6, B.PRODUCTNO , B.PRODUCTCODE, B.SKUCODE
|
|
|
+ ) Z
|
|
|
+ WHERE 1=1
|
|
|
+ AND EXISTS (SELECT 1 FROM TB_GOODS WHERE GOODS_CD = Z.MODELNO) /* 마이그된 상품이 있는경우*/
|
|
|
+ AND NOT EXISTS (SELECT 1 FROM TB_OPTION WHERE OPT_CD = Z.SKUCODE ) /* 마이그된 상품이 없는경우 */
|
|
|
+
|
|
|
+ ON DUPLICATE KEY UPDATE
|
|
|
+ UPD_DT = NOW()
|
|
|
+ </insert>
|
|
|
+
|
|
|
+
|
|
|
<!-- 상품혜택임시 테이블 truncate -->
|
|
|
<delete id="truncateTemporaryGoodsBenefit" timeout="600">
|
|
|
/* TsbGoods.truncateTemporaryGoodsBenefit */
|
|
|
@@ -3251,4 +3339,77 @@
|
|
|
FROM VW_STOCK_TMP
|
|
|
</insert>
|
|
|
|
|
|
+ <!-- 입고상품중 온라인 옵션이 없는 상품옵션 추가 테스트용 (기존 누적된 데이터 테스트하며 확인하기 위함용) -->
|
|
|
+ <insert id="createGoodsOptionList_TEST" timeout="300">
|
|
|
+ /* TsbGoods.createGoodsOptionList_TEST */
|
|
|
+ INSERT INTO TB_OPTION(
|
|
|
+ GOODS_CD
|
|
|
+ , OPT_CD
|
|
|
+ , OPT_CD1
|
|
|
+ , OPT_CD2
|
|
|
+ , SKU_MODEL_NO
|
|
|
+ , PRODUCT_NO
|
|
|
+ , PRODUCT_CODE
|
|
|
+ , BASE_STOCK_QTY
|
|
|
+ , CURR_STOCK_QTY
|
|
|
+ , STORE_STOCK_QTY
|
|
|
+ , STORE_MAX_QTY
|
|
|
+ , ADD_PRICE
|
|
|
+ , SOLDOUT_YN
|
|
|
+ , DISP_ORD
|
|
|
+ , DISP_YN
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ )
|
|
|
+ SELECT
|
|
|
+ Z.MODELNO
|
|
|
+ , Z.SKUCODE
|
|
|
+ , Z.OPTION1
|
|
|
+ , Z.OPTION2
|
|
|
+ , Z.SKUMODELNO
|
|
|
+ , Z.PRODUCTNO
|
|
|
+ , Z.PRODUCTCODE
|
|
|
+ , 0
|
|
|
+ , 0
|
|
|
+ , 0
|
|
|
+ , 0
|
|
|
+ , 0 /*추가금액*/
|
|
|
+ , 'N' /*SOLDOUT_YN*/
|
|
|
+ , ROW_NUMBER() OVER (PARTITION BY Z.MODELNO ORDER BY PRODUCTNO, SKUCODE )
|
|
|
+ + (select MAX(DISP_ORD) from TB_OPTION where GOODS_CD = Z.MODELNO) AS DISP_ORD /*DISP_ORD*/
|
|
|
+ , 'Y' /*DISP_YN*/
|
|
|
+ , 99999
|
|
|
+ , NOW()
|
|
|
+ , 99999
|
|
|
+ , NOW()
|
|
|
+ FROM (
|
|
|
+ SELECT
|
|
|
+ B.PRODUCTNO
|
|
|
+ , B.PRODUCTCODE
|
|
|
+ , B.SKUCODE
|
|
|
+ , B.SKUMODELNO
|
|
|
+ , MAX(B.PRODUCTNAME) AS PRODUCTNAME
|
|
|
+ , MAX(CASE WHEN INSTR(REPLACE(B.SKUMODELNO, ' ' , ''), 'F20') = 1 THEN LEFT(REPLACE(B.SKUMODELNO, ' ' , ''),12)
|
|
|
+ WHEN INSTR(REPLACE(B.SKUMODELNO, ' ' , ''), '-') > 0 AND INSTR(REPLACE(B.SKUMODELNO, ' ' , ''), '-') <![CDATA[<]]> 10 THEN LEFT(REPLACE(B.SKUMODELNO, ' ' , ''),11)
|
|
|
+ ELSE LEFT(REPLACE(B.SKUMODELNO, ' ' , ''),10) END) AS MODELNO
|
|
|
+ , IFP.OPTION1
|
|
|
+ , IFP.OPTION2
|
|
|
+ FROM TB_IF_INCOMELOT A
|
|
|
+ INNER JOIN TB_IF_INCOMELOTITEM B ON A.LOTNO = B.LOTNO
|
|
|
+ INNER JOIN ISTYLE24_WMSIF.DBO.TB_IF_PRODUCTSKU IFP ON B.SKUCODE = IFP.SKUCODE
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND LENGTH(REPLACE(B.SKUMODELNO, ' ' , '')) >= 13 -- 품번+색상+사이즈 최소길이
|
|
|
+ AND DATE(B.UPD_DT) = '2021-07-07'
|
|
|
+ GROUP BY B.PRODUCTNO , B.PRODUCTCODE, B.SKUCODE, B.SKUMODELNO, IFP.OPTION1, IFP.OPTION2
|
|
|
+ ORDER BY 6, B.PRODUCTNO , B.PRODUCTCODE, B.SKUCODE
|
|
|
+ ) Z
|
|
|
+ WHERE 1=1
|
|
|
+ AND EXISTS (SELECT 1 FROM TB_GOODS WHERE GOODS_CD = Z.MODELNO) /* 마이그된 상품이 있는경우*/
|
|
|
+ AND NOT EXISTS (SELECT 1 FROM TB_OPTION WHERE OPT_CD = Z.SKUCODE ) /* 마이그된 상품이 없는경우 */
|
|
|
+
|
|
|
+ ON DUPLICATE KEY UPDATE
|
|
|
+ UPD_DT = NOW()
|
|
|
+ </insert>
|
|
|
</mapper>
|