sowon4187 5 лет назад
Родитель
Сommit
6f8fe8a4de

+ 46 - 2
src/main/java/com/style24/front/biz/dao/TsfPlanningDao.java

@@ -5,7 +5,9 @@ import java.util.Collection;
 
 import com.style24.core.support.annotation.ShopDs;
 import com.style24.persistence.domain.Cate4Srch;
+import com.style24.persistence.domain.Coupon;
 import com.style24.persistence.domain.Plan;
+import com.style24.persistence.domain.Review;
 
 /**
  * 기획전 Dao
@@ -64,7 +66,7 @@ public interface TsfPlanningDao {
 	 * @author sowon
 	 * @date 2021. 3. 19
 	 */
-	ArrayList<Plan> accessCustGrade(Plan plan);
+	Collection<Plan> accessCustGrade(Plan plan);
 	
 	
 	/**
@@ -73,10 +75,52 @@ public interface TsfPlanningDao {
 	 * @param 기획전 번호
 	 * @return
 	 * @author sowon
-	 * @date 2020. 7. 27
+	 * @date 2021. 3. 19
 	 */
 	Plan getPlanDetailInfo(Plan plan);
 	
+
+	/**
+	 * 기획전 상세 프론트 소스 
+	 *
+	 * @param 기획전 번호
+	 * @return
+	 * @author sowon
+	 * @date 2021. 3. 22
+	 */
+	Plan getPlanFsrcInfo(Plan plan);
+	
+	/**
+	 * 기획전 템플릿 순서
+	 *
+	 * @param 기획전 번호
+	 * @return
+	 * @author sowon
+	 * @date 2021. 3. 22
+	 */
+	Collection<Plan> templateDispOrdInfo(Plan plan);
+	
+	/**
+	 * 기획전 템플릿 리뷰
+	 *
+	 * @param 기획전 번호
+	 * @return
+	 * @author sowon
+	 * @date 2021. 3. 22
+	 */
+	Collection<Plan> getPlanReviewInfo(Review review);
+	
+	/**
+	 * 기획전 템플릿 쿠폰
+	 *
+	 * @param 기획전 번호
+	 * @return
+	 * @author sowon
+	 * @date 2021. 3. 22
+	 */
+	Collection<Plan> getPlanCouponInfo(Coupon coupon);
+	
+	
 	/**
 	 * 이벤트 갯수 조회
 	 * 

+ 52 - 10
src/main/java/com/style24/front/biz/service/TsfPlanningService.java

@@ -3,6 +3,7 @@ package com.style24.front.biz.service;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -13,9 +14,11 @@ import com.style24.front.biz.dao.TsfPlanningDao;
 import com.style24.front.support.env.TsfConstants;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.Cate4Srch;
+import com.style24.persistence.domain.Coupon;
 import com.style24.persistence.domain.Login;
 import com.style24.persistence.domain.Plan;
 import com.style24.persistence.domain.Point;
+import com.style24.persistence.domain.Review;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -92,16 +95,6 @@ public class TsfPlanningService {
 		if (!TsfSession.isLogin()) {
 			throw new IllegalArgumentException("로그인 후 접근이 가능합니다.");
 		}
-		else {
-			String custGrade = TsfSession.getInfo().getCustGrade();
-			List<Plan> custGradeList = planningDao.accessCustGrade(plan);
-			System.out.println("=====" + custGradeList.iterator().next().getCustGrade());
-			/*
-			 * if (!custGradeList.) { throw new IllegalArgumentException("너 왜그래"); }
-			 */
-			
-		}
-		
 		
 	}
 	
