rosewiper 2023-11-27
관리자 문자 전송 순위 스케줄러 새벽 작업 일시 중단 처리 - 사용하지 않는 기능으로 서버의 새벽시간대 작업량이 많아 오류 발생으로 인함
 - 사용하지 않는 기능으로 서버의 새벽시간대 작업량이 많아 오류 발생으로 인함

관리자 팩스 발송 통계 기능 수정
 - 통계관리 > 팩스 발송 통계 화면 개선 내용 적용
 - 발송 매수 카운트 기능 추가
 - 일반/모바일 구분 화면 기능은 추후 작업 예정
@12e64c4ee5242c43df52c9f34dce2d4c86efd565
src/main/java/itn/let/fax/admin/service/FaxStatVO.java
--- src/main/java/itn/let/fax/admin/service/FaxStatVO.java
+++ src/main/java/itn/let/fax/admin/service/FaxStatVO.java
@@ -25,6 +25,9 @@
 	private int statEndDate;                 //통계 종료일
 	private int statStandardDate;            //통계 where 기준
 	
+	private int succPageCnt;				//팩스 성공 페이지 수
+	private int failPageCnt;				//팩스 실패 페이지 수
+	
 	public String getReqDate() {
 		return reqDate;
 	}
@@ -115,5 +118,17 @@
 	public void setStatStandardDate(int 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;
+	}
 	
 }
src/main/java/itn/let/fax/admin/service/impl/FaxAdmServiceImpl.java
--- src/main/java/itn/let/fax/admin/service/impl/FaxAdmServiceImpl.java
+++ src/main/java/itn/let/fax/admin/service/impl/FaxAdmServiceImpl.java
@@ -26,7 +26,6 @@
 import itn.let.fax.admin.service.FaxStatVO;
 import itn.let.fax.user.service.FaxGroupDataVO;
 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.pay.service.impl.MjonPayDAO;
 import itn.let.module.base.PriceAndPoint;
@@ -128,7 +127,8 @@
 		
 		faxStatVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
 		faxStatVO.setLastIndex(paginationInfo.getLastRecordIndex());
-		faxStatVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
+		//faxStatVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
+		faxStatVO.setRecordCountPerPage(1000);
 		
 		// 최초 접근 시 오늘 날짜의 통계를 보여준다
 		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
@@ -212,12 +212,16 @@
 			double succFaxCost = 0;
 			double failFaxCost = 0;
 			double succFaxRate = 0;
+			int succPageCnt = 0;
+			int failPageCnt = 0;
 			
 			for(FaxStatVO tmpVO : list) {
 				succFaxCnt += tmpVO.getSuccFaxCnt();
 				failFaxCnt += tmpVO.getFailFaxCnt();
 				succFaxCost += Double.parseDouble(tmpVO.getSuccFaxCost());
 				failFaxCost += Double.parseDouble(tmpVO.getFailFaxCost());
+				succPageCnt += tmpVO.getSuccPageCnt();
+				failPageCnt += tmpVO.getFailPageCnt();
 			}
 			
 			if(succFaxCnt + succFaxCnt != 0) {
@@ -236,6 +240,8 @@
 			faxStatVO.setSuccFaxCost(dcf.format(succFaxCost));
 			faxStatVO.setFailFaxCost(dcf.format(failFaxCost));
 			faxStatVO.setSuccFaxRate(Double.toString(succFaxRate));
+			faxStatVO.setSuccPageCnt(succPageCnt);
+			faxStatVO.setFailPageCnt(failPageCnt);
 			
 			List<FaxStatVO> totalSumList = new ArrayList<FaxStatVO>();
 			totalSumList.add(faxStatVO);
src/main/java/itn/let/fax/admin/web/FaxAdmController.java
--- src/main/java/itn/let/fax/admin/web/FaxAdmController.java
+++ src/main/java/itn/let/fax/admin/web/FaxAdmController.java
@@ -324,6 +324,7 @@
     	return "/uss/ion/fax/faxAdmSendStatistics";
     }
     
