From 71d444f4479089cc862b4b86683c9a8bcb7d129d Mon Sep 17 00:00:00 2001 From: "hehihoho3@gmail.com" Date: Tue, 24 Dec 2024 20:00:42 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AC=B8=EC=9E=90,=20=ED=8C=A9=EC=8A=A4?= =?UTF-8?q?=EB=B0=9C=EC=86=A1=20=EC=A3=BC=EC=86=8C=EB=A1=9D=20=EB=B6=88?= =?UTF-8?q?=EB=9F=AC=EC=98=A4=EA=B8=B0=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/fax/addr/web/FaxAddrController.java | 1 + .../itn/let/mjo/addr/service/AddrDTO.java | 35 ++++++++++++++ .../web/MjonMsgCampainDataController.java | 3 +- .../msgdata/service/MjonMsgDataService.java | 3 +- .../msgdata/service/impl/MjonMsgDataDAO.java | 5 +- .../service/impl/MjonMsgDataServiceImpl.java | 8 +--- .../msgdata/web/MjonMsgDataController.java | 24 ++++------ .../let/fax/addr/Fax_Addr_SQL_Mysql.xml | 10 +++- .../sqlmap/let/msg/MjonMsgData_SQL_mysql.xml | 20 ++++++-- .../jsp/web/msgdata/MsgDataSMLView.jsp | 47 +++++-------------- 10 files changed, 90 insertions(+), 66 deletions(-) create mode 100644 src/main/java/itn/let/mjo/addr/service/AddrDTO.java diff --git a/src/main/java/itn/let/fax/addr/web/FaxAddrController.java b/src/main/java/itn/let/fax/addr/web/FaxAddrController.java index ba806f72..b432ff4d 100644 --- a/src/main/java/itn/let/fax/addr/web/FaxAddrController.java +++ b/src/main/java/itn/let/fax/addr/web/FaxAddrController.java @@ -158,6 +158,7 @@ public class FaxAddrController { try { List resultAddrList = faxAddrService.selectFaxAddrListAjax(faxAddrVO); + System.out.println("resultAddrList.size() :: "+ resultAddrList.size()); modelAndView.addObject("resultAddrList", resultAddrList); modelAndView.addObject("result", "success"); diff --git a/src/main/java/itn/let/mjo/addr/service/AddrDTO.java b/src/main/java/itn/let/mjo/addr/service/AddrDTO.java new file mode 100644 index 00000000..018c03cd --- /dev/null +++ b/src/main/java/itn/let/mjo/addr/service/AddrDTO.java @@ -0,0 +1,35 @@ +package itn.let.mjo.addr.service; + + +import itn.com.cmm.ComDefaultVO; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class AddrDTO extends ComDefaultVO{ + + private static final long serialVersionUID = 1L; + + + + private String addrId; // 주소록ID + private String addrGrpId; // 주소록그룹ID + private String mberId; // 일반회원ID + private String name; + private String phone; + private String rep1; + private String rep2; + private String rep3; + private String rep4; + private String deleteYn; // 삭제여부 + private String bookmark; // 자주보내는번호 + private String addrGroupNm; + + + + + + + +} diff --git a/src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java b/src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java index b3a15e78..d2f91b74 100644 --- a/src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java +++ b/src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java @@ -67,6 +67,7 @@ import itn.let.lett.service.HashConfVO; import itn.let.lett.service.LetterService; import itn.let.lett.service.LetterVO; import itn.let.mail.service.StatusResponse; +import itn.let.mjo.addr.service.AddrDTO; import itn.let.mjo.addr.service.AddrGroupService; import itn.let.mjo.addr.service.AddrGroupVO; import itn.let.mjo.addr.service.AddrService; @@ -1884,7 +1885,7 @@ public class MjonMsgCampainDataController { int offset = (addrVO.getPage()) * addrVO.getSize(); addrVO.setOffset(offset); // 데이터 조회 - List resultAddrList = mjonMsgDataService.selectMsgAddrListAjax_advc(addrVO); + List resultAddrList = mjonMsgDataService.selectMsgAddrListAjax_advc(addrVO); return ResponseEntity.ok().body(new StatusResponse(HttpStatus.OK, "",resultAddrList)); } catch (Exception e) { 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 6671d740..023bb7a1 100644 --- a/src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java +++ b/src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataService.java @@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletRequest; import itn.let.lett.service.LetterVO; import itn.let.mail.service.StatusResponse; +import itn.let.mjo.addr.service.AddrDTO; import itn.let.mjo.addr.service.AddrVO; import itn.let.mjo.msg.service.MjonMsgVO; import itn.let.sym.site.service.JoinSettingVO; @@ -177,7 +178,7 @@ public interface MjonMsgDataService { //대용량 문자 전송시 사용자 마지막 PK 값 조회하기 public String selectMsgUserLastIdgen(MjonMsgVO mjonMsgVO) throws Exception; - public List selectMsgAddrListAjax_advc(AddrVO addrVO) 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 1ab7ee32..9f59ab1a 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 @@ -16,6 +16,7 @@ import org.springframework.stereotype.Repository; import egovframework.rte.psl.dataaccess.EgovAbstractDAO; import itn.com.cmm.MjonMsgSendVO; import itn.let.lett.service.LetterVO; +import itn.let.mjo.addr.service.AddrDTO; import itn.let.mjo.addr.service.AddrVO; import itn.let.mjo.msg.service.MjonMsgVO; import itn.let.mjo.msgdata.service.MjonMsgDataVO; @@ -381,8 +382,8 @@ public class MjonMsgDataDAO extends EgovAbstractDAO { } - public List selectMsgAddrListAjax_advc(AddrVO addrVO) { - return (List) list("mjonMsgDAO.selectMsgAddrListAjax_advc", addrVO); + public List selectMsgAddrListAjax_advc(AddrVO addrVO) { + return (List) list("mjonMsgDAO.selectMsgAddrListAjax_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 77f9dfd4..b0ef4da3 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 @@ -1,6 +1,5 @@ package itn.let.mjo.msgdata.service.impl; -import java.io.UnsupportedEncodingException; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.ParseException; @@ -18,22 +17,18 @@ import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; -import org.springframework.web.servlet.ModelAndView; import egovframework.com.idgen.CustomIdGnrService; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; -import egovframework.rte.fdl.cmmn.exception.FdlException; import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import egovframework.rte.psl.dataaccess.util.EgovMap; import itn.com.cmm.LoginVO; import itn.com.cmm.MjonMsgSendVO; -import itn.com.cmm.OptimalMsgResultDTO; import itn.com.cmm.util.MJUtil; import itn.com.cmm.util.MsgSendUtils; import itn.com.cmm.util.StringUtil; @@ -41,6 +36,7 @@ import itn.com.utl.fcc.service.EgovStringUtil; import itn.let.lett.service.LetterVO; import itn.let.lett.service.impl.LetterDAO; import itn.let.mail.service.StatusResponse; +import itn.let.mjo.addr.service.AddrDTO; import itn.let.mjo.addr.service.AddrVO; import itn.let.mjo.event.service.MjonEventService; import itn.let.mjo.event.service.MjonEventVO; @@ -3929,7 +3925,7 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M } @Override - public List selectMsgAddrListAjax_advc(AddrVO addrVO) throws Exception { + public List selectMsgAddrListAjax_advc(AddrVO addrVO) throws Exception { return mjonMsgDataDAO.selectMsgAddrListAjax_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 699f1d93..f43d3811 100644 --- a/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java +++ b/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java @@ -42,7 +42,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -51,7 +50,6 @@ import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.support.SessionStatus; @@ -60,8 +58,6 @@ import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.support.RedirectAttributes; -import com.fasterxml.jackson.databind.ObjectMapper; - import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import egovframework.rte.psl.dataaccess.util.EgovMap; @@ -69,7 +65,6 @@ import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import itn.com.cmm.EgovMessageSource; import itn.com.cmm.JsonResult; import itn.com.cmm.LoginVO; -import itn.com.cmm.MjonMsgSendVO; import itn.com.cmm.service.EgovFileMngService; import itn.com.cmm.service.EgovFileMngUtil; import itn.com.cmm.service.FileVO; @@ -81,6 +76,7 @@ import itn.let.lett.service.HashConfVO; import itn.let.lett.service.LetterService; import itn.let.lett.service.LetterVO; import itn.let.mail.service.StatusResponse; +import itn.let.mjo.addr.service.AddrDTO; import itn.let.mjo.addr.service.AddrGroupService; import itn.let.mjo.addr.service.AddrGroupVO; import itn.let.mjo.addr.service.AddrService; @@ -2068,21 +2064,17 @@ public class MjonMsgDataController { int offset = (addrVO.getPage()) * addrVO.getSize(); addrVO.setOffset(offset); // 데이터 조회 - List resultAddrList = mjonMsgDataService.selectMsgAddrListAjax_advc(addrVO); +// List resultAddrList = mjonMsgDataService.selectMsgAddrListAjax_advc(addrVO); + List resultAddrList = mjonMsgDataService.selectMsgAddrListAjax_advc(addrVO); + System.out.println(" + resultAddrList.size() :: "+ resultAddrList.size()); // 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); // 필요 시, 총 레코드 수 포함 - return ResponseEntity.ok().body(new StatusResponse(HttpStatus.OK, "",resultAddrList)); + } catch (Exception e) { - e.printStackTrace(); - return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "조회 요청 중 오류가 발생하였습니다.", LocalDateTime.now())); + e.printStackTrace(); + return ResponseEntity.ok().body( + new StatusResponse(HttpStatus.INTERNAL_SERVER_ERROR, "조회 중 오류 발생", LocalDateTime.now())); } } diff --git a/src/main/resources/egovframework/sqlmap/let/fax/addr/Fax_Addr_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/fax/addr/Fax_Addr_SQL_Mysql.xml index 9cf2b4a2..00dfb870 100644 --- a/src/main/resources/egovframework/sqlmap/let/fax/addr/Fax_Addr_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/fax/addr/Fax_Addr_SQL_Mysql.xml @@ -1021,7 +1021,7 @@ ON A.ADDR_GRP_ID = B.ADDR_GRP_ID WHERE A.MBER_ID = #mberId# AND (A.RECV_STATUS = 'Y' OR A.RECV_STATUS = 'S' OR A.RECV_STATUS IS NULL) - AND B.DELETE_YN = 'N' + AND A.DELETE_YN = 'N' GROUP BY A.ADDR_PHONE_NO ORDER BY A.ADDR_PHONE_NO ASC, B.ADDR_GRP_ID ASC ) M @@ -1144,7 +1144,6 @@ A.ADDR_GRP_ID = B.ADDR_GRP_ID WHERE A.MBER_ID = #mberId# AND (A.RECV_STATUS = 'Y' OR A.RECV_STATUS = 'S' OR A.RECV_STATUS IS NULL) - AND B.DELETE_YN = 'N' AND A.ADDR_GRP_ID = '0' @@ -1156,6 +1155,13 @@ AND A.ADDR_GRP_ID = #searchAddrGrpId# + + AND ( + B.DELETE_YN = 'N' + OR (A.ADDR_GRP_ID = '0' AND A.BOOKMARK = 'N') + OR A.BOOKMARK = 'Y' + ) + 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 675d41df..47afddd8 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 @@ -16,6 +16,7 @@ + @@ -3882,7 +3883,7 @@ - /* mjonMsgDAO.selectMsgAddrListAjax_advc */ SELECT A.ADDR_ID AS addrId, @@ -3904,7 +3905,6 @@ A.ADDR_GRP_ID = B.ADDR_GRP_ID WHERE A.MBER_ID = #mberId# AND (A.RECV_STATUS = 'Y' OR A.RECV_STATUS = 'S' OR A.RECV_STATUS IS NULL) - AND B.DELETE_YN = 'N' AND A.ADDR_GRP_ID = '0' @@ -3916,6 +3916,13 @@ AND A.ADDR_GRP_ID = #searchAddrGrpId# + + AND ( + B.DELETE_YN = 'N' + OR (A.ADDR_GRP_ID = '0' AND A.BOOKMARK = 'N') + OR A.BOOKMARK = 'Y' + ) + @@ -3952,7 +3959,7 @@ A.ADDR_GRP_ID = B.ADDR_GRP_ID WHERE A.MBER_ID = #mberId# AND (A.RECV_STATUS = 'Y' OR A.RECV_STATUS = 'S' OR A.RECV_STATUS IS NULL) - AND B.DELETE_YN = 'N' + AND A.ADDR_GRP_ID = '0' @@ -3964,6 +3971,13 @@ AND A.ADDR_GRP_ID = #searchAddrGrpId# + + AND ( + B.DELETE_YN = 'N' + OR (A.ADDR_GRP_ID = '0' AND A.BOOKMARK = 'N') + OR A.BOOKMARK = 'Y' + ) + diff --git a/src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp b/src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp index 5da6a96f..57da9191 100644 --- a/src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp @@ -2765,7 +2765,6 @@ function fnAddrGrpSearch(){ //주소록 불러오기 팝업의 그룹 선택시 우측에 주소록 불러오기 function fnSelectAddrList(type,addrGrpId,item){ - // 주소록 그룹 열림, 닫힘 폴더이미지 초기화 $(".adr_pop_list div p").each(function (index, item) { $(item).find("img").attr("src", "/publish/images/content/close_folder2.png"); @@ -2840,47 +2839,25 @@ function loadAddrList(){ return false; } - //받는사람 리스트를 담아둔 배열에 신규 추가 데이터를 추가해 준다. -// for(var i=0; i < addrList.length; i++){ -// tableData.push({ -// addrGroupNm: addrList[i].addrGrpNm -// , addrPhone: removeDash(addrList[i].addrPhoneNo) -// , addrName: addrList[i].addrNm -// , addrRep1: addrList[i].addrInfo1 -// , addrRep2: addrList[i].addrInfo2 -// , addrRep3: addrList[i].addrInfo3 -// , addrRep4: addrList[i].addrInfo4 -// }); -// } - -// addrList.forEach(function(addr){ -// tableData.push({ -// addrGroupNm: addr.addrGrpNm, -// addrPhone: removeDash(addr.addrPhoneNo), -// addrName: addr.addrNm, -// addrRep1: addr.addrInfo1, -// addrRep2: addr.addrInfo2, -// addrRep3: addr.addrInfo3, -// addrRep4: addr.addrInfo4 -// }); -// }); - - //우측 주소록 리스트 Tabulator에 입력해주기 -// tableAddr.setData(tableData); - console.log('data : ', data); +// console.log('data : ', data); tableAddr.setData(addrList); -// tableAddr.updateOrAddData(addrList); // 무한 스크롤을 위해 데이터를 업데이트 } else { alert("주소록 불러오기에 실패하였습니다. !!"); } }, - error: function (jqXHR, textStatus, errorThrown) { - alert("주소록 불러오기에 실패하였습니다."); - console.log("ERROR : ", jqXHR.status, textStatus, errorThrown); // 상태 코드, 상태 텍스트, 에러 메시지 출력 - console.log("Response Text: ", jqXHR.responseText); // 서버 응답 텍스트 출력 - }, + error: function (jqXHR, textStatus, errorThrown) { + alert("주소록 불러오기에 실패하였습니다."); + console.error("Error:", jqXHR.status, textStatus, errorThrown); + console.error("Response Text:", jqXHR.responseText); + try { + let json = JSON.parse(jqXHR.responseText); + console.log("Parsed JSON Response:", json); + } catch (e) { + console.error("JSON Parse Error:", e); + } + }, beforeSend : function(xmlHttpRequest) { //로딩창 show $('.loading_layer').addClass('active');