Explorar el Código

Merge branch 'master' of http://112.172.147.34:4936/style24/style24.doc

swkim hace 5 años
padre
commit
0a6c3bb8bc

BIN
산출물/2.분석/01.마스터테이블(로딩용)/ST24_환경설정(V0.3)-20210217.xlsx


+ 159 - 0
산출물/3.설계/05.DB-Object/01.db_view/VW_SEARCH_GOODS.sql

@@ -0,0 +1,159 @@
+DROP VIEW VW_SEARCH_GOODS;
+CREATE VIEW VW_SEARCH_GOODS AS
+SELECT DISTINCT  G.GOODS_CD
+     , IF(G.SELF_GOODS_YN  = 'Y', O.OPT_CD1, G.MAIN_COLOR_CD) AS COLOR_CD
+     , (SELECT GROUP_CONCAT(DISTINCT CONCAT(T.OPT_CD2,'|',T.SOLDOUT_YN, '|', VS.CURR_STOCK_QTY)) FROM TB_OPTION T 
+                                                                         INNER JOIN VW_STOCK VS ON T.GOODS_CD = VS.GOODS_CD 
+                                                                                                AND T.OPT_CD  = VS.OPT_CD 
+                                                                         WHERE T.DISP_YN  = 'Y' 
+                                                                         AND T.GOODS_CD = G.GOODS_CD 
+                                                                         AND T.OPT_CD1 = O.OPT_CD1  ) AS SIZE_INFO
+     , I.SIZE_GB 
+     , (CASE WHEN I.SIZE_GB = 'T' THEN '상의'
+             WHEN I.SIZE_GB = 'B' THEN '하의'
+             WHEN I.SIZE_GB = 'S' THEN '신발'
+             ELSE '' END
+              ) AS SIZE_GB_NM 
+     , (SELECT GROUP_CONCAT(DISTINCT CONCAT(T.OPT_CD1, '|',C.COLOR_FILE) ) FROM TB_OPTION T 
+                                                                           INNER JOIN TB_COLOR C ON T.OPT_CD1 = C.COLOR_CD 
+                                                                           WHERE T.GOODS_CD = G.GOODS_CD 
+                                                                           AND T.DISP_YN  = 'Y')  AS COLOR_INFO
+     , G.GOODS_NM
+     , G.GOODS_TNM
+     , 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_SNM        
+     , G.BRAND_CD
+     , (CASE WHEN BG.DISP_NM_LANG = 'EN' THEN BG.BRAND_GROUP_ENM ELSE BG.BRAND_GROUP_KNM END) AS BRAND_GROUP_NM
+     , BG.BRAND_GROUP_NO
+     , G.ITEMKIND_CD
+     , G.FORMAL_GB
+     , G.LIST_PRICE
+     , G.CURR_PRICE
+     , BP.PC_CURR_PRICE
+     , BP.MO_CURR_PRICE
+     , BP.APP_CURR_PRICE
+     -- , BP.CURR_PRICE
+     -- , 100 - ROUND((BP.CURR_PRICE / G.LIST_PRICE) * 100 ,0) AS DC_RATE
+     , G.SELF_GOODS_YN
+     , G.GOODS_STAT
+     , G.PNT_PRATE
+     , G.PRE_PPNT_USABLE_YN
+     , G.PNT_MRATE
+     , G.PRE_MPNT_USABLE_YN
+     -- , (CASE WHEN  'P' /**P*/ = 'P' THEN G.PNT_PRATE ELSE G.PNT_MRATE END) AS PNT_RATE
+     -- , (CASE WHEN  'P' /**P*/ = 'P' THEN G.PRE_PPNT_USABLE_YN ELSE G.PRE_MPNT_USABLE_YN END) AS PRE_PNT_USABLE_YN
+     , G.MIN_ORD_QTY
+     , G.MAX_ORD_QTY
+     , G.DAY_MAX_ORD_QTY
+     , G.SEX_GB
+     , FN_GET_CODE_NM('G007',G.SEX_GB) AS SEX_NM
+     , E.DELV_FEE
+     , E.MIN_ORD_AMT
+     , G.GOODS_GB
+     , (SELECT MAX(NI_CLSF_CD) FROM tb_goods_noti_info  WHERE GOODS_CD = G.GOODS_CD) AS NI_CLSF_CD
+     , G.MAIN_COLOR_CD
+     , G.SUPPLY_COMP_CD
+     , G.SELF_MALL_YN
+     , G.AGE_GRP_CD
+     , FN_GET_CODE_NM('G023',G.AGE_GRP_CD) AGE_GRP_NM
+     , G.SEASON_CD 
+     , FN_GET_CODE_NM('G006',G.SEASON_CD) SEASON_NM
+     -- , G.GIFT_PACK_YN
+     -- , G.NEW_CUST_ORD_YN
+     -- , G.ADULT_YN
+     , G.GOODS_TYPE
+     -- , G.CHANGEABLE_YN
+     -- , G.RETURNABLE_YN
+     -- , (SELECT CATE1_NO FROM TB_SITE_BRAND WHERE  BRAND_CD = G.BRAND_CD AND SITE_CD =  'G000_10' 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 = IF(G.SELF_GOODS_YN  = 'Y' AND G.GOODS_TYPE ='G056_N', O.OPT_CD1, 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 = IF(G.SELF_GOODS_YN  = 'Y' AND G.GOODS_TYPE ='G056_N', O.OPT_CD1, G.MAIN_COLOR_CD) AND MOUSEOVER_IMG_YN = 'Y') AS SYS_IMG_NM2
+--     , (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
+                                                               ELSE CURR_STOCK_QTY
+                                                               END) ,0)
+                                                FROM  VW_STOCK
+                                                WHERE GOODS_CD = G.GOODS_CD
+                                                AND OPT_CD1 =  (CASE WHEN G.SELF_GOODS_YN = 'N' THEN OPT_CD1 
+                                                                     ELSE  IFNULL(G.MAIN_COLOR_CD,'XX') END)
+                                                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
+       , K.AD_KEYWORD
+      -- , FN_IS_GOODS_COUPON('P',G.GOODS_CD, BP.CURR_PRICE) AS COUPON_PC_ICON  -- 속도 이슈
+      -- , FN_IS_GOODS_COUPON('M',G.GOODS_CD, BP.CURR_PRICE) AS COUPON_MO_ICON
+      -- , FN_IS_GOODS_COUPON('A',G.GOODS_CD, BP.CURR_PRICE) AS COUPON_APP_ICON
+      -- , (CASE WHEN BP.CURR_PRICE <= E.MIN_ORD_AMT THEN 'Y' ELSE 'N' END) AS DELV_FREE_ICON
+      -- , FN_GET_FREEGIFT_GOODS_YN(G.GOODS_CD) AS FREEGIFT_ICON
+      -- , (CASE WHEN G.FORMAL_GB = 'G009_10' THEN 'Y' ELSE 'N' END) AS NEW_GOODS_ICON
+       , (SELECT GROUP_CONCAT(DISTINCT CONCAT(C4.LEAF_CATE_NO , '|', C4.FULL_CATE_NM ) ) FROM TB_CATE_4SRCH C4
+                                                                                         INNER JOIN TB_CATE_GOODS CG ON C4.LEAF_CATE_NO = CG.CATE_NO 
+                                                                                         WHERE  C4.SITE_CD = 'G000_10'
+                                                                                         AND C4.CATE_TYPE = 'G031_10' -- 상품타입 
+                                                                                         AND C4.CATE_GB  = 'G032_101' -- 
+                                                                                         AND CG.GOODS_CD = G.GOODS_CD)  AS CATE_INFO
+        , G.REG_DT AS REG_DT 
+        , GS.SELL_WEEK_QTY AS ORDER_CNT
+        , GS.REVIEW_REG_CNT AS REVIEW_CNT
+FROM TB_GOODS G
+INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
+                      AND B.USE_YN = 'Y'
+INNER JOIN TB_BRAND_GROUP BG ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
+                            AND BG.USE_YN = 'Y'                            
+-- INNER JOIN (SELECT GOODS_CD
+--                 , FN_GET_BENEFIT_PRICE( 'P' /**P*/,GOODS_CD, CURR_PRICE, '00' /**P*/) AS CURR_PRICE 
+--            FROM TB_GOODS
+--            ) BP ON G.GOODS_CD = BP.GOODS_CD
+INNER JOIN TB_DELV_FEE_POLICY E ON G.SUPPLY_COMP_CD = E.SUPPLY_COMP_CD
+                                AND G.DELV_FEE_CD =  E.DELV_FEE_CD
+INNER JOIN TB_GOODS_SUMMARY GS ON G.GOODS_CD = GS.GOODS_CD
+INNER JOIN TB_OPTION O ON G.GOODS_CD  = O.GOODS_CD
+                            AND O.DISP_YN = 'Y'
+LEFT OUTER JOIN TB_GOODS_BENEFIT_PRICE BP ON G.GOODS_CD = BP.GOODS_CD 
+                                          AND BP.CUST_GB = 'G100_00'
+LEFT OUTER JOIN (SELECT AKG.GOODS_CD
+                      , GROUP_CONCAT(AK.AD_KEYWORD) AS  AD_KEYWORD
+                 FROM TB_AD_KEYWORD AK
+                 INNER JOIN TB_AD_KEYWORD_GOODS AKG ON AK.AD_KEYWORD_SQ  = AKG.AD_KEYWORD_SQ 
+                 WHERE NOW() BETWEEN  AK.AD_KEYWORD_STDT AND AK.AD_KEYWORD_EDDT
+                 AND AK.USE_YN  = 'Y'
+                 GROUP BY  AKG.GOODS_CD
+                ) K ON G.GOODS_CD = K.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 
+LEFT OUTER JOIN TB_ITEMKIND I ON G.ITEMKIND_CD  = I.ITEMKIND_CD 
+-- LEFT OUTER JOIN TB_WISHLIST W ON G.GOODS_CD = W.GOODS_CD
+--                               AND IFNULL( 0 /**P*/, 0) = W.CUST_NO
+WHERE 1 = 1                              
+-- AND G.GOODS_CD =  '14443216' /**P*/  -- 테스트용   입점:STYS00000042 , 자사:14443216 , 딜 : STYD000000025 , 세트 : STYS00000042
+AND G.SELF_MALL_YN = 'Y' -- 자사몰 노출(기획전과 상품상세는 노출)
+-- AND G.SELF_GOODS_YN ='Y'  -- 테스트용
+AND G.GOODS_STAT = 'G008_90'
+-- ) Z
+-- WHERE 1 = 1
+-- AND Z.AD_KEYWORD IS NOT NULL
+;

