itn 2023-08-01
팩스 전송목록에 일/월/년 누적 성공건수 통계 추가
@de13478b25bd5217cdef959d77982f5fe8646de6
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
@@ -128,6 +128,32 @@
 		return "/uss/ion/fax/faxAdmSendList";
 	}
 	
+	// 팩스 금일/금월/금년 통계
+	@RequestMapping(value = "/uss/ion/fax/selectFaxSendThisSumAjax.do")
+	public ModelAndView FaxSendThisSumAjax(
+			@ModelAttribute("faxGroupDataVO") FaxGroupDataVO faxGroupDataVO) throws Exception {
+
+		ModelAndView modelAndView = new ModelAndView();
+		modelAndView.setViewName("jsonView");
+
+		boolean isSuccess = true;
+		String msg = "";
+		FaxGroupDataVO result = null;
+		
+        try {
+        	result  = faxService.selectFaxSendThisSum(faxGroupDataVO);
+		}
+		catch(Exception e) {
+			isSuccess = false;
+			msg = e.getMessage();
+		}		
+
+        modelAndView.addObject("result", result);
+		modelAndView.addObject("isSuccess", isSuccess);
+		modelAndView.addObject("msg", msg);
+		
+		return modelAndView;
+	}		
 	
 	/** 
 	 * @methodName	: faxAdmSendDetailList 
src/main/java/itn/let/fax/user/service/FaxGroupDataVO.java
--- src/main/java/itn/let/fax/user/service/FaxGroupDataVO.java
+++ src/main/java/itn/let/fax/user/service/FaxGroupDataVO.java
@@ -17,8 +17,6 @@
 
 import java.io.Serializable;
 
-import itn.com.cmm.ComDefaultVO;
-
 
 /**
  * 
@@ -206,6 +204,61 @@
 	private String searchMonth;
 	private String searchQuarter;
 	
+	private String successDay;
+	private String successMonth;
+	private String successYear;
+	private String successCntDay;
+	private String successCntMonth;
+	private String successCntYear;
+
+	public String getSuccessDay() {
+		return successDay;
+	}
+
+	public void setSuccessDay(String successDay) {
+		this.successDay = successDay;
+	}
+
+	public String getSuccessMonth() {
+		return successMonth;
+	}
+
+	public void setSuccessMonth(String successMonth) {
+		this.successMonth = successMonth;
+	}
+
+	public String getSuccessYear() {
+		return successYear;
+	}
+
+	public void setSuccessYear(String successYear) {
+		this.successYear = successYear;
+	}
+
+	public String getSuccessCntDay() {
+		return successCntDay;
+	}
+
+	public void setSuccessCntDay(String successCntDay) {
+		this.successCntDay = successCntDay;
+	}
+
+	public String getSuccessCntMonth() {
+		return successCntMonth;
+	}
+
+	public void setSuccessCntMonth(String successCntMonth) {
+		this.successCntMonth = successCntMonth;
+	}
+
+	public String getSuccessCntYear() {
+		return successCntYear;
+	}
+
+	public void setSuccessCntYear(String successCntYear) {
+		this.successCntYear = successCntYear;
+	}
+
 
 	public FaxGroupDataVO() {};
 	
src/main/java/itn/let/fax/user/service/FaxService.java
--- src/main/java/itn/let/fax/user/service/FaxService.java
+++ src/main/java/itn/let/fax/user/service/FaxService.java
@@ -32,6 +32,9 @@
 
 	FaxGroupDataVO selectFaxSendDetailInfo(FaxGroupDataVO faxGroupDataVO);
 	
+	// 팩스 금일/금월/금년 통계
+	FaxGroupDataVO selectFaxSendThisSum(FaxGroupDataVO faxGroupDataVO);
+	
 	List<FaxGroupDataVO> selectMyFaxSendList(FaxGroupDataVO faxGroupDataVO);
 
 
src/main/java/itn/let/fax/user/service/impl/FaxDAO.java
--- src/main/java/itn/let/fax/user/service/impl/FaxDAO.java
+++ src/main/java/itn/let/fax/user/service/impl/FaxDAO.java
@@ -136,6 +136,11 @@
 		return (FaxGroupDataVO)select("faxDAO.selectFaxSendDetailInfo", faxGroupDataVO);
 	}
 	
+	// 팩스 금일/금월/금년 통계
+	public FaxGroupDataVO selectFaxSendThisSum(FaxGroupDataVO faxGroupDataVO) {
+		return (FaxGroupDataVO)select("faxDAO.selectFaxSendThisSum", faxGroupDataVO);
+	}
+	
 	public List<?> selectBookMarkMsgList(MjonMsgDataVO mjonMsgDataVO) throws Exception{
 		return list("faxDAO.selectBookMarkMsgList", mjonMsgDataVO);
 	}
src/main/java/itn/let/fax/user/service/impl/FaxServiceImpl.java
--- src/main/java/itn/let/fax/user/service/impl/FaxServiceImpl.java
+++ src/main/java/itn/let/fax/user/service/impl/FaxServiceImpl.java
@@ -2,8 +2,6 @@
 
 import java.io.File;
 import java.io.IOException;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
@@ -15,7 +13,6 @@
 import java.util.Map;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -33,7 +30,6 @@
 import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
 import itn.com.cmm.util.DateUtil;
 import itn.com.cmm.util.FaxUtil;
-import itn.com.cmm.util.MJUtil;
 import itn.let.fax.user.service.FaxConvertMngVO;
 import itn.let.fax.user.service.FaxConvertVO;
 import itn.let.fax.user.service.FaxGroupDataVO;
@@ -41,14 +37,12 @@
 import itn.let.fax.user.service.FaxService;
 import itn.let.fax.user.service.FaxTranVO;
 import itn.let.mail.service.StatusResponse;
-import itn.let.mjo.msg.service.MjonMsgVO;
 import itn.let.mjo.msgdata.service.MjonMsgDataVO;
 import itn.let.mjo.msgdata.service.impl.MjonMsgDataDAO;
 import itn.let.mjo.pay.service.MjonPayVO;
 import itn.let.mjo.pay.service.impl.MjonPayDAO;
 import itn.let.module.base.PriceAndPoint;
 import itn.let.sym.site.service.JoinSettingVO;
-import itn.let.uss.umt.service.MberManageVO;
 import itn.let.utl.fcc.service.EgovStringUtil;
 
 
@@ -587,6 +581,12 @@
 		return faxDao.selectFaxSendDetailInfo(faxGroupDataVO);
 	}
 
+	// 팩스 금일/금월/금년 통계
+	@Override
+	public FaxGroupDataVO selectFaxSendThisSum(FaxGroupDataVO faxGroupDataVO) {
+		return faxDao.selectFaxSendThisSum(faxGroupDataVO);
+	}
+	
 	@Override
 	public List<FaxGroupDataVO> selectMyFaxSendList(FaxGroupDataVO faxGroupDataVO) {
 		return faxDao.selectMyFaxSendList(faxGroupDataVO);
src/main/java/itn/let/kakao/admin/kakaoAt/web/MjonKakaoATController.java
--- src/main/java/itn/let/kakao/admin/kakaoAt/web/MjonKakaoATController.java
+++ src/main/java/itn/let/kakao/admin/kakaoAt/web/MjonKakaoATController.java
@@ -265,7 +265,7 @@
 	
 	// 알림톡 금일/금월/금년 통계
 	@RequestMapping(value = "/uss/umt/user/selectMjonKakaoAtThisSumAjax.do")
-	public ModelAndView DashBoardAdminLogAjax(
+	public ModelAndView MjonKakaoAtThisSumAjax(
 			@ModelAttribute("kakaoVO") KakaoVO kakaoVO) throws Exception {
 
 		ModelAndView modelAndView = new ModelAndView();
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
@@ -773,7 +773,39 @@
 		ORDER BY 1=1
 	</select>
 	
-	
+	<!-- 팩스 금일/금월/금년 통계 -->
+	<select id="faxDAO.selectFaxSendThisSum" resultClass="faxGroupDataVO" parameterClass="faxGroupDataVO">
+	<![CDATA[
+		SELECT
+			DATE_FORMAT(NOW(), '%m-%d') AS successDay
+			, DATE_FORMAT(NOW(), '%c') AS successMonth
+			, DATE_FORMAT(NOW(), '%Y') AS successYear 		
+			, (SELECT 
+				FORMAT(IFNULL(SUM(C.SentEA), 0), 0)
+			FROM PGI_FAXTRAN C
+			WHERE 1=1
+				AND C.ReqDate >= DATE_FORMAT(NOW(), '%Y-%m-%d')
+				AND C.ReqDate < DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 DAY), '%Y-%m-%d')
+			) successCntDay
+			, (SELECT 
+				FORMAT(IFNULL(SUM(C.SentEA), 0), 0)
+			FROM PGI_FAXTRAN C
+			WHERE 1=1
+				AND C.ReqDate >= CONCAT(DATE_FORMAT(NOW(), '%Y-%m'), '-01')
+				AND C.ReqDate < DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 DAY), '%Y-%m-%d')
+			) successCntMonth
+			, (SELECT 
+				FORMAT(IFNULL(SUM(C.SentEA), 0), 0)
+		FROM PGI_FAXTRAN C
+			WHERE 1=1
+				AND C.ReqDate >= CONCAT(DATE_FORMAT(NOW(), '%Y'), '-01-01')
+				AND C.ReqDate < DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 DAY), '%Y-%m-%d')
+			) successCntYear
+		FROM DUAL
+		
+	]]>
+	</select>		
+		
 	<select id="faxDAO.selectBookMarkMsgList" parameterClass="mjonMsgDataVO" resultClass="egovMap">
 		
 		SELECT   ADDR_ID AS addrId,
src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml
--- src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml
@@ -1051,7 +1051,7 @@
 			, DATE_FORMAT(NOW(), '%c') AS successMonth
 			, DATE_FORMAT(NOW(), '%Y') AS successYear 		
 			, (SELECT 
-				FORMAT(COUNT(0), 0)
+				FORMAT(IFNULL(COUNT(0), 0), 0)
 			FROM MJ_MSG_DATA C
 			WHERE
 				C.RESERVE_C_YN = 'N'
@@ -1061,7 +1061,7 @@
 				AND C.SENT_DATE < DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 DAY), '%Y-%m-%d')
 			) successCntDay
 			, (SELECT 
-				FORMAT(COUNT(0), 0)
+				FORMAT(IFNULL(COUNT(0), 0), 0)
 			FROM MJ_MSG_DATA C
 			WHERE
 				C.RESERVE_C_YN = 'N'
@@ -1071,7 +1071,7 @@
 				AND C.SENT_DATE < DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 DAY), '%Y-%m-%d')
 			) successCntMonth
 			, (SELECT 
-				FORMAT(COUNT(0), 0)
+				FORMAT(IFNULL(COUNT(0), 0), 0)
 		FROM MJ_MSG_DATA C
 			WHERE
 				C.RESERVE_C_YN = 'N'
src/main/webapp/WEB-INF/jsp/uss/ion/fax/faxAdmSendList.jsp
--- src/main/webapp/WEB-INF/jsp/uss/ion/fax/faxAdmSendList.jsp
+++ src/main/webapp/WEB-INF/jsp/uss/ion/fax/faxAdmSendList.jsp
@@ -18,6 +18,9 @@
 
 	fn_init();
 	
+	//팩스 금일/금월/금년 통계
+	getFaxSendThisSum();
+	
 	$('.sort').click(function(){
 		/* 
 			내림차순 sortBtnDesc
@@ -117,7 +120,36 @@
 
 }
 
-
+//팩스 금일/금월/금년 통계
+function getFaxSendThisSum() {
+	$("#faxSendThisSumArea").html("");
+	
+	$.ajax({
+        type: "POST",
+        url: "/uss/ion/fax/selectFaxSendThisSumAjax.do",
+        data: {},
+        dataType:'json',
+        async: true,
+        success: function (data) {
+        	var jsonInfo = data.result;
+			if (data.isSuccess) {
+				try {
+					var sHtml = "";
+					sHtml = "(" + jsonInfo.successDay + " : " + jsonInfo.successCntDay + "건 / " + jsonInfo.successMonth + "월 누적 : " + jsonInfo.successCntMonth + "건 / " + jsonInfo.successYear + "년 누적 : " + jsonInfo.successCntYear + "건)";
+					$("#faxSendThisSumArea").html(sHtml);
+				} catch (error) {
+					  console.error(error);
+				}					
+			} 
+			else {
+				//alert("Msg : " + data.msg);
+			}
+		},
+        error: function (e) { 
+        	//alert("ERROR : " + JSON.stringify(e)); 
+        }
+    });	
+}	
 
 </script>
 <style>
@@ -193,7 +225,7 @@
 	
 				</div>
 				<div class="listTop">
-					<p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건</p>
+					<p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건<span id="faxSendThisSumArea"></span></p>
 					<div class="rightWrap">
 		<!-- 					<input type="button" class="excelBtn" onclick="javascript:sendMsgExcelDownload();"> -->
 						<!-- <input type="button" class="printBtn"> -->
Add a comment
List