diff --git a/src/main/java/itn/let/kakao/user/sent/service/impl/KakaoSentServiceImpl.java b/src/main/java/itn/let/kakao/user/sent/service/impl/KakaoSentServiceImpl.java index 2843c4d3..07137c29 100644 --- a/src/main/java/itn/let/kakao/user/sent/service/impl/KakaoSentServiceImpl.java +++ b/src/main/java/itn/let/kakao/user/sent/service/impl/KakaoSentServiceImpl.java @@ -242,7 +242,7 @@ public class KakaoSentServiceImpl extends EgovAbstractServiceImpl implements Ka int failed = 0; // 실패 건수 if("Y".equals(resultVO.getBizKakaoResendYn())) { success = resultVO.getSuccessCount() + resultVO.getKakaoResendSuccCount(); - failed = resultVO.getKakaoResendFailCount(); + failed = resultVO.getFailCount() - resultVO.getKakaoResendSuccCount(); }else { success = resultVO.getSuccessCount(); failed = resultVO.getFailCount(); @@ -254,8 +254,8 @@ public class KakaoSentServiceImpl extends EgovAbstractServiceImpl implements Ka String failedPct = total > 0 ? String.format("%.1f%%", (failed / (double) total) * 100) : "0.0%"; resultVO.setSuccessPct(successPct); - resultVO.setFailedPct(waitingPct); - resultVO.setWaitingPct(failedPct); + resultVO.setFailedPct(failedPct); + resultVO.setWaitingPct(waitingPct); resultVO.setTotPrice(this.priceProc(resultVO.getSuccessPrice(), resultVO.getKakaoResendSuccPrice())); diff --git a/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml index 00b94da6..60d4c267 100644 --- a/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml @@ -1679,37 +1679,55 @@ SUM(IF(t1.RESERVE_C_YN = 'N' AND t1.RSLT_CODE = '7000', 1, 0)) AS successCount, SUM(IF(t1.RESERVE_C_YN = 'N' AND t1.RSLT_CODE IS NULL AND t1.SENT_DATE IS NULL AND t1.RSLT_DATE IS NULL, 1, 0)) AS waitCount, SUM(IF(t1.RESERVE_C_YN = 'N' AND t1.RSLT_CODE != '7000' AND t1.RSLT_CODE IS NOT NULL, 1, 0)) AS failCount, - SUM(IF(t1.BIZ_KAKAO_RESEND_YN = 'Y' AND BL1.CALL_STATUS IN ('6600', '4100'), 1, 0)) AS kakaoResendSuccCount, - SUM(IF( - t1.BIZ_KAKAO_RESEND_YN = 'Y' AND - NOT EXISTS ( - SELECT 1 - FROM ( - SELECT '6600' AS status UNION ALL SELECT '4100' - ) AS status_list - WHERE status_list.status = BL1.CALL_STATUS - ), 1, 0 - )) AS kakaoResendFailCount, - SUM(IF( - t1.BIZ_KAKAO_RESEND_YN = 'Y' AND - NOT EXISTS ( - SELECT 1 - FROM ( - SELECT '6600' AS status UNION ALL SELECT '4100' - ) AS status_list - WHERE status_list.status = BL1.CALL_STATUS - ) AND t1.BIZ_KAKAO_RESEND_TYPE = 'SMS', 1, 0 - )) AS smsCnt, - SUM(IF( - t1.BIZ_KAKAO_RESEND_YN = 'Y' AND - NOT EXISTS ( - SELECT 1 - FROM ( - SELECT '6600' AS status UNION ALL SELECT '4100' - ) AS status_list - WHERE status_list.status = BL1.CALL_STATUS - ) AND t1.BIZ_KAKAO_RESEND_TYPE = 'MMS', 1, 0 - )) AS mmsCnt, + SUM(IF(t1.BIZ_KAKAO_RESEND_YN = 'Y' + AND BL1.CALL_STATUS IN ('6600', '4100'), 1, 0)) AS kakaoResendSuccCount, + ( SELECT COUNT(0) + FROM BIZ_LOG BL1, + MJ_MSG_DATA MMD1 + WHERE t1.BIZ_KAKAO_RESEND_YN = 'Y' + AND t1.MSG_GROUP_ID = MMD1.MSG_GROUP_ID + AND MMD1.BIZ_UMID = BL1.CMID + AND ( + CASE + WHEN BL1.CALL_STATUS IN ('6600', + '4100') + THEN 'S' + ELSE 'F' + END ) = 'F' + ) + kakaoResendFailCount, + ( SELECT COUNT(0) + FROM BIZ_LOG BL1, + MJ_MSG_DATA MMD1 + WHERE t1.BIZ_KAKAO_RESEND_YN = 'Y' + AND t1.MSG_GROUP_ID = MMD1.MSG_GROUP_ID + AND MMD1.BIZ_UMID = BL1.CMID + AND ( + CASE + WHEN BL1.CALL_STATUS IN ('6600', + '4100') + THEN 'S' + ELSE 'F' + END ) = 'S' + AND MMD1.BIZ_KAKAO_RESEND_TYPE = 'SMS' + ) + smsCnt, + ( SELECT COUNT(0) + FROM BIZ_LOG BL1, + MJ_MSG_DATA MMD1 + WHERE t1.BIZ_KAKAO_RESEND_YN = 'Y' + AND t1.MSG_GROUP_ID = MMD1.MSG_GROUP_ID + AND MMD1.BIZ_UMID = BL1.CMID + AND ( + CASE + WHEN BL1.CALL_STATUS IN ('6600', + '4100') + THEN 'S' + ELSE 'F' + END ) = 'S' + AND MMD1.BIZ_KAKAO_RESEND_TYPE = 'MMS' + ) + mmsCnt, CASE WHEN COUNT(DISTINCT t1.REQ_DATE) > 1 THEN 'Y' ELSE 'N' diff --git a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml index 53068c95..752eec93 100644 --- a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml @@ -400,6 +400,7 @@ WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0') then '성공' WHEN A.AGENT_CODE = '03' AND (A.RSLT_CODE in ('100', '101', '110', '800')) then '성공' WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE in ('4100', '6600', '7000')) then '성공' + WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE not in ('4100', '6600', '7000')) AND A.BIZ_KAKAO_RESEND_YN = 'Y' AND BL1.CALL_STATUS IN ('6600', '4100') then '성공(대체문자)' WHEN A.AGENT_CODE = '05' AND (A.RSLT_CODE in ('1000', '1001')) then '성공' WHEN A.AGENT_CODE = '07' AND (A.RSLT_CODE in ('6', '1000')) then '성공' WHEN A.AGENT_CODE = '08' AND (A.RSLT_CODE in ('1000', '1001')) then '성공' @@ -409,6 +410,7 @@ END as statusTxt from MJ_MSG_DATA A + LEFT OUTER JOIN BIZ_LOG BL1 ON A.BIZ_UMID = BL1.CMID where A.MSG_GROUP_ID = #msgGroupId# diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentAllListAjax.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentAllListAjax.jsp index 9ef54863..9b1d4529 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentAllListAjax.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentAllListAjax.jsp @@ -104,16 +104,23 @@ function fnReservCancel(msgGroupId){ } +function pageUnitChg(obj){ + document.searchForm.pageUnit.value = obj.value; + linkPage(1); +} +
총 발송건수
※ 예약 발송취소는 예약 발송시간 기준 5분 전까지만 가능
-