|
|
@@ -120,6 +120,7 @@
|
|
|
, G.RETURNABLE_YN
|
|
|
, (SELECT CATE1_NO FROM TB_SITE_BRAND WHERE BRAND_CD = G.BRAND_CD AND SITE_CD = #{siteCd} AND USE_YN = 'Y') AS BRAND_CATE1_NO
|
|
|
, (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(#{colorCd}, IFNULL(G.MAIN_COLOR_CD,'00')) AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
|
|
|
+ , (SELECT ) AS COLOR_NM
|
|
|
, BP.CURR_PRICE AS BENEFIT_PRICE
|
|
|
, (CASE WHEN W.GOODS_CD IS NULL THEN 'N' ELSE 'Y' END) AS WISH_YN
|
|
|
, (CASE WHEN G.GOODS_TYPE = 'G056_N' THEN (SELECT IFNULL(MAX(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
|
|
|
@@ -199,56 +200,95 @@
|
|
|
<!-- 상품 옵션1 목록 -->
|
|
|
<select id="getGoodsOption1List" parameterType="Goods" resultType="GoodsStock">
|
|
|
/* TsfGoods.getGoodsOption1List */
|
|
|
- SELECT Z.*
|
|
|
+ SELECT GOODS_CD
|
|
|
+ , OPT_CD1
|
|
|
+ , STOCK_QTY
|
|
|
+ FROM (
|
|
|
+ SELECT G.GOODS_CD
|
|
|
+ , G.SELF_GOODS_YN
|
|
|
+ , O.OPT_CD1
|
|
|
+ , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IF(G.SELF_GOODS_YN ='Y', O.OPT_CD1, '00') AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
|
|
|
+ , IFNULL(S.STOCK_QTY,0) AS STOCK_QTY
|
|
|
+ , G.MIN_ORD_QTY
|
|
|
+ FROM TB_GOODS G
|
|
|
+ INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
|
|
|
+ AND B.USE_YN = 'Y'
|
|
|
+ INNER JOIN (SELECT GOODS_CD, OPT_CD1, MIN(DISP_ORD) AS DISP_ORD FROM TB_OPTION WHERE DISP_YN = 'Y' GROUP BY GOODS_CD, OPT_CD1 ) O ON G.GOODS_CD = O.GOODS_CD
|
|
|
+ LEFT OUTER JOIN (SELECT GOODS_CD
|
|
|
+ , OPT_CD1
|
|
|
+ , SUM(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
|
|
|
+ ELSE CURR_STOCK_QTY
|
|
|
+ END) AS STOCK_QTY
|
|
|
+ FROM VW_STOCK
|
|
|
+ WHERE DISP_YN = 'Y'
|
|
|
+ GROUP BY GOODS_CD, OPT_CD1) S ON G.GOODS_CD = S.GOODS_CD
|
|
|
+ AND O.OPT_CD1 = S.OPT_CD1
|
|
|
+ WHERE G.GOODS_CD = #{goodsCd})
|
|
|
+ AND G.GOODS_TYPE = 'G056_N' -- 일반상품
|
|
|
+ <if test='adminYn == null or adminYn != "Y"'>
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ </if>
|
|
|
+ ORDER BY O.DISP_ORD
|
|
|
+ )
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 상품 사이즈 목록 -->
|
|
|
+ <select id="getGoodsSizeList" parameterType="Tsfgoods" resultType="TsfStock">
|
|
|
+ /* TsfGoods.getGoodsSizeList */
|
|
|
+ SELECT GOODS_CD
|
|
|
+ , OPT_CD
|
|
|
+ , OPT_CD1
|
|
|
+ , OPT_CD2
|
|
|
+ , STOCK_QTY
|
|
|
+ , SOLDOUT_YN
|
|
|
+ , DISP_ORD
|
|
|
FROM (
|
|
|
- SELECT G.GOODS_CD
|
|
|
- , G.SELF_GOODS_YN
|
|
|
- , G.GOODS_STAT
|
|
|
- , G.MAIN_COLOR_CD
|
|
|
- , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(#{colorCd}, IFNULL(G.MAIN_COLOR_CD,'00')) AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
|
|
|
- , IFNULL( (CASE WHEN G.GOODS_CD = #{goodsCd} THEN 1
|
|
|
- ELSE ( CASE WHEN G.GOODS_TYPE = 'G056_N'THEN S.STOCK_QTY ELSE S1.STOCK_QTY END)
|
|
|
- END)
|
|
|
- ,0) AS STOCK_QTY
|
|
|
- , (SELECT CATE1_NO
|
|
|
- FROM TB_SITE_BRAND
|
|
|
- WHERE BRAND_CD = G.BRAND_CD
|
|
|
- AND SITE_CD = #{siteCd}
|
|
|
- AND USE_YN = 'Y') AS BRAND_CATE1_NO
|
|
|
- FROM TB_GOODS G
|
|
|
- INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
|
|
|
- AND B.USE_YN = 'Y'
|
|
|
- INNER JOIN TB_OPTION O ON G.GOODS_CD = O.GOODS_CD
|
|
|
- LEFT OUTER JOIN (SELECT GOODS_CD
|
|
|
- , MAX(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
|
|
|
- ELSE CURR_STOCK_QTY
|
|
|
- END) AS STOCK_QTY
|
|
|
- FROM VW_STOCK
|
|
|
- WHERE SOLDOUT_YN = 'N'
|
|
|
- GROUP BY GOODS_CD) S ON G.GOODS_CD = S.GOODS_CD
|
|
|
- LEFT OUTER JOIN (SELECT GOODS_CD
|
|
|
- , MAX(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
|
|
|
- ELSE CURR_STOCK_QTY
|
|
|
- END) AS STOCK_QTY
|
|
|
- FROM VW_STOCK_COMPOSE
|
|
|
- WHERE SOLDOUT_YN = 'N'
|
|
|
- GROUP BY GOODS_CD) S1 G.GOODS_CD = S1.GOODS_CD
|
|
|
- WHERE G.GOODS_NUM = (SELECT GOODS_NUM FROM TB_GOODS WHERE GOODS_CD = #{goodsCd})
|
|
|
- AND G.GOODS_TYPE = 'G056_N' -- 일반상품
|
|
|
- <if test='goodsCdIncludeYn != null and goodsCdIncludeYn == "N"'>
|
|
|
- AND G.GOODS_CD <![CDATA[<>]]> #{goodsCd}
|
|
|
- </if>
|
|
|
- <if test='adminYn == null or adminYn != "Y"'>
|
|
|
- AND G.GOODS_STAT = 'G008_90'
|
|
|
- </if>
|
|
|
- ) Z
|
|
|
+ SELECT GOODS_CD
|
|
|
+ , OPT_CD
|
|
|
+ , OPT_CD1
|
|
|
+ , OPT_CD2
|
|
|
+ , (CASE WHEN STOCK_QTY - MIN_ORD_QTY >= 0 THEN STOCK_QTY
|
|
|
+ ELSE 0
|
|
|
+ END ) AS STOCK_QTY
|
|
|
+ , SOLDOUT_YN
|
|
|
+ , DISP_ORD
|
|
|
+ FROM (
|
|
|
+ SELECT GOODS_CD
|
|
|
+ , OPT_CD
|
|
|
+ , OPT_CD1
|
|
|
+ , OPT_CD2
|
|
|
+ , STOCK_QTY
|
|
|
+ , SOLDOUT_YN
|
|
|
+ , DISP_ORD
|
|
|
+ , (SELECT MIN_ORD_QTY FROM TB_GOODS WHERE GOODS_CD = A.GOODS_CD ) AS MIN_ORD_QTY
|
|
|
+ FROM (
|
|
|
+ SELECT GOODS_CD
|
|
|
+ , OPT_CD
|
|
|
+ , OPT_CD1
|
|
|
+ , OPT_CD2
|
|
|
+ , CURR_STOCK_QTY AS STOCK_QTY
|
|
|
+ , SOLDOUT_YN
|
|
|
+ , DISP_ORD
|
|
|
+ FROM VW_STOCK
|
|
|
+ WHERE GOODS_CD = #{goodsCd}
|
|
|
+ AND DISP_YN ='Y'
|
|
|
+ ) A
|
|
|
+ ) B
|
|
|
+ ) Z
|
|
|
WHERE 1 = 1
|
|
|
- <if test='soldoutGoodsDisplayYn != null and soldoutGoodsDisplayYn =="N"'>
|
|
|
- AND Z.STOCK_QTY > 0
|
|
|
+ <if test='soldoutYn != null and soldoutYn == "Y"'>
|
|
|
+ AND (SOLDOUT_YN = 'Y'
|
|
|
+ OR
|
|
|
+ STOCK_QTY <![CDATA[<=]]> 0
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ <if test='soldoutYn != null and soldoutYn == "N"'>
|
|
|
+ AND SOLDOUT_YN = 'N'
|
|
|
+ AND STOCK_QTY > 0
|
|
|
</if>
|
|
|
- ORDER BY Z.COLOR_CD
|
|
|
+ ORDER BY DISP_ORD
|
|
|
</select>
|
|
|
-
|
|
|
+
|
|
|
<!-- 상품 동영상정보 -->
|
|
|
<select id="getVideoList" parameterType="String" resultType="VideoDisploc">
|
|
|
/* TsfGoods.getVideoList */
|