|
|
@@ -179,13 +179,20 @@ public class EquipmentSafeOperationRewardTask {
|
|
|
return; // 必须最少能找到任意的GxtRepairOrder或者GxtWorkOrder当中的其中一个,否则数据不完整,不用再继续后面的步骤
|
|
|
}
|
|
|
|
|
|
- if (processedData.latestOccurOrPauseTime == null) {
|
|
|
+ /*if (processedData.latestOccurOrPauseTime == null) {
|
|
|
log.debug("设备 {} 未找到任何occurTime或pauseTime数据,跳过处理", equipment.getEquipmentCode());
|
|
|
return; // 必须最少能找到任意的GxtRepairOrder或者GxtWorkOrder当中的其中一个,否则数据不完整,不用再继续后面的步骤
|
|
|
+ }*/
|
|
|
+
|
|
|
+ // 检查是否在安全运行中
|
|
|
+ if (processedData.latestOccurOrPauseTime != null && processedData.latestRestartTime.before(processedData.latestOccurOrPauseTime)) {
|
|
|
+ log.debug("设备 {} 的最新occurTime/pauseTime({})比restartTime({})晚,不在安全运行中",
|
|
|
+ equipment.getEquipmentCode(), processedData.latestOccurOrPauseTime, processedData.latestRestartTime);
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
// 检查是否在安全运行中
|
|
|
- if (!processedData.latestRestartTime.before(processedData.latestOccurOrPauseTime)) {
|
|
|
+ //if (!processedData.latestRestartTime.before(processedData.latestOccurOrPauseTime)) {
|
|
|
// 计算安全运行天数
|
|
|
int daysBetween = DateUtils.calculateDateDifference(DateUtils.getNowDate(), processedData.latestRestartTime);
|
|
|
if (daysBetween <= 0) {
|
|
|
@@ -242,7 +249,7 @@ public class EquipmentSafeOperationRewardTask {
|
|
|
} else {
|
|
|
log.warn("设备 {} 未找到对应的工单信息", equipment.getEquipmentCode());
|
|
|
}
|
|
|
- }
|
|
|
+ //}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -1308,6 +1315,9 @@ public class EquipmentSafeOperationRewardTask {
|
|
|
// 计算停运天数:复运时间 - 停机时间(pauseTime)
|
|
|
Date restartTime = workOrder.getRestartTime();
|
|
|
Date pauseTime = workOrder.getPauseTime(); // 维保工单使用pauseTime作为停机时间
|
|
|
+ if (pauseTime == null) {
|
|
|
+ pauseTime = workOrder.getCreateTime();
|
|
|
+ }
|
|
|
if (restartTime == null || pauseTime == null) {
|
|
|
log.warn("维保工单 {} 的复运时间或停机时间为空,跳过扣分", workOrder.getWorkOrderProjectNo());
|
|
|
return;
|