|
@@ -15,8 +15,8 @@
|
|
|
</sql>
|
|
</sql>
|
|
|
|
|
|
|
|
<!-- 상품상세보기이력 생성 -->
|
|
<!-- 상품상세보기이력 생성 -->
|
|
|
- <insert id="createGoodsViewHistory" parameterType="GoodsViewHst">
|
|
|
|
|
- /* TsfGoods.createGoodsViewHistory */
|
|
|
|
|
|
|
+ <insert id="createGoodsViewHst" parameterType="GoodsViewHst">
|
|
|
|
|
+ /* TsfGoods.createGoodsViewHst */
|
|
|
INSERT INTO TB_GOODS_VIEW_HST
|
|
INSERT INTO TB_GOODS_VIEW_HST
|
|
|
(
|
|
(
|
|
|
GOODS_CD
|
|
GOODS_CD
|
|
@@ -51,7 +51,7 @@
|
|
|
<select id="getGoodsNavigation" parameterType="Goods" resultType="Cate4Srch">
|
|
<select id="getGoodsNavigation" parameterType="Goods" resultType="Cate4Srch">
|
|
|
/* TsfGoods.getGoodsNavigation */
|
|
/* TsfGoods.getGoodsNavigation */
|
|
|
SELECT G.FORMAL_GB
|
|
SELECT G.FORMAL_GB
|
|
|
- , I.CATE_CD
|
|
|
|
|
|
|
+ , I.CATE_NO
|
|
|
, CATE1_NO
|
|
, CATE1_NO
|
|
|
, CATE1_NM
|
|
, CATE1_NM
|
|
|
, CATE2_NO
|
|
, CATE2_NO
|
|
@@ -63,17 +63,17 @@
|
|
|
, CATE5_NO
|
|
, CATE5_NO
|
|
|
, CATE5_NM
|
|
, CATE5_NM
|
|
|
, CATE_GB
|
|
, CATE_GB
|
|
|
- , LEAF_CATE_CD
|
|
|
|
|
|
|
+ , LEAF_CATE_NO
|
|
|
FROM TB_GOODS G
|
|
FROM TB_GOODS G
|
|
|
- , TB_ITEMKIND_CATEGORY I
|
|
|
|
|
|
|
+ , TB_ITEMKIND_CATE I
|
|
|
, TB_CATE_4SRCH A
|
|
, TB_CATE_4SRCH A
|
|
|
WHERE G.ITEMKIND_CD = I.ITEMKIND_CD
|
|
WHERE G.ITEMKIND_CD = I.ITEMKIND_CD
|
|
|
- AND I.CATE_CD = A.LEAF_CATE_CD
|
|
|
|
|
|
|
+ AND I.CATE_NO = A.LEAF_CATE_NO
|
|
|
AND G.GOODS_CD = #{goodsCd}
|
|
AND G.GOODS_CD = #{goodsCd}
|
|
|
AND A.CATE_TYPE = 'G031_10' -- 상품카테
|
|
AND A.CATE_TYPE = 'G031_10' -- 상품카테
|
|
|
AND A.CATE_GB = #{cateGb}
|
|
AND A.CATE_GB = #{cateGb}
|
|
|
AND A.SITE_CD = #{siteCd}
|
|
AND A.SITE_CD = #{siteCd}
|
|
|
- AND ROWNUM = 1
|
|
|
|
|
|
|
+ LIMIT 1
|
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 상품 정보 -->
|
|
<!-- 상품 정보 -->
|
|
@@ -91,8 +91,7 @@
|
|
|
, G.ITEMKIND_CD
|
|
, G.ITEMKIND_CD
|
|
|
, G.FORMAL_GB
|
|
, G.FORMAL_GB
|
|
|
, G.LIST_PRICE
|
|
, G.LIST_PRICE
|
|
|
- , G.CURR_PRICE
|
|
|
|
|
- -- , G.DC_RATE
|
|
|
|
|
|
|
+ , BP.CURR_PRICE
|
|
|
, 100 - ROUND((BP.CURR_PRICE / G.LIST_PRICE) * 100 ,0) AS DC_RATE
|
|
, 100 - ROUND((BP.CURR_PRICE / G.LIST_PRICE) * 100 ,0) AS DC_RATE
|
|
|
, G.SELF_GOODS_YN
|
|
, G.SELF_GOODS_YN
|
|
|
, G.GOODS_STAT
|
|
, G.GOODS_STAT
|
|
@@ -119,12 +118,8 @@
|
|
|
, G.GOODS_TYPE
|
|
, G.GOODS_TYPE
|
|
|
, G.CHANGEABLE_YN
|
|
, G.CHANGEABLE_YN
|
|
|
, G.RETURNABLE_YN
|
|
, 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 = G.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
|
|
|
|
|
|
|
+ , (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
|
|
|
, BP.CURR_PRICE AS BENEFIT_PRICE
|
|
, BP.CURR_PRICE AS BENEFIT_PRICE
|
|
|
, (CASE WHEN W.GOODS_CD IS NULL THEN 'N' ELSE 'Y' END) AS WISH_YN
|
|
, (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
|
|
, (CASE WHEN G.GOODS_TYPE = 'G056_N' THEN (SELECT IFNULL(MAX(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
|
|
@@ -132,6 +127,8 @@
|
|
|
END) ,0)
|
|
END) ,0)
|
|
|
FROM VW_STOCK
|
|
FROM VW_STOCK
|
|
|
WHERE GOODS_CD = G.GOODS_CD
|
|
WHERE GOODS_CD = G.GOODS_CD
|
|
|
|
|
+ AND OPT_CD1 = (CASE WHEN G.SELF_GOODS_YN = 'N' THEN OPT_CD1
|
|
|
|
|
+ ELSE IFNULL(#{colorCd}, IFNULL(G.MAIN_COLOR_CD,'00')) END)
|
|
|
GROUP BY GOODS_CD )
|
|
GROUP BY GOODS_CD )
|
|
|
ELSE (SELECT IFNULL(MAX(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
|
|
ELSE (SELECT IFNULL(MAX(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
|
|
|
ELSE CURR_STOCK_QTY
|
|
ELSE CURR_STOCK_QTY
|
|
@@ -144,7 +141,7 @@
|
|
|
INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
|
|
INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
|
|
|
AND B.USE_YN = 'Y'
|
|
AND B.USE_YN = 'Y'
|
|
|
INNER JOIN (SELECT GOODS_CD,
|
|
INNER JOIN (SELECT GOODS_CD,
|
|
|
- FN_GET_BENEFIT_PRICE(#{siteCd},#{frontGb},GOODS_CD,DECODE(NVL(#{custGb},'G100_00'),'G100_20', CURR_PRICE, CURR_PRICE),#{custGb},#{floorUnit},#{custGrade}) AS CURR_PRICE
|
|
|
|
|
|
|
+ FN_GET_BENEFIT_PRICE(#{siteCd},#{frontGb},GOODS_CD, CURR_PRICE,#{custGb},#{floorUnit},#{custGrade}) AS CURR_PRICE
|
|
|
FROM TB_GOODS
|
|
FROM TB_GOODS
|
|
|
WHERE GOODS_CD = #{goodsCd}) BP ON G.GOODS_CD = BP.GOODS_CD
|
|
WHERE GOODS_CD = #{goodsCd}) BP ON G.GOODS_CD = BP.GOODS_CD
|
|
|
LEFT OUTER JOIN TB_WISHLIST W ON G.GOODS_CD = W.GOODS_CD
|
|
LEFT OUTER JOIN TB_WISHLIST W ON G.GOODS_CD = W.GOODS_CD
|
|
@@ -199,30 +196,16 @@
|
|
|
LIMIT 1
|
|
LIMIT 1
|
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
- <!-- 상품 다른컬러 목록 -->
|
|
|
|
|
- <select id="getGoodsOtherColorList" parameterType="Goods" resultType="Goods">
|
|
|
|
|
- /* TsfGoods.getGoodsOtherColorList */
|
|
|
|
|
|
|
+ <!-- 상품 옵션1 목록 -->
|
|
|
|
|
+ <select id="getGoodsOption1List" parameterType="Goods" resultType="GoodsStock">
|
|
|
|
|
+ /* TsfGoods.getGoodsOption1List */
|
|
|
SELECT Z.*
|
|
SELECT Z.*
|
|
|
FROM (
|
|
FROM (
|
|
|
SELECT G.GOODS_CD
|
|
SELECT G.GOODS_CD
|
|
|
- , G.GOODS_NM
|
|
|
|
|
- , G.GOODS_TNM
|
|
|
|
|
- , CONCAT(G.GOODS_TNM,' ',G.GOODS_NM) AS GOODS_TNM_FULL
|
|
|
|
|
- , G.BRAND_CD
|
|
|
|
|
- , (CASE WHEN B.DISP_NM_LANG = 'EN' THEN B.BRAND_ENM ELSE B.BRAND_KNM END) AS BRAND_NM
|
|
|
|
|
- , B.BRAND_GRP_NM
|
|
|
|
|
- , G.ITEMKIND_CD
|
|
|
|
|
- , G.FORMAL_GB
|
|
|
|
|
- , G.LIST_PRICE
|
|
|
|
|
- , G.CURR_PRICE
|
|
|
|
|
, G.SELF_GOODS_YN
|
|
, G.SELF_GOODS_YN
|
|
|
, G.GOODS_STAT
|
|
, G.GOODS_STAT
|
|
|
, G.MAIN_COLOR_CD
|
|
, G.MAIN_COLOR_CD
|
|
|
- , G.SEX_GB
|
|
|
|
|
- , FN_GET_CODE_NM('G007',G.SEX_GB) AS SEX_NM
|
|
|
|
|
- , G.SUPPLY_COMP_CD
|
|
|
|
|
- , G.GOODS_TYPE
|
|
|
|
|
- , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = G.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
|
|
|
|
|
|
|
+ , (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
|
|
, 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)
|
|
ELSE ( CASE WHEN G.GOODS_TYPE = 'G056_N'THEN S.STOCK_QTY ELSE S1.STOCK_QTY END)
|
|
|
END)
|
|
END)
|
|
@@ -235,6 +218,7 @@
|
|
|
FROM TB_GOODS G
|
|
FROM TB_GOODS G
|
|
|
INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
|
|
INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
|
|
|
AND B.USE_YN = 'Y'
|
|
AND B.USE_YN = 'Y'
|
|
|
|
|
+ INNER JOIN TB_OPTION O ON G.GOODS_CD = O.GOODS_CD
|
|
|
LEFT OUTER JOIN (SELECT GOODS_CD
|
|
LEFT OUTER JOIN (SELECT GOODS_CD
|
|
|
, MAX(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
|
|
, MAX(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
|
|
|
ELSE CURR_STOCK_QTY
|
|
ELSE CURR_STOCK_QTY
|
|
@@ -251,7 +235,6 @@
|
|
|
GROUP BY GOODS_CD) S1 G.GOODS_CD = S1.GOODS_CD
|
|
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})
|
|
WHERE G.GOODS_NUM = (SELECT GOODS_NUM FROM TB_GOODS WHERE GOODS_CD = #{goodsCd})
|
|
|
AND G.GOODS_TYPE = 'G056_N' -- 일반상품
|
|
AND G.GOODS_TYPE = 'G056_N' -- 일반상품
|
|
|
- -- AND G.SELF_MALL_YN = 'Y' -- 자사몰 노출
|
|
|
|
|
<if test='goodsCdIncludeYn != null and goodsCdIncludeYn == "N"'>
|
|
<if test='goodsCdIncludeYn != null and goodsCdIncludeYn == "N"'>
|
|
|
AND G.GOODS_CD <![CDATA[<>]]> #{goodsCd}
|
|
AND G.GOODS_CD <![CDATA[<>]]> #{goodsCd}
|
|
|
</if>
|
|
</if>
|
|
@@ -297,20 +280,71 @@
|
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 상품 이미지 정보 -->
|
|
<!-- 상품 이미지 정보 -->
|
|
|
- <select id="getGoodsImg" parameterType="String" resultType="GoodsImg">
|
|
|
|
|
- /* TsfGoods.getGoodsImg */
|
|
|
|
|
|
|
+ <select id="getGoodsImgList" parameterType="String" resultType="GoodsImg">
|
|
|
|
|
+ /* TsfGoods.getGoodsImgList */
|
|
|
SELECT GOODS_CD
|
|
SELECT GOODS_CD
|
|
|
, COLOR_CD
|
|
, COLOR_CD
|
|
|
, DISP_ORD
|
|
, DISP_ORD
|
|
|
, SYS_IMG_NM
|
|
, SYS_IMG_NM
|
|
|
, DEFAULT_IMG_YN
|
|
, DEFAULT_IMG_YN
|
|
|
, MOUSEOVER_IMG_YN
|
|
, MOUSEOVER_IMG_YN
|
|
|
- , REG_NO
|
|
|
|
|
FROM TB_GOODS_IMG
|
|
FROM TB_GOODS_IMG
|
|
|
WHERE GOODS_CD = #{goodsCd}
|
|
WHERE GOODS_CD = #{goodsCd}
|
|
|
ORDER BY DISP_ORD
|
|
ORDER BY DISP_ORD
|
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
|
|
+ <!-- 딜상품 구성상품정보 조회 -->
|
|
|
|
|
+ <select id="getGoodsDealComposeList" parameterType="Goods" resultType="GoodsCompose">
|
|
|
|
|
+ /* TsfGoods.getGoodsDealComposeList */
|
|
|
|
|
+ SELECT E.GOODS_CD
|
|
|
|
|
+ , E.COMPS_GOODS_CD
|
|
|
|
|
+ , E.DISP_ORD
|
|
|
|
|
+ , E.COMPS_GOODS_OPT_NM
|
|
|
|
|
+ , G.LIST_PRICE
|
|
|
|
|
+ , BP.CURR_PRICE
|
|
|
|
|
+ , 100 - ROUND((BP.CURR_PRICE / G.LIST_PRICE) * 100 ,0) AS DC_RATE
|
|
|
|
|
+ , G.DELV_FEE
|
|
|
|
|
+ , G.MIN_ORD_AMT
|
|
|
|
|
+ , G.MIN_ORD_QTY
|
|
|
|
|
+ , G.MAX_ORD_QTY
|
|
|
|
|
+ , G.DAY_MAX_ORD_QTY
|
|
|
|
|
+ , (CASE WHEN #{frontGb} = 'P' THEN G.PNT_PRATE ELSE G.PNT_MRATE END) AS PNT_RATE
|
|
|
|
|
+ , (CASE WHEN #{frontGb} = 'P' THEN G.PRE_PPNT_USABLE_YN ELSE G.PRE_MPNT_USABLE_YN END) AS PRE_PNT_USABLE_YN
|
|
|
|
|
+ , G.BRAND_CD
|
|
|
|
|
+ , (CASE WHEN B.DISP_NM_LANG = 'EN' THEN B.BRAND_ENM ELSE B.BRAND_KNM END) AS BRAND_NM
|
|
|
|
|
+ , G.SUPPLY_COMP_CD
|
|
|
|
|
+ , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = G.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y') AS SYS_IMG_NM
|
|
|
|
|
+ , (CASE WHEN G.GOODS_TYPE = 'G056_N' THEN (SELECT IFNULL(MAX(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
|
|
|
|
|
+ ELSE CURR_STOCK_QTY
|
|
|
|
|
+ END) ,0)
|
|
|
|
|
+ FROM VW_STOCK
|
|
|
|
|
+ WHERE GOODS_CD = G.GOODS_CD
|
|
|
|
|
+ GROUP BY GOODS_CD )
|
|
|
|
|
+ ELSE (SELECT IFNULL(MAX(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
|
|
|
|
|
+ ELSE CURR_STOCK_QTY
|
|
|
|
|
+ END) ,0)
|
|
|
|
|
+ FROM VW_STOCK_COMPOSE
|
|
|
|
|
+ WHERE GOODS_CD= G.GOODS_CD
|
|
|
|
|
+ GROUP BY GOODS_CD )
|
|
|
|
|
+ END) AS STOCK_QTY
|
|
|
|
|
+ FROM TB_GOODS G
|
|
|
|
|
+ INNER JOIN TB_GOODS_COMPOSE E ON G.GOODS_CD = E.COMPS_GOODS_CD
|
|
|
|
|
+ AND E.GOODS_TYPE = 'D'
|
|
|
|
|
+ AND E.USE_YN = 'Y'
|
|
|
|
|
+ INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
|
|
|
|
|
+ AND B.USE_YN = 'Y'
|
|
|
|
|
+ INNER JOIN TB_SITE_BRAND SB ON B.BRAND_CD = SB.BRAND_CD
|
|
|
|
|
+ AND SB.USE_YN = 'Y'
|
|
|
|
|
+ AND SB.SITE_CD = #{siteCd}
|
|
|
|
|
+ INNER JOIN (SELECT GOODS_CD,
|
|
|
|
|
+ FN_GET_BENEFIT_PRICE(#{siteCd},#{frontGb},GOODS_CD,CURR_PRICE,#{custGb},#{floorUnit},#{custGrade}) AS CURR_PRICE
|
|
|
|
|
+ FROM TB_GOODS
|
|
|
|
|
+ WHERE GOODS_CD = #{goodsCd}) BP ON G.GOODS_CD = BP.GOODS_CD
|
|
|
|
|
+ WHERE E.GOODS_CD = #{goodsCd}
|
|
|
|
|
+ AND G.SELF_MALL_YN = 'Y' -- 자사몰 노출
|
|
|
|
|
+ ORDER BY E.DISP_ORD
|
|
|
|
|
+ </select>
|
|
|
|
|
+
|
|
|
<!-- 구성 상품 정보 -->
|
|
<!-- 구성 상품 정보 -->
|
|
|
<select id="getGoodsCompsInfo" parameterType="Goods" resultType="Goods">
|
|
<select id="getGoodsCompsInfo" parameterType="Goods" resultType="Goods">
|
|
|
/* TsfGoods.getGoodsCompsInfo */
|
|
/* TsfGoods.getGoodsCompsInfo */
|