@@ -116,6 +109,55 @@ public class TsfPlanningService {
 	public Plan getPlanDetailInfo(Plan plan) {
 		return planningDao.getPlanDetailInfo(plan);
 	}
+	
+	/**
+	 * 기획전 상세 프론트소스
+	 *
+	 * @param
+	 * @return
+	 * @author sowon	
+	 * @since 2021. 3. 22
+	 */
+	public Plan getPlanFsrcInfo(Plan plan) {
+		return planningDao.getPlanFsrcInfo(plan);
+	}
+	
+	/**
+	 * 기획전 템플릿 순서
+	 *
+	 * @param
+	 * @return
+	 * @author sowon
+	 * @since 2021. 3. 22
+	 */
+	public Collection<Plan> templateDispOrdInfo(Plan plan) {
+		return planningDao.templateDispOrdInfo(plan);
+	}
+	
+	/**
+	 * 기획전 템플릿 리뷰
+	 *
+	 * @param
+	 * @return
+	 * @author sowon
+	 * @since 2021. 3. 22
+	 */
+	public Collection<Plan> getPlanReviewInfo(Review review) {
+		return planningDao.getPlanReviewInfo(review);
+	}
+	
+	/**
+	 * 기획전 템플릿 쿠폰
+	 *
+	 * @param
+	 * @return
+	 * @author sowon
+	 * @since 2021. 3. 22
+	 */
+	public Collection<Plan> getPlanCouponInfo(Coupon coupon) {
+		return planningDao.getPlanCouponInfo(coupon);
+	}
+
 
 	/**
 	 * 이벤트 갯수 조회

+ 53 - 12
src/main/java/com/style24/front/biz/web/TsfPlanningController.java

@@ -17,16 +17,20 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 
+import com.gagaframework.web.parameter.GagaMap;
 import com.gagaframework.web.rest.server.GagaResponse;
 import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.message.TscMessageByLocale;
 import com.style24.front.biz.service.TsfPlanningService;
 import com.style24.front.support.controller.TsfBaseController;
+import com.style24.front.support.env.TsfConstants;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.Cate4Srch;
+import com.style24.persistence.domain.Coupon;
 import com.style24.persistence.domain.Customer;
 import com.style24.persistence.domain.Order;
 import com.style24.persistence.domain.Plan;
+import com.style24.persistence.domain.Review;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -75,6 +79,24 @@ public class TsfPlanningController extends TsfBaseController {
 		return mav;
 	}
 	
+	/**
+	 * 기획전 접근확인
+	 * 
+	 * @return
+	 * @author sowon
+	 * @since 2021. 3. 22
+	 */
+	@PostMapping("/access")
+	@ResponseBody
+	public GagaMap PlanningAccessConfrim(@RequestBody Plan plan) throws Exception {
+		GagaMap result = new GagaMap();
+		// 접근 가능 고객 등급 확인
+		planningService.accessCustGrade(plan);
+		result.set("status", "200");
+
+		return result;
+	}
+	
 	/**
 	 * 기획전 상세화면
 	 *
@@ -82,30 +104,49 @@ public class TsfPlanningController extends TsfBaseController {
 	 * @author sowon
 	 * @since 2021. 3. 9
 	 */
-	@PostMapping("/detail/form")
-	public ModelAndView PlanningDetailForm(@RequestBody Plan plan) throws Exception {
+	@GetMapping("/detail/form")
+	@ResponseBody
+	public ModelAndView PlanningDetailForm(@RequestParam(value="planSq") int planSq) throws Exception {
 		ModelAndView mav = new ModelAndView();
-		// 접근 가능 고객 등급 확인
-		planningService.accessCustGrade(plan);
-	
-		// 상세정보
-		//plan.setSiteCd(TsfConstants.SITE_CD);
+		Plan plan = new Plan();
+		Review review = new Review();
+		Coupon coupon = new Coupon();
 		
-		// 디바이스 set
+		// 기본 set
+		plan.setPlanSq(planSq);
+		review.setPlanSq(planSq);
+		coupon.setPlanSq(planSq);
+		// 이거 access로 옮겨야 하나..?
+		//plan.setSiteCd(TscConstants.Site.STYLE24.value());
 		plan.setFrontGb(TsfSession.getFrontGb());
-
+		
 		Plan planInfo = planningService.getPlanDetailInfo(plan);
 		mav.addObject("planInfo", planInfo);
 
+		mav.addObject("planCount",planningService.getPlanAllCount(plan));
+		
+		// 상단소스
+		plan.setFrontGb("T");
+		mav.addObject("fsrcInfoTop", planningService.getPlanFsrcInfo(plan));
 		
+		// 하단소스
+		plan.setFrontGb("B");
+		mav.addObject("fsrcInfoBtm", planningService.getPlanFsrcInfo(plan));
+		
+		// 템플릿 순서
+		mav.addObject("templateOrd",planningService.templateDispOrdInfo(plan));
+		
+		// 리뷰
+		mav.addObject("reviewInfo",planningService.getPlanReviewInfo(review));
+		
+		// 쿠폰
+		mav.addObject("couponInfo",planningService.getPlanCouponInfo(coupon));
+				
 		// 다른기획전 보기 
 		mav.addObject("planList", planningService.getPlanList(plan));
 //
 //		mav.addObject("couponList", planningService.getPlusCouponList(plan));
 //
-//		// 소스
-//		mav.addObject("fsrcInfo", planningService.getPlanFsrcInfo(plan));
-//
 //		// 기획전 상세 및 코너 목록
 //		mav.addObject("planCornerList", planningService.getPlanCornerList(plan));
 //

+ 7 - 0
src/main/java/com/style24/persistence/domain/Review.java

@@ -72,6 +72,13 @@ public class Review extends TscBaseDomain {
 	private int reviewWeightSt;	// 상품평 검색조건 몸무게 구간시작	0
 	private int reviewWeightEd;	// 상품평 검색조건 몸무게 구간종료	50
 	
+	private String reviewSysImg;	// 리뷰대표이미지
+	private String goodsImageYn;	// 이미지 여부
+	private int rankno;				// 리뷰 순서
+	private Integer planSq;			// 기획전 번호
+	private String title;			// 기획전 타이틀
+	private String goodsNm;			// 상품이름
+	private int currPrice;		// 현재가
 	// Masking
 	public String getMaskingCustId() {
 		return (this.custId != null) ?  MaskingUtils.id(this.custId) : this.custId;

+ 236 - 3
src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml

@@ -93,7 +93,7 @@
 			      ,P.MAIN_MIMG 
 			      ,P.DISP_ORD 
 			      ,P.REG_NO
-		)P1 INNER JOIN (
+		)P1 LEFT JOIN (
 						SELECT  PB.PLAN_SQ 
 						      , COUNT(PLAN_SQ) AS CNT
 						      ,CASE WHEN COUNT(PLAN_SQ) = 1 THEN MAX(TBG.BRAND_GROUP_KNM) ELSE MAX(TBG.BRAND_GROUP_KNM)END AS BRAND
@@ -192,8 +192,8 @@
 		     , A.PLAN_GB
 		     , A.SITE_CD
 		     , A.FRONT_GB
-		     , A.DISP_STDT
-		     , A.DISP_EDDT
+		     , DATE_FORMAT(A.DISP_STDT, '%Y-%m-%d') AS DISP_STDT 
+		     , DATE_FORMAT(A.DISP_EDDT, '%Y-%m-%d') AS DISP_EDDT
 		     , A.MAIN_PIMG
 		     , A.MAIN_MIMG
 		     , A.DTL_PIMG
@@ -245,6 +245,7 @@
 	</select>
 	
 	<select id="getPlanEventList" parameterType="Plan" resultType="Plan">
+		/* TsfPlanning.getPlanEventList*/
 		SELECT P1.*
 		FROM 
 		(
@@ -294,6 +295,7 @@
 	</select>
 	
 	<select id="accessCustGrade"  parameterType="Plan" resultType="Plan">
+		/* TsfPlanning.accessCustGrade*/
 		SELECT CUST_GRADE
 			  ,(CASE CUST_GRADE WHEN 'G110_10'THEN 'VIP'
 			                    WHEN 'G110_20'THEN 'GOLD'
@@ -304,5 +306,236 @@
 		WHERE TP.PLAN_SQ = #{planSq}
 	</select>
 	
+	<select id="getPlanFsrcInfo" parameterType="Plan" resultType="Plan">
+		/* TsfPlanning.getPlanFsrcInfo*/
+		SELECT DISP_YN 
+		      ,FRONT_GB 
+		      ,FSRC_MOB 
+		      ,FSRC_PC 
+		      ,PLAN_SQ 
+		FROM TB_PLAN_FSRC PF 
+		WHERE 1=1 
+		  AND PLAN_SQ = #{planSq}
+		  AND FRONT_GB = #{frontGb}
+		  AND DISP_YN = 'Y'
+	</select>
+	
+	<select id="templateDispOrdInfo" parameterType="Plan" resultType="Plan">
+		/* TsfPlanning.templateDispOrdInfo*/
+		SELECT TMPL_TYPE , DISP_ORD 
+		FROM TB_PLAN_CONTENTS TPC 
+		WHERE 1=1 
+		 AND PLAN_SQ = #{planSq}
+		GROUP BY TMPL_TYPE
+		ORDER BY DISP_ORD 
+	</select>
+	
+	<select id="getPlanReviewInfo" parameterType="Review" resultType="Review">
+		/* TsfPlanning.templateDispOrdInfo*/
+		SELECT F2.*
+		FROM 
+		(
+			SELECT F.REVIEW_SQ
+					 ,F.GOODS_CD
+					 ,F.REVIEW_GB
+					 ,F.CUST_NO
+					 ,F.ORD_NO
+					 ,F.ORD_DTL_NO
+					 ,F.REVIEW_TITLE
+					 ,F.REVIEW_CONTENT
+					 ,F.SCORE
+					 ,F.HEIGHT
+					 ,F.WEIGHT
+					 ,F.SCORE_SIZE
+					 ,F.SCORE_COLOR
+					 ,F.SCORE_FIT
+					 ,F.SCORE_THICK
+					 ,F.SCORE_WEIGHT
+					 ,F.SCORE_BALL
+					 ,F.GIVE_DUE_PNT
+					 ,F.PNT_GIVE_STAT
+					 ,F.BEST_YN
+					 ,F.GIVE_DUE_BPNT
+					 ,F.BPNT_GIVE_YN
+					 ,F.DISP_YN
+					 ,F.DEL_YN
+					 ,F.CONFIRM_YN
+					 ,F.CONFIRM_UNO
+					 ,F.CONFIRM_DT
+					 ,DATE_FORMAT( F.REG_DT, '%Y-%m-%d') AS REG_DT 
+					 ,DATE_FORMAT( F.UPD_DT, '%Y-%m-%d') AS UPD_DT  
+					 ,F.BRAND_CD
+					 ,F.ITEMKIND_CD
+					 ,F.GOODS_NM
+					 ,F.GOODS_TNM
+					 ,F.GOODS_SNM
+					 ,F.GOODS_SNM1
+					 ,F.MAIN_COLOR_CD
+					 ,F.GOODS_NUM
+					 ,F.GOODS_TYPE
+					 ,F.TAG_PRICE
+					 ,F.LIST_PRICE
+					 ,F.CURR_PRICE
+					 ,F.CURR_BPRICE
+					 ,F.PRICE_UPD_DT
+					 ,F.COST_PRICE
+					 ,F.DC_RATE
+					 ,F.GOODS_STAT
+					 ,F.SELF_MALL_YN
+					 ,F.GOODS_GB
+					 ,F.DISTRIBUTION_GB
+					 ,F.SELF_GOODS_YN
+					 ,F.SUPPLY_COMP_CD
+					 ,F.SUPPLY_GOODS_CD
+					 ,F.PNT_PRATE
+					 ,F.PNT_MRATE
+				  ,(SELECT MAX(SYS_IMG_NM) FROM TB_GOODS_IMG  WHERE GOODS_CD =F.GOODS_CD AND COLOR_CD = F.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' ) AS SYS_IMG_NM
+				  ,(SELECT MAX(SYS_FILE_NM) FROM TB_REVIEW_ATTACH WHERE REVIEW_SQ =F.REVIEW_SQ ORDER BY FILE_GB , REVIEW_SQ LIMIT 1) AS REVIEW_SYS_IMG
+				  , CASE IFNULL((SELECT COUNT(SYS_IMG_NM) FROM TB_GOODS_IMG  WHERE GOODS_CD = F.GOODS_CD AND COLOR_CD = F.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' ),0) 
+			            WHEN 0 THEN 'N'
+			            ELSE 'Y' END AS GOODS_IMAGE_YN
+			      ,(SELECT CUST_ID FROM TB_CUSTOMER WHERE CUST_NO = F.CUST_NO) AS CUST_ID
+				  , ROW_NUMBER() OVER (PARTITION BY F.GOODS_CD ORDER BY F.BEST_YN DESC,F.SCORE, F.REG_DT) AS RANKNO
+				  , 'G082_10' AS TMPL_TYPE
+				  ,(SELECT PC.TITLE FROM TB_PLAN_CONTENTS PC WHERE PC.PLAN_SQ = 1 AND PC.TMPL_TYPE = 'G082_10') AS TITLE
+			FROM 
+			(
+				SELECT R.REVIEW_SQ
+					 ,R.GOODS_CD
+					 ,R.REVIEW_GB
+					 ,R.CUST_NO
+					 ,R.ORD_NO
+					 ,R.ORD_DTL_NO
+					 ,R.REVIEW_TITLE
+					 ,R.REVIEW_CONTENT
+					 ,R.SCORE
+					 ,R.HEIGHT
+					 ,R.WEIGHT
+					 ,R.SCORE_SIZE
+					 ,R.SCORE_COLOR
+					 ,R.SCORE_FIT
+					 ,R.SCORE_THICK
+					 ,R.SCORE_WEIGHT
+					 ,R.SCORE_BALL
+					 ,R.GIVE_DUE_PNT
+					 ,R.PNT_GIVE_STAT
+					 ,R.BEST_YN
+					 ,R.GIVE_DUE_BPNT
+					 ,R.BPNT_GIVE_YN
+					 ,R.DISP_YN
+					 ,R.DEL_YN
+					 ,R.CONFIRM_YN
+					 ,R.CONFIRM_UNO
+					 ,R.CONFIRM_DT
+					 ,R.REG_DT 
+					 ,R.UPD_DT 
+					 ,G.BRAND_CD
+					 ,G.ITEMKIND_CD
+					 ,G.GOODS_NM
+					 ,G.GOODS_TNM
+					 ,G.GOODS_SNM
+					 ,G.GOODS_SNM1
+					 ,G.MAIN_COLOR_CD
+					 ,G.GOODS_NUM
+					 ,G.GOODS_TYPE
+					 ,G.TAG_PRICE
+					 ,G.LIST_PRICE
+					 ,G.CURR_PRICE
+					 ,G.CURR_BPRICE
+					 ,G.PRICE_UPD_DT
+					 ,G.COST_PRICE
+					 ,G.DC_RATE
+					 ,G.GOODS_STAT
+					 ,G.SELF_MALL_YN
+					 ,G.GOODS_GB
+					 ,G.DISTRIBUTION_GB
+					 ,G.SELF_GOODS_YN
+					 ,G.SUPPLY_COMP_CD
+					 ,G.SUPPLY_GOODS_CD
+					 ,G.PNT_PRATE
+					 ,G.PNT_MRATE
+				FROM TB_REVIEW R LEFT JOIN TB_GOODS G ON R.GOODS_CD = G.GOODS_CD 
+				WHERE 1=1 
+				 AND R.DEL_YN = 'N'
+				 AND R.DISP_YN = 'Y'
+				 AND R.GOODS_CD IN (
+				 					SELECT PCI.ITEM_VAL 
+				 					FROM TB_PLAN_CONTENTS_ITEM PCI 
+				 					WHERE 1=1
+				 					  AND NOW() BETWEEN PCI.REVIEW_DISP_STDT AND PCI.REVIEW_DISP_EDDT 
+				 					  AND PCI.PLAN_CONT_SQ = (
+				 												SELECT PC.PLAN_CONT_SQ
+				 												FROM TB_PLAN_CONTENTS PC
+				 												WHERE 1=1
+				 												 AND PC.PLAN_SQ = #{planSq}
+				 												 AND PC.TMPL_TYPE = 'G082_10'
+				 												 AND PC.DISP_YN = 'Y'
+				 												
+				 					))
+			)F
+		)F2
+		WHERE F2.RANKNO <![CDATA[<]]> 5
+		ORDER BY F2.REVIEW_SQ LIMIT 20
+	</select>
+	
+	<select id="getPlanCouponInfo" parameterType="coupon" resultType="coupon">
+		/* TsfPlanning.templateDispOrdInfo*/
+		SELECT F.*
+		      ,(CASE F.CPN_ID WHEN (SELECT CPN_ID FROM TB_CUST_COUPON C WHERE C.CPN_ID = F.CPN_ID )THEN '받기완료'
+		        ELSE '쿠폰받기' END ) AS COUPON_STAT
+		FROM
+		(
+			SELECT  PC.PLAN_CONT_SQ 
+				  , PC.PLAN_SQ 
+				  , PC.TMPL_TYPE 
+				  , PC.TITLE 
+				  , PC.LINK_URL 
+				  , PCI.ITEM_VAL
+				  , PCI.DISP_ORD
+				  , TC.CPN_ID
+				  , TC.CPN_NM
+				  , TC.CPN_DESC
+				  , TC.SITE_CD
+				  , TC.AF_LINK_CD
+				  , TC.CPN_TYPE
+				  , TC.APPLY_SCOPE
+				  ,(CASE TC.DC_WAY WHEN 'G240_10' THEN '할인금액' 
+				 				   WHEN 'G240_11' THEN '할인율' END) AS DC_WAY 
+				  , TC.DC_PVAL
+				  , TC.DC_MVAL
+				  , TC.DC_AVAL
+				  , TC.MAX_DC_AMT
+				  , TC.PD_GB, AVAIL_STDT
+				  , TC.AVAIL_EDDT
+				  , TC.AVAIL_DAYS
+				  , TC.CUST_PUB_LIMIT_QTY
+				  , TC.TOT_PUB_LIMIT_QTY
+				  , TC.ONE_PUB_QTY
+				  , TC.DN_GB
+				  , TC.DOWN_STDT
+				  , TC.DOWN_EDDT
+				  , TC.BUY_LIMIT_AMT
+				  , TC.REISSUANCE
+				  , TC.CPN_STAT
+				  , TC.END_ALIM_YN
+				  , TC.FIRST_ORD_YN
+				  , TC.DOWN_ABL_YN
+				  , TC.DC_CD_GB
+				  , TC.CUST_JOIN_STDT
+				  , TC.CUST_JOIN_EDDT
+				  , TC.BUY_STDT
+				  , TC.BUY_EDDT
+				  , TC.NEW_CUST_YN
+			FROM TB_PLAN_CONTENTS PC INNER JOIN TB_PLAN_CONTENTS_ITEM PCI ON PC.PLAN_CONT_SQ = PCI.PLAN_CONT_SQ 
+			  						 INNER JOIN TB_COUPON TC ON PCI.ITEM_VAL = TC.CPN_ID 
+			WHERE 1=1 
+				AND PC.PLAN_SQ = #{planSq}
+				AND PC.TMPL_TYPE = 'G082_20'
+				AND PC.DISP_YN ='Y'
+				AND NOW() BETWEEN TC.AVAIL_STDT AND TC.AVAIL_EDDT
+				AND NOW() BETWEEN TC.DOWN_STDT AND TC.DOWN_EDDT 
+		)F
+ 
+	</select>
 
 </mapper>

+ 393 - 299
src/main/webapp/WEB-INF/views/web/planning/PlanningDetailFormWeb.html

@@ -1,6 +1,5 @@
 <!DOCTYPE html>
-<html lang="ko"
-	xmlns:th="http://www.thymeleaf.org"
+<html lang="ko" xmlns:th="http://www.thymeleaf.org"
 	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
 	layout:decorator="web/common/layout/DefaultLayoutWeb">
 <!--
@@ -17,33 +16,40 @@
  *******************************************************************************
  -->
 <body>
-<th:block layout:fragment="content">
-	<!--  container -->
-	<div id="container" class="container dp">
-		<div class="breadcrumb"> 
-			<ul>
-               <li class="bread_home"><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_MAIN);">홈</a></li>
-				<li class="bread_2depth"><a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_PLANNING_MAIN);">기획전</a></li>
-				<li class="bread_2depth">[[${planInfo.planNm}]]</li>
-			</ul> 
-		</div>
-		<div class="wrap">
-            <div class="content wide"> <!-- 풀사이즈 -->
-                <div class="cont_head">
-					<div>
-                        <h3>[[${planInfo.planNm}]]</h3>
-                        <div>
-                            <a href="javascript:void(0)">sns share</a>
-                        </div>
-                    </div>
-                </div>
-                <div class="cont_body">
-                    <div class="coner_content">
-                        <div class="coner_front">
-                            <div class="big_banner"></div> <!-- 상단배너 -->
-                        </div>
-                        <div class="coner_item01">
-                            <div class="dp_listItems_wrap"> <!-- 추천아이템 -->
+	<th:block layout:fragment="content">
+		<!--  container -->
+		<div id="container" class="container dp">
+			<div class="breadcrumb">
+				<ul>
+					<li class="bread_home"><a href="javascript:void(0);"
+						onclick="cfnGoToPage(_PAGE_MAIN);">홈</a></li>
+					<li class="bread_2depth"><a href="javascript:void(0);"
+						onclick="cfnGoToPage(_PAGE_PLANNING_MAIN);">기획전</a></li>
+					<li class="bread_2depth" th:text="${planInfo.planNm}"></li>
+				</ul>
+			</div>
+			<div class="wrap">
+				<div class="content wide dp_detail_case1">
+					<!-- 풀사이즈 -->
+					<div class="cont_head">
+						<div>
+							<h3 th:text="${planInfo.planNm}"></h3>
+							<div>
+								<a href="javascript:void(0)">sns share</a>
+							</div>
+						</div>
+					</div>
+					<div class="cont_body">
+						<div class="coner_content">
+							<div class="coner_front">
+								<div class="promotion_visual" th:if="${fsrcInfoTop != null}" th:utext="${fsrcInfoTop.fsrcPc}"></div>
+								<!-- 상단배너 -->
+							</div>
+							<th:block th:each="a, template : ${templateOrd}">
+								<div class="coner_item01" th:id="${a.tmplType}"></div>
+							</th:block>
+							<!--<div class="coner_item01">
+                             <div class="dp_listItems_wrap"> 추천아이템
                                 <div>
                                     <a href="javascript:void(0)">겨울 아우터 추천템</a>
                                 </div>
@@ -62,296 +68,384 @@
                                                         <del>98,000</del>
                                                         <span class="percent">10%</span>
                                                     </div>
+                                                    <div class="itemComment">#주문 폭주 상품</div>
                                                     <div class="ui_row">
-                                                        <button type="button" class="btn btn_default"><span>VIEW MORE</span></button>
-                                                    </div>
-                                                </div>
-                                            </div>
-                                        </li>
-                                        <li>
-                                            <div class="dp_listItems">
-                                                <div class="dp_listItems_img">
-                                                    <img src="/images/pc/thumb/dp_item02.jpg" alt="">
-                                                </div>
-                                                <div class="dp_listItems_info">
-                                                    <div class="dp_listItems_brand">NBA</div>
-                                                    <div class="dp_listItems_name">남성 유니 와플 패턴 코듀로이 숏기장 다운점퍼<br>(B204DW040P)</div>
-                                                    <div class="dp_listItems_price">
-                                                        <span class="price">79,900</span>
-                                                        <del>98,000</del>
-                                                        <span class="percent">10%</span>
-                                                    </div>
-                                                    <div class="ui_row">
-                                                        <button type="button" class="btn btn_default"><span>VIEW MORE</span></button>
+                                                        <button type="button" class="btn btn_default"><span>자세히 보기</span></button>
                                                     </div>
                                                 </div>
                                             </div>
                                         </li>
-                                        <div class="ui_row">
-                                            <button type="button" class="btn btn_default"><span>더 많은 상품보기</span></button>
-                                        </div>
                                     </ul>
                                 </div>
-                            </div>
-                        </div>
-                        <div class="coner_item02">
-                            <div class="dp_coupon_wrap">
-                                <div>
-                                    <p>TBJ 시즌오프 기간한정 20% 할인쿠폰</p>
-                                </div>
-                                <div class="dp_coupon_list">
-                                    <div class="dp_coupon_item">
-                                        <div class="dp_coupon">
-                                            <p>멤버십 10%할인쿠폰</p>
-                                            <p>10%</p>
-                                            <button></button>
-                                        </div>
-                                        <div>
-                                            <a href="javascript:void(0)" id="coupon_pop">사용안내</a>
-                                        </div>
-                                    </div>
-                                    <div class="dp_coupon_item">
-                                        <div class="dp_coupon">
-                                            <p>멤버십 10%할인쿠폰멤버십 10%할인쿠폰멤버십 10%할인쿠폰</p>
-                                            <p>10%</p>
-                                            <button></button>
-                                        </div>
-                                        <div>
-                                            <a href="javascript:void(0)" id="coupon_pop2">사용안내</a>
-                                        </div>
-                                    </div>
-                                    <div class="dp_coupon_item">
-                                        <div class="dp_coupon">
-                                            <p>멤버십 10%할인쿠폰멤버십 10%할인쿠폰멤버십 10%할인쿠폰</p>
-                                            <p>10%</p>
-                                            <button></button>
-                                        </div>
-                                        <div>
-                                            <a href="javascript:void(0)" id="coupon_pop">사용안내</a>
-                                        </div>
-                                    </div>
-                                    <div class="dp_coupon_item">
-                                        <div class="dp_coupon">
-                                            <p>멤버십 10%할인쿠폰멤버십 10%할인쿠폰멤버십 10%할인쿠폰</p>
-                                            <p>10%</p>
-                                            <button></button>
-                                        </div>
-                                        <div>
-                                            <a href="javascript:void(0)" id="coupon_pop">사용안내</a>
-                                        </div>
-                                    </div>
-                                    <div class="dp_coupon_item">
-                                        <div class="dp_coupon">
-                                            <p>멤버십 10%할인쿠폰멤버십 10%할인쿠폰멤버십 10%할인쿠폰</p>
-                                            <p>10%</p>
-                                            <button></button>
-                                        </div>
-                                        <div>
-                                            <a href="javascript:void(0)" id="coupon_pop">사용안내</a>
-                                        </div>
-                                    </div>
-                                    <div class="dp_coupon_item">
-                                        <div class="dp_coupon">
-                                            <p>멤버십 10%할인쿠폰멤버십 10%할인쿠폰멤버십 10%할인쿠폰</p>
-                                            <p>10%</p>
-                                            <button></button>
-                                        </div>
-                                        <div>
-                                            <a href="javascript:void(0)" id="coupon_pop">사용안내</a>
-                                        </div>
-                                    </div>
-                                </div>
-                                <div class="dp_coupon_tip">
-                                    <div class="dp_coupon_notice">
-                                    </div>
-                                    <ul>
-                                        <li>쿠폰 발급 기간 : 2020.09 ~ 2020.10.05</li>
-                                        <li>쿠폰 사용 기간 : 2020.09 ~ 2020.10.05이며, 이후 자동 소멸됩니다.</li>
-                                        <li>본 쿠폰은 해당 기획전 상품에만 적용 가능합니다.</li>
-                                        <li>본 쿠폰은 해당 기획전 다운로드 버튼을 통해 발급받으실 수 있습니다.</li>
-                                    </ul>
-                                </div>
-                            </div>
-                        </div>
-                        
-                        
-                        <div class="coner_visual">
-                            <div class="dp_banner_slide"> 
-                                <div class="post-wrapper dp_lookbook_case1"> <!-- 슬라이드case1 -->
-                                   <div class="post"><img src="/images/pc/thumb/dp_slide_banner1.png"></div>
-                                   <div class="post"><img src="/images/pc/thumb/dp_slide_banner1.png"></div>
-                                   <div class="post"><img src="/images/pc/thumb/dp_slide_banner1.png"></div>
-                                   <div class="post"><img src="/images/pc/thumb/dp_slide_banner1.png"></div>
-                                </div>
-                             </div>
-                        </div>
-                    </div>
-                </div>
-            </div> <!-- //풀사이즈 -->
-			<div class="content">
-				<div class="cont_head">
-                    <div class="bullet_sticky_nav">
-                        <ul>    
-                            <li><a href="#23">모이몰른</a></li> <!-- 섹션이동 -->
-                        </ul>
-                    </div>
-                    <div class="item_header">
-                        <h3>겨울 아우터 재입고</h3>
-                    </div>
+                            </div> 
+                        </div>-->
+							<!-- <div class="coner_item02">
+	                        <div class="coner_visual">
+	                            <div class="swiper-container">
+	                                <div class="swiper-wrapper ">
+	                                    <div class="swiper-slide">
+	                                        <img alt="" src="/images/pc/thumb/dp_slide_banner1.png">
+	                                    </div>
+	                                    <div class="swiper-slide">
+	                                        <img alt="" src="/images/pc/thumb/dp_slide_banner1.png"> 
+	                                    </div>
+	                                </div>
+	                                <div class="swiper-button-prev "></div>
+	                                <div class="swiper-button-next "></div>
+	                            </div>
+	                            <div class="swiper-pagination"></div>
+                        </div> -->
+							<div class="coner_front">
+								<div class="promotion_visual" th:if="${fsrcInfoBtm != null}" th:utext="${fsrcInfoBtm.fsrcPc}"></div>
+								<!-- 하단배너 -->
+							</div>
+							<br> <br>
+						</div>
+					</div>
 				</div>
-				<div class="cont_body">
-                    <div class="list_content">
-                        <div class="list_defult">
-                            <div>
-                                <p>등록된 기획전이 없습니다.</p>
-                            </div>
-                            <div class="ui_row">
-                                <button type="button" class="btn btn_default btn_md"><span>메인으로 가기</span></button>
-                            </div>
-                        </div>
-                        <div class="itemsGrp"> <!-- itemsGrp rank hot deal -->
-                            <div class=" item_prod"> <!-- item_prod ranker d_detail -->
-                                <div class="item_state"> <!-- item_state AD soldout -->
-                                    <a href="#none" class="itemLink">
-                                        <div class="itemPic">
-                                            <img alt="BLUE-a" class=" vLHTC pd_img" src="/images/pc/thumb/prod1.jpg">
-                                            <button type="button" class="itemLike active">관심상품 추가</button>
-                                        </div>
-                                        <p class="itemBrand">BRAND NAME</p>
+				<!-- //풀사이즈 -->
+				<div class="content dp_detail_list">
+					<div class="cont_head">
+						<div class="bullet_sticky_nav">
+							<ul>
+								<li><a href="#brand01">모이몰른</a></li>
+								<!-- 섹션이동 -->
+								<li><a href="#brand02">컬리수</a></li>
 
-                                        <div class=" itemName">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
-                                        <p class="itemPrice">488,000<!-- -->원</p>
-                                        <p class="itemBadge">
-                                            <span class="badge13">베스트 </span>
-                                        </p>
-                                        <div class="itemcolorchip">
-                                            <span class="chip_color35" value="ABM">BEIGE</span>
-                                            <span class="chip_color54" value="BDS">BLACK</span>
-                                            <span class="chip_color40" value="YBR">WHITE</span>
-                                        </div>
-                                        <div class="itemComment">#주문 폭주 상품</div>
-                                    </a>
-                                </div>
-                            </div>
-                           
-                        </div>
+							</ul>
+						</div>
+					</div>
+					<div class="cont_body">
+						<div class="list_content">
+							<div id="brand01">
+								<div class="item_header">
+									<!-- 섹션이동 -->
+									<h4>모이몰른</h4>
+								</div>
+								<div class="itemsGrp">
+									<!-- itemsGrp rank hot deal -->
+									<div class=" item_prod">
+										<!-- item_prod ranker d_detail -->
+										<div class="item_state">
+											<!-- item_state AD soldout -->
+											<a href="#none" class="itemLink">
+												<div class=" itemPic">
+													<img alt="BLUE-a" class=" vLHTC pd_img"
+														src="/images/pc/thumb/prod1.jpg">
+													<button type="button" class="itemLike likeit">관심상품
+														추가</button>
+												</div>
+												<p class="itemBrand">BRAND NAME</p>
 
-                        <div class="foot_banner_slide"> 
-                            <div>
-                                <p>다른 기획전 보기</p>
-                                <a href="javascript:void(0)" onclick="cfnGoToPage(_PAGE_PLANNING_MAIN);">전체보기</a>
-                            </div>
-                            <div class="dp_banner_slide">
-                                <div class="post-wrapper dp_lookbook_case3"> <!-- 슬라이드case3 -->
-                                   <th:block th:each="PlanData, PlanStat : ${planList}">  
-                                    <div class="post">     
-                                              
-                                        <a href="#none" class="dp_lookbook_item" th:onclick="cfnGoToPage(_PAGE_PLANNING_DETAIL + '?planSq=' + [[${PlanData.planSq}]]);">
-                                            <div>
-                                                <img th:src="${@environment.getProperty('domain.image')+'/planning/'+PlanData.mainPimg}" style="width: 100%;" alt="">
-                                            </div>
-                                            <div>
-                                            <th:block th:if="${PlanData.cnt > 1}">
-                                            <p class="itemBrand">[[${PlanData.brand}]] 외</p>
-                                            </th:block>
-                                            <th:block th:if="${PlanData.cnt <= 1}">
-                                            <p class="itemBrand">[[${PlanData.brand}]]</p>
-                                            </th:block>
-                                             <div class="itemName">[[${PlanData.planNm}]]</div>
-                                            </div>
-                                        </a>
-                                    </div>
-                                    </th:block>
-                                </div>
-                            </div>
-                        </div>
+												<div class=" itemName">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
+												<p class="itemPrice">
+													488,000
+													<!-- -->
+													원
+												</p>
+												<p class="itemBadge">
+													<span class="badge13">베스트 </span>
+												</p>
+												<div class="itemcolorchip">
+													<span class="chip_color35" value="ABM">BEIGE</span> <span
+														class="chip_color54" value="BDS">BLACK</span> <span
+														class="chip_color40" value="YBR">WHITE</span>
+												</div>
+												<div class="itemComment">#주문 폭주 상품</div>
+											</a>
+										</div>
+									</div>
+								</div>
+							</div>
+							<div id="brand02">
+								<div class="item_header">
+									<!-- 섹션이동 -->
+									<h4>컬리수</h4>
+								</div>
+								<div class="itemsGrp">
+									<!-- itemsGrp rank hot deal -->
+									<div class=" item_prod">
+										<!-- item_prod ranker d_detail -->
+										<div class="item_state">
+											<!-- item_state AD soldout -->
+											<a href="#none" class="itemLink">
+												<div class=" itemPic">
+													<img alt="BLUE-a" class=" vLHTC pd_img"
+														src="/images/pc/thumb/prod1.jpg">
+													<button type="button" class="itemLike likeit">관심상품
+														추가</button>
+												</div>
+												<p class="itemBrand">BRAND NAME</p>
 
-                    </div>
-                </div>
-		    </div>
-        </div>
-    </div>   	
+												<div class=" itemName">남성 헤링본 기모 팬츠 헤링본 기모 팬츠</div>
+												<p class="itemPrice">
+													488,000
+													<!-- -->
+													원
+												</p>
+												<p class="itemBadge">
+													<span class="badge13">베스트 </span>
+												</p>
+												<div class="itemcolorchip">
+													<span class="chip_color35" value="ABM">BEIGE</span> <span
+														class="chip_color54" value="BDS">BLACK</span> <span
+														class="chip_color40" value="YBR">WHITE</span>
+												</div>
+												<div class="itemComment">#주문 폭주 상품</div>
+											</a>
+										</div>
+									</div>
+								</div>
+							</div>
 
+						</div>
+					</div>
+				</div>
+				<th:block th:if="${planCount > 0}">
+				<div class="content dp_foot_banner">
+					<div class="cont_head">
+						<div>
+							<p>다른 기획전 보기</p>
+							<a href="javascript:void(0);" onclick="cfnGoToPage(_PAGE_PLANNING_MAIN);">전체보기</a>
+						</div>
+					</div>
+					<div class="cont_body">
+						<div class="foot_banner_slide">
+							<div class="swiper-container">
+								<div class="swiper-wrapper">
+								 <th:block th:each="PlanData, PlanStat : ${planList}">
+									<div class="swiper-slide">
+										<a th:onclick="planDetailSearch([[${PlanData.planSq}]])">
+											<div class="thumb">
+												<img th:src="${@environment.getProperty('domain.image')+'/planning/'+PlanData.mainPimg}" alt="${PlanData.planNm}">
+											</div>
+											<div class="txt">
+												<span class="brand" th:if="${PlanData.cnt > 1}" th:text="${PlanData.brand}+' 외'"></span>
+												<p class="tit" th:text="${PlanData.planNm}"></p>
+											</div>
+										</a>
+									</div>
+								</th:block>
+								</div>
+							</div>
+							<div class="swiper-button-prev"></div>
+							<div class="swiper-button-next"></div>
+						</div>
+					</div>
+				</div>
+				</th:block>
+			</div>
+		</div>
+		<!-- // container -->
 <script th:inline="javascript">
-$(document).ready(function() {
-	var error = [[${error}]];
-	console.log("====" + error);
+let review = [[${reviewInfo}]];
+let coupon = [[${couponInfo}]];
+let plan = [[${planInfo}]];
+
+if(review != null || review != ''){
+		
+	var html = '';
+	
+	
+	html += '<div class="dp_review_cont">';
+	html += '	<div class="dp_review">';
+	html += '		<h2 class="dp_subtitle">'+review[0].title+'</h2>';
+	html += '		<div class="review_list">';
 	
-	if(error!= null){
-		mcxDialog.alert(error);
+	
+	for (var i = 0; i < review.length; i++) {
+		html += '			<div>';
+		html += '				<div class="best_review">';
+		html += '					<a href="javascript:void();" onclick="fnPlanReviewDetail(\''+review[i].reviewSq+'\');">';
+		html += '						<div class="lap">';
+		html += '							<div class="pic">';
+		html += '								<span class="thumb"';
+		html += '									style="background-image: url('+ _imgUrl + review[i].reviewSysImg +');"></span>';
+		html += '								<!-- 동영상의 썸네일일 경우 mov 클래스 추가 -->';
+		html += '							</div>';
+		html += '							<div class="info">';
+		html += '								<div>';
+		html += '									<div class="star_score">';
+		html += '										<span class="star"> <em class="progbar"';
+		html += '											style="width:'+(review[i].score*20)+'%;"></em> <!-- 평점 style로 표기 -->';
+		html += '										</span>'; 
+		if(review[i].bestYn == 'Y'){
+			html += '<em class="ico ico_besttag"></em>';	
+		}
+		html += '									</div>';
+		html += '									<div class="txt_best_review">';
+		html += '										<p>'+review[i].reviewContent+'</p>';
+		html += '									</div>';
+		html += '									<div class="writer">';
+		html += '										<span class="wr_id">'+review[i].maskingCustId+'</span><span';
+		html += '											class="wr_date">'+review[i].regDt+'</span>';
+		html += '									</div>';
+		html += '								</div>';
+		html += '							</div>';
+		html += '						</div>';
+		html += '					</a>';
+		html += '				</div>';
+		html += '				<div class="product_view">';
+		html += '					<div class="item_prod">';
+		html += '						<div class="item_state">';
+		html += '							<a href="#none" class="itemLink">';
+		html += '								<div class="itemPic">';
+		html += '									<img alt="" class="vLHTC pd_img" src="'+ _imgUrl +'/'+review[i].sysImgNm +'">';
+		html += '								</div>';
+		html += '								<div class="itemName">'+review[i].goodsNm+'</div>';
+		html += '								<p class="itemPrice">'+review[i].currPrice+'원</p>';
+		html += '							</a>';
+		html += '						</div>';
+		html += '					</div>';
+		html += '				</div>';
+		html += '			</div>';
 	}
-});
-</script>
-<script>
-// header scroll
-$(function(){
-	$(window).scroll(function(){
-		var scroll = $(this).scrollTop();
-		var headerH = $(".header").height();
-		if ($(window).scrollTop() > headerH){
-			$(".header").addClass("minify");
-			return false;
+	
+	html += '			</div>';
+	html += '		</div>';
+	html += '	</div>';
+	html += '</div>';
+	
+	$("#G082_10").append(html);
+}
+
+if(coupon != null || coupon != ''){
+	var html = '';
+	 
+	html += '<div class="coner_item02">';
+	html += '	<div class="dp_coupon_wrap">';
+	html += '	<div>';
+	html += '		<p>'+coupon[0].title+'</p>';
+	html += '	</div>';
+	html += '	<div class="coupon_list inner">';
+	html += '		<ul class="clear">';
+	for (var i = 0; i < coupon.length; i++) {
+		html += '			<li>';
+		html += '				<div class="coupon">';
+		html += '					<div>';
+		html += '						<p class="cp_name">'+coupon[i].cpnNm+'</p>';
+		html += '						<p class="cp_cont">';
+		if (coupon[i].dcWay == '할인율') {
+			html += '							<span> <span><em>'+coupon[i].dcPval+'%</em></span>';
+		}else{
+			html += '							<span><em>'+coupon[i].dcPval+'</em>원</span>'; 
 		}
-		else {
-			$(".header").removeClass("minify");
-			return false;
+		
+		
+		html += '						</p>';
+		html += '						<p class="cp_condition">'+coupon[i].buyLimitAmt+'원 이상 구매 시 최대 ' +coupon[i].maxDcAmt +'원 할인';
+		if (coupon[i].custPubLimitQty != 0) {
+			html += '								<span>1인 최대 '+coupon[i].custPubLimitQty+'장</span>';	
 		}
-	});
-});
-  </script>
-<script>
-    $(document).ready( function() {
-        $(window).scroll(function(){
-            var navOffset = $('.item_header').offset().top - $('.bullet_sticky_nav').height();
-            var windScroll = $(window).scrollTop();
-            if (windScroll > navOffset){
-                $(".bullet_sticky_nav").addClass("sticky");
-            }
-            else {
-                $(".bullet_sticky_nav").removeClass("sticky");
-            }
-            $("#shiping_pop").click(function() {
-                $("#Bulletship_modal").modal("show");
-            });	
-        });
-    });
+		
+		html += '						</p>';
+		html += '					</div>';
+		if (coupon[i].couponStat == '쿠폰받기') {
+			html += '					<button type="button"';
+			html += '						class="btn btn_dark btn_block btn_coupon_down">';  /* btn_coupon_done */
+			html += '						<span>쿠폰받기</span>';								/* 받기완료  */
+			html += '					</button>';			
+		}else{
+			html += '					<button type="button"';
+			html += '						class="btn btn_dark btn_block btn_coupon_done" disabled>';  
+			html += '						<span>받기완료</span>';								
+			html += '					</button>';			
+		}
+		html += '				</div>';
+		html += '				<button type="button" class="btn_underline"';
+		html += '					id="btn_cpinfo_pop">';
+		html += '					<span>사용안내</span>';
+		html += '				</button>';
+		html += '			</li>';
+	}
+	html += '		</ul>';
+	html += '	</div>';
+	html += '	<div class="announce_txt inner">';
+	html += '		<div class="note_txt">';
+	html += '			<img src="/images/pc/ico_content_find.png" alt="유의사항">';
+	html += '			<p>유의사항</p>';
+	html += '		</div>';
+	html += '		<div class="announce_list">';
+	html += '			<ul>';
+	html += '				<li>쿠폰 발급 기간 :'+ plan.dispStdt +'~'+ plan.dispEddt +'</li>';
+	html += '				<li>본 쿠폰은 해당 기획전 상품에만 적용 가능합니다.</li>';
+	html += '				<li>본 쿠폰은 해당 기획전 다운로드 버튼을 통해 발급받으실 수 있습니다.</li>';
+	html += '			</ul>';
+	html += '		</div>';
+	html += '	</div>';
+	html += '	<br>';
+	html += '	<br>';
+	html += '</div>';
+	html += '</div>';
+	
+	
+	$("#G082_20").append(html);
+	
+}
+	
 </script>
-<script>
-    $(function(){
-        $('.dp_lookbook_case1').slick({
-            dots: true,
-            infinite: true,
-            speed: 300,
-            slidesToShow: 1,
-            adaptiveHeight: true
+		<script type="text/javascript">
+	    // 컨텐츠 호출
+        $(document).ready( function() {
+            $("#header").load("head.html");
+            $("#footer").load("foot.html");
         });
-        $('.dp_lookbook_case2').slick({
-            dots: true,
-            infinite: true,
-            speed: 300,
-            slidesToShow: 2,
-            slidesToScroll: 1,
-            adaptiveHeight: true,
-            variableWidth:true
-        });
-        $('.dp_lookbook_case3').slick({
-            dots: false,
-            infinite: true,
-            speed: 300,
-            slidesToShow: 5,
-            slidesToScroll: 1,
-            adaptiveHeight: true
-        });
-        $('.dp_lookbook_case4').slick({
-            dots: true,
-            infinite: true,
-            speed: 300,
-            slidesToShow: 1,
-            adaptiveHeight: true
+
+        $(document).ready( function() {
+            $(window).scroll(function(){
+                var navOffset = $('.item_header').offset().top - $('.bullet_sticky_nav').height();
+                var windScroll = $(window).scrollTop();
+                if (windScroll > navOffset){
+                    $(".bullet_sticky_nav").addClass("sticky");
+                }
+                else {
+                    $(".bullet_sticky_nav").removeClass("sticky");
+                }
+                $("#shiping_pop").click(function() {
+                    $("#Bulletship_modal").modal("show");
+                });	
+            });
+            
+            /* SLIDE - WIDE BANNER */
+			var br_bn_slide = new Swiper ('.coner_visual .swiper-container', {
+				loop: true,
+				slidesPerView: 1,
+				speed : 1500,
+				navigation: {
+					nextEl: '.coner_visual .swiper-button-next',
+					prevEl: '.coner_visual .swiper-button-prev',
+				},
+                pagination: {
+					el: '.coner_visual .swiper-pagination',
+					clickable: true,
+				},
+			});
+
+            var dp_foot_banner_slide = new Swiper ('.dp_foot_banner .swiper-container', {
+				loop: false,
+				slidesPerView: 5,
+                spaceBetween: 20,
+				speed : 800,
+				navigation: {
+					nextEl: '.dp_foot_banner .swiper-button-next',
+					prevEl: '.dp_foot_banner .swiper-button-prev',
+				},
+			});
+            
+            //내부앵커이동
+            $(".bullet_sticky_nav li a").on("click", function(){
+                var hookHeader = $("header").outerHeight() + 100;
+                var hookHref = $(this).attr("href");
+                var hookPot = $(hookHref == "#" || hookHref == "" ? "body" : hookHref);
+                var hookPos = hookPot.offset().top - hookHeader;
+                $("html, body").animate({ scrollTop: hookPos }, 300);
+
+                $('.bullet_sticky_nav li a').removeClass('active');
+                $(this).addClass('active');
+            });
         });
-    });
-</script>
-</th:block>
+    </script>
+	</th:block>
 
 </body>
 </html>

+ 2 - 3
src/main/webapp/WEB-INF/views/web/planning/PlanningMainFormWeb.html

@@ -116,16 +116,15 @@
 	<!-- // container -->	
 <script th:inline="javascript">
 function planDetailSearch(obj) {
-	console.log("gkgk");
 	var planSq = obj;
 	let data = {planSq : planSq};
 	var jsonData = JSON.stringify(data);
 
 	
 	gagajf.ajaxJsonSubmit(
-			'/planning/detail/form', jsonData,
+			'/planning/access', jsonData,
 			function() {
-				cfnGoToPage(_PAGE_PLANNING_DETAIL);
+				cfnGoToPage(_PAGE_PLANNING_DETAIL + "?planSq=" + planSq);
 			});
 
 }

BIN
src/main/webapp/images/pc/ico_besttag2.png