Merge branch 'jsp'

This commit is contained in:
itn 2023-06-19 16:48:00 +09:00
commit d9b245ceeb
2 changed files with 246 additions and 215 deletions

View File

@ -202,45 +202,70 @@
<!-- 전체 발송결과 조회 (그룹별)-->
<select id="KakaoSentDAO.selectAllKakaoSentList" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
SELECT
COUNT(M.USER_ID) OVER() AS totMsgCnt ,
M.USER_ID AS userId ,
MSG_GROUP_ID AS msgGroupId ,
MSG_GROUP_CNT AS msgGroupCnt ,
SMS_TXT AS smsTxt ,
M.SUBJECT AS subject ,
DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate ,
DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate ,
DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate ,
CALL_FROM AS callFrom ,
CALL_TO AS callTo ,
IFNULL(ADDR_NM, '-') AS addrNm ,
TOT_PRICE AS totPrice ,
EACH_PRICE AS eachPrice ,
CUR_STATE AS curState ,
RSLT_CODE AS rsltCode ,
RSLT_CODE2 AS rsltCode2 ,
IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode ,
DEL_FLAG AS delFlag ,
M.MSG_TYPE AS msgType ,
FILE_CNT AS fileCnt ,
AGENT_CODE AS agentCode ,
RESERVE_YN AS reserveYn ,
RESERVE_C_YN AS reserveCYn ,
CANCELDATE AS cancelDate ,
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,
M2.totMsgCnt ,
M2.userId ,
M2.msgGroupId ,
M2.msgGroupCnt ,
M2.smsTxt ,
M2.subject ,
M2.regDate ,
M2.reqDate ,
M2.rsltDate ,
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 M.BIZ_KAKAO_RESEND_YN = 'Y'
AND M.MSG_GROUP_ID = MMD1.MSG_GROUP_ID
WHERE M2.bizKakaoResendYn = 'Y'
AND M2.msgGroupId = MMD1.MSG_GROUP_ID
AND MMD1.BIZ_UMID = BL1.CMID
AND (
CASE
@ -252,8 +277,8 @@
( 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
WHERE M2.bizKakaoResendYn = 'Y'
AND M2.msgGroupId = MMD1.MSG_GROUP_ID
AND MMD1.BIZ_UMID = BL1.CMID
AND (
CASE
@ -263,184 +288,190 @@
END ) = 'F'
) kakaoResendFailCount
FROM (
SELECT MG.USER_ID ,
MG.MSG_GROUP_ID ,
MG.MSG_GROUP_CNT ,
MG.SMS_TXT ,
MG.SUBJECT ,
MG.REGDATE ,
MG.REQ_DATE ,
MD.RSLT_DATE ,
MG.CALL_FROM ,
MG.TOT_PRICE ,
MG.EACH_PRICE ,
MG.DEL_FLAG ,
MG.MSG_TYPE ,
MG.FILE_CNT ,
MG.AGENT_CODE ,
MG.RESERVE_YN ,
MG.RESERVE_C_YN ,
MG.CANCELDATE ,
MD.MSG_SEQ ,
MD.CALL_TO ,
MD.CUR_STATE ,
MD.RSLT_CODE ,
MD.RSLT_CODE2 ,
CASE
WHEN MG.MSG_TYPE = '8'
THEN '알림톡'
WHEN MG.MSG_TYPE = '9'
THEN '친구톡'
END msgTypeName ,
CASE
WHEN MG.MSG_TYPE = '8'
THEN '1'
ELSE '2'
END orderByCode , (
CASE
WHEN MD.RSLT_CODE = '7000'
THEN 'S'
WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL)
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,
MD.BIZ_KAKAO_RESEND_YN
FROM MJ_MSG_DATA MD ,
MJ_MSG_GROUP_DATA MG
WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
AND MD.DEL_FLAG = 'N'
AND MG.USER_ID = #userId#
AND MG.DEL_FLAG ='N'
/* JSPark 2023.03.23 => 예약건중 발송완료건도 발송결과에 노출되도록 수정 */
/* AND MG.RESERVE_YN = 'N' */
<![CDATA[ AND MG.REQ_DATE <= NOW() ]]>
SELECT
COUNT(M.USER_ID) OVER() AS totMsgCnt ,
M.USER_ID AS userId ,
MSG_GROUP_ID AS msgGroupId ,
MSG_GROUP_CNT AS msgGroupCnt ,
SMS_TXT AS smsTxt ,
M.SUBJECT AS subject ,
DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate ,
DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate ,
DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate ,
CALL_FROM AS callFrom ,
CALL_TO AS callTo ,
IFNULL(ADDR_NM, '-') AS addrNm ,
TOT_PRICE AS totPrice ,
EACH_PRICE AS eachPrice ,
CUR_STATE AS curState ,
RSLT_CODE AS rsltCode ,
RSLT_CODE2 AS rsltCode2 ,
IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode ,
DEL_FLAG AS delFlag ,
M.MSG_TYPE AS msgType ,
FILE_CNT AS fileCnt ,
AGENT_CODE AS agentCode ,
RESERVE_YN AS reserveYn ,
RESERVE_C_YN AS reserveCYn ,
CANCELDATE AS cancelDate ,
msgTypeName AS msgTypeName ,
orderByCode AS orderByCode ,
RESULT AS msgResult ,
BIZ_UMID AS bizUmid,
BL.CALL_STATUS AS callStatus,
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn
FROM (
SELECT MG.USER_ID ,
MG.MSG_GROUP_ID ,
MG.MSG_GROUP_CNT ,
MG.SMS_TXT ,
MG.SUBJECT ,
MG.REGDATE ,
MG.REQ_DATE ,
MD.RSLT_DATE ,
MG.CALL_FROM ,
MG.TOT_PRICE ,
MG.EACH_PRICE ,
MG.DEL_FLAG ,
MG.MSG_TYPE ,
MG.FILE_CNT ,
MG.AGENT_CODE ,
MG.RESERVE_YN ,
MG.RESERVE_C_YN ,
MG.CANCELDATE ,
MD.MSG_SEQ ,
MD.CALL_TO ,
MD.CUR_STATE ,
MD.RSLT_CODE ,
MD.RSLT_CODE2 ,
CASE
WHEN MG.MSG_TYPE = '8'
THEN '알림톡'
WHEN MG.MSG_TYPE = '9'
THEN '친구톡'
END msgTypeName ,
CASE
WHEN MG.MSG_TYPE = '8'
THEN '1'
ELSE '2'
END orderByCode , (
CASE
WHEN MD.RSLT_CODE = '7000'
THEN 'S'
WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL)
THEN 'W'
ELSE 'F'
END ) AS result ,
MSG_NOTICETALK_SENDER_KEY ,
MSG_NOTICETALK_TMP_KEY,
MD.BIZ_UMID,
MD.BIZ_KAKAO_RESEND_YN
FROM MJ_MSG_DATA MD ,
MJ_MSG_GROUP_DATA MG
WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
AND MD.DEL_FLAG = 'N'
AND MG.USER_ID = #userId#
AND MG.DEL_FLAG ='N'
/* JSPark 2023.03.23 => 예약건중 발송완료건도 발송결과에 노출되도록 수정 */
/* AND MG.RESERVE_YN = 'N' */
<![CDATA[ AND MG.REQ_DATE <= NOW() ]]>
<isNotEmpty property="reserveCYn">
AND MG.RESERVE_C_YN = #reserveCYn#
</isNotEmpty>
<isNotEmpty property="reserveCYn">
AND MG.RESERVE_C_YN = #reserveCYn#
</isNotEmpty>
<isNotEmpty property="stateType">
<isEqual property="stateType" compareValue="all">
AND MD.CUR_STATE IN ('0','1','2','3')
</isEqual>
<isEqual property="stateType" compareValue="ready">
AND MD.CUR_STATE = '0'
AND MD.RESERVE_C_YN = 'N'
</isEqual>
<isEqual property="stateType" compareValue="complete">
AND MD.CUR_STATE IN ('2','3')
AND MD.RSLT_CODE = '7000'
AND MD.RESERVE_C_YN = 'N'
</isEqual>
<isEqual property="stateType" compareValue="fail">
AND MD.RESERVE_C_YN = 'N'
AND MD.RSLT_CODE != '7000'
</isEqual>
</isNotEmpty>
<isNotEmpty property="tabType">
<isEqual property="tabType" compareValue="at">
AND MD.MSG_TYPE = '8'
</isEqual>
<isEqual property="tabType" compareValue="ft">
AND MD.MSG_TYPE = '9'
</isEqual>
<isEqual property="tabType" compareValue="all">
AND MD.MSG_TYPE IN ('8','9')
</isEqual>
</isNotEmpty>
<isEmpty property="tabType">
AND MD.MSG_TYPE IN ('8','9')
</isEmpty>
<isNotEmpty property="stateType">
<isEqual property="stateType" compareValue="all">
AND MD.CUR_STATE IN ('0','1','2','3')
</isEqual>
<isEqual property="stateType" compareValue="ready">
AND MD.CUR_STATE = '0'
AND MD.RESERVE_C_YN = 'N'
</isEqual>
<isEqual property="stateType" compareValue="complete">
AND MD.CUR_STATE IN ('2','3')
AND MD.RSLT_CODE = '7000'
AND MD.RESERVE_C_YN = 'N'
</isEqual>
<isEqual property="stateType" compareValue="fail">
AND MD.RESERVE_C_YN = 'N'
AND MD.RSLT_CODE != '7000'
</isEqual>
</isNotEmpty>
<isNotEmpty property="tabType">
<isEqual property="tabType" compareValue="at">
AND MD.MSG_TYPE = '8'
</isEqual>
<isEqual property="tabType" compareValue="ft">
AND MD.MSG_TYPE = '9'
</isEqual>
<isEqual property="tabType" compareValue="all">
AND MD.MSG_TYPE IN ('8','9')
</isEqual>
</isNotEmpty>
<isEmpty property="tabType">
AND MD.MSG_TYPE IN ('8','9')
</isEmpty>
<!-- <isEmpty property="reserveYn">
<![CDATA[
AND MG.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE)
]]>
</isEmpty> -->
)M
LEFT JOIN
(
SELECT
ADDR_PHONE_NO
, ADDR_NM
FROM
MJ_ADDR
WHERE 1=1
AND MBER_ID = #userId#
GROUP BY ADDR_PHONE_NO
)MA
ON M.CALL_TO = MA.ADDR_PHONE_NO
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY
AND MKPI.DELETE_YN = 'N'
LEFT JOIN LETTNGNRLMBER LTM
ON M.USER_ID = LTM.MBER_ID
LEFT JOIN BIZ_LOG BL
ON M.BIZ_UMID = BL.CMID
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="3" >
AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
</isEqual>
</isNotEmpty>
<isNotEmpty property="startDate">
<!-- <isEmpty property="reserveYn">
<![CDATA[
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d')
AND MG.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE)
]]>
</isEmpty> -->
)M
LEFT JOIN
(
SELECT
ADDR_PHONE_NO
, ADDR_NM
FROM
MJ_ADDR
WHERE 1=1
AND MBER_ID = #userId#
GROUP BY ADDR_PHONE_NO
)MA
ON M.CALL_TO = MA.ADDR_PHONE_NO
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY
AND MKPI.DELETE_YN = 'N'
LEFT JOIN LETTNGNRLMBER LTM
ON M.USER_ID = LTM.MBER_ID
LEFT JOIN BIZ_LOG BL
ON M.BIZ_UMID = BL.CMID
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="3" >
AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
</isEqual>
</isNotEmpty>
<isNotEmpty property="startDate">
<![CDATA[
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d')
]]>
</isNotEmpty>
<isNotEmpty property="endDate">
<![CDATA[
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d')
]]>
</isNotEmpty>
GROUP BY MSG_GROUP_ID
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
<isEqual property="searchSortCnd" compareValue="curState">
, curState $searchSortOrd$
, orderByrsltCode
</isEqual>
<isNotEqual property="searchSortCnd" compareValue="curState">
,$searchSortCnd$
</isNotEqual>
</isNotEmpty>
<isNotEmpty property="endDate">
<![CDATA[
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d')
]]>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
GROUP BY MSG_GROUP_ID
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
<isEqual property="searchSortCnd" compareValue="curState">
, curState $searchSortOrd$
, orderByrsltCode
</isEqual>
<isNotEqual property="searchSortCnd" compareValue="curState">
,$searchSortCnd$
</isNotEqual>
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
LIMIT #recordCountPerPage# OFFSET #firstIndex#
) M2
</select>

View File

@ -77,11 +77,11 @@ $(document).ready(function(){
<table class="tType4">
<colgroup>
<col style="width: 40px;">
<col style="width: 16%;">
<col style="width: 12%;">
<col style="width: 14%;">
<col style="width: 7%;">
<col style="width: 10%;">
<col style="width: 18%;">
<col style="width: 12%;">
<col style="width: 13%;">
<col style="width: 10%;">
<col style="width: 12%;">
<col style="width: 7%;">