From eec76a412e064f59ac6ccb44237e0d4e3e53f087 Mon Sep 17 00:00:00 2001
From: gjh <1421wake>
Date: Mon, 19 May 2025 16:38:58 +0800
Subject: [PATCH] =?UTF-8?q?=E7=8E=B0=E7=94=A8=E6=88=B7=E6=89=80=E8=A7=81?=
=?UTF-8?q?=E7=9A=84=E8=B5=84=E9=87=91=E6=94=AF=E4=BB=98=E6=83=85=E5=86=B5?=
=?UTF-8?q?=E4=B8=8E=E4=B8=AD=E5=A4=AE=E8=B5=84=E9=87=91=E6=94=AF=E4=BB=98?=
=?UTF-8?q?=E9=9C=80=E6=B1=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../dao/mapping/HuzhouContractinfoMapper.xml | 4 +-
.../impl/HuzhouProjectinfoServiceImpl.java | 44 +++++++++++++++----
2 files changed, 38 insertions(+), 10 deletions(-)
diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouContractinfoMapper.xml b/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouContractinfoMapper.xml
index 334da1b..cd79116 100644
--- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouContractinfoMapper.xml
+++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/dao/mapping/HuzhouContractinfoMapper.xml
@@ -264,7 +264,7 @@
#{projectId}
- and b.isfinish = "2"
+ and b.isfinish = "2" and a.flag = '实际'
diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java
index 2b963cb..1d51447 100644
--- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java
+++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java
@@ -126,6 +126,8 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl totalMap = contractinfoMapper.getTotalByProjectIds(Arrays.asList(huzhouProjectinfoOV.getId()));
- //获取已支付金额
- Map paymentsMap = contractinfoMapper.getPaymentsByProjectIds(Arrays.asList(huzhouProjectinfoOV.getId()));
- if(totalMap!=null&&paymentsMap!=null){
+ //获取:huzhou_projectinfo_money
+ HuzhouProjectinfoMoney projectinfoMoney = huzhouProjectinfoMoneyService.getById(huzhouProjectinfoOV.getId());
+ //Map paymentsMap = contractinfoMapper.getPaymentsByProjectIds(Arrays.asList(huzhouProjectinfoOV.getId()));
+ if(totalMap!=null&&projectinfoMoney!=null){
BigDecimal totalAcount = totalMap.get("totalAcount");
BigDecimal totalcentralAcount = totalMap.get("centralAcount");
- BigDecimal totalPayment = paymentsMap.get("totalPayment");
- BigDecimal centralPayment = paymentsMap.get("centralPayment");
- projectContactShouYeOV.setProjectFundPaymentProgress(totalPayment.divide(totalAcount, 4, BigDecimal.ROUND_HALF_UP).toString());
- projectContactShouYeOV.setCentralFundPaymentSituation(centralPayment.divide(totalcentralAcount, 4, BigDecimal.ROUND_HALF_UP).toString());
+// BigDecimal totalPayment = paymentsMap.get("totalPayment");
+// BigDecimal centralPayment = paymentsMap.get("centralPayment");
+ Double contractTotalMoney = projectinfoMoney.getContractTotalMoney();
+ Double contractCentralMoney = projectinfoMoney.getContractCentralMoney();
+ BigDecimal totalPayment = (contractTotalMoney != null) ? new BigDecimal(contractTotalMoney.toString()) : BigDecimal.ZERO;
+ BigDecimal centralPayment = (contractCentralMoney != null) ? new BigDecimal(contractCentralMoney.toString()) : BigDecimal.ZERO;
+ // 默认值
+ String projectFundPaymentProgress = "0";
+ String centralFundPaymentSituation = "0";
+
+ // 判断除数是否为 0,再进行除法
+ if (totalAcount != null && totalAcount.compareTo(BigDecimal.ZERO) != 0) {
+ projectFundPaymentProgress = totalAcount
+ .divide(totalPayment, 4, BigDecimal.ROUND_HALF_UP)
+ .multiply(new BigDecimal("100")) // ✅ 乘以 100
+ .setScale(0, BigDecimal.ROUND_HALF_UP) // ✅ 四舍五入取整
+ .toString();
+ }
+
+ if (totalcentralAcount != null && totalcentralAcount.compareTo(BigDecimal.ZERO) != 0) {
+ centralFundPaymentSituation = totalcentralAcount
+ .divide(centralPayment, 4, BigDecimal.ROUND_HALF_UP)
+ .multiply(new BigDecimal("100")) // ✅ 乘以 100
+ .setScale(0, BigDecimal.ROUND_HALF_UP) // ✅ 四舍五入取整
+ .toString();
+ }
+
+ projectContactShouYeOV.setProjectFundPaymentProgress(projectFundPaymentProgress);
+ projectContactShouYeOV.setCentralFundPaymentSituation(centralFundPaymentSituation);
projectContactShouYeOVS.add(projectContactShouYeOV);
}else{
projectContactShouYeOV.setProjectFundPaymentProgress("0");