From e02812df9217d3e50a368a8234c07c60c64c0ff4 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期三, 05 八月 2026 08:34:26 +0800
Subject: [PATCH] feat:新增石煤机 机械厂模版合同/客户数据主数据同步接口/合同履约进度新增质保结束操作/合同开票状态 修改为待开 可开 已开/出库逻辑完善
---
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/StatisticServiceImpl.java | 161 ++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 120 insertions(+), 41 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..93c519e 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
@@ -552,34 +552,73 @@
@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 (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);
+ }
+ }
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 +638,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 +648,73 @@
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 (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);
+ }
+ }
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 +734,7 @@
if (agingAnalysisVo.getAmount().get(i) == null || agingAnalysisVo.getAmount().get(i).compareTo(BigDecimal.ZERO) == 0) {
return null;
- } else {
+ }else {
return new BigDecimal("100");
}
})
--
Gitblit v1.9.1