diff --git a/src/main/java/itn/let/mjo/msg/service/MjonMsgService.java b/src/main/java/itn/let/mjo/msg/service/MjonMsgService.java index 9c0f3a76..2a8132f4 100644 --- a/src/main/java/itn/let/mjo/msg/service/MjonMsgService.java +++ b/src/main/java/itn/let/mjo/msg/service/MjonMsgService.java @@ -224,4 +224,8 @@ public interface MjonMsgService { //문자 발송 횟수 List selectMsgSendTotCnt(MjonMsgVO mjonMsgVO) throws Exception; + + + MjonMsgVO selectApiSttstList(MjonMsgVO mjonMsgVO) throws Exception; + } diff --git a/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java b/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java index 566ae90f..db045d04 100644 --- a/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java +++ b/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java @@ -177,7 +177,95 @@ public class MjonMsgVO extends ComDefaultVO{ private int rateSuccessCount; // 홈페이지 전송 성공율 private int rateApiSuccessCount; // API 전송 성공율 + private int smsGroupSCntSum; // sms 성공(건) + private int smsTotSPriceSum; // sms 성공(금액) + private int smsGroupFWCntSum; // sms 실패대기(건) + private int smsTotFWPriceSum; // sms 실패대기(금액) + private int lmsGroupSCntSum; // lms 성공(건) + private int lmsTotSPriceSum; // lms 성공(금액) + private int lmsGroupFWCntSum; // lms 실패대기(건) + private int lmsTotFWPriceSum; // lms 실패대기(금액) + + private int mmsGroupSCntSum; // mms 성공(건) + private int mmsTotSPriceSum; // mms 성공(금액) + private int mmsGroupFWCntSum; // mms 실패대기(건) + private int mmsTotFWPriceSum; // mms 실패대기(금액) + + + + public int getSmsGroupSCntSum() { + return smsGroupSCntSum; + } + public void setSmsGroupSCntSum(int smsGroupSCntSum) { + this.smsGroupSCntSum = smsGroupSCntSum; + } + public int getSmsTotSPriceSum() { + return smsTotSPriceSum; + } + public void setSmsTotSPriceSum(int smsTotSPriceSum) { + this.smsTotSPriceSum = smsTotSPriceSum; + } + public int getSmsGroupFWCntSum() { + return smsGroupFWCntSum; + } + public void setSmsGroupFWCntSum(int smsGroupFWCntSum) { + this.smsGroupFWCntSum = smsGroupFWCntSum; + } + public int getSmsTotFWPriceSum() { + return smsTotFWPriceSum; + } + public void setSmsTotFWPriceSum(int smsTotFWPriceSum) { + this.smsTotFWPriceSum = smsTotFWPriceSum; + } + public int getLmsGroupSCntSum() { + return lmsGroupSCntSum; + } + public void setLmsGroupSCntSum(int lmsGroupSCntSum) { + this.lmsGroupSCntSum = lmsGroupSCntSum; + } + public int getLmsTotSPriceSum() { + return lmsTotSPriceSum; + } + public void setLmsTotSPriceSum(int lmsTotSPriceSum) { + this.lmsTotSPriceSum = lmsTotSPriceSum; + } + public int getLmsGroupFWCntSum() { + return lmsGroupFWCntSum; + } + public void setLmsGroupFWCntSum(int lmsGroupFWCntSum) { + this.lmsGroupFWCntSum = lmsGroupFWCntSum; + } + public int getLmsTotFWPriceSum() { + return lmsTotFWPriceSum; + } + public void setLmsTotFWPriceSum(int lmsTotFWPriceSum) { + this.lmsTotFWPriceSum = lmsTotFWPriceSum; + } + public int getMmsGroupSCntSum() { + return mmsGroupSCntSum; + } + public void setMmsGroupSCntSum(int mmsGroupSCntSum) { + this.mmsGroupSCntSum = mmsGroupSCntSum; + } + public int getMmsTotSPriceSum() { + return mmsTotSPriceSum; + } + public void setMmsTotSPriceSum(int mmsTotSPriceSum) { + this.mmsTotSPriceSum = mmsTotSPriceSum; + } + public int getMmsGroupFWCntSum() { + return mmsGroupFWCntSum; + } + public void setMmsGroupFWCntSum(int mmsGroupFWCntSum) { + this.mmsGroupFWCntSum = mmsGroupFWCntSum; + } + public int getMmsTotFWPriceSum() { + return mmsTotFWPriceSum; + } + public void setMmsTotFWPriceSum(int mmsTotFWPriceSum) { + this.mmsTotFWPriceSum = mmsTotFWPriceSum; + } public int getRateSuccessCount() { return rateSuccessCount; } diff --git a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java index 42cd9831..f4104a35 100644 --- a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java +++ b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgDAO.java @@ -495,4 +495,8 @@ public class MjonMsgDAO extends EgovAbstractDAO { return (List) list("mjonMsgDAO.selectMsgSendTotCnt", mjonMsgVO); } + public MjonMsgVO selectApiSttstList(MjonMsgVO mjonMsgVO) throws Exception{ + return (MjonMsgVO)select("mjonMsgDAO.selectApiSttstList", mjonMsgVO); + } + } diff --git a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java index 8a69d45b..20bff342 100644 --- a/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java +++ b/src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java @@ -1147,4 +1147,9 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM return resultSts; } + + @Override + public MjonMsgVO selectApiSttstList(MjonMsgVO mjonMsgVO) throws Exception { + return mjonMsgDAO.selectApiSttstList(mjonMsgVO); + } } diff --git a/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java b/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java index 20b06771..bec6e7db 100644 --- a/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java +++ b/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java @@ -1743,50 +1743,39 @@ public class EgovUserManageController { //searchVO 원본 문자 타입 및 파일 갯수 저장해 놓기 String msgType = searchVO.getMsgType(); String fileCnt = searchVO.getFileCnt(); + String sendKind = searchVO.getSendKind(); //전체 리스트 불러오기 List resultList = new ArrayList(); searchVO.setMsgType(""); //resultList = mjonMsgService.selectUserMsgDataListByMbrId(searchVO); resultList = mjonMsgService.selectUserMsgDataListByMbrId2(searchVO); - model.addAttribute("resultList", resultList); - model.addAttribute("mberSttus", mberSttus); //이용자 상태값 전달 + model.addAttribute("resultList", resultList); + model.addAttribute("mberSttus", mberSttus); //이용자 상태값 전달 - //종합 리스트 정보 불러오기 - - //단문 리스트 정보 불러오기 - List resultSmsList = new ArrayList(); - searchVO.setMsgType("4"); - searchVO.setFileCnt(""); - resultSmsList = mjonMsgService.selectUserMsgDataTotInfoListByMbrId(searchVO); - model.addAttribute("resultSmsList", resultSmsList); - - //장문 리스트 정보 불러오기 - List resultLmsList = new ArrayList(); - searchVO.setMsgType("6"); - searchVO.setFileCnt(""); - resultLmsList = mjonMsgService.selectUserMsgDataTotInfoListByMbrId(searchVO); - model.addAttribute("resultLmsList", resultLmsList); - - //그림 리스트 정보 불러오기 - List resultMmsList = new ArrayList(); - searchVO.setMsgType("6"); - searchVO.setFileCnt("0"); - resultMmsList = mjonMsgService.selectUserMsgDataTotInfoListByMbrId(searchVO); - model.addAttribute("resultMmsList", resultMmsList); - - //searchVO 데이터 원복 시키기 - searchVO.setMsgType(msgType); - searchVO.setFileCnt(fileCnt); - - //문자발송 실패 결과 코드정보 리스트 불러오기 - MjonMsgResultCodeVO mjonMsgResultCodeVO = new MjonMsgResultCodeVO(); - List resultMsgCodeList = mjonMsgService.selectMsgResultCodeAllList(mjonMsgResultCodeVO); - - model.addAttribute("resultMsgCodeList", resultMsgCodeList); - - paginationInfo.setTotalRecordCount(resultList.size() > 0 ? ((MjonMsgVO)resultList.get(0)).getTotCnt() : 0); - model.addAttribute("paginationInfo", paginationInfo); + //종합 리스트 정보 불러오기 + + //단문 리스트 정보 불러오기 + /*List resultSmsList = new ArrayList(); + searchVO.setMsgType("4"); + searchVO.setFileCnt(""); + resultSmsList = mjonMsgService.selectUserMsgDataTotInfoListByMbrId(searchVO); + model.addAttribute("resultSmsList", resultSmsList); + + //장문 리스트 정보 불러오기 + List resultLmsList = new ArrayList(); + searchVO.setMsgType("6"); + searchVO.setFileCnt(""); + resultLmsList = mjonMsgService.selectUserMsgDataTotInfoListByMbrId(searchVO); + model.addAttribute("resultLmsList", resultLmsList); + + //그림 리스트 정보 불러오기 + List resultMmsList = new ArrayList(); + searchVO.setMsgType("6"); + searchVO.setFileCnt("0"); + resultMmsList = mjonMsgService.selectUserMsgDataTotInfoListByMbrId(searchVO); + model.addAttribute("resultMmsList", resultMmsList); + String msgGroupSCntSum = "0"; //정상수신 총 건수 합계 String totSPriceSum = "0"; //정상수신 총 금액 합계 @@ -1869,11 +1858,45 @@ public class EgovUserManageController { model.addAttribute("totMmsSPriceSum", totMmsSPriceSum); model.addAttribute("msgMmsGroupFWCntSum", msgMmsGroupFWCntSum); model.addAttribute("totMmsFWPriceSum", totMmsFWPriceSum); + */ + List sendSttstList = new ArrayList(); + + searchVO.setSendKind(""); + MjonMsgVO allSttstInfo = mjonMsgService.selectApiSttstList(searchVO); + allSttstInfo.setSendKind(""); + + searchVO.setSendKind("H"); + MjonMsgVO hompageSttstInfo = mjonMsgService.selectApiSttstList(searchVO); + hompageSttstInfo.setSendKind("H"); + + searchVO.setSendKind("A"); + MjonMsgVO apiSttstInfo = mjonMsgService.selectApiSttstList(searchVO); + apiSttstInfo.setSendKind("A"); + + sendSttstList.add(allSttstInfo); + sendSttstList.add(hompageSttstInfo); + sendSttstList.add(apiSttstInfo); + model.addAttribute("sendSttstList", sendSttstList); + + //searchVO 데이터 원복 시키기 + searchVO.setMsgType(msgType); + searchVO.setFileCnt(fileCnt); + searchVO.setSendKind(sendKind); + + + //문자발송 실패 결과 코드정보 리스트 불러오기 + MjonMsgResultCodeVO mjonMsgResultCodeVO = new MjonMsgResultCodeVO(); + List resultMsgCodeList = mjonMsgService.selectMsgResultCodeAllList(mjonMsgResultCodeVO); + + model.addAttribute("resultMsgCodeList", resultMsgCodeList); + + paginationInfo.setTotalRecordCount(resultList.size() > 0 ? ((MjonMsgVO)resultList.get(0)).getTotCnt() : 0); + model.addAttribute("paginationInfo", paginationInfo); return "cmm/uss/umt/EgovGnrlUserSelectMsgDataListPop"; } - + /** * @Method Name : EgovGnrlselectedUserKakaoDataListAjax * @작성일 : 2023. 3. 6. 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 bc8fc456..76b9b407 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 @@ -271,6 +271,7 @@ , M.userNm , M.adminSmsNoticeYn , M.callFrom + , M.sendKind , M.smsTxt , M.subject , M.msgType @@ -387,6 +388,7 @@ , LMB.MBER_NM AS userNm , LMB.ADMIN_SMS_NOTICE_YN AS adminSmsNoticeYn , A.CALL_FROM AS callFrom + , A.SEND_KIND AS sendKind , A.SMS_TXT AS smsTxt , A.SUBJECT AS subject , A.MSG_TYPE AS msgType @@ -432,16 +434,24 @@ ) D ON A.MSG_TYPE = D.CODE /** 메세지타입 */ WHERE 1 = 1 AND A.MSG_TYPE IN (4, 6) + + + AND A.SEND_KIND = 'H' + + + AND A.SEND_KIND = 'A' + + - AND ( - USER_ID LIKE CONCAT ('%', #searchKeyword#,'%') OR - A.CALL_FROM LIKE CONCAT('%', #searchKeyword#, '%') OR - SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%') - ) - - - + AND ( + USER_ID LIKE CONCAT ('%', #searchKeyword#,'%') + OR A.CALL_FROM LIKE CONCAT('%', #searchKeyword#, '%') + OR SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%') + ) + + + AND A.USER_ID LIKE CONCAT('%', #searchKeyword#, '%') @@ -484,9 +494,9 @@ AND RESERVE_C_YN = #reserveCYn# - - AND ADMIN_SMS_NOTICE_YN = #searchAdminSmsNoticeYn# - + + AND ADMIN_SMS_NOTICE_YN = #searchAdminSmsNoticeYn# + AND MSG_KIND = 'C' @@ -6825,5 +6835,420 @@ AND MSG_GROUP_ID = #msgGroupId# + diff --git a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectMsgDataListPop.jsp b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectMsgDataListPop.jsp index d6f08b20..5831cc10 100644 --- a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectMsgDataListPop.jsp +++ b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectMsgDataListPop.jsp @@ -392,61 +392,71 @@ function fn_updateSendRealTime(userId, msgGroupId){ + - 전체 + + + API + + + WEB + + + 전체 + + - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + @@ -650,7 +660,7 @@ function fn_updateSendRealTime(userId, msgGroupId){ API - 홈페이지 + WEB diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/msg/ReserveNumberList.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/msg/ReserveNumberList.jsp index 8e2433ce..3d12056c 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/ion/msg/ReserveNumberList.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/msg/ReserveNumberList.jsp @@ -360,7 +360,11 @@ function fnSmishingUpdate(flag) { - + @@ -389,7 +393,7 @@ function fnSmishingUpdate(flag) { - + @@ -410,6 +414,7 @@ function fnSmishingUpdate(flag) { 요청시간 내용 타입 + 방식