diff --git a/src/main/java/com/huaheng/api/wcs/controller/ArrivedNoticeController.java b/src/main/java/com/huaheng/api/wcs/controller/ArrivedNoticeController.java index 9f87c87..6b6a24f 100644 --- a/src/main/java/com/huaheng/api/wcs/controller/ArrivedNoticeController.java +++ b/src/main/java/com/huaheng/api/wcs/controller/ArrivedNoticeController.java @@ -63,6 +63,10 @@ public class ArrivedNoticeController extends BaseController { return AjaxResult.success("状态已经是到达站台了,不要重复更新"); } taskHeader.setStatus(QuantityConstant.TASK_STATUS_ARRIVED_STATION); + taskDetailService.findByTaskId(Integer.valueOf(taskNo)).forEach(e -> { + e.setStatus(QuantityConstant.TASK_STATUS_ARRIVED_STATION); + taskDetailService.updateById(e); + }); } else { return AjaxResult.error("没有找到任务taskNo:" + taskNo); } diff --git a/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java b/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java index 606a7b3..ec5f9b4 100644 --- a/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java +++ b/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java @@ -180,16 +180,7 @@ public class RyTask extends BaseController { * 自动出库,自动出库单据间隔从定时任务那边配置 */ public void autoShipment() { - //如果上一条出库单未完成,就不执行下一条 - ShipmentHeader header = shipmentHeaderService.getOne(new LambdaQueryWrapper<ShipmentHeader>() - .eq(ShipmentHeader::getDeleted, 0) - .in(ShipmentHeader::getAutoShipmentStatus, 2, 3) - .last("ORDER BY requestedStartDate asc,id asc limit 1")); - if (header != null) { - if (header.getLastStatus() < QuantityConstant.SHIPMENT_HEADER_COMPLETED) {//尾状态小于拣货完成(出库单未完成),就不继续走了 - return; - } - } + //039一厂设备立库、042二厂设备立库优先出库,requestedStartDate升序排序,如果没有就按照created升序 List<ShipmentHeader> shipmentHeaders = shipmentHeaderService.list(new LambdaQueryWrapper<ShipmentHeader>() .eq(ShipmentHeader::getDeleted, 0) @@ -201,6 +192,27 @@ public class RyTask extends BaseController { return; } + + //如果有任务状态小于到达拣选台,就不继续走了 + List<ShipmentHeader> shipmentHeaderList = shipmentHeaderService.list(new LambdaQueryWrapper<ShipmentHeader>() + .eq(ShipmentHeader::getDeleted, 0) + .ne(ShipmentHeader::getLastStatus, 500) + .in(ShipmentHeader::getAutoShipmentStatus, 2, 3) + .last("ORDER BY requestedStartDate asc,id asc")); + + if (!shipmentHeaderList.isEmpty()) { + for (ShipmentHeader shipmentHeader : shipmentHeaderList) { + List<TaskDetail> list = taskDetailService.list(new LambdaQueryWrapper<TaskDetail>() + .lt(TaskDetail::getStatus, 50) //状态小于到达拣选台 + .eq(TaskDetail::getFlat, 0) + .eq(TaskDetail::getBillCode, shipmentHeader.getCode())); + if (!list.isEmpty()) { + return; + } + } + } + + // 查找039一厂设备立库或042二厂设备立库的出库单 ShipmentHeader priorityHeader = shipmentHeaders.stream().filter(h -> "039".equals(h.getWarehouse()) || "042".equals(h.getWarehouse())).findFirst().orElse(null); if (priorityHeader == null) {