|
|
@@ -0,0 +1,199 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
+<mapper namespace="com.style24.core.biz.dao.TscLookbookDao">
|
|
|
+
|
|
|
+ <!-- 룩북 저장/수정 -->
|
|
|
+ <insert id="saveLookbook" parameterType="Lookbook" keyProperty="lookbookSq">
|
|
|
+ /* TscLookbook.saveLookbook */
|
|
|
+ INSERT INTO TB_LOOKBOOK(
|
|
|
+ LOOKBOOK_SQ
|
|
|
+ ,BRAND_CD
|
|
|
+ ,TITLE
|
|
|
+ ,ORG_TNFILE_NM
|
|
|
+ ,SYS_TNFILE_NM
|
|
|
+ ,DISP_STDT
|
|
|
+ ,DISP_EDDT
|
|
|
+ ,DISP_YN
|
|
|
+ ,DISP_ORD
|
|
|
+ ,MAIN_DISP_YN
|
|
|
+ ,REG_NO
|
|
|
+ ,REG_DT
|
|
|
+ ,UPD_NO
|
|
|
+ ,UPD_DT
|
|
|
+ ) VALUES (
|
|
|
+ #{lookbookSq}
|
|
|
+ ,#{brandCd}
|
|
|
+ ,#{title}
|
|
|
+ ,#{orgTnfileNm}
|
|
|
+ ,#{sysTnfileNm}
|
|
|
+ ,#{dispStdt}
|
|
|
+ ,#{dispEddt}
|
|
|
+ ,#{dispYn}
|
|
|
+ ,#{dispOrd}
|
|
|
+ ,#{mainDispYn}
|
|
|
+ ,#{regNo}
|
|
|
+ ,NOW()
|
|
|
+ ,#{updNo}
|
|
|
+ ,NOW()
|
|
|
+ )
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 룩북 리스트 카운트 -->
|
|
|
+ <select id="getLookbookListCount" parameterType="Lookbook" resultType="int">
|
|
|
+ /* TscLookbook.getLookbookListCount */
|
|
|
+ SELECT COUNT(*) AS TOTCNT
|
|
|
+ FROM TB_LOOKBOOK
|
|
|
+ WHERE 1=1
|
|
|
+ AND DISP_YN = 'Y'
|
|
|
+ <if test="dispEddt != null and dispEddt !=''">
|
|
|
+ <![CDATA[
|
|
|
+ AND DISP_STDT <= STR_TO_DATE(CONCAT(#{dispEddt},#{dispEdTime}),'%Y-%m-%d %H:%i:%S')
|
|
|
+ ]]>
|
|
|
+ </if>
|
|
|
+ <if test="dispStdt != null and dispStdt !=''">
|
|
|
+ <![CDATA[
|
|
|
+ AND DISP_STDT >= STR_TO_DATE(CONCAT(#{dispStdt},#{dispStTime}),'%Y-%m-%d %H:%i:%S')
|
|
|
+ ]]>
|
|
|
+ </if>
|
|
|
+ <if test='brandCd != null and brandCd != ""'>
|
|
|
+ AND BRAND_CD = #{brandCd}
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 룩북 리스트 -->
|
|
|
+ <select id="getLookbookList" parameterType="Lookbook" resultType="Lookbook">
|
|
|
+ /* TscLookbook.getLookbookList */
|
|
|
+ SELECT LOOKBOOK_SQ
|
|
|
+ ,BRAND_CD
|
|
|
+ ,TITLE
|
|
|
+ ,ORG_TNFILE_NM
|
|
|
+ ,SYS_TNFILE_NM
|
|
|
+ ,DISP_STDT
|
|
|
+ ,DISP_EDDT
|
|
|
+ ,DISP_YN
|
|
|
+ ,DISP_ORD
|
|
|
+ ,MAIN_DISP_YN
|
|
|
+ ,REG_NO
|
|
|
+ , FN_GET_USER_NM(REG_NO) AS REG_NM
|
|
|
+ ,REG_DT
|
|
|
+ ,UPD_NO
|
|
|
+ , FN_GET_USER_NM(UPD_NO) AS UPD_NM
|
|
|
+ ,UPD_DT
|
|
|
+ FROM TB_LOOKBOOK
|
|
|
+ WHERE 1=1
|
|
|
+ AND DISP_YN = 'Y'
|
|
|
+ <if test="dispEddt != null and dispEddt !=''">
|
|
|
+ <![CDATA[
|
|
|
+ AND DISP_STDT <= STR_TO_DATE(CONCAT(#{dispEddt},#{dispEdTime}),'%Y-%m-%d %H:%i:%S')
|
|
|
+ ]]>
|
|
|
+ </if>
|
|
|
+ <if test="dispStdt != null and dispStdt !=''">
|
|
|
+ <![CDATA[
|
|
|
+ AND DISP_STDT >= STR_TO_DATE(CONCAT(#{dispStdt},#{dispStTime}),'%Y-%m-%d %H:%i:%S')
|
|
|
+ ]]>
|
|
|
+ </if>
|
|
|
+ <if test='brandCd != null and brandCd != ""'>
|
|
|
+ AND BRAND_CD = #{brandCd}
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 룩북 노출안함 처리 -->
|
|
|
+ <update id="deleteLookbook" parameterType="Lookbook">
|
|
|
+ /* TscLookbook.deleteLookbook */
|
|
|
+ UPDATE TB_LOOKBOOK
|
|
|
+ SET DISP_YN = 'N'
|
|
|
+ WHERE LOOKBOOK_SQ = #{lookbookSq}
|
|
|
+ </update>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- front 영역-->
|
|
|
+
|
|
|
+ <!-- 룩북 베너 목록 조회 -->
|
|
|
+ <select id="getLookbookBannerList" parameterType="Lookbook" resultType="Lookbook">
|
|
|
+ /* TsfGoods.getLookbookBannerList */
|
|
|
+ SELECT A.LOOKBOOK_SQ
|
|
|
+ , A.BRAND_CD
|
|
|
+ , A.TITLE
|
|
|
+ , B.LOOKBOOKB_SQ
|
|
|
+ , B.SYS_FILE_NM
|
|
|
+ FROM TB_LOOKBOOK A
|
|
|
+ INNER JOIN TB_LOOKBOOK_BANNER B ON A.LOOKBOOK_SQ = B.LOOKBOOK_SQ
|
|
|
+ AND B.DISP_YN = 'Y'
|
|
|
+ AND B.LOOKBOOKB_SQ IN (SELECT LOOKBOOKB_SQ FROM TB_LOOKBOOK_GOODS WHERE GOODS_CD = #{goodsCd} AND DEL_YN ='N')
|
|
|
+ WHERE NOW() BETWEEN A.DISP_STDT AND A.DISP_EDDT
|
|
|
+ AND A.DISP_YN = 'Y'
|
|
|
+ ORDER BY A.DISP_ORD, B.DISP_ORD
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 룩북 베너 상품 목록 조회 -->
|
|
|
+ <select id="getLookbookBannerGoodsList" parameterType="Lookbook" resultType="Lookbook">
|
|
|
+ /* TsfGoods.getLookbookBannerGoodsList */
|
|
|
+ SELECT Z.*
|
|
|
+ , 100 - ROUND((CURR_PRICE / LIST_PRICE) * 100 ,0) AS DC_RATE
|
|
|
+ FROM (
|
|
|
+ SELECT A.LOOKBOOK_SQ
|
|
|
+ , B.LOOKBOOKB_SQ
|
|
|
+ , C.GOODS_CD
|
|
|
+ , RANK() OVER(PARTITION BY A.LOOKBOOK_SQ, B.LOOKBOOKB_SQ ORDER BY C.DISP_ORD ) RNUM
|
|
|
+ , C.DISP_ORD
|
|
|
+ , G.GOODS_NM
|
|
|
+ , CONCAT(IF(IFNULL(G.GOODS_GB,'') IN ('G073_11','G073_15', ''), '',IFNULL(CONCAT('[',FN_GET_CODE_NM('G073',G.GOODS_GB),']'),'') )
|
|
|
+ ,IF(G.FOREIGN_BUY_YN='N','[해외구매대행]','' )
|
|
|
+ ,IF(G.PARALLEL_IMPORT_YN = 'Y','[병행수입]','')
|
|
|
+ ,IF(G.ORDER_MADE_YN='Y','[주문제작]','')
|
|
|
+ ,G.GOODS_NM ) AS GOODS_FULL_NM
|
|
|
+ , G.GOODS_STAT
|
|
|
+ , G.MIN_ORD_QTY
|
|
|
+ , (CASE WHEN D.DISP_NM_LANG = 'EN' THEN D.BRAND_ENM ELSE D.BRAND_KNM END) AS BRAND_NM
|
|
|
+ , G.LIST_PRICE
|
|
|
+ , FN_GET_BENEFIT_PRICE(#{frontGb},G.GOODS_CD, G.CURR_PRICE,#{custGb}) AS CURR_PRICE
|
|
|
+ , G.MAIN_COLOR_CD
|
|
|
+ , (SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = IFNULL(G.MAIN_COLOR_CD,'00') 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(G.MAIN_COLOR_CD,'00') AND MOUSEOVER_IMG_YN = 'Y') AS SYS_IMG_NM2
|
|
|
+ , S.STOCK_QTY
|
|
|
+ , S.SOLDOUT_YN
|
|
|
+ , V.VIDEO_GB_M
|
|
|
+ , V.VIDEO_VAL_M
|
|
|
+ , V.VIDEO_GB_S
|
|
|
+ , V.VIDEO_VAL_S
|
|
|
+ FROM TB_LOOKBOOK A
|
|
|
+ INNER JOIN TB_LOOKBOOK_BANNER B ON A.LOOKBOOK_SQ = B.LOOKBOOK_SQ
|
|
|
+ AND B.DISP_YN = 'Y'
|
|
|
+ AND B.LOOKBOOKB_SQ = #{lookbookbSq}
|
|
|
+ INNER JOIN TB_LOOKBOOK_GOODS C ON B.LOOKBOOKB_SQ = C.LOOKBOOKB_SQ
|
|
|
+ INNER JOIN TB_GOODS G ON C.GOODS_CD = G.GOODS_CD
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ INNER JOIN TB_BRAND D ON G.BRAND_CD = D.BRAND_CD
|
|
|
+ AND D.USE_YN = 'Y'
|
|
|
+ LEFT OUTER JOIN (SELECT GOODS_CD
|
|
|
+ , SUM(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
|
|
|
+ ELSE CURR_STOCK_QTY
|
|
|
+ END) AS STOCK_QTY
|
|
|
+ , MIN(SOLDOUT_YN) AS SOLDOUT_YN
|
|
|
+ FROM VW_STOCK
|
|
|
+ WHERE DISP_YN = 'Y'
|
|
|
+ GROUP BY GOODS_CD) S ON G.GOODS_CD = S.GOODS_CD
|
|
|
+ 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 = 2 THEN VIDEO_GB END) AS VIDEO_GB_S
|
|
|
+ , MAX(CASE WHEN RNUM = 2 THEN VIDEO_VAL END) AS VIDEO_VAL_S
|
|
|
+ FROM (
|
|
|
+ SELECT A.DISPLOC_VAL AS GOODS_CD
|
|
|
+ , B.VIDEO_GB
|
|
|
+ , B.VIDEO_VAL
|
|
|
+ , 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'
|
|
|
+ ) V
|
|
|
+ ) V ON G.GOODS_CD = V.GOODS_CD
|
|
|
+ WHERE NOW() BETWEEN A.DISP_STDT AND A.DISP_EDDT
|
|
|
+ AND A.DISP_YN = 'Y'
|
|
|
+ AND A.LOOKBOOK_SQ = #{lookbookSq}
|
|
|
+ ) Z
|
|
|
+ </select>
|
|
|
+</mapper>
|