diff --git a/src/main/java/com/wms/controller/TaskController.java b/src/main/java/com/wms/controller/TaskController.java index 34c3d77..97a124f 100644 --- a/src/main/java/com/wms/controller/TaskController.java +++ b/src/main/java/com/wms/controller/TaskController.java @@ -852,21 +852,29 @@ public class TaskController { response.setMessage("拣选任务查询失败"); return convertJsonString(response); } - pickTask.setPickStatus(PickTaskStatusEnum.FINISH.getCode()); - pickTask.setLastUpdateTime(LocalDateTime.now()); - // 更新为完成 - pickTaskService.updateById(pickTask); + // 更新这个站台当前箱子的拣选任务为完成 + pickTaskService.update(new LambdaUpdateWrapper() + .set(PickTask::getPickStatus, PickTaskStatusEnum.FINISH.getCode()) + .set(PickTask::getLastUpdateTime, LocalDateTime.now()) + .eq(PickTask::getVehicleId, boxArriveRequest.getVehicleNo()) + .eq(PickTask::getStandId, boxArriveRequest.getLocation())); + // 更新这个箱子其他的暂存任务为待下发 + pickTaskService.update(new LambdaUpdateWrapper() + .set(PickTask::getPickStatus, PickTaskStatusEnum.NEW.getCode()) + .set(PickTask::getLastUpdateTime, LocalDateTime.now()) + .eq(PickTask::getVehicleId, boxArriveRequest.getVehicleNo()) + .eq(PickTask::getPickStatus, PickTaskStatusEnum.TEMP.getCode())); + // 重置当前站台非当前箱子的已完成拣选任务 + pickTaskService.update(new LambdaUpdateWrapper() + .set(PickTask::getPickStatus, PickTaskStatusEnum.NEW.getCode()) + .set(PickTask::getLastUpdateTime, LocalDateTime.now()) + .ne(PickTask::getVehicleId, boxArriveRequest.getVehicleNo()) + .eq(PickTask::getStandId, boxArriveRequest.getLocation()) + .eq(PickTask::getPickStatus, PickTaskStatusEnum.FINISH.getCode())); // 更新站台信息 standService.update(new LambdaUpdateWrapper() .set(Stand::getPickVehicle, boxArriveRequest.getVehicleNo()) .eq(Stand::getStandId, pickTask.getStandId())); - // 重置当前站台非当前箱子的已完成拣选任务 - List otherPickTasks = pickTaskService.list(new LambdaQueryWrapper() - .ne(PickTask::getVehicleId, boxArriveRequest.getVehicleNo()) - .eq(PickTask::getStandId, boxArriveRequest.getLocation()) - .eq(PickTask::getPickStatus, PickTaskStatusEnum.FINISH.getCode())); - otherPickTasks.forEach(otherPickTask -> otherPickTask.setPickStatus(PickTaskStatusEnum.NEW.getCode())); - pickTaskService.updateBatchById(otherPickTasks); response.setCode(ResponseCode.OK.getCode()); response.setMessage("上报成功"); diff --git a/src/main/java/com/wms/service/business/serviceImplements/WmsJobServiceImplements.java b/src/main/java/com/wms/service/business/serviceImplements/WmsJobServiceImplements.java index f3ff0a4..aea23da 100644 --- a/src/main/java/com/wms/service/business/serviceImplements/WmsJobServiceImplements.java +++ b/src/main/java/com/wms/service/business/serviceImplements/WmsJobServiceImplements.java @@ -566,6 +566,10 @@ public class WmsJobServiceImplements implements IWmsJobService { .set(PickTask::getPickStatus, PickTaskStatusEnum.SEND.getCode()) .in(PickTask::getVehicleId, vehicleAndStansMap.keySet()) .eq(PickTask::getPickStatus, PickTaskStatusEnum.NEW.getCode())); + pickTaskService.update(new LambdaUpdateWrapper() + .set(PickTask::getPickStatus, PickTaskStatusEnum.NEW.getCode()) + .in(PickTask::getVehicleId, vehicleAndStansMap.keySet()) + .eq(PickTask::getPickStatus, PickTaskStatusEnum.TEMP.getCode())); } else { logger.error("发送拣选任务错误:{}", convertJsonString(result)); }