瀏覽代碼

修改工时

ouyj 3 月之前
父節點
當前提交
d60312fcba
共有 1 個文件被更改,包括 10 次插入5 次删除
  1. 10 5
      ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtOrderHourServiceImpl.java

+ 10 - 5
ygtx-gxt/src/main/java/com/ygtx/gxt/service/impl/GxtOrderHourServiceImpl.java

@@ -938,12 +938,13 @@ public class GxtOrderHourServiceImpl implements IGxtOrderHourService {
         long beforeStartSuspensionTime = 0;
         long afterStartSuspensionTime = 0;
         Date suspendTime = null;
-        
+        GxtRepairOrderFlow suspendFlow = null;
         // 按时间顺序处理流转记录
         flows.sort((f1, f2) -> f1.getActionTime().compareTo(f2.getActionTime()));
         
         for (GxtRepairOrderFlow flow : flows) {
             if ("approved".equals(flow.getActionType()) || "auto_suspend".equals(flow.getActionType())) {
+                suspendFlow = flow;
                 // 挂起时间
                 suspendTime = flow.getActionTime();
             } else if (("resume".equals(flow.getActionType()) || "auto_resume".equals(flow.getActionType())) && suspendTime != null) {
@@ -957,7 +958,7 @@ public class GxtOrderHourServiceImpl implements IGxtOrderHourService {
                     if (suspendTime.before(realStartTime)) {
                         beforeStartSuspensionTime += suspensionDuration;
                     } else {
-                        if("auto_suspend".equals(flow.getActionType())){
+                        if("auto_suspend".equals(suspendFlow.getActionType())){
                             beforeStartSuspensionTime += suspensionDuration;
                         }else{
                             // 否则是开工后挂起
@@ -970,6 +971,7 @@ public class GxtOrderHourServiceImpl implements IGxtOrderHourService {
                 }
                 
                 suspendTime = null; // 重置挂起时间
+                suspendFlow = null;
             }
         }
         
@@ -992,12 +994,14 @@ public class GxtOrderHourServiceImpl implements IGxtOrderHourService {
         long beforeStartSuspensionTime = 0;
         long afterStartSuspensionTime = 0;
         Date suspendTime = null;
-        
+        GxtWorkOrderFlow suspendFlow = null;
+
         // 按时间顺序处理流转记录
         flows.sort((f1, f2) -> f1.getActionTime().compareTo(f2.getActionTime()));
-        
+
         for (GxtWorkOrderFlow flow : flows) {
             if ("approved".equals(flow.getActionType()) || "auto_suspend".equals(flow.getActionType())) {
+                suspendFlow = flow;
                 // 挂起时间
                 suspendTime = flow.getActionTime();
             } else if (("resume".equals(flow.getActionType()) || "auto_resume".equals(flow.getActionType())) && suspendTime != null) {
@@ -1011,7 +1015,7 @@ public class GxtOrderHourServiceImpl implements IGxtOrderHourService {
                     if (suspendTime.before(realStartTime)) {
                         beforeStartSuspensionTime += suspensionDuration;
                     } else {
-                        if("auto_suspend".equals(flow.getActionType())){
+                        if("auto_suspend".equals(suspendFlow.getActionType())){
                             beforeStartSuspensionTime += suspensionDuration;
                         }else{
                             // 否则是开工后挂起
@@ -1024,6 +1028,7 @@ public class GxtOrderHourServiceImpl implements IGxtOrderHourService {
                 }
                 
                 suspendTime = null; // 重置挂起时间
+                suspendFlow = null;
             }
         }