알림톡 예약관리 성능개선

This commit is contained in:
itn 2023-06-19 17:07:50 +09:00
parent d9b245ceeb
commit b409f3a2bb
2 changed files with 242 additions and 213 deletions

View File

@ -986,6 +986,94 @@
<!-- 전체 예약결과 조회 (그룹별)-->
<select id="KakaoSentDAO.selectReservKakaoSentList" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
SELECT
M2.totMsgCnt ,
M2.userId ,
M2.msgGroupId ,
M2.msgGroupCnt ,
M2.smsTxt ,
M2.subject ,
M2.regDate ,
M2.reqDate ,
M2.rsltDate ,
M2.diffMin,
M2.callFrom ,
M2.callTo ,
M2.addrNm ,
M2.totPrice ,
M2.eachPrice ,
M2.curState ,
M2.rsltCode ,
M2.rsltCode2 ,
M2.orderByrsltCode ,
M2.delFlag ,
M2.msgType ,
M2.fileCnt ,
M2.agentCode ,
M2.reserveYn ,
M2.reserveCYn ,
M2.cancelDate ,
M2.msgTypeName ,
M2.orderByCode ,
M2.msgResult ,
( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = M2.msgGroupId
AND C.RSLT_CODE = '7000'
) AS successCount ,
( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = M2.msgGroupId
AND (
C.RSLT_CODE IS NULL
AND C.SENT_DATE IS NULL
AND C.RSLT_DATE IS NULL
)
) AS waitCount ,
( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = M2.msgGroupId
AND (
C.RSLT_CODE != '7000'
AND C.RSLT_CODE IS NOT NULL
)
) AS failCount ,
M2.bizUmid,
M2.callStatus,
M2.bizKakaoResendYn,
( SELECT COUNT(0)
FROM BIZ_LOG BL1,
MJ_MSG_DATA MMD1
WHERE M2.bizKakaoResendYn = 'Y'
AND M2.msgGroupId = 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'
) kakaoResendSuccCount,
( SELECT COUNT(0)
FROM BIZ_LOG BL1,
MJ_MSG_DATA MMD1
WHERE M2.bizKakaoResendYn = 'Y'
AND M2.msgGroupId = 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
FROM (
SELECT
COUNT(M.USER_ID) OVER() AS totMsgCnt ,
M.USER_ID AS userId ,
@ -1016,38 +1104,9 @@
msgTypeName AS msgTypeName ,
orderByCode AS orderByCode ,
RESULT AS msgResult ,
successCount,
waitCount,
failCount,
BIZ_UMID AS bizUmid,
BL.CALL_STATUS AS callStatus,
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn,
( SELECT COUNT(0)
FROM BIZ_LOG BL1,
MJ_MSG_DATA MMD1
WHERE M.BIZ_KAKAO_RESEND_YN = 'Y'
AND M.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'
) kakaoResendSuccCount,
( SELECT COUNT(0)
FROM BIZ_LOG BL1,
MJ_MSG_DATA MMD1
WHERE M.BIZ_KAKAO_RESEND_YN = 'Y'
AND M.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
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn
FROM (
SELECT MG.USER_ID ,
MG.MSG_GROUP_ID ,
@ -1092,34 +1151,6 @@
THEN 'W'
ELSE 'F'
END ) AS result ,
( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
AND C.RSLT_CODE = '7000'
) AS successCount ,
( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
AND (
C.RSLT_CODE IS NULL
AND C.SENT_DATE IS NULL
AND C.RSLT_DATE IS NULL
)
) AS waitCount ,
( SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
AND (
C.RSLT_CODE != '7000'
AND C.RSLT_CODE IS NOT NULL
)
) AS failCount ,
MSG_NOTICETALK_SENDER_KEY ,
MSG_NOTICETALK_TMP_KEY,
MD.BIZ_UMID,
@ -1218,6 +1249,7 @@
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
) M2
</select>
</sqlMap>

View File

@ -71,10 +71,10 @@ $(document).ready(function(){
<table class="tType4">
<colgroup>
<col style="width: 40px;">
<col style="width: 8%;">
<col style="width: 13%;">
<col style="width: 13%;">
<col style="width: 7%;">
<col style="width: 11.5%;">
<col style="width: 11.5%;">
<col style="width: 10%;">
<col style="width: 90px;">
<col style="width: 8%;">
<col style="width: 10%;">
@ -92,9 +92,6 @@ $(document).ready(function(){
<input type="checkbox" id="allCheck" name="allCheck">
</th>
<th rowspan="2">발송상태
<div class="sort_wrap">
<input type="button" class="sort sortBtn" id="sort_shipmentStatus">
</div>
</th>
<th rowspan="2">
접수일자