From 061977e873182b0c7249d02fe0253a291fa4e69d Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 12 六月 2026 09:46:31 +0800
Subject: [PATCH] fix(customer): 修复客户数据查询中的空值问题并优化生产订单状态管理

---
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |   10 ++++++++--
 1 files changed, 8 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..a325b97 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -379,13 +379,19 @@
                 productionOrder.setStartTime(LocalDateTime.now());
             }
             // 璁㈠崟鐘舵�佺敱鏈�鍚庝竴閬撳伐搴忕殑鍚堟牸浜у嚭鎺ㄥ姩锛岄伩鍏嶄腑闂村伐搴忔彁鍓嶅畬宸ャ��
-            productionOrder.setStatus(ProductOrderStatusEnum.RUNNING.getCode());
             if (isLastOperation) {
                 productionOrder.setCompleteQuantity(defaultDecimal(productionOrder.getCompleteQuantity()).add(productQty));
                 if (productionOrder.getQuantity() != null
                         && productionOrder.getCompleteQuantity().compareTo(productionOrder.getQuantity()) >= 0) {
                     productionOrder.setEndTime(LocalDateTime.now());
                     productionOrder.setStatus(ProductOrderStatusEnum.FINISHED.getCode());
+                } else {
+                    productionOrder.setStatus(ProductOrderStatusEnum.RUNNING.getCode());
+                }
+            } else {
+                // 闈炴渶鍚庝竴閬撳伐搴忔姤宸ワ紝妫�鏌ヨ鍗曟槸鍚﹀凡瀹屽伐锛岄伩鍏嶈鐩栧凡瀹屽伐鐘舵��
+                if (!Integer.valueOf(ProductOrderStatusEnum.FINISHED.getCode()).equals(productionOrder.getStatus())) {
+                    productionOrder.setStatus(ProductOrderStatusEnum.RUNNING.getCode());
                 }
             }
             productionOrderMapper.updateById(productionOrder);
@@ -401,7 +407,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