Merge branch 'rosewiper'

This commit is contained in:
rosewiper 2023-11-27 15:51:45 +09:00
commit 1240cb2c21
6 changed files with 82 additions and 52 deletions

View File

@ -25,6 +25,9 @@ public class FaxStatVO extends ComDefaultVO implements Serializable {
private int statEndDate; //통계 종료일 private int statEndDate; //통계 종료일
private int statStandardDate; //통계 where 기준 private int statStandardDate; //통계 where 기준
private int succPageCnt; //팩스 성공 페이지
private int failPageCnt; //팩스 실패 페이지
public String getReqDate() { public String getReqDate() {
return reqDate; return reqDate;
} }
@ -115,5 +118,17 @@ public class FaxStatVO extends ComDefaultVO implements Serializable {
public void setStatStandardDate(int statStandardDate) { public void setStatStandardDate(int statStandardDate) {
this.statStandardDate = statStandardDate; this.statStandardDate = statStandardDate;
} }
public int getSuccPageCnt() {
return succPageCnt;
}
public void setSuccPageCnt(int succPageCnt) {
this.succPageCnt = succPageCnt;
}
public int getFailPageCnt() {
return failPageCnt;
}
public void setFailPageCnt(int failPageCnt) {
this.failPageCnt = failPageCnt;
}
} }

View File

