From 156700aa4ca86feed7feefb351ef05e129e9cc61 Mon Sep 17 00:00:00 2001 From: hylee Date: Wed, 28 Aug 2024 14:07:17 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AC=B8=EC=9E=90=EC=A0=84=EC=86=A1=20>=20?= =?UTF-8?q?=EC=A3=BC=EC=86=8C=EB=A1=9D=20=EB=B6=88=EB=9F=AC=EC=98=A4?= =?UTF-8?q?=EA=B8=B0=20=EA=B1=B4=EC=88=98=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/itn/let/mjo/addr/service/AddrVO.java | 34 + .../msgdata/service/MjonMsgDataService.java | 2 + .../msgdata/service/impl/MjonMsgDataDAO.java | 5 + .../service/impl/MjonMsgDataServiceImpl.java | 6 + .../msgdata/web/MjonMsgDataController.java | 55 +- .../sqlmap/let/msg/MjonMsgData_SQL_mysql.xml | 49 + .../jsp/web/msgcampain/MsgDataSMLView.jsp | 3241 +++++++++-------- .../jsp/web/msgdata/MsgDataSMLView.jsp | 160 +- 8 files changed, 1895 insertions(+), 1657 deletions(-) diff --git a/src/main/java/itn/let/mjo/addr/service/AddrVO.java b/src/main/java/itn/let/mjo/addr/service/AddrVO.java index fa8cfbdc..9079994e 100644 --- a/src/main/java/itn/let/mjo/addr/service/AddrVO.java +++ b/src/main/java/itn/let/mjo/addr/service/AddrVO.java @@ -412,5 +412,39 @@ public class AddrVO extends ComDefaultVO{ } + + private int page = 1; // 기본 값 설정 + private int size = 10; // 기본 값 설정 + private int offset; // 기본 값 설정 + + + public int getPage() { + return page; + } + + public void setPage(int page) { + if(page > 0) { + this.page = page; + } + } + + public int getSize() { + return size; + } + + public void setSize(int size) { + if(size > 0) { + this.size = size; + } + } + + // OFFSET 계산 메서드 추가 + public int getOffset() { + return (page - 1) * size; + } + public void setOffset(int offset) { + this.offset = offset; + } + } diff --git a/src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java b/src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java index 60fbf1bc..ce1cd6a0 100644 --- a/src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java +++ b/src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java @@ -174,5 +174,7 @@ public interface MjonMsgDataService { public String selectMsgUserLastIdgen(MjonMsgVO mjonMsgVO) throws Exception; public List selectMsgAddrListAjax_advc(AddrVO addrVO) throws Exception; + + public int countByMsgAddrListAjax_advc(AddrVO addrVO) throws Exception; } diff --git a/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataDAO.java b/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataDAO.java index 770b4161..7e18bfd4 100644 --- a/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataDAO.java +++ b/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataDAO.java @@ -355,5 +355,10 @@ public class MjonMsgDataDAO extends EgovAbstractDAO { public List selectMsgAddrListAjax_advc(AddrVO addrVO) { return (List) list("mjonMsgDAO.selectMsgAddrListAjax_advc", addrVO); } + + + public int countByMsgAddrListAjax_advc(AddrVO addrVO) { + return (int) select("mjonMsgDAO.countByMsgAddrListAjax_advc", addrVO); + } } diff --git a/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java b/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java index 13ea69c2..79e906bf 100644 --- a/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java +++ b/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java @@ -3057,5 +3057,11 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M return mjonMsgDataDAO.selectMsgAddrListAjax_advc(addrVO); } + @Override + public int countByMsgAddrListAjax_advc(AddrVO addrVO) throws Exception { + + return mjonMsgDataDAO.countByMsgAddrListAjax_advc(addrVO); + } + } diff --git a/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java b/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java index ecdcc498..fe9adcfd 100644 --- a/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java +++ b/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java @@ -40,6 +40,8 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; @@ -1759,8 +1761,7 @@ public class MjonMsgDataController { long startTime = System.currentTimeMillis(); // 시작 시간 측정 -// List resultAddrList = mjonMsgDataService.selectMsgAddrListAjax(addrVO); - List resultAddrList = mjonMsgDataService.selectMsgAddrListAjax_advc(addrVO); + List resultAddrList = mjonMsgDataService.selectMsgAddrListAjax(addrVO); long endTime = System.currentTimeMillis(); // 종료 시간 측정 @@ -1775,6 +1776,56 @@ public class MjonMsgDataController { return modelAndView; } + /** + * 주소록 그룹 선택시 우측 주소록 리스트 화면 불러오기 + * + * @param AddrGroupVO + * @param AddrVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping(value= {"/web/mjon/msgdata/selectMsgAddrListAjax_advc.do"}) + public ResponseEntity selectMsgAddrListAjax_advc(@ModelAttribute("searchVO") AddrVO addrVO) { + + Map response = new HashMap<>(); + + try { + // 로그인 권한 정보 확인 + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated() ? (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser() : null; + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); + + if (userId.isEmpty()) { + response.put("result", "loginFail"); + response.put("message", "로그인 후 이용이 가능합니다."); + return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(response); + } + + addrVO.setMberId(userId); + + // OFFSET 계산 + int offset = (addrVO.getPage()) * addrVO.getSize(); + addrVO.setOffset(offset); + // 데이터 조회 + List resultAddrList = mjonMsgDataService.selectMsgAddrListAjax_advc(addrVO); + int totalCount = mjonMsgDataService.countByMsgAddrListAjax_advc(addrVO); // 필터에 맞는 총 레코드 수 가져오기 + + // 페이지네이션 계산 + int lastPage = (int) Math.ceil((double) totalCount / addrVO.getSize()); + + // 응답 데이터 구성 + response.put("data", resultAddrList); + response.put("last_page", lastPage); // 클라이언트가 사용할 수 있도록 last_page 포함 + response.put("total_count", totalCount); // 필요 시, 총 레코드 수 포함 + + } catch (Exception e) { + e.printStackTrace(); + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(null); + } + return ResponseEntity.ok(response); // resultAddrList만 반환 + } + /** * 최근 전송내역 리스트 화면 불러오기 * diff --git a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml index 59c5a24a..26aa98df 100644 --- a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgData_SQL_mysql.xml @@ -3710,6 +3710,7 @@ + + + diff --git a/src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataSMLView.jsp b/src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataSMLView.jsp index a97386b8..1cec8003 100644 --- a/src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataSMLView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/msgcampain/MsgDataSMLView.jsp @@ -6,20 +6,248 @@ - + <% pageContext.setAttribute("newLineChar", "\r\n"); %> +
Loading
- +
@@ -3238,176 +3498,53 @@ $(document).on('click', '#hdnLink', function() {
- +
- + - +
- - - -
- -
- + +
- - + +
- +
+
+ + +
+
+ -
+
- + + +
- +
+
- + - -
-