+ 3 - 1
산출물/3.설계/05.DB-Object/03.db_function/FN_GET_BENEFIT_PRICE.sql

@@ -12,7 +12,7 @@ create FUNCTION FN_GET_BENEFIT_PRICE
 /* Program Name : fn_get_benefit_price
 /* Description  : 상품의 현재판매가에 즉시할인상품쿠폰을 적용한 판매가를 반환한다.
 /*
-/*                Input  : i_front_gb => 프론트구분(P:PC, M:모바일)''
+/*                Input  : i_front_gb => 프론트구분(P:PC, M:모바일, A:APP)
 /*                         i_goods_cd => 상품코드
 /*                         i_curr_price => 현재판매가
 /*                         i_usable_cust_gb => 사용가능고객구분(G100_00:전체, G100_10:일반회원, G100_20:임직원)
@@ -47,6 +47,8 @@ BEGIN
                 WHEN I_FRONT_GB = 'P' AND I_USABLE_CUST_GB <> 'G100_20' THEN PC_CURR_PRICE
                 WHEN I_FRONT_GB = 'M' AND I_USABLE_CUST_GB = 'G100_20'  THEN STAFF_MO_CURR_PRICE
                 WHEN I_FRONT_GB = 'M' AND I_USABLE_CUST_GB <> 'G100_20' THEN MO_CURR_PRICE
+                WHEN I_FRONT_GB = 'A' AND I_USABLE_CUST_GB = 'G100_20'  THEN STAFF_APP_CURR_PRICE
+                WHEN I_FRONT_GB = 'A' AND I_USABLE_CUST_GB <> 'G100_20' THEN APP_CURR_PRICE
                 ELSE I_CURR_PRICE END
     INTO   O_RET_VALUE            
     FROM TB_GOODS_BENEFIT_PRICE

+ 2 - 2
산출물/3.설계/05.DB-Object/03.db_function/FN_IS_GOODS_COUPON.sql

@@ -11,7 +11,7 @@ create FUNCTION FN_IS_GOODS_COUPON
 /* Program Name : FN_IS_GOODS_COUPON
 /* Description  : 상품의 최대로 할인 받는 쿠폰정보 조회한다.
 /*
-/*                Input  : i_front_gb => 프론트구분(P:PC, M:모바일)
+/*                Input  : i_front_gb => 프론트구분(P:PC, M:모바일,A:APP )
 /*                         i_goods_cd => 상품코드
 /*                         i_curr_price => 현재판매가
 /*                OutPut : 쿠폰정보
@@ -50,7 +50,7 @@ BEGIN
                       AND    CP.BUY_LIMIT_AMT <= I_CURR_PRICE  /*최소주문금액*/
                       AND    (CASE WHEN I_FRONT_GB = 'P' THEN DC_PVAL
                                    WHEN I_FRONT_GB = 'M' THEN DC_MVAL
-                                   ELSE DC_AVAL END) > 0       /*  APP은 추후 사용여부 확인해야함 */
+                                   ELSE DC_AVAL END) > 0       
                       AND    IF (CP.TOT_PUB_LIMIT_QTY = 0, 9999999999,CP.TOT_PUB_LIMIT_QTY) > (SELECT COUNT(1) FROM TB_CUST_COUPON WHERE CPN_ID = CP.CPN_ID) /*총발행제한수*/
                       AND   (
                               (CP.APPLY_SCOPE = 'A' ) 

+ 17 - 1
산출물/3.설계/05.DB-Object/06.DDL/table.sql

@@ -4845,6 +4845,18 @@ ALTER TABLE TB_GOODS_ORDER_GRADE
       CUST_GRADE  -- 회원등급
     );
 
