From 4b2f98a50ee8e7876eaa177b2044103c36dc3aff Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期六, 18 四月 2026 10:59:11 +0800
Subject: [PATCH] feat: 打印工艺流程未设置默认时获取最新工艺路线数据

---
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index c270773..8cbef1d 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -1183,13 +1183,19 @@
         List<SalesProcessCardDto.ProcessNodeDto> nodeDtos = new ArrayList<>();
 
         if (CollectionUtils.isEmpty(salesLedgerProcessRoutes)) {
-            // 鏃犺嚜瀹氫箟璺嚎锛屽彇榛樿璺嚎
-            ProcessRoute defaultRoute = processRouteMapper.selectOne(
+            // 鏃犺嚜瀹氫箟璺嚎锛氬厛鏌ヨ榛樿宸ヨ壓璺嚎锛涜嫢鏃犻粯璁わ紝鑾峰彇鍒涘缓鏃堕棿鏈�杩戠殑涓�鏉�
+            ProcessRoute fallbackRoute = processRouteMapper.selectOne(
                     new LambdaQueryWrapper<ProcessRoute>().eq(ProcessRoute::getIsDefault, 1).last("LIMIT 1"));
-            if (defaultRoute != null) {
+            if (fallbackRoute == null) {
+                fallbackRoute = processRouteMapper.selectOne(
+                        new LambdaQueryWrapper<ProcessRoute>()
+                                .orderByDesc(ProcessRoute::getCreateTime)
+                                .last("LIMIT 1"));
+            }
+            if (fallbackRoute != null) {
                 List<ProcessRouteItem> routeItems = processRouteItemMapper.selectList(
                         new LambdaQueryWrapper<ProcessRouteItem>()
-                                .eq(ProcessRouteItem::getRouteId, defaultRoute.getId())
+                                .eq(ProcessRouteItem::getRouteId, fallbackRoute.getId())
                                 .orderByAsc(ProcessRouteItem::getDragSort));
                 for (ProcessRouteItem i : routeItems) {
                     SalesProcessCardDto.ProcessNodeDto node = new SalesProcessCardDto.ProcessNodeDto();
@@ -1694,4 +1700,21 @@
         ledger.setStockStatus(allStocked ? 2 : (hasStocked ? 1 : 0));
         baseMapper.updateById(ledger);
     }
+
+    @Override
+    public List<Customer> shippedCustomers() {
+        List<SalesLedger> ledgers = list(Wrappers.<SalesLedger>lambdaQuery()
+                .eq(SalesLedger::getDeliveryStatus, 5)
+                .isNotNull(SalesLedger::getCustomerId)
+                .select(SalesLedger::getCustomerId));
+        if (CollectionUtils.isEmpty(ledgers)) {
+            return Collections.emptyList();
+        }
+        Set<Long> customerIds = ledgers.stream()
+                .map(SalesLedger::getCustomerId)
+                .collect(Collectors.toCollection(LinkedHashSet::new));
+        return customerMapper.selectList(Wrappers.<Customer>lambdaQuery()
+                .in(Customer::getId, customerIds)
+                .orderByAsc(Customer::getCustomerName));
+    }
 }

--
Gitblit v1.9.3