From 2db76f2066701cbe292f206ad49a7f8523b8aa9f Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期五, 14 八月 2026 16:30:25 +0800
Subject: [PATCH] feat:银行流水关联多个合同,新增预收款开票,所有List校验调整为ColUtil
---
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/StatisticServiceImpl.java | 413 +++++++++++++++++++++++++++++++++-------------------------
1 files changed, 237 insertions(+), 176 deletions(-)
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/StatisticServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/StatisticServiceImpl.java
index 0956a6f..ade6a99 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/StatisticServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/StatisticServiceImpl.java
@@ -1,6 +1,6 @@
package com.by4cloud.platformx.business.service.impl;
-import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -30,6 +30,7 @@
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.ArrayList;
+import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
@@ -91,7 +92,7 @@
compIds.add(Long.valueOf(ymj));
compIds.add(Long.valueOf(jxc));
List<ContractIncomeAnalysisVo> contractIncomeAnalysisVoList = contractMapper.contractIncomeAnalysis(commonDTO,compIds);
- if (ArrayUtil.isNotEmpty(contractIncomeAnalysisVoList.toArray())){
+ if (CollUtil.isNotEmpty(contractIncomeAnalysisVoList)){
contractIncomeAnalysisVoList.stream().forEach(contractIncomeAnalysisVo -> {
if(StrUtil.equals(contractIncomeAnalysisVo.getCompId(),sgb)){
contractIncomeAnalysisVo.setCompName("鐭冲伐娉�");
@@ -123,7 +124,7 @@
public R contractAmountAnalysisByArea(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("company_area");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("鍦板尯瀛楀吀鍒嗙被鑾峰彇寮傚父");
}
List<Long> compIds = new ArrayList<>();
@@ -163,7 +164,7 @@
public R contractAmountAnalysisByIndustry(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("industry_sector");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("琛屼笟瀛楀吀鍒嗙被鑾峰彇寮傚父");
}
List<Long> compIds = new ArrayList<>();
@@ -203,7 +204,7 @@
public R contractAmountAnalysisByMarket(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("market_type");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("甯傚満绫诲瀷瀛楀吀鍒嗙被鑾峰彇寮傚父");
}
List<Long> compIds = new ArrayList<>();
@@ -243,7 +244,7 @@
public R contractAmountAnalysisBySpcBus(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("supply_attribute");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("渚涘簲灞炴�у瓧鍏稿垎绫昏幏鍙栧紓甯�");
}
List<Long> compIds = new ArrayList<>();
@@ -283,7 +284,7 @@
public R contractAmountAnalysisByExportBus(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("export_attr");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("鍖哄煙瀛楁鑾峰彇寮傚父");
}
List<Long> compIds = new ArrayList<>();
@@ -324,7 +325,7 @@
public R contractAmountAnalysisBySaleModel(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("sales_model");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("閿�鍞ā寮忓瓧鍏稿垎绫昏幏鍙栧紓甯�");
}
List<Long> compIds = new ArrayList<>();
@@ -365,30 +366,40 @@
public R agingAnalysisByArea(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("company_area");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("鍦板尯瀛楀吀鍒嗙被鑾峰彇寮傚父");
}
// List<AgingCompanyVo> companys = contractPaymentScheduleMapper.selectAgingCompany(DataScope.of("comp_id"));
-// if (ArrayUtil.isEmpty(companys.toArray())){
+// if (CollUtil.isEmpty(companys)){
// return R.failed("鏆傛棤璐﹂緞");
// }
+ List<Long> compIds = new ArrayList<>();
+ compIds.add(Long.valueOf(sgb));
+ compIds.add(Long.valueOf(smj));
+ compIds.add(Long.valueOf(tfgs));
+ compIds.add(Long.valueOf(ymj));
+ compIds.add(Long.valueOf(jxc));
+
List<AgingAnalysisVo> result = new ArrayList<>();
AgingQueryDTO queryDTO = new AgingQueryDTO();
- List<AgingVo> agingVoList = contractPaymentScheduleMapper.selectAgingTotal(null);
+ if (CollUtil.contains(compIds,SecurityUtils.getUser().getCompId())){
+ queryDTO.setCompanyId(SecurityUtils.getUser().getCompId());
+ }
+ List<AgingVo> agingVoList = contractPaymentScheduleMapper.selectAgingTotal(queryDTO);
items.stream().forEach(item->{
AgingAnalysisVo agingAnalysisVo = new AgingAnalysisVo();
agingAnalysisVo.setCompanyName(item.getLabel());
queryDTO.setAreaId(item.getItemValue());
List<AgingVo> companyAgingVo = contractPaymentScheduleMapper.selectAgingTotal(queryDTO);
//琛ュ叏鏁版嵁
- if (ArrayUtil.isEmpty(companyAgingVo.toArray())){
+ if (CollUtil.isEmpty(companyAgingVo)){
companyAgingVo = new ArrayList<>();
- AgingVo agingVo1 = new AgingVo("0-30澶�",new BigDecimal("0"),null);
- AgingVo agingVo2 = new AgingVo("31-60澶�",new BigDecimal("0"),null);
- AgingVo agingVo3 = new AgingVo("61-90澶�",new BigDecimal("0"),null);
- AgingVo agingVo4 = new AgingVo("91-180澶�",new BigDecimal("0"),null);
- AgingVo agingVo5 = new AgingVo("181-365澶�",new BigDecimal("0"),null);
- AgingVo agingVo6 = new AgingVo("1骞翠互涓�",new BigDecimal("0"),null);
+ AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
+ AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
+ AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
+ AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
+ AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
+ AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo1);
companyAgingVo.add(agingVo2);
companyAgingVo.add(agingVo3);
@@ -397,31 +408,32 @@
companyAgingVo.add(agingVo6);
}else {
List<String> overdueRanges = companyAgingVo.stream().map(AgingVo::getOverdueRange).collect(Collectors.toList());
- if (!ArrayUtil.contains(overdueRanges.toArray(),"0-30澶�")){
- AgingVo agingVo1 = new AgingVo("0-30澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"0-30澶�")){
+ AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo1);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"31-60澶�")){
- AgingVo agingVo2 = new AgingVo("31-60澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"31-60澶�")){
+ AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo2);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"61-90澶�")){
- AgingVo agingVo3 = new AgingVo("61-90澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"61-90澶�")){
+ AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo3);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"91-180澶�")){
- AgingVo agingVo4 = new AgingVo("91-180澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"91-180澶�")){
+ AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo4);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"181-365澶�")){
- AgingVo agingVo5 = new AgingVo("181-365澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"181-365澶�")){
+ AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo5);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"1骞翠互涓�")){
- AgingVo agingVo6 = new AgingVo("1骞翠互涓�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"1骞翠互涓�")){
+ AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo6);
}
}
+ companyAgingVo.sort(Comparator.comparing(AgingVo::getSort));
agingAnalysisVo.setAmount(companyAgingVo.stream().map(AgingVo::getTotalAmount).collect(Collectors.toList()));
List<AgingVo> finalCompanyAgingVo = companyAgingVo;
agingAnalysisVo.setPercent(IntStream.range(0, agingVoList.size())
@@ -461,26 +473,36 @@
public R agingAnalysisByIndustry(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("industry_sector");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("琛屼笟瀛楀吀鍒嗙被鑾峰彇寮傚父");
}
+ List<Long> compIds = new ArrayList<>();
+ compIds.add(Long.valueOf(sgb));
+ compIds.add(Long.valueOf(smj));
+ compIds.add(Long.valueOf(tfgs));
+ compIds.add(Long.valueOf(ymj));
+ compIds.add(Long.valueOf(jxc));
+
List<AgingAnalysisVo> result = new ArrayList<>();
AgingQueryDTO queryDTO = new AgingQueryDTO();
- List<AgingVo> agingVoList = contractPaymentScheduleMapper.selectAgingTotal(null);
+ if (CollUtil.contains(compIds,SecurityUtils.getUser().getCompId())){
+ queryDTO.setCompanyId(SecurityUtils.getUser().getCompId());
+ }
+ List<AgingVo> agingVoList = contractPaymentScheduleMapper.selectAgingTotal(queryDTO);
items.stream().forEach(item->{
AgingAnalysisVo agingAnalysisVo = new AgingAnalysisVo();
agingAnalysisVo.setCompanyName(item.getLabel());
queryDTO.setIndustryId(item.getItemValue());
List<AgingVo> companyAgingVo = contractPaymentScheduleMapper.selectAgingTotal(queryDTO);
//琛ュ叏鏁版嵁
- if (ArrayUtil.isEmpty(companyAgingVo.toArray())){
+ if (CollUtil.isEmpty(companyAgingVo)){
companyAgingVo = new ArrayList<>();
- AgingVo agingVo1 = new AgingVo("0-30澶�",new BigDecimal("0"),null);
- AgingVo agingVo2 = new AgingVo("31-60澶�",new BigDecimal("0"),null);
- AgingVo agingVo3 = new AgingVo("61-90澶�",new BigDecimal("0"),null);
- AgingVo agingVo4 = new AgingVo("91-180澶�",new BigDecimal("0"),null);
- AgingVo agingVo5 = new AgingVo("181-365澶�",new BigDecimal("0"),null);
- AgingVo agingVo6 = new AgingVo("1骞翠互涓�",new BigDecimal("0"),null);
+ AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
+ AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
+ AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
+ AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
+ AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
+ AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo1);
companyAgingVo.add(agingVo2);
companyAgingVo.add(agingVo3);
@@ -489,31 +511,32 @@
companyAgingVo.add(agingVo6);
}else {
List<String> overdueRanges = companyAgingVo.stream().map(AgingVo::getOverdueRange).collect(Collectors.toList());
- if (!ArrayUtil.contains(overdueRanges.toArray(),"0-30澶�")){
- AgingVo agingVo1 = new AgingVo("0-30澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"0-30澶�")){
+ AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo1);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"31-60澶�")){
- AgingVo agingVo2 = new AgingVo("31-60澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"31-60澶�")){
+ AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo2);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"61-90澶�")){
- AgingVo agingVo3 = new AgingVo("61-90澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"61-90澶�")){
+ AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo3);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"91-180澶�")){
- AgingVo agingVo4 = new AgingVo("91-180澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"91-180澶�")){
+ AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo4);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"181-365澶�")){
- AgingVo agingVo5 = new AgingVo("181-365澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"181-365澶�")){
+ AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo5);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"1骞翠互涓�")){
- AgingVo agingVo6 = new AgingVo("1骞翠互涓�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"1骞翠互涓�")){
+ AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo6);
}
}
+ companyAgingVo.sort(Comparator.comparing(AgingVo::getSort));
agingAnalysisVo.setAmount(companyAgingVo.stream().map(AgingVo::getTotalAmount).collect(Collectors.toList()));
List<AgingVo> finalCompanyAgingVo = companyAgingVo;
agingAnalysisVo.setPercent(IntStream.range(0, agingVoList.size())
@@ -552,34 +575,74 @@
@Override
public R agingAnalysis(AnalysisCommonDTO commonDTO) {
if (commonDTO.getAgingType().equals("2")) {
- AgingQueryDTO queryDTO = new AgingQueryDTO();
- List<AgingCompanyVo> companys = contractPaymentScheduleMapper.selectAgingCompanyShip(DataScope.of("comp_id"));
-
- if (ArrayUtil.isEmpty(companys.toArray())) {
- return R.failed("鏆傛棤璐﹂緞");
- }
- //鍚堣鏁版嵁
- List<AgingVo> agingVoList = contractPaymentScheduleMapper.selectAgingTotalShip(queryDTO);
- agingVoList = completeData(agingVoList);
- List<AgingVo> finalAgingVoList = agingVoList;
+ List<Long> compIds = new ArrayList<>();
+ compIds.add(Long.valueOf(sgb));
+ compIds.add(Long.valueOf(smj));
+ compIds.add(Long.valueOf(tfgs));
+ compIds.add(Long.valueOf(ymj));
+ compIds.add(Long.valueOf(jxc));
List<AgingAnalysisVo> result = new ArrayList<>();
-
- companys.stream().forEach(company -> {
- BusinessCustomer businessCustomer = businessCustomerMapper.selectById(company.getCompanyId());
+ AgingQueryDTO queryDTO = new AgingQueryDTO();
+ List<AgingVo> agingVoList = contractPaymentScheduleMapper.selectAgingTotalShip(null);
+ compIds.stream().forEach(compId->{
+ R<SysDept> r = remoteDeptService.getById(compId);
+ if (!r.isOk()){
+ return;
+ }
+ SysDept dept = r.getData();
AgingAnalysisVo agingAnalysisVo = new AgingAnalysisVo();
- agingAnalysisVo.setCompanyName(businessCustomer.getCompanyName());
- queryDTO.setCompanyId(company.getCompanyId());
+ agingAnalysisVo.setCompanyName(dept.getOrgName());
+ queryDTO.setCompanyId(dept.getDeptId());
List<AgingVo> companyAgingVo = contractPaymentScheduleMapper.selectAgingTotalShip(queryDTO);
//琛ュ叏鏁版嵁
- companyAgingVo = completeData(companyAgingVo);
-
+ if (CollUtil.isEmpty(companyAgingVo)){
+ companyAgingVo = new ArrayList<>();
+ AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
+ AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
+ AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
+ AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
+ AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
+ AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
+ companyAgingVo.add(agingVo1);
+ companyAgingVo.add(agingVo2);
+ companyAgingVo.add(agingVo3);
+ companyAgingVo.add(agingVo4);
+ companyAgingVo.add(agingVo5);
+ companyAgingVo.add(agingVo6);
+ }else {
+ List<String> overdueRanges = companyAgingVo.stream().map(AgingVo::getOverdueRange).collect(Collectors.toList());
+ if (!CollUtil.contains(overdueRanges,"0-30澶�")){
+ AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
+ companyAgingVo.add(agingVo1);
+ }
+ if (!CollUtil.contains(overdueRanges,"31-60澶�")){
+ AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
+ companyAgingVo.add(agingVo2);
+ }
+ if (!CollUtil.contains(overdueRanges,"61-90澶�")){
+ AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
+ companyAgingVo.add(agingVo3);
+ }
+ if (!CollUtil.contains(overdueRanges,"91-180澶�")){
+ AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
+ companyAgingVo.add(agingVo4);
+ }
+ if (!CollUtil.contains(overdueRanges,"181-365澶�")){
+ AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
+ companyAgingVo.add(agingVo5);
+ }
+ if (!CollUtil.contains(overdueRanges,"1骞翠互涓�")){
+ AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
+ companyAgingVo.add(agingVo6);
+ }
+ }
+ companyAgingVo.sort(Comparator.comparing(AgingVo::getSort));
agingAnalysisVo.setAmount(companyAgingVo.stream().map(AgingVo::getTotalAmount).collect(Collectors.toList()));
List<AgingVo> finalCompanyAgingVo = companyAgingVo;
-
- agingAnalysisVo.setPercent(IntStream.range(0, finalAgingVoList.size())
+ agingAnalysisVo.setPercent(IntStream.range(0, agingVoList.size())
.mapToObj(i -> {
BigDecimal part = finalCompanyAgingVo.get(i).getTotalAmount();
- BigDecimal total = finalAgingVoList.get(i).getTotalAmount();
+ BigDecimal total = agingVoList.get(i).getTotalAmount();
if (total == null || total.compareTo(BigDecimal.ZERO) == 0) {
return null;
}
@@ -599,7 +662,7 @@
if (agingAnalysisVo.getAmount().get(i) == null || agingAnalysisVo.getAmount().get(i).compareTo(BigDecimal.ZERO) == 0) {
return null;
- } else {
+ }else {
return new BigDecimal("100");
}
})
@@ -609,33 +672,74 @@
return R.ok(result);
}
if (commonDTO.getAgingType().equals("3")) {
- AgingQueryDTO queryDTO = new AgingQueryDTO();
- List<AgingCompanyVo> companys = contractPaymentScheduleMapper.selectAgingCompanyInvoice(DataScope.of("comp_id"));
- if (ArrayUtil.isEmpty(companys.toArray())) {
- return R.failed("鏆傛棤璐﹂緞");
- }
- //鍚堣鏁版嵁
- List<AgingVo> agingVoList = contractPaymentScheduleMapper.selectAgingTotalInvoice(queryDTO);
- agingVoList = completeData(agingVoList);
- List<AgingVo> finalAgingVoList = agingVoList;
+ List<Long> compIds = new ArrayList<>();
+ compIds.add(Long.valueOf(sgb));
+ compIds.add(Long.valueOf(smj));
+ compIds.add(Long.valueOf(tfgs));
+ compIds.add(Long.valueOf(ymj));
+ compIds.add(Long.valueOf(jxc));
List<AgingAnalysisVo> result = new ArrayList<>();
-
- companys.stream().forEach(company -> {
- BusinessCustomer businessCustomer = businessCustomerMapper.selectById(company.getCompanyId());
+ AgingQueryDTO queryDTO = new AgingQueryDTO();
+ List<AgingVo> agingVoList = contractPaymentScheduleMapper.selectAgingTotalInvoice(null);
+ compIds.stream().forEach(compId->{
+ R<SysDept> r = remoteDeptService.getById(compId);
+ if (!r.isOk()){
+ return;
+ }
+ SysDept dept = r.getData();
AgingAnalysisVo agingAnalysisVo = new AgingAnalysisVo();
- agingAnalysisVo.setCompanyName(businessCustomer.getCompanyName());
- queryDTO.setCompanyId(company.getCompanyId());
+ agingAnalysisVo.setCompanyName(dept.getOrgName());
+ queryDTO.setCompanyId(dept.getDeptId());
List<AgingVo> companyAgingVo = contractPaymentScheduleMapper.selectAgingTotalInvoice(queryDTO);
//琛ュ叏鏁版嵁
- companyAgingVo = completeData(companyAgingVo);
-
+ if (CollUtil.isEmpty(companyAgingVo)){
+ companyAgingVo = new ArrayList<>();
+ AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
+ AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
+ AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
+ AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
+ AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
+ AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
+ companyAgingVo.add(agingVo1);
+ companyAgingVo.add(agingVo2);
+ companyAgingVo.add(agingVo3);
+ companyAgingVo.add(agingVo4);
+ companyAgingVo.add(agingVo5);
+ companyAgingVo.add(agingVo6);
+ }else {
+ List<String> overdueRanges = companyAgingVo.stream().map(AgingVo::getOverdueRange).collect(Collectors.toList());
+ if (!CollUtil.contains(overdueRanges,"0-30澶�")){
+ AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
+ companyAgingVo.add(agingVo1);
+ }
+ if (!CollUtil.contains(overdueRanges,"31-60澶�")){
+ AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
+ companyAgingVo.add(agingVo2);
+ }
+ if (!CollUtil.contains(overdueRanges,"61-90澶�")){
+ AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
+ companyAgingVo.add(agingVo3);
+ }
+ if (!CollUtil.contains(overdueRanges,"91-180澶�")){
+ AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
+ companyAgingVo.add(agingVo4);
+ }
+ if (!CollUtil.contains(overdueRanges,"181-365澶�")){
+ AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
+ companyAgingVo.add(agingVo5);
+ }
+ if (!CollUtil.contains(overdueRanges,"1骞翠互涓�")){
+ AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
+ companyAgingVo.add(agingVo6);
+ }
+ }
+ companyAgingVo.sort(Comparator.comparing(AgingVo::getSort));
agingAnalysisVo.setAmount(companyAgingVo.stream().map(AgingVo::getTotalAmount).collect(Collectors.toList()));
List<AgingVo> finalCompanyAgingVo = companyAgingVo;
-
- agingAnalysisVo.setPercent(IntStream.range(0, finalAgingVoList.size())
+ agingAnalysisVo.setPercent(IntStream.range(0, agingVoList.size())
.mapToObj(i -> {
BigDecimal part = finalCompanyAgingVo.get(i).getTotalAmount();
- BigDecimal total = finalAgingVoList.get(i).getTotalAmount();
+ BigDecimal total = agingVoList.get(i).getTotalAmount();
if (total == null || total.compareTo(BigDecimal.ZERO) == 0) {
return null;
}
@@ -655,7 +759,7 @@
if (agingAnalysisVo.getAmount().get(i) == null || agingAnalysisVo.getAmount().get(i).compareTo(BigDecimal.ZERO) == 0) {
return null;
- } else {
+ }else {
return new BigDecimal("100");
}
})
@@ -667,56 +771,11 @@
return R.ok();
}
- private List<AgingVo> completeData(List<AgingVo> companyAgingVo) {
- if (ArrayUtil.isEmpty(companyAgingVo.toArray())) {
- companyAgingVo = new ArrayList<>();
- AgingVo agingVo1 = new AgingVo("0-30澶�", new BigDecimal("0"), null);
- AgingVo agingVo2 = new AgingVo("31-60澶�", new BigDecimal("0"), null);
- AgingVo agingVo3 = new AgingVo("61-90澶�", new BigDecimal("0"), null);
- AgingVo agingVo4 = new AgingVo("91-180澶�", new BigDecimal("0"), null);
- AgingVo agingVo5 = new AgingVo("181-365澶�", new BigDecimal("0"), null);
- AgingVo agingVo6 = new AgingVo("1骞翠互涓�", new BigDecimal("0"), null);
- companyAgingVo.add(agingVo1);
- companyAgingVo.add(agingVo2);
- companyAgingVo.add(agingVo3);
- companyAgingVo.add(agingVo4);
- companyAgingVo.add(agingVo5);
- companyAgingVo.add(agingVo6);
- } else {
- List<String> overdueRanges = companyAgingVo.stream().map(AgingVo::getOverdueRange).collect(Collectors.toList());
- if (!ArrayUtil.contains(overdueRanges.toArray(), "0-30澶�")) {
- AgingVo agingVo1 = new AgingVo("0-30澶�", new BigDecimal("0"), null);
- companyAgingVo.add(agingVo1);
- }
- if (!ArrayUtil.contains(overdueRanges.toArray(), "31-60澶�")) {
- AgingVo agingVo2 = new AgingVo("31-60澶�", new BigDecimal("0"), null);
- companyAgingVo.add(agingVo2);
- }
- if (!ArrayUtil.contains(overdueRanges.toArray(), "61-90澶�")) {
- AgingVo agingVo3 = new AgingVo("61-90澶�", new BigDecimal("0"), null);
- companyAgingVo.add(agingVo3);
- }
- if (!ArrayUtil.contains(overdueRanges.toArray(), "91-180澶�")) {
- AgingVo agingVo4 = new AgingVo("91-180澶�", new BigDecimal("0"), null);
- companyAgingVo.add(agingVo4);
- }
- if (!ArrayUtil.contains(overdueRanges.toArray(), "181-365澶�")) {
- AgingVo agingVo5 = new AgingVo("181-365澶�", new BigDecimal("0"), null);
- companyAgingVo.add(agingVo5);
- }
- if (!ArrayUtil.contains(overdueRanges.toArray(), "1骞翠互涓�")) {
- AgingVo agingVo6 = new AgingVo("1骞翠互涓�", new BigDecimal("0"), null);
- companyAgingVo.add(agingVo6);
- }
- }
- return companyAgingVo;
- }
-
@Override
public R agingAnalysisByMarket(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("market_type");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("甯傚満绫诲瀷瀛楀吀鍒嗙被鑾峰彇寮傚父");
}
List<AgingAnalysisVo> result = new ArrayList<>();
@@ -728,14 +787,14 @@
queryDTO.setClassId(item.getItemValue());
List<AgingVo> companyAgingVo = contractPaymentScheduleMapper.selectAgingTotal(queryDTO);
//琛ュ叏鏁版嵁
- if (ArrayUtil.isEmpty(companyAgingVo.toArray())){
+ if (CollUtil.isEmpty(companyAgingVo)){
companyAgingVo = new ArrayList<>();
- AgingVo agingVo1 = new AgingVo("0-30澶�",new BigDecimal("0"),null);
- AgingVo agingVo2 = new AgingVo("31-60澶�",new BigDecimal("0"),null);
- AgingVo agingVo3 = new AgingVo("61-90澶�",new BigDecimal("0"),null);
- AgingVo agingVo4 = new AgingVo("91-180澶�",new BigDecimal("0"),null);
- AgingVo agingVo5 = new AgingVo("181-365澶�",new BigDecimal("0"),null);
- AgingVo agingVo6 = new AgingVo("1骞翠互涓�",new BigDecimal("0"),null);
+ AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
+ AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
+ AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
+ AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
+ AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
+ AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo1);
companyAgingVo.add(agingVo2);
companyAgingVo.add(agingVo3);
@@ -744,31 +803,32 @@
companyAgingVo.add(agingVo6);
}else {
List<String> overdueRanges = companyAgingVo.stream().map(AgingVo::getOverdueRange).collect(Collectors.toList());
- if (!ArrayUtil.contains(overdueRanges.toArray(),"0-30澶�")){
- AgingVo agingVo1 = new AgingVo("0-30澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"0-30澶�")){
+ AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo1);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"31-60澶�")){
- AgingVo agingVo2 = new AgingVo("31-60澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"31-60澶�")){
+ AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo2);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"61-90澶�")){
- AgingVo agingVo3 = new AgingVo("61-90澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"61-90澶�")){
+ AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo3);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"91-180澶�")){
- AgingVo agingVo4 = new AgingVo("91-180澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"91-180澶�")){
+ AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo4);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"181-365澶�")){
- AgingVo agingVo5 = new AgingVo("181-365澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"181-365澶�")){
+ AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo5);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"1骞翠互涓�")){
- AgingVo agingVo6 = new AgingVo("1骞翠互涓�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"1骞翠互涓�")){
+ AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo6);
}
}
+ companyAgingVo.sort(Comparator.comparing(AgingVo::getSort));
agingAnalysisVo.setAmount(companyAgingVo.stream().map(AgingVo::getTotalAmount).collect(Collectors.toList()));
List<AgingVo> finalCompanyAgingVo = companyAgingVo;
agingAnalysisVo.setPercent(IntStream.range(0, agingVoList.size())
@@ -826,14 +886,14 @@
queryDTO.setCompanyId(dept.getDeptId());
List<AgingVo> companyAgingVo = contractPaymentScheduleMapper.selectAgingTotalScale(queryDTO);
//琛ュ叏鏁版嵁
- if (ArrayUtil.isEmpty(companyAgingVo.toArray())){
+ if (CollUtil.isEmpty(companyAgingVo)){
companyAgingVo = new ArrayList<>();
- AgingVo agingVo1 = new AgingVo("0-30澶�",new BigDecimal("0"),null);
- AgingVo agingVo2 = new AgingVo("31-60澶�",new BigDecimal("0"),null);
- AgingVo agingVo3 = new AgingVo("61-90澶�",new BigDecimal("0"),null);
- AgingVo agingVo4 = new AgingVo("91-180澶�",new BigDecimal("0"),null);
- AgingVo agingVo5 = new AgingVo("181-365澶�",new BigDecimal("0"),null);
- AgingVo agingVo6 = new AgingVo("1骞翠互涓�",new BigDecimal("0"),null);
+ AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
+ AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
+ AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
+ AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
+ AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
+ AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo1);
companyAgingVo.add(agingVo2);
companyAgingVo.add(agingVo3);
@@ -842,31 +902,32 @@
companyAgingVo.add(agingVo6);
}else {
List<String> overdueRanges = companyAgingVo.stream().map(AgingVo::getOverdueRange).collect(Collectors.toList());
- if (!ArrayUtil.contains(overdueRanges.toArray(),"0-30澶�")){
- AgingVo agingVo1 = new AgingVo("0-30澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"0-30澶�")){
+ AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo1);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"31-60澶�")){
- AgingVo agingVo2 = new AgingVo("31-60澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"31-60澶�")){
+ AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo2);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"61-90澶�")){
- AgingVo agingVo3 = new AgingVo("61-90澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"61-90澶�")){
+ AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo3);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"91-180澶�")){
- AgingVo agingVo4 = new AgingVo("91-180澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"91-180澶�")){
+ AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo4);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"181-365澶�")){
- AgingVo agingVo5 = new AgingVo("181-365澶�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"181-365澶�")){
+ AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo5);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"1骞翠互涓�")){
- AgingVo agingVo6 = new AgingVo("1骞翠互涓�",new BigDecimal("0"),null);
+ if (!CollUtil.contains(overdueRanges,"1骞翠互涓�")){
+ AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo6);
}
}
+ companyAgingVo.sort(Comparator.comparing(AgingVo::getSort));
agingAnalysisVo.setAmount(companyAgingVo.stream().map(AgingVo::getTotalAmount).collect(Collectors.toList()));
List<AgingVo> finalCompanyAgingVo = companyAgingVo;
agingAnalysisVo.setPercent(IntStream.range(0, agingVoList.size())
--
Gitblit v1.9.1