@ -26,7 +26,6 @@ import itn.let.fax.admin.service.FaxAdmService;
import itn.let.fax.admin.service.FaxStatVO; import itn.let.fax.admin.service.FaxStatVO;
import itn.let.fax.user.service.FaxGroupDataVO; import itn.let.fax.user.service.FaxGroupDataVO;
import itn.let.fax.user.service.impl.FaxDAO; import itn.let.fax.user.service.impl.FaxDAO;
import itn.let.mjo.msg.service.MjonMsgVO;
import itn.let.mjo.msgdata.service.impl.MjonMsgDataDAO; import itn.let.mjo.msgdata.service.impl.MjonMsgDataDAO;
import itn.let.mjo.pay.service.impl.MjonPayDAO; import itn.let.mjo.pay.service.impl.MjonPayDAO;
import itn.let.module.base.PriceAndPoint; import itn.let.module.base.PriceAndPoint;
@ -128,7 +127,8 @@ public class FaxAdmServiceImpl extends EgovAbstractServiceImpl implements FaxAdm
faxStatVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); faxStatVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
faxStatVO.setLastIndex(paginationInfo.getLastRecordIndex()); faxStatVO.setLastIndex(paginationInfo.getLastRecordIndex());
faxStatVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); //faxStatVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
faxStatVO.setRecordCountPerPage(1000);
// 최초 접근 오늘 날짜의 통계를 보여준다 // 최초 접근 오늘 날짜의 통계를 보여준다
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
@ -212,12 +212,16 @@ public class FaxAdmServiceImpl extends EgovAbstractServiceImpl implements FaxAdm
double succFaxCost = 0; double succFaxCost = 0;
double failFaxCost = 0; double failFaxCost = 0;
double succFaxRate = 0; double succFaxRate = 0;
int succPageCnt = 0;
int failPageCnt = 0;
for(FaxStatVO tmpVO : list) { for(FaxStatVO tmpVO : list) {
succFaxCnt += tmpVO.getSuccFaxCnt(); succFaxCnt += tmpVO.getSuccFaxCnt();
failFaxCnt += tmpVO.getFailFaxCnt(); failFaxCnt += tmpVO.getFailFaxCnt();
succFaxCost += Double.parseDouble(tmpVO.getSuccFaxCost()); succFaxCost += Double.parseDouble(tmpVO.getSuccFaxCost());
failFaxCost += Double.parseDouble(tmpVO.getFailFaxCost()); failFaxCost += Double.parseDouble(tmpVO.getFailFaxCost());
succPageCnt += tmpVO.getSuccPageCnt();
failPageCnt += tmpVO.getFailPageCnt();
} }
if(succFaxCnt + succFaxCnt != 0) { if(succFaxCnt + succFaxCnt != 0) {
@ -236,6 +240,8 @@ public class FaxAdmServiceImpl extends EgovAbstractServiceImpl implements FaxAdm
faxStatVO.setSuccFaxCost(dcf.format(succFaxCost)); faxStatVO.setSuccFaxCost(dcf.format(succFaxCost));
faxStatVO.setFailFaxCost(dcf.format(failFaxCost)); faxStatVO.setFailFaxCost(dcf.format(failFaxCost));
faxStatVO.setSuccFaxRate(Double.toString(succFaxRate)); faxStatVO.setSuccFaxRate(Double.toString(succFaxRate));
faxStatVO.setSuccPageCnt(succPageCnt);
faxStatVO.setFailPageCnt(failPageCnt);
List<FaxStatVO> totalSumList = new ArrayList<FaxStatVO>(); List<FaxStatVO> totalSumList = new ArrayList<FaxStatVO>();
totalSumList.add(faxStatVO); totalSumList.add(faxStatVO);

View File

@ -324,6 +324,7 @@ public class FaxAdmController {
return "/uss/ion/fax/faxAdmSendStatistics"; return "/uss/ion/fax/faxAdmSendStatistics";
} }
// 팩스 금일 발송통계 갱신 // 팩스 금일 발송통계 갱신
@RequestMapping(value = "/uss/ion/msg/insertFaxCountStatTodayAjax.do") @RequestMapping(value = "/uss/ion/msg/insertFaxCountStatTodayAjax.do")
public ResponseEntity<StatusResponse> insertFaxCountStatTodayAjax(FaxStatVO faxStatVO) throws Exception { public ResponseEntity<StatusResponse> insertFaxCountStatTodayAjax(FaxStatVO faxStatVO) throws Exception {

View File

@ -92,35 +92,34 @@
<!-- 3-1 --> <!-- 3-1 -->
<!-- 문자전송순위통계집계 --> <!-- 문자전송순위통계집계 20231124 사용하지 않는 통계자료로 판단되어 사용 중단 처리 -->
<bean id="SttstMsgRankBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- <bean id="SttstMsgRankBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="sttstMsgScheduling" /> <property name="targetObject" ref="sttstMsgScheduling" />
<property name="targetMethod" value="mjSttstMsgRankSmmmary" /> <property name="targetMethod" value="mjSttstMsgRankSmmmary" />
<property name="concurrent" value="false" /> <property name="concurrent" value="false" />
</bean> </bean> -->
<bean id="SttstMsgRankBeanTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <!-- <bean id="SttstMsgRankBeanTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="SttstMsgRankBean" /> <property name="jobDetail" ref="SttstMsgRankBean" />
<!-- 매시간 43분 47초 마다 일별 문자 발송 데이터 집계 --> 매시간 43분 47초 마다 일별 문자 발송 데이터 집계
<property name="cronExpression" value="47 53 0-3,5-23 * * ?" /> <property name="cronExpression" value="47 53 0-3,5-23 * * ?" />
<!-- <property name="cronExpression" value="8 * * * * ?" /> -->
</bean> </bean> -->
<!-- 3-2 --> <!-- 3-2 -->
<!-- 문자전송순위통계집계(하루한번) --> <!-- 문자전송순위통계집계(하루한번) 20231124 사용하지 않는 통계자료로 판단되어 사용 중단 처리 -->
<bean id="SttstMsgRankDayBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- <bean id="SttstMsgRankDayBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="sttstMsgScheduling" /> <property name="targetObject" ref="sttstMsgScheduling" />
<property name="targetMethod" value="mjSttstMsgRankDaySmmmary" /> <property name="targetMethod" value="mjSttstMsgRankDaySmmmary" />
<property name="concurrent" value="false" /> <property name="concurrent" value="false" />
</bean> </bean> -->
<bean id="SttstMsgRankDayBeanTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <!-- <bean id="SttstMsgRankDayBeanTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="SttstMsgRankDayBean" /> <property name="jobDetail" ref="SttstMsgRankDayBean" />
<!-- 매시간 43분 47초 마다 일별 문자 발송 데이터 집계 --> 매시간 43분 47초 마다 일별 문자 발송 데이터 집계
<property name="cronExpression" value="47 30 4 * * ?" /> <property name="cronExpression" value="47 30 4 * * ?" />
<!-- <property name="cronExpression" value="8 * * * * ?" /> --> </bean> -->
</bean>
<!-- 14 --> <!-- 14 -->
@ -151,8 +150,8 @@
<ref bean="sysLogTrigger" /><!-- 시스템 로그 요약 --> <ref bean="sysLogTrigger" /><!-- 시스템 로그 요약 -->
<ref bean="SttstMsgBeanTrigger" /><!-- 문자발송일별통계집계 --> <ref bean="SttstMsgBeanTrigger" /><!-- 문자발송일별통계집계 -->
<ref bean="SttstMsgDayBeanTrigger" /><!-- 문자발송일별통계집계(매일한번) --> <ref bean="SttstMsgDayBeanTrigger" /><!-- 문자발송일별통계집계(매일한번) -->
<ref bean="SttstMsgRankBeanTrigger" /><!-- 문자전송순위통계집계 --> <!-- <ref bean="SttstMsgRankBeanTrigger" /> --><!-- 문자전송순위통계집계 -->
<ref bean="SttstMsgRankDayBeanTrigger" /><!-- 문자전송순위통계집계(매일한번) --> <!-- <ref bean="SttstMsgRankDayBeanTrigger" /> --><!-- 문자전송순위통계집계(매일한번) -->
<!-- mj_msg_data 백업 --> <!-- mj_msg_data 백업 -->
<ref bean="MjMsgDataBackupBeanTrigger" /> <ref bean="MjMsgDataBackupBeanTrigger" />

View File

@ -525,6 +525,8 @@
SUCC_FAX_USER_COST, SUCC_FAX_USER_COST,
FAIL_FAX_COST, FAIL_FAX_COST,
SUCC_FAX_RATE, SUCC_FAX_RATE,
SUCC_PAGE_CNT,
FAIL_PAGE_CNT,
REG_DATE REG_DATE
) )
SELECT b.reqDate, SELECT b.reqDate,
@ -535,6 +537,8 @@
b.succFaxUserCost, b.succFaxUserCost,
b.failFaxCost, b.failFaxCost,
b.succFaxRate, b.succFaxRate,
b.succPageCnt,
b.failPageCnt,
b.regDate b.regDate
FROM ( SELECT a.reqDate AS reqDate, FROM ( SELECT a.reqDate AS reqDate,
'06' AS AGENT_CODE, '06' AS AGENT_CODE,
@ -544,7 +548,9 @@
SUM( IF(a.Result = 'SENT', 1, 0) *a.faxUserCost) AS succFaxUserCost, SUM( IF(a.Result = 'SENT', 1, 0) *a.faxUserCost) AS succFaxUserCost,
SUM(IF(a.Result = 'FAIL', 1, 0) *a.faxCost) AS failFaxCost, SUM(IF(a.Result = 'FAIL', 1, 0) *a.faxCost) AS failFaxCost,
IF(ROUND((SUM(IF(a.Result = 'SENT', 1, 0)) / IF(SUM(IF(a.Result <> '0', 1, 0)) = 0 , 1 , SUM(IF(a.Result <> '0', 1, 0)))) * 100) IS NOT NULL, ROUND((SUM(IF(a.Result = 'SENT', 1, 0)) / IF(SUM(IF(a.Result <> '0', 1, 0)) = 0 , 1, SUM(IF(a.Result <> '0', 1, 0)))) * 100), 0) AS succFaxRate, IF(ROUND((SUM(IF(a.Result = 'SENT', 1, 0)) / IF(SUM(IF(a.Result <> '0', 1, 0)) = 0 , 1 , SUM(IF(a.Result <> '0', 1, 0)))) * 100) IS NOT NULL, ROUND((SUM(IF(a.Result = 'SENT', 1, 0)) / IF(SUM(IF(a.Result <> '0', 1, 0)) = 0 , 1, SUM(IF(a.Result <> '0', 1, 0)))) * 100), 0) AS succFaxRate,
NOW() AS regDate NOW() AS regDate,
SUM(IF(a.Result = 'SENT', 1, 0) *a.resPage) AS succPageCnt,
SUM(IF(a.Result = 'FAIL', 1, 0) *a.resPage) AS failPageCnt
FROM (SELECT a.*, FROM (SELECT a.*,
b.EACH_PRICE AS faxUserCost b.EACH_PRICE AS faxUserCost
FROM mj_fax_summary_view a FROM mj_fax_summary_view a
@ -575,6 +581,8 @@
SUCC_FAX_USER_COST = b.succFaxUserCost, SUCC_FAX_USER_COST = b.succFaxUserCost,
FAIL_FAX_COST = b.failFaxCost, FAIL_FAX_COST = b.failFaxCost,
SUCC_FAX_RATE = b.succFaxRate, SUCC_FAX_RATE = b.succFaxRate,
SUCC_PAGE_CNT = b.succPageCnt,
FAIL_PAGE_CNT = b.failPageCnt,
REG_DATE = now() REG_DATE = now()
</update> </update>
@ -584,7 +592,9 @@
a.FAIL_FAX_CNT AS failFaxCnt, a.FAIL_FAX_CNT AS failFaxCnt,
a.SUCC_FAX_COST AS succFaxCost, a.SUCC_FAX_COST AS succFaxCost,
a.FAIL_FAX_COST AS failFaxCost, a.FAIL_FAX_COST AS failFaxCost,
a.SUCC_FAX_RATE AS succFaxRate a.SUCC_FAX_RATE AS succFaxRate,
a.SUCC_PAGE_CNT AS succPageCnt,
a.FAIL_PAGE_CNT AS failPageCnt
FROM mj_fax_stat a FROM mj_fax_stat a
WHERE WHERE
1=1 1=1

View File

@ -43,33 +43,33 @@
fnCalChange("<c:out value='${searchVO.searchDateType}' />"); fnCalChange("<c:out value='${searchVO.searchDateType}' />");
}); });
// function fnCalChange(type) { function fnCalChange(type) {
// if(type == 'day') { if(type == 'day') {
// $(".calendar_box").show(); $(".calendar_box").show();
// $(".line").show(); $(".line").show();
// $("#searchYear").hide(); $("#searchYear").hide();
// $("#searchMonth").hide(); $("#searchMonth").hide();
// $("#searchQuarter").hide(); $("#searchQuarter").hide();
// } else if(type == 'month') { } else if(type == 'month') {
// $(".calendar_box").hide(); $(".calendar_box").hide();
// $(".line").hide(); $(".line").hide();
// $("#searchYear").show(); $("#searchYear").show();
// $("#searchMonth").show(); $("#searchMonth").show();
// $("#searchQuarter").hide(); $("#searchQuarter").hide();
// } else if(type == 'quarter') { } else if(type == 'quarter') {
// $(".calendar_box").hide(); $(".calendar_box").hide();
// $(".line").hide(); $(".line").hide();
// $("#searchYear").show(); $("#searchYear").show();
// $("#searchMonth").hide(); $("#searchMonth").hide();
// $("#searchQuarter").show(); $("#searchQuarter").show();
// } else if(type == 'year') { } else if(type == 'year') {
// $(".calendar_box").hide(); $(".calendar_box").hide();
// $(".line").hide(); $(".line").hide();
// $("#searchYear").show(); $("#searchYear").show();
// $("#searchMonth").hide(); $("#searchMonth").hide();
// $("#searchQuarter").hide(); $("#searchQuarter").hide();
// } }
// } }
function fn_list_search() { function fn_list_search() {
var form = document.listForm; var form = document.listForm;
@ -202,7 +202,6 @@
</div> </div>
<div class="listTop" style="font-weight: normal; vertical-align:bottom;"> <div class="listTop" style="font-weight: normal; vertical-align:bottom;">
(부가세 별도) (부가세 별도)
(30분 단위 업데이트)
&nbsp; &nbsp;
<input type="button" style="cursor: pointer; height: 30px;" onclick="setTodayUpdate();" value="Today Update"> <input type="button" style="cursor: pointer; height: 30px;" onclick="setTodayUpdate();" value="Today Update">
</div> </div>
@ -210,7 +209,7 @@
<table class="tbType1"> <table class="tbType1">
<colgroup> <colgroup>
<col style="width:4%;"> <col style="width:4%;">
<col style="width:3%;"> <col style="width:5%;">
<col style="width:auto;"> <col style="width:auto;">
</colgroup> </colgroup>
<thead> <thead>
@ -228,9 +227,9 @@
<c:forEach items="${statList}" var="list"> <c:forEach items="${statList}" var="list">
<tr> <tr>
<td rowspan="2" style="border-right:2px solid #e6e6e6;"><ec:code codeId="ITN019" code="${list.agentCode}" /></td> <td rowspan="2" style="border-right:2px solid #e6e6e6;"><ec:code codeId="ITN019" code="${list.agentCode}" /></td>
<td style="border-right:2px solid #e6e6e6;">건</td> <td style="border-right:2px solid #e6e6e6;">건(매)</td>
<td><c:out value="${list.succFaxCnt}"/></td> <td><c:out value="${list.succFaxCnt}"/>(<c:out value="${list.succPageCnt}"/>)</td>
<td><c:out value="${list.failFaxCnt}"/></td> <td><c:out value="${list.failFaxCnt}"/>(<c:out value="${list.failPageCnt}"/>)</td>
<td><c:out value="${list.succFaxRate}"/>%</td> <td><c:out value="${list.succFaxRate}"/>%</td>
</tr> </tr>
<tr> <tr>