+################################################################################
+#상품 총알배송 제외 관리
+################################################################################
+DROP TABLE IF EXISTS TB_GOODS_QUICK_DELEVERY_SKIP RESTRICT;
+CREATE TABLE TB_GOODS_QUICK_DELEVERY_SKIP (
+  GOODS_CD    VARCHAR(20)       NOT NULL COMMENT '상품코드', -- 상품코드
+  REG_NO      INT UNSIGNED      NOT NULL COMMENT '등록자번호', -- 등록자번호
+  REG_DT      TIMESTAMP         NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시', -- 등록일시
+   PRIMARY KEY (GOODS_CD)
+)
+COMMENT '상품 총알배송 제외. 신규 총알배송 제외 상품 등록에 의한 발생';
+
 ################################################################################
 #광고 키워드
 ################################################################################
@@ -6950,9 +6962,11 @@ CREATE TABLE TB_GOODS_BENEFIT_PRICE (
   CURR_PRICE           INT          NOT NULL DEFAULT 0 COMMENT '즉시할인판매가', -- 즉시할인판매가
   PC_CURR_PRICE        INT          NOT NULL DEFAULT 0 COMMENT 'PC즉시할인판매가', -- PC 즉시할인판매가
   MO_CURR_PRICE        INT          NOT NULL DEFAULT 0 COMMENT 'MOBILE즉시할인판매가', -- MOBILE 즉시할인판매가
+  APP_CURR_PRICE       INT          NOT NULL DEFAULT 0 COMMENT 'APP즉시할인판매가', -- APP 즉시할인판매가
   STAFF_CURR_PRICE     INT          NOT NULL DEFAULT 0 COMMENT '임직원즉시할인판매가', -- 즉시할인판매가
   STAFF_PC_CURR_PRICE  INT          NOT NULL DEFAULT 0 COMMENT '임직원PC즉시할인판매가', -- PC 즉시할인판매가
   STAFF_MO_CURR_PRICE  INT          NOT NULL DEFAULT 0 COMMENT '임직원MOBILE즉시할인판매가', -- MOBILE 즉시할인판매가
+  STAFF_APP_CURR_PRICE INT          NOT NULL DEFAULT 0 COMMENT '임직원APP즉시할인판매가', -- APP 즉시할인판매가
   REG_DT               TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시' -- 등록일시
 )
 COMMENT '상품혜택가. 배치로 인한 온라인 즉시할인가 등록에 의한 발생';
