Browse Source

新增报销总计的导出

anderx 1 year ago
parent
commit
44cf929870

+ 134 - 0
src/main/java/com/goafanti/expenseAccount/bo/ExpenseCountsDep.java

@@ -0,0 +1,134 @@
+package com.goafanti.expenseAccount.bo;
+
+import com.goafanti.common.utils.excel.Excel;
+
+import java.math.BigDecimal;
+
+public class ExpenseCountsDep extends ExpenseCountsBo{
+
+
+
+
+    @Excel(name = "部门名称",width = 24)
+    private String depName;
+
+    @Excel(name = "合同金额")
+    private BigDecimal totalAmount;
+    @Excel(name = "已收款")
+    private BigDecimal settlementAmount;
+    @Excel(name = "报销总额")
+    private BigDecimal expenseAmount;
+    @Excel(name = "已付成本")
+    private BigDecimal paymentAmount;
+
+    @Excel(name = "报销人数")
+    private Integer peopleCount;
+    @Excel(name = "天数")
+    private Integer days;
+    @Excel(name = "报销单数")
+    private Integer expenseCount;
+    @Excel(name = "报销未审核")
+    private Integer notExamine;
+    @Excel(name = "驳回单数")
+    private Integer rejectCount;
+
+    @Override
+    public String getDepName() {
+        return depName;
+    }
+
+    @Override
+    public void setDepName(String depName) {
+        this.depName = depName;
+    }
+
+    @Override
+    public BigDecimal getTotalAmount() {
+        return totalAmount;
+    }
+
+    @Override
+    public void setTotalAmount(BigDecimal totalAmount) {
+        this.totalAmount = totalAmount;
+    }
+
+    @Override
+    public BigDecimal getSettlementAmount() {
+        return settlementAmount;
+    }
+
+    @Override
+    public void setSettlementAmount(BigDecimal settlementAmount) {
+        this.settlementAmount = settlementAmount;
+    }
+
+    @Override
+    public BigDecimal getExpenseAmount() {
+        return expenseAmount;
+    }
+
+    @Override
+    public void setExpenseAmount(BigDecimal expenseAmount) {
+        this.expenseAmount = expenseAmount;
+    }
+
+    @Override
+    public BigDecimal getPaymentAmount() {
+        return paymentAmount;
+    }
+
+    @Override
+    public void setPaymentAmount(BigDecimal paymentAmount) {
+        this.paymentAmount = paymentAmount;
+    }
+
+    @Override
+    public Integer getPeopleCount() {
+        return peopleCount;
+    }
+
+    @Override
+    public void setPeopleCount(Integer peopleCount) {
+        this.peopleCount = peopleCount;
+    }
+
+    @Override
+    public Integer getDays() {
+        return days;
+    }
+
+    @Override
+    public void setDays(Integer days) {
+        this.days = days;
+    }
+
+    @Override
+    public Integer getExpenseCount() {
+        return expenseCount;
+    }
+
+    @Override
+    public void setExpenseCount(Integer expenseCount) {
+        this.expenseCount = expenseCount;
+    }
+
+    @Override
+    public Integer getNotExamine() {
+        return notExamine;
+    }
+
+    @Override
+    public void setNotExamine(Integer notExamine) {
+        this.notExamine = notExamine;
+    }
+
+    @Override
+    public Integer getRejectCount() {
+        return rejectCount;
+    }
+
+    @Override
+    public void setRejectCount(Integer rejectCount) {
+        this.rejectCount = rejectCount;
+    }
+}

+ 155 - 0
src/main/java/com/goafanti/expenseAccount/bo/ExpenseCountsOrder.java

