From 7bf754a7835d06f26240c4ca15bc5f83650de377 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 21 九月 2026 20:52:25 +0800
Subject: [PATCH] docs(api): 更新信托基金与代储台账及油品出库相关接口文档
---
src/main/java/com/ruoyi/ai/tools/SalesAgentTools.java | 42 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 42 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/ai/tools/SalesAgentTools.java b/src/main/java/com/ruoyi/ai/tools/SalesAgentTools.java
index 0f7e586..10b55f9 100644
--- a/src/main/java/com/ruoyi/ai/tools/SalesAgentTools.java
+++ b/src/main/java/com/ruoyi/ai/tools/SalesAgentTools.java
@@ -14,9 +14,11 @@
import com.ruoyi.sales.mapper.SalesLedgerMapper;
import com.ruoyi.sales.mapper.SalesQuotationMapper;
import com.ruoyi.sales.mapper.ShippingInfoMapper;
+import com.ruoyi.sales.mapper.StockOutRecordSalesLedgerMapper;
import com.ruoyi.sales.pojo.SalesLedger;
import com.ruoyi.sales.pojo.SalesQuotation;
import com.ruoyi.sales.pojo.ShippingInfo;
+import com.ruoyi.sales.pojo.StockOutRecordSalesLedger;
import com.ruoyi.stock.mapper.StockOutRecordMapper;
import com.ruoyi.stock.pojo.StockOutRecord;
import dev.langchain4j.agent.tool.P;
@@ -53,6 +55,7 @@
private final ShippingInfoMapper shippingInfoMapper;
private final AccountSalesCollectionMapper accountSalesCollectionMapper;
private final StockOutRecordMapper stockOutRecordMapper;
+ private final StockOutRecordSalesLedgerMapper stockOutRecordSalesLedgerMapper;
private final AiSessionUserContext aiSessionUserContext;
public SalesAgentTools(CustomerMapper customerMapper,
@@ -61,6 +64,7 @@
ShippingInfoMapper shippingInfoMapper,
AccountSalesCollectionMapper accountSalesCollectionMapper,
StockOutRecordMapper stockOutRecordMapper,
+ StockOutRecordSalesLedgerMapper stockOutRecordSalesLedgerMapper,
AiSessionUserContext aiSessionUserContext) {
this.customerMapper = customerMapper;
this.salesLedgerMapper = salesLedgerMapper;
@@ -68,6 +72,7 @@
this.shippingInfoMapper = shippingInfoMapper;
this.accountSalesCollectionMapper = accountSalesCollectionMapper;
this.stockOutRecordMapper = stockOutRecordMapper;
+ this.stockOutRecordSalesLedgerMapper = stockOutRecordSalesLedgerMapper;
this.aiSessionUserContext = aiSessionUserContext;
}
@@ -1004,9 +1009,46 @@
result.put(entry.getKey(), ledgerIds);
}
}
+ mergeOilOutBindingLedgerIds(collections, result);
return result;
}
+ /**
+ * 娌瑰搧鍑哄簱鐨勬敹娆惧崟涓嶅瓨鍑哄簱鍗� id锛屽瓨鐨勬槸缁戝畾琛� id锛堜竴涓嚭搴撳崟鍙兘鎸夊鎴锋媶缁欏涓彴璐︼級銆�
+ * 缁戝畾琛屼笂鐩存帴甯� sales_ledger_id锛屼笉闇�瑕佸啀缁� shipping_info 涓浆銆�
+ */
+ private void mergeOilOutBindingLedgerIds(List<AccountSalesCollection> collections, Map<Integer, Set<Long>> result) {
+ Map<Integer, List<Long>> bindingIdsByCollection = new HashMap<>();
+ Set<Long> allBindingIds = new HashSet<>();
+ for (AccountSalesCollection collection : collections) {
+ if (collection.getId() == null) {
+ continue;
+ }
+ List<Long> bindingIds = parseLongIds(collection.getStockOutBindingIds());
+ if (bindingIds.isEmpty()) {
+ continue;
+ }
+ bindingIdsByCollection.put(collection.getId(), bindingIds);
+ allBindingIds.addAll(bindingIds);
+ }
+ if (allBindingIds.isEmpty()) {
+ return;
+ }
+ Map<Long, Long> ledgerIdByBindingId = defaultList(stockOutRecordSalesLedgerMapper.selectByIds(allBindingIds)).stream()
+ .filter(item -> item.getId() != null && item.getSalesLedgerId() != null)
+ .collect(Collectors.toMap(StockOutRecordSalesLedger::getId, StockOutRecordSalesLedger::getSalesLedgerId, (a, b) -> a));
+
+ for (Map.Entry<Integer, List<Long>> entry : bindingIdsByCollection.entrySet()) {
+ Set<Long> ledgerIds = result.computeIfAbsent(entry.getKey(), key -> new LinkedHashSet<>());
+ for (Long bindingId : entry.getValue()) {
+ Long ledgerId = ledgerIdByBindingId.get(bindingId);
+ if (ledgerId != null) {
+ ledgerIds.add(ledgerId);
+ }
+ }
+ }
+ }
+
private boolean isSalesOutboundRecord(StockOutRecord stockOutRecord) {
if (stockOutRecord == null || !StringUtils.hasText(stockOutRecord.getRecordType())) {
return false;
--
Gitblit v1.9.3