From 47f4edf866fa6468b03c0c5ad275761212031c98 Mon Sep 17 00:00:00 2001 From: itn Date: Wed, 30 Aug 2023 14:58:01 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A3=BC=EC=86=8C=EB=A1=9D=EA=B7=B8=EB=A3=B9?= =?UTF-8?q?=20=EC=84=B1=EB=8A=A5=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 | 3 + .../itn/let/mjo/addr/service/AddrGroupVO.java | 22 +++++++ .../mjo/addr/service/impl/AddrGroupDAO.java | 11 +++- .../service/impl/AddrGroupServiceImpl.java | 5 ++ .../let/mjo/addr/web/AddrGroupController.java | 60 +++++++++++++++++-- .../let/mjo/addr/AddrGroup_SQL_Mysql.xml | 33 +++++++++- .../jsp/web/addr/AddrGroupListAjax.jsp | 40 +++++++++++-- 7 files changed, 161 insertions(+), 13 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 b0bc071e..2ee0f2ac 100644 --- a/src/main/java/itn/let/mjo/addr/service/AddrGroupService.java +++ b/src/main/java/itn/let/mjo/addr/service/AddrGroupService.java @@ -22,6 +22,9 @@ public interface AddrGroupService { public AddrGroupVO selectAddrGroupDetail(AddrGroupVO addrGroupVO) throws Exception; + // 주소록 그룹 카운트 조회 + public AddrGroupVO selectAddrGroupCnt(AddrGroupVO addrGroupVO) throws Exception; + public String insertAddrGroup(AddrGroupVO addrGroupVO) throws Exception; public int updateAddrGroup(AddrGroupVO addrGroupVO) throws Exception; diff --git a/src/main/java/itn/let/mjo/addr/service/AddrGroupVO.java b/src/main/java/itn/let/mjo/addr/service/AddrGroupVO.java index 78f24966..aed15e16 100644 --- a/src/main/java/itn/let/mjo/addr/service/AddrGroupVO.java +++ b/src/main/java/itn/let/mjo/addr/service/AddrGroupVO.java @@ -18,6 +18,28 @@ public class AddrGroupVO extends ComDefaultVO{ private String grpCount; // 그룹에 소속된 주소록 갯수 private String mergeGrps; // 합치기 그룹 id + private int bookmarkCnt; + private int nogrpCnt; + private int addrTotCnt; + + public int getBookmarkCnt() { + return bookmarkCnt; + } + public void setBookmarkCnt(int bookmarkCnt) { + this.bookmarkCnt = bookmarkCnt; + } + public int getNogrpCnt() { + return nogrpCnt; + } + public void setNogrpCnt(int nogrpCnt) { + this.nogrpCnt = nogrpCnt; + } + public int getAddrTotCnt() { + return addrTotCnt; + } + public void setAddrTotCnt(int addrTotCnt) { + this.addrTotCnt = addrTotCnt; + } public int getTotcnt() { return totcnt; } 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 739fb283..4f83d528 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 @@ -44,7 +44,16 @@ public class AddrGroupDAO extends EgovAbstractDAO { public AddrGroupVO selectAddrGroupDetail(AddrGroupVO addrGroupVO) throws Exception { return (AddrGroupVO) select("AddrGroupDAO.selectAddrGroupDetail", addrGroupVO); } - + + /** + * 주소록 그룹 카운트 조회 + * @param addrGroupVO + * @return + * @throws Exception + */ + public AddrGroupVO selectAddrGroupCnt(AddrGroupVO addrGroupVO) throws Exception { + return (AddrGroupVO) select("AddrGroupDAO.selectAddrGroupCnt", 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 9cbf2a01..40d499c1 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,6 +46,11 @@ public class AddrGroupServiceImpl extends EgovAbstractServiceImpl implements Ad return addrGroupDAO.selectAddrGroupDetail(addrGroupVO); } + // 주소록 그룹 카운트 조회 + public AddrGroupVO selectAddrGroupCnt(AddrGroupVO addrGroupVO) throws Exception { + return addrGroupDAO.selectAddrGroupCnt(addrGroupVO); + } + public String insertAddrGroup(AddrGroupVO addrGroupVO) throws Exception { int orderNum = addrGroupDAO.selectMaxOrderNumber(addrGroupVO); addrGroupVO.setGrpOrder(orderNum); 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 6332e8a6..f3dadf67 100644 --- a/src/main/java/itn/let/mjo/addr/web/AddrGroupController.java +++ b/src/main/java/itn/let/mjo/addr/web/AddrGroupController.java @@ -181,10 +181,12 @@ public class AddrGroupController { addrGroupVO.setSearchSortCnd("grpOrder"); addrGroupVO.setSearchSortOrd("desc"); } - + addrGroupVO.setSiteId("web"); List addrGroupList = addrGroupService.selectAddrGroupList(addrGroupVO); - + + /* + * JSPark 2023.08.30 => Ajax 로 변경 //회원별 주소록 전체 갯수 조회 int addrTotalCount = addrService.selectAddrTotalCount(addrVO); @@ -194,12 +196,12 @@ public class AddrGroupController { addrVO.setType("noGrp"); List addrNoGrpList = addrService.selectAddrBasicGrpList(addrVO); - - model.addAttribute("addrTotalCount", addrTotalCount); - model.addAttribute("addrGroupList", addrGroupList); model.addAttribute("addrBookmarkList", addrBookmarkList); model.addAttribute("addrNoGrpList", addrNoGrpList); + */ + + model.addAttribute("addrGroupList", addrGroupList); model.addAttribute("userId", userId); return "/web/addr/AddrGroupListAjax"; @@ -427,6 +429,54 @@ 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, + @ModelAttribute("searchVO") AddrGroupVO addrGroupVO + , Model model) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + 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); + if (addrGroupVO != null) { + bookmarkCnt = addrGroupVO.getBookmarkCnt(); + nogrpCnt = addrGroupVO.getNogrpCnt(); + addrTotCnt = addrGroupVO.getAddrTotCnt(); + } + } + catch(Exception e) { + isSuccess = false; + msg = e.getMessage(); + } + + modelAndView.addObject("isSuccess", isSuccess); + modelAndView.addObject("msg", msg); + modelAndView.addObject("addrTotCnt", addrTotCnt); + modelAndView.addObject("nogrpCnt", nogrpCnt); + 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 966b863f..43eb3e6d 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 @@ -69,7 +69,38 @@ WHERE 1=1 AND a.ADDR_GRP_ID = #addrGrpId# - + + + + 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 f4d0d98a..980c3463 100644 --- a/src/main/webapp/WEB-INF/jsp/web/addr/AddrGroupListAjax.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/addr/AddrGroupListAjax.jsp @@ -6,9 +6,39 @@