@@ -0,0 +1,155 @@
+package com.goafanti.expenseAccount.bo;
+
+import com.goafanti.common.utils.excel.Excel;
+
+import java.math.BigDecimal;
+
+public class ExpenseCountsOrder extends ExpenseCountsBo{
+
+
+    private String orderNo;
+    @Excel(name = "合同编号")
+    private String contractNo;
+    @Excel(name = "客户名称")
+    private String buyerName;
+
+    @Excel(name = "合同金额")
+    private BigDecimal totalAmount;
+    @Excel(name = "已收款")
+    private BigDecimal settlementAmount;
+    @Excel(name = "报销总额")
+    private BigDecimal expenseAmount;
+    @Excel(name = "已付成本")
+    private BigDecimal paymentAmount;
+
+    @Excel(name = "报销人数")
+    private Integer peopleCount;
+    @Excel(name = "天数")
+    private Integer days;
+    @Excel(name = "报销单数")
+    private Integer expenseCount;
+    @Excel(name = "报销未审核")
+    private Integer notExamine;
+    @Excel(name = "驳回单数")
+    private Integer rejectCount;
+
+    @Override
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    @Override
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo;
+    }
+
+    @Override
+    public String getContractNo() {
+        return contractNo;
+    }
+
+    @Override
+    public void setContractNo(String contractNo) {
+        this.contractNo = contractNo;
+    }
+
+    @Override
+    public String getBuyerName() {
+        return buyerName;
+    }
+
+    @Override
+    public void setBuyerName(String buyerName) {
+        this.buyerName = buyerName;
+    }
+
+    @Override
+    public BigDecimal getTotalAmount() {
+        return totalAmount;
+    }
+
+    @Override
+    public void setTotalAmount(BigDecimal totalAmount) {
+        this.totalAmount = totalAmount;
+    }
+
+    @Override
+    public BigDecimal getSettlementAmount() {
+        return settlementAmount;
+    }
+
+    @Override
+    public void setSettlementAmount(BigDecimal settlementAmount) {
+        this.settlementAmount = settlementAmount;
+    }
+
+    @Override
+    public BigDecimal getExpenseAmount() {
+        return expenseAmount;
+    }
+
+    @Override
+    public void setExpenseAmount(BigDecimal expenseAmount) {
+        this.expenseAmount = expenseAmount;
+    }
+
+    @Override
+    public BigDecimal getPaymentAmount() {
+        return paymentAmount;
+    }
+
+    @Override
+    public void setPaymentAmount(BigDecimal paymentAmount) {
+        this.paymentAmount = paymentAmount;
+    }
+
+    @Override
+    public Integer getPeopleCount() {
+        return peopleCount;
+    }
+
+    @Override
+    public void setPeopleCount(Integer peopleCount) {
+        this.peopleCount = peopleCount;
+    }
+
+    @Override
+    public Integer getDays() {
+        return days;
+    }
+
+    @Override
+    public void setDays(Integer days) {
+        this.days = days;
+    }
+
+    @Override
+    public Integer getExpenseCount() {
+        return expenseCount;
+    }
+
+    @Override
+    public void setExpenseCount(Integer expenseCount) {
+        this.expenseCount = expenseCount;
+    }
+
+    @Override
+    public Integer getNotExamine() {
+        return notExamine;
+    }
+
+    @Override
+    public void setNotExamine(Integer notExamine) {
+        this.notExamine = notExamine;
+    }
+
+    @Override
+    public Integer getRejectCount() {
+        return rejectCount;
+    }
+
+    @Override
+    public void setRejectCount(Integer rejectCount) {
+        this.rejectCount = rejectCount;
+    }
+}

+ 36 - 0
src/main/java/com/goafanti/expenseAccount/controller/ExpenseCountsController.java

@@ -2,26 +2,62 @@ package com.goafanti.expenseAccount.controller;
 
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.controller.CertifyApiController;
+import com.goafanti.common.utils.excel.NewExcelUtil;
 import com.goafanti.expenseAccount.bo.ExpenseCountsBo;
+import com.goafanti.expenseAccount.bo.ExpenseCountsDep;
 import com.goafanti.expenseAccount.bo.ExpenseCountsInput;
+import com.goafanti.expenseAccount.bo.ExpenseCountsOrder;
 import com.goafanti.expenseAccount.service.ExpenseCountsService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.ArrayList;
+import java.util.List;
+
 @RestController
 @RequestMapping("/api/admin/expenseCounts")
 public class ExpenseCountsController extends CertifyApiController {
 
     @Autowired
     private ExpenseCountsService expenseAccountService;
+    @Value(value = "${upload.path}")
+    private final String	uploadPath			= null;
     @RequestMapping(value = "/getCounts",method = RequestMethod.GET)
     public Result<ExpenseCountsBo> getCounts(ExpenseCountsInput in){
         Result res=new Result();
         return res.data(expenseAccountService.getCounts(in));
     }
 
+
+    @RequestMapping(value = "/getCounts/Export",method = RequestMethod.GET)
+    public Result<ExpenseCountsBo> getCountsExport(ExpenseCountsInput in){
+        NewExcelUtil excelUtil =null;
+            List<ExpenseCountsBo> list  = (List<ExpenseCountsBo>) expenseAccountService.getCounts(in);
+        if (in.getTargetType()==1){
+            excelUtil=new NewExcelUtil(ExpenseCountsOrder.class);
+            List<ExpenseCountsOrder>orderList = new ArrayList<>();
+            for (ExpenseCountsBo expenseCountsBo : list) {
+                ExpenseCountsOrder order = new ExpenseCountsOrder();
+                BeanUtils.copyProperties(expenseCountsBo,order);
+                orderList.add(order);
+            }
+            return excelUtil.exportExcel(orderList, "报销总计", uploadPath);
+        }else {
+            excelUtil=new NewExcelUtil(ExpenseCountsDep.class);
+            List<ExpenseCountsDep>depList = new ArrayList<>();
+            for (ExpenseCountsBo expenseCountsBo : list) {
+                ExpenseCountsDep dep=new ExpenseCountsDep();
+                BeanUtils.copyProperties(expenseCountsBo,dep);
+                depList.add(dep);
+            }
+            return excelUtil.exportExcel(depList, "报销总计", uploadPath);
+        }
+    }
+
     @RequestMapping(value = "/getCountsClear",method = RequestMethod.GET)
     public Result<ExpenseCountsBo> getCountsClear(){
         Result res=new Result();

+ 1 - 0
src/main/java/com/goafanti/expenseAccount/service/ExpenseCountsService.java

@@ -6,4 +6,5 @@ public interface ExpenseCountsService {
     Object getCounts(ExpenseCountsInput in);
 
     Object getCountsClear();
+
 }

+ 2 - 0
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseCountsServiceImpl.java

@@ -31,4 +31,6 @@ public class ExpenseCountsServiceImpl implements ExpenseCountsService {
         LoggerUtils.debug(getClass(),"报销统计缓存清除。");
         return 1;
     }
+
+
 }