From d36901a7f73ffea46a956b53b001efa0ad98aebc Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 25 六月 2026 11:01:21 +0800
Subject: [PATCH] fix: 入库审批通过提交至质检

---
 src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java |   13 ++++++++++++-
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java      |    4 ++--
 src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java    |    2 +-
 src/main/resources/mapper/approve/ApproveProcessMapper.xml                  |    2 +-
 src/main/resources/mapper/quality/QualityInspectMapper.xml                  |    2 +-
 5 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java b/src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java
index 3ad6424..a3d0ceb 100644
--- a/src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java
+++ b/src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java
@@ -10,7 +10,7 @@
     PURCHASE_STOCK_IN("7", "閲囪喘-鍏ュ簱"),
     QUALITYINSPECT_STOCK_IN("6", "璐ㄦ-鍚堟牸鍏ュ簱"),
     DEFECTIVE_PASS("11", "涓嶅悎鏍�-璁╂鏀捐"),
-    SALE_STOCK_IN("15", "閿�鍞鍗�-鍚堟牸鍏ュ簱"),
+    SALE_STOCK_IN("15", "璐ㄦ-鍚堟牸鍏ュ簱"),
     SALE_SCAN_STOCK_IN("17", "閿�鍞鍗曟壂鐮�-鍚堟牸鍏ュ簱"),
     PURCHASE_SCAN_STOCK_IN("18", "閲囪喘璁㈠崟鎵爜-鍚堟牸鍏ュ簱"),
     PURCHASE_SCAN_QUALITY_STOCK_IN("19", "鎵爜鍏ュ簱璐ㄦ-鍚堟牸鍏ュ簱"),
diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
index 04a921e..8d60a6d 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -631,10 +631,21 @@
                 allStocked = false;
             }
         }
+
+        long pendingInspectCount = qualityInspectMapper.selectCount(Wrappers.<QualityInspect>lambdaQuery()
+                .eq(QualityInspect::getSalesLedgerId, salesLedgerId)
+                .eq(QualityInspect::getInspectState, 0));
+        boolean allInspectFinished = pendingInspectCount == 0;
         
         SalesLedger ledger = salesLedgerMapper.selectById(salesLedgerId);
         if (ledger != null) {
-            ledger.setStockStatus(allStocked ? 2 : (hasStocked ? 1 : 0));
+            int newStatus = ledger.getStockStatus() != null ? ledger.getStockStatus() : 0;
+            if (allInspectFinished) {
+                newStatus = allStocked ? 2 : 5; // 2: 宸插叆搴�(璐ㄦ瀹屾垚), 5: 閮ㄥ垎璐ㄦ瀹屾垚
+            } else {
+                newStatus = 4; // 4: 璐ㄦ涓�
+            }
+            ledger.setStockStatus(newStatus);
             salesLedgerMapper.updateById(ledger);
         }
     }
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 020b237..299c11d 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -1932,8 +1932,8 @@
                 }
             }
         }
-        // 鏇存柊涓诲崟鐘舵�佷负鏈畬鍏ㄥ叆搴擄紙寰呰川妫�瀹屾垚鍚庢洿鏂帮級
-        ledger.setStockStatus(0);
+        // 鏇存柊涓诲崟鐘舵�佷负璐ㄦ涓紙4锛�
+        ledger.setStockStatus(4);
         baseMapper.updateById(ledger);
     }
 
diff --git a/src/main/resources/mapper/approve/ApproveProcessMapper.xml b/src/main/resources/mapper/approve/ApproveProcessMapper.xml
index e6fc7e3..56ac4e2 100644
--- a/src/main/resources/mapper/approve/ApproveProcessMapper.xml
+++ b/src/main/resources/mapper/approve/ApproveProcessMapper.xml
@@ -41,6 +41,6 @@
         <if test="req.approveType != null ">
             and approve_type = #{req.approveType}
         </if>
-        order by approve_time desc
+        order by approve_id desc
     </select>
 </mapper>
diff --git a/src/main/resources/mapper/quality/QualityInspectMapper.xml b/src/main/resources/mapper/quality/QualityInspectMapper.xml
index 15a6f46..bcb8391 100644
--- a/src/main/resources/mapper/quality/QualityInspectMapper.xml
+++ b/src/main/resources/mapper/quality/QualityInspectMapper.xml
@@ -86,7 +86,7 @@
         <if test="qualityInspect.approveUserIds != null and qualityInspect.approveUserIds != '' ">
             AND qi.approve_user_ids like concat('%',#{qualityInspect.approveUserIds},'%')
         </if>
-        ORDER BY qi.check_time DESC
+        ORDER BY qi.create_time DESC
     </select>
 
     <select id="qualityInspectExport" resultType="com.ruoyi.quality.pojo.QualityInspect">

--
Gitblit v1.9.3