@@ -6971,9 +6985,11 @@ CREATE TABLE TB_GOODS_BENEFIT_PRICE_TEMP (
   CURR_PRICE           INT          NOT NULL DEFAULT 0 COMMENT '즉시할인판매가', -- 즉시할인판매가
   PC_CURR_PRICE        INT          NOT NULL DEFAULT 0 COMMENT 'PC즉시할인판매가', -- PC 즉시할인판매가
   MO_CURR_PRICE        INT          NOT NULL DEFAULT 0 COMMENT 'MOBILE즉시할인판매가', -- MOBILE 즉시할인판매가
+  APP_CURR_PRICE       INT          NOT NULL DEFAULT 0 COMMENT 'APP즉시할인판매가', -- APP 즉시할인판매가
   STAFF_CURR_PRICE     INT          NOT NULL DEFAULT 0 COMMENT '임직원즉시할인판매가', -- 즉시할인판매가
   STAFF_PC_CURR_PRICE  INT          NOT NULL DEFAULT 0 COMMENT '임직원PC즉시할인판매가', -- PC 즉시할인판매가
   STAFF_MO_CURR_PRICE  INT          NOT NULL DEFAULT 0 COMMENT '임직원MOBILE즉시할인판매가', -- MOBILE 즉시할인판매가
+  STAFF_APP_CURR_PRICE INT          NOT NULL DEFAULT 0 COMMENT '임직원APP즉시할인판매가', -- APP 즉시할인판매가
   REG_DT               TIMESTAMP    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시' -- 등록일시
 )
 COMMENT '상품혜택가. 배치로 인한 온라인 즉시할인가 등록에 의한 발생';
