ouyj hai 3 semanas
pai
achega
05705078b1

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

@@ -1012,7 +1012,7 @@ public class GxtOrderHourServiceImpl implements IGxtOrderHourService {
      */
     public void calculateOrderTimeDetails(OrderScoreInfo order) {
         // 下发时长 = 下发时间 - 故障发生时间(维修工单)或创建时间(维保工单)
-        if (order.getAssignTime() != null) {
+        /*if (order.getAssignTime() != null) {
             Date startTime = null;
             if (order.getOrderType() == 1) { // 维修工单
                 startTime = order.getOccurTime();
@@ -1024,7 +1024,7 @@ public class GxtOrderHourServiceImpl implements IGxtOrderHourService {
                 long diffMillis = order.getAssignTime().getTime() - startTime.getTime();
                 order.setIssueHour(diffMillis / (1000.0 * 60 * 60));
             }
-        }
+        }*/
 
         // 挂起时长 = 恢复时间 - 挂起时间
         long[] suspensionTimes = new long[4]; // 总挂起时长, 开工前挂起时长, 开工挂起后时长
@@ -1041,20 +1041,33 @@ public class GxtOrderHourServiceImpl implements IGxtOrderHourService {
 
         // 接单时长 = 接单时间 – 下发时间 - 夜间工单的自动挂起时长
         // 计算接单期间的自动挂起时长(夜间工单挂起)
-        long acceptSuspensionTime = 0;
+        /*long acceptSuspensionTime = 0;
         if (order.getAcceptTime() != null && order.getAssignTime() != null) {
             // 计算接单期间的自动挂起时长
             //acceptSuspensionTime = calculateOrderAcceptSuspensionTime(order.getId(), order.getAssignTime(), order.getAcceptTime(), order.getOrderType());
             acceptSuspensionTime = suspensionTimes[3];
             long diffMillis = order.getAcceptTime().getTime() - order.getAssignTime().getTime();
             order.setAcceptHour((diffMillis - acceptSuspensionTime) / (1000.0 * 60 * 60));
-        }
+        }*/
 
         // 准备时长 = 开始打卡时间 – 接单时间 - 开工前挂起时长
-        if (order.getRealStartTime() != null && order.getAcceptTime() != null) {
+        /*if (order.getRealStartTime() != null && order.getAcceptTime() != null) {
             //long diffMillis = order.getRealStartTime().getTime() - order.getAssignTime().getTime() - suspensionTimes[1] ;
             long diffMillis = order.getRealStartTime().getTime() - order.getAcceptTime().getTime() - suspensionTimes[1] ;
             order.setPrepareHour(diffMillis / (1000.0 * 60 * 60));
+        }*/
+        // 准备时长 = 开始打卡时间 – 停机时间
+        if (order.getRealStartTime() != null) {
+            Date startTime = null;
+            if (order.getOrderType() == 1) { // 维修工单
+                startTime = order.getOccurTime();
+            } else if (order.getOrderType() == 2) { // 维保工单
+                startTime = order.getPauseTime();
+            }
+            if (startTime != null) {
+                long diffMillis = order.getRealStartTime().getTime() - startTime.getTime();
+                order.setPrepareHour(diffMillis / (1000.0 * 60 * 60));
+            }
         }
         
         // 作业时长 = 结束打卡时间 - 开始打卡时间 - 开工后挂起时长