Explorar el Código

FAQ, 공지사항 서버 모듈 추가

gagamel hace 5 años
padre
commit
e12c028a7b
Se han modificado 18 ficheros con 574 adiciones y 487 borrados
  1. 61 0
      style24.front/src/main/java/com/style24/front/biz/dao/TsfFaqDao.java
  2. 9 36
      style24.front/src/main/java/com/style24/front/biz/dao/TsfNoticeDao.java
  3. 84 0
      style24.front/src/main/java/com/style24/front/biz/service/TsfFaqService.java
  4. 8 29
      style24.front/src/main/java/com/style24/front/biz/service/TsfNoticeService.java
  5. 155 0
      style24.front/src/main/java/com/style24/front/biz/web/TsfCallcenterController.java
  6. 38 0
      style24.front/src/main/java/com/style24/persistence/domain/Faq.java
  7. 11 8
      style24.front/src/main/java/com/style24/persistence/domain/Notice.java
  8. 93 0
      style24.front/src/main/java/com/style24/persistence/mybatis/TsfFaq.xml
  9. 11 207
      style24.front/src/main/java/com/style24/persistence/mybatis/TsfNotice.xml
  10. BIN
      style24.front/target/classes/com/style24/front/biz/dao/TsfFaqDao.class
  11. BIN
      style24.front/target/classes/com/style24/front/biz/dao/TsfNoticeDao.class
  12. BIN
      style24.front/target/classes/com/style24/front/biz/service/TsfFaqService.class
  13. BIN
      style24.front/target/classes/com/style24/front/biz/service/TsfNoticeService.class
  14. BIN
      style24.front/target/classes/com/style24/front/biz/web/TsfCallcenterController.class
  15. BIN
      style24.front/target/classes/com/style24/persistence/domain/Faq.class
  16. BIN
      style24.front/target/classes/com/style24/persistence/domain/Notice.class
  17. 93 0
      style24.front/target/classes/com/style24/persistence/mybatis/TsfFaq.xml
  18. 11 207
      style24.front/target/classes/com/style24/persistence/mybatis/TsfNotice.xml

+ 61 - 0
style24.front/src/main/java/com/style24/front/biz/dao/TsfFaqDao.java

