Index: ff-cloud/ff-settlement/src/main/java/com/freshport/freight/settlement/service/PfNotionalPoolingCoreService.java
===================================================================
--- ff-cloud/ff-settlement/src/main/java/com/freshport/freight/settlement/service/PfNotionalPoolingCoreService.java	(revision 34160)
+++ ff-cloud/ff-settlement/src/main/java/com/freshport/freight/settlement/service/PfNotionalPoolingCoreService.java	(revision 34161)
@@ -98,6 +98,7 @@
 import com.freshport.freight.settlement.utils.pffactory.AnalysisSettlementDataFactory;
 import com.freshport.freight.settlement.utils.pffactory.base.AnalysisJsonToEntity;
 import com.freshport.freight.settlement.utils.threadpool.SettlementMainCallable;
+import com.freshport.freight.settlement.utils.threadpool.ThreadPoolBuninessInfo;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 
@@ -3057,49 +3058,9 @@
                 ywbhList.add(vo.getBusinessNo());
                 npIds.add(vo.getNpId());
             }
+            // 多线程补充查询业务字段
+            handleThreadInfo(param, list, ywbhList, npIds);
 
-            // CountDownLatch count = new CountDownLatch(10);
-            Map<String, Object> queryParam = new HashMap<String, Object>();
-            queryParam.put("ywbhList", ywbhList);
-            queryParam.put("npIds", npIds);
-            queryParam.put("nationalList", list);
-            queryParam.put("dataSource", param.getDataSource());
-            queryParam.put("exportFlag", CommonInfo.COMMON_YES);
-            // MyThread[] threadArray = new MyThread[10];
-            // for (int i = 0; i < 10; i++) {
-            // threadArray[i] = new MyThread(notionalPoolingService, count,
-            // queryParam, list, i + "");
-            // threadArray[i].start();
-            // }
-            // try {
-            // count.await();
-            // } catch (InterruptedException e) {
-            // e.printStackTrace();
-            // }
-            // 使用线程池替换原有方式
-            List<Future<String>> futureList = new ArrayList<>();
-            for (int i = 0; i < 10; i++) {
-                try {
-                    Callable<String> myCallable = new SettlementMainCallable(notionalPoolingService, list, queryParam,
-                            String.valueOf(i));
-                    // 提交任务到线程池
-                    Future<String> future = threadPoolExecutor.submit(myCallable);
-                    // 将返回值 future 添加到 list，我们可以通过 future 获得 执行 Callable 得到的返回值
-                    futureList.add(future);
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-            }
-            // 等待所有线程返回
-            for (Future<String> fut : futureList) {
-                try {
-                    // 获取任务时，添加超时时间， 如果超时则释放线程， 防止线程阻塞耗尽。
-                    System.out.println("-------> " + fut.get(60, TimeUnit.SECONDS));
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-            }
-
             for (CostAccumulationVo vo : list) {
                 BigDecimal rec = CommonUtils.isEmpty(vo.getReceiveMoney()) ? BigDecimal.valueOf(0)
                         : vo.getReceiveMoney();
@@ -3176,6 +3137,101 @@
         return tableData;
     }
 
+    /**
+     * handleThreadInfo(将需要查询的字段放到线程池处理)  
+     * @param param
+     * @param list
+     * @param ywbhList
+     * @param npIds
+     * @return void
+     * @author wuwenjin
+     * @date 2023年5月22日 下午2:58:30  
+     * @Exception 异常对象  
+     * @version 1.0
+     */
+    private void handleThreadInfo(CostAccumulationParam param, List<CostAccumulationVo> list, List<String> ywbhList,
+            List<String> npIds) {
+        // 参数组装
+        Map<String, Object> queryParam = new HashMap<String, Object>();
+        queryParam.put("ywbhList", ywbhList);
+        queryParam.put("npIds", npIds);
+        queryParam.put("nationalList", list);
+        queryParam.put("dataSource", param.getDataSource());
+        queryParam.put("exportFlag", CommonInfo.COMMON_YES);
+
+        List<Future<String>> futureList = new ArrayList<>();
+        // 1.查询实际收货人名称拼接字符串 sgt
+        Callable<String> acutalCallable = new SettlementMainCallable(notionalPoolingService, list, queryParam,
+                ThreadPoolBuninessInfo.QUERY_SETTLEMENT_MAIN_ACTUALRECEIVER);
+        // 提交任务到线程池
+        Future<String> actualFuture = threadPoolExecutor.submit(acutalCallable);
+        // 将返回值 future 添加到 list，我们可以通过 future 获得 执行 Callable 得到的返回值
+        futureList.add(actualFuture);
+        // 2.查询账单拼接字符串
+        Callable<String> billNoCallable = new SettlementMainCallable(notionalPoolingService, list, queryParam,
+                ThreadPoolBuninessInfo.QUERY_SETTLEMENT_MAIN_BILLNO);
+        // 提交任务到线程池
+        Future<String> billNoFuture = threadPoolExecutor.submit(billNoCallable);
+        // 将返回值 future 添加到 list，我们可以通过 future 获得 执行 Callable 得到的返回值
+        futureList.add(billNoFuture);
+        // 3.查询堆场-sgt
+        Callable<String> yardCallable = new SettlementMainCallable(notionalPoolingService, list, queryParam,
+                ThreadPoolBuninessInfo.QUERY_SETTLEMENT_MAIN_YARD);
+        // 提交任务到线程池
+        Future<String> yardFuture = threadPoolExecutor.submit(yardCallable);
+        // 将返回值 future 添加到 list，我们可以通过 future 获得 执行 Callable 得到的返回值
+        futureList.add(yardFuture);
+        // 4. 查询物流信息 sgt
+        Callable<String> infoCallable = new SettlementMainCallable(notionalPoolingService, list, queryParam,
+                ThreadPoolBuninessInfo.QUERY_SETTLEMENT_MAIN_INFO);
+        // 提交任务到线程池
+        Future<String> infoFuture = threadPoolExecutor.submit(infoCallable);
+        // 将返回值 future 添加到 list，我们可以通过 future 获得 执行 Callable 得到的返回值
+        futureList.add(infoFuture);
+        // 5.查询派单员 sgt
+        Callable<String> dispCallable = new SettlementMainCallable(notionalPoolingService, list, queryParam,
+                ThreadPoolBuninessInfo.QUERY_SETTLEMENT_MAIN_DISPATCHER);
+        // 提交任务到线程池
+        Future<String> dispFuture = threadPoolExecutor.submit(dispCallable);
+        // 将返回值 future 添加到 list，我们可以通过 future 获得 执行 Callable 得到的返回值
+        futureList.add(dispFuture);
+        // 6.查询实付cj标记
+        Callable<String> cjCallable = new SettlementMainCallable(notionalPoolingService, list, queryParam,
+                ThreadPoolBuninessInfo.QUERY_SETTLEMENT_MAIN_CJ);
+        // 提交任务到线程池
+        Future<String> cjFuture = threadPoolExecutor.submit(cjCallable);
+        // 将返回值 future 添加到 list，我们可以通过 future 获得 执行 Callable 得到的返回值
+        futureList.add(cjFuture);
+        // 7.查询为禁用的结算人员，禁用的为空
+        Callable<String> userCallable = new SettlementMainCallable(notionalPoolingService, list, queryParam,
+                ThreadPoolBuninessInfo.QUERY_SETTLEMENT_MAIN_SETTLEMENTUSER);
+        // 提交任务到线程池
+        Future<String> userFuture = threadPoolExecutor.submit(userCallable);
+        // 将返回值 future 添加到 list，我们可以通过 future 获得 执行 Callable 得到的返回值
+        futureList.add(userFuture);
+
+        // 等待所有线程返回
+        for (Future<String> fut : futureList) {
+            try {
+                /**
+                 * 主要说明：
+                 *  fut.get(60, TimeUnit.SECONDS) 
+                 *  设置超时时间，如果设定时间内线程没有执行完成， 则会抛出异常。正常情况下需要结束并返回给前台提示。
+                 *  此处捕获了异常时根据当前功能业务场景， 个别字段异常不影响主查询的进行。 
+                 *  所以此处的异常捕获腰根据实际业务场景来添加。
+                 */
+                // 获取任务时，添加超时时间， 如果超时则释放线程， 防止线程阻塞耗尽。
+                // 如果需要获取线程返回内容， 此处可以获取
+                System.out.println("-------> " + fut.get(60, TimeUnit.SECONDS));
+            } catch (Exception e) {
+                /**
+                 * 如果异常后需要特殊处理， 请在这里编写业务逻辑
+                 * **/
+                e.printStackTrace();
+            }
+        }
+    }
+
     @Transactional(propagation = Propagation.NOT_SUPPORTED, readOnly = true)
     @Override
     public TableData<CostAccumulationVo> queryNotionalPoolingListForExport(CostAccumulationParam param) {
Index: ff-cloud/ff-settlement/src/main/java/com/freshport/freight/settlement/utils/threadpool/ThreadPoolBuninessInfo.java
===================================================================
--- ff-cloud/ff-settlement/src/main/java/com/freshport/freight/settlement/utils/threadpool/ThreadPoolBuninessInfo.java	(nonexistent)
+++ ff-cloud/ff-settlement/src/main/java/com/freshport/freight/settlement/utils/threadpool/ThreadPoolBuninessInfo.java	(revision 34161)
@@ -0,0 +1,38 @@
+package com.freshport.freight.settlement.utils.threadpool;
+
+/**
+ * 项目名称：ff-settlement    
+ * 类名称：ThreadPoolBuninessInfo    
+ * 类描述： 使用线程池业务端相关代码
+ * 创建人：wuwenjin    
+ * 创建时间：2023年5月22日 下午2:41:00    
+ * 修改人：wuwenjin    
+ * 修改时间：2023年5月22日 下午2:41:00    
+ * 修改备注：    
+ * @version     
+ *
+ */
+public class ThreadPoolBuninessInfo {
+
+    /**归集主列表，查询实际收货人名称*/
+    public static final String QUERY_SETTLEMENT_MAIN_ACTUALRECEIVER = "0";
+
+    /**归集主列表，查询账单编号*/
+    public static final String QUERY_SETTLEMENT_MAIN_BILLNO = "1";
+
+    /**归集主列表，查询堆场*/
+    public static final String QUERY_SETTLEMENT_MAIN_YARD = "3";
+
+    /**归集主列表，查询物流信息*/
+    public static final String QUERY_SETTLEMENT_MAIN_INFO = "4";
+
+    /**归集主列表，查询派单员*/
+    public static final String QUERY_SETTLEMENT_MAIN_DISPATCHER = "5";
+
+    /**归集主列表，查询实付cj*/
+    public static final String QUERY_SETTLEMENT_MAIN_CJ = "7";
+
+    /**归集主列表，查询禁用的结算人员*/
+    public static final String QUERY_SETTLEMENT_MAIN_SETTLEMENTUSER = "8";
+
+}


