From cd846375530e31d777ad37a443f537392019a01a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=9D=E5=87=AF=E5=85=B4?= <985571137@qq.com> Date: Fri, 29 Jul 2022 16:04:32 +0800 Subject: [PATCH] =?UTF-8?q?insert=20=E4=BC=9A=E6=89=80=E6=94=B6=E5=85=A5?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/IPayWorkingGroupService.java | 4 +- .../impl/PayWorkingGroupServiceImpl.java | 55 ++++++++++++++-- .../AllProjectMoneyStatisticsController.java | 19 +++++- .../entity/AllProjectMoneyExcel.java | 65 +++++++++++++++++++ 4 files changed, 137 insertions(+), 6 deletions(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/AllProjectMoneyExcel.java diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java index 28ac3da6..e2c446c4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/IPayWorkingGroupService.java @@ -239,5 +239,7 @@ public interface IPayWorkingGroupService extends IService { AllMoney queryPageListDepartment33(DepartStatisticsSearch departStatisticsSearch, List idList); - List queryListAllProjectMoney(AllProjectStatisticsSearch allProjectStatisticsSearch, List idList ); + List queryListAllProjectMoney(AllProjectStatisticsSearch allProjectStatisticsSearch, List idList); + + List queryListAllProjectMoneyExcel(AllProjectStatisticsSearch allProjectStatisticsSearch, List idList); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java index c2a88439..e44fb033 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupServiceImpl.java @@ -35,6 +35,7 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; +import org.jetbrains.annotations.NotNull; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -634,19 +635,65 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl queryListAllProjectMoney(AllProjectStatisticsSearch allProjectStatisticsSearch, List idList) { List list = payWorkingGroupMapper.queryListAllProjectMoney(allProjectStatisticsSearch,idList); + return getAllProjectMoneyStatistics(allProjectStatisticsSearch, list); + } + + @Override + public List queryListAllProjectMoneyExcel(AllProjectStatisticsSearch allProjectStatisticsSearch, List idList) { + List list = payWorkingGroupMapper.queryListAllProjectMoney(allProjectStatisticsSearch,idList); + List list2=getAllProjectMoneyStatistics(allProjectStatisticsSearch, list); + AllMoney allMoney=payWorkingGroupMapper.queryPageList33(allProjectStatisticsSearch, idList); + + List comeAllMoneyList=list2.stream().map(allProjectStatistics -> allProjectStatistics.getComeAllMoney()).collect(Collectors.toList()); + List billMoneyList=list2.stream().map(allProjectStatistics -> allProjectStatistics.getBillMoney()).collect(Collectors.toList()); + List confirmMoneyList=list2.stream().map(allProjectStatistics -> allProjectStatistics.getConfirmAmount()).collect(Collectors.toList()); + List> list3 = new ArrayList<>(); + list3.add(0,comeAllMoneyList); + list3.add(1,billMoneyList); + list3.add(2,confirmMoneyList); + + AllProjectMoneyExcel comeAllProjectMoney=new AllProjectMoneyExcel("到账金额",allMoney.getComeAllMoney()); + AllProjectMoneyExcel billAllProjectMoney=new AllProjectMoneyExcel("开票金额",allMoney.getBillMoney()); + AllProjectMoneyExcel confirmAllProjectMoney=new AllProjectMoneyExcel("确认收入金额",allMoney.getConfirmAmount()); + List excelList = new ArrayList<>(); + excelList.add(0,comeAllProjectMoney); + excelList.add(1,billAllProjectMoney); + excelList.add(2,confirmAllProjectMoney); + + for (int i=0; i < excelList.size(); i++) { + excelList.get(i).setJanuary(list3.get(i).get(0)); + excelList.get(i).setFebruary(list3.get(i).get(1)); + excelList.get(i).setMarch(list3.get(i).get(2)); + excelList.get(i).setApril(list3.get(i).get(3)); + excelList.get(i).setMay(list3.get(i).get(4)); + excelList.get(i).setJune(list3.get(i).get(5)); + excelList.get(i).setJuly(list3.get(i).get(6)); + excelList.get(i).setAugust(list3.get(i).get(7)); + excelList.get(i).setSeptember(list3.get(i).get(8)); + excelList.get(i).setOctober(list3.get(i).get(9)); + excelList.get(i).setNovember(list3.get(i).get(10)); + excelList.get(i).setDecember(list3.get(i).get(11)); + } + return excelList; + } + + @NotNull + private List getAllProjectMoneyStatistics(AllProjectStatisticsSearch allProjectStatisticsSearch, List list) { List collect=list.stream() .map(allProjectStatistics -> Integer.valueOf(allProjectStatistics.getPaymentDate().split("-")[1])) .collect(Collectors.toList()); String paymentYear=allProjectStatisticsSearch.getPaymentYear(); - for (int i=1; i <=12 ; i++) { - if(!collect.contains(i)){ - StringBuilder stringBuilder = new StringBuilder().append(paymentYear); - AllProjectStatistics allProjectStatistics=new AllProjectStatistics("0.00","0.00","0.00",stringBuilder.append("-"+i).toString()); + for (int i=1; i <= 12; i++) { + if (!collect.contains(i)) { + StringBuilder stringBuilder=new StringBuilder().append(paymentYear); + AllProjectStatistics allProjectStatistics=new AllProjectStatistics("0.00", "0.00", "0.00", stringBuilder.append("-" + i).toString()); list.add(allProjectStatistics); } } list.sort(Comparator.comparing(allProjectStatistics -> Integer.valueOf(allProjectStatistics.getPaymentDate().split("-")[1]))); return list; } + + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectMoneyStatisticsController.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectMoneyStatisticsController.java index e046312e..2bc8302c 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectMoneyStatisticsController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/controller/AllProjectMoneyStatisticsController.java @@ -3,6 +3,7 @@ package com.jero.statistics.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.util.oConvertUtils; import com.jero.modules.system.mapper.SysUserMapper; @@ -10,8 +11,10 @@ import com.jero.modules.system.service.ISysDepartService; import com.jero.modules.system.service.ISysUserService; import com.jero.project.service.IPayWorkingGroupService; import com.jero.statistics.entity.AllMoney; +import com.jero.statistics.entity.AllProjectMoneyExcel; import com.jero.statistics.entity.AllProjectStatistics; import com.jero.statistics.entity.AllProjectStatisticsSearch; +import com.jero.util.AmountUtil; import com.mchange.lang.IntegerUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -23,6 +26,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.ModelAndView; import javax.annotation.Resource; import java.text.DecimalFormat; @@ -57,7 +61,7 @@ public class AllProjectMoneyStatisticsController { * * @param allProjectStatisticsSearch 全所收入统计搜索 */ - @ApiOperation(value = "全所收入统计搜索-分页列表查询", notes = "全所收入统计搜索-详情分页列表查询") + @ApiOperation(value = "全所收入统计搜索-列表查询", notes = "全所收入统计搜索-详情列表查询") @GetMapping(value = "/list") public Result list(AllProjectStatisticsSearch allProjectStatisticsSearch) { @@ -74,4 +78,17 @@ public class AllProjectMoneyStatisticsController { return Result.OK(hashMap); } + + + /** + * 所领导统计导出 + */ + @AutoLog(value = "全所收入统计导出-导出统计") + @GetMapping(value = "/excel") + @ApiOperation(value = "全所收入统计导出-导出统计", notes = "全所收入统计导出-导出统计") + public ModelAndView excel(AllProjectStatisticsSearch allProjectStatisticsSearch, + @RequestParam(name = "selections", required = false) String selections) { + List list = payWorkingGroupService.queryListAllProjectMoneyExcel(allProjectStatisticsSearch, null); + return AmountUtil.exportListXls(list, AllProjectMoneyExcel.class, "收入统计"); + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/AllProjectMoneyExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/AllProjectMoneyExcel.java new file mode 100644 index 00000000..99fafe42 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/statistics/entity/AllProjectMoneyExcel.java @@ -0,0 +1,65 @@ +package com.jero.statistics.entity; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.jeecgframework.poi.excel.annotation.Excel; + +/** + * @Description: 全所收入Excel + * @author: Kuang Kaixing + * @date: 2022/07/29 14:21 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class AllProjectMoneyExcel { + + @Excel(name = "类型名称") + private String category; + + @Excel(name="一月") + private String january; + + @Excel(name="二月") + private String february; + + @Excel(name="三月") + private String march; + + @Excel(name="四月") + private String april; + + @Excel(name="五月") + private String may; + + @Excel(name="六月") + private String june; + + @Excel(name="七月") + private String july; + + @Excel(name="八月") + private String august; + + @Excel(name="九月") + private String september; + + @Excel(name="十月") + private String october; + + @Excel(name="十一月") + private String november; + + @Excel(name="十二月") + private String december ; + + @Excel(name="总计") + private String total; + + public AllProjectMoneyExcel(String category, String total) { + this.category=category; + this.total=total; + } + +}