From 8ce0fb006cd7041fa0555c5100565eb5b46d658e Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 12 六月 2026 15:12:10 +0800
Subject: [PATCH] fix(production): 修复生产订单状态更新逻辑

---
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |    6 ++++--
 src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java             |    7 ++++++-
 src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java              |    7 ++++++-
 3 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
index c52892a..4a8366a 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -378,8 +378,10 @@
             if (ObjectUtils.isNull(productionOrder.getStartTime())) {
                 productionOrder.setStartTime(LocalDateTime.now());
             }
-            // 璁㈠崟鐘舵�佺敱鏈�鍚庝竴閬撳伐搴忕殑鍚堟牸浜у嚭鎺ㄥ姩锛岄伩鍏嶄腑闂村伐搴忔彁鍓嶅畬宸ャ��
-            productionOrder.setStatus(ProductOrderStatusEnum.RUNNING.getCode());
+            // 浠呭緟寮�濮嬬姸鎬佹墠鎺ㄨ繘鍒拌繘琛屼腑锛岄伩鍏嶉潪鏈亾宸ュ簭鎶ュ伐鏃惰鐩栧凡瀹屾垚鐘舵�併��
+            if (ProductOrderStatusEnum.WAIT.getCode().equals(productionOrder.getStatus())) {
+                productionOrder.setStatus(ProductOrderStatusEnum.RUNNING.getCode());
+            }
             if (isLastOperation) {
                 productionOrder.setCompleteQuantity(defaultDecimal(productionOrder.getCompleteQuantity()).add(productQty));
                 if (productionOrder.getQuantity() != null
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
index 61aac8b..3b7a6c8 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
@@ -55,8 +55,13 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int add(StockInRecordDto stockInRecordDto) {
-        String no = OrderUtils.countTodayByCreateTime(stockInRecordMapper, "RK","inbound_batches", stockInRecordDto.getCreateTime() != null ? stockInRecordDto.getCreateTime() : LocalDateTime.now());
+        LocalDateTime createTime = stockInRecordDto.getCreateTime();
+        if (createTime == null) {
+            createTime = LocalDateTime.now();
+        }
+        String no = OrderUtils.countTodayByCreateTime(stockInRecordMapper, "RK","inbound_batches", createTime);
         stockInRecordDto.setInboundBatches(no);
+        stockInRecordDto.setCreateTime(createTime);
         StockInRecord stockInRecord = new StockInRecord();
         BeanUtils.copyProperties(stockInRecordDto, stockInRecord);
         return stockInRecordMapper.insert(stockInRecord);
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
index 26f0c2d..05ed8fe 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockOutRecordServiceImpl.java
@@ -60,8 +60,13 @@
 
     @Override
     public int add(StockOutRecordDto stockOutRecordDto) {
-        String no = OrderUtils.countTodayByCreateTime(stockOutRecordMapper, "CK","outbound_batches", stockOutRecordDto.getCreateTime() != null ? stockOutRecordDto.getCreateTime() : LocalDateTime.now());
+        LocalDateTime createTime = stockOutRecordDto.getCreateTime();
+        if (createTime == null) {
+            createTime = LocalDateTime.now();
+        }
+        String no = OrderUtils.countTodayByCreateTime(stockOutRecordMapper, "CK","outbound_batches", createTime);
         stockOutRecordDto.setOutboundBatches(no);
+        stockOutRecordDto.setCreateTime(createTime);
         if (StockOutQualifiedRecordTypeEnum.SALE_SHIP_STOCK_OUT.getCode().equals(stockOutRecordDto.getRecordType())){
             stockOutRecordDto.setApprovalStatus(3);
         }

--
Gitblit v1.9.3