|
|
@@ -267,7 +267,7 @@
|
|
|
FROM TB_GOODS G
|
|
|
INNER JOIN TB_OPTION O ON G.GOODS_CD = O.GOODS_CD
|
|
|
AND O.DISP_YN = 'Y'
|
|
|
- INNER JOIN VW_STOCK VS ON O.GOODS_CD = VS.GOODS_CD
|
|
|
+ INNER JOIN VW_STOCK VS ON O.GOODS_CD = VS.GOODS_CD
|
|
|
AND O.OPT_CD = VS.OPT_CD
|
|
|
WHERE G.GOODS_CD = #{goodsCd}
|
|
|
AND G.GOODS_TYPE = 'G056_N' -- 일반상품
|
|
|
@@ -711,9 +711,6 @@
|
|
|
AND G.GOODS_STAT = 'G008_90'
|
|
|
AND G.SELF_MALL_YN = 'Y'
|
|
|
AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT
|
|
|
- <if test='adminYn == null or adminYn != "Y"'>
|
|
|
- AND G.GOODS_STAT = 'G008_90'
|
|
|
- </if>
|
|
|
<![CDATA[
|
|
|
AND B.GOODS_CD <> #{goodsCd} -- 자기상품은 제외
|
|
|
]]>
|
|
|
@@ -743,20 +740,17 @@
|
|
|
) Z
|
|
|
LEFT OUTER JOIN (SELECT MAX(GOODS_CD) AS GOODS_CD
|
|
|
, MAX(CASE WHEN RNUM = 1 THEN VIDEO_GB END) AS VIDEO_GB_M
|
|
|
- , MAX(CASE WHEN RNUM = 1 THEN VIDEO_VAL END) AS VIDEO_VAL_M
|
|
|
+ , MAX(CASE WHEN RNUM = 1 THEN KMC_KEY END) AS VIDEO_VAL_M
|
|
|
, MAX(CASE WHEN RNUM = 2 THEN VIDEO_GB END) AS VIDEO_GB_S
|
|
|
- , MAX(CASE WHEN RNUM = 2 THEN VIDEO_VAL END) AS VIDEO_VAL_S
|
|
|
+ , MAX(CASE WHEN RNUM = 2 THEN KMC_KEY END) AS VIDEO_VAL_S
|
|
|
FROM (
|
|
|
- SELECT A.DISPLOC_VAL AS GOODS_CD
|
|
|
- , B.VIDEO_GB
|
|
|
- , B.VIDEO_VAL
|
|
|
+ SELECT A.GOODS_CD
|
|
|
+ , A.VIDEO_GB
|
|
|
+ , A.KMC_KEY
|
|
|
, A.REG_DT
|
|
|
- , RANK() OVER(PARTITION BY A.DISPLOC_VAL ORDER BY A.REG_DT ) RNUM
|
|
|
- FROM TB_VIDEO_DISPLOC A
|
|
|
- INNER JOIN TB_VIDEO B ON A.VIDEO_SQ = B.VIDEO_SQ
|
|
|
- AND B.DISP_YN ='Y'
|
|
|
- WHERE A.DISPLOC_GB ='G'
|
|
|
- AND A.DISP_YN = 'Y'
|
|
|
+ , RANK() OVER(PARTITION BY A.GOODS_CD ORDER BY A.REG_DT ) RNUM
|
|
|
+ FROM TB_GOODS_VIDEO A
|
|
|
+ WHERE A.DISP_YN = 'Y'
|
|
|
) V
|
|
|
) V ON Z.GOODS_CD = V.GOODS_CD
|
|
|
LEFT OUTER JOIN TB_WISHLIST W ON Z.GOODS_CD = W.GOODS_CD
|
|
|
@@ -764,6 +758,99 @@
|
|
|
LIMIT #{maxRownum}
|
|
|
</select>
|
|
|
|
|
|
+ <!-- 추천상품 목록 -->
|
|
|
+ <select id="getRecommendGoodsList" parameterType="Goods" resultType="Goods">
|
|
|
+ /* TsfGoods.getRecommendGoodsList */
|
|
|
+ SELECT Z.*
|
|
|
+ , 100 - ROUND((CURR_PRICE / LIST_PRICE) * 100 ,0) AS DC_RATE
|
|
|
+ , FN_GET_GOODS_NM(GOODS_NM,GOODS_GB,FOREIGN_BUY_YN,PARALLEL_IMPORT_YN,ORDER_MADE_YN) AS GOODS_FULL_NM /*상품FULL명*/
|
|
|
+ , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = Z.GOODS_CD AND COLOR_CD = IFNULL(Z.MAIN_COLOR_CD,'XX') AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
|
|
|
+ , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = Z.GOODS_CD AND COLOR_CD = IFNULL(Z.MAIN_COLOR_CD,'XX') AND MOUSEOVER_IMG_YN = 'Y') AS SYS_IMG_NM2
|
|
|
+ , V.VIDEO_GB_M
|
|
|
+ , V.VIDEO_VAL_M
|
|
|
+ , V.VIDEO_GB_S
|
|
|
+ , V.VIDEO_VAL_S
|
|
|
+ , (CASE WHEN W.GOODS_CD IS NULL THEN 'N' ELSE 'Y' END) AS WISH_YN
|
|
|
+ FROM (
|
|
|
+ SELECT G.GOODS_CD
|
|
|
+ , G.GOODS_NM
|
|
|
+ , G.GOODS_GB
|
|
|
+ , G.FOREIGN_BUY_YN
|
|
|
+ , G.PARALLEL_IMPORT_YN
|
|
|
+ , G.ORDER_MADE_YN
|
|
|
+ , G.GOODS_STAT
|
|
|
+ , G.GOODS_TYPE
|
|
|
+ , G.MAIN_COLOR_CD
|
|
|
+ , G.MIN_ORD_QTY
|
|
|
+ , (CASE WHEN E.DISP_NM_LANG = 'EN' THEN E.BRAND_GROUP_ENM ELSE E.BRAND_GROUP_KNM END) AS BRAND_GROUP_NM
|
|
|
+ , G.LIST_PRICE
|
|
|
+ , FN_GET_BENEFIT_PRICE(#{frontGb},G.GOODS_CD, G.CURR_PRICE,#{custGb}) AS CURR_PRICE
|
|
|
+ , GS.STOCK_QTY
|
|
|
+ , A.DISP_ORD
|
|
|
+ FROM (
|
|
|
+ ${goodsSql}
|
|
|
+ ) A
|
|
|
+ INNER JOIN TB_GOODS G ON A.GOODS_CD = G.GOODS_CD
|
|
|
+ INNER JOIN TB_BRAND D ON G.BRAND_CD = D.BRAND_CD
|
|
|
+ AND D.USE_YN = 'Y'
|
|
|
+ INNER JOIN TB_SITE_BRAND SB ON D.BRAND_CD = SB.BRAND_CD
|
|
|
+ AND SB.USE_YN = 'Y'
|
|
|
+ AND SB.SITE_CD = #{siteCd}
|
|
|
+ INNER JOIN TB_BRAND_GROUP E ON D.BRAND_GROUP_NO = E.BRAND_GROUP_NO
|
|
|
+ AND E.USE_YN = 'Y'
|
|
|
+ INNER JOIN TB_GOODS_STOCK GS ON G.GOODS_CD = GS.GOODS_CD
|
|
|
+ AND GS.STOCK_QTY > 0
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ AND G.SELF_MALL_YN = 'Y'
|
|
|
+ AND NOW() BETWEEN G.SELL_STDT AND G.SELL_EDDT
|
|
|
+ <![CDATA[
|
|
|
+ AND G.GOODS_CD <> #{goodsCd} -- 자기상품은 제외
|
|
|
+ ]]>
|
|
|
+ <choose>
|
|
|
+ <when test="arrGoodsCd != null and arrGoodsCd.length>0">
|
|
|
+ AND UPPER(G.GOODS_CD) IN
|
|
|
+ <foreach collection="arrGoodsCd" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ UPPER(#{item})
|
|
|
+ </foreach>
|
|
|
+ </when>
|
|
|
+ <otherwise>
|
|
|
+ AND 1 = 2 -- 실행안되게
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ ) Z
|
|
|
+ LEFT OUTER JOIN (SELECT MAX(GOODS_CD) AS GOODS_CD
|
|
|
+ , MAX(CASE WHEN RNUM = 1 THEN VIDEO_GB END) AS VIDEO_GB_M
|
|
|
+ , MAX(CASE WHEN RNUM = 1 THEN KMC_KEY END) AS VIDEO_VAL_M
|
|
|
+ , MAX(CASE WHEN RNUM = 2 THEN VIDEO_GB END) AS VIDEO_GB_S
|
|
|
+ , MAX(CASE WHEN RNUM = 2 THEN KMC_KEY END) AS VIDEO_VAL_S
|
|
|
+ FROM (
|
|
|
+ SELECT A.GOODS_CD
|
|
|
+ , A.VIDEO_GB
|
|
|
+ , A.KMC_KEY
|
|
|
+ , A.REG_DT
|
|
|
+ , RANK() OVER(PARTITION BY A.GOODS_CD ORDER BY A.REG_DT ) RNUM
|
|
|
+ FROM TB_GOODS_VIDEO A
|
|
|
+ WHERE A.DISP_YN = 'Y'
|
|
|
+ <choose>
|
|
|
+ <when test="arrGoodsCd != null and arrGoodsCd.length>0">
|
|
|
+ AND UPPER(A.GOODS_CD) IN
|
|
|
+ <foreach collection="arrGoodsCd" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ UPPER(#{item})
|
|
|
+ </foreach>
|
|
|
+ </when>
|
|
|
+ <otherwise>
|
|
|
+ AND 1 = 2 -- 실행안되게
|
|
|
+ </otherwise>
|
|
|
+ </choose>
|
|
|
+ ) V
|
|
|
+ ) V ON Z.GOODS_CD = V.GOODS_CD
|
|
|
+ LEFT OUTER JOIN TB_WISHLIST W ON Z.GOODS_CD = W.GOODS_CD
|
|
|
+ AND IFNULL(#{custNo}, 0) = W.CUST_NO
|
|
|
+ ORDER BY DISP_ORD
|
|
|
+ LIMIT #{maxRownum}
|
|
|
+ </select>
|
|
|
+
|
|
|
<!-- 재입고 알림 미 알림 조회 -->
|
|
|
<select id="getNotReinboundInform" parameterType="ReinboundInform" resultType="ReinboundInform">
|
|
|
/* TsfGoods.getNotReinboundInform */
|
|
|
@@ -911,7 +998,7 @@
|
|
|
, G.MAIN_COLOR_CD
|
|
|
, GI.SYS_IMG_NM
|
|
|
FROM (
|
|
|
- ${todayGoodsSql}
|
|
|
+ ${goodsSql}
|
|
|
) A
|
|
|
, TB_GOODS G
|
|
|
, TB_GOODS_IMG GI
|
|
|
@@ -986,7 +1073,7 @@
|
|
|
AND C.DEL_YN = 'N'
|
|
|
AND C.LEFT_QTY > 0 -- 사은품 잔여수량
|
|
|
INNER JOIN TB_FREE_GOODS F ON F.PRODUCT_NO = C.PRODUCT_NO
|
|
|
- AND F.USE_YN = 'Y'
|
|
|
+ AND F.USE_YN = 'Y'
|
|
|
INNER JOIN TB_FREEGIFT_GOODS D ON A.FREEGIFT_SQ = D.FREEGIFT_SQ
|
|
|
AND D.GOODS_GB IN ( 'G800_10', 'G800_20')
|
|
|
AND D.TARGET_GB = 'G260_10'
|
|
|
@@ -1144,23 +1231,19 @@
|
|
|
/* 상품의 동영상 목록 */
|
|
|
SELECT GOODS_CD
|
|
|
, MAX(CASE WHEN RNUM = 1 THEN VIDEO_GB END) AS VIDEO_GB_M
|
|
|
- , MAX(CASE WHEN RNUM = 1 THEN VIDEO_VAL END) AS VIDEO_VAL_M
|
|
|
+ , MAX(CASE WHEN RNUM = 1 THEN KMC_KEY END) AS VIDEO_VAL_M
|
|
|
, MAX(CASE WHEN RNUM = 2 THEN VIDEO_GB END) AS VIDEO_GB_S
|
|
|
- , MAX(CASE WHEN RNUM = 2 THEN VIDEO_VAL END) AS VIDEO_VAL_S
|
|
|
+ , MAX(CASE WHEN RNUM = 2 THEN KMC_KEY END) AS VIDEO_VAL_S
|
|
|
FROM (
|
|
|
SELECT G.GOODS_CD
|
|
|
- , V.VIDEO_GB
|
|
|
- , V.VIDEO_VAL
|
|
|
+ , VD.VIDEO_GB
|
|
|
+ , VD.KMC_KEY
|
|
|
, VD.REG_DT
|
|
|
, RANK() OVER(PARTITION BY G.GOODS_CD ORDER BY VD.REG_DT) AS RNUM
|
|
|
FROM TAB_GOODS G
|
|
|
- , TB_VIDEO_DISPLOC VD
|
|
|
- , TB_VIDEO V
|
|
|
- WHERE G.GOODS_CD = VD.DISPLOC_VAL
|
|
|
- AND VD.VIDEO_SQ = V.VIDEO_SQ
|
|
|
- AND VD.DISPLOC_GB = 'G' /*상품*/
|
|
|
+ , TB_GOODS_VIDEO VD
|
|
|
+ WHERE G.GOODS_CD = VD.GOODS_CD
|
|
|
AND VD.DISP_YN = 'Y'
|
|
|
- AND V.DISP_YN ='Y'
|
|
|
) Z
|
|
|
GROUP BY GOODS_CD
|
|
|
)
|
|
|
@@ -1297,23 +1380,19 @@
|
|
|
/* 상품의 동영상 목록 */
|
|
|
SELECT GOODS_CD
|
|
|
, MAX(CASE WHEN RNUM = 1 THEN VIDEO_GB END) AS VIDEO_GB_M
|
|
|
- , MAX(CASE WHEN RNUM = 1 THEN VIDEO_VAL END) AS VIDEO_VAL_M
|
|
|
+ , MAX(CASE WHEN RNUM = 1 THEN KMC_KEY END) AS VIDEO_VAL_M
|
|
|
, MAX(CASE WHEN RNUM = 2 THEN VIDEO_GB END) AS VIDEO_GB_S
|
|
|
- , MAX(CASE WHEN RNUM = 2 THEN VIDEO_VAL END) AS VIDEO_VAL_S
|
|
|
+ , MAX(CASE WHEN RNUM = 2 THEN KMC_KEY END) AS VIDEO_VAL_S
|
|
|
FROM (
|
|
|
SELECT G.GOODS_CD
|
|
|
- , V.VIDEO_GB
|
|
|
- , V.VIDEO_VAL
|
|
|
+ , VD.VIDEO_GB
|
|
|
+ , VD.KMC_KEY
|
|
|
, VD.REG_DT
|
|
|
, RANK() OVER(PARTITION BY G.GOODS_CD ORDER BY VD.REG_DT) AS RNUM
|
|
|
FROM TAB_GOODS G
|
|
|
- , TB_VIDEO_DISPLOC VD
|
|
|
- , TB_VIDEO V
|
|
|
- WHERE G.GOODS_CD = VD.DISPLOC_VAL
|
|
|
- AND VD.VIDEO_SQ = V.VIDEO_SQ
|
|
|
- AND VD.DISPLOC_GB = 'G' /*상품*/
|
|
|
+ , TB_GOODS_VIDEO VD
|
|
|
+ WHERE G.GOODS_CD = VD.GOODS_CD
|
|
|
AND VD.DISP_YN = 'Y'
|
|
|
- AND V.DISP_YN ='Y'
|
|
|
) Z
|
|
|
GROUP BY GOODS_CD
|
|
|
)
|