From 81e7e1861d66463418f411a596e1d35e438097bc Mon Sep 17 00:00:00 2001 From: "hehihoho3@gmail.com" Date: Thu, 19 Dec 2024 21:01:54 +0900 Subject: [PATCH] =?UTF-8?q?issues/4750=20-=20:=20pms=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itn/let/mjo/msg/service/RefundDTO.java | 6 +- .../itn/let/mjo/test/web/TestController.java | 2 +- .../service/impl/SchdlrManageServiceImpl.java | 19 +- .../let/fax/addr/Fax_AddrGroup_SQL_Mysql.xml | 2 + .../let/mjo/addr/AddrGroup_SQL_Mysql.xml | 2 + .../sqlmap/let/mjo/addr/Addr_SQL_Mysql.xml | 8 +- .../sqlmap/let/msg/MjonMsgData_SQL_mysql.xml | 8 +- .../webapp/WEB-INF/jsp/web/addr/AddrList.jsp | 87 ++++++++-- .../web/addr/AddrList_advcBack_20240723.jsp | 8 - .../WEB-INF/jsp/web/addr/AddrMobGuide.jsp | 9 +- .../web/addr/include/addrListforClipboard.jsp | 5 - .../jsp/web/addr/include/addrListforExcel.jsp | 5 - .../WEB-INF/jsp/web/addr/include/topMenu.jsp | 50 ++++++ .../jsp/web/addrBlock/AddrBlockList.jsp | 9 +- .../jsp/web/addragency/AddrAgencyList.jsp | 6 +- .../WEB-INF/jsp/web/fax/addr/FaxAddrList.jsp | 8 +- .../jsp/web/msgdata/MsgDataSMLView.jsp | 68 ++++---- .../msgdata/include/msgDataIncludeExcel.jsp | 1 + src/main/webapp/js/txtSpecialReplace.js | 164 +++++++++++++----- 19 files changed, 317 insertions(+), 150 deletions(-) create mode 100644 src/main/webapp/WEB-INF/jsp/web/addr/include/topMenu.jsp diff --git a/src/main/java/itn/let/mjo/msg/service/RefundDTO.java b/src/main/java/itn/let/mjo/msg/service/RefundDTO.java index 4d1d1871..087b1e73 100644 --- a/src/main/java/itn/let/mjo/msg/service/RefundDTO.java +++ b/src/main/java/itn/let/mjo/msg/service/RefundDTO.java @@ -8,12 +8,14 @@ import lombok.Setter; public class RefundDTO { private String userId; private String msgGroupId; - private int userData; + private String userData; + private int msgSeq; private String eachPrice ; // 전송문자 개별가격 - public RefundDTO(String userId, String msgGroupId, int userData, String eachPrice) { + public RefundDTO(String userId, String msgGroupId, int msgSeq, String userData, String eachPrice) { this.userId = userId; this.msgGroupId = msgGroupId; + this.msgSeq = msgSeq; this.userData = userData; this.eachPrice = eachPrice; } diff --git a/src/main/java/itn/let/mjo/test/web/TestController.java b/src/main/java/itn/let/mjo/test/web/TestController.java index 93c9972d..974d519c 100644 --- a/src/main/java/itn/let/mjo/test/web/TestController.java +++ b/src/main/java/itn/let/mjo/test/web/TestController.java @@ -3455,7 +3455,7 @@ public class TestController { try { // 필요한 필드만 DTO로 매핑 List dtoList = msgFailList.stream() - .map(msg -> new RefundDTO(msg.getUserId(), msg.getMsgGroupId(), Integer.parseInt(msg.getUserData()), msg.getEachPrice())) + .map(msg -> new RefundDTO(msg.getUserId(), msg.getMsgGroupId(), Integer.parseInt(msg.getUserData()), msg.getUserData(), msg.getEachPrice())) .collect(Collectors.toList()); // JSON 변환 ObjectMapper objectMapper = new ObjectMapper(); diff --git a/src/main/java/itn/let/schdlr/service/impl/SchdlrManageServiceImpl.java b/src/main/java/itn/let/schdlr/service/impl/SchdlrManageServiceImpl.java index b93f3785..dd8024ba 100644 --- a/src/main/java/itn/let/schdlr/service/impl/SchdlrManageServiceImpl.java +++ b/src/main/java/itn/let/schdlr/service/impl/SchdlrManageServiceImpl.java @@ -504,24 +504,33 @@ public class SchdlrManageServiceImpl extends EgovAbstractServiceImpl implements */ @Override public void payBack_advc(String p_type) throws Exception { + List msgFailList = new ArrayList<>(); - msgFailList = getMsgFailList(p_type); // 리스트가 비어있는 경우 종료 - if (msgFailList == null || msgFailList.isEmpty()) { + if (msgFailList == null || msgFailList.isEmpty() || msgFailList.size() < 1) { System.out.println("No payBack messages empty."); } try { // 필요한 필드만 DTO로 매핑 - List dtoList = msgFailList.stream().map(msg -> new RefundDTO(msg.getUserId(), - msg.getMsgGroupId(), Integer.parseInt(msg.getUserData()), msg.getEachPrice())) - .collect(Collectors.toList()); + List dtoList = msgFailList.stream() + .map(msg -> + new RefundDTO( + msg.getUserId() + , msg.getMsgGroupId() + , Integer.parseInt(msg.getUserData()) + , msg.getUserData() + , msg.getEachPrice()) + ) + .collect(Collectors.toList()); + // JSON 변환 ObjectMapper objectMapper = new ObjectMapper(); String msgFailListJson = objectMapper.writeValueAsString(dtoList); + System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"); mjonMsgDataDAO.updateMsgSentFailPayBackBatch(msgFailListJson); } catch (Exception ex) { diff --git a/src/main/resources/egovframework/sqlmap/let/fax/addr/Fax_AddrGroup_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/fax/addr/Fax_AddrGroup_SQL_Mysql.xml index 60dfcb06..afa866dc 100644 --- a/src/main/resources/egovframework/sqlmap/let/fax/addr/Fax_AddrGroup_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/fax/addr/Fax_AddrGroup_SQL_Mysql.xml @@ -154,6 +154,8 @@ ADDR_GRP_NM = #addrGrpNm# AND MBER_ID = #mberId# + AND + DELETE_YN = 'N' 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 444f9267..0f93ac33 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 @@ -190,6 +190,8 @@ ADDR_GRP_NM = #addrGrpNm# AND MBER_ID = #mberId# + AND + DELETE_YN = 'N' diff --git a/src/main/resources/egovframework/sqlmap/let/mjo/addr/Addr_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/mjo/addr/Addr_SQL_Mysql.xml index 18402eee..b43a863a 100644 --- a/src/main/resources/egovframework/sqlmap/let/mjo/addr/Addr_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/mjo/addr/Addr_SQL_Mysql.xml @@ -565,10 +565,14 @@ COUNT(A.ADDR_ID) AS totCnt FROM MJ_ADDR A + left join mj_addr_grp mag + on A.ADDR_GRP_ID = mag.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 A.DELETE_YN = 'N' + AND (A.RECV_STATUS = 'Y' + or A.RECV_STATUS = 'S' + or A.RECV_STATUS is null) + AND mag.DELETE_YN = 'N' 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 934e3cff..a2c4c9f6 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 @@ -4150,7 +4150,9 @@ THEN 'W' ELSE 'F' END) IN ('F') - ORDER BY MMD.USER_ID + ORDER BY + MMD.REQ_DATE asc + , MMD.USER_ID LIMIT 10000 @@ -4326,7 +4328,9 @@ THEN 'W' ELSE 'F' END) IN ('F') - ORDER BY MMD.USER_ID + ORDER BY + MMD.REQ_DATE asc + , MMD.USER_ID LIMIT 10000 diff --git a/src/main/webapp/WEB-INF/jsp/web/addr/AddrList.jsp b/src/main/webapp/WEB-INF/jsp/web/addr/AddrList.jsp index 66f11404..0e079e8e 100644 --- a/src/main/webapp/WEB-INF/jsp/web/addr/AddrList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/addr/AddrList.jsp @@ -47,10 +47,6 @@ function listAddrGrp(){ } -function addrGroupLoadAjax(){ - $("#addrRegistSelect").load("/web/addr/selectAddrGroupAjax.do", function(response, status, xhr){}); - $("#funcAddrGroupSelect").load("/web/addr/selectAddrGroupAjax.do", function(response, status, xhr){}); -} function addrLoadAjax(){ $("#adr1_right").load("/web/mjon/addr/selectAddrAjax.do", function(response, status, xhr){tableAllChk();}); @@ -96,6 +92,70 @@ function insertAddrGroupAjax() { } +function insertAddrAjax() { + var selectVal = $("#addrRegistSelect option:selected").val(); + //alert(selectVal); + + var form = document.addrInsertForm; + /* + //필수값 아니어서 뺐음 + if(form.addrNm.value == "") { + alert("주소록 이름을 입력하세요"); + return; + } + */ + if(form.addrPhoneNo.value == "") { + alert("주소록 번호를 입력하세요"); + return; + } + //if(!confirm("주소록을 추가하시겠습니까?")) { + // return; + //} + + if(!checkHpNum(form.addrPhoneNo.value)){//휴대폰 유효성 검사 + if(!checkNorPhoneNum(form.addrPhoneNo.value)){//일반전화 유효성 검사 + + alert("잘못된 휴대폰번호 또는 일반전화 번호 입니다."); + return false; + + } + + } + + var data = new FormData(form); + + $.ajax({ + cache : false, + url : "", + type : 'POST', + data : data, + dataType:'json', + processData: false, + contentType: false, + success : function(returnData, status){ + if(status == "success") { + if("fail"==returnData.result){ + alert(returnData.message); + return; + } else if("dupl"==returnData.result){ + alert("해당 그룹에 중복된 번호가 있습니다."); + return; + } + //alert("저장 되었습니다."); + + listAddrGrp(); + addrGroupLoadAjax(); + addrLoadAjax(); + + // 주소록그룹 콤보박스 유지 + setTimeout(setSelectSetting, 500, selectVal); + + }else{ alert("ERROR!");return;} + }, + error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); } + }); + +} // 주소록그룹 콤보박스 유지 function setSelectSetting(selectVal) { @@ -128,6 +188,11 @@ function moveTab(type){ if(type == "addrApply") location.href="/web/mjon/addragency/selectAddrAgencyList.do"; } +function addrGroupLoadAjax(){ + $("#addrRegistSelect").load("/web/addr/selectAddrGroupAjax.do", function(response, status, xhr){}); + $("#funcAddrGroupSelect").load("/web/addr/selectAddrGroupAjax.do", function(response, status, xhr){}); +} + //############################################################################################# @@ -210,6 +275,8 @@ $(document).on('click', '#btnAddrMassClose', function() { // 대량등록 닫기 function setAddrMassClose() { + $('#btnAddrMassClose').click(); + var $objTabul = fn_utils_getTabulator(); $objTabul.clearData(); @@ -322,6 +389,9 @@ function SetAddrMassSave(){ if (!isAddrPhoneNoSelected) { // isPhoneSelected = true; alert('휴대폰이 선택되지 않았습니다.'); +// $('.field-selector[data-group="tableExcel"]').focus().click(); + + return false; } @@ -736,13 +806,8 @@ function fn_tabToggle(tabNum){
-
    -
  • -
  • -
  • -
  • -
  • -
+ <%@include file="/WEB-INF/jsp/web/addr/include/topMenu.jsp" %> +
diff --git a/src/main/webapp/WEB-INF/jsp/web/addr/AddrList_advcBack_20240723.jsp b/src/main/webapp/WEB-INF/jsp/web/addr/AddrList_advcBack_20240723.jsp index b43acbdd..d884a104 100644 --- a/src/main/webapp/WEB-INF/jsp/web/addr/AddrList_advcBack_20240723.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/addr/AddrList_advcBack_20240723.jsp @@ -175,14 +175,6 @@ function linkPage(pageNo){ addrGroupLoadAjax(); } -function moveTab(type){ - if(type == "addr") location.href="/web/mjon/addr/selectAddrList.do"; - if(type == "fax") location.href="/web/mjon/fax/addr/selectFaxAddrList.do"; - if(type == "block") location.href="/web/mjon/addrBlock/selectBlockList.do"; - if(type == "addrMob") location.href="/web/mjon/addr/addrMobGuide.do"; - if(type == "addrApply") location.href="/web/mjon/addragency/selectAddrAgencyList.do"; -} - //############################################################################################# diff --git a/src/main/webapp/WEB-INF/jsp/web/addr/AddrMobGuide.jsp b/src/main/webapp/WEB-INF/jsp/web/addr/AddrMobGuide.jsp index be30f6b3..3a7386ab 100644 --- a/src/main/webapp/WEB-INF/jsp/web/addr/AddrMobGuide.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/addr/AddrMobGuide.jsp @@ -15,13 +15,8 @@ function moveTab(type){
-
    -
  • -
  • -
  • -
  • -
  • -
+ <%@include file="/WEB-INF/jsp/web/addr/include/topMenu.jsp" %> +
diff --git a/src/main/webapp/WEB-INF/jsp/web/addr/include/addrListforClipboard.jsp b/src/main/webapp/WEB-INF/jsp/web/addr/include/addrListforClipboard.jsp index 2b080fe7..7250b8ca 100644 --- a/src/main/webapp/WEB-INF/jsp/web/addr/include/addrListforClipboard.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/addr/include/addrListforClipboard.jsp @@ -17,11 +17,6 @@ $(document).ready(function(){ -function addrGroupLoadAjax(){ - $("#addrRegistSelect").load("/web/addr/selectAddrGroupAjax.do", function(response, status, xhr){}); - $("#funcAddrGroupSelect").load("/web/addr/selectAddrGroupAjax.do", function(response, status, xhr){}); -} - // 주소록그룹 콤보박스 유지 function setSelectSetting(selectVal) { $("#addrRegistSelect").val(selectVal).prop("selected", true); diff --git a/src/main/webapp/WEB-INF/jsp/web/addr/include/addrListforExcel.jsp b/src/main/webapp/WEB-INF/jsp/web/addr/include/addrListforExcel.jsp index e07247f1..e33ea0e7 100644 --- a/src/main/webapp/WEB-INF/jsp/web/addr/include/addrListforExcel.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/addr/include/addrListforExcel.jsp @@ -16,11 +16,6 @@ $(document).ready(function(){ }); -function addrGroupLoadAjax(){ - $("#addrRegistSelect").load("/web/addr/selectAddrGroupAjax.do", function(response, status, xhr){}); - $("#funcAddrGroupSelect").load("/web/addr/selectAddrGroupAjax.do", function(response, status, xhr){}); -} - // 주소록그룹 콤보박스 유지 diff --git a/src/main/webapp/WEB-INF/jsp/web/addr/include/topMenu.jsp b/src/main/webapp/WEB-INF/jsp/web/addr/include/topMenu.jsp new file mode 100644 index 00000000..492acbf1 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/addr/include/topMenu.jsp @@ -0,0 +1,50 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> + + + + + +
    +
  • +
  • +
  • +
  • +
  • +
diff --git a/src/main/webapp/WEB-INF/jsp/web/addrBlock/AddrBlockList.jsp b/src/main/webapp/WEB-INF/jsp/web/addrBlock/AddrBlockList.jsp index a9922c85..8a5848c8 100644 --- a/src/main/webapp/WEB-INF/jsp/web/addrBlock/AddrBlockList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/addrBlock/AddrBlockList.jsp @@ -1360,13 +1360,8 @@ function addrMassTab(tabIdx) {
-
    -
  • -
  • -
  • -
  • -
  • -
+ <%@include file="/WEB-INF/jsp/web/addr/include/topMenu.jsp" %> +
diff --git a/src/main/webapp/WEB-INF/jsp/web/addragency/AddrAgencyList.jsp b/src/main/webapp/WEB-INF/jsp/web/addragency/AddrAgencyList.jsp index cd3b948e..abe7211d 100644 --- a/src/main/webapp/WEB-INF/jsp/web/addragency/AddrAgencyList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/addragency/AddrAgencyList.jsp @@ -18,7 +18,7 @@