From 25dacf7516f3d2c27c6466162157b7f3498e03bf Mon Sep 17 00:00:00 2001 From: name Date: Fri, 28 Jul 2023 15:38:45 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=EC=9D=BC=EB=AC=B8=EC=9E=90=20=ED=86=B5?= =?UTF-8?q?=EA=B3=84=EA=B4=80=EB=A6=AC=20API=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itn/let/mjo/msg/service/MjonMsgVO.java | 52 +++ .../let/mjo/msg/web/MjonMsgController.java | 2 +- .../sqlmap/let/msg/MjonMsgData_SQL_mysql.xml | 54 ++- .../let/sttst/MjonSttstData_SQL_mysql.xml | 401 +++++++++++------- .../jsp/uss/ion/msg/MsgDayChart_230125.jsp | 149 +++++-- 5 files changed, 437 insertions(+), 221 deletions(-) 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 dc6c0df4..3612b04f 100644 --- a/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java +++ b/src/main/java/itn/let/mjo/msg/service/MjonMsgVO.java @@ -167,6 +167,58 @@ public class MjonMsgVO extends ComDefaultVO{ private String sendKind; //문자전송 타입(H:홈페이지, A:API) + private int aSuccessCount; // API 문자발송 성공건수 + private int aSendCount; // API 문자 발송건수 + + private int rateSuccessCount; // 홈페이지 전송 성공율 + private int rateApiSuccessCount; // API 전송 성공율 + + private int totalSendCount; // 전체 문자발송 건수 + private int totalSuccessCount; // 전체 문자발송 성공건수 + private int totalRateSuccessCount; // 전체 문자발송 성공율 + + public int getRateSuccessCount() { + return rateSuccessCount; + } + public void setRateSuccessCount(int rateSuccessCount) { + this.rateSuccessCount = rateSuccessCount; + } + public int getRateApiSuccessCount() { + return rateApiSuccessCount; + } + public void setRateApiSuccessCount(int rateApiSuccessCount) { + this.rateApiSuccessCount = rateApiSuccessCount; + } + public int getTotalSendCount() { + return totalSendCount; + } + public void setTotalSendCount(int totalSendCount) { + this.totalSendCount = totalSendCount; + } + public int getTotalSuccessCount() { + return totalSuccessCount; + } + public void setTotalSuccessCount(int totalSuccessCount) { + this.totalSuccessCount = totalSuccessCount; + } + public int getTotalRateSuccessCount() { + return totalRateSuccessCount; + } + public void setTotalRateSuccessCount(int totalRateSuccessCount) { + this.totalRateSuccessCount = totalRateSuccessCount; + } + public int getaSuccessCount() { + return aSuccessCount; + } + public void setaSuccessCount(int aSuccessCount) { + this.aSuccessCount = aSuccessCount; + } + public int getaSendCount() { + return aSendCount; + } + public void setaSendCount(int aSendCount) { + this.aSendCount = aSendCount; + } public String getSendKind() { return sendKind; } diff --git a/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java b/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java index 79eda090..8379c0fb 100644 --- a/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java +++ b/src/main/java/itn/let/mjo/msg/web/MjonMsgController.java @@ -4396,7 +4396,7 @@ public class MjonMsgController { if (resultList.size()>0) { model.addAttribute("sttstDate", resultList.get(0).getRegistPnttm()); - } + } }catch(Exception ex) { ex.printStackTrace(); } 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 37df31ce..232f57ba 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 @@ -5017,25 +5017,47 @@ diff --git a/src/main/resources/egovframework/sqlmap/let/sttst/MjonSttstData_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/sttst/MjonSttstData_SQL_mysql.xml index 67221b75..a217797f 100644 --- a/src/main/resources/egovframework/sqlmap/let/sttst/MjonSttstData_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/sttst/MjonSttstData_SQL_mysql.xml @@ -8,176 +8,251 @@ - INSERT INTO mj_sttst_msg - (send_date, send_cnt, success_cnt, regist_pnttm) + INSERT INTO MJ_STTST_MSG + ( + send_date + , send_cnt + , success_cnt + , API_SEND_CNT + , API_SUCCESS_CNT + , regist_pnttm + ) - select aa.regDate - , aa.sendCount - , aa.successCount + SELECT + aa.regDate + , aa.hSendCount + , aa.hSuccessCount + , aa.aSendCount + , aa.aSuccessCount , now() - - from ( - SELECT - M2.regDate , - SUM(M2.sendCount) AS sendCount , - SUM(M2.successCount) AS successCount - - FROM ( SELECT - M.REQ_DATE AS regDate - /*발송일*/ - - , IFNULL(M.MSG_GROUP_CNT, 0) AS sendCount - /*발송건수*/ - - , MSG_GROUP_ID - - , - (SELECT COUNT(0) - FROM MJ_MSG_DATA A - WHERE A.USER_ID NOT IN ('hftest', - 'itntest', - 'imotest', - 'itntestBatch') - AND A.RESERVE_C_YN = 'N' - AND A.MSG_GROUP_ID = M.MSG_GROUP_ID - AND (CASE - WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND (A.RSLT_CODE2 = '0')) - THEN 'S' - WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0') - THEN 'S' - WHEN A.AGENT_CODE = '03' AND (A.RSLT_CODE = '100' OR A.RSLT_CODE = '101' OR A.RSLT_CODE = '110' OR A.RSLT_CODE = '800') - THEN 'S' - WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE = '4100' OR A.RSLT_CODE = '6600') - THEN 'S' - WHEN A.AGENT_CODE = '05' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') - THEN 'S' - WHEN A.AGENT_CODE = '07' AND (A.RSLT_CODE = '6' OR A.RSLT_CODE = '1000') - THEN 'S' - WHEN A.AGENT_CODE = '08' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') - THEN 'S' - WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') - THEN 'S' - WHEN ( - A.RSLT_CODE IS NULL - AND A.RSLT_CODE2 IS NULL - AND A.SENT_DATE IS NULL - AND A.RSLT_DATE IS NULL - ) - THEN 'W' - ELSE 'F' - END ) = 'S' - ) - AS successCount - /*성공건수*/ - - FROM ( SELECT DATE_FORMAT(P.REQ_DATE, '%Y-%m-%d') AS REQ_DATE , - SUM(P.MSG_GROUP_CNT) AS MSG_GROUP_CNT , - P.MSG_GROUP_ID - FROM MJ_MSG_GROUP_DATA P - WHERE USER_ID NOT IN ('hftest', - 'itntest', - 'imotest', - 'itntestBatch') - AND P.RESERVE_C_YN = 'N' - AND P.req_date > DATE_ADD(now(), interval -14 day) - GROUP BY P.MSG_GROUP_ID - ) - M - ) - M2 - GROUP BY M2.regDate - )aa - on DUPLICATE KEY UPDATE - send_cnt=aa.sendCount - , success_cnt=aa.successCount - , regist_pnttm=now() - + FROM( + SELECT + M2.regDate + , SUM(M2.hSendCount) AS hSendCount + , SUM(M2.hSuccessCount) AS hSuccessCount + , SUM(M2.aSendCount) AS aSendCount + , SUM(M2.aSuccessCount) AS aSuccessCount + + FROM( + SELECT + M.REQ_DATE AS regDate /*발송일*/ + , IFNULL(M.MSG_GROUP_CNT, 0) AS sendCount /*발송건수*/ + , M.aSendCount /*API 발송건수*/ + , M.hSendCount /*홈페이지 발송건수*/ + , MSG_GROUP_ID + , (SELECT + COUNT(0) + FROM + MJ_MSG_DATA A + WHERE 1=1 + AND A.USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch') + AND A.RESERVE_C_YN = 'N' + AND A.MSG_GROUP_ID = M.MSG_GROUP_ID + AND M.SEND_KIND = 'H' + AND ( + CASE + WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND (A.RSLT_CODE2 = '0')) + THEN 'S' + WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0') + THEN 'S' + WHEN A.AGENT_CODE = '03' AND (A.RSLT_CODE = '100' OR A.RSLT_CODE = '101' OR A.RSLT_CODE = '110' OR A.RSLT_CODE = '800') + THEN 'S' + WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE = '4100' OR A.RSLT_CODE = '6600') + THEN 'S' + WHEN A.AGENT_CODE = '05' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '07' AND (A.RSLT_CODE = '6' OR A.RSLT_CODE = '1000') + THEN 'S' + WHEN A.AGENT_CODE = '08' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN (A.RSLT_CODE IS NULL AND A.RSLT_CODE2 IS NULL AND A.SENT_DATE IS NULL AND A.RSLT_DATE IS NULL ) + THEN 'W' + ELSE 'F' + END + ) = 'S' + ) AS hSuccessCount /*홈페이지 성공건수*/ + , (SELECT + COUNT(0) + FROM + MJ_MSG_DATA A + WHERE 1=1 + AND A.USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch') + AND A.RESERVE_C_YN = 'N' + AND A.MSG_GROUP_ID = M.MSG_GROUP_ID + AND M.SEND_KIND = 'A' + AND ( + CASE + WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND (A.RSLT_CODE2 = '0')) + THEN 'S' + WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0') + THEN 'S' + WHEN A.AGENT_CODE = '03' AND (A.RSLT_CODE = '100' OR A.RSLT_CODE = '101' OR A.RSLT_CODE = '110' OR A.RSLT_CODE = '800') + THEN 'S' + WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE = '4100' OR A.RSLT_CODE = '6600') + THEN 'S' + WHEN A.AGENT_CODE = '05' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '07' AND (A.RSLT_CODE = '6' OR A.RSLT_CODE = '1000') + THEN 'S' + WHEN A.AGENT_CODE = '08' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN (A.RSLT_CODE IS NULL AND A.RSLT_CODE2 IS NULL AND A.SENT_DATE IS NULL AND A.RSLT_DATE IS NULL ) + THEN 'W' + ELSE 'F' + END ) = 'S' + ) AS aSuccessCount /*API 성공건수*/ + FROM( + SELECT + DATE_FORMAT(P.REQ_DATE, '%Y-%m-%d') AS REQ_DATE + , SUM(P.MSG_GROUP_CNT) AS MSG_GROUP_CNT + , P.MSG_GROUP_ID + , P.SEND_KIND + , IF(P.SEND_KIND = 'A', SUM(P.MSG_GROUP_CNT), 0) AS aSendCount + , IF(P.SEND_KIND = 'H', SUM(P.MSG_GROUP_CNT), 0) AS hSendCount + FROM + MJ_MSG_GROUP_DATA P + WHERE 1=1 + AND USER_ID NOT IN ('hftest', 'itntest', 'imotest', 'itntestBatch') + AND P.RESERVE_C_YN = 'N' + AND P.req_date > DATE_ADD(now(), interval -14 day) + GROUP BY + P.MSG_GROUP_ID + )M + )M2 + GROUP BY M2.regDate + )aa + ON DUPLICATE KEY UPDATE + send_cnt =aa.hSendCount + , success_cnt =aa.hSuccessCount + , API_SEND_CNT =aa.aSendCount + , API_SUCCESS_CNT =aa.aSuccessCount + , regist_pnttm =now() - INSERT INTO mj_sttst_msg - (send_date, send_cnt, success_cnt, regist_pnttm) + INSERT INTO MJ_STTST_MSG + ( + send_date + , send_cnt + , success_cnt + , API_SEND_CNT + , API_SUCCESS_CNT + , regist_pnttm + ) - select aa.regDate - , aa.sendCount - , aa.successCount + SELECT + aa.regDate + , aa.hSendCount + , aa.hSuccessCount + , aa.aSendCount + , aa.aSuccessCount , now() - - from ( - SELECT - M2.regDate , - SUM(M2.sendCount) AS sendCount , - SUM(M2.successCount) AS successCount - - FROM ( SELECT - M.REQ_DATE AS regDate - /*발송일*/ - - , IFNULL(M.MSG_GROUP_CNT, 0) AS sendCount - /*발송건수*/ - - , MSG_GROUP_ID - - , (SELECT COUNT(0) - FROM MJ_MSG_DATA A - WHERE A.USER_ID NOT IN ('hftest', - 'itntest', - 'imotest', - 'itntestBatch') - AND A.RESERVE_C_YN = 'N' - AND A.MSG_GROUP_ID = M.MSG_GROUP_ID - AND ( - CASE - WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND(A.RSLT_CODE2 = '0')) - THEN 'S' - WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0') - THEN 'S' - WHEN A.AGENT_CODE = '03' AND (A.RSLT_CODE = '100' OR A.RSLT_CODE = '101' OR A.RSLT_CODE = '110' OR A.RSLT_CODE = '800') - THEN 'S' - WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE = '4100' OR A.RSLT_CODE = '6600') - THEN 'S' - WHEN A.AGENT_CODE = '05' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') - THEN 'S' - WHEN A.AGENT_CODE = '07' AND (A.RSLT_CODE = '6' OR A.RSLT_CODE = '1000') - THEN 'S' - WHEN A.AGENT_CODE = '08' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') - THEN 'S' - WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') - THEN 'S' - WHEN ( - A.RSLT_CODE IS NULL - AND A.RSLT_CODE2 IS NULL - AND A.SENT_DATE IS NULL - AND A.RSLT_DATE IS NULL - ) - THEN 'W' - ELSE 'F' - END ) = 'S' - ) - AS successCount - /*성공건수*/ - - FROM ( SELECT DATE_FORMAT(P.REQ_DATE, '%Y-%m-%d') AS REQ_DATE , - SUM(P.MSG_GROUP_CNT) AS MSG_GROUP_CNT , - P.MSG_GROUP_ID - FROM MJ_MSG_GROUP_DATA P - WHERE USER_ID NOT IN ('hftest', - 'itntest', - 'imotest', - 'itntestBatch') - AND P.RESERVE_C_YN = 'N' - GROUP BY P.MSG_GROUP_ID - ) - M - ) - M2 - GROUP BY M2.regDate - )aa - on DUPLICATE KEY UPDATE - send_cnt=aa.sendCount - , success_cnt=aa.successCount - , regist_pnttm=now() - + FROM( + SELECT + M2.regDate + , SUM(M2.sendCount) AS sendCount + , SUM(M2.successCount) AS successCount + FROM( + SELECT + M.REQ_DATE AS regDate /*발송일*/ + , IFNULL(M.MSG_GROUP_CNT, 0) AS sendCount /*발송건수*/ + , M.aSendCount /*API 발송건수*/ + , M.hSendCount /*홈페이지 발송건수*/ + , MSG_GROUP_ID + , (SELECT + COUNT(0) + FROM + MJ_MSG_DATA A + WHERE 1=1 + AND A.USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch') + AND A.RESERVE_C_YN = 'N' + AND A.MSG_GROUP_ID = M.MSG_GROUP_ID + AND M.SEND_KIND = 'H' + AND ( + CASE + WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND (A.RSLT_CODE2 = '0')) + THEN 'S' + WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0') + THEN 'S' + WHEN A.AGENT_CODE = '03' AND (A.RSLT_CODE = '100' OR A.RSLT_CODE = '101' OR A.RSLT_CODE = '110' OR A.RSLT_CODE = '800') + THEN 'S' + WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE = '4100' OR A.RSLT_CODE = '6600') + THEN 'S' + WHEN A.AGENT_CODE = '05' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '07' AND (A.RSLT_CODE = '6' OR A.RSLT_CODE = '1000') + THEN 'S' + WHEN A.AGENT_CODE = '08' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN (A.RSLT_CODE IS NULL AND A.RSLT_CODE2 IS NULL AND A.SENT_DATE IS NULL AND A.RSLT_DATE IS NULL ) + THEN 'W' + ELSE 'F' + END + ) = 'S' + ) AS hSuccessCount /*홈페이지 성공건수*/ + , (SELECT + COUNT(0) + FROM + MJ_MSG_DATA A + WHERE 1=1 + AND A.USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch') + AND A.RESERVE_C_YN = 'N' + AND A.MSG_GROUP_ID = M.MSG_GROUP_ID + AND M.SEND_KIND = 'A' + AND ( + CASE + WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND (A.RSLT_CODE2 = '0')) + THEN 'S' + WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0') + THEN 'S' + WHEN A.AGENT_CODE = '03' AND (A.RSLT_CODE = '100' OR A.RSLT_CODE = '101' OR A.RSLT_CODE = '110' OR A.RSLT_CODE = '800') + THEN 'S' + WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE = '4100' OR A.RSLT_CODE = '6600') + THEN 'S' + WHEN A.AGENT_CODE = '05' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '07' AND (A.RSLT_CODE = '6' OR A.RSLT_CODE = '1000') + THEN 'S' + WHEN A.AGENT_CODE = '08' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001') + THEN 'S' + WHEN (A.RSLT_CODE IS NULL AND A.RSLT_CODE2 IS NULL AND A.SENT_DATE IS NULL AND A.RSLT_DATE IS NULL ) + THEN 'W' + ELSE 'F' + END ) = 'S' + ) AS aSuccessCount /*API 성공건수*/ + FROM( + SELECT + DATE_FORMAT(P.REQ_DATE, '%Y-%m-%d') AS REQ_DATE + , SUM(P.MSG_GROUP_CNT) AS MSG_GROUP_CNT + , P.MSG_GROUP_ID + , P.SEND_KIND + , IF(P.SEND_KIND = 'A', SUM(P.MSG_GROUP_CNT), 0) AS aSendCount + , IF(P.SEND_KIND = 'H', SUM(P.MSG_GROUP_CNT), 0) AS hSendCount + FROM + MJ_MSG_GROUP_DATA P + WHERE 1=1 + AND USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch') + AND P.RESERVE_C_YN = 'N' + GROUP BY + P.MSG_GROUP_ID + )M + )M2 + GROUP BY M2.regDate + )aa + ON DUPLICATE KEY UPDATE + send_cnt =aa.hSendCount + , success_cnt =aa.hSuccessCount + , API_SEND_CNT =aa.aSendCount + , API_SUCCESS_CNT =aa.aSuccessCount + , regist_pnttm =now() diff --git a/src/main/webapp/WEB-INF/jsp/uss/ion/msg/MsgDayChart_230125.jsp b/src/main/webapp/WEB-INF/jsp/uss/ion/msg/MsgDayChart_230125.jsp index 231e8012..ea9f154e 100644 --- a/src/main/webapp/WEB-INF/jsp/uss/ion/msg/MsgDayChart_230125.jsp +++ b/src/main/webapp/WEB-INF/jsp/uss/ion/msg/MsgDayChart_230125.jsp @@ -11,14 +11,34 @@ response.setDateHeader("Expires",0); if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache"); %> - - - 일별 문자발송건수 통계 @@ -30,20 +27,31 @@ $(document).ready(function(){ } /* $('#searchYear').find('option:contains("${searchVO.ntceBgnde}")').attr("selected",true); */ $('#searchYear').find('option[value="${searchVO.ntceBgnde}"]').attr("selected",true); + + + var selectSendKind = $("#sendKind option:selected").val(); + + if(selectSendKind == "H"){ + $('.all').css('display', 'none'); + $('.api').css('display', 'none'); + setThead(1); + }else if(selectSendKind == "A"){ + $('.all').css('display', 'none'); + $('.homePage').css('display', 'none'); + setThead(1); + }else{ + setThead(3); + } }); - - - function linkPage(){ +function setThead(index){ + $("#sendHead").attr('colspan',index); + $("#successHead").attr('colspan',index); + $("#rateHead").attr('colspan',index); +} + +function linkPage(){ var listForm = document.listForm ; - /* if( $('#ntceBgndeYYYMMDD').val() != '' && $('#ntceEnddeYYYMMDD').val() != '' ){ - var iChkBeginDe = Number($('#ntceBgndeYYYMMDD').val().replaceAll("-", "")); - var iChkEndDe = Number($('#ntceEnddeYYYMMDD').val().replaceAll("-", "")); - if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){ - alert("검색 시작 일자는 종료 일자 보다 클 수 없습니다."); - return; - } - } */ $('#ntceBgnde').val($('#searchYear option:selected').val()); listForm.submit(); } @@ -63,8 +71,6 @@ $(document).ready(function(){ cursor: pointer; } - - @@ -84,60 +90,95 @@ $(document).ready(function(){
- <%-- - - " > - - -   ~ - - " - > - - - - 타임아웃 아이콘 - - --%> + -

- - (집계 일시 : ${sttstDate}(금일)) -
- <%--
-

-
--%> +
+

+ + (집계 일시 : ${sttstDate}(금일)) + +

+
- - - + + + + + + + + + - - - - + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + - - + + + +
발송월발송건수성공건수성공율발송일발송건수성공건수성공율
전체WEBAPI전체WEBAPI전체WEBAPI
% + + + + + + + + + + + + + + + % + + % + + % +
@@ -145,5 +186,3 @@ $(document).ready(function(){
- - From 59483958dcda47358244efa71026f38c74b4649d Mon Sep 17 00:00:00 2001 From: name Date: Tue, 1 Aug 2023 10:14:26 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=EA=B3=A0=EA=B0=9D=20=EB=AC=B8=EC=9E=90?= =?UTF-8?q?=EC=A0=84=EC=86=A1=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=EB=B0=A9?= =?UTF-8?q?=EC=8B=9D=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mjo/msgsent/service/MjonMsgSentVO.java | 10 +- .../uss/umt/web/EgovUserManageController.java | 32 +-- .../sqlmap/let/msg/MjonMsgData_SQL_mysql.xml | 239 +++++++++++++----- .../let/uss/umt/EgovMberManage_SQL_Mysql.xml | 3 + .../umt/EgovGnrlUserSelectMsgDataListPop.jsp | 193 +++++++------- .../cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp | 46 +++- 6 files changed, 339 insertions(+), 184 deletions(-) diff --git a/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java b/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java index 004ace73..85306f36 100644 --- a/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java +++ b/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java @@ -70,6 +70,8 @@ public class MjonMsgSentVO extends UserDefaultVO{ private int successCnt; // 문자발송 성공건수 + private String sendKind; //문자 전송 타입(H:홈페이지 A: API) + private String msgKind; //문자종류(일반:N, 광고:A , 선거:C, 관리자:S, 이벤트:E) private String delayYn; //지연 문자 유무 private String delayCompleteYn; //지연문자 처리 완료 여부 @@ -420,6 +422,10 @@ public class MjonMsgSentVO extends UserDefaultVO{ public void setDelayCompleteYn(String delayCompleteYn) { this.delayCompleteYn = delayCompleteYn; } - - + public String getSendKind() { + return sendKind; + } + public void setSendKind(String sendKind) { + this.sendKind = sendKind; + } } 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 9eadc8ce..20b06771 100644 --- a/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java +++ b/src/main/java/itn/let/uss/umt/web/EgovUserManageController.java @@ -1788,10 +1788,10 @@ public class EgovUserManageController { paginationInfo.setTotalRecordCount(resultList.size() > 0 ? ((MjonMsgVO)resultList.get(0)).getTotCnt() : 0); model.addAttribute("paginationInfo", paginationInfo); - String msgGroupSCntSum = "0"; //정상수신 총 건수 합계 - String totSPriceSum = "0"; //정상수신 총 금액 합계 - String msgGroupFWCntSum = "0"; //실패대기 총 건수 합계 - String totFWPriceSum = "0"; //실패대기 총 금액 합계 + String msgGroupSCntSum = "0"; //정상수신 총 건수 합계 + String totSPriceSum = "0"; //정상수신 총 금액 합계 + String msgGroupFWCntSum = "0"; //실패대기 총 건수 합계 + String totFWPriceSum = "0"; //실패대기 총 금액 합계 if(resultList.size() > 0) { @@ -1809,10 +1809,10 @@ public class EgovUserManageController { //단문 건수 및 금액 변수 처리 - String msgSmsGroupSCntSum = "0"; //정상수신 총 건수 합계 - String totSmsSPriceSum = "0"; //정상수신 총 금액 합계 - String msgSmsGroupFWCntSum = "0"; //실패대기 총 건수 합계 - String totSmsFWPriceSum = "0"; //실패대기 총 금액 합계 + String msgSmsGroupSCntSum = "0"; //정상수신 총 건수 합계 + String totSmsSPriceSum = "0"; //정상수신 총 금액 합계 + String msgSmsGroupFWCntSum = "0"; //실패대기 총 건수 합계 + String totSmsFWPriceSum = "0"; //실패대기 총 금액 합계 if(resultSmsList.size() > 0) { @@ -1830,10 +1830,10 @@ public class EgovUserManageController { //장문 건수 및 금액 변수 처리 - String msgLmsGroupSCntSum = "0"; //정상수신 총 건수 합계 - String totLmsSPriceSum = "0"; //정상수신 총 금액 합계 - String msgLmsGroupFWCntSum = "0"; //실패대기 총 건수 합계 - String totLmsFWPriceSum = "0"; //실패대기 총 금액 합계 + String msgLmsGroupSCntSum = "0"; //정상수신 총 건수 합계 + String totLmsSPriceSum = "0"; //정상수신 총 금액 합계 + String msgLmsGroupFWCntSum = "0"; //실패대기 총 건수 합계 + String totLmsFWPriceSum = "0"; //실패대기 총 금액 합계 if(resultLmsList.size() > 0) { @@ -1851,10 +1851,10 @@ public class EgovUserManageController { //그림 건수 및 금액 변수 처리 - String msgMmsGroupSCntSum = "0"; //정상수신 총 건수 합계 - String totMmsSPriceSum = "0"; //정상수신 총 금액 합계 - String msgMmsGroupFWCntSum = "0"; //실패대기 총 건수 합계 - String totMmsFWPriceSum = "0"; //실패대기 총 금액 합계 + String msgMmsGroupSCntSum = "0"; //정상수신 총 건수 합계 + String totMmsSPriceSum = "0"; //정상수신 총 금액 합계 + String msgMmsGroupFWCntSum = "0"; //실패대기 총 건수 합계 + String totMmsFWPriceSum = "0"; //실패대기 총 금액 합계 if(resultMmsList.size() > 0) { 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 6970ade0..bc8fc456 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 @@ -4451,6 +4451,7 @@ , msgGroupId , callFrom , callTo + , sendKind , smsTxt , fileCnt , msgType @@ -4475,50 +4476,84 @@ , smiId , delayYn , delayCompleteYn - ,( - SELECT - CONCAT( - ( - IF(B.FILE_PATH1 IS NOT NULL, (SELECT - ATCH_FILE_ID - FROM LETTNFILEDETAIL - WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH1, '/', -1)) - LIMIT 1), '') - ) - ,'^', - ( - IF(B.FILE_PATH2 IS NOT NULL, (SELECT - ATCH_FILE_ID - FROM LETTNFILEDETAIL - WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH2, '/', -1)) - LIMIT 1), '') - ) - ,'^', - ( - IF(B.FILE_PATH3 IS NOT NULL, (SELECT - ATCH_FILE_ID - FROM LETTNFILEDETAIL - WHERE CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH3, '/', -1)) - LIMIT 1), '') - )) - FROM - MJ_MSG_DATA B - WHERE - B.MSG_GROUP_ID = msgGroupId - LIMIT 1 - ) AS atchFiles + ,(SELECT + CONCAT( + (IF(B.FILE_PATH1 IS NOT NULL + , (SELECT + ATCH_FILE_ID + FROM + LETTNFILEDETAIL + WHERE 1=1 + AND CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH1, '/', -1)) + LIMIT 1) + , '') + ) + , '^' + , (IF(B.FILE_PATH2 IS NOT NULL + , (SELECT + ATCH_FILE_ID + FROM + LETTNFILEDETAIL + WHERE 1=1 + AND CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH2, '/', -1)) + LIMIT 1) + , '') + ) + , '^' + , (IF(B.FILE_PATH3 IS NOT NULL + , (SELECT + ATCH_FILE_ID + FROM + LETTNFILEDETAIL + WHERE 1=1 + AND CONCAT(STRE_FILE_NM, '.', FILE_EXTSN) = CONCAT(SUBSTRING_INDEX(B.FILE_PATH3, '/', -1)) + LIMIT 1) + , '') + ) + ) + FROM + MJ_MSG_DATA B + WHERE 1=1 + AND B.MSG_GROUP_ID = msgGroupId + LIMIT 1 + ) AS atchFiles FROM (SELECT - (SELECT count(1) - FROM - (SELECT - () AS resultCodeTxt, - MGD.MSG_GROUP_ID - FROM MJ_MSG_GROUP_DATA MGD + (SELECT + count(1) + FROM + (SELECT + () AS resultCodeTxt + , MGD.MSG_GROUP_ID + FROM + MJ_MSG_GROUP_DATA MGD LEFT JOIN MJ_MSG_DATA MD ON MD.MSG_GROUP_ID = MGD.MSG_GROUP_ID - WHERE MGD.USER_ID = #userId# + WHERE 1=1 + AND MGD.USER_ID = #userId# AND DATE_FORMAT(MGD.REQ_DATE, '%Y-%m-%d') BETWEEN #ntceBgnde# AND #ntceEndde# + + + + AND MGD.SEND_KIND = 'H' + + + AND MGD.SEND_KIND = 'A' + + + + + + ( MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%') OR MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%') ) + + + MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%') + + + MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%') + + + - ) sub2 - WHERE sub2.resultCodeTxt = 'S' - AND sub2.MSG_GROUP_ID = IN1.MSG_GROUP_ID - ) AS msgGroupSCnt + ) sub2 + WHERE 1=1 + AND sub2.resultCodeTxt = 'S' + AND sub2.MSG_GROUP_ID = IN1.MSG_GROUP_ID + ) AS msgGroupSCnt , COUNT(MSG_GROUP_ID) * EACH_PRICE AS totSPrice - , (SELECT count(1) - FROM + , (SELECT + count(1) + FROM (SELECT - () AS resultCodeTxt, - MGD.MSG_GROUP_ID - FROM MJ_MSG_GROUP_DATA MGD + () AS resultCodeTxt + , MGD.MSG_GROUP_ID + FROM + MJ_MSG_GROUP_DATA MGD LEFT JOIN MJ_MSG_DATA MD - ON MD.MSG_GROUP_ID = MGD.MSG_GROUP_ID - WHERE MGD.USER_ID = #userId# + ON MD.MSG_GROUP_ID = MGD.MSG_GROUP_ID + WHERE 1=1 + AND MGD.USER_ID = #userId# AND DATE_FORMAT(MGD.REQ_DATE, '%Y-%m-%d') BETWEEN #ntceBgnde# AND #ntceEndde# @@ -4562,15 +4601,17 @@ ]]> - ) sub2 - WHERE 'S' ]]> - AND sub2.MSG_GROUP_ID = IN1.MSG_GROUP_ID + ) sub2 + WHERE 1=1 + AND 'S' ]]> + AND sub2.MSG_GROUP_ID = IN1.MSG_GROUP_ID ) AS msgGroupFWCnt , '0' AS totFWPrice , MSG_GROUP_ID AS msgGroupId , USER_ID AS userId , CALL_FROM AS callFrom , CALL_TO AS callTo + , SEND_KIND AS sendKind , SMS_TXT AS smsTxt , FILE_CNT AS fileCnt , MSG_TYPE AS msgType @@ -4601,6 +4642,7 @@ , MGD.USER_ID , MGD.CALL_FROM , MD.CALL_TO + , MGD.SEND_KIND , MGD.SMS_TXT , MGD.FILE_CNT , MD.MSG_TYPE @@ -4657,6 +4699,26 @@ AND DATE_FORMAT(MGD.REQ_DATE, '%Y-%m-%d') BETWEEN #ntceBgnde# AND #ntceEndde# + + + AND MGD.SEND_KIND = 'H' + + + AND MGD.SEND_KIND = 'A' + + + + + + ( MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%') OR MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%') ) + + + MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%') + + + MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%') + + /**30분 지연이 아니거나 지연 처리가 완료된 건들 불러오기*/ - AND - ( - ( - MGD.DELAY_YN = 'N' - AND MGD.DELAY_COMPLETE_YN = 'N' - ) - OR - ( - MGD.DELAY_YN = 'Y' - AND MGD.DELAY_COMPLETE_YN = 'Y' - ) - ) + AND + ( + ( + MGD.DELAY_YN = 'N' + AND MGD.DELAY_COMPLETE_YN = 'N' + ) + OR + ( + MGD.DELAY_YN = 'Y' + AND MGD.DELAY_COMPLETE_YN = 'Y' + ) + ) @@ -4803,8 +4865,8 @@ ON MD.MSG_GROUP_ID = MGD.MSG_GROUP_ID LEFT JOIN (SELECT CODE_NM ,CODE , CODE_DC FROM LETTCCMMNDETAILCODE WHERE USE_AT = 'Y' AND CODE_ID = 'ITN019' )B ON MD.AGENT_CODE = B.CODE - WHERE - MGD.USER_ID = #userId# + WHERE 1=1 + AND MGD.USER_ID = #userId# AND MGD.MSG_TYPE IN (4, 6) AND MGD.MSG_TYPE = #msgType# @@ -4816,6 +4878,28 @@ AND MGD.FILE_CNT = 0 AND DATE_FORMAT(MGD.REQ_DATE, '%Y-%m-%d') BETWEEN #ntceBgnde# AND #ntceEndde# + + + + AND MGD.SEND_KIND = 'H' + + + AND MGD.SEND_KIND = 'A' + + + + + + ( MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%') OR MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%') ) + + + MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%') + + + MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%') + + + AND DATE_FORMAT(MGD.REQ_DATE, '%Y-%m-%d') BETWEEN #ntceBgnde# AND #ntceEndde# + + + AND MGD.SEND_KIND = 'H' + + + AND MGD.SEND_KIND = 'A' + + + + + + ( MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%') OR MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%') ) + + + MD.CALL_FROM LIKE CONCAT('%' , #searchKeyword#, '%') + + + MD.SMS_TXT LIKE CONCAT('%' , #searchKeyword#, '%') + + + ) = 'S' ) AS successCnt + , MGD.SEND_KIND AS sendKind , MGD.SMS_TXT AS smsTxt , userdata , curState @@ -1451,6 +1452,7 @@ AND A.MSG_GROUP_ID = A.msgGroupId AND () = 'S' ) AS successCnt + , MGD.SEND_KIND AS sendKind , MGD.SMS_TXT AS smsTxt , userdata , curState @@ -1574,6 +1576,7 @@ AND A.MSG_GROUP_ID = A.msgGroupId AND () = 'S' ) AS successCnt + , MGD.SEND_KIND AS sendKind , MGD.SMS_TXT AS smsTxt , userdata , curState 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 ba4dd3aa..d6f08b20 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 @@ -120,6 +120,10 @@ function init_date(){ $('#ntceEnddeYYYMMDD').val(''); $('#ntceBgnde').val(''); $('#ntceEndde').val(''); + + $('#searchKeyword').val(''); + $('#sendKind').val('').prop("selected",true); + $('#searchCondition').val('').prop("selected",true); } @@ -342,6 +346,7 @@ function fn_updateSendRealTime(userId, msgGroupId){
+ @@ -361,6 +366,7 @@ function fn_updateSendRealTime(userId, msgGroupId){ + @@ -387,51 +393,93 @@ function fn_updateSendRealTime(userId, msgGroupId){ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +
방식 단문 장문 그림문자
+ 전체 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
- + + + + + + - - " > - - -   ~ - - " - > - - + + " > + + +   ~ + + " > + + 타임아웃 아이콘 @@ -462,7 +510,7 @@ function fn_updateSendRealTime(userId, msgGroupId){ <%-- --%> <%-- --%> - <%----%> + @@ -482,9 +530,7 @@ function fn_updateSendRealTime(userId, msgGroupId){ 예약 내용 타입 - - - <%--전송사--%> + 방식 스미싱의심 이용정지 발송처리 @@ -495,24 +541,24 @@ function fn_updateSendRealTime(userId, msgGroupId){ - - - + + + - + "> - + - + @@ -525,21 +571,13 @@ function fn_updateSendRealTime(userId, msgGroupId){ - <%-- - - - - - - - --%> /(%) 예약취소 - + 예약 @@ -547,27 +585,7 @@ function fn_updateSendRealTime(userId, msgGroupId){ 즉시 - - - <%-- - - -
-
- -
- - 단문 - 그림(장) - 장문 - -
-
-
-
-
- --%> @@ -612,8 +630,7 @@ function fn_updateSendRealTime(userId, msgGroupId){
- - + @@ -627,30 +644,16 @@ function fn_updateSendRealTime(userId, msgGroupId){ - <%-- + - - + + API + + + 홈페이지 - - - - --%> - <%-- - - - 정상수신 - - - 수신오류 - - - 결과대기 - - - --%> - <%----%> + @@ -702,7 +705,7 @@ function fn_updateSendRealTime(userId, msgGroupId){ - + diff --git a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp index a2b8b99f..613195f1 100644 --- a/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp +++ b/src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp @@ -3721,6 +3721,7 @@ function kakaoATDelayCancel(msgGroupId){ + @@ -3733,6 +3734,7 @@ function kakaoATDelayCancel(msgGroupId){ 번호 종류 + 방식 등록일시 전송일시 발신번호 @@ -3747,7 +3749,9 @@ function kakaoATDelayCancel(msgGroupId){ - + + + @@ -3771,6 +3775,16 @@ function kakaoATDelayCancel(msgGroupId){ + + + + WEB + + + API + + + @@ -3898,7 +3912,7 @@ function kakaoATDelayCancel(msgGroupId){ - 문자 발송 내역이 없습니다. + 문자 발송 내역이 없습니다. @@ -3916,6 +3930,7 @@ function kakaoATDelayCancel(msgGroupId){ + @@ -3928,6 +3943,7 @@ function kakaoATDelayCancel(msgGroupId){ 번호 종류 + 방식 등록일시 요청일시 발신번호 @@ -3966,6 +3982,16 @@ function kakaoATDelayCancel(msgGroupId){ + + + + WEB + + + API + + + @@ -4094,7 +4120,7 @@ function kakaoATDelayCancel(msgGroupId){ - 예약 문자 내역이 없습니다. + 예약 문자 내역이 없습니다. @@ -4116,6 +4142,7 @@ function kakaoATDelayCancel(msgGroupId){ + @@ -4128,6 +4155,7 @@ function kakaoATDelayCancel(msgGroupId){ 종류 + 방식 등록일시 전송일시 발신번호 @@ -4170,6 +4198,16 @@ function kakaoATDelayCancel(msgGroupId){ + + + + WEB + + + API + + + @@ -4293,7 +4331,7 @@ function kakaoATDelayCancel(msgGroupId){ - 문자 지연 내역이 없습니다. + 문자 지연 내역이 없습니다.