@@ -10013,7 +10029,7 @@ ALTER TABLE TB_CONTENTS
 DROP TABLE IF EXISTS TB_CONTENTS_PREVIEW RESTRICT;
 CREATE TABLE TB_CONTENTS_PREVIEW (
   PRE_CONTENTS_SQ INT UNSIGNED      NOT NULL COMMENT '컨텐츠미리보기일련번호', -- 컨텐츠미리보기일련번호
-  CONTENTS_SQ     INT UNSIGNED      NOT NULL COMMENT '컨텐츠일련번호', -- 컨텐츠일련번호
+  CONTENTS_SQ     INT UNSIGNED      NULL 	 COMMENT '컨텐츠일련번호', -- 컨텐츠일련번호
   CATE_NO         INT UNSIGNED      NOT NULL COMMENT '카테고리번호', -- 카테고리번호
   CONTENTS_LOC    VARCHAR(20)       NOT NULL COMMENT '컨텐츠위치(공통코드G028)', -- 컨텐츠위치(공통코드G028)
   CONTENTS_TYPE   VARCHAR(20)       NULL     COMMENT '컨텐츠유형(공통코드G036)', -- 컨텐츠유형(공통코드G036)

BIN
산출물/3.설계/ST24_TSIT-D202-프로그램목록(V2.1)-20210219.xlsx


BIN
산출물/4.구축/엑셀샘플/SF019_상품등록.xlsx


+ 31 - 24
산출물/검색/검색_상품색인.sql

@@ -31,8 +31,12 @@ SELECT DISTINCT  G.GOODS_CD
      , G.ITEMKIND_CD
      , G.FORMAL_GB
      , G.LIST_PRICE
-     , BP.CURR_PRICE
-     , 100 - ROUND((BP.CURR_PRICE / G.LIST_PRICE) * 100 ,0) AS DC_RATE
+     , G.CURR_PRICE
+     , BP.PC_CURR_PRICE
+     , BP.MO_CURR_PRICE
+     , BP.APP_CURR_PRICE
+     -- , BP.CURR_PRICE
+     -- , 100 - ROUND((BP.CURR_PRICE / G.LIST_PRICE) * 100 ,0) AS DC_RATE
      , G.SELF_GOODS_YN
      , G.GOODS_STAT
      , G.PNT_PRATE
@@ -49,7 +53,7 @@ SELECT DISTINCT  G.GOODS_CD
      , E.DELV_FEE
      , E.MIN_ORD_AMT
      , G.GOODS_GB
-     , (SELECT NI_CLSF_CD FROM TB_ITEMKIND  WHERE ITEMKIND_CD = G.ITEMKIND_CD) AS NI_CLSF_CD
+     , (SELECT MAX(NI_CLSF_CD) FROM tb_goods_noti_info  WHERE GOODS_CD = G.GOODS_CD) AS NI_CLSF_CD
      , G.MAIN_COLOR_CD
      , G.SUPPLY_COMP_CD
      , G.SELF_MALL_YN
@@ -57,13 +61,13 @@ SELECT DISTINCT  G.GOODS_CD
      , FN_GET_CODE_NM('G023',G.AGE_GRP_CD) AGE_GRP_NM
      , G.SEASON_CD 
      , FN_GET_CODE_NM('G006',G.SEASON_CD) SEASON_NM
-     , G.GIFT_PACK_YN
-     , G.NEW_CUST_ORD_YN
-     , G.ADULT_YN
+     -- , G.GIFT_PACK_YN
+     -- , G.NEW_CUST_ORD_YN
+     -- , G.ADULT_YN
      , G.GOODS_TYPE
-     , G.CHANGEABLE_YN
-     , G.RETURNABLE_YN
-     , (SELECT CATE1_NO FROM TB_SITE_BRAND WHERE  BRAND_CD = G.BRAND_CD AND SITE_CD =  'G000_10' AND USE_YN = 'Y') AS BRAND_CATE1_NO
+     -- , G.CHANGEABLE_YN
+     -- , G.RETURNABLE_YN
+     -- , (SELECT CATE1_NO FROM TB_SITE_BRAND WHERE  BRAND_CD = G.BRAND_CD AND SITE_CD =  'G000_10' 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 = IF(G.SELF_GOODS_YN  = 'Y' AND G.GOODS_TYPE ='G056_N', O.OPT_CD1, 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 = IF(G.SELF_GOODS_YN  = 'Y' AND G.GOODS_TYPE ='G056_N', O.OPT_CD1, G.MAIN_COLOR_CD) AND MOUSEOVER_IMG_YN = 'Y') AS SYS_IMG_NM2
 --     , (CASE WHEN W.GOODS_CD IS NULL THEN 'N' ELSE 'Y' END) AS WISH_YN  -- 실시간 데이터 반영? 
@@ -73,7 +77,7 @@ SELECT DISTINCT  G.GOODS_CD
                                                 FROM  VW_STOCK
                                                 WHERE GOODS_CD = G.GOODS_CD
                                                 AND OPT_CD1 =  (CASE WHEN G.SELF_GOODS_YN = 'N' THEN OPT_CD1 
-                                                                     ELSE  IFNULL(G.MAIN_COLOR_CD,'00') END)
+                                                                     ELSE  IFNULL(G.MAIN_COLOR_CD,'XX') END)
                                                 GROUP BY GOODS_CD )
             ELSE (SELECT IFNULL(MAX(CASE WHEN SOLDOUT_YN = 'Y' THEN 0
                                       ELSE CURR_STOCK_QTY
@@ -83,10 +87,12 @@ SELECT DISTINCT  G.GOODS_CD
                   GROUP BY GOODS_CD )
             END) AS STOCK_QTY
        , K.AD_KEYWORD
-       , 'COUPON 노출' AS COUPON_ICON
-       , (CASE WHEN BP.CURR_PRICE <= E.MIN_ORD_AMT THEN 'Y' ELSE 'N' END) AS DELV_FREE_ICON
-       , FN_GET_FREEGIFT_GOODS_YN(G.GOODS_CD) AS FREEGIFT_ICON
-       , (CASE WHEN G.FORMAL_GB = 'G009_10' THEN 'Y' ELSE 'N' END) AS NEW_GOODS_ICON
+      -- , FN_IS_GOODS_COUPON('P',G.GOODS_CD, BP.CURR_PRICE) AS COUPON_PC_ICON  -- 속도 이슈
+      -- , FN_IS_GOODS_COUPON('M',G.GOODS_CD, BP.CURR_PRICE) AS COUPON_MO_ICON
+      -- , FN_IS_GOODS_COUPON('A',G.GOODS_CD, BP.CURR_PRICE) AS COUPON_APP_ICON
+      -- , (CASE WHEN BP.CURR_PRICE <= E.MIN_ORD_AMT THEN 'Y' ELSE 'N' END) AS DELV_FREE_ICON
+      -- , FN_GET_FREEGIFT_GOODS_YN(G.GOODS_CD) AS FREEGIFT_ICON
+      -- , (CASE WHEN G.FORMAL_GB = 'G009_10' THEN 'Y' ELSE 'N' END) AS NEW_GOODS_ICON
        , (SELECT GROUP_CONCAT(DISTINCT CONCAT(C4.LEAF_CATE_NO , '|', C4.FULL_CATE_NM ) ) FROM TB_CATE_4SRCH C4
                                                                                          INNER JOIN TB_CATE_GOODS CG ON C4.LEAF_CATE_NO = CG.CATE_NO 
                                                                                          WHERE  C4.SITE_CD = 'G000_10'
@@ -100,17 +106,18 @@ FROM TB_GOODS G
 INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
                       AND B.USE_YN = 'Y'
 INNER JOIN TB_BRAND_GROUP BG ON B.BRAND_GROUP_NO = BG.BRAND_GROUP_NO
-                            AND BG.USE_YN = 'Y'
-INNER JOIN (SELECT GOODS_CD
-                 , FN_GET_BENEFIT_PRICE( 'P' /**P*/,GOODS_CD, CURR_PRICE, '00' /**P*/) AS CURR_PRICE 
-            FROM TB_GOODS
-            -- WHERE GOODS_CD =  '14443216' /**P*/
-            ) BP ON G.GOODS_CD = BP.GOODS_CD
+                            AND BG.USE_YN = 'Y'                            
+-- INNER JOIN (SELECT GOODS_CD
+--                 , FN_GET_BENEFIT_PRICE( 'P' /**P*/,GOODS_CD, CURR_PRICE, '00' /**P*/) AS CURR_PRICE 
+--            FROM TB_GOODS
+--            ) BP ON G.GOODS_CD = BP.GOODS_CD
 INNER JOIN TB_DELV_FEE_POLICY E ON G.SUPPLY_COMP_CD = E.SUPPLY_COMP_CD
                                 AND G.DELV_FEE_CD =  E.DELV_FEE_CD
-INNER JOIN TB_GOODS_SUMMARY GS ON G.GOODS_CD = GS.GOODS_CD                               
-LEFT OUTER JOIN TB_OPTION O ON G.GOODS_CD  = O.GOODS_CD
+INNER JOIN TB_GOODS_SUMMARY GS ON G.GOODS_CD = GS.GOODS_CD
+INNER JOIN TB_OPTION O ON G.GOODS_CD  = O.GOODS_CD
                             AND O.DISP_YN = 'Y'
+LEFT OUTER JOIN TB_GOODS_BENEFIT_PRICE BP ON G.GOODS_CD = BP.GOODS_CD 
+                                          AND BP.CUST_GB = 'G100_00'
 LEFT OUTER JOIN (SELECT AKG.GOODS_CD
                       , GROUP_CONCAT(AK.AD_KEYWORD) AS  AD_KEYWORD
                  FROM TB_AD_KEYWORD AK
@@ -141,9 +148,9 @@ LEFT OUTER JOIN TB_ITEMKIND I ON G.ITEMKIND_CD  = I.ITEMKIND_CD
 -- LEFT OUTER JOIN TB_WISHLIST W ON G.GOODS_CD = W.GOODS_CD
 --                               AND IFNULL( 0 /**P*/, 0) = W.CUST_NO
 WHERE 1 = 1                              
- AND G.GOODS_CD =  '14443216' /**P*/  -- 테스트용   입점:STYS00000042 , 자사:14443216 , 딜 : STYD000000025 , 세트 : STYS00000042
+-- AND G.GOODS_CD =  '14443216' /**P*/  -- 테스트용   입점:STYS00000042 , 자사:14443216 , 딜 : STYD000000025 , 세트 : STYS00000042
 AND G.SELF_MALL_YN = 'Y' -- 자사몰 노출(기획전과 상품상세는 노출)
-AND G.SELF_GOODS_YN ='Y'  -- 테스트용
+-- AND G.SELF_GOODS_YN ='Y'  -- 테스트용
 AND G.GOODS_STAT = 'G008_90'
 -- ) Z
 -- WHERE 1 = 1