이지우 - 관리자 > 알림톡/친구톡 관리 > 알림톡 예약조회 > 상세에 발송결과 검색조건 추가

This commit is contained in:
JIWOO 2025-06-25 11:47:43 +09:00
parent 77678303a7
commit 3cacf09142
5 changed files with 56 additions and 5 deletions

View File

@ -273,6 +273,7 @@ public class MjonKakaoATController {
KakaoVO mjonKakaoATDetailVO = new KakaoVO();
if(null != searchVO.getUserData() && !"".equals(searchVO.getUserData())) { //수정
// mjonKakaoATDetailVO = mjonKakaoATService.selectMjonKakaoATVO(searchVO);
//user_ID, DEL_FLAG 체크 없는 쿼리 호출
mjonKakaoATDetailVO = mjonKakaoATService.selectMjonKakaoATVO_advc(searchVO);
}
@ -446,7 +447,9 @@ public class MjonKakaoATController {
KakaoVO mjonKakaoATDetailVO = new KakaoVO();
if(null != searchVO.getUserData() && !"".equals(searchVO.getUserData())) { //수정
mjonKakaoATDetailVO = mjonKakaoATService.selectMjonKakaoATVO(searchVO);
//mjonKakaoATDetailVO = mjonKakaoATService.selectMjonKakaoATVO(searchVO);
//user_ID, DEL_FLAG 체크 없는 쿼리 호출
mjonKakaoATDetailVO = mjonKakaoATService.selectMjonKakaoATVO_advc(searchVO);
}
model.addAttribute("mjonKakaoATDetailVO", mjonKakaoATDetailVO);

View File

@ -18,6 +18,27 @@
WHERE C.DEL_FLAG = 'N'
AND C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = B.MSG_GROUP_ID
AND (
CASE
WHEN C.AGENT_CODE = '01' AND (C.RSLT_CODE = '100' AND (C.RSLT_CODE2 = '0'))
THEN 'S'
WHEN C.AGENT_CODE = '02' AND (C.RSLT_CODE = '0')
THEN 'S'
WHEN C.AGENT_CODE = '03' AND (C.RSLT_CODE = '100' OR C.RSLT_CODE = '101' OR C.RSLT_CODE = '110' OR C.RSLT_CODE = '800')
THEN 'S'
WHEN C.AGENT_CODE = '04' AND (C.RSLT_CODE = '7000')
THEN 'S'
ELSE 'F'
END
) = 'S'
</sql>
<!-- 카카오 알림톡/친구톡 성공 건수 공통조회 변수 MD(삭제 여부 상관 X) -->
<sql id="mjonKakaoATDAO.selectSuccessResultNoDelChkQuery_C">
SELECT COUNT(0)
FROM MJ_MSG_DATA C
WHERE C.RESERVE_C_YN = 'N'
AND C.MSG_GROUP_ID = B.MSG_GROUP_ID
AND (
CASE
WHEN C.AGENT_CODE = '01' AND (C.RSLT_CODE = '100' AND (C.RSLT_CODE2 = '0'))
@ -1630,7 +1651,7 @@
ELSE '2'
END orderByCode
, (<include refid="KakaoSentDAO.selectAgentResultQuery_A"/>) AS RESULT
, (<include refid="mjonKakaoATDAO.selectSuccessResultQuery_C"/>) AS successCount
, (<include refid="mjonKakaoATDAO.selectSuccessResultNoDelChkQuery_C"/>) AS successCount
, A.MSG_NOTICETALK_SENDER_KEY
, A.MSG_NOTICETALK_TMP_KEY
, CASE
@ -1646,12 +1667,12 @@
, A.BIZ_KAKAO_RESEND_DATA
, A.BIZ_KAKAO_JSON_FILE
, A.BIZ_UMID
<include refid="KakaoSentDAO.selectJoinQuery"/>
<include refid="KakaoSentDAO.selectJoinNoDelChkQuery"/>
<isNotEmpty property="userId">
AND B.USER_ID = #userId#
</isNotEmpty>
AND A.MSG_GROUP_ID = #msgGroupId#
AND B.DEL_FLAG ='N'
<!-- AND B.DEL_FLAG ='N' -->
AND B.RESERVE_C_YN = 'N'
AND B.RESERVE_YN = 'Y'
<isNotEmpty property="msgType">
@ -1756,6 +1777,17 @@
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#ntceEndde#, '%Y-%m-%d')
]]>
</isNotEmpty>
<isNotEmpty property="resultCodeTxt">
<isEqual property="resultCodeTxt" compareValue="S">
AND M.result = 'S'
</isEqual>
<isEqual property="resultCodeTxt" compareValue="W">
AND M.result = 'W'
</isEqual>
<isEqual property="resultCodeTxt" compareValue="F">
AND M.result = 'F'
</isEqual>
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
<isEqual property="searchSortCnd" compareValue="curState">

View File

@ -23,6 +23,15 @@
AND A.DEL_FLAG = 'N'
</sql>
<!-- 공통 쿼리 부분 문자 발송 관련(삭제 여부 상관X) -->
<sql id="KakaoSentDAO.selectJoinNoDelChkQuery">
FROM
MJ_MSG_DATA A
, MJ_MSG_GROUP_DATA B
WHERE
A.MSG_GROUP_ID = B.MSG_GROUP_ID
</sql>
<!-- 카카오 알림톡/친구톡 성공여부 공통조회 변수 A -->
<sql id="KakaoSentDAO.selectAgentResultQuery_A">
CASE

View File

@ -207,6 +207,13 @@ function fnSelectMber(mberId) {
<option value="" <c:if test="${empty searchVO.msgType }">selected="selected"</c:if> >메시지 타입(전체)</option>
<option value="8" <c:if test="${searchVO.msgType == '8'}">selected="selected"</c:if>>알림톡</option>
<option value="9" <c:if test="${searchVO.msgType == '9'}">selected="selected"</c:if>>친구톡</option>
</select>
<select name="resultCodeTxt" id="resultCodeTxt" title="발송결과">
<option value="" <c:if test="${empty searchVO.resultCodeTxt}">selected="selected"</c:if> >발송결과(전체)</option>
<option value="S" <c:if test="${searchVO.resultCodeTxt == 'S'}">selected="selected"</c:if>>발송성공</option>
<option value="W" <c:if test="${searchVO.resultCodeTxt == 'W'}">selected="selected"</c:if>>발송대기</option>
<option value="F" <c:if test="${searchVO.resultCodeTxt == 'F'}">selected="selected"</c:if>>발송실패</option>
</select>
<input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text" value="<c:out value='${searchVO.searchKeyword}'/>" size="15" title="검색" maxlength="100" />

View File

@ -530,7 +530,7 @@ function fnSmishingUpdate(flag) {
<%-- <td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
<c:out value="${result.yellowId}"/>
</td> --%>
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;line-height:30px;text-align:right;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
<td onclick="fn_detail_list('<c:out value="${result.msgGroupId}"/>', '<c:out value="${result.userId}"/>'); return false;" style="cursor:pointer;" <c:if test="${result.atSmishingYn eq 'Y'}">class="smishing"</c:if>>
<c:choose>
<c:when test="${result.successCount > 0}">
<c:out value="${result.msgGroupCnt}"/>(<fmt:formatNumber value="${(result.successCount / result.msgGroupCnt) * 100}" pattern="#,###" />%)