From bd643b964b84a0be22437c04f0eee375a9623de8 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 29 九月 2026 14:21:50 +0800
Subject: [PATCH] 天津-智科电子 1.协同办公-协同审批:采购及销售审批进入销售流程后也可预览在台账上传的附件
---
src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
index 5a4d19a..78cb8ba 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
@@ -23,6 +23,7 @@
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.procurementrecord.mapper.ReturnManagementMapper;
import com.ruoyi.procurementrecord.pojo.ReturnManagement;
+import com.ruoyi.sales.dto.CustomerDepositAmountDto;
import com.ruoyi.sales.mapper.SalesLedgerMapper;
import com.ruoyi.sales.mapper.SalesQuotationMapper;
import com.ruoyi.sales.pojo.SalesLedger;
@@ -38,6 +39,7 @@
import org.springframework.util.CollectionUtils;
import org.springframework.web.multipart.MultipartFile;
+import java.math.BigDecimal;
import java.time.ZoneId;
import java.util.*;
import java.util.stream.Collectors;
@@ -117,7 +119,37 @@
customerVo.setFollowUpList(followUpDtoList);
}
+ fillDepositAmount(Collections.singletonList(customerVo));
+
return customerVo;
+ }
+
+ /**
+ * 濉唬鍌ㄩ噾棰濓紙璇ュ鎴峰叏閮ㄣ�岀被鍨�=浠e偍銆嶇殑閿�鍞彴璐﹀悎鍚岄噾棰濈疮璁★級骞跺垽鏂槸鍚﹀凡瓒呬俊鎵樺熀閲�
+ */
+ private void fillDepositAmount(List<CustomerVo> records) {
+ if (CollectionUtils.isEmpty(records)) {
+ return;
+ }
+ List<Long> customerIds = records.stream()
+ .map(CustomerVo::getId)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toList());
+ Map<Long, BigDecimal> depositAmountMap = customerIds.isEmpty()
+ ? Collections.emptyMap()
+ : salesLedgerMapper.selectDepositAmountByCustomerIds(customerIds).stream()
+ .filter(item -> item.getCustomerId() != null)
+ .collect(Collectors.toMap(
+ CustomerDepositAmountDto::getCustomerId,
+ item -> item.getDepositTotalAmount() == null ? BigDecimal.ZERO : item.getDepositTotalAmount(),
+ (existing, replacement) -> existing));
+
+ records.forEach(customer -> {
+ BigDecimal depositTotalAmount = depositAmountMap.getOrDefault(customer.getId(), BigDecimal.ZERO);
+ customer.setDepositTotalAmount(depositTotalAmount);
+ customer.setExceedsTrustFund(customer.getTrustFund() != null
+ && depositTotalAmount.compareTo(customer.getTrustFund()) > 0);
+ });
}
/**
@@ -168,6 +200,8 @@
c.setUserIds(userIds);
}
});
+
+ fillDepositAmount(records);
}
return customerPage;
--
Gitblit v1.9.3