+    
     // 팩스 금일 발송통계 갱신
  	@RequestMapping(value = "/uss/ion/msg/insertFaxCountStatTodayAjax.do")
  	public ResponseEntity<StatusResponse> insertFaxCountStatTodayAjax(FaxStatVO faxStatVO) throws Exception {
src/main/resources/egovframework/spring/com/context-scheduling-sym-log-lgm.xml
--- src/main/resources/egovframework/spring/com/context-scheduling-sym-log-lgm.xml
+++ src/main/resources/egovframework/spring/com/context-scheduling-sym-log-lgm.xml
@@ -92,35 +92,34 @@
 
 
 	<!-- 3-1 -->
-	<!-- 문자전송순위통계집계  -->
-	<bean id="SttstMsgRankBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
+	<!-- 문자전송순위통계집계  20231124 사용하지 않는 통계자료로 판단되어 사용 중단 처리 -->
+	<!-- <bean id="SttstMsgRankBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
 		<property name="targetObject" ref="sttstMsgScheduling" />
 		<property name="targetMethod" value="mjSttstMsgRankSmmmary" />
 		<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" />		
-	<!-- 매시간 43분 47초 마다 일별 문자 발송 데이터 집계 -->
+	매시간 43분 47초 마다 일별 문자 발송 데이터 집계
 	   	<property name="cronExpression" value="47 53 0-3,5-23 * * ?" />
-<!-- 	   	<property name="cronExpression" value="8 * * * * ?" /> -->
-	</bean>
+	
+	</bean> -->
 
 
 	<!-- 3-2 -->
-	<!-- 문자전송순위통계집계(하루한번) -->
-	<bean id="SttstMsgRankDayBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
+	<!-- 문자전송순위통계집계(하루한번)  20231124 사용하지 않는 통계자료로 판단되어 사용 중단 처리 -->
+	<!-- <bean id="SttstMsgRankDayBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
 		<property name="targetObject" ref="sttstMsgScheduling" />
 		<property name="targetMethod" value="mjSttstMsgRankDaySmmmary" />
 		<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" />		
-	<!-- 매시간 43분 47초 마다 일별 문자 발송 데이터 집계 -->
+	매시간 43분 47초 마다 일별 문자 발송 데이터 집계
 	   	<property name="cronExpression" value="47 30 4 * * ?" />
-<!-- 	   	<property name="cronExpression" value="8 * * * * ?" /> -->
-	</bean>
+	</bean> -->
 
 
 	<!-- 14 -->
@@ -151,8 +150,8 @@
 				<ref bean="sysLogTrigger" /><!-- 시스템 로그 요약  -->
 				<ref bean="SttstMsgBeanTrigger" /><!-- 문자발송일별통계집계  -->
 				<ref bean="SttstMsgDayBeanTrigger" /><!-- 문자발송일별통계집계(매일한번)  -->
-				<ref bean="SttstMsgRankBeanTrigger" /><!-- 문자전송순위통계집계  -->
-				<ref bean="SttstMsgRankDayBeanTrigger" /><!-- 문자전송순위통계집계(매일한번)  -->
+				<!-- <ref bean="SttstMsgRankBeanTrigger" /> --><!-- 문자전송순위통계집계  -->
+				<!-- <ref bean="SttstMsgRankDayBeanTrigger" /> --><!-- 문자전송순위통계집계(매일한번)  -->
 
 				<!-- mj_msg_data 백업  -->
 				<ref bean="MjMsgDataBackupBeanTrigger" />
src/main/resources/egovframework/sqlmap/let/fax/Fax_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/fax/Fax_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/fax/Fax_SQL_Mysql.xml
@@ -525,6 +525,8 @@
 		              SUCC_FAX_USER_COST,
 		              FAIL_FAX_COST,
 		              SUCC_FAX_RATE,
+		              SUCC_PAGE_CNT,
+		              FAIL_PAGE_CNT,
 		              REG_DATE
 		       )
 		SELECT b.reqDate,
@@ -535,6 +537,8 @@
 		       b.succFaxUserCost,
 		       b.failFaxCost,
 		       b.succFaxRate,
