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 |  328 +++++++++++++++++++++++++----------------------------
 1 files changed, 155 insertions(+), 173 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 93c519e..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())
@@ -572,14 +595,14 @@
 				queryDTO.setCompanyId(dept.getDeptId());
 				List<AgingVo> companyAgingVo = contractPaymentScheduleMapper.selectAgingTotalShip(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);
@@ -588,31 +611,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())
@@ -668,14 +692,14 @@
 				queryDTO.setCompanyId(dept.getDeptId());
 				List<AgingVo> companyAgingVo = contractPaymentScheduleMapper.selectAgingTotalInvoice(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);
@@ -684,31 +708,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())
@@ -746,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<>();
@@ -807,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);
@@ -823,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())
@@ -905,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);
@@ -921,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