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

---
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |    7 +++++--
 1 files changed, 5 insertions(+), 2 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 2e1e578..08c90e5 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -379,7 +379,6 @@
                 productionOrder.setStartTime(LocalDateTime.now());
             }
             // 璁㈠崟鐘舵�佺敱鏈�鍚庝竴閬撳伐搴忕殑鍚堟牸浜у嚭鎺ㄥ姩锛岄伩鍏嶄腑闂村伐搴忔彁鍓嶅畬宸ャ��
-            productionOrder.setStatus(ProductOrderStatusEnum.RUNNING.getCode());
             if (isLastOperation) {
                 productionOrder.setCompleteQuantity(defaultDecimal(productionOrder.getCompleteQuantity()).add(productQty));
                 if (productionOrder.getQuantity() != null
@@ -387,6 +386,10 @@
                     productionOrder.setEndTime(LocalDateTime.now());
                     productionOrder.setStatus(ProductOrderStatusEnum.FINISHED.getCode());
                 }
+            }
+            // 鍙湁璁㈠崟鏈畬宸ユ椂鎵嶈缃负杩涜涓�
+            if (!ProductOrderStatusEnum.FINISHED.getCode().equals(productionOrder.getStatus())) {
+                productionOrder.setStatus(ProductOrderStatusEnum.RUNNING.getCode());
             }
             productionOrderMapper.updateById(productionOrder);
 
@@ -401,7 +404,7 @@
             productionAccount.setSchedulingUserId(user == null ? null : user.getUserId());
             productionAccount.setSchedulingUserName(user == null ? dto.getUserName() : user.getNickName());
             productionAccount.setFinishedNum(productQty);
-            productionAccount.setWorkHours(workHours);
+            productionAccount.setWorkHours(technologyOperation != null ? technologyOperation.getSalaryQuota() : null);
             productionAccount.setTechnologyOperationName(technologyOperation == null ? null : technologyOperation.getName());
             productionAccount.setSchedulingDate(LocalDateTime.now());
             productionAccountMapper.insert(productionAccount);

--
Gitblit v1.9.3