|
@@ -41,6 +41,7 @@ import java.time.LocalDateTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.concurrent.CountDownLatch;
|
|
import java.util.concurrent.CountDownLatch;
|
|
|
|
+import java.util.concurrent.atomic.AtomicLong;
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Stream;
|
|
import java.util.stream.Stream;
|
|
@@ -197,7 +198,7 @@ public class CreateMainWorkOrderJob implements JobHandler {
|
|
}
|
|
}
|
|
// 暂时使用以保养计划为维度,生成保养工单
|
|
// 暂时使用以保养计划为维度,生成保养工单
|
|
// 查询最新的保养工单id
|
|
// 查询最新的保养工单id
|
|
- AtomicReference<Long> theMaxId = new AtomicReference<>(iotMainWorkOrderService.theMaxId());
|
|
|
|
|
|
+ AtomicLong theMaxId = new AtomicLong(iotMainWorkOrderService.theMaxWorkOrderId());
|
|
List<IotMainWorkOrderDO> workOrders = new ArrayList<>();
|
|
List<IotMainWorkOrderDO> workOrders = new ArrayList<>();
|
|
List<IotMainWorkOrderBomDO> workOrderBOMs = new ArrayList<>();
|
|
List<IotMainWorkOrderBomDO> workOrderBOMs = new ArrayList<>();
|
|
// 组装 工单明细 集合
|
|
// 组装 工单明细 集合
|
|
@@ -265,8 +266,8 @@ public class CreateMainWorkOrderJob implements JobHandler {
|
|
// k保养计划id v已经触发的保养工单明细
|
|
// k保养计划id v已经触发的保养工单明细
|
|
IotMaintenancePlanDO plan = maintenancePair.get(Long.valueOf(planIdDeviceIdStrS[0]));
|
|
IotMaintenancePlanDO plan = maintenancePair.get(Long.valueOf(planIdDeviceIdStrS[0]));
|
|
IotMainWorkOrderDO workOrder = new IotMainWorkOrderDO();
|
|
IotMainWorkOrderDO workOrder = new IotMainWorkOrderDO();
|
|
- theMaxId.getAndSet(theMaxId.get() + 1);
|
|
|
|
- workOrder.setId(theMaxId.get());
|
|
|
|
|
|
+ long newId = theMaxId.incrementAndGet(); // 原子操作:+1并返回新值
|
|
|
|
+ workOrder.setId(newId);
|
|
// 设备多个责任人关联工单标识
|
|
// 设备多个责任人关联工单标识
|
|
workOrder.setOrderGroupId(orderGroupId);
|
|
workOrder.setOrderGroupId(orderGroupId);
|
|
// 查询设备对应的部门
|
|
// 查询设备对应的部门
|
|
@@ -276,6 +277,11 @@ public class CreateMainWorkOrderJob implements JobHandler {
|
|
workOrder.setDeptId(devices.get(Long.valueOf(planIdDeviceIdStrS[1])).getDeptId());
|
|
workOrder.setDeptId(devices.get(Long.valueOf(planIdDeviceIdStrS[1])).getDeptId());
|
|
workOrder.setName(devices.get(Long.valueOf(planIdDeviceIdStrS[1])).getDeviceCode() + " "
|
|
workOrder.setName(devices.get(Long.valueOf(planIdDeviceIdStrS[1])).getDeviceCode() + " "
|
|
+ devices.get(Long.valueOf(planIdDeviceIdStrS[1])).getDeviceName() + currentDate + " 保养工单");
|
|
+ devices.get(Long.valueOf(planIdDeviceIdStrS[1])).getDeviceName() + currentDate + " 保养工单");
|
|
|
|
+ } else {
|
|
|
|
+ // 如果设备列表没有包含需要保养的设备id 不生成保养工单 提示
|
|
|
|
+ System.out.println("不存在数据 - 待保养的设备id:" + planIdDeviceIdStrS[1]);
|
|
|
|
+ // 跳过当前循环 继续下次循环
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
workOrder.setPlanId(plan.getId());
|
|
workOrder.setPlanId(plan.getId());
|
|
workOrder.setOrderNumber(iotMainWorkOrderService.createWorkOrderNumber());
|
|
workOrder.setOrderNumber(iotMainWorkOrderService.createWorkOrderNumber());
|