#修复工单修改接口

This commit is contained in:
2026-05-18 09:15:08 +08:00
parent b813a3d409
commit 603c3178e6

View File

@@ -253,7 +253,7 @@ public class WorkOrderServiceImpl extends ServiceImpl<IotWorkOrderMapper, IOTWor
return baseMapper.insert(workOrder);
}
@Override
/* @Override
public int updateWorkOrder(IOTWorkOrder workOrder) {
Long userId = SecurityUtils.getUserId();
if (!SecurityUtils.isAdmin(userId)) {
@@ -264,8 +264,52 @@ public class WorkOrderServiceImpl extends ServiceImpl<IotWorkOrderMapper, IOTWor
}
workOrder.setUpdateTime(LocalDateTime.now());
return baseMapper.updateById(workOrder);
}*/
@Override
public int updateWorkOrder(IOTWorkOrder workOrder) {
if (workOrder.getId() == null) {
throw new ServiceException("工单ID不能为空");
}
Long userId = SecurityUtils.getUserId();
if (!SecurityUtils.isAdmin(userId)) {
IOTWorkOrder existWorkOrder = baseMapper.selectById(workOrder.getId());
if (existWorkOrder != null) {
validateWorkOrderAccess(existWorkOrder);
}
}
IOTWorkOrder updateEntity = new IOTWorkOrder();
updateEntity.setId(workOrder.getId());
updateEntity.setOrderTitle(workOrder.getOrderTitle());
updateEntity.setOrderType(workOrder.getOrderType());
updateEntity.setPriorityLevel(workOrder.getPriorityLevel());
updateEntity.setDeviceId(workOrder.getDeviceId());
updateEntity.setDeviceName(workOrder.getDeviceName());
updateEntity.setSiteId(workOrder.getSiteId());
updateEntity.setSiteName(workOrder.getSiteName());
updateEntity.setAssigneeId(workOrder.getAssigneeId());
updateEntity.setAssigneeName(workOrder.getAssigneeName());
updateEntity.setCollaboratorIds(workOrder.getCollaboratorIds());
updateEntity.setCollaboratorNames(workOrder.getCollaboratorNames());
updateEntity.setPlanStartTime(workOrder.getPlanStartTime());
updateEntity.setPlanEndTime(workOrder.getPlanEndTime());
updateEntity.setDeadlineTime(workOrder.getDeadlineTime());
updateEntity.setOrderStatus(workOrder.getOrderStatus());
updateEntity.setTaskDescription(workOrder.getTaskDescription());
updateEntity.setAiSuggestion(workOrder.getAiSuggestion());
updateEntity.setRequiredEquipment(workOrder.getRequiredEquipment());
updateEntity.setEstimatedImpact(workOrder.getEstimatedImpact());
updateEntity.setHandleResult(workOrder.getHandleResult());
updateEntity.setHandleRemark(workOrder.getHandleRemark());
updateEntity.setUpdateTime(LocalDateTime.now());
updateEntity.setUpdateBy(SecurityUtils.getLoginUser().getUser().getNickName());
return baseMapper.updateById(updateEntity);
}
@Override
public int dispatchWorkOrder(WorkOrderDispatchDTO dispatchDTO) {
IOTWorkOrder workOrder = baseMapper.selectById(dispatchDTO.getOrderId());
@@ -469,10 +513,8 @@ public class WorkOrderServiceImpl extends ServiceImpl<IotWorkOrderMapper, IOTWor
private String generateOrderNo() {
String dateStr = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
long count = baseMapper.selectCount(new LambdaQueryWrapper<IOTWorkOrder>()
.likeRight(IOTWorkOrder::getOrderNo, "WO" + dateStr));
return "WO" + dateStr + String.format("%04d", count + 1);
String dateStr = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));
return "WO" + dateStr + String.format("%04d", (int)(Math.random() * 10000));
}
private synchronized String generateUniqueOrderNo() {
@@ -485,7 +527,7 @@ public class WorkOrderServiceImpl extends ServiceImpl<IotWorkOrderMapper, IOTWor
return orderNo;
}
try {
Thread.sleep(10);
Thread.sleep(5);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
throw new ServiceException("生成工单号失败");
@@ -493,5 +535,6 @@ public class WorkOrderServiceImpl extends ServiceImpl<IotWorkOrderMapper, IOTWor
}
throw new ServiceException("生成工单号失败,请稍后重试");
}
}