From df8a2408961f045a3ce942bc40bf4058710261f5 Mon Sep 17 00:00:00 2001 From: itn Date: Wed, 30 Aug 2023 15:27:26 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A3=BC=EC=86=8C=EB=A1=9D=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=20=EC=99=BC=EC=AA=BD=ED=99=94=EB=A9=B4=20=EB=A1=9C=EB=94=A9?= =?UTF-8?q?=EC=86=8D=EB=8F=84=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mjo/addr/service/AddrGroupService.java | 10 ++- .../mjo/addr/service/impl/AddrGroupDAO.java | 21 +++-- .../service/impl/AddrGroupServiceImpl.java | 16 +++- .../let/mjo/addr/web/AddrGroupController.java | 87 +++++++++++++++---- .../let/mjo/addr/AddrGroup_SQL_Mysql.xml | 55 ++++++------ .../jsp/web/addr/AddrGroupListAjax.jsp | 58 +++++++++++-- 6 files changed, 184 insertions(+), 63 deletions(-) diff --git a/src/main/java/itn/let/mjo/addr/service/AddrGroupService.java b/src/main/java/itn/let/mjo/addr/service/AddrGroupService.java index 2ee0f2ac..260d4678 100644 --- a/src/main/java/itn/let/mjo/addr/service/AddrGroupService.java +++ b/src/main/java/itn/let/mjo/addr/service/AddrGroupService.java @@ -22,8 +22,14 @@ public interface AddrGroupService { public AddrGroupVO selectAddrGroupDetail(AddrGroupVO addrGroupVO) throws Exception; - // 주소록 그룹 카운트 조회 - public AddrGroupVO selectAddrGroupCnt(AddrGroupVO addrGroupVO) throws Exception; + // 주소록 그룹 카운트 조회(전체) + public AddrGroupVO selectAddrGroupTotCnt(AddrGroupVO addrGroupVO) throws Exception; + + // 주소록 그룹 카운트 조회(그룹미지정) + public AddrGroupVO selectAddrGroupNogrpCnt(AddrGroupVO addrGroupVO) throws Exception; + + // 주소록 그룹 카운트 조회(자주보내는 번호) + public AddrGroupVO selectAddrGroupBookmarkCnt(AddrGroupVO addrGroupVO) throws Exception; public String insertAddrGroup(AddrGroupVO addrGroupVO) throws Exception; diff --git a/src/main/java/itn/let/mjo/addr/service/impl/AddrGroupDAO.java b/src/main/java/itn/let/mjo/addr/service/impl/AddrGroupDAO.java index 4f83d528..6ce5bc50 100644 --- a/src/main/java/itn/let/mjo/addr/service/impl/AddrGroupDAO.java +++ b/src/main/java/itn/let/mjo/addr/service/impl/AddrGroupDAO.java @@ -45,16 +45,21 @@ public class AddrGroupDAO extends EgovAbstractDAO { return (AddrGroupVO) select("AddrGroupDAO.selectAddrGroupDetail", addrGroupVO); } - /** - * 주소록 그룹 카운트 조회 - * @param addrGroupVO - * @return - * @throws Exception - */ - public AddrGroupVO selectAddrGroupCnt(AddrGroupVO addrGroupVO) throws Exception { - return (AddrGroupVO) select("AddrGroupDAO.selectAddrGroupCnt", addrGroupVO); + // 주소록 그룹 카운트 조회(전체) + public AddrGroupVO selectAddrGroupTotCnt(AddrGroupVO addrGroupVO) throws Exception { + return (AddrGroupVO) select("AddrGroupDAO.selectAddrGroupTotCnt", addrGroupVO); } + // 주소록 그룹 카운트 조회(그룹미지정) + public AddrGroupVO selectAddrGroupNogrpCnt(AddrGroupVO addrGroupVO) throws Exception { + return (AddrGroupVO) select("AddrGroupDAO.selectAddrGroupNogrpCnt", addrGroupVO); + } + + // 주소록 그룹 카운트 조회(자주보내는 번호) + public AddrGroupVO selectAddrGroupBookmarkCnt(AddrGroupVO addrGroupVO) throws Exception { + return (AddrGroupVO) select("AddrGroupDAO.selectAddrGroupBookmarkCnt", addrGroupVO); + } + /** * 주소록 그룹 등록 * @param addrGroupVO diff --git a/src/main/java/itn/let/mjo/addr/service/impl/AddrGroupServiceImpl.java b/src/main/java/itn/let/mjo/addr/service/impl/AddrGroupServiceImpl.java index 40d499c1..aa5170f9 100644 --- a/src/main/java/itn/let/mjo/addr/service/impl/AddrGroupServiceImpl.java +++ b/src/main/java/itn/let/mjo/addr/service/impl/AddrGroupServiceImpl.java @@ -46,9 +46,19 @@ public class AddrGroupServiceImpl extends EgovAbstractServiceImpl implements Ad return addrGroupDAO.selectAddrGroupDetail(addrGroupVO); } - // 주소록 그룹 카운트 조회 - public AddrGroupVO selectAddrGroupCnt(AddrGroupVO addrGroupVO) throws Exception { - return addrGroupDAO.selectAddrGroupCnt(addrGroupVO); + // 주소록 그룹 카운트 조회(전체) + public AddrGroupVO selectAddrGroupTotCnt(AddrGroupVO addrGroupVO) throws Exception { + return addrGroupDAO.selectAddrGroupTotCnt(addrGroupVO); + } + + // 주소록 그룹 카운트 조회(그룹미지정) + public AddrGroupVO selectAddrGroupNogrpCnt(AddrGroupVO addrGroupVO) throws Exception { + return addrGroupDAO.selectAddrGroupNogrpCnt(addrGroupVO); + } + + // 주소록 그룹 카운트 조회(자주보내는 번호) + public AddrGroupVO selectAddrGroupBookmarkCnt(AddrGroupVO addrGroupVO) throws Exception { + return addrGroupDAO.selectAddrGroupBookmarkCnt(addrGroupVO); } public String insertAddrGroup(AddrGroupVO addrGroupVO) throws Exception { diff --git a/src/main/java/itn/let/mjo/addr/web/AddrGroupController.java b/src/main/java/itn/let/mjo/addr/web/AddrGroupController.java index f3dadf67..9465cd0a 100644 --- a/src/main/java/itn/let/mjo/addr/web/AddrGroupController.java +++ b/src/main/java/itn/let/mjo/addr/web/AddrGroupController.java @@ -429,18 +429,9 @@ public class AddrGroupController { return "/web/addr/AddrGroupSelectAjax"; } - /** - * 주소록 그룹 카운트 조회 Ajax - * - * @param request - * @param addrGroupVO - * @param redirectAttributes - * @param model - * @return - * @throws Exception - */ - @RequestMapping("/web/addr/selectAddrGroupCntAjax.do") - public ModelAndView selectAddrGroupCntAjax(HttpServletRequest request, + // 주소록 그룹 카운트 조회(전체) Ajax + @RequestMapping("/web/addr/selectAddrGroupTotCntAjax.do") + public ModelAndView selectAddrGroupTotCntAjax(HttpServletRequest request, @ModelAttribute("searchVO") AddrGroupVO addrGroupVO , Model model) throws Exception { @@ -449,18 +440,14 @@ public class AddrGroupController { boolean isSuccess = true; String msg = ""; - int bookmarkCnt = 0; - int nogrpCnt = 0; int addrTotCnt = 0; try{ LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); addrGroupVO.setMberId(user.getId()); - addrGroupVO = addrGroupService.selectAddrGroupCnt(addrGroupVO); + addrGroupVO = addrGroupService.selectAddrGroupTotCnt(addrGroupVO); if (addrGroupVO != null) { - bookmarkCnt = addrGroupVO.getBookmarkCnt(); - nogrpCnt = addrGroupVO.getNogrpCnt(); addrTotCnt = addrGroupVO.getAddrTotCnt(); } } @@ -472,7 +459,73 @@ public class AddrGroupController { modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); modelAndView.addObject("addrTotCnt", addrTotCnt); + + return modelAndView; + } + + // 주소록 그룹 카운트 조회(전체) Ajax + @RequestMapping("/web/addr/selectAddrGroupNogrpCntAjax.do") + public ModelAndView selectAddrGroupNogrpCntAjax(HttpServletRequest request, + @ModelAttribute("searchVO") AddrGroupVO addrGroupVO + , Model model) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + boolean isSuccess = true; + String msg = ""; + int nogrpCnt = 0; + + try{ + LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + addrGroupVO.setMberId(user.getId()); + + addrGroupVO = addrGroupService.selectAddrGroupNogrpCnt(addrGroupVO); + if (addrGroupVO != null) { + nogrpCnt = addrGroupVO.getNogrpCnt(); + } + } + catch(Exception e) { + isSuccess = false; + msg = e.getMessage(); + } + + modelAndView.addObject("isSuccess", isSuccess); + modelAndView.addObject("msg", msg); modelAndView.addObject("nogrpCnt", nogrpCnt); + + return modelAndView; + } + + // 주소록 그룹 카운트 조회(전체) Ajax + @RequestMapping("/web/addr/selectAddrGroupBookmarkCntAjax.do") + public ModelAndView selectAddrGroupBookmarkCntAjax(HttpServletRequest request, + @ModelAttribute("searchVO") AddrGroupVO addrGroupVO + , Model model) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + boolean isSuccess = true; + String msg = ""; + int bookmarkCnt = 0; + + try{ + LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + addrGroupVO.setMberId(user.getId()); + + addrGroupVO = addrGroupService.selectAddrGroupBookmarkCnt(addrGroupVO); + if (addrGroupVO != null) { + bookmarkCnt = addrGroupVO.getBookmarkCnt(); + } + } + catch(Exception e) { + isSuccess = false; + msg = e.getMessage(); + } + + modelAndView.addObject("isSuccess", isSuccess); + modelAndView.addObject("msg", msg); modelAndView.addObject("bookmarkCnt", bookmarkCnt); return modelAndView; diff --git a/src/main/resources/egovframework/sqlmap/let/mjo/addr/AddrGroup_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/mjo/addr/AddrGroup_SQL_Mysql.xml index 43eb3e6d..2111dbab 100644 --- a/src/main/resources/egovframework/sqlmap/let/mjo/addr/AddrGroup_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/mjo/addr/AddrGroup_SQL_Mysql.xml @@ -70,37 +70,36 @@ AND a.ADDR_GRP_ID = #addrGrpId# - - SELECT - ( - SELECT - COUNT(0) - FROM MJ_ADDR A - WHERE A.MBER_ID = #mberId# - AND A.BOOKMARK = 'Y' - AND A.DELETE_YN = 'N' - ) bookmarkCnt - , ( - SELECT - COUNT(0) - FROM MJ_ADDR A - WHERE A.MBER_ID = #mberId# - AND A.ADDR_GRP_ID = '0' - AND A.BOOKMARK = 'N' - AND A.DELETE_YN = 'N' - ) nogrpCnt - , ( - SELECT - COUNT(0) - FROM MJ_ADDR A - WHERE A.MBER_ID = #mberId# - AND (A.RECV_STATUS = 'Y' OR A.RECV_STATUS = 'S' OR A.RECV_STATUS IS NULL) - AND A.DELETE_YN = 'N' - ) addrTotCnt - FROM DUAL + COUNT(0) AS addrTotCnt + FROM MJ_ADDR A + WHERE A.MBER_ID = #mberId# + AND (A.RECV_STATUS = 'Y' OR A.RECV_STATUS = 'S' OR A.RECV_STATUS IS NULL) + AND A.DELETE_YN = 'N' + + + + + + INSERT INTO MJ_ADDR_GRP ( diff --git a/src/main/webapp/WEB-INF/jsp/web/addr/AddrGroupListAjax.jsp b/src/main/webapp/WEB-INF/jsp/web/addr/AddrGroupListAjax.jsp index 980c3463..cf3da8fb 100644 --- a/src/main/webapp/WEB-INF/jsp/web/addr/AddrGroupListAjax.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/addr/AddrGroupListAjax.jsp @@ -10,23 +10,71 @@ var successHtml=""; $(document).ready(function(){ - // 주소록 그룹 카운트 - getAddrGroupCnt(); + // 주소록 그룹 카운트(전체) + getAddrGroupTotCnt(); + + //주소록 그룹 카운트(그룹미지정) + getAddrGroupNogrpCnt(); + + //주소록 그룹 카운트(자주보내는 번호) + getAddrGroupBookmarkCnt(); }); -// 주소록 그룹 카운트 -function getAddrGroupCnt() { +// 주소록 그룹 카운트(전체) +function getAddrGroupTotCnt() { $.ajax({ type: "POST", - url: "/web/addr/selectAddrGroupCntAjax.do", + url: "/web/addr/selectAddrGroupTotCntAjax.do", data: {}, dataType:'json', async: true, success: function (data) { if (data.isSuccess) { $("#addrTotCnt").html(numberWithCommas(data.addrTotCnt)); + } + else { + //alert("Msg : " + data.msg); + } + }, + error: function (e) { + //alert("ERROR : " + JSON.stringify(e)); + } + }); +} + +//주소록 그룹 카운트(그룹미지정) +function getAddrGroupNogrpCnt() { + $.ajax({ + type: "POST", + url: "/web/addr/selectAddrGroupNogrpCntAjax.do", + data: {}, + dataType:'json', + async: true, + success: function (data) { + if (data.isSuccess) { $("#nogrpCnt").html(data.nogrpCnt); + } + else { + //alert("Msg : " + data.msg); + } + }, + error: function (e) { + //alert("ERROR : " + JSON.stringify(e)); + } + }); +} + +//주소록 그룹 카운트(자주보내는 번호) +function getAddrGroupBookmarkCnt() { + $.ajax({ + type: "POST", + url: "/web/addr/selectAddrGroupBookmarkCntAjax.do", + data: {}, + dataType:'json', + async: true, + success: function (data) { + if (data.isSuccess) { $("#bookmarkCnt").html(data.bookmarkCnt); } else {