Просмотр исходного кода

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.front into develop

jsshin 4 лет назад
Родитель
Сommit
87a34d77e5
23 измененных файлов с 329 добавлено и 185 удалено
  1. 1 1
      pom.xml
  2. 41 34
      src/main/java/com/style24/front/biz/dao/TsfPlanningDao.java
  3. 92 94
      src/main/java/com/style24/front/biz/service/TsfPlanningService.java
  4. 2 2
      src/main/java/com/style24/front/biz/web/TsfDisplayController.java
  5. 27 0
      src/main/java/com/style24/front/biz/web/TsfOrderController.java
  6. 15 0
      src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml
  7. 0 0
      src/main/webapp/WEB-INF/lib/Istyle-1.3.jar
  8. 4 0
      src/main/webapp/WEB-INF/views/mob/display/BrandLookbookMainFormMob.html
  9. 11 1
      src/main/webapp/WEB-INF/views/mob/display/LookbookMainFormMob.html
  10. 7 7
      src/main/webapp/WEB-INF/views/mob/order/OrderEntryInfoMob.html
  11. 50 18
      src/main/webapp/WEB-INF/views/mob/order/OrderFormMob.html
  12. 1 1
      src/main/webapp/WEB-INF/views/mob/order/OrderFreegiftInfoMob.html
  13. 5 2
      src/main/webapp/WEB-INF/views/web/callcenter/FaqFormWeb.html
  14. 6 1
      src/main/webapp/WEB-INF/views/web/callcenter/GoodsQnaFormWeb.html
  15. 5 1
      src/main/webapp/WEB-INF/views/web/callcenter/NoticeFormWeb.html
  16. 6 1
      src/main/webapp/WEB-INF/views/web/callcenter/OneToOneQnaFormWeb.html
  17. 4 0
      src/main/webapp/WEB-INF/views/web/display/BrandLookbookMainFormWeb.html
  18. 7 0
      src/main/webapp/WEB-INF/views/web/display/LookbookMainFormWeb.html
  19. 1 1
      src/main/webapp/WEB-INF/views/web/order/OrderDeliveryAddrInfoWeb.html
  20. 29 7
      src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html
  21. 1 1
      src/main/webapp/WEB-INF/views/web/order/OrderFreegiftInfoWeb.html
  22. 6 6
      src/main/webapp/ux/mo/css/layout_m.css
  23. 8 7
      src/main/webapp/ux/mo/css/style24_m.css

+ 1 - 1
pom.xml

@@ -180,7 +180,7 @@
 			<artifactId>istyle</artifactId>
 			<version>1.3</version>
 			<scope>system</scope>
-			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/Istyle.jar</systemPath>
+			<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/Istyle-1.3.jar</systemPath>
 		</dependency>
 		<dependency>
 			<groupId>com.diquest.ir</groupId>

+ 41 - 34
src/main/java/com/style24/front/biz/dao/TsfPlanningDao.java

@@ -1,7 +1,6 @@
 package com.style24.front.biz.dao;
 
 import java.util.Collection;
-import java.util.Map;
 
 import com.style24.core.support.annotation.ShopDs;
 import com.style24.persistence.domain.Coupon;