@@ -0,0 +1,61 @@
+package com.style24.front.biz.dao;
+
+import java.util.Collection;
+
+import com.style24.core.support.annotation.ShopDs;
+import com.style24.persistence.domain.Faq;
+
+/**
+ * FAQ Dao
+ * 
+ * @author gagamel
+ * @since 2020. 12. 23
+ */
+@ShopDs
+public interface TsfFaqDao {
+
+	/**
+	 * FAQ 자주 묻는 질문 목록 (10개)
+	 * @param siteCd - 사이트코드
+	 * @return
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	Collection<Faq> getFaqLikesList(String siteCd);
+
+	/**
+	 * FAQ 총건수
+	 * @param faq - FAQ 정보
+	 * @return
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	int getFaqTotalCount(Faq faq);
+
+	/**
+	 * FAQ 목록
+	 * @param faq - FAQ 정보
+	 * @return
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	Collection<Faq> getFaqList(Faq faq);
+
+	/**
+	 * FAQ 조회수 Update
+	 * @param faqSq - FAQ일련번호
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	void updateFaqReadCount(Integer faqSq);
+
+	/**
+	 * FAQ 상세
+	 * @param faqSq - FAQ일련번호
+	 * @return
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	Faq getFaq(Integer faqSq);
+
+}

+ 9 - 36
style24.front/src/main/java/com/style24/front/biz/dao/TsfNoticeDao.java

@@ -9,7 +9,7 @@ import com.style24.persistence.domain.Notice;
  * 공지사항 Dao
  * 
  * @author gagamel
- * @since 2020. 11. 3
+ * @since 2020. 12. 23
  */
 @ShopDs
 public interface TsfNoticeDao {
@@ -19,7 +19,7 @@ public interface TsfNoticeDao {
 	 * @param notice - 공지사항 정보
 	 * @return 총건수
 	 * @author gagamel
-	 * @date 2020. 11. 3
+	 * @date 2020. 12. 23
 	 */
 	int getNoticeTotalCount(Notice notice);
 
@@ -28,52 +28,25 @@ public interface TsfNoticeDao {
 	 * @param notice - 공지사항 정보
 	 * @return
 	 * @author gagamel
-	 * @date 2020. 11. 3
+	 * @date 2020. 12. 23
 	 */
 	Collection<Notice> getNoticeList(Notice notice);
 
 	/**
-	 * 공지사항 상세
-	 * @param notice - 공지사항 정보
-	 * @return
-	 * @author gagamel
-	 * @date 2020. 11. 3
-	 */
-	Notice getNoticeDetail(Notice notice);
-
-	/**
-	 * 공지사항 이전글
-	 * @param notice - 공지사항 정보
-	 * @return
-	 * @author gagamel
-	 * @date 2020. 11. 3
-	 */
-	Notice getPreviousNotice(Notice notice);
-
-	/**
-	 * 공지사항 다음글
+	 * 공지사항 파일 목록
 	 * @param notice - 공지사항 정보
 	 * @return
 	 * @author gagamel
-	 * @date 2020. 11. 3
+	 * @date 2020. 12. 23
 	 */
-	Notice getNextNotice(Notice notice);
+	Collection<Notice> getNoticeFileList(Notice notice);
 
 	/**
 	 * 공지사항 조회수 Update
-	 * @param notice
+	 * @param noticeSq - 공지사항일련번호
 	 * @author gagamel
-	 * @date 2020. 11. 3
+	 * @date 2020. 12. 23
 	 */
-	void updateNoticeReadCount(Notice notice);
-
-	/**
-	 * 공지사항 파일 목록
-	 * @param notice - 공지사항 정보
-	 * @return
-	 * @author gagamel
-	 * @date 2020. 2. 24
-	 */
-	Collection<Notice> getNoticeFileList(Notice notice);
+	void updateNoticeReadCount(Integer noticeSq);
 
 }

+ 84 - 0
style24.front/src/main/java/com/style24/front/biz/service/TsfFaqService.java

@@ -0,0 +1,84 @@
+package com.style24.front.biz.service;
+
+import java.util.Collection;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.style24.front.biz.dao.TsfFaqDao;
+import com.style24.persistence.domain.Faq;
+
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * FAQ Service
+ * 
+ * @author gagamel
+ * @since 2020. 12. 23
+ */
+@Service
+@Slf4j
+public class TsfFaqService {
+
+	@Autowired
+	private TsfFaqDao faqDao;
+
+	/**
+	 * FAQ 자주 묻는 질문 목록 (10개)
+	 * @param siteCd - 사이트코드
+	 * @return
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	public Collection<Faq> getFaqLikesList(String siteCd) {
+		return faqDao.getFaqLikesList(siteCd);
+	}
+
+	/**
+	 * FAQ 총건수
+	 * @param faq - FAQ 정보
+	 * @return
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	public int getFaqTotalCount(Faq faq) {
+		return faqDao.getFaqTotalCount(faq);
+	}
+
+	/**
+	 * FAQ 목록
+	 * @param faq - FAQ 정보
+	 * @return
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	public Collection<Faq> getFaqList(Faq faq) {
+		return faqDao.getFaqList(faq);
+	}
+
+	/**
+	 * FAQ 조회수 Update
+	 * @param faqSq - FAQ일련번호
+	 * @return
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	@Transactional("shopTxnManager")
+	public void updateFaqReadCount(Integer faqSq) {
+		faqDao.updateFaqReadCount(faqSq);
+	}
+
+	/**
+	 * FAQ 상세
+	 * @param faqSq - FAQ일련번호
+	 * @return
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	public Faq getFaq(Integer faqSq) {
+		this.updateFaqReadCount(faqSq);
+		return faqDao.getFaq(faqSq);
+	}
+
+}

+ 8 - 29
style24.front/src/main/java/com/style24/front/biz/service/TsfNoticeService.java

@@ -58,45 +58,24 @@ public class TsfNoticeService {
 	}
 
 	/**
-	 * 공지사항 상세
+	 * 공지사항 첨부파일 목록
 	 * @param notice - 공지사항 정보
 	 * @return
 	 * @author gagamel
 	 * @date 2020. 11. 3
 	 */
-	public Notice getNoticeDetail(Notice notice) {
-		// 공지사항 조회건수 증가
-		noticeDao.updateNoticeReadCount(notice);
-
-		// 공지사항 상세 조회
-		Notice noticeDetail = noticeDao.getNoticeDetail(notice);
-
-		// 공지사항 이전글 조회
-		Notice prevNotice = noticeDao.getPreviousNotice(notice);
-		if (prevNotice != null) {
-			noticeDetail.setPrevNoticeSq(prevNotice.getPrevNoticeSq());
-			noticeDetail.setPrevNoticeTitle(prevNotice.getPrevNoticeTitle());
-		}
-
-		// 공지사항 다음글 조회
-		Notice nextNotice = noticeDao.getNextNotice(notice);
-		if (nextNotice != null) {
-			noticeDetail.setNextNoticeSq(nextNotice.getNextNoticeSq());
-			noticeDetail.setNextNoticeTitle(nextNotice.getNextNoticeTitle());
-		}
-
-		return noticeDetail;
+	public Collection<Notice> getNoticeFileList(Notice notice) {
+		return noticeDao.getNoticeFileList(notice);
 	}
 
 	/**
-	 * 공지사항 첨부파일 목록
-	 * @param notice - 공지사항 정보
-	 * @return
+	 * 공지사항 조회수 Update
+	 * @param noticeSq - 공지사항일련번호
 	 * @author gagamel
-	 * @date 2020. 11. 3
+	 * @date 2020. 12. 23
 	 */
-	public Collection<Notice> getNoticeFileList(Notice notice) {
-		return noticeDao.getNoticeFileList(notice);
+	public void updateNoticeReadCount(Integer noticeSq) {
+		noticeDao.updateNoticeReadCount(noticeSq);
 	}
 
 }

+ 155 - 0
style24.front/src/main/java/com/style24/front/biz/web/TsfCallcenterController.java

@@ -0,0 +1,155 @@
+package com.style24.front.biz.web;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import com.style24.core.support.env.TscConstants;
+import com.style24.front.biz.service.TsfFaqService;
+import com.style24.front.biz.service.TsfNoticeService;
+import com.style24.front.support.controller.TsfBaseController;
+import com.style24.persistence.TsfPageRequest;
+import com.style24.persistence.domain.Faq;
+import com.style24.persistence.domain.Notice;
+
+import lombok.extern.slf4j.Slf4j;
+
+import com.gagaframework.web.parameter.GagaMap;
+import com.gagaframework.web.rest.server.GagaResponse;
+
+/**
+ * 고객센터 Controller
+ * 
+ * @author gagamel
+ * @since 2020. 12. 23
+ */
+@Controller
+@RequestMapping("/callcenter")
+@Slf4j
+public class TsfCallcenterController extends TsfBaseController {
+
+	@Autowired
+	private TsfFaqService faqService;
+
+	@Autowired
+	private TsfNoticeService noticeService;
+
+	/**
+	 * FAQ
+	 * @return
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	@GetMapping("/faq/form")
+	public ModelAndView faqForm() {
+		ModelAndView mav = new ModelAndView();
+
+		// FAQ TOP 10 목록
+		mav.addObject("faqTop10List", faqService.getFaqLikesList(TscConstants.Site.STYLE24.value()));
+
+		mav.setViewName(super.getDeviceViewName("callcenter/FaqForm"));
+
+		return mav;
+	}
+
+	/**
+	 * FAQ 목록
+	 * @param faq - FAQ 정보
+	 * @return
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	@PostMapping("/faq/list")
+	@ResponseBody
+	public GagaMap getFaqList(@RequestBody Faq faq) {
+		faq.setSiteCd(TscConstants.Site.STYLE24.value());
+
+		GagaMap result = new GagaMap();
+
+		TsfPageRequest pageable = new TsfPageRequest((faq.getPageNo() > 0 ? faq.getPageNo() - 1 : 0), faq.getPageSize(), faq.getPageUnit());
+		pageable.setTotalCount(faqService.getFaqTotalCount(faq));
+		faq.setPageable(pageable);
+		log.debug("pageable: {}", pageable);
+
+		result.set("paging", faq);
+		result.set("dataList", faqService.getFaqList(faq));
+
+		return result;
+	}
+
+	/**
+	 * FAQ 조회수 갱신
+	 * @param faqSq - FAQ일련번호
+	 * @return
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	@PostMapping("/faq/readcount/update/{faqSq}")
+	@ResponseBody
+	public GagaResponse updateFaqReadCount(@PathVariable Integer faqSq) {
+		faqService.updateFaqReadCount(faqSq);
+		return super.ok();
+	}
+
+	/**
+	 * 공지사항
+	 * @return
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	@GetMapping("/notice/form")
+	public ModelAndView noticeForm() {
+		ModelAndView mav = new ModelAndView();
+		mav.setViewName(super.getDeviceViewName("callcenter/NoticeForm"));
+		return mav;
+	}
+
+	/**
+	 * 공지사항 목록
+	 * @param notice - 공지사항 정보
+	 * @return
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	@PostMapping("/notice/list")
+	@ResponseBody
+	public GagaMap getNoticeList(@RequestBody Notice notice) {
+		notice.setSiteCd(TscConstants.Site.STYLE24.value());
+
+		GagaMap result = new GagaMap();
+
+		TsfPageRequest pageable = new TsfPageRequest((notice.getPageNo() > 0 ? notice.getPageNo() - 1 : 0), notice.getPageSize(), notice.getPageUnit());
+		pageable.setTotalCount(noticeService.getNoticeTotalCount(notice));
+		notice.setPageable(pageable);
+		log.debug("pageable: {}", pageable);
+
+		result.set("paging", notice);
+		result.set("dataList", noticeService.getNoticeList(notice));
+
+		// 긴급(중요) 공지사항 목록
+		result.set("urgentList", noticeService.getUrgentNoticeList(notice));
+
+		return result;
+	}
+
+	/**
+	 * 공지사항 조회수 갱신
+	 * @param noticeSq - 공지사항일련번호
+	 * @return
+	 * @author gagamel
+	 * @since 2020. 12. 23
+	 */
+	@PostMapping("/notice/readcount/update/{noticeSq}")
+	@ResponseBody
+	public GagaResponse updateNoticeReadCount(@PathVariable Integer noticeSq) {
+		noticeService.updateNoticeReadCount(noticeSq);
+		return super.ok();
+	}
+
+}

+ 38 - 0
style24.front/src/main/java/com/style24/persistence/domain/Faq.java

@@ -0,0 +1,38 @@
+package com.style24.persistence.domain;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.style24.persistence.TscBaseDomain;
+import com.style24.persistence.TsfPageRequest;
+
+import lombok.Data;
+
+/**
+ * FAQ Domain
+ *
+ * @author gagamel
+ * @since 2020. 12. 23
+ */
+@SuppressWarnings("serial")
+@Data
+public class Faq extends TscBaseDomain {
+
+	private Integer faqSq;		// FAQ일련번호
+	private String siteCd;		// 사이트코드
+	private String faqType;		// FAQ유형
+	private String faqTypeNm;	// FAQ유형명
+	private String question;	// 질문
+	private String answer;		// 답변
+	private int readCnt;		// 조회수
+
+	// 검색조건
+	private String searchTxt;	//검색어
+
+	// Pagination
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
+	private TsfPageRequest pageable;
+
+	private int pageNo = 1;
+	private int pageSize = 10;
+	private int pageUnit = 10;
+
+}

+ 11 - 8
style24.front/src/main/java/com/style24/persistence/domain/Notice.java

@@ -1,6 +1,8 @@
 package com.style24.persistence.domain;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.style24.persistence.TscBaseDomain;
+import com.style24.persistence.TsfPageRequest;
 
 import lombok.Data;
 
@@ -8,7 +10,7 @@ import lombok.Data;
  * 공지사항 Domain
  * 
  * @author gagamel
- * @since 2020. 10. 30
+ * @since 2020. 12. 23
  */
 @SuppressWarnings("serial")
 @Data
@@ -27,17 +29,18 @@ public class Notice extends TscBaseDomain {
 
 	// 검색용
 	private String siteCd;			// 사이트코드
-	private String searchGb;		// 검색구분(ALL: 전체, TITLE: 제목, CONTENT: 내용)
-	private String searchTxt;		// 검색텍스트
-
-	private Integer prevNoticeSq;	// 이전 공지사항일련번호
-	private String prevNoticeTitle;	// 이전 공지제목
-	private Integer nextNoticeSq;	// 다음 공지사항일련번호
-	private String nextNoticeTitle;	// 다음 공지제목
 
 	// 첨부파일
 	private int seq;				// 일련번호
 	private String orgFileNm;		// 원본파일명
 	private String sysFileNm;		// 시스템파일명
 
+	// Pagination
+	@JsonInclude(JsonInclude.Include.NON_EMPTY)
+	private TsfPageRequest pageable;
+
+	private int pageNo = 1;
+	private int pageSize = 10;
+	private int pageUnit = 10;
+
 }

+ 93 - 0
style24.front/src/main/java/com/style24/persistence/mybatis/TsfFaq.xml

@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.style24.front.biz.dao.TsfFaqDao">
+
+	<!-- Paging -->
+	<sql id="pageSql">
+		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	</sql>
+	<!--// Paging -->
+	
+	<!-- FAQ 자주 묻는 질문 목록 (10개) -->
+	<select id="getFaqLikesList" parameterType="String" resultType="Faq">
+		/* TsfFaq.getFaqLikesList */
+		SELECT FAQ_SQ   /*FAQ일련번호*/
+		     , SITE_CD  /*사이트코드(공통코드G000)*/
+		     , FAQ_TYPE /*FAQ유형(공통코드G046)*/
+		     , QUESTION /*질문*/
+		     , ANSWER   /*답변*/
+		     , DISP_ORD /*표시순서*/
+		FROM   TB_FAQ
+		WHERE  SITE_CD = #{siteCd}
+		AND    USE_YN = 'Y'
+		ORDER  BY DISP_ORD
+		LIMIT 10
+	</select>
+	
+	<!-- FAQ 총건수 -->
+	<select id="getFaqTotalCount" parameterType="Faq" resultType="int">
+		/* TsfFaq.getFaqTotalCount */
+		SELECT COUNT(*) AS CNT
+		FROM   TB_FAQ
+		WHERE  SITE_CD = #{siteCd}
+		<if test='faqType != null and faqType !=""'>
+		AND    FAQ_TYPE = #{faqType}
+		</if>
+		AND    USE_YN = 'Y'
+		<if test="searchTxt != null and searchTxt !=''">
+		AND    (
+		        LOWER(QUESTION) LIKE CONCAT('%',LOWER(#{searchTxt}),'%')
+		        -- OR
+		        -- LOWER(ANSWER) LIKE CONCAT('%',LOWER(#{searchTxt}),'%')
+		       )
+		</if>
+	</select>
+	
+	<!-- FAQ 목록 -->
+	<select id="getFaqList" parameterType="Faq" resultType="Faq">
+		/* TsfFaq.getFaqList */
+		SELECT FAQ_SQ   /*FAQ일련번호*/
+		     , SITE_CD  /*사이트코드(공통코드G000)*/
+		     , FAQ_TYPE /*FAQ유형(공통코드G046)*/
+		     , QUESTION /*질문*/
+		     , ANSWER   /*답변*/
+		     , DISP_ORD /*표시순서*/
+		FROM   TB_FAQ
+		WHERE  SITE_CD = #{siteCd}
+		<if test='faqType != null and faqType !=""'>
+		AND    FAQ_TYPE = #{faqType}
+		</if>
+		AND    USE_YN = 'Y'
+		<if test="searchTxt != null and searchTxt !=''">
+		AND    (
+		        LOWER(QUESTION) LIKE CONCAT('%',LOWER(#{searchTxt}),'%')
+		        -- OR
+		        -- LOWER(ANSWER) LIKE CONCAT('%',LOWER(#{searchTxt}),'%')
+		       )
+		</if>
+		ORDER  BY REG_DT DESC
+		<include refid="pageSql"></include>
+	</select>
+
+	<!-- FAQ 조회수 Update -->
+	<update id="updateFaqReadCount" parameterType="Integer">
+		/* TsfFaq.updateFaqReadCount */
+		UPDATE TB_FAQ
+		SET    READ_CNT = READ_CNT + 1
+		WHERE  FAQ_SQ = #{faqSq}
+	</update>
+
+	<!-- FAQ 상세 -->
+	<select id="getFaq" parameterType="Integer" resultType="Faq">
+		/* TsfFaq.getFaq */
+		SELECT FAQ_SQ                                         /*FAQ일련번호*/
+		     , FAQ_TYPE                                       /*FAQ유형*/
+		     , FN_GET_CODE_NM('G046',FAQ_TYPE) AS FAQ_TYPE_NM /*FAQ유형명*/
+		     , QUESTION                                       /*질문*/
+		     , ANSWER                                         /*답변*/
+		FROM   TB_FAQ
+		WHERE  FAQ_SQ = #{faqSq}
+		AND    USE_YN = 'Y'
+	</select>
+
+</mapper>

+ 11 - 207
style24.front/src/main/java/com/style24/persistence/mybatis/TsfNotice.xml

@@ -12,35 +12,9 @@
 		/* TsfNotice.getNoticeTotalCount */
 		SELECT COUNT(*)
 		FROM   TB_NOTICE A
-		WHERE  NOTICE_TYPE = #{noticeType}
+		WHERE  NOTICE_TYPE = 'G047_10' /*사이트공지*/
 		AND    USE_YN = 'Y'
-		AND    NOW() BETWEEN NOTICE_STDT AND NOTICE_EDDT
-		<choose>
-		    <when test="urgentYn == null or urgentYn == ''">
-		        <if test="searchTxt != null and searchTxt != ''">
-		            <choose>
-		                <when test="searchGb == 'TITLE'">
-		AND    NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                </when>
-		                <when test="searchGb == 'CONTENT'">
-		AND    NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                </when>
-		                <otherwise>
-		AND    (
-		        NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		        OR
-		        NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		       )
-		                </otherwise>
-		            </choose>
-		        </if>
-		    </when>
-		    <otherwise>
-		        <if test='urgentYn == "Y"'> <!-- 최상단 공지글인 경우 -->
-		AND    URGENT_YN = 'Y'
-		        </if>
-		    </otherwise>
-		</choose>
+		AND    CURRENT_DATE() BETWEEN NOTICE_STDT AND NOTICE_EDDT
 		AND    EXISTS (SELECT 1
 		               FROM   TB_NOTICE_RECEIVER
 		               WHERE  NOTICE_SQ = A.NOTICE_SQ
@@ -51,44 +25,19 @@
 	<!-- 공지사항 목록 -->
 	<select id="getNoticeList" parameterType="Notice" resultType="Notice">
 		/* TsfNotice.getNoticeList */
-		SELECT NOTICE_SQ                              /*공지사항일련번호*/
-		     , NOTICE_TITLE                           /*공지제목*/
-		     , READ_CNT                               /*조회수*/
-		     , DATE_FORMAT(REG_DT,'%Y%m%d') AS REG_DT /*등록일자*/
+		SELECT NOTICE_SQ                                  /*공지사항일련번호*/
+		     , NOTICE_TITLE                               /*공지제목*/
+		     , NOTICE_CONTENT                             /*공지내용*/
+		     , READ_CNT                                   /*조회수*/
+		     , DATE_FORMAT(REG_DT,'%Y.%m.%d') AS REG_DT   /*등록일자*/
 		     , (SELECT COUNT(1)
 		        FROM   TB_NOTICE_FILE
 		        WHERE  NOTICE_SQ = A.NOTICE_SQ
-		       )                          AS FILE_CNT /*첨부파일건수*/
+		       )                              AS FILE_CNT /*첨부파일건수*/
 		FROM   TB_NOTICE A
-		WHERE  NOTICE_TYPE = #{noticeType}
+		WHERE  NOTICE_TYPE = 'G047_10' /*사이트공지*/
 		AND    USE_YN =  'Y'
-		AND    NOW() BETWEEN NOTICE_STDT AND NOTICE_EDDT
-		<choose>
-		    <when test="urgentYn == null or urgentYn == ''">
-		        <if test="searchTxt != null and searchTxt != ''">
-		            <choose>
-		                <when test="searchGb == 'TITLE'">
-		AND    NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                </when>
-		                <when test="searchGb == 'CONTENT'">
-		AND    NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                </when>
-		                <otherwise>
-		AND    (
-		        NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		        OR
-		        NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		       )
-		                </otherwise>
-		            </choose>
-		        </if>
-		    </when>
-		    <otherwise>
-		        <if test='urgentYn == "Y"'> <!-- 최상단 공지글인 경우 -->
-		AND    URGENT_YN = 'Y'
-		        </if>
-		    </otherwise>
-		</choose>
+		AND    CURRENT_DATE() BETWEEN NOTICE_STDT AND NOTICE_EDDT
 		AND    EXISTS (SELECT 1
 		               FROM   TB_NOTICE_RECEIVER
 		               WHERE  NOTICE_SQ = A.NOTICE_SQ
@@ -98,151 +47,6 @@
 		<include refid="pageSql"></include>
 	</select>
 
-	<!-- 공지사항 상세 -->
-	<select id="getNoticeDetail" parameterType="Notice" resultType="Notice">
-		/* TsfNotice.getNoticeDetail */
-		SELECT NOTICE_SQ      /*공지사항일련번호*/
-		     , NOTICE_TITLE   /*공지사항제목*/
-		     , NOTICE_CONTENT /*공지사항내용*/
-		     , READ_CNT       /*조회수*/
-		     , REG_DT         /*등록일시*/
-		FROM   (
-		        SELECT NOTICE_SQ
-		             , NOTICE_TITLE
-		             , NOTICE_CONTENT
-		             , READ_CNT
-		             , DATE_FORMAT(REG_DT,'%Y.%m.%d') AS REG_DT
-		        FROM   TB_NOTICE A
-		        WHERE  NOTICE_TYPE = #{noticeType}
-		        AND    USE_YN =  'Y'
-		        AND    NOW() BETWEEN NOTICE_STDT AND NOTICE_EDDT
-		        AND    NOTICE_SQ = #{noticeSq}
-		        <choose>
-		            <when test="urgentYn == null or urgentYn == ''">
-		                <if test="searchTxt != null and searchTxt != ''">
-		                    <choose>
-		                        <when test="searchGb == 'TITLE'">
-		        AND    NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                        </when>
-		                        <when test="searchGb == 'CONTENT'">
-		        AND    NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                        </when>
-		                        <otherwise>
-		        AND    (
-		                NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                OR
-		                NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		               )
-		                        </otherwise>
-		                    </choose>
-		                </if>
-		            </when>
-		            <otherwise>
-		                <if test='urgentYn == "Y"'> <!-- 최상단 공지글인 경우 -->
-		        AND    URGENT_YN = 'Y'
-		                </if>
-		            </otherwise>
-		        </choose>
-		        AND    EXISTS (SELECT 1
-		                       FROM   TB_NOTICE_RECEIVER
-		                       WHERE  NOTICE_SQ = A.NOTICE_SQ
-		                       AND    RECEIVER_ID = #{siteCd}
-		                      )
-		       )
-	</select>
-	
-	<!-- 공지사항 이전글 조회 -->
-	<select id="getPreviousNotice" parameterType="Notice" resultType="Notice">
-		/* TsfNotice.getPreviousNotice */
-		SELECT NOTICE_SQ    AS PREV_NOTICE_SQ
-		     , NOTICE_TITLE AS PREV_NOTICE_TITLE
-		FROM   TB_NOTICE
-		WHERE  NOTICE_SQ = (SELECT MAX(NOTICE_SQ)
-		                    FROM   TB_NOTICE N
-		                    WHERE  NOTICE_SQ <![CDATA[<]]> #{noticeSq}
-		                    AND    NOTICE_TYPE = #{noticeType}
-		                    AND    USE_YN = 'Y'
-		                    AND    NOW() BETWEEN NOTICE_STDT AND NOTICE_EDDT
-		                    <choose>
-		                        <when test="urgentYn == null or urgentYn == ''">
-		                            <if test="searchTxt != null and searchTxt != ''">
-		                                <choose>
-		                                    <when test="searchGb == 'TITLE'">
-		                    AND    NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                                    </when>
-		                                    <when test="searchGb == 'CONTENT'">
-		                    AND    NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                                    </when>
-		                                    <otherwise>
-		                    AND    (
-		                            NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                            OR
-		                            NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                           )
-		                                    </otherwise>
-		                                </choose>
-		                            </if>
-		                        </when>
-		                        <otherwise>
-		                            <if test='urgentYn == "Y"'> <!-- 최상단 공지글인 경우 -->
-		                    AND    URGENT_YN = 'Y'
-		                            </if>
-		                        </otherwise>
-		                    </choose>
-		                    AND    EXISTS (SELECT 1
-		                                   FROM   TB_NOTICE_RECEIVER
-		                                   WHERE  NOTICE_SQ = N.NOTICE_SQ
-		                                   AND    RECEIVER_ID = #{siteCd}
-		                                  )
-		                   )
-	</select>
-
-	<!-- 공지사항 다음글 조회 -->
-	<select id="getNextNotice" parameterType="Notice" resultType="Notice">
-		/* TsfNotice.getNextNotice */
-		SELECT NOTICE_SQ    AS NEXT_NOTICE_SQ
-		     , NOTICE_TITLE AS NEXT_NOTICE_TITLE
-		FROM   TB_NOTICE
-		WHERE  NOTICE_SQ = (SELECT MIN(NOTICE_SQ)
-		                    FROM   TB_NOTICE N
-		                    WHERE  NOTICE_SQ <![CDATA[>]]> #{noticeSq}
-		                    AND    NOTICE_TYPE = #{noticeType}
-		                    AND    USE_YN = 'Y'
-		                    AND    NOW() BETWEEN NOTICE_STDT AND NOTICE_EDDT
-		                    <choose>
-		                        <when test="urgentYn == null or urgentYn == ''">
-		                            <if test="searchTxt != null and searchTxt != ''">
-		                                <choose>
-		                                    <when test="searchGb == 'TITLE'">
-		                    AND    NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                                    </when>
-		                                    <when test="searchGb == 'CONTENT'">
-		                    AND    NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                                    </when>
-		                                    <otherwise>
-		                    AND    (
-		                            NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                            OR
-		                            NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                           )
-		                                    </otherwise>
-		                                </choose>
-		                            </if>
-		                        </when>
-		                        <otherwise>
-		                            <if test='urgentYn == "Y"'> <!-- 최상단 공지글인 경우 -->
-		                    AND    URGENT_YN = 'Y'
-		                            </if>
-		                        </otherwise>
-		                    </choose>
-		                    AND    EXISTS (SELECT 1
-		                                   FROM   TB_NOTICE_RECEIVER
-		                                   WHERE  NOTICE_SQ = N.NOTICE_SQ
-		                                   AND    RECEIVER_ID = #{siteCd}
-		                                  )
-		                   )
-	</select>
-
 	<!-- 공지사항 파일 목록 -->
 	<select id="getNoticeFileList" parameterType="Integer" resultType="Notice">
 		/* TsfNotice.getNoticeFileList */
@@ -255,7 +59,7 @@
 	</select>
 	
 	<!-- 공지사항  조회건수 Update -->
-	<update id="updateNoticeReadCount" parameterType="Notice">
+	<update id="updateNoticeReadCount" parameterType="Integer">
 		/* TsfNotice.updateNoticeReadCount */
 		UPDATE TB_NOTICE
 		SET    READ_CNT = READ_CNT + 1

BIN
style24.front/target/classes/com/style24/front/biz/dao/TsfFaqDao.class


BIN
style24.front/target/classes/com/style24/front/biz/dao/TsfNoticeDao.class


BIN
style24.front/target/classes/com/style24/front/biz/service/TsfFaqService.class


BIN
style24.front/target/classes/com/style24/front/biz/service/TsfNoticeService.class


BIN
style24.front/target/classes/com/style24/front/biz/web/TsfCallcenterController.class


BIN
style24.front/target/classes/com/style24/persistence/domain/Faq.class


BIN
style24.front/target/classes/com/style24/persistence/domain/Notice.class


+ 93 - 0
style24.front/target/classes/com/style24/persistence/mybatis/TsfFaq.xml

@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.style24.front.biz.dao.TsfFaqDao">
+
+	<!-- Paging -->
+	<sql id="pageSql">
+		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	</sql>
+	<!--// Paging -->
+	
+	<!-- FAQ 자주 묻는 질문 목록 (10개) -->
+	<select id="getFaqLikesList" parameterType="String" resultType="Faq">
+		/* TsfFaq.getFaqLikesList */
+		SELECT FAQ_SQ   /*FAQ일련번호*/
+		     , SITE_CD  /*사이트코드(공통코드G000)*/
+		     , FAQ_TYPE /*FAQ유형(공통코드G046)*/
+		     , QUESTION /*질문*/
+		     , ANSWER   /*답변*/
+		     , DISP_ORD /*표시순서*/
+		FROM   TB_FAQ
+		WHERE  SITE_CD = #{siteCd}
+		AND    USE_YN = 'Y'
+		ORDER  BY DISP_ORD
+		LIMIT 10
+	</select>
+	
+	<!-- FAQ 총건수 -->
+	<select id="getFaqTotalCount" parameterType="Faq" resultType="int">
+		/* TsfFaq.getFaqTotalCount */
+		SELECT COUNT(*) AS CNT
+		FROM   TB_FAQ
+		WHERE  SITE_CD = #{siteCd}
+		<if test='faqType != null and faqType !=""'>
+		AND    FAQ_TYPE = #{faqType}
+		</if>
+		AND    USE_YN = 'Y'
+		<if test="searchTxt != null and searchTxt !=''">
+		AND    (
+		        LOWER(QUESTION) LIKE CONCAT('%',LOWER(#{searchTxt}),'%')
+		        -- OR
+		        -- LOWER(ANSWER) LIKE CONCAT('%',LOWER(#{searchTxt}),'%')
+		       )
+		</if>
+	</select>
+	
+	<!-- FAQ 목록 -->
+	<select id="getFaqList" parameterType="Faq" resultType="Faq">
+		/* TsfFaq.getFaqList */
+		SELECT FAQ_SQ   /*FAQ일련번호*/
+		     , SITE_CD  /*사이트코드(공통코드G000)*/
+		     , FAQ_TYPE /*FAQ유형(공통코드G046)*/
+		     , QUESTION /*질문*/
+		     , ANSWER   /*답변*/
+		     , DISP_ORD /*표시순서*/
+		FROM   TB_FAQ
+		WHERE  SITE_CD = #{siteCd}
+		<if test='faqType != null and faqType !=""'>
+		AND    FAQ_TYPE = #{faqType}
+		</if>
+		AND    USE_YN = 'Y'
+		<if test="searchTxt != null and searchTxt !=''">
+		AND    (
+		        LOWER(QUESTION) LIKE CONCAT('%',LOWER(#{searchTxt}),'%')
+		        -- OR
+		        -- LOWER(ANSWER) LIKE CONCAT('%',LOWER(#{searchTxt}),'%')
+		       )
+		</if>
+		ORDER  BY REG_DT DESC
+		<include refid="pageSql"></include>
+	</select>
+
+	<!-- FAQ 조회수 Update -->
+	<update id="updateFaqReadCount" parameterType="Integer">
+		/* TsfFaq.updateFaqReadCount */
+		UPDATE TB_FAQ
+		SET    READ_CNT = READ_CNT + 1
+		WHERE  FAQ_SQ = #{faqSq}
+	</update>
+
+	<!-- FAQ 상세 -->
+	<select id="getFaq" parameterType="Integer" resultType="Faq">
+		/* TsfFaq.getFaq */
+		SELECT FAQ_SQ                                         /*FAQ일련번호*/
+		     , FAQ_TYPE                                       /*FAQ유형*/
+		     , FN_GET_CODE_NM('G046',FAQ_TYPE) AS FAQ_TYPE_NM /*FAQ유형명*/
+		     , QUESTION                                       /*질문*/
+		     , ANSWER                                         /*답변*/
+		FROM   TB_FAQ
+		WHERE  FAQ_SQ = #{faqSq}
+		AND    USE_YN = 'Y'
+	</select>
+
+</mapper>

+ 11 - 207
style24.front/target/classes/com/style24/persistence/mybatis/TsfNotice.xml

@@ -12,35 +12,9 @@
 		/* TsfNotice.getNoticeTotalCount */
 		SELECT COUNT(*)
 		FROM   TB_NOTICE A
-		WHERE  NOTICE_TYPE = #{noticeType}
+		WHERE  NOTICE_TYPE = 'G047_10' /*사이트공지*/
 		AND    USE_YN = 'Y'
-		AND    NOW() BETWEEN NOTICE_STDT AND NOTICE_EDDT
-		<choose>
-		    <when test="urgentYn == null or urgentYn == ''">
-		        <if test="searchTxt != null and searchTxt != ''">
-		            <choose>
-		                <when test="searchGb == 'TITLE'">
-		AND    NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                </when>
-		                <when test="searchGb == 'CONTENT'">
-		AND    NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                </when>
-		                <otherwise>
-		AND    (
-		        NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		        OR
-		        NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		       )
-		                </otherwise>
-		            </choose>
-		        </if>
-		    </when>
-		    <otherwise>
-		        <if test='urgentYn == "Y"'> <!-- 최상단 공지글인 경우 -->
-		AND    URGENT_YN = 'Y'
-		        </if>
-		    </otherwise>
-		</choose>
+		AND    CURRENT_DATE() BETWEEN NOTICE_STDT AND NOTICE_EDDT
 		AND    EXISTS (SELECT 1
 		               FROM   TB_NOTICE_RECEIVER
 		               WHERE  NOTICE_SQ = A.NOTICE_SQ
@@ -51,44 +25,19 @@
 	<!-- 공지사항 목록 -->
 	<select id="getNoticeList" parameterType="Notice" resultType="Notice">
 		/* TsfNotice.getNoticeList */
-		SELECT NOTICE_SQ                              /*공지사항일련번호*/
-		     , NOTICE_TITLE                           /*공지제목*/
-		     , READ_CNT                               /*조회수*/
-		     , DATE_FORMAT(REG_DT,'%Y%m%d') AS REG_DT /*등록일자*/
+		SELECT NOTICE_SQ                                  /*공지사항일련번호*/
+		     , NOTICE_TITLE                               /*공지제목*/
+		     , NOTICE_CONTENT                             /*공지내용*/
+		     , READ_CNT                                   /*조회수*/
+		     , DATE_FORMAT(REG_DT,'%Y.%m.%d') AS REG_DT   /*등록일자*/
 		     , (SELECT COUNT(1)
 		        FROM   TB_NOTICE_FILE
 		        WHERE  NOTICE_SQ = A.NOTICE_SQ
-		       )                          AS FILE_CNT /*첨부파일건수*/
+		       )                              AS FILE_CNT /*첨부파일건수*/
 		FROM   TB_NOTICE A
-		WHERE  NOTICE_TYPE = #{noticeType}
+		WHERE  NOTICE_TYPE = 'G047_10' /*사이트공지*/
 		AND    USE_YN =  'Y'
-		AND    NOW() BETWEEN NOTICE_STDT AND NOTICE_EDDT
-		<choose>
-		    <when test="urgentYn == null or urgentYn == ''">
-		        <if test="searchTxt != null and searchTxt != ''">
-		            <choose>
-		                <when test="searchGb == 'TITLE'">
-		AND    NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                </when>
-		                <when test="searchGb == 'CONTENT'">
-		AND    NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                </when>
-		                <otherwise>
-		AND    (
-		        NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		        OR
-		        NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		       )
-		                </otherwise>
-		            </choose>
-		        </if>
-		    </when>
-		    <otherwise>
-		        <if test='urgentYn == "Y"'> <!-- 최상단 공지글인 경우 -->
-		AND    URGENT_YN = 'Y'
-		        </if>
-		    </otherwise>
-		</choose>
+		AND    CURRENT_DATE() BETWEEN NOTICE_STDT AND NOTICE_EDDT
 		AND    EXISTS (SELECT 1
 		               FROM   TB_NOTICE_RECEIVER
 		               WHERE  NOTICE_SQ = A.NOTICE_SQ
@@ -98,151 +47,6 @@
 		<include refid="pageSql"></include>
 	</select>
 
-	<!-- 공지사항 상세 -->
-	<select id="getNoticeDetail" parameterType="Notice" resultType="Notice">
-		/* TsfNotice.getNoticeDetail */
-		SELECT NOTICE_SQ      /*공지사항일련번호*/
-		     , NOTICE_TITLE   /*공지사항제목*/
-		     , NOTICE_CONTENT /*공지사항내용*/
-		     , READ_CNT       /*조회수*/
-		     , REG_DT         /*등록일시*/
-		FROM   (
-		        SELECT NOTICE_SQ
-		             , NOTICE_TITLE
-		             , NOTICE_CONTENT
-		             , READ_CNT
-		             , DATE_FORMAT(REG_DT,'%Y.%m.%d') AS REG_DT
-		        FROM   TB_NOTICE A
-		        WHERE  NOTICE_TYPE = #{noticeType}
-		        AND    USE_YN =  'Y'
-		        AND    NOW() BETWEEN NOTICE_STDT AND NOTICE_EDDT
-		        AND    NOTICE_SQ = #{noticeSq}
-		        <choose>
-		            <when test="urgentYn == null or urgentYn == ''">
-		                <if test="searchTxt != null and searchTxt != ''">
-		                    <choose>
-		                        <when test="searchGb == 'TITLE'">
-		        AND    NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                        </when>
-		                        <when test="searchGb == 'CONTENT'">
-		        AND    NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                        </when>
-		                        <otherwise>
-		        AND    (
-		                NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                OR
-		                NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		               )
-		                        </otherwise>
-		                    </choose>
-		                </if>
-		            </when>
-		            <otherwise>
-		                <if test='urgentYn == "Y"'> <!-- 최상단 공지글인 경우 -->
-		        AND    URGENT_YN = 'Y'
-		                </if>
-		            </otherwise>
-		        </choose>
-		        AND    EXISTS (SELECT 1
-		                       FROM   TB_NOTICE_RECEIVER
-		                       WHERE  NOTICE_SQ = A.NOTICE_SQ
-		                       AND    RECEIVER_ID = #{siteCd}
-		                      )
-		       )
-	</select>
-	
-	<!-- 공지사항 이전글 조회 -->
-	<select id="getPreviousNotice" parameterType="Notice" resultType="Notice">
-		/* TsfNotice.getPreviousNotice */
-		SELECT NOTICE_SQ    AS PREV_NOTICE_SQ
-		     , NOTICE_TITLE AS PREV_NOTICE_TITLE
-		FROM   TB_NOTICE
-		WHERE  NOTICE_SQ = (SELECT MAX(NOTICE_SQ)
-		                    FROM   TB_NOTICE N
-		                    WHERE  NOTICE_SQ <![CDATA[<]]> #{noticeSq}
-		                    AND    NOTICE_TYPE = #{noticeType}
-		                    AND    USE_YN = 'Y'
-		                    AND    NOW() BETWEEN NOTICE_STDT AND NOTICE_EDDT
-		                    <choose>
-		                        <when test="urgentYn == null or urgentYn == ''">
-		                            <if test="searchTxt != null and searchTxt != ''">
-		                                <choose>
-		                                    <when test="searchGb == 'TITLE'">
-		                    AND    NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                                    </when>
-		                                    <when test="searchGb == 'CONTENT'">
-		                    AND    NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                                    </when>
-		                                    <otherwise>
-		                    AND    (
-		                            NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                            OR
-		                            NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                           )
-		                                    </otherwise>
-		                                </choose>
-		                            </if>
-		                        </when>
-		                        <otherwise>
-		                            <if test='urgentYn == "Y"'> <!-- 최상단 공지글인 경우 -->
-		                    AND    URGENT_YN = 'Y'
-		                            </if>
-		                        </otherwise>
-		                    </choose>
-		                    AND    EXISTS (SELECT 1
-		                                   FROM   TB_NOTICE_RECEIVER
-		                                   WHERE  NOTICE_SQ = N.NOTICE_SQ
-		                                   AND    RECEIVER_ID = #{siteCd}
-		                                  )
-		                   )
-	</select>
-
-	<!-- 공지사항 다음글 조회 -->
-	<select id="getNextNotice" parameterType="Notice" resultType="Notice">
-		/* TsfNotice.getNextNotice */
-		SELECT NOTICE_SQ    AS NEXT_NOTICE_SQ
-		     , NOTICE_TITLE AS NEXT_NOTICE_TITLE
-		FROM   TB_NOTICE
-		WHERE  NOTICE_SQ = (SELECT MIN(NOTICE_SQ)
-		                    FROM   TB_NOTICE N
-		                    WHERE  NOTICE_SQ <![CDATA[>]]> #{noticeSq}
-		                    AND    NOTICE_TYPE = #{noticeType}
-		                    AND    USE_YN = 'Y'
-		                    AND    NOW() BETWEEN NOTICE_STDT AND NOTICE_EDDT
-		                    <choose>
-		                        <when test="urgentYn == null or urgentYn == ''">
-		                            <if test="searchTxt != null and searchTxt != ''">
-		                                <choose>
-		                                    <when test="searchGb == 'TITLE'">
-		                    AND    NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                                    </when>
-		                                    <when test="searchGb == 'CONTENT'">
-		                    AND    NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                                    </when>
-		                                    <otherwise>
-		                    AND    (
-		                            NOTICE_TITLE LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                            OR
-		                            NOTICE_CONTENT LIKE CONCAT('%',TRIM(#{searchTxt}),'%')
-		                           )
-		                                    </otherwise>
-		                                </choose>
-		                            </if>
-		                        </when>
-		                        <otherwise>
-		                            <if test='urgentYn == "Y"'> <!-- 최상단 공지글인 경우 -->
-		                    AND    URGENT_YN = 'Y'
-		                            </if>
-		                        </otherwise>
-		                    </choose>
-		                    AND    EXISTS (SELECT 1
-		                                   FROM   TB_NOTICE_RECEIVER
-		                                   WHERE  NOTICE_SQ = N.NOTICE_SQ
-		                                   AND    RECEIVER_ID = #{siteCd}
-		                                  )
-		                   )
-	</select>
-
 	<!-- 공지사항 파일 목록 -->
 	<select id="getNoticeFileList" parameterType="Integer" resultType="Notice">
 		/* TsfNotice.getNoticeFileList */
@@ -255,7 +59,7 @@
 	</select>
 	
 	<!-- 공지사항  조회건수 Update -->
-	<update id="updateNoticeReadCount" parameterType="Notice">
+	<update id="updateNoticeReadCount" parameterType="Integer">
 		/* TsfNotice.updateNoticeReadCount */
 		UPDATE TB_NOTICE
 		SET    READ_CNT = READ_CNT + 1