알림톡 발송결과 오류 수정
This commit is contained in:
parent
cc90332add
commit
9c94241a52
@ -110,8 +110,8 @@ public class KakaoSentVO extends UserDefaultVO{
|
|||||||
|
|
||||||
private String statusCd;
|
private String statusCd;
|
||||||
|
|
||||||
private int successPrice;
|
private String successPrice;
|
||||||
private int kakaoResendSuccPrice;
|
private String kakaoResendSuccPrice;
|
||||||
|
|
||||||
private String divideYn;
|
private String divideYn;
|
||||||
|
|
||||||
|
|||||||
@ -299,7 +299,7 @@ public class KakaoSentServiceImpl extends EgovAbstractServiceImpl implements Ka
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private String priceProc(int successPrice, int kakaoResendSuccPrice) {
|
private String priceProc(String successPrice, String kakaoResendSuccPrice) {
|
||||||
|
|
||||||
String totPrice = "-";
|
String totPrice = "-";
|
||||||
|
|
||||||
@ -311,7 +311,8 @@ public class KakaoSentServiceImpl extends EgovAbstractServiceImpl implements Ka
|
|||||||
BigDecimal totalPrice = atPrice.add(kakaoResendPrice);
|
BigDecimal totalPrice = atPrice.add(kakaoResendPrice);
|
||||||
// 소수점 한 자리로 설정 (반올림)// totalPrice 값을 소수점 한 자리까지 반올림하여 roundedTotalPrice에 저장
|
// 소수점 한 자리로 설정 (반올림)// totalPrice 값을 소수점 한 자리까지 반올림하여 roundedTotalPrice에 저장
|
||||||
// RoundingMode.HALF_UP: 반올림 방식으로, 소수점 기준 5 이상이면 올림, 그렇지 않으면 내림
|
// RoundingMode.HALF_UP: 반올림 방식으로, 소수점 기준 5 이상이면 올림, 그렇지 않으면 내림
|
||||||
BigDecimal roundedTotalPrice = totalPrice.setScale(1, RoundingMode.HALF_UP);
|
// BigDecimal roundedTotalPrice = totalPrice.setScale(1, RoundingMode.HALF_UP);
|
||||||
|
BigDecimal roundedTotalPrice = totalPrice;
|
||||||
|
|
||||||
// roundedTotalPrice가 0인지 확인
|
// roundedTotalPrice가 0인지 확인
|
||||||
// BigDecimal.compareTo(BigDecimal.ZERO)는 값을 비교하는 메서드
|
// BigDecimal.compareTo(BigDecimal.ZERO)는 값을 비교하는 메서드
|
||||||
|
|||||||
@ -1458,6 +1458,11 @@
|
|||||||
AND B.RESERVE_YN = 'N'
|
AND B.RESERVE_YN = 'N'
|
||||||
</isEqual>
|
</isEqual>
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="searchKeyword">
|
||||||
|
<isEqual property="searchCondition" compareValue="3">
|
||||||
|
AND B.SMS_TXT like CONCAT('%', #searchKeyword#, '%')
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
GROUP BY B.MSG_GROUP_ID
|
GROUP BY B.MSG_GROUP_ID
|
||||||
ORDER BY 1=1
|
ORDER BY 1=1
|
||||||
<isNotEmpty property="searchSortCnd">
|
<isNotEmpty property="searchSortCnd">
|
||||||
@ -1547,126 +1552,67 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="KakaoSentDAO.selectKakaoSentCntEachCnt_advc" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
|
<select id="KakaoSentDAO.selectKakaoSentCntEachCnt_advc" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
|
||||||
SELECT a.MSG_GROUP_ID AS msgGroupId,
|
SELECT
|
||||||
a.successCount,
|
a.MSG_GROUP_ID AS msgGroupId,
|
||||||
a.waitCount,
|
a.successCount,
|
||||||
a.failCount,
|
a.waitCount,
|
||||||
a.kakaoResendSuccCount,
|
a.failCount,
|
||||||
a.kakaoResendFailCount,
|
a.kakaoResendSuccCount,
|
||||||
a.successCount * bkp.BIZ_KAKAO_AT_PRICE AS successPrice,
|
a.kakaoResendFailCount,
|
||||||
(a.smsCnt * bkp.BIZ_SMS_PRICE) + (a.mmsCnt * bkp.BIZ_MMS_PRICE) AS kakaoResendSuccPrice,
|
a.successCount * bkp.BIZ_KAKAO_AT_PRICE AS successPrice,
|
||||||
a.divideYn
|
(a.smsCnt * bkp.BIZ_SMS_PRICE) + (a.mmsCnt * bkp.BIZ_MMS_PRICE) AS kakaoResendSuccPrice,
|
||||||
FROM (SELECT t1.MSG_GROUP_ID,
|
a.divideYn
|
||||||
( SELECT COUNT(0)
|
FROM (
|
||||||
FROM MJ_MSG_DATA C
|
SELECT
|
||||||
WHERE C.RESERVE_C_YN = 'N'
|
t1.MSG_GROUP_ID,
|
||||||
AND C.MSG_GROUP_ID = t1.MSG_GROUP_ID
|
SUM(IF(t1.RESERVE_C_YN = 'N' AND t1.RSLT_CODE = '7000', 1, 0)) AS successCount,
|
||||||
AND C.RSLT_CODE = '7000'
|
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,
|
||||||
AS successCount ,
|
SUM(IF(t1.BIZ_KAKAO_RESEND_YN = 'Y' AND BL1.CALL_STATUS IN ('6600', '4100'), 1, 0)) AS kakaoResendSuccCount,
|
||||||
( SELECT COUNT(0)
|
SUM(IF(
|
||||||
FROM MJ_MSG_DATA C
|
t1.BIZ_KAKAO_RESEND_YN = 'Y' AND
|
||||||
WHERE C.RESERVE_C_YN = 'N'
|
NOT EXISTS (
|
||||||
AND C.MSG_GROUP_ID = t1.MSG_GROUP_ID
|
SELECT 1
|
||||||
AND
|
FROM (
|
||||||
(
|
SELECT '6600' AS status UNION ALL SELECT '4100'
|
||||||
C.RSLT_CODE IS NULL
|
) AS status_list
|
||||||
AND C.SENT_DATE IS NULL
|
WHERE status_list.status = BL1.CALL_STATUS
|
||||||
AND C.RSLT_DATE IS NULL
|
), 1, 0
|
||||||
)
|
)) AS kakaoResendFailCount,
|
||||||
)
|
SUM(IF(
|
||||||
AS waitCount ,
|
t1.BIZ_KAKAO_RESEND_YN = 'Y' AND
|
||||||
( SELECT COUNT(0)
|
NOT EXISTS (
|
||||||
FROM MJ_MSG_DATA C
|
SELECT 1
|
||||||
WHERE C.RESERVE_C_YN = 'N'
|
FROM (
|
||||||
AND C.MSG_GROUP_ID = t1.MSG_GROUP_ID
|
SELECT '6600' AS status UNION ALL SELECT '4100'
|
||||||
AND
|
) AS status_list
|
||||||
(
|
WHERE status_list.status = BL1.CALL_STATUS
|
||||||
C.RSLT_CODE != '7000'
|
) AND t1.BIZ_KAKAO_RESEND_TYPE = 'SMS', 1, 0
|
||||||
AND C.RSLT_CODE IS NOT NULL
|
)) AS smsCnt,
|
||||||
)
|
SUM(IF(
|
||||||
)
|
t1.BIZ_KAKAO_RESEND_YN = 'Y' AND
|
||||||
AS failCount ,
|
NOT EXISTS (
|
||||||
( SELECT COUNT(0)
|
SELECT 1
|
||||||
FROM BIZ_LOG BL1,
|
FROM (
|
||||||
MJ_MSG_DATA MMD1
|
SELECT '6600' AS status UNION ALL SELECT '4100'
|
||||||
WHERE t1.BIZ_KAKAO_RESEND_YN = 'Y'
|
) AS status_list
|
||||||
AND t1.MSG_GROUP_ID = MMD1.MSG_GROUP_ID
|
WHERE status_list.status = BL1.CALL_STATUS
|
||||||
AND MMD1.BIZ_UMID = BL1.CMID
|
) AND t1.BIZ_KAKAO_RESEND_TYPE = 'MMS', 1, 0
|
||||||
AND (
|
)) AS mmsCnt,
|
||||||
CASE
|
CASE
|
||||||
WHEN BL1.CALL_STATUS IN ('6600',
|
WHEN COUNT(DISTINCT t1.REQ_DATE) > 1 THEN 'Y'
|
||||||
'4100')
|
ELSE 'N'
|
||||||
THEN 'S'
|
END AS divideYN
|
||||||
ELSE 'F'
|
FROM mj_msg_data t1
|
||||||
END ) = 'S'
|
LEFT OUTER JOIN BIZ_LOG BL1 ON t1.BIZ_UMID = BL1.CMID
|
||||||
)
|
WHERE
|
||||||
kakaoResendSuccCount,
|
t1.DEL_FLAG = 'N'
|
||||||
( SELECT COUNT(0)
|
AND t1.MSG_TYPE IN ('8', '9')
|
||||||
FROM BIZ_LOG BL1,
|
AND t1.CUR_STATE IN ('0', '1', '2', '3')
|
||||||
MJ_MSG_DATA MMD1
|
AND t1.MSG_GROUP_ID = #msgGroupId#
|
||||||
WHERE t1.BIZ_KAKAO_RESEND_YN = 'Y'
|
GROUP BY t1.MSG_GROUP_ID
|
||||||
AND t1.MSG_GROUP_ID = MMD1.MSG_GROUP_ID
|
) a
|
||||||
AND MMD1.BIZ_UMID = BL1.CMID
|
LEFT OUTER JOIN BIZ_KAKAO_PRICE bkp ON bkp.MSG_GROUP_ID = a.MSG_GROUP_ID
|
||||||
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'
|
|
||||||
END AS divideYN
|
|
||||||
FROM mj_msg_data t1
|
|
||||||
WHERE t1.DEL_FLAG = 'N'
|
|
||||||
AND t1.MSG_TYPE IN ('8',
|
|
||||||
'9')
|
|
||||||
AND t1.CUR_STATE IN ('0',
|
|
||||||
'1',
|
|
||||||
'2',
|
|
||||||
'3')
|
|
||||||
AND t1.MSG_GROUP_ID = #msgGroupId#
|
|
||||||
GROUP BY t1.MSG_GROUP_ID
|
|
||||||
)
|
|
||||||
a
|
|
||||||
LEFT OUTER JOIN BIZ_KAKAO_PRICE bkp
|
|
||||||
ON bkp.MSG_GROUP_ID = a.MSG_GROUP_ID
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 알림톡 발송결과 상세 데이터-->
|
<!-- 알림톡 발송결과 상세 데이터-->
|
||||||
|
|||||||
@ -228,7 +228,8 @@ function fn_sentDetailView(msgGroupId) {
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<c:out value="${resultAllSentList.msgGroupCnt}"/>
|
<fmt:formatNumber value="${resultAllSentList.msgGroupCnt}" type="number" groupingUsed="true" />
|
||||||
|
<%-- <c:out value="${resultAllSentList.msgGroupCnt}"/> --%>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<fmt:formatNumber value="${resultAllSentList.waitCount}" type="number" groupingUsed="true" />
|
<fmt:formatNumber value="${resultAllSentList.waitCount}" type="number" groupingUsed="true" />
|
||||||
|
|||||||
@ -203,14 +203,15 @@ function fnTabLoad(tabType, tabNum){
|
|||||||
|
|
||||||
function fnSearch(pageNo){
|
function fnSearch(pageNo){
|
||||||
|
|
||||||
var form = document.searchForm;
|
// var form = document.searchForm;
|
||||||
|
|
||||||
form.pageIndex.value = pageNo ;
|
// form.pageIndex.value = pageNo ;
|
||||||
|
|
||||||
|
|
||||||
form.action="/web/kakao/sent/selectKakaoSentView.do";
|
// form.action="/web/kakao/sent/selectKakaoSentView.do";
|
||||||
form.submit();
|
// form.submit();
|
||||||
|
cntSet();
|
||||||
|
linkPage(pageNo);
|
||||||
}
|
}
|
||||||
|
|
||||||
function fnExcelDownLoad(pageType, listType){
|
function fnExcelDownLoad(pageType, listType){
|
||||||
@ -467,9 +468,9 @@ function fnDelete(){
|
|||||||
<div class="btn_right">
|
<div class="btn_right">
|
||||||
<label for="searchCondition" class="label">발신번호 선택 == ${kakaoSentVO.searchCondition}</label>
|
<label for="searchCondition" class="label">발신번호 선택 == ${kakaoSentVO.searchCondition}</label>
|
||||||
<select name="searchCondition" id="searchCondition" class="selType2">
|
<select name="searchCondition" id="searchCondition" class="selType2">
|
||||||
<option value="4" <c:if test="${kakaoSentVO.searchCondition == '3'}">selected</c:if> >채널ID</option>
|
<%-- <option value="4" <c:if test="${kakaoSentVO.searchCondition == '3'}">selected</c:if> >채널ID</option> --%>
|
||||||
<option value="5" <c:if test="${kakaoSentVO.searchCondition == '3'}">selected</c:if> >내용</option>
|
<option value="3" <c:if test="${kakaoSentVO.searchCondition == '3'}">selected</c:if> >내용</option>
|
||||||
<option value="3" <c:if test="${kakaoSentVO.searchCondition == '3'}">selected</c:if> >수신번호</option>
|
<%-- <option value="3" <c:if test="${kakaoSentVO.searchCondition == '3'}">selected</c:if> >수신번호</option> --%>
|
||||||
</select>
|
</select>
|
||||||
<div class="search">
|
<div class="search">
|
||||||
<label for="id" class="label"></label>
|
<label for="id" class="label"></label>
|
||||||
@ -613,6 +614,24 @@ function fnDelete(){
|
|||||||
<button type="button" onclick="fnListLoad('Y','2'); return false;">예약</button>
|
<button type="button" onclick="fnListLoad('Y','2'); return false;">예약</button>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<!-- 발송화면 개선 : 발송결과 추가-->
|
||||||
|
<div class="tab_btnbox">
|
||||||
|
<button type="button" class="btnType btnType14 check_validity">발송결과<i class="qmMark"></i></button>
|
||||||
|
<div class="info_hover_cont send_hover_cont price_hover">
|
||||||
|
<dl>
|
||||||
|
<dt class="c_222">[<span>대기</span>]</dt>
|
||||||
|
<dd>발송은 성공하였으며, 수신자측 통신사로부터 수신여부를 확인중인 상태 <br>
|
||||||
|
<span>※ 예약발송의 경우 실발송 전까지는 “대기”로 표시</span>
|
||||||
|
</dd>
|
||||||
|
<dt class="c_002c9a">[<span>성공</span>]</dt>
|
||||||
|
<dd>발송 및 수신이 완료된 상태</dd>
|
||||||
|
<dt class="c_e40000">[<span>실패</span>]</dt>
|
||||||
|
<dd class="last">결번, 일시정지, 전화번호 오류 등의 사유로 발송이
|
||||||
|
불가한 상태</dd>
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--// 발송화면 개선 : 발송결과 추가-->
|
||||||
</div>
|
</div>
|
||||||
<!-- 발송관리 리스트 -->
|
<!-- 발송관리 리스트 -->
|
||||||
<div class="table_cont current msgSentAllLoad" id="tableCont_1">
|
<div class="table_cont current msgSentAllLoad" id="tableCont_1">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user