|
|
@@ -677,12 +677,26 @@
|
|
|
ELSE 0 END ) AS STOCK_QTY
|
|
|
FROM (
|
|
|
SELECT CASE WHEN A.SOLDOUT_YN = 'Y' THEN 0
|
|
|
- ELSE A.CURR_STOCK_QTY
|
|
|
- END AS STOCK_QTY
|
|
|
- , B.MIN_ORD_QTY
|
|
|
- FROM VW_STOCK A
|
|
|
+ ELSE GREATEST(GREATEST((GREATEST(A.CURR_STOCK_QTY,0) + GREATEST(A.STORE_STOCK_QTY,0)) - A.BASE_STOCK_QTY, 0) - IFNULL(S.SELL_QTY, 0), 0) END AS STOCK_QTY
|
|
|
+ , B.MIN_ORD_QTY
|
|
|
+ FROM TB_OPTION A
|
|
|
+ LEFT OUTER JOIN (
|
|
|
+ SELECT GOODS_CD,
|
|
|
+ OPT_CD,
|
|
|
+ SUM((CASE SELL_GB
|
|
|
+ WHEN '10' THEN 1
|
|
|
+ WHEN '20' THEN -1
|
|
|
+ END) * SELL_QTY) AS SELL_QTY
|
|
|
+ FROM TB_SELL_QTY
|
|
|
+ WHERE GOODS_CD = #{goodsCd}
|
|
|
+ AND OPT_CD = #{optCd}
|
|
|
+ GROUP BY GOODS_CD, OPT_CD
|
|
|
+ ) S
|
|
|
+ ON (A.GOODS_CD = S.GOODS_CD
|
|
|
+ AND A.OPT_CD = S.OPT_CD
|
|
|
+ )
|
|
|
INNER JOIN TB_GOODS B ON A.GOODS_CD = B.GOODS_CD
|
|
|
- WHERE A.GOODS_CD = #{goodsCd}
|
|
|
+ WHERE A.GOODS_CD = #{goodsCd}
|
|
|
AND A.OPT_CD = #{optCd}
|
|
|
) Z
|
|
|
</select>
|
|
|
@@ -693,23 +707,48 @@
|
|
|
SELECT CASE WHEN STORE_MAX_QTY - MIN_ORD_QTY >= 0 THEN STORE_MAX_QTY
|
|
|
ELSE 0 END
|
|
|
FROM (
|
|
|
- SELECT (CASE WHEN WMS_STOCK_QTY >= STORE_STOCK_QTY THEN WMS_STOCK_QTY
|
|
|
- ELSE STORE_STOCK_QTY END) AS STORE_MAX_QTY
|
|
|
- , MIN_ORD_QTY
|
|
|
- FROM (
|
|
|
- SELECT CASE WHEN A.SOLDOUT_YN = 'Y' THEN 0
|
|
|
- ELSE A.CURR_STOCK_QTY
|
|
|
- END AS WMS_STOCK_QTY
|
|
|
- , CASE WHEN A.SOLDOUT_YN = 'Y' THEN 0
|
|
|
- ELSE A.STORE_MAX_QTY
|
|
|
- END AS STORE_STOCK_QTY
|
|
|
- , B.MIN_ORD_QTY
|
|
|
- FROM TB_OPTION A
|
|
|
- INNER JOIN TB_GOODS B ON A.GOODS_CD = B.GOODS_CD
|
|
|
- WHERE A.GOODS_CD = #{goodsCd}
|
|
|
- AND A.OPT_CD = #{optCd}
|
|
|
- ) Z
|
|
|
- ) Y
|
|
|
+ SELECT (CASE
|
|
|
+ WHEN WMS_STOCK_QTY >= STORE_STOCK_QTY THEN WMS_STOCK_QTY
|
|
|
+ ELSE STORE_STOCK_QTY END) AS STORE_MAX_QTY
|
|
|
+ , MIN_ORD_QTY
|
|
|
+ FROM (
|
|
|
+ SELECT CASE
|
|
|
+ WHEN WMS_STOCK_QTY - SELL_QTY > 0 THEN WMS_STOCK_QTY - SELL_QTY
|
|
|
+ ELSE SELL_QTY - WMS_STOCK_QTY END AS WMS_STOCK_QTY
|
|
|
+ , CASE
|
|
|
+ WHEN SELL_QTY - WMS_STOCK_QTY >= 0
|
|
|
+ THEN STORE_STOCK_QTY - (SELL_QTY - WMS_STOCK_QTY)
|
|
|
+ ELSE STORE_STOCK_QTY END AS STORE_STOCK_QTY
|
|
|
+ , MIN_ORD_QTY
|
|
|
+ FROM (
|
|
|
+ SELECT CASE WHEN A.SOLDOUT_YN = 'Y' THEN 0
|
|
|
+ ELSE A.CURR_STOCK_QTY END AS WMS_STOCK_QTY
|
|
|
+ , CASE WHEN A.SOLDOUT_YN = 'Y' THEN 0
|
|
|
+ ELSE A.STORE_MAX_QTY END AS STORE_STOCK_QTY
|
|
|
+ , IFNULL(S.SELL_QTY, 0) AS SELL_QTY
|
|
|
+ , B.MIN_ORD_QTY
|
|
|
+ FROM TB_OPTION A
|
|
|
+ LEFT OUTER JOIN (
|
|
|
+ SELECT GOODS_CD,
|
|
|
+ OPT_CD,
|
|
|
+ SUM((CASE SELL_GB
|
|
|
+ WHEN '10' THEN 1
|
|
|
+ WHEN '20' THEN -1
|
|
|
+ END) * SELL_QTY) AS SELL_QTY
|
|
|
+ FROM TB_SELL_QTY
|
|
|
+ WHERE GOODS_CD = #{goodsCd}
|
|
|
+ AND OPT_CD = #{optCd}
|
|
|
+ GROUP BY GOODS_CD, OPT_CD
|
|
|
+ ) S
|
|
|
+ ON (A.GOODS_CD = S.GOODS_CD
|
|
|
+ AND A.OPT_CD = S.OPT_CD
|
|
|
+ )
|
|
|
+ INNER JOIN TB_GOODS B ON A.GOODS_CD = B.GOODS_CD
|
|
|
+ WHERE A.GOODS_CD = #{goodsCd}
|
|
|
+ AND A.OPT_CD = #{optCd}
|
|
|
+ ) X
|
|
|
+ ) Y
|
|
|
+ )Z
|
|
|
</select>
|
|
|
|
|
|
<!-- 상품 공지 목록 -->
|
|
|
@@ -3150,7 +3189,7 @@
|
|
|
FROM TB_GOODS_RES_SELL
|
|
|
WHERE GOODS_CD = #{goodsCd}
|
|
|
AND USE_YN = 'Y'
|
|
|
- AND DELV_RES_DT > SYSDATE
|
|
|
+ AND DELV_RES_DT > NOW()
|
|
|
</select>
|
|
|
|
|
|
</mapper>
|