From 721593e4047b71fd592341e7f27702307db62be2 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 03 六月 2026 18:00:36 +0800
Subject: [PATCH] 生产报工更新实际开始时间和结束时间

---
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 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 143d478..c55dab1 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -209,11 +209,19 @@
             List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery().eq(ProductProcessRouteItem::getProductRouteId, productProcessRouteItem.getProductRouteId()));
             /*鏇存柊宸ュ崟鍜岀敓浜ц鍗�*/
             productWorkOrder.setCompleteQuantity(productWorkOrder.getCompleteQuantity().add(productQty));
-            if (ObjectUtils.isNull(productWorkOrder.getActualStartTime())) {
-                productWorkOrder.setActualStartTime(LocalDateTime.now());//瀹為檯寮�濮嬫椂闂�
+            // 鏌ヨ璇ュ伐鍗曞搴旂殑鏈�鏃╀笂鏈烘椂闂达紙鎸変笂鏈烘椂闂村崌搴忥紝鍙栫涓�鏉★級
+            List<ProductionMachineRecord> machineRecords = productionMachineRecordMapper.selectList(
+                    Wrappers.<ProductionMachineRecord>lambdaQuery()
+                            .eq(ProductionMachineRecord::getWorkOrderId, productWorkOrder.getId())
+                            .isNotNull(ProductionMachineRecord::getMachineStartTime)
+                            .orderByAsc(ProductionMachineRecord::getMachineStartTime)
+            );
+            if (!machineRecords.isEmpty()) {
+                productWorkOrder.setActualStartTime(machineRecords.get(0).getMachineStartTime());
             }
+            // 瀹為檯缁撴潫鏃堕棿 = 鎶ュ伐缁撴潫鏃堕棿
             if (productWorkOrder.getCompleteQuantity().compareTo(productWorkOrder.getPlanQuantity()) >= 0) {
-                productWorkOrder.setActualEndTime(LocalDateTime.now());//瀹為檯缁撴潫鏃堕棿
+                productWorkOrder.setActualEndTime(now);//瀹為檯缁撴潫鏃堕棿涓烘姤宸ョ粨鏉熸椂闂�
             }
             productWorkOrder.setEndProductTime(now);
             productWorkOrderMapper.updateById(productWorkOrder);

--
Gitblit v1.9.3