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");