From 3848fb61b067a579598990f4b46995a57a84e0e1 Mon Sep 17 00:00:00 2001 From: "hehihoho3@gmail.com" Date: Thu, 6 Feb 2025 17:50:00 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B0=9C=EC=86=A1=EA=B2=B0=EA=B3=BC=20>=20?= =?UTF-8?q?=EC=83=81=EC=84=B8=20>=20=EC=A3=BC=EC=86=8C=EB=A1=9D=EB=93=B1?= =?UTF-8?q?=EB=A1=9D=20=EA=B7=B8=EB=A3=B9=EC=84=A0=ED=83=9D=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../addr/service/impl/AddrServiceImpl.java | 45 ++++++-- .../itn/let/mjo/addr/web/AddrController.java | 2 - .../jsp/web/msgsent/MsgSentDetailView.jsp | 102 ++++++++++++++++-- 3 files changed, 129 insertions(+), 20 deletions(-) diff --git a/src/main/java/itn/let/mjo/addr/service/impl/AddrServiceImpl.java b/src/main/java/itn/let/mjo/addr/service/impl/AddrServiceImpl.java index 777fa0a8..6395f483 100644 --- a/src/main/java/itn/let/mjo/addr/service/impl/AddrServiceImpl.java +++ b/src/main/java/itn/let/mjo/addr/service/impl/AddrServiceImpl.java @@ -653,19 +653,42 @@ public class AddrServiceImpl extends EgovAbstractServiceImpl implements AddrSer String userId = addrVO.getMberId(); - AddrGroupVO addrGroupVO = new AddrGroupVO(); - addrGroupVO.setAddrGrpNm(addrVO.getAddrGrpNm()); - addrGroupVO.setMberId(userId); - addrGroupVO.setFrstRegisterId(userId); + log.info("addrVO.getAddrGrpId() :: [{}]", addrVO.getAddrGrpId()); - int usedCnt = addrGroupDAO.selectDuplAddrGroupCnt(addrGroupVO); - if(usedCnt > 0) { - return new StatusResponse(HttpStatus.BAD_REQUEST, "이미 등록되어있는 그룹이름입니다.", LocalDateTime.now()); + if ("NEW".equals(addrVO.getAddrGrpId())) { + + + AddrGroupVO addrGroupVO = new AddrGroupVO(); + addrGroupVO.setMberId(userId); + addrGroupVO.setAddrGrpNm(addrVO.getAddrGrpNm()); + addrGroupVO.setFrstRegisterId(userId); + + int usedCnt = addrGroupDAO.selectDuplAddrGroupCnt(addrGroupVO); + if(usedCnt > 0) { + return new StatusResponse(HttpStatus.BAD_REQUEST, "이미 등록되어있는 그룹이름입니다.", LocalDateTime.now()); + } + + int nextOrderNumber = addrGroupDAO.selectMaxOrderNumber(addrGroupVO); + addrGroupVO.setGrpOrder(nextOrderNumber); + + String addrGrpIdTemp = addrGroupDAO.insertAddrGroup(addrGroupVO); + + + addrVO.setAddrGrpId(addrGrpIdTemp); + } + else if ("bookmark".equals(addrVO.getAddrGrpId())) + { + addrVO.setBookmark("Y"); + addrVO.setAddrGrpId("0"); + } + else + { + addrVO.setBookmark("N"); + } - String addrGrpId = addrGroupDAO.insertAddrGroup(addrGroupVO); - - + String bookmark = addrVO.getBookmark(); + String addrGrpId = addrVO.getAddrGrpId(); List addrDataInfo = new ArrayList(); @@ -673,7 +696,7 @@ public class AddrServiceImpl extends EgovAbstractServiceImpl implements AddrSer AddrVO addrTempVO = new AddrVO(); addrTempVO.setAddrPhoneNo(phone); addrTempVO.setAddrGrpId(addrGrpId); - addrTempVO.setBookmark("N"); //북마크 : N + addrTempVO.setBookmark(bookmark); //북마크 : N addrTempVO.setFrstRegisterId(userId); addrTempVO.setMberId(userId); addrDataInfo.add(addrTempVO); diff --git a/src/main/java/itn/let/mjo/addr/web/AddrController.java b/src/main/java/itn/let/mjo/addr/web/AddrController.java index 2e0f2ef9..dd4f014d 100644 --- a/src/main/java/itn/let/mjo/addr/web/AddrController.java +++ b/src/main/java/itn/let/mjo/addr/web/AddrController.java @@ -2245,8 +2245,6 @@ public class AddrController { if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now())); } - log.info(" + addrVO.getAddrPhones() :: [{}]", addrVO.getAddrPhones().length); - log.info(" + addrVO.getAddrGrpNm() :: [{}]", addrVO.getAddrGrpNm()); addrVO.setMberId(userId); diff --git a/src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentDetailView.jsp b/src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentDetailView.jsp index e844c45b..2179ea23 100644 --- a/src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentDetailView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentDetailView.jsp @@ -32,6 +32,8 @@ $(document).ready(function(){ // 탭별 하위 버튼 활성화 fn_rowBtnSH('전체'); + // 주소록 그룹 불러오기 + getAddrGroupList(); //Tabulator AJAX Data Loading $tbDtailList = new Tabulator("#detailPopup", { @@ -127,6 +129,13 @@ $(document).ready(function(){ $('#grpNm').val('') }); + + $(document).on('change', '#addrGrpIdInfo', function() { + if ($("#addrGrpIdInfo option:selected").val() != "NEW") { + $("#grpNm").val(""); // 새그룹명 Clear; + } + }); + }); //검색 실행 함수 @@ -443,6 +452,14 @@ function fnAddAddrNo(){ let url = "/web/mjon/addr/insertByAddrGrpDataAndAddrDataAjax.do"; + console.log($("#addrGrpIdInfo option:selected").val()); + console.log($("#grpNm").val()); + if ($("#addrGrpIdInfo option:selected").val() == "NEW" + && $("#grpNm").val() == "") { + alert("저장할 그룹을 선택하거나 새 그룹명을 입력해주세요."); + return false; + } + // 필터링된 데이터 가져오기 (탭 필터 적용) let filteredData = getFilteredDataByTab(); @@ -450,7 +467,7 @@ function fnAddAddrNo(){ // phone 필드 데이터만 추출 let addrPhones = filteredData.map(row => row.phone); - console.log('addrPhones : ', addrPhones) +// console.log('addrPhones : ', addrPhones) if(addrPhones.length < 1){ alert('해당 탭에 데이터가 없습니다.'); @@ -459,11 +476,13 @@ function fnAddAddrNo(){ // 주소록 그룹명 가져오기 let addrGrpNm = $('#grpNm').val(); + let addrGrpId = $("#addrGrpIdInfo option:selected").val(); // 데이터 객체 생성 let data = { - addrPhones: addrPhones, - addrGrpNm: addrGrpNm + addrPhones : addrPhones + , addrGrpNm : addrGrpNm + , addrGrpId : addrGrpId }; if(!confirm("연락처 정보를 주소록에 등록 하시겠습니까?")){ @@ -509,8 +528,6 @@ function fnDelAddrNo(){ // 필터링된 데이터 가져오기 (탭 필터 적용) let filteredData = getFilteredDataByTab(); - console.log('filteredData : ', filteredData) - // phone 필드 데이터만 추출 let addrPhones = filteredData.map(row => row.phone); console.log('addrPhones : ', addrPhones) @@ -574,6 +591,42 @@ function getFilteredDataByTab() { return allData.filter(row => tabFilter ? row.result.includes(tabFilter.value) : true); } + + +//주소록 그룹정보 불러오기 +function getAddrGroupList() { + $.ajax({ + type : "POST", + async : false, + url : "/web/mjon/addr/addrGroupListAjax.do", + data : {}, + dataType:'json', + success : function(data) { + //alert(JSON.stringify(data.addrGroupList)); + + // Show Html + getAddrGroupListShow(data.addrGroupList); + }, + error : function(xhr, status, error) { + alert(error); + return false; + } + }); +} + +//Show Html +function getAddrGroupListShow(jsonList) { + var sHtml = ""; + sHtml += ""; + sHtml += ""; + sHtml += ""; + for (var j = 0; j < jsonList.length; j++) { + sHtml += " "; + } + + $("#addrGrpIdInfo").html(sHtml); +} +
@@ -871,7 +924,7 @@ function getFilteredDataByTab() {
- + + +
+ +
+