From baa9ee61430218e5ae328ea41d1d5ae4a4437aaf Mon Sep 17 00:00:00 2001 From: name Date: Tue, 5 Sep 2023 15:49:38 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B2=A0=EC=8A=A4=ED=8A=B8=EB=AC=B8=EC=9E=90?= =?UTF-8?q?=EC=83=98=ED=94=8C=20(=EB=A9=94=EC=9D=B8)=ED=99=94=EB=A9=B4=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itn/let/lett/service/LetterService.java | 14 + .../java/itn/let/lett/service/LetterVO.java | 10 +- .../itn/let/lett/service/impl/LetterDAO.java | 21 ++ .../lett/service/impl/LetterServiceImpl.java | 22 +- .../itn/let/lett/web/LetterController.java | 115 +++++++- .../let/letter/LetterMessages_SQL_Mysql.xml | 111 ++++++- .../jsp/letter/messages/BastMsgTagInfo.jsp | 222 ++++++++++++++ .../jsp/letter/messages/BastMsgTagList.jsp | 271 ++++++++++++++++++ 8 files changed, 777 insertions(+), 9 deletions(-) create mode 100644 src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagInfo.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagList.jsp diff --git a/src/main/java/itn/let/lett/service/LetterService.java b/src/main/java/itn/let/lett/service/LetterService.java index 2a88e704..08736fc0 100644 --- a/src/main/java/itn/let/lett/service/LetterService.java +++ b/src/main/java/itn/let/lett/service/LetterService.java @@ -175,4 +175,18 @@ public interface LetterService { public List selectMainTagWebList(LetterVO letterVO) throws Exception ; // 첫번째 키워드 조회 public LetterVO selectFrsKeyword(LetterVO letterVO) throws Exception ; + + + + // 메인베스트 태그 관리 + public List selectBastMsgTagList(LetterVO letterVO) throws Exception ; + + // 메인베스트 태그 상세 + public LetterVO selectBastMsgTagInfo(LetterVO letterVO) throws Exception ; + + // 메인베스트 태그 등록 + public void insertBastMsgTag(LetterVO letterVO) throws Exception ; + + // 메인베스트 태그 수정 + public void updateBastMsgTag(LetterVO letterVO) throws Exception ; } diff --git a/src/main/java/itn/let/lett/service/LetterVO.java b/src/main/java/itn/let/lett/service/LetterVO.java index c74e2255..f5997164 100644 --- a/src/main/java/itn/let/lett/service/LetterVO.java +++ b/src/main/java/itn/let/lett/service/LetterVO.java @@ -46,6 +46,7 @@ public class LetterVO extends UserDefaultVO{ private int chkIdsSize; // 메인태그관리 + private String mainSearchTagNo; private String mainTagNo; private String tagNm; private String tagType; @@ -380,7 +381,10 @@ public class LetterVO extends UserDefaultVO{ public void setLetterAlt(String letterAlt) { this.letterAlt = letterAlt; } - - - + public String getMainSearchTagNo() { + return mainSearchTagNo; + } + public void setMainSearchTagNo(String mainSearchTagNo) { + this.mainSearchTagNo = mainSearchTagNo; + } } diff --git a/src/main/java/itn/let/lett/service/impl/LetterDAO.java b/src/main/java/itn/let/lett/service/impl/LetterDAO.java index 72fa82e2..fc2d1de0 100644 --- a/src/main/java/itn/let/lett/service/impl/LetterDAO.java +++ b/src/main/java/itn/let/lett/service/impl/LetterDAO.java @@ -324,4 +324,25 @@ public class LetterDAO extends EgovAbstractDAO { return (LetterVO) select("LetterDAO.selectFrsKeyword", letterVO); } + + // 메인 베스트 태그 관리 + @SuppressWarnings("unchecked") + public List selectBastMsgTagList(LetterVO letterVO) throws Exception { + return (List) list("LetterDAO.selectBastMsgTagList", letterVO); + } + + // 메인 베스트 태그 상세 + public LetterVO selectBastMsgTagInfo(LetterVO letterVO) throws Exception { + return (LetterVO) select("LetterDAO.selectBastMsgTagInfo", letterVO); + } + + // 메인 베스트 태그 등록 + public void insertBastMsgTag(LetterVO letterVO) throws Exception { + insert("LetterDAO.insertBastMsgTag", letterVO); + } + + // 메인 베스트 태그 수정 + public void updateBastMsgTag(LetterVO letterVO) throws Exception { + update("LetterDAO.updateBastMsgTag", letterVO); + } } diff --git a/src/main/java/itn/let/lett/service/impl/LetterServiceImpl.java b/src/main/java/itn/let/lett/service/impl/LetterServiceImpl.java index a93e9b09..2026e124 100644 --- a/src/main/java/itn/let/lett/service/impl/LetterServiceImpl.java +++ b/src/main/java/itn/let/lett/service/impl/LetterServiceImpl.java @@ -404,5 +404,25 @@ public class LetterServiceImpl extends EgovAbstractServiceImpl implements Letter @Override public LetterVO selectFrsKeyword(LetterVO letterVO) throws Exception { return letterDAO.selectFrsKeyword(letterVO); - } + } + + @Override + public List selectBastMsgTagList(LetterVO letterVO) throws Exception { + return letterDAO.selectBastMsgTagList(letterVO); + } + + @Override + public LetterVO selectBastMsgTagInfo(LetterVO letterVO) throws Exception { + return letterDAO.selectBastMsgTagInfo(letterVO); + } + + @Override + public void insertBastMsgTag(LetterVO letterVO) throws Exception { + letterDAO.insertBastMsgTag(letterVO); + } + + @Override + public void updateBastMsgTag(LetterVO letterVO) throws Exception { + letterDAO.updateBastMsgTag(letterVO); + } } diff --git a/src/main/java/itn/let/lett/web/LetterController.java b/src/main/java/itn/let/lett/web/LetterController.java index 5b335962..4483e79c 100644 --- a/src/main/java/itn/let/lett/web/LetterController.java +++ b/src/main/java/itn/let/lett/web/LetterController.java @@ -2436,7 +2436,7 @@ public class LetterController { model.addAttribute("paginationInfo", paginationInfo); return "letter/messages/MainTagList"; - } + } /** * 메인태그 등록화면 @@ -2528,7 +2528,118 @@ public class LetterController { modelAndView.addObject("msg", msg); return modelAndView; - } + } + + + + /*-------------------------------------------*/ + + + /** + * @Method Name : selectBastMsgTagList + * @작성일 : 2023. 9. 5. + * @작성자 : WYH + * @변경이력 : + * @Method 설명 : 배스트 문자샘플 매인화면 + */ + @RequestMapping(value="/letter/messages/selectBastMsgTagList.do") + public String selectBastMsgTagList(@ModelAttribute("searchVO") LetterVO searchVO, + ModelMap model) throws Exception { + + if(searchVO.getPageUnit() != 10) { + searchVO.setPageUnit(searchVO.getPageUnit()); + } + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(searchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(searchVO.getPageUnit()); + paginationInfo.setPageSize(searchVO.getPageSize()); + + if("".equals(searchVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + searchVO.setSearchSortCnd("mainSearchTagNo"); + searchVO.setSearchSortOrd("desc"); + } + + searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + searchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + List mainTagList = letterService.selectBastMsgTagList(searchVO); + + model.addAttribute("resultList", mainTagList); + paginationInfo.setTotalRecordCount(mainTagList.size() > 0 ? ((LetterVO)mainTagList.get(0)).getTotCnt() : 0); + model.addAttribute("paginationInfo", paginationInfo); + + return "letter/messages/BastMsgTagList"; + } + + /** + * @Method Name : insertBastMsgTagView + * @작성일 : 2023. 9. 5. + * @작성자 : WYH + * @변경이력 : + * @Method 설명 : 베스트 문자샘플 등록화면 + */ + @RequestMapping("/letter/messages/insertBastMsgTagView.do") + public String insertBastMsgTagView( + @ModelAttribute("searchVO") LetterVO searchVO + , Model model) throws Exception { + + LetterVO letterVO = new LetterVO(); + if(null != searchVO.getMainSearchTagNo() && !"".equals(searchVO.getMainSearchTagNo())) { + //수정 + letterVO = letterService.selectBastMsgTagInfo(searchVO); //이전 로그인한 IP 까지 조회 + } + model.addAttribute("letterVO", letterVO); + + return "letter/messages/BastMsgTagInfo"; + } + + /** + * @Method Name : saveBastMsgTagAjax + * @작성일 : 2023. 9. 5. + * @작성자 : WYH + * @변경이력 : + * @Method 설명 : 베스트 문자샘플 등록 / 수정 + */ + @RequestMapping(value = "/letter/messages/saveBastMsgTagAjax.do") + public ModelAndView saveBastMsgTagAjax( + @ModelAttribute("letterVO") LetterVO letterVO) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + boolean isSuccess = true; + String msg = ""; + + // 로그인VO에서 사용자 정보 가져오기 + LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + String frstRegisterId = loginVO == null ? "" : loginVO.getId(); + letterVO.setRegId(frstRegisterId); // 최초등록자ID + + + try{ + if(null != letterVO.getMainSearchTagNo() && !"".equals(letterVO.getMainSearchTagNo())) { + //수정 + letterService.updateBastMsgTag(letterVO); + } + else { + // 등록 + letterService.insertBastMsgTag(letterVO); + } + + } + catch(Exception e) { + isSuccess = false; + msg = e.getMessage(); + } + + modelAndView.addObject("isSuccess", isSuccess); + modelAndView.addObject("msg", msg); + + return modelAndView; + } + @RequestMapping(value={"/letter/photo/updateMultiMjonMsgAgentStsDataAjax.do"}) public ModelAndView updateMultiMjonMsgAgentStsDataAjax(@ModelAttribute("mjonMsgAgentStsVO") MjonMsgAgentStsVO mjonMsgAgentStsVO) throws Exception { diff --git a/src/main/resources/egovframework/sqlmap/let/letter/LetterMessages_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/letter/LetterMessages_SQL_Mysql.xml index cfb21d50..892e4924 100644 --- a/src/main/resources/egovframework/sqlmap/let/letter/LetterMessages_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/letter/LetterMessages_SQL_Mysql.xml @@ -1043,7 +1043,7 @@ WHERE LETTER_ID = #letterId# - + - INSERT INTO mj_main_tag ( + INSERT INTO MJ_MAIN_TAG ( TAG_NM, TAG_TYPE, TAG_Div, @@ -1186,4 +1187,108 @@ ORDER BY sort asc LIMIT 1 + + + + + + + + INSERT INTO MJ_MAIN_SEARCH_TAG ( + TAG_NM + , TAG_TYPE + , TAG_Div + , URL + , SORT + , USE_YN + , REG_ID + , REG_DT + , MOD_ID + , MOD_DT + ) + VALUES ( + #tagNm# + , #tagType# + , #tagDiv# + , #url# + , #sort# + , #useYn# + , #regId# + , now() + , #regId# + , now() + ) + + + UPDATE + MJ_MAIN_SEARCH_TAG + SET + TAG_NM = #tagNm# + , TAG_TYPE = #tagType# + , TAG_Div = #tagDiv# + , URL = #url# + , SORT = #sort# + , USE_YN = #useYn# + , MOD_ID = #modId# + , MOD_DT = now() + WHERE 1=1 + AND MAIN_SEARCH_TAG_NO = #mainSearchTagNo# + diff --git a/src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagInfo.jsp b/src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagInfo.jsp new file mode 100644 index 00000000..6b882605 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagInfo.jsp @@ -0,0 +1,222 @@ +<% + /** + * @Class Name : EgovHpcmRegist.jsp + * @Description : EgovHpcmRegist 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> + + + +베스트 문자샘플 등록 + + + + + + +
+ + +
+
+
+

베스트 문자샘플 등록

+

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
메뉴 분류 + checked="checked" /> + +    + checked="checked" /> + + +
문자 구분 + +
URL + +
문자 키워드 + +
정렬순서 + +
사용여부 + + +
+
+ + +
+
+
+
+ + diff --git a/src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagList.jsp b/src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagList.jsp new file mode 100644 index 00000000..16956d63 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagList.jsp @@ -0,0 +1,271 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> + +<% pageContext.setAttribute("newLineChar", "\r\n"); %> +<% pageContext.setAttribute("newLineChar2", "\n"); %> + +<% + response.setHeader("Cache-Control","no-store"); + response.setHeader("Pragma","no-cache"); + response.setDateHeader("Expires",0); + if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache"); +%> + + + +
+ + + " /> + " /> + +
+
+
+

베스트 문자샘플(메인)

+

+
+
+
+ + + + + + + + + + +
+
+

+
+ + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
번호분류구분키워드URL순서사용등록자등록일자
+ + + + + + + + + + + + 검색 + 소개 + + + + 단문 + 장문 + 그림 + - + + + + + + + + + + 사용 + 미사용 + + "> + + +
+
+
+ 선택한 그림문자의 우선순위를 번으로 +
+
+ +
+ + +
+
    + +
+
+
+ +
+
+