Browse Source

统计列表导出开发

anderx 2 years ago
parent
commit
96e9bc3f14

+ 3 - 4
src/main/java/com/goafanti/core/cache/serializer/FastJsonRedisSerializer.java

@@ -1,12 +1,10 @@
 package com.goafanti.core.cache.serializer;
 
-import com.goafanti.weChat.bo.InputPublicStatistics;
-import org.springframework.data.redis.serializer.RedisSerializer;
-import org.springframework.data.redis.serializer.SerializationException;
-
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.parser.ParserConfig;
 import com.alibaba.fastjson.serializer.SerializerFeature;
+import org.springframework.data.redis.serializer.RedisSerializer;
+import org.springframework.data.redis.serializer.SerializationException;
 
 public class FastJsonRedisSerializer implements RedisSerializer<Object> {
 	public FastJsonRedisSerializer() {
@@ -29,6 +27,7 @@ public class FastJsonRedisSerializer implements RedisSerializer<Object> {
 		pc.addAccept("com.goafanti.core.mybatis.page.Pagination");
 		pc.addAccept("com.goafanti.common.bo.Result");
 		pc.addAccept("com.goafanti.permission.bo.PermissionBo");
+		pc.addAccept("com.goafanti.expenseAccount.bo.OutExpenseAccountStatistics");
 		pc.addAccept("java.util.Map");
 
 	}

+ 25 - 9
src/main/java/com/goafanti/expenseAccount/bo/OutExpenseAccountStatistics.java

@@ -1,21 +1,27 @@
 package com.goafanti.expenseAccount.bo;
 
+import com.goafanti.common.utils.excel.Excel;
+
 import java.math.BigDecimal;
 
 public class OutExpenseAccountStatistics {
     private String aid;
+    @Excel(name = "报销人员")
     private String aname;
     /**
      * 报销
      */
+    @Excel(name = "报销数")
     private Integer bx;
     /**
      * 借支
      */
+    @Excel(name = "借支数")
     private Integer jz;
     /**
      * 抵扣
      */
+    @Excel(name = "抵扣数")
     private Integer dk;
 
     /**
@@ -26,39 +32,49 @@ public class OutExpenseAccountStatistics {
      * 目标类型 0=固定费用,1=报销订单
      */
     private Integer targetType;
+    @Excel(name = "总金额" ,scale = 0)
+    private BigDecimal TotalAmount;
     /**
      * 报销金额
      */
+    @Excel(name = "报销金额" ,scale = 0)
     private BigDecimal bxAmount;
     /**
      * 借支金额
      */
+    @Excel(name = "借支金额",scale = 0)
     private BigDecimal jzAmount;
     /**
      * 抵扣金额
      */
+    @Excel(name = "抵扣金额",scale = 0)
     private BigDecimal dkAmount;
 
     private BigDecimal bxdkAmount;
 
-    private BigDecimal TotalAmount;
-    /**
-     * 未审核数
-     */
-    private Integer wshs;
-    /**
-     * 驳回数
-     */
-    private Integer bhs;
     /**
      * 固定费用金额
      */
+    @Excel(name = "固定费用金额",scale = 0)
     private BigDecimal gdfyAmount;
     /**
      * 报销订单金额
      */
+    @Excel(name = "报销至订单金额" ,scale = 0)
     private BigDecimal bxddAmount;
 
+    /**
+     * 未审核数
+     */
+    @Excel(name = "未审核数")
+    private Integer wshs;
+    /**
+     * 驳回数
+     */
+    @Excel(name = "驳回数")
+    private Integer bhs;
+
+
 
     public OutExpenseAccountStatistics() {
     }

+ 10 - 0
src/main/java/com/goafanti/expenseAccount/controller/ExpenseAccountController.java

@@ -200,5 +200,15 @@ public class ExpenseAccountController extends CertifyApiController {
     }
 
 
+    /**
+     * 获取后台统计数据
+     * @return
+     */
+    @RequestMapping(value = "/statistics/export",method = RequestMethod.GET)
+    public Result statisticsExport(String name,String depId,String startTime,String endTime){
+        return expenseAccountService.statisticsExport( name, depId, startTime, endTime);
+    }
+
+
 
 }

+ 3 - 0
src/main/java/com/goafanti/expenseAccount/service/ExpenseAccountService.java

@@ -1,5 +1,6 @@
 package com.goafanti.expenseAccount.service;
 
+import com.goafanti.common.bo.Result;
 import com.goafanti.expenseAccount.bo.*;
 
 import java.util.List;
@@ -32,4 +33,6 @@ public interface ExpenseAccountService {
     List<OutExpenseAccount> selectDebitOrder(String depId);
 
     Object statistics(String name,String depId,String startTime,String endTime);
+
+    Result statisticsExport(String name, String depId, String startTime, String endTime);
 }

+ 16 - 1
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -3,6 +3,7 @@ package com.goafanti.expenseAccount.service.impl;
 import com.goafanti.admin.bo.AdminListBo;
 import com.goafanti.common.bo.AdminNoticeBo;
 import com.goafanti.common.bo.EmailBo;
+import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.dao.*;
 import com.goafanti.common.enums.NoticeStatus;
@@ -12,12 +13,15 @@ import com.goafanti.common.model.*;
 import com.goafanti.common.utils.AsyncUtils;
 import com.goafanti.common.utils.DateUtils;
 import com.goafanti.common.utils.WeChatUtils;
+import com.goafanti.common.utils.excel.NewExcelUtil;
 import com.goafanti.core.mybatis.BaseMybatisDao;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.expenseAccount.Enums.EAProcessStatus;
 import com.goafanti.expenseAccount.bo.*;
 import com.goafanti.expenseAccount.service.ExpenseAccountService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -44,6 +48,9 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
     @Autowired
     private ExpenseAccountExamineMapper expenseAccountExamineMapper;
 
+    @Value(value = "${upload.path}")
+    private final String	uploadPath			= null;
+
 
 
     @Override
@@ -588,7 +595,8 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
 
 
     @Override
-    public Object statistics(String name,String depId,String startTime,String endTime) {
+    @Cacheable(value = "expenseAccountStatistics#300", key = "'page:'+#name+',depId'+#depId+',startTime'+#startTime+',endTime'+#endTime")
+    public List<OutExpenseAccountStatistics> statistics(String name,String depId,String startTime,String endTime) {
         if (endTime!=null)endTime=endTime+" 23:59:59";
         List<OutMyEAStatistics> list = expenseAccountMapper.selectStatistics(name, depId, startTime, endTime);
         List<OutExpenseAccountStatistics> results=new ArrayList<>();
@@ -660,4 +668,11 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
         }
         return results;
     }
+
+    @Override
+    public Result statisticsExport(String name, String depId, String startTime, String endTime) {
+        List<OutExpenseAccountStatistics> list = statistics( name,  depId,  startTime,  endTime);
+        NewExcelUtil<OutExpenseAccountStatistics> newExcelUtil=new NewExcelUtil<>(OutExpenseAccountStatistics.class);
+        return newExcelUtil.exportExcel(list,"报销统计",uploadPath);
+    }
 }