|
|
@@ -1812,6 +1812,7 @@
|
|
|
, BASE_STOCK_QTY
|
|
|
, CURR_STOCK_QTY
|
|
|
, STORE_STOCK_QTY
|
|
|
+ , STORE_MAX_QTY
|
|
|
, ADD_PRICE
|
|
|
, SOLDOUT_YN
|
|
|
, DISP_ORD
|
|
|
@@ -1831,7 +1832,8 @@
|
|
|
, PRODUCT_CODE
|
|
|
, 0 AS BASE_STOCK_QTY
|
|
|
, CURR_STOCK_QTY
|
|
|
- , STORE_STOCK_QTY
|
|
|
+ , 0 AS STORE_STOCK_QTY
|
|
|
+ , 0 AS STORE_MAX_QTY
|
|
|
, 0 AS ADD_PRICE
|
|
|
, 'N' AS SOLDOUT_YN
|
|
|
, DISP_ORD
|
|
|
@@ -1861,14 +1863,84 @@
|
|
|
AND B.ERP_STOCK_LINK_YN = 'Y'
|
|
|
INNER JOIN TB_STOCK_SYNC_BASE C ON B.BRAND_CD = C.BRAND_CD
|
|
|
AND C.STOCK_SYNC_YN = 'Y'
|
|
|
+ AND C.DELV_LOC_CD = 'DL001' -- WMS 매장코드
|
|
|
INNER JOIN TB_DELIVERY_LOC D ON B.SUPPLY_COMP_CD = D.SUPPLY_COMP_CD
|
|
|
AND C.DELV_LOC_CD = D.DELV_LOC_CD
|
|
|
AND D.USE_YN = 'Y'
|
|
|
AND D.DELV_LOC_CD = 'DL001' -- WMS 매장코드
|
|
|
- WHERE 1 = 1
|
|
|
) Z
|
|
|
</insert>
|
|
|
|
|
|
+ <!--매장 재고 임시 테이블 이관 -->
|
|
|
+ <insert id="saveTbOptionSyncTemp" timeout="300">
|
|
|
+ /* TsbGoods.saveTbOptionSyncTemp */
|
|
|
+ INSERT INTO TB_OPTION_SYNC_TMP
|
|
|
+ (
|
|
|
+ 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
|
|
|
+ , ERP_STOCK_LINK_YN
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
+ )
|
|
|
+ SELECT GOODS_CD
|
|
|
+ , OPT_CD
|
|
|
+ , OPT_CD1
|
|
|
+ , OPT_CD2
|
|
|
+ , SKU_MODEL_NO
|
|
|
+ , PRODUCT_NO
|
|
|
+ , PRODUCT_CODE
|
|
|
+ , 0 AS BASE_STOCK_QTY
|
|
|
+ , 0 AS CURR_STOCK_QTY
|
|
|
+ , STORE_STOCK_QTY
|
|
|
+ , 0 AS STORE_MAX_QTY
|
|
|
+ , 0 AS ADD_PRICE
|
|
|
+ , 'N' AS SOLDOUT_YN
|
|
|
+ , DISP_ORD
|
|
|
+ , 'Y' AS DISP_YN
|
|
|
+ , ERP_STOCK_LINK_YN
|
|
|
+ , 0 AS REG_NO
|
|
|
+ , NOW() AS REG_DT
|
|
|
+ , 0 AS UPD_NO
|
|
|
+ , NOW() AS UPD_DT
|
|
|
+ FROM (
|
|
|
+ SELECT E.GOODS_CD
|
|
|
+ , E.OPT_CD
|
|
|
+ , E.OPT_CD1
|
|
|
+ , E.OPT_CD2
|
|
|
+ , E.SKU_MODEL_NO
|
|
|
+ , E.PRODUCT_NO
|
|
|
+ , E.PRODUCT_CODE
|
|
|
+ , E.CURR_STOCK_QTY
|
|
|
+ , SUM(A.STORE_STOCK_QTY) AS STORE_STOCK_QTY
|
|
|
+ , B.ERP_STOCK_LINK_YN
|
|
|
+ , E.DISP_ORD
|
|
|
+ FROM TB_SHOP_STOCK A
|
|
|
+ INNER JOIN TB_OPTION E ON A.CD_STYLE = E.GOODS_CD
|
|
|
+ AND A.OPT_CD = E.OPT_CD
|
|
|
+ INNER JOIN TB_GOODS B ON E.GOODS_CD = B.GOODS_CD
|
|
|
+ AND B.SELF_GOODS_YN = 'Y'
|
|
|
+ AND B.ERP_STOCK_LINK_YN = 'Y'
|
|
|
+ GROUP BY GOODS_CD , OPT_CD , OPT_CD1 , OPT_CD2 , SKU_MODEL_NO , PRODUCT_NO , PRODUCT_CODE , CURR_STOCK_QTY , DISP_ORD , ERP_STOCK_LINK_YN
|
|
|
+ ) Z
|
|
|
+ ON DUPLICATE KEY UPDATE
|
|
|
+ STORE_STOCK_QTY = Z.STORE_STOCK_QTY
|
|
|
+ </insert>
|
|
|
+
|
|
|
<!-- 입점상품 SELL_QTY 목록 조회 -->
|
|
|
<select id="getGoodsSelfNoStockList" resultType="Option" timeout="300">
|
|
|
/* TsbGoods.getGoodsSelfNoStockList */
|
|
|
@@ -1966,6 +2038,7 @@
|
|
|
, BASE_STOCK_QTY
|
|
|
, CURR_STOCK_QTY
|
|
|
, STORE_STOCK_QTY
|
|
|
+ , STORE_MAX_QTY
|
|
|
, ADD_PRICE
|
|
|
, SOLDOUT_YN
|
|
|
, DISP_ORD
|
|
|
@@ -1985,7 +2058,8 @@
|
|
|
, B.PRODUCT_CODE
|
|
|
, B.BASE_STOCK_QTY
|
|
|
, 0 AS CURR_STOCK_QTY
|
|
|
- , B.STORE_STOCK_QTY
|
|
|
+ , 0 AS STORE_STOCK_QTY
|
|
|
+ , 0 AS STORE_MAX_QTY
|
|
|
, B.ADD_PRICE
|
|
|
, B.SOLDOUT_YN
|
|
|
, B.DISP_ORD
|
|
|
@@ -2001,44 +2075,86 @@
|
|
|
</insert>
|
|
|
|
|
|
<!-- TB_OPTION_SYNC_TMP => TB_OPTION_SYNC 변경적용-->
|
|
|
- <insert id="saveGoodsOptionSyncSync" timeout="300">
|
|
|
+ <update id="saveGoodsOptionSyncSync" timeout="300">
|
|
|
/* TsbGoods.saveGoodsOptionSyncSync */
|
|
|
UPDATE TB_OPTION_SYNC A, (SELECT GOODS_CD
|
|
|
, OPT_CD
|
|
|
, CURR_STOCK_QTY
|
|
|
+ , STORE_STOCK_QTY
|
|
|
, ERP_STOCK_LINK_YN
|
|
|
FROM TB_OPTION_SYNC_TMP
|
|
|
WHERE ERP_STOCK_LINK_YN = 'Y'
|
|
|
) B
|
|
|
SET A.CURR_STOCK_QTY = B.CURR_STOCK_QTY
|
|
|
+ , A.STORE_STOCK_QTY = B.STORE_STOCK_QTY
|
|
|
+ , A.UPD_NO = 0
|
|
|
+ , A.UPD_DT = NOW()
|
|
|
+ WHERE A.GOODS_CD = B.GOODS_CD
|
|
|
+ AND A.OPT_CD = B.OPT_CD
|
|
|
+ <![CDATA[
|
|
|
+ AND (A.CURR_STOCK_QTY <> B.CURR_STOCK_QTY
|
|
|
+ OR
|
|
|
+ A.STORE_STOCK_QTY <> B.STORE_STOCK_QTY
|
|
|
+ )
|
|
|
+ ]]>
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- TB_OPTION_SYNC 매장별 최대구매수량 적용-->
|
|
|
+ <update id="updateGoodsOptionSyncSync" timeout="300">
|
|
|
+ /* TsbGoods.updateGoodsOptionSyncSync */
|
|
|
+ UPDATE TB_OPTION_SYNC A, (SELECT GOODS_CD
|
|
|
+ , OPT_CD
|
|
|
+ , STORE_MAX_QTY
|
|
|
+ FROM (
|
|
|
+ SELECT GOODS_CD
|
|
|
+ , OPT_CD
|
|
|
+ , GREATEST(CURR_STOCK_QTY, QT_STOCK) AS STORE_MAX_QTY
|
|
|
+ FROM (
|
|
|
+ SELECT OS.GOODS_CD
|
|
|
+ , OS.OPT_CD
|
|
|
+ , GREATEST(OS.CURR_STOCK_QTY, 0) AS CURR_STOCK_QTY
|
|
|
+ , GREATEST(IFNULL(SS.QT_STOCK, 0), 0) AS QT_STOCK
|
|
|
+ FROM TB_OPTION_SYNC OS
|
|
|
+ LEFT OUTER JOIN TB_SHOP_STOCK SS ON OS.GOODS_CD = SS.CD_STYLE
|
|
|
+ AND OS.OPT_CD = SS.OPT_CD
|
|
|
+ WHERE OS.ERP_STOCK_LINK_YN = 'Y'
|
|
|
+ ) Z
|
|
|
+ ) WHERE STORE_MAX_QTY > 0
|
|
|
+ ) B
|
|
|
+ SET A.STORE_MAX_QTY = B.STORE_MAX_QTY
|
|
|
, A.UPD_NO = 0
|
|
|
, A.UPD_DT = NOW()
|
|
|
WHERE A.GOODS_CD = B.GOODS_CD
|
|
|
AND A.OPT_CD = B.OPT_CD
|
|
|
<![CDATA[
|
|
|
- AND A.CURR_STOCK_QTY <> B.CURR_STOCK_QTY
|
|
|
+ AND A.STORE_MAX_QTY <> B.STORE_MAX_QTY
|
|
|
]]>
|
|
|
- </insert>
|
|
|
+ </update>
|
|
|
|
|
|
<!-- WMS 임시 테이블에서 실테이블로 변경 -->
|
|
|
- <insert id="saveGoodsOptionNew" timeout="300">
|
|
|
+ <update id="saveGoodsOptionNew" timeout="300">
|
|
|
/* TsbGoods.saveGoodsOptionNew */
|
|
|
UPDATE TB_OPTION A, (SELECT GOODS_CD
|
|
|
, OPT_CD
|
|
|
, CURR_STOCK_QTY
|
|
|
+ , STORE_STOCK_QTY
|
|
|
, ERP_STOCK_LINK_YN
|
|
|
FROM TB_OPTION_SYNC
|
|
|
WHERE ERP_STOCK_LINK_YN = 'Y'
|
|
|
) B
|
|
|
SET A.CURR_STOCK_QTY = B.CURR_STOCK_QTY
|
|
|
+ , A.STORE_STOCK_QTY = B.STORE_STOCK_QTY
|
|
|
, A.UPD_NO = 0
|
|
|
, A.UPD_DT = NOW()
|
|
|
WHERE A.GOODS_CD = B.GOODS_CD
|
|
|
AND A.OPT_CD = B.OPT_CD
|
|
|
<![CDATA[
|
|
|
- AND A.CURR_STOCK_QTY <> B.CURR_STOCK_QTY
|
|
|
+ AND (A.CURR_STOCK_QTY <> B.CURR_STOCK_QTY
|
|
|
+ OR
|
|
|
+ A.STORE_STOCK_QTY <> B.STORE_STOCK_QTY
|
|
|
+ )
|
|
|
]]>
|
|
|
- </insert>
|
|
|
+ </update>
|
|
|
|
|
|
<!-- TB_SELL_QTY_TMP 테이블 삭제 -->
|
|
|
<delete id="deleteTtbSellQtyTemp" timeout="300">
|
|
|
@@ -2560,4 +2676,95 @@
|
|
|
) Z
|
|
|
</insert>
|
|
|
|
|
|
+ <!-- TB_SHOP_STOCK 삭제 -->
|
|
|
+ <delete id="deleteShopStock" timeout="300">
|
|
|
+ /* TsbGoods.deleteShopStock */
|
|
|
+ DELETE FROM TB_SHOP_STOCK
|
|
|
+ </delete>
|
|
|
+
|
|
|
+ <!-- TB_SHOP_STOCK 저장 -->
|
|
|
+ <insert id="createShopStock" >
|
|
|
+ /* TsbGoods.createShopStock */
|
|
|
+ INSERT INTO TB_SHOP_STOCK(
|
|
|
+ SUPPLY_COMP_CD
|
|
|
+ , CD_SHOP
|
|
|
+ , CD_STYLE
|
|
|
+ , CD_COLOR
|
|
|
+ , CD_SIZE
|
|
|
+ , QT_STOCK
|
|
|
+ , OPT_CD
|
|
|
+ , OPT_CD1
|
|
|
+ , STORE_STOCK_QTY
|
|
|
+ , UPD_DT
|
|
|
+ )
|
|
|
+ SELECT A.SUPPLY_COMP_CD
|
|
|
+ , A.CD_SHOP
|
|
|
+ , A.CD_STYLE
|
|
|
+ , A.CD_COLOR
|
|
|
+ , A.CD_SIZE
|
|
|
+ , A.QT_STOCK
|
|
|
+ , E.OPT_CD
|
|
|
+ , E.OPT_CD1
|
|
|
+ , ROUND(GREATEST(A.QT_STOCK, 0) * (IFNULL(D.STOCK_APPL_RATE, 0)/100)) AS STORE_STOCK_QTY
|
|
|
+ , NOW()
|
|
|
+ FROM (SELECT S.SUPPLY_COMP_CD
|
|
|
+ , S.CD_SHOP
|
|
|
+ , S.CD_STYLE
|
|
|
+ , S.CD_COLOR
|
|
|
+ , S.CD_SIZE
|
|
|
+ , S.QT_STOCK
|
|
|
+ , M.COLOR_CD AS OPT_CD1
|
|
|
+ FROM TB_SHOP_GOODS_STOCK S
|
|
|
+ INNER JOIN TB_WMS_COLOR_MAPPING M ON S.SUPPLY_COMP_CD = M.SUPPLY_COMP_CD
|
|
|
+ AND S.CD_COLOR = M.WMS_COLOR_CD
|
|
|
+ AND M.USE_YN = 'Y') A
|
|
|
+ INNER JOIN TB_OPTION E ON A.CD_STYLE = E.GOODS_CD
|
|
|
+ AND A.OPT_CD1 = E.OPT_CD1
|
|
|
+ AND A.CD_SIZE = E.OPT_CD2
|
|
|
+ INNER JOIN TB_GOODS B ON A.CD_STYLE = B.GOODS_CD
|
|
|
+ AND B.SELF_GOODS_YN = 'Y'
|
|
|
+ AND B.ERP_STOCK_LINK_YN = 'Y'
|
|
|
+ INNER JOIN TB_STOCK_SYNC_BASE C ON B.BRAND_CD = C.BRAND_CD
|
|
|
+ AND C.STOCK_SYNC_YN = 'Y'
|
|
|
+ AND A.CD_SHOP = C.DELV_LOC_CD
|
|
|
+ INNER JOIN TB_DELIVERY_LOC D ON A.SUPPLY_COMP_CD = D.SUPPLY_COMP_CD
|
|
|
+ AND A.CD_SHOP = D.DELV_LOC_CD
|
|
|
+ AND D.USE_YN = 'Y'
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- TB_SHOP_STOCK_HST 삭제 -->
|
|
|
+ <delete id="deleteShopStockHst" parameterType="String" timeout="300">
|
|
|
+ /* TsbGoods.deleteShopStockHst */
|
|
|
+ DELETE FROM TB_SHOP_STOCK_HST
|
|
|
+ WHERE JOBDATE <![CDATA[<=]]> #{jobdate}
|
|
|
+ </delete>
|
|
|
+
|
|
|
+ <!-- TB_SHOP_STOCK_HST 저장 -->
|
|
|
+ <insert id="createShopStockHst" parameterType="String" timeout="300">
|
|
|
+ /* TsbGoods.createShopStockHst */
|
|
|
+ INSERT INTO TB_SHOP_STOCK_HST(
|
|
|
+ JOBDATE
|
|
|
+ , SUPPLY_COMP_CD
|
|
|
+ , CD_SHOP
|
|
|
+ , CD_STYLE
|
|
|
+ , CD_COLOR
|
|
|
+ , CD_SIZE
|
|
|
+ , QT_STOCK
|
|
|
+ , OPT_CD
|
|
|
+ , OPT_CD1
|
|
|
+ , STORE_STOCK_QTY
|
|
|
+ )
|
|
|
+ SELECT #{jobdate}
|
|
|
+ SUPPLY_COMP_CD
|
|
|
+ , CD_SHOP
|
|
|
+ , CD_STYLE
|
|
|
+ , CD_COLOR
|
|
|
+ , CD_SIZE
|
|
|
+ , QT_STOCK
|
|
|
+ , OPT_CD
|
|
|
+ , OPT_CD1
|
|
|
+ , STORE_STOCK_QTY
|
|
|
+ FROM TB_SHOP_STOCK
|
|
|
+ </insert>
|
|
|
+
|
|
|
</mapper>
|