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

---
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 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..ba4efc4 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -209,12 +209,18 @@
             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