insert 会所收入导出功能

This commit is contained in:
邝凯兴
2022-07-29 16:04:32 +08:00
parent e224733e9c
commit cd84637553
4 changed files with 137 additions and 6 deletions
@@ -239,5 +239,7 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
AllMoney queryPageListDepartment33(DepartStatisticsSearch departStatisticsSearch, List<String> idList);
List<AllProjectStatistics> queryListAllProjectMoney(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList );
List<AllProjectStatistics> queryListAllProjectMoney(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList);
List<AllProjectMoneyExcel> queryListAllProjectMoneyExcel(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList);
}
@@ -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<PayWorkingGroupMappe
@Override
public List<AllProjectStatistics> queryListAllProjectMoney(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList) {
List<AllProjectStatistics> list = payWorkingGroupMapper.queryListAllProjectMoney(allProjectStatisticsSearch,idList);
return getAllProjectMoneyStatistics(allProjectStatisticsSearch, list);
}
@Override
public List<AllProjectMoneyExcel> queryListAllProjectMoneyExcel(AllProjectStatisticsSearch allProjectStatisticsSearch, List<String> idList) {
List<AllProjectStatistics> list = payWorkingGroupMapper.queryListAllProjectMoney(allProjectStatisticsSearch,idList);
List<AllProjectStatistics> list2=getAllProjectMoneyStatistics(allProjectStatisticsSearch, list);
AllMoney allMoney=payWorkingGroupMapper.queryPageList33(allProjectStatisticsSearch, idList);
List<String> comeAllMoneyList=list2.stream().map(allProjectStatistics -> allProjectStatistics.getComeAllMoney()).collect(Collectors.toList());
List<String> billMoneyList=list2.stream().map(allProjectStatistics -> allProjectStatistics.getBillMoney()).collect(Collectors.toList());
List<String> confirmMoneyList=list2.stream().map(allProjectStatistics -> allProjectStatistics.getConfirmAmount()).collect(Collectors.toList());
List<List<String>> 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<AllProjectMoneyExcel> 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<AllProjectStatistics> getAllProjectMoneyStatistics(AllProjectStatisticsSearch allProjectStatisticsSearch, List<AllProjectStatistics> list) {
List<Integer> 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;
}
}
@@ -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<AllProjectMoneyExcel> list = payWorkingGroupService.queryListAllProjectMoneyExcel(allProjectStatisticsSearch, null);
return AmountUtil.exportListXls(list, AllProjectMoneyExcel.class, "收入统计");
}
}
@@ -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;
}
}