From 9c4357dd2e4fa4ebb57e1bc7c3c1970a9f7083fc Mon Sep 17 00:00:00 2001 From: name Date: Tue, 5 Sep 2023 16:52:28 +0900 Subject: [PATCH] =?UTF-8?q?=EC=84=A0=ED=83=9D=ED=95=9C=20=EA=B7=B8?= =?UTF-8?q?=EB=A6=BC=EB=AC=B8=EC=9E=90=EC=9D=98=20=EC=9A=B0=EC=84=A0?= =?UTF-8?q?=EC=84=A0=EC=9C=84=20=EB=B3=80=EA=B2=BD=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=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 | 16 +++- .../itn/let/lett/service/impl/LetterDAO.java | 16 ++++ .../lett/service/impl/LetterServiceImpl.java | 20 +++++ .../itn/let/lett/web/LetterController.java | 39 ++++++++++ .../let/letter/LetterMessages_SQL_Mysql.xml | 77 +++++++++++++++++++ .../jsp/letter/messages/BastMsgTagList.jsp | 5 +- 6 files changed, 170 insertions(+), 3 deletions(-) diff --git a/src/main/java/itn/let/lett/service/LetterService.java b/src/main/java/itn/let/lett/service/LetterService.java index 7aa727b3..64270d60 100644 --- a/src/main/java/itn/let/lett/service/LetterService.java +++ b/src/main/java/itn/let/lett/service/LetterService.java @@ -189,5 +189,19 @@ public interface LetterService { public void insertBastMsgTag(LetterVO letterVO) throws Exception ; // 메인베스트 태그 수정 - public void updateBastMsgTag(LetterVO letterVO) throws Exception ; + public void updateBastMsgTag(LetterVO letterVO) throws Exception ; + + + //(메인태그)설정하고자 하는 우선순위를 포함한 뒷 우선순위들을 우선순위 + 체크한 리스트 크기만큼 증가시키기 + public int updateChkBastMsgTagAfterSortPlus(LetterVO letterVO) throws Exception; + + //(메인태그)체크한 리스트들 우선순위 업데이트 + public int updateChkBastMsgTagListSort(LetterVO letterVO) throws Exception; + + //(메인태그)그림문자 전체 우선순위 빈값없이 정렬하기 + public int updateBastMsgTagOrderBySort(LetterVO letterVO) throws Exception; + + //(메인태그)우선순위가 null 인값 우선순위 초기세팅 + public int updateBastMsgTagNullSort(LetterVO letterVO) throws Exception; + } 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 f03a9c99..d6af8929 100644 --- a/src/main/java/itn/let/lett/service/impl/LetterDAO.java +++ b/src/main/java/itn/let/lett/service/impl/LetterDAO.java @@ -350,4 +350,20 @@ public class LetterDAO extends EgovAbstractDAO { public void updateBastMsgTag(LetterVO letterVO) throws Exception { update("LetterDAO.updateBastMsgTag", letterVO); } + + public int updateChkBastMsgTagAfterSortPlus(LetterVO letterVO) throws Exception { + return update("LetterDAO.updateChkBastMsgTagAfterSortPlus", letterVO); + } + + public int updateChkBastMsgTagListSort(LetterVO letterVO) throws Exception { + return update("LetterDAO.updateChkBastMsgTagListSort", letterVO); + } + + public int updateBastMsgTagOrderBySort(LetterVO letterVO) throws Exception { + return update("LetterDAO.updateBastMsgTagOrderBySort", letterVO); + } + + public int updateBastMsgTagNullSort(LetterVO letterVO) throws Exception { + return update("LetterDAO.updateBastMsgTagNullSort", 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 ef3c1c42..4f9539fc 100644 --- a/src/main/java/itn/let/lett/service/impl/LetterServiceImpl.java +++ b/src/main/java/itn/let/lett/service/impl/LetterServiceImpl.java @@ -431,4 +431,24 @@ public class LetterServiceImpl extends EgovAbstractServiceImpl implements Letter public void updateBastMsgTag(LetterVO letterVO) throws Exception { letterDAO.updateBastMsgTag(letterVO); } + + @Override + public int updateChkBastMsgTagAfterSortPlus(LetterVO letterVO) throws Exception { + return letterDAO.updateChkBastMsgTagAfterSortPlus(letterVO); + } + + @Override + public int updateChkBastMsgTagListSort(LetterVO letterVO) throws Exception { + return letterDAO.updateChkBastMsgTagListSort(letterVO); + } + + @Override + public int updateBastMsgTagOrderBySort(LetterVO letterVO) throws Exception { + return letterDAO.updateBastMsgTagOrderBySort(letterVO); + } + + @Override + public int updateBastMsgTagNullSort(LetterVO letterVO) throws Exception { + return letterDAO.updateBastMsgTagNullSort(letterVO); + } } diff --git a/src/main/java/itn/let/lett/web/LetterController.java b/src/main/java/itn/let/lett/web/LetterController.java index 4483e79c..e4e8b0a7 100644 --- a/src/main/java/itn/let/lett/web/LetterController.java +++ b/src/main/java/itn/let/lett/web/LetterController.java @@ -2641,6 +2641,45 @@ public class LetterController { } + @RequestMapping("/letter/messages/updateBastMsgTagSortChangeAjax.do") + @ResponseBody + public ModelAndView updateBastMsgTagSortChangeAjax(LetterVO letterVO, + ModelMap model, + HttpServletRequest request) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + modelAndView.addObject("result", "auth_fail"); + return modelAndView; + } + + letterVO.setChkIdsSize(letterVO.getChkIds().length); + + try { + + //1. 설정하고자 하는 우선순위를 포함한 뒷 우선순위들을 우선순위 + 체크한 리스트 크기만큼 증가시키기 + int result = letterService.updateChkBastMsgTagAfterSortPlus(letterVO); + //2. 체크한 리스트들 우선순위 업데이트 + result += letterService.updateChkBastMsgTagListSort(letterVO); + //3. 그림문자 전체 우선순위 빈값없이 정렬하기 + result += letterService.updateBastMsgTagOrderBySort(letterVO); + //4. 우선순위가 null인 값 우선순위 부여 + result += letterService.updateBastMsgTagNullSort(letterVO); + + modelAndView.addObject("result", "success"); + + } catch (Exception e) { + System.out.println(e.getMessage()); + modelAndView.addObject("result", "fail"); + } + + + 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 4e845caa..d492d39b 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 @@ -1316,4 +1316,81 @@ WHERE 1=1 AND MAIN_SEARCH_TAG_NO = #mainSearchTagNo# + + + UPDATE + MJ_MAIN_SEARCH_TAG + SET + SORT = SORT + #chkIdsSize# + WHERE SORT >= #sort# + + + + UPDATE + MJ_MAIN_SEARCH_TAG a + ,( + SELECT + e.MAIN_SEARCH_TAG_NO + , @rownum:=@rownum+1 AS rowNum + FROM + MJ_MAIN_SEARCH_TAG e + ,(SELECT @rownum := #sort#-1)rn + WHERE + e.MAIN_SEARCH_TAG_NO IN + + #chkIds[]# + + ORDER BY e.SORT + )b + SET a.SORT = b.rowNum + WHERE a.MAIN_SEARCH_TAG_NO = b.MAIN_SEARCH_TAG_NO + + + + UPDATE + MJ_MAIN_SEARCH_TAG a + ,( + SELECT + e.SORT + , @rownum:=@rownum+1 AS rowNum + FROM + MJ_MAIN_SEARCH_TAG e + , (SELECT @rownum := 0) rn + WHERE + e.SORT is not null + ORDER BY e.SORT + )b + SET + a.SORT = b.rowNum + WHERE + a.SORT = b.SORT + AND a.SORT is not null + + + + + + UPDATE + MJ_MAIN_SEARCH_TAG a + ,( + SELECT + @rownum:=@rownum+1 AS rowNum + , e.MAIN_SEARCH_TAG_NO + FROM + MJ_MAIN_SEARCH_TAG e + , (SELECT @rownum := + (SELECT + CASE + WHEN MAX(c.SORT) is null + THEN 0 + else MAX(c.SORT) + END + FROM MJ_MAIN_SEARCH_TAG c + ) + ) rn + WHERE e.SORT IS NULL + ) b + SET a.SORT = b.rowNum + WHERE a.MAIN_SEARCH_TAG_NO = b.MAIN_SEARCH_TAG_NO + diff --git a/src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagList.jsp b/src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagList.jsp index 16956d63..3ada484c 100644 --- a/src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagList.jsp +++ b/src/main/webapp/WEB-INF/jsp/letter/messages/BastMsgTagList.jsp @@ -27,6 +27,7 @@ function fn_search(){ function linkPage(pageNo){ var listForm = document.listForm ; listForm.pageIndex.value = pageNo ; + listForm.action = "/letter/messages/selectBastMsgTagList.do"; listForm.submit(); } @@ -86,7 +87,7 @@ function fnSortChange(){ } } } - var url = "/letter/messages/updateMainTagSortChangeAjax.do"; + var url = "/letter/messages/updateBastMsgTagSortChangeAjax.do"; //배열 직렬화 jQuery.ajaxSettings.traditional = true; @@ -117,7 +118,7 @@ function fnSortChange(){ }); } -
+ " />