@@ -56,6 +55,15 @@ public interface TsfPlanningDao {
 	 */
 	Collection<Plan> getPlanningGoodsList(Plan plan);
 
+	/**
+	 * 유효한 기획전 여부 조회
+	 * @param plan - 기획전 정보
+	 * @return Y:유효한 기획전
+	 * @author gagamel
+	 * @since 2021. 7. 6
+	 */
+	String getAvailPlanningYn(Plan plan);
+
 	/**
 	 * 디바이스접근가능여부 조회
 	 * @param plan - 기획전 정보
@@ -170,7 +178,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 3. 22
 	 */
 	Collection<Plan> getPlanImageInfo(Plan plan);
-	
+
 	/**
 	 * 기획전 템플릿 유의사항
 	 *
@@ -190,7 +198,6 @@ public interface TsfPlanningDao {
 	 * @date 2021. 3. 23
 	 */
 	Collection<Plan> getPlanGoodsDisplayList(Plan plan);
-	
 
 	/**
 	 * 기획전 코너 리스트
@@ -201,7 +208,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 3. 30
 	 */
 	Collection<Plan> getPlanCornerList(Plan plan);
-	
+
 	/**
 	 * 기획전 코너 상품 리스트
 	 *
@@ -241,7 +248,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 3. 30
 	 */
 	Plan getShotDeliveryHtmlTop(Plan plan);
-	
+
 	/**
 	 * 총알배송 하단 html 소스 
 	 *
@@ -251,7 +258,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 3. 30
 	 */
 	Plan getShotDeliveryHtmlBtm(Plan plan);
-	
+
 	/**
 	 * 설문조사 정보
 	 *
@@ -261,7 +268,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 3
 	 */
 	Poll getPollQuestionInfo(Plan plan);
-	
+
 	/**
 	 * 설문조사 질문내용
 	 *
@@ -271,7 +278,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 3
 	 */
 	Collection<Poll> getPollQuestionList(Plan plan);
-	
+
 	/**
 	 * 설문조사 등록
 	 *
@@ -281,7 +288,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 3
 	 */
 	void savePollCustAnswer(Poll poll);
-	
+
 	/**
 	 * 설문조사 중복 인덱스
 	 *
@@ -291,7 +298,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 6. 18
 	 */
 	int getPollCustAnswerIndex();
-	
+
 	/**
 	 * 설문조사 중복카운트
 	 *
@@ -301,7 +308,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 4
 	 */
 	int getCustAnswerCount(Plan plan);
-	
+
 	/**
 	 * 설문조사 선착순 카운트
 	 *
@@ -311,7 +318,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 5
 	 */
 	int getCustAnswerPartiCount(Poll poll);
-	
+
 	/**
 	 * 총알배송 조회할 기본 주소
 	 *
@@ -321,7 +328,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 5
 	 */
 	CustDeliveryAddr getCustAddrInfo(CustDeliveryAddr addr);
-	
+
 	/**
 	 * 총알배송 가능여부
 	 *
@@ -331,7 +338,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 5
 	 */
 	CustDeliveryAddr getCustAddrShotConfirm(String recipZipcode);
-	
+
 	/**
 	 * 출석체크 달력
 	 *
@@ -341,7 +348,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 6
 	 */
 	Collection<Plan> getAttendMonth(Plan plan);
-	
+
 	/**
 	 * 출석체크 
 	 *
@@ -351,7 +358,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 7
 	 */
 	void saveAttendEntry(Plan plan);
-	
+
 	/**
 	 * 출석체크 확인
 	 *
@@ -361,7 +368,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 7
 	 */
 	int getAttendEntryCount(Plan plan);
-	
+
 	/**
 	 * 출석체크 혜택 리스트
 	 *
@@ -371,7 +378,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 14
 	 */
 	Collection<Plan> getAttendBenefitList(Plan plan);
-	
+
 	/**
 	 * 고객이 출석한 일 리스트
 	 *
@@ -381,7 +388,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 7
 	 */
 	Collection<Plan> getCustAttendEntryList(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 댓글
 	 *
@@ -391,7 +398,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 8
 	 */
 	Collection<Plan> getReplyList(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 댓글 저장
 	 *
@@ -401,7 +408,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 13
 	 */
 	void saveEntryReply(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 댓글 카운트
 	 *
@@ -411,7 +418,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 13
 	 */
 	int getEntryReplyCount(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 댓글 삭제
 	 *
@@ -421,7 +428,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 13
 	 */
 	void deleteEntryReply(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 댓글 이미지 저장
 	 *
@@ -431,7 +438,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 13
 	 */
 	void saveEntryReplyAttach(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 댓글 이미지 리스트
 	 *
@@ -441,7 +448,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 8
 	 */
 	Collection<Plan> getEntryReplyAttachList(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 댓글 이미지 삭제
 	 *
@@ -451,7 +458,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 13
 	 */
 	void deleteEntryReplyAttach(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 접근 고객 리스트
 	 *
@@ -461,7 +468,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 22
 	 */
 	Plan getCustomerGubunAccessibleList(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 접근 고객 리스트
 	 *
@@ -471,7 +478,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 22
 	 */
 	Collection<Plan> getCustomerGradeAccessibleList(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 비회원 접근 조회
 	 *
@@ -481,7 +488,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 5. 4
 	 */
 	int getNonmemberGradeAccessible(Plan plan);
-	
+
 	/**
 	 * 기획전/이벤트 접근 프론트 구분
 	 *
@@ -491,7 +498,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 4. 22
 	 */
 	String getFrontAccessibleList(Plan plan);
-	
+
 	/**
 	 * 총알배송 planSq 
 	 *
@@ -501,7 +508,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 5. 10
 	 */
 	Integer getShotPlanSq(Plan plan);
-	
+
 	/**
 	 * 기획전 컨텐츠 정보 
 	 *
@@ -511,7 +518,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 6. 3
 	 */
 	Collection<Plan> getPlanContentInfo(Plan plan);
-	
+
 	/**
 	 * 총알배송 브랜드 리스트 
 	 *
@@ -521,7 +528,7 @@ public interface TsfPlanningDao {
 	 * @date 2021. 6. 29
 	 */
 	Collection<Plan> getShotBrandList();
-	
+
 	/**
 	 * 총알배송 브랜드 리스트 
 	 *
@@ -531,5 +538,5 @@ public interface TsfPlanningDao {
 	 * @date 2021. 6. 29
 	 */
 	Collection<Plan> getShotDeliveryGoodsList(Plan plan);
-	
+
 }

+ 92 - 94
src/main/java/com/style24/front/biz/service/TsfPlanningService.java

@@ -3,7 +3,6 @@ package com.style24.front.biz.service;
 import java.io.File;
 import java.util.Collection;
 import java.util.Iterator;
-import java.util.Map;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -11,8 +10,6 @@ import org.springframework.core.env.Environment;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import com.gagaframework.web.util.GagaDateUtil;
-import com.gagaframework.web.util.GagaFileUtil;
 import com.style24.front.biz.dao.TsfCommonDao;
 import com.style24.front.biz.dao.TsfPlanningDao;
 import com.style24.front.support.security.session.TsfSession;
@@ -24,6 +21,9 @@ import com.style24.persistence.domain.Review;
 
 import lombok.extern.slf4j.Slf4j;
 
+import com.gagaframework.web.util.GagaDateUtil;
+import com.gagaframework.web.util.GagaFileUtil;
+
 /**
  * 기획전 Service
  *
@@ -42,7 +42,7 @@ public class TsfPlanningService {
 
 	@Autowired
 	private TsfCommonDao commonDao;
-	
+
 	@Autowired
 	private Environment env;
 
@@ -99,7 +99,7 @@ public class TsfPlanningService {
 	public Collection<Plan> getPlanningList(Plan plan) {
 		return planningDao.getPlanningList(plan);
 	}
-	
+
 	/**
 	 * 기획전 코너 상품 목록
 	 * @param plan - 기획전 정보
@@ -111,7 +111,6 @@ public class TsfPlanningService {
 		return planningDao.getPlanningCornerGoodsList(plan);
 	}
 
-
 	/**
 	 * 접근 불가능한 기획전 메시지 조회
 	 * @param planSq - 기획전번호
@@ -120,42 +119,45 @@ public class TsfPlanningService {
 	 * @since 2021. 3. 30
 	 */
 	public String getInaccessiblePlanningMessage(Integer planSq) {
-		String msg = "";
+//		String msg = "";
 
 		Plan plan = new Plan();
 		plan.setPlanSq(planSq);
 
+		// 유효한 기획전 여부 조회
+		if ("N".equals(planningDao.getAvailPlanningYn(plan))) {
+			return "진행중인 기획전/이벤트가 아닙니다.";
+		}
+
 		// 디바이스접근가능여부 조회
 		plan.setFrontGb(TsfSession.getFrontGb());
 		if ("N".equals(planningDao.getDeviceAccessibleYn(plan))) {
 			String frontGb = planningDao.getFrontAccessibleList(plan);
-			msg = frontGb + "에서만 접근이 가능합니다.";
 			if ("M".equals(TsfSession.getFrontGb())) {
-				msg =  frontGb + "에서만 접근이 가능합니다.";
+				return frontGb + "에서만 접근이 가능합니다.";
 			} else if ("A".equals(TsfSession.getFrontGb())) {
-				msg =  frontGb + "에서만 접근이 가능합니다.";
+				return frontGb + "에서만 접근이 가능합니다.";
 			}
 		}
 
 		if (!TsfSession.isLogin()) {
 			plan.setCustGrade("G110_60");
 			if ("N".equals(planningDao.getCustomerGradeAccessibleYn(plan))) {
-				msg = "로그인 후 이용 가능합니다.";
+				return "로그인 후 이용 가능합니다.";
 			}
 		}
-		
+
 		if (TsfSession.isLogin()) {
 			// 신규회원접근가능여부 조회
 			plan.setCustNo(TsfSession.getInfo().getCustNo());
 			if ("N".equals(planningDao.getNewCustomerAccessibleYn(plan))) {
-				msg = "신규회원만 접근 가능합니다.";
+				return "신규회원만 접근 가능합니다.";
 			}
-			
-			
+
 			// 고객구분접근가능여부 조회
 			plan.setCustGb(TsfSession.getCustGb());
 			if ("N".equals(planningDao.getCustomerGubunAccessibleYn(plan))) {
-				msg = planningDao.getCustomerGubunAccessibleList(plan).getCustGb() + "만 접근이 가능합니다.";
+				return planningDao.getCustomerGubunAccessibleList(plan).getCustGb() + "만 접근이 가능합니다.";
 			}
 
 			String custGrade = "";
@@ -165,12 +167,12 @@ public class TsfPlanningService {
 				Iterator<Plan> iter = planningDao.getCustomerGradeAccessibleList(plan).iterator();
 				while (iter.hasNext()) {
 					custGrade += iter.next().getCustGrade();
-					
+
 					if (iter.hasNext()) {
 						custGrade += ", ";
 					}
 				}
-				msg = custGrade+ " 회원만 접근 가능합니다.";
+				return custGrade + " 회원만 접근 가능합니다.";
 			}
 		}
 
@@ -178,15 +180,14 @@ public class TsfPlanningService {
 			// 웹제휴채널접근가능여부 조회
 			plan.setAfLinkCd(TsfSession.getAttribute("afLinkCd"));
 			if ("N".equals(planningDao.getAfLinkAccessibleYn(plan))) {
-				//msg = commonDao.getAfLinkName(TsfSession.getAttribute("afLinkCd")) + " 채널만 접근 가능합니다.";
-				msg = "제휴 채널을 통해서만 접근 가능합니다. ";
+//				return commonDao.getAfLinkName(TsfSession.getAttribute("afLinkCd")) + " 채널만 접근 가능합니다.";
+				return "제휴 채널을 통해서만 접근 가능합니다.";
 			}
 		}
 
-		return msg;
+		return "";
 	}
 
-
 	/**
 	 * 기획전 상세 정보
 	 *
@@ -247,7 +248,7 @@ public class TsfPlanningService {
 		if (TsfSession.isLogin()) {
 			coupon.setCustNo(TsfSession.getInfo().getCustNo());
 		}
-		
+
 		return planningDao.getPlanCouponInfo(coupon);
 	}
 
@@ -262,7 +263,7 @@ public class TsfPlanningService {
 	public Collection<Plan> getPlanImageInfo(Plan plan) {
 		return planningDao.getPlanImageInfo(plan);
 	}
-	
+
 	/**
 	 * 기획전 템플릿 유의사항
 	 *
@@ -286,7 +287,7 @@ public class TsfPlanningService {
 	public Collection<Plan> getPlanGoodsDisplayList(Plan plan) {
 		return planningDao.getPlanGoodsDisplayList(plan);
 	}
-	
+
 	/**
 	 * 기획전 코너 리스트
 	 *
@@ -295,7 +296,7 @@ public class TsfPlanningService {
 	 * @author sowon
 	 * @date 2021. 3. 30
 	 */
-	public Collection<Plan> getPlanCornerList(Plan plan){
+	public Collection<Plan> getPlanCornerList(Plan plan) {
 		return planningDao.getPlanCornerList(plan);
 	}
 
@@ -334,7 +335,7 @@ public class TsfPlanningService {
 	public Collection<Plan> getPlanEventList(Plan plan) {
 		return planningDao.getPlanEventList(plan);
 	}
-	
+
 	/**
 	 * 총알배송 상단 html 소스 
 	 *
@@ -346,7 +347,7 @@ public class TsfPlanningService {
 	public Plan getShotDeliveryHtmlTop(Plan plan) {
 		return planningDao.getShotDeliveryHtmlTop(plan);
 	}
-	
+
 	/**
 	 * 총알배송 하단 html 소스 
 	 *
@@ -358,8 +359,7 @@ public class TsfPlanningService {
 	public Plan getShotDeliveryHtmlBtm(Plan plan) {
 		return planningDao.getShotDeliveryHtmlBtm(plan);
 	}
-	
-	
+
 	/**
 	 * 설문조사 정보
 	 *
@@ -371,7 +371,7 @@ public class TsfPlanningService {
 	public Poll getPollQuestionInfo(Plan plan) {
 		return planningDao.getPollQuestionInfo(plan);
 	}
-	
+
 	/**
 	 * 설문조사 질문내용
 	 *
@@ -383,7 +383,7 @@ public class TsfPlanningService {
 	public Collection<Poll> getPollQuestionList(Plan plan) {
 		return planningDao.getPollQuestionList(plan);
 	}
-	
+
 	/**
 	 * 설문조사 등록
 	 *
@@ -397,67 +397,67 @@ public class TsfPlanningService {
 		poll.setCustNo(TsfSession.getInfo().getCustNo());
 		// 단수형
 		int ansIndex = planningDao.getPollCustAnswerIndex();
-		if(poll.getPollQsq_10()!=null && poll.getPollQsq_10()!="") {
-			String[] pollQsq_10 =poll.getPollQsq_10().split("/");
+		if (poll.getPollQsq_10() != null && poll.getPollQsq_10() != "") {
+			String[] pollQsq_10 = poll.getPollQsq_10().split("/");
 			for (int i = 0; i < pollQsq_10.length; i++) {
 				String[] temp = pollQsq_10[i].split("-");
 				for (int j = 0; j < temp.length; j++) {
-					String pollQsq=temp[j].toString();
-					poll.setPollQsq(Integer.parseInt(pollQsq)); 
-					String dummy = temp[j+1].toString();        
-					poll.setDummy(dummy);                      
+					String pollQsq = temp[j].toString();
+					poll.setPollQsq(Integer.parseInt(pollQsq));
+					String dummy = temp[j + 1].toString();
+					poll.setDummy(dummy);
 					poll.setAnsIndex(ansIndex);
 					planningDao.savePollCustAnswer(poll);
 					j++;
 				}
 			}
 		}
-		
+
 		//복수형
-		if(poll.getPollQsq_20()!=null && poll.getPollQsq_20()!="") {
-			String[] pollQsq_20 =poll.getPollQsq_20().split("/");
+		if (poll.getPollQsq_20() != null && poll.getPollQsq_20() != "") {
+			String[] pollQsq_20 = poll.getPollQsq_20().split("/");
 			for (int i = 0; i < pollQsq_20.length; i++) {
 				String[] temp = pollQsq_20[i].split("-");
 				for (int j = 0; j < temp.length; j++) {
-					String pollQsq=temp[j].toString();
+					String pollQsq = temp[j].toString();
 					poll.setPollQsq(Integer.parseInt(pollQsq));
-					String dummy = temp[j+1].toString().replaceAll("[,]", "|");        
-					poll.setDummy(dummy);           
+					String dummy = temp[j + 1].toString().replaceAll("[,]", "|");
+					poll.setDummy(dummy);
 					poll.setAnsIndex(ansIndex);
 					planningDao.savePollCustAnswer(poll);
-					
+
 					j++;
 				}
 			}
 		}
-		
+
 		//단답형
-		if(poll.getPollQsq_30()!=null && poll.getPollQsq_30()!="") {
-			String[] pollQsq_30 =poll.getPollQsq_30().split("/");
+		if (poll.getPollQsq_30() != null && poll.getPollQsq_30() != "") {
+			String[] pollQsq_30 = poll.getPollQsq_30().split("/");
 			for (int i = 0; i < pollQsq_30.length; i++) {
 				String[] temp = pollQsq_30[i].split("-");
 				for (int j = 0; j < temp.length; j++) {
-					String pollQsq=temp[j].toString();
-					poll.setPollQsq(Integer.parseInt(pollQsq)); 
-					String dummy = temp[j+1].toString();        
-					poll.setDummy(dummy);   
+					String pollQsq = temp[j].toString();
+					poll.setPollQsq(Integer.parseInt(pollQsq));
+					String dummy = temp[j + 1].toString();
+					poll.setDummy(dummy);
 					poll.setAnsIndex(ansIndex);
 					planningDao.savePollCustAnswer(poll);
 					j++;
 				}
 			}
 		}
-		
+
 		//서룰형
-		if(poll.getPollQsq_40()!=null && poll.getPollQsq_40()!="") {
-			String[] pollQsq_40 =poll.getPollQsq_40().split("/");
+		if (poll.getPollQsq_40() != null && poll.getPollQsq_40() != "") {
+			String[] pollQsq_40 = poll.getPollQsq_40().split("/");
 			for (int i = 0; i < pollQsq_40.length; i++) {
 				String[] temp = pollQsq_40[i].split("-");
 				for (int j = 0; j < temp.length; j++) {
-					String pollQsq=temp[j].toString();
-					poll.setPollQsq(Integer.parseInt(pollQsq)); 
-					String dummy = temp[j+1].toString();        
-					poll.setDummy(dummy);       
+					String pollQsq = temp[j].toString();
+					poll.setPollQsq(Integer.parseInt(pollQsq));
+					String dummy = temp[j + 1].toString();
+					poll.setDummy(dummy);
 					poll.setAnsIndex(ansIndex);
 					planningDao.savePollCustAnswer(poll);
 					j++;
@@ -465,7 +465,7 @@ public class TsfPlanningService {
 			}
 		}
 	}
-	
+
 	/**
 	 * 설문조사 중복카운트
 	 *
@@ -477,7 +477,7 @@ public class TsfPlanningService {
 	public int getCustAnswerCount(Plan plan) {
 		return planningDao.getCustAnswerCount(plan);
 	}
-	
+
 	/**
 	 * 설문조사 중복카운트
 	 *
@@ -501,7 +501,7 @@ public class TsfPlanningService {
 	public CustDeliveryAddr getCustAddrInfo(CustDeliveryAddr addr) {
 		return planningDao.getCustAddrInfo(addr);
 	}
-	
+
 	/**
 	 * 총알배송 가능여부
 	 *
@@ -513,7 +513,7 @@ public class TsfPlanningService {
 	public CustDeliveryAddr getCustAddrShotConfirm(String recipZipcode) {
 		return planningDao.getCustAddrShotConfirm(recipZipcode);
 	}
-	
+
 	/**
 	 * 출석체크 달력 출력
 	 *
@@ -525,7 +525,7 @@ public class TsfPlanningService {
 	public Collection<Plan> getAttendMonth(Plan plan) {
 		return planningDao.getAttendMonth(plan);
 	}
-	
+
 	/**
 	 * 출석체크 
 	 *
@@ -555,7 +555,7 @@ public class TsfPlanningService {
 		plan.setCustNo(TsfSession.getInfo().getCustNo());
 		return planningDao.getAttendEntryCount(plan);
 	}
-	
+
 	/**
 	 * 고객이 출석한 일 리스트
 	 *
@@ -564,11 +564,11 @@ public class TsfPlanningService {
 	 * @author sowon
 	 * @date 2021. 4. 7
 	 */
-	public Collection<Plan> getCustAttendEntryList(Plan plan){
+	public Collection<Plan> getCustAttendEntryList(Plan plan) {
 		plan.setCustNo(TsfSession.getInfo().getCustNo());
 		return planningDao.getCustAttendEntryList(plan);
 	}
-	
+
 	/**
 	 * 출석체크 혜택 리스트
 	 *
@@ -577,7 +577,7 @@ public class TsfPlanningService {
 	 * @author sowon
 	 * @date 2021. 4. 14
 	 */
-	public Collection<Plan> getAttendBenefitList(Plan plan){
+	public Collection<Plan> getAttendBenefitList(Plan plan) {
 		plan.setFrontGb(TsfSession.getFrontGb());
 		return planningDao.getAttendBenefitList(plan);
 	}
@@ -590,11 +590,10 @@ public class TsfPlanningService {
 	 * @author sowon
 	 * @date 2021. 4. 8
 	 */
-	public Collection<Plan> getReplyList(Plan plan){
+	public Collection<Plan> getReplyList(Plan plan) {
 		return planningDao.getReplyList(plan);
 	}
 
-
 	/**
 	 * 기획전/이벤트 댓글,이미지 저장
 	 *
@@ -608,10 +607,10 @@ public class TsfPlanningService {
 		int custNo = TsfSession.getInfo().getCustNo();
 		plan.setCustNo(custNo);
 		planningDao.saveEntryReply(plan);
-		
+
 		//이미지등록
 		Plan filePlan = new Plan();
-		if(!StringUtils.isAllEmpty(plan.getMultiReplySysFile())) {
+		if (!StringUtils.isAllEmpty(plan.getMultiReplySysFile())) {
 			filePlan.setRegNo(custNo);
 			filePlan.setPlanEntrySq(plan.getPlanEntrySq());
 			//파일아이템 등록
@@ -642,7 +641,7 @@ public class TsfPlanningService {
 			}
 		}
 	}
-	
+
 	/**
 	 * 기획전/이벤트 댓글 카운트
 	 *
@@ -654,7 +653,7 @@ public class TsfPlanningService {
 	public int getEntryReplyCount(Plan plan) {
 		return planningDao.getEntryReplyCount(plan);
 	}
-	
+
 	/**
 	 * 기획전/이벤트 댓글, 이미지 삭제
 	 *
@@ -668,7 +667,7 @@ public class TsfPlanningService {
 		planningDao.deleteEntryReply(plan);
 		planningDao.deleteEntryReplyAttach(plan);
 	}
-	
+
 	/**
 	 * 기획전/이벤트 댓글 이미지 리스트
 	 *
@@ -677,10 +676,9 @@ public class TsfPlanningService {
 	 * @author sowon
 	 * @date 2021. 4. 8
 	 */
-	public Collection<Plan> getEntryReplyAttachList(Plan plan){
+	public Collection<Plan> getEntryReplyAttachList(Plan plan) {
 		return planningDao.getEntryReplyAttachList(plan);
 	}
-	
 
 	/**
 	 * 총알배송 planSq 
@@ -693,7 +691,7 @@ public class TsfPlanningService {
 	public Integer getShotPlanSq(Plan plan) {
 		return planningDao.getShotPlanSq(plan);
 	}
-	
+
 	/**
 	 * 기획전 컨텐츠 정보 
 	 *
@@ -702,22 +700,22 @@ public class TsfPlanningService {
 	 * @author sowon
 	 * @date 2021. 6. 3
 	 */
-	 public Collection<Plan> getPlanContentInfo(Plan plan) {
-		 return planningDao.getPlanContentInfo(plan);
-	 }
-	 
-	 /**
-	 * 총알배송 브랜드 리스트 
-	 *
-	 * @param 
-	 * @return
-	 * @author sowon
-	 * @date 2021. 6. 29
-	 */
-	public Collection<Plan> getShotBrandList(){
+	public Collection<Plan> getPlanContentInfo(Plan plan) {
+		return planningDao.getPlanContentInfo(plan);
+	}
+
+	/**
+	* 총알배송 브랜드 리스트 
+	*
+	* @param 
+	* @return
+	* @author sowon
+	* @date 2021. 6. 29
+	*/
+	public Collection<Plan> getShotBrandList() {
 		return planningDao.getShotBrandList();
 	}
-	
+
 	/**
 	 * 총알배송 브랜드 상품 리스트 
 	 *
@@ -726,8 +724,8 @@ public class TsfPlanningService {
 	 * @author sowon
 	 * @date 2021. 6. 29
 	 */
-	public Collection<Plan> getShotDeliveryGoodsList(Plan plan){
+	public Collection<Plan> getShotDeliveryGoodsList(Plan plan) {
 		return planningDao.getShotDeliveryGoodsList(plan);
 	}
-	
+
 }

+ 2 - 2
src/main/java/com/style24/front/biz/web/TsfDisplayController.java

@@ -47,6 +47,7 @@ import com.style24.persistence.domain.Lookbook;
 import com.style24.persistence.domain.MainLayout;
 import com.style24.persistence.domain.Plan;
 import com.style24.persistence.domain.Popup;
+import com.style24.persistence.domain.SearchKeyword;
 import com.style24.persistence.domain.Social;
 import com.style24.persistence.domain.eigene.Eigeneai.Result;
 import com.style24.persistence.domain.searchengine.AutoCompleteResponse;
@@ -54,7 +55,6 @@ import com.style24.persistence.domain.searchengine.Filter;
 import com.style24.persistence.domain.searchengine.GoodsListResponse;
 import com.style24.persistence.domain.searchengine.PlanningResponse;
 import com.style24.persistence.domain.searchengine.SearchEngine;
-import com.style24.persistence.domain.SearchKeyword;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -933,7 +933,7 @@ public class TsfDisplayController extends TsfBaseController {
 		mav.addObject("preview", cate.getPreview());
 		mav.addObject("viewDt", cate.getViewDt());
 		mav.addObject("viewPage", "G037_32");
-		mav.addObject("popupCateNo", cate.getCate1No());
+		//mav.addObject("popupCateNo", cate.getCate1No());
 
 		mav.addObject("params", cate);
 

+ 27 - 0
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -433,7 +433,20 @@ public class TsfOrderController extends TsfBaseController {
 			}
 		}
 		
+		// 2021.07.06 회원일때 개인통관부호 정보 설정
+		String entryNo = "";
+		if (TsfSession.isLogin()) {
+			Order vo = new Order();
+			order.setCustNo(TsfSession.getInfo().getCustNo());
+			vo = coreOrderService.getEntryNo(order);
+			
+			if (vo != null && vo.getEntryNo() != null) {
+				entryNo = vo.getEntryNo();
+			}
+		}
+		
 		ModelAndView mav = new ModelAndView();
+		mav.addObject("entryNo"				, entryNo);									// 개인통관부호
 		mav.addObject("deliveryAddrInfo"	, deliveryAddrInfo);						// 배송지정보
 		mav.addObject("order"				, order);									// 파라미터
 		mav.addObject("isLogin"				, TsfSession.isLogin());					// 로그인여부
@@ -459,6 +472,20 @@ public class TsfOrderController extends TsfBaseController {
 	@PostMapping("/entryInfo")
 	public ModelAndView entryInfo(@RequestBody Order order) {
 		ModelAndView mav = new ModelAndView();
+		
+		// 2021.07.06 회원일때 개인통관부호 정보 설정
+		String entryNo = "";
+		if (TsfSession.isLogin()) {
+			order.setCustNo(TsfSession.getInfo().getCustNo());
+			Order vo = new Order();
+			vo = coreOrderService.getEntryNo(order);
+			
+			if (vo != null && vo.getEntryNo() != null) {
+				entryNo = vo.getEntryNo();
+			}
+		}
+		
+		mav.addObject("entryNo"				, entryNo);									// 개인통관부호
 		mav.addObject("order"				, order);									// 파라미터
 		mav.addObject("isLogin"				, TsfSession.isLogin());					// 로그인여부
 		mav.setViewName(super.getDeviceViewName("order/OrderEntryInfo"));

+ 15 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfPlanning.xml

@@ -353,6 +353,21 @@
 		</if>
 	</select>
 	
+	<!-- 유효한 기획전 여부 조회 -->
+	<select id="getAvailPlanningYn" parameterType="Plan" resultType="String">
+		/* TsfPlanning.getDeviceAccessibleYn */
+		SELECT CASE WHEN IFNULL((SELECT COUNT(*)
+		                         FROM   TB_PLAN
+		                         WHERE  PLAN_SQ = #{planSq}
+		                         AND    NOW() BETWEEN DISP_STDT AND DISP_EDDT
+		                         AND    DEL_YN = 'N'
+		                         AND    OPEN_YN = 'Y'
+		                        ),0) > 0 THEN 'Y'
+		            ELSE 'N'
+		       END
+		FROM   DUAL
+	</select>
+	
 	<!-- 디바이스접근가능여부 조회 -->
 	<select id="getDeviceAccessibleYn" parameterType="Plan" resultType="String">
 		/* TsfPlanning.getDeviceAccessibleYn */

+ 0 - 0
src/main/webapp/WEB-INF/lib/Istyle.jar → src/main/webapp/WEB-INF/lib/Istyle-1.3.jar


+ 4 - 0
src/main/webapp/WEB-INF/views/mob/display/BrandLookbookMainFormMob.html

@@ -97,6 +97,10 @@
 				}else{
 					$("#divLastPage").show();
 				}
+			}else{
+				if($("#lbMainForm input[name=pageNo]").val()==1){
+					$("#divLookbookNoData").show();
+				}
 			}
 
 			gagaInfiniteScroll.draw('not');

+ 11 - 1
src/main/webapp/WEB-INF/views/mob/display/LookbookMainFormMob.html

@@ -48,7 +48,7 @@
 						<div>
 							<p>등록된 룩북이 없습니다.</p>
 						</div>
-						<button type="button" class="btn btn_default" th:unless="${lbInfo.lookbookGb=='BL'}" onclick="cfnGoToPage(_PAGE_MAIN);"><span>메인으로 가기</span></button>
+						<button type="button" class="btn btn_default" th:unless="${lbInfo.lookbookGb=='BL'}" onclick="cfnGoToPage(_PAGE_MAIN);"><span>으로 가기</span></button>
 						<button type="button" class="btn btn_default" th:if="${lbInfo.lookbookGb=='BL'}" th:onclick="cfnGoToBrandMain([[${lbInfo.brandCd}]]);"><span th:text="${brandGroupInfo.brandGroupNm+' 홈으로 가기'}"><span>메인으로 가기</span></button>
 					</div>
 					<div class="lookbookGrp">
@@ -135,6 +135,8 @@
 	}
 
 	var fnDrawInfiniteScrollData = function (result){
+		$("#filterChkArea").show();
+		$("#filter").show();
 		totalCnt = result.paging.totalCount;
 		$("#lookbookTotCnt").text(totalCnt);
 		$("#lbMainForm").find("input[name=totalCnt]").val(totalCnt);
@@ -151,9 +153,17 @@
 			if(totalCnt > Number($("#lbMainForm").find("input[name=pageSize]").val())){
 				if($("#lbMainForm input[name=pageNo]").val()==1){
 					$("#divLookbookNoData").show();
+					$("#filterChkArea").hide();
+					$("#filter").hide();
 				}else{
 					$("#divLastPage").show();
 				}
+			}else{
+				if($("#lbMainForm input[name=pageNo]").val()==1){
+					$("#divLookbookNoData").show();
+					$("#filterChkArea").hide();
+					$("#filter").hide();
+				}
 			}
 
 			gagaInfiniteScroll.draw('not');

+ 7 - 7
src/main/webapp/WEB-INF/views/mob/order/OrderEntryInfoMob.html

@@ -17,12 +17,12 @@
  <!-- 개인통관부호 정보 -->
 <div class="foldGroup">
 	<ul>
-		<li>
+		<li class="fold_overseas">
 			<div class="fold_head">
 				<a href="javascript:void(0)">
 					<div>
 						<div class="fold_tit"><span>개인통관고유부호</span></div>
-						<div class="data"><span></span></div>
+						<div class="data"><span class="entryNo" th:text="${entryNo}"></span></div>
 					</div>
 				</a>
 			</div>
@@ -33,16 +33,16 @@
 					</div>
 					<div class="form_field">
 						<div>
-							<input type="radio" name="rdi-overseas" id="rdi-overs1" value="Y"> 
+							<input type="radio" name="rdi-overseas" id="rdi-overs1" value="Y" checked> 
 							<label for="rdi-overs1"><span>받는사람 개인통관고유부호</span></label>
 						</div>
 						<div>
-							<input type="radio" name="rdi-overseas" id="rdi-overs2" value="N" checked> 
+							<input type="radio" name="rdi-overseas" id="rdi-overs2" value="N"> 
 							<label for="rdi-overs2"><span>입력 안 함</span></label>
 						</div>
-						<div class="info_box overs1" style="display:none;">
+						<div class="info_box overs1">
 							<div class="input_wrap">
-								<input type="text" name="entryNo" class="form_control" maxlength="13" placeholder="P로 시작하는 13자리">
+								<input type="text" name="entryNo" class="form_control" maxlength="13" placeholder="P로 시작하는 13자리" th:value="${entryNo}">
 								<!-- 유효하지 않은 개인통관고유부호 일때 class명 'err' 추가 -->
 							</div>
 							<div class="t_err" style="display:none;">개인통관고유부호가 유효하지 않습니다.</div>
@@ -54,7 +54,7 @@
 								</label>
 							</div>
 							<div class="btn_group btn_group_flex">
-								<div><button type="button" class="btn btn_dark">입력완료</button></div>
+								<div><button type="button" class="btn btn_dark btn_entryNo">입력완료</button></div>
 							</div>
 						</div>
 						<div class="info_box overs2" style="display: none;">

+ 50 - 18
src/main/webapp/WEB-INF/views/mob/order/OrderFormMob.html

@@ -164,8 +164,8 @@
 
 <!-- 주문고객정보 -->
 <form id="orderForm" name="orderForm">
-<main role="" id="" class="container od">
-	<section class="content odPayment od_gift">
+<main role="" id="" class="container od od_gift">
+	<section class="content odPayment">
 		<form action="" class="form_wrap">
 			<!-- 주문내역 -->
 			<div class="inner wide" id="orderListInfo"  style="display:none"></div>
@@ -452,6 +452,11 @@ $(document).ready( function() {
 	
 	// 1. AJAX 정보(회원정보로드)
 	custemerInfoSet();
+	
+	// 2021.07.06
+	if (giftPackYn == "N") {
+		$("#orderForm .container").removeClass("od_gift");
+	}
 });
 
 window.onpageshow = function(event){
@@ -525,6 +530,29 @@ var entryInfoSet = function() {
 		success 	: function(result) {
 			$("#entryInfo").css("display", "block");
 			$("#entryInfo").html(result);
+			
+			// 2021.07.06 값이 있으면 체크박스 활성화
+			if ($("#orderForm input[name=entryNo]").val() != "") {
+				if ($("#orderForm #chk-overs-agr").is(":checked") == false) {
+					$("#orderForm #chk-overs-agr").trigger("click");
+				}
+			}
+			
+			// 2021.07.06 개인통관부호 입력완료
+			$(".btn_entryNo").on("click", function(){
+				if ($("#orderForm input[name=entryNo]").val().length > 0 && $("#orderForm input[name=entryNo]").val().length < 13) {
+					$("#orderForm .t_err").show();
+					$("#orderForm input[name=entryNo]").addClass("err");
+					mcxDialog.alert("통관부호가 유효하지 않습니다. 다시 입력해주세요.");
+					return false;
+				} else {
+					$("#orderForm .entryNo").text($("#orderForm input[name=entryNo]").val());
+					$("#orderForm input[name=entryNo]").removeClass("err");
+					$("#orderForm .t_err").hide();
+					mcxDialog.alert("통관부호가 정상입력되었습니다.");
+					return false;
+				}
+			});
 		}
 	});
 }
@@ -544,12 +572,6 @@ var madeInfoSet = function() {
 		success 	: function(result) {
 			$("#madeInfo").css("display", "block");
 			$("#madeInfo").html(result);
-			
-			// 2021.07.05 체크박스 동작 일치
-			// 주문제작상품동의
-			$("#chk-custom").on("click", function(){
-				
-			});
 		}
 	});
 }
@@ -1415,10 +1437,20 @@ var dcAmtInfoSet = function() {
 						// 1.8.2 쿠폰적용초기화(할인율최고)(상품,장바구니)
 						custGoodsCpnInit();
 						
+						var custCpnCnt 		= parseInt($("#orderForm input[name=custCpnCnt]").val());
+						var custDelvCpnCnt 	= parseInt($("#orderForm input[name=custDelvCpnCnt]").val());
+						var applyCpnCnt 	= custCpnCnt + custDelvCpnCnt;
+						
+						// 2021.04.23 보유쿠폰이 없을때 적용
+						if (applyCpnCnt < 1) {
+							if ($("#orderForm #chk-maxdisc").is(":checked")) {
+								$("#orderForm #chk-maxdisc").trigger("click");
+							}
+						}
+						
 						// 상품쿠폰, 장바구니쿠폰 팝업 열기
 						$("#btn_couponModify_pop").on("click", function(){
 							// 2021.04.23 보유쿠폰이 없을때 적용
-							var custCpnCnt = parseInt($("#orderForm input[name=custCpnCnt]").val());
 							if (custCpnCnt < 1) {
 								mcxDialog.alert("적용 가능한 쿠폰이 없습니다.");
 								return false;
@@ -1464,12 +1496,9 @@ var dcAmtInfoSet = function() {
 						});
 						
 						// 1.8.5 쿠폰 최대할인금액 초기화 버튼 설정
-						$("#chk-maxdisc").on("click", function(){
+						$("#orderForm #chk-maxdisc").on("click", function(){
 							// 2021.04.23 보유쿠폰이 없을때 적용
-							var custCpnCnt 		= parseInt($("#orderForm input[name=custCpnCnt]").val());
-							var custDelvCpnCnt 	= parseInt($("#orderForm input[name=custDelvCpnCnt]").val());
-							
-							if ((custCpnCnt + custDelvCpnCnt) < 1) {
+							if (applyCpnCnt < 1) {
 								mcxDialog.alert("적용 가능한 쿠폰이 없습니다.");
 								return false;
 							}
@@ -1483,8 +1512,6 @@ var dcAmtInfoSet = function() {
 								
 								// 배송비쿠폰 초기환
 								custDelvCpnInit();
-							} else {
-								
 							}
 						});
 					}
@@ -1561,7 +1588,7 @@ var dcAmtInfoSet = function() {
 					
 					// 결제금액을 초과 할 수 없습니다.
 					if (pntDcAmt > realOrdAmt) {
-						mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
+						mcxDialog.alert("입력하신 포인트가 보유한 포인트보다 많습니다.");
 						// 포인트리셋기능
 						pntDcAmtReset();
 						return false;
@@ -1785,6 +1812,11 @@ var custDelvCpnInit = function() {
 		$(this).on("click", function(){
 			// 쿠폰적용
 			custCpnApply($(this), index, "delvCpn");
+			
+			// 최대할인혜택적용 체크해제
+			if ($("#chk-maxdisc").is(":checked")) {
+				$("#chk-maxdisc").trigger("click");
+			}
 		});
 	});
 }
@@ -2246,7 +2278,7 @@ var custCpnSumAmtCal = function() {
 	
 	// 전체쿠폰 할인 금액 합계 적용
 	$(".maxdisc_amount .cpnDcAmt").text(getZeroMinusDelAmt(cpnDcSumAmt)); // 쿠폰할인금액합계
-	$("#couponDcSumAmt").text(getZeroMinusDelAmt(cpnDcSumAmt)); // 쿠폰할인금액합계
+	$("#couponDcSumAmt").text(getZeroMinusDelAmt(goodsCartCpnSumAmt)); // 쿠폰할인금액합계
 
 	$("#orderAmtForm .cpnDcSumAmt").text(cpnDcSumAmt);
 	

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/order/OrderFreegiftInfoMob.html

@@ -100,7 +100,7 @@
 								<input id="chk-agree_gift" type="checkbox">
 								<label for="chk-agree_gift"><span>동의합니다</span></label>
 							</p>
-							<p class="txt">사은품 지에 대한 내용을 확인하였으며, 이에 동의합니다.</p>
+							<p class="txt">사은품 지에 대한 내용을 확인하였으며, 이에 동의합니다.</p>
 							<button type="button" class="btn_link_popup" id="btn_infoGift_btn">
 								<span>보기</span>
 							</button>

+ 5 - 2
src/main/webapp/WEB-INF/views/web/callcenter/FaqFormWeb.html

@@ -168,7 +168,7 @@
 		// Load data
 		gagaPaging.load(1);
 	}
-	
+	var idx = 1;
 	var fnGetListCallback = function(result) {
 		$('#ulFaq').html('');
 
@@ -195,12 +195,15 @@
 				$('#ulFaq').append(tag);
 			});
 			$('#divFaq').removeClass('nodata');
+			if(idx>1){
+				document.getElementById('faqForm').scrollIntoView();
+			}
+			idx++;
 		} else {
 			let tag = '<li>내역이 없습니다.</li>\n';
 			$('#ulFaq').append(tag);
 			$('#divFaq').addClass('nodata');
 		}
-
 		// Create pagination
 		gagaPaging.createPagination(result.paging.pageable);
 	}

+ 6 - 1
src/main/webapp/WEB-INF/views/web/callcenter/GoodsQnaFormWeb.html

@@ -125,7 +125,8 @@
         }
         return tag[0];
     }
-	
+
+	var idx = 1;
 	var fnGetListCallback = function(result) {
 		$('#ulQna').html('');
 
@@ -170,6 +171,10 @@
 				
 				$('#ulQna').append(tag);
 				$('#divQna').removeClass('nodata');
+				if(idx>1){
+					document.getElementById('callcenterLnb').scrollIntoView();
+				}
+				idx++;
 			});
 		} else {
 			let tag = '<li>내역이 없습니다.</li>\n';

+ 5 - 1
src/main/webapp/WEB-INF/views/web/callcenter/NoticeFormWeb.html

@@ -92,7 +92,7 @@
 
 
 
-	
+	var idx = 1;
 	var fnGetListCallback = function(result) {
 		$('#ulNotice').html('');
 
@@ -136,6 +136,10 @@
 			});
 			
 			$('#divNotice').removeClass('nodata');
+			if(idx>1){
+				document.getElementById('callcenterLnb').scrollIntoView();
+			}
+			idx++;
 		} else {
 // 			let tag = '<li>등록된 공지사항이 없습니다.</li>\n';
 // 			$('#ulNotice').html(tag);

+ 6 - 1
src/main/webapp/WEB-INF/views/web/callcenter/OneToOneQnaFormWeb.html

@@ -178,7 +178,8 @@
         }
         return tag;
     }
-	
+
+    var idx = 1;
 	var fnGetListCallback = function(result) {
 		$('#ulQna').html('');
 
@@ -244,6 +245,10 @@
 			});
 			
 			$('#divQna').removeClass('nodata');
+			if(idx>1){
+				document.getElementById('callcenterLnb').scrollIntoView();
+			}
+			idx++;
 		} else {
 			let tag = '<li>내역이 없습니다.</li>\n';
 			$('#ulQna').append(tag);

+ 4 - 0
src/main/webapp/WEB-INF/views/web/display/BrandLookbookMainFormWeb.html

@@ -143,6 +143,10 @@
 				}else{
 					$("#divLastPage").show();
 				}
+			}else{
+				if($("#lbMainForm input[name=pageNo]").val()==1){
+					$("#divLookbookNoData").show();
+				}
 			}
 
 			gagaInfiniteScroll.draw('not');

+ 7 - 0
src/main/webapp/WEB-INF/views/web/display/LookbookMainFormWeb.html

@@ -124,6 +124,7 @@
 	}
 
 	var fnDrawInfiniteScrollData = function (result){
+		$("#brandBox").show();
 		totalCnt = result.paging.totalCount;
 		$("#lookbookTotCnt").text(totalCnt);
 		$("#lbMainForm").find("input[name=totalCnt]").val(totalCnt);
@@ -140,9 +141,15 @@
 			if(totalCnt > Number($("#lbMainForm").find("input[name=pageSize]").val())){
 				if($("#lbMainForm input[name=pageNo]").val()==1){
 					$("#divLookbookNoData").show();
+					$("#brandBox").hide();
 				}else{
 					$("#divLastPage").show();
 				}
+			}else{
+				if($("#lbMainForm input[name=pageNo]").val()==1){
+					$("#divLookbookNoData").show();
+					$("#brandBox").hide();
+				}
 			}
 
 			gagaInfiniteScroll.draw('not');

+ 1 - 1
src/main/webapp/WEB-INF/views/web/order/OrderDeliveryAddrInfoWeb.html

@@ -120,7 +120,7 @@
 							</div>
 							<div class="info_box overs1">
 								<div class="input_wrap">
-									<input type="text" name="entryNo" class="form_control" maxlength="13" placeholder="P로 시작하는 13자리">
+									<input type="text" name="entryNo" class="form_control" maxlength="13" placeholder="P로 시작하는 13자리" th:value=${entryNo}>
 									<!-- 유효하지 않은 개인통관고유부호 일때 class명 'err' 추가 -->
 								</div>
 								<div class="t_err" style="display:none;">개인통관고유부호가 유효하지 않습니다.</div>

+ 29 - 7
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

@@ -666,6 +666,13 @@ var deliveryAddrInfoSet = function(delvObj, temp) {
 				
 				return false;
 			});
+			
+			// 2021.07.06 값이 있으면 체크박스 활성화
+			if ($("#orderForm input[name=entryNo]").val() != "") {
+				if ($("#orderForm #chk-overs-agr").is(":checked") == false) {
+					$("#orderForm #chk-overs-agr").trigger("click");
+				}
+			}
 
 			// 1.3 총알배송가능 지역, 총알배송 가능 시간 체크(초기로드정보)
 			fnGetDailyDeliveryCheck(temp);
@@ -931,8 +938,8 @@ var paymentInfoSet = function() {
 				
 				// 2021.07.05 결제타입초기값 체크
 				if ($(".payTypeNm").text() != "선택없음") {
-					if ($("#chk-agree_paymethod123").is(":checked") == false) {
-						$("#chk-agree_paymethod123").trigger("click");
+					if ($("#chk-agree_paymethod").is(":checked") == false) {
+						$("#chk-agree_paymethod").trigger("click");
 					}
 				}
 				
@@ -1360,6 +1367,17 @@ var dcAmtInfoSet = function() {
 						// 1.8.3 쿠폰적용초기화(할인율최고)(배송비)
 						custDelvCpnInit();
 						
+						var custCpnCnt 		= parseInt($("#orderForm input[name=custCpnCnt]").val());
+						var custDelvCpnCnt 	= parseInt($("#orderForm input[name=custDelvCpnCnt]").val());
+						var applyCpnCnt 	= custCpnCnt + custDelvCpnCnt;
+						
+						// 2021.04.23 보유쿠폰이 없을때 적용
+						if (applyCpnCnt < 1) {
+							if ($("#orderForm #chk-maxdisc").is(":checked")) {
+								$("#orderForm #chk-maxdisc").trigger("click");
+							}
+						}
+						
 						// 1.8.4 쿠폰적용버튼
 						$("#btn_coupon_apply").on("click", function(){
 							
@@ -1386,9 +1404,7 @@ var dcAmtInfoSet = function() {
 						// 1.8.5 쿠폰 최대할인금액 초기화 버튼 설정
 						$("#chk-maxdisc").on("click", function(){
 							// 2021.04.23 보유쿠폰이 없을때 적용
-							var custCpnCnt 		= parseInt($("#orderForm input[name=custCpnCnt]").val());
-							var custDelvCpnCnt 	= parseInt($("#orderForm input[name=custDelvCpnCnt]").val());
-							if ((custCpnCnt + custDelvCpnCnt) < 1) {
+							if (applyCpnCnt < 1) {
 								mcxDialog.alert("적용 가능한 쿠폰이 없습니다.");
 								return false;
 							}
@@ -1432,6 +1448,7 @@ var dcAmtInfoSet = function() {
 					var applyPntDcAmt 		= (realOrdAmt * pointUseMaxLimit) / 100;
 					
 					rmPntAmt				= rmPntAmt - freegiftUsePnt;
+
 					
 					if (gagajf.isNull($("#orderForm input[name=pntDcAmtStr]").val())) {
 						mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
@@ -1457,7 +1474,7 @@ var dcAmtInfoSet = function() {
 					
 					// 결제금액을 초과 할 수 없습니다.
 					if (pntDcAmt > realOrdAmt) {
-						mcxDialog.alert("포인트를 입력하신 후 다시 시도해주세요.");
+						mcxDialog.alert("입력하신 포인트가 보유한 포인트보다 많습니다.");
 						// 포인트리셋기능
 						pntDcAmtReset();
 						return false;
@@ -1669,6 +1686,11 @@ var custDelvCpnInit = function() {
 		$(this).on("click", function(){
 			// 쿠폰적용
 			custCpnApply($(this));
+			
+			// 최대할인혜택적용 체크해제
+			if ($("#chk-maxdisc").is(":checked")) {
+				$("#chk-maxdisc").trigger("click");
+			}
 		});
 	});
 }
@@ -2121,7 +2143,7 @@ var custCpnSumAmtCal = function() {
 	
 	// 전체쿠폰 할인 금액 합계 적용
 	$(".maxdisc_amount .cpnDcAmt").text(getZeroMinusDelAmt(cpnDcSumAmt)); // 쿠폰할인금액합계
-	$("#couponDcSumAmt").text(getZeroMinusDelAmt(cpnDcSumAmt)+ " 원"); // 쿠폰할인금액합계
+	$("#couponDcSumAmt").text(getZeroMinusDelAmt(goodsCartCpnSumAmt)+ " 원"); // 쿠폰할인금액합계
 
 	$("#orderAmtForm .cpnDcSumAmt").text(cpnDcSumAmt);
 	

+ 1 - 1
src/main/webapp/WEB-INF/views/web/order/OrderFreegiftInfoWeb.html

@@ -95,7 +95,7 @@
 					<input id="chk-agree_gift" type="checkbox"><label for="chk-agree_gift"><span>동의합니다</span></label>
 				</p>
 				<p class="txt">
-					사은품 지에 대한 내용을 확인하였으며, 이에 동의합니다.
+					사은품 지에 대한 내용을 확인하였으며, 이에 동의합니다.
 					<button type="button" class="btn_underline" id="btn_infoGift_pop">
 						<span>보기</span>
 					</button>

+ 6 - 6
src/main/webapp/ux/mo/css/layout_m.css

@@ -2310,8 +2310,8 @@
 /* br 공통*/
 .br .br_main .inner{padding-bottom:4rem;}
 .br .br_main .inner:last-child{padding-bottom:6rem;}
-.br .br_main .inner .swiper-container {margin-bottom: -2rem;}
-.br .br_subtitle{margin-bottom: 2.4rem; font-size: 2.1rem; font-weight: 500; text-align: center;}
+.br .br_main .inner .swiper-container {}
+.br .br_subtitle{margin-bottom: 2.4rem; padding-top: 2rem; font-size: 2.1rem; font-weight: 500; text-align: center;}
 .br .br_main .item_prod {width:100%;}
 .br .br_main .itemsGrp{font-size:0;}
 .br .br_main .itemsGrp .item_prod:nth-child(2n){margin-right: 0;}
@@ -2337,8 +2337,8 @@
 .br .br_main .submain_visual .txtWrap.w {color: #fff;}
 .br .br_main .submain_visual .txtWrap p {font-size: 3rem; font-weight: 500; line-height: 1.2; display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical; overflow:hidden;}
 .br .br_main .submain_visual .txtWrap p.txt_xs {font-size: 1.4rem; margin-top: 1.6rem; font-weight: 300; -webkit-line-clamp: 1;}
-.br .br_main .br_top_info{position:relative; margin-top:-1rem; padding-top: 2rem;}
-.br .br_main .br_top_info .br_subtitle{text-align:left;}
+.br .br_main .br_top_info{position:relative; margin-top:-1rem; padding-top: 0;}
+.br .br_main .br_top_info .br_subtitle{text-align:left; padding-top: 0;}
 .br .br_main .br_top_info > p:nth-of-type(1){margin-bottom:1.6rem; font-weight:600;}
 .br .br_main .br_top_info > p:nth-of-type(2){margin-bottom:1.2rem; color:#222; font-weight:500; line-height:2rem;}
 .br .br_main .br_top_info > p:last-of-type {font-size: 1.2rem;}
@@ -2375,7 +2375,7 @@
 .br .br_main .special_shop .swiper-slide .sp_item .sp_item .itemsGrp.rowtype .item_prod .itemLike {right:auto; left:13rem; z-index: 99;}
 .br .br_main .special_shop .swiper-slide .sp_item .sp_item .itemsGrp.rowtype .item_prod .itemPic {position: absolute; top: 0; left: 0; margin-bottom: 0; padding-top: 0; width:7rem; height:10.5rem;}
 /* br_main - 룩북 */
-.br .br_main .br_lookbook{margin-top:2rem; background-color:#fff;}
+.br .br_main .br_lookbook{background-color:#fff;}
 /* br_main - 유튜브 */
 .br .br_main .youtube{position:relative; padding:4rem 2rem; margin:0 auto; background-color:#444444; }
 .br .br_main .youtube .br_subtitle{color:#fff;}
@@ -2383,7 +2383,7 @@
 .br .br_main .br_youtube_slide .movbox iframe{position:absolute; top:0; left:0; width:100%; height:100%;}
 .br .br_main .br_youtube_slide .swiper-pagination{position:relative; margin-top:3rem;}
 /* br_main - brand_product */
-.br .br_main .brand_product{margin-top:2rem;}
+.br .br_main .brand_product{}
 .br .br_main .brand_product .swiper-container{overflow:visible;}
 .br .br_main .brand_product .btn:after{content: ''; display: inline-block; margin-left: 0.8rem; width: 1.1rem; height: 1.1rem; background-position: center center; background-repeat: no-repeat; background-size: contain; background-image: url(/images/mo/ico_more_lg.png);}
 /* 브랜드 - 룩북 */

+ 8 - 7
src/main/webapp/ux/mo/css/style24_m.css

@@ -319,7 +319,7 @@
 .main_stylereport img {width: 100%;height: auto;object-fit: cover;}
 .main_stylereport dl {padding:0 1.0rem;}
 .main_stylereport dt {font-size: 1.6rem;font-weight:400;margin: 1.4rem 0 0.4rem 0; display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical; overflow:hidden; line-height: 1.2;}
-.main_stylereport dd {font-size: 1.3rem;font-weight:200;line-height: 2.0rem;display: inline-block; display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 1;-webkit-box-orient: vertical; overflow:hidden;}
+.main_stylereport dd {font-size: 1.3rem;font-weight:200;line-height: 2.0rem;display: inline-block; display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical; overflow:hidden;}
 .post-stylereport {overflow: visible;display: block;height: auto;}
 .post-stylereport .swiper-pagination{bottom: -5.5rem;}
 
@@ -331,8 +331,9 @@
 .main_trendy .cont_body dd {font-size: 1.6rem;font-weight:200;padding:1rem 0 0;}
 .main_trendy .item_state {padding-bottom: 0;}
 .main_trendy .titWrap {padding:4rem 0 2rem;}
-.main_trendy .post-trendy {position: relative; display: block;padding: 0 0vw 4.8vw;}
-.main_trendy .post-trendy .swiper-slide {overflow: hidden;margin: 0 0vw;}
+.main_trendy .post-trendy {position: relative; display: block;padding: 0 0 4rem;}
+.main_trendy .post-trendy .swiper-slide {overflow: hidden;margin: 0 0;}
+.main_trendy .post-trendy .swiper-pagination {bottom: 2rem;}
 .main_trendy .item_prod {width: 49.4%;margin-bottom: 3.6rem;margin-right: 0rem;position: relative;padding: 0 0.7vw;box-sizing: border-box;vertical-align: top;display: inline-block;}
 .main_trendy .item_prod:nth-child(odd) {padding-left: 0;}
 .main_trendy .item_prod:nth-child(even) {padding-right: 0;}
@@ -419,14 +420,14 @@
 .main_pick .pick-post .item_prod .itemName{width: calc(100% - 9rem);top: 1.5rem;margin: 0 8rem 0.8rem;}
 .main_pick .pick-post .item_prod .itemPrice{margin: 0 8rem 0.8rem;top:1.5rem;}
 
-.main_1stage {padding: 2rem 0 0rem 0;}
+.main_1stage {padding: 2rem 0 0;}
 .main_1stage .bnnbox{position: relative; /*height:11.3rem;*/ overflow:hidden; padding-top: 35%;}
 .main_1stage .txtWrap{width: 18.5rem; margin: 0 auto; position: absolute; top: 50%; left: 2rem; transform:translate(0%, -50%); z-index: 1;}
 .main_1stage .txtWrap p{display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden; font-size: 1.8rem;font-weight: 500;letter-spacing: -0.025em;text-align: left;line-height: 1.2;color: #222222;padding-bottom:1.0rem;}
 .main_1stage .txtWrap p:last-child {padding-bottom:0;}
 .main_1stage img {position: absolute; top: 50%; left:50%; transform:translate(-60%, -50%); max-width:none; width:auto; height:100%;}
 
-.post-bnnWide {position: relative;top:0rem;display: block;margin: 0 0 3.4rem;}
+.post-bnnWide {position: relative;top:0rem;display: block;margin: 0 0;}
 .post-bnnWide .swiper-wrapper {width: 100%;height: 100%;height: auto;margin: 0 auto;padding: 0 0 2.5rem;}
 .post-bnnWide .swiper-pagination {bottom: 0rem !important;}
 
@@ -1310,7 +1311,7 @@ main.container .inner h2[data-style~="unusual"] {font-size:2.0rem;top: 0;positio
 
 .icon_tag {display:inline-block;}
 .icon_tag::after {content:''; clear:both; display:inline-block; font-weight:300;}
-.icon_tag [class*="tag_"] {float:left; display:inline-block; height:1.7rem; box-sizing:border-box; margin: 0 0 0.4rem; padding:0 0.5rem; border:0.1rem solid #ddd; background: #fff; color:#888888; font-size: 1.1rem; font-weight:300; vertical-align:middle; line-height:1.7rem;}
+.icon_tag [class*="tag_"] {float:left; display:inline-block; height:1.7rem; box-sizing:border-box; margin: 0 0.2rem 0.4rem; padding:0 0.5rem; border:0.1rem solid #ddd; background: #fff; color:#888888; font-size: 1.1rem; font-weight:300; vertical-align:middle; line-height:1.7rem;}
 .icon_tag .tag_stype1 {border-color:#f5f5f5; background:#f5f5f5}
 .icon_tag .tag_stype2 {border-color:#fd4802; background:#fff6f2; color:#fd4802;}
 
@@ -2220,7 +2221,7 @@ background-size:100%;}
 .od .completed .info_complete .report_box div dt,
 .od .completed .info_complete .report_box div dd {display:inline-block; font-weight:300;}
 .od .completed .info_complete .report_box div dt {color:#666; font-size:1.7rem;}
-.od .completed .info_complete .report_box div dd {position: relative; margin-left:108rem; color:#fd4802; font-size:1.7rem;}
+.od .completed .info_complete .report_box div dd {position: relative; margin-left:1.8rem; color:#fd4802; font-size:1.7rem;}
 .od .completed .info_complete .report_box div dd:before {content:''; position: absolute; top: 50%; left: -1.1rem; transform:translateY(-50%); width: 0.1rem; height: 1.5rem; background: #ddd;}
 .od .completed .info_complete .report_box div.closedate dt,
 .od .completed .info_complete .report_box div.closedate dd {margin:0; color:#888; font-size:1.6rem; font-weight:200;}