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