From fdfe6d221030d9e6f19cca3fdad7fb88815e78af Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期二, 10 三月 2026 16:37:13 +0800
Subject: [PATCH] fix(service): 修复异步查询未全部等待完成问题

---
 src/main/java/com/ruoyi/projectManagement/service/impl/InfoServiceImpl.java |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/ruoyi/projectManagement/service/impl/InfoServiceImpl.java b/src/main/java/com/ruoyi/projectManagement/service/impl/InfoServiceImpl.java
index 2c21be4..85d1e88 100644
--- a/src/main/java/com/ruoyi/projectManagement/service/impl/InfoServiceImpl.java
+++ b/src/main/java/com/ruoyi/projectManagement/service/impl/InfoServiceImpl.java
@@ -24,6 +24,7 @@
 import lombok.SneakyThrows;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.Assert;
 
 import java.util.List;
 import java.util.concurrent.CompletableFuture;
@@ -103,24 +104,27 @@
         CompletableFuture<SaveInfoDto> infoFuture = CompletableFuture.supplyAsync(() -> infoHandleService.getInfoById(id));
         CompletableFuture<ContractInfoDto> contractFuture = CompletableFuture.supplyAsync(() -> contractInfoHandleService.getByInfoId(id));
         CompletableFuture<ShippingAddressDto> shippingFuture = CompletableFuture.supplyAsync(() -> shippingAddressHandleService.getByInfoId(id));
+        // 鍟嗗搧
         CompletableFuture<List<SalesLedgerProduct>> listCompletableFuture = CompletableFuture.supplyAsync(() -> salesLedgerService.getSalesLedgerProductListByRelateId(id,SaleEnum.MANAGEMENT));
 
-        // 鍟嗗搧
+        // 涓嬬骇椤圭洰淇℃伅
+        CompletableFuture<List<SaveInfoDto>> subordinateInfoListFuture = CompletableFuture.supplyAsync(() -> infoHandleService.getSubordinateInfo(id));
+
 
         // 绛夊緟鎵�鏈夊紓姝ュ畬鎴�
-        CompletableFuture.allOf(infoFuture, contractFuture, shippingFuture).join();
+        CompletableFuture.allOf(infoFuture, contractFuture, shippingFuture,listCompletableFuture,subordinateInfoListFuture).join();
 
         SaveInfoDto info = infoFuture.get();
         ContractInfoDto contract = contractFuture.get();
         ShippingAddressDto shippingAddress = shippingFuture.get();
         List<SalesLedgerProduct> salesLedgerProductList = listCompletableFuture.get();
-
+        List<SaveInfoDto> saveInfoDtos = subordinateInfoListFuture.get();
         InfoVo vo = new InfoVo();
         vo.setInfo(info);
         vo.setContractInfo(contract);
         vo.setShippingAddress(shippingAddress);
         vo.setSalesLedgerProductList(salesLedgerProductList);
-
+        vo.setSubordinateInfoList(saveInfoDtos);
         return vo;
     }
 

--
Gitblit v1.9.3