+		       b.succPageCnt,
+        	   b.failPageCnt,
 		       b.regDate
 		FROM   ( SELECT  a.reqDate                                                                                                                                                                                                        AS reqDate,
 		                '06'                                                                                                                                                                                                        AS AGENT_CODE,
@@ -544,7 +548,9 @@
 		                SUM( IF(a.Result          = 'SENT', 1, 0)  *a.faxUserCost)                                                                                                                                                                                                        AS succFaxUserCost,
 		                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,
-		                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.*,
 		                        b.EACH_PRICE AS faxUserCost
 		                FROM    mj_fax_summary_view a
@@ -575,6 +581,8 @@
 		       SUCC_FAX_USER_COST            = b.succFaxUserCost,
 		       FAIL_FAX_COST                 = b.failFaxCost,
 		       SUCC_FAX_RATE                 = b.succFaxRate,
+		       SUCC_PAGE_CNT				 = b.succPageCnt,
+		       FAIL_PAGE_CNT				 = b.failPageCnt,
 		       REG_DATE                      = now()
 	</update>
 	
@@ -584,7 +592,9 @@
 		         a.FAIL_FAX_CNT 	AS failFaxCnt,
 		         a.SUCC_FAX_COST 	AS succFaxCost,
 		         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
 		WHERE    
 				1=1
src/main/webapp/WEB-INF/jsp/uss/ion/fax/faxAdmSendStatistics.jsp
--- src/main/webapp/WEB-INF/jsp/uss/ion/fax/faxAdmSendStatistics.jsp
+++ src/main/webapp/WEB-INF/jsp/uss/ion/fax/faxAdmSendStatistics.jsp
@@ -43,33 +43,33 @@
 		fnCalChange("<c:out value='${searchVO.searchDateType}' />");
 	});
 
-// 	function fnCalChange(type) {
-// 		if(type == 'day') {
-// 			$(".calendar_box").show();
-// 			$(".line").show();
-// 			$("#searchYear").hide();
-// 			$("#searchMonth").hide();
-// 			$("#searchQuarter").hide();
-// 		} else if(type == 'month') {
-// 			$(".calendar_box").hide();
-// 			$(".line").hide();
-// 			$("#searchYear").show();
-// 			$("#searchMonth").show();
-// 			$("#searchQuarter").hide();
-// 		} else if(type == 'quarter') {
-// 			$(".calendar_box").hide();
-// 			$(".line").hide();
-// 			$("#searchYear").show();
-// 			$("#searchMonth").hide();
-// 			$("#searchQuarter").show();
-// 		} else if(type == 'year') {
-// 			$(".calendar_box").hide();
-// 			$(".line").hide();
-// 			$("#searchYear").show();
-// 			$("#searchMonth").hide();
-// 			$("#searchQuarter").hide();
-// 		}
-// 	}
+ 	function fnCalChange(type) {
+ 		if(type == 'day') {
+ 			$(".calendar_box").show();
+ 			$(".line").show();
+ 			$("#searchYear").hide();
+ 			$("#searchMonth").hide();
+ 			$("#searchQuarter").hide();
+ 		} else if(type == 'month') {
+ 			$(".calendar_box").hide();
+ 			$(".line").hide();
+ 			$("#searchYear").show();
+ 			$("#searchMonth").show();
+ 			$("#searchQuarter").hide();
+ 		} else if(type == 'quarter') {
+ 			$(".calendar_box").hide();
+ 			$(".line").hide();
+ 			$("#searchYear").show();
+ 			$("#searchMonth").hide();
+ 			$("#searchQuarter").show();
+ 		} else if(type == 'year') {
+ 			$(".calendar_box").hide();
+ 			$(".line").hide();
+ 			$("#searchYear").show();
+ 			$("#searchMonth").hide();
+ 			$("#searchQuarter").hide();
+ 		}
+ 	}
 	
 	function fn_list_search() {
 		var form = document.listForm;
@@ -202,7 +202,6 @@
 			</div>
 			<div class="listTop" style="font-weight: normal; vertical-align:bottom;">
 				(부가세 별도)
-				(30분 단위 업데이트)
 				&nbsp;
 				<input type="button" style="cursor: pointer; height: 30px;" onclick="setTodayUpdate();" value="Today Update">
 			</div>
@@ -210,7 +209,7 @@
 				<table class="tbType1">
 					<colgroup>
 						<col style="width:4%;">
-						<col style="width:3%;">
+						<col style="width:5%;">
 						<col style="width:auto;">
 					</colgroup>
 					<thead>
@@ -228,9 +227,9 @@
 						<c:forEach items="${statList}" var="list">
 							<tr>
 								<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><c:out value="${list.succFaxCnt}"/></td>
-								<td><c:out value="${list.failFaxCnt}"/></td>
+								<td style="border-right:2px solid #e6e6e6;">건(매)</td>
+								<td><c:out value="${list.succFaxCnt}"/>(<c:out value="${list.succPageCnt}"/>)</td>
+								<td><c:out value="${list.failFaxCnt}"/>(<c:out value="${list.failPageCnt}"/>)</td>
 								<td><c:out value="${list.succFaxRate}"/>%</td>
 							</tr>
 							<tr>
Add a comment
List