From 0fd2500e4f61d340fd8d1fde7f2003f92eb4734b Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Mon, 15 Sep 2025 09:31:04 +0800 Subject: [PATCH] =?UTF-8?q?opt=EF=BC=9A=E5=A4=87=E8=B4=A7=E5=8C=BA?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../slitter/auto/AutoCallAirShaftTask.java | 48 ++++++++++++------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java index 0b8ca63d0..76778e9f3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java @@ -54,6 +54,7 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.TimeUnit; +import java.util.function.Consumer; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -701,23 +702,36 @@ public class AutoCallAirShaftTask extends Prun { // 3.2 判断是否有单独拉出去的任务,有的话直接拉过来。 List stockingivts = stockingivtService.getMoveTaskPoints(); if (CollectionUtil.isNotEmpty(stockingivts)) { - BstIvtStockingivt bstIvtStockingivt = stockingivts.get(0); - // 直接搬过来即可 - JSONObject param = new JSONObject(); - param.put("point_code1", needPoint.getPoint_code()); - param.put("point_code2", bstIvtStockingivt.getPoint_code()); - param.put("vehicle_code", needPoint.getVehicle_code()); - param.put("product_area", SlitterConstant.SLITTER_TASK_AREA); - param.put("task_type", SlitterEnum.TASK_TYPE.code("备货区送纸管")); - param.put("task_id", "1".equals(flag) ? needPoint.getTask_id() : ""); - param.put("task_status", "1".equals(flag) ? TaskStatusEnum.SURE_START.getCode() : TaskStatusEnum.START_AND_POINT.getCode()); - // 存储纸管信息 - List paperList = mdPbPapervehicleService.list(new LambdaQueryWrapper() - .eq(MdPbPapervehicle::getVehicle_code, needPoint.getVehicle_code())); - doSavePaperInfos(paperList, param); - stockAreaCallTubeTask.createTask(param); - stepErrorInfo.add("备货区正在搬运管芯过来,托盘号:[" + needPoint.getVehicle_code() + "]。"); - return 1; + // 判断当前这个拉出去的点位有没有拉进来的任务 + BstIvtStockingivt bstIvtStockingivt = stockingivts.stream().filter(p -> { + int count = taskService.count(new LambdaQueryWrapper() + .lt(SchBaseTask::getTask_status, "07") + .eq(SchBaseTask::getIs_delete, "0") + .and(lam2 -> lam2.eq(SchBaseTask::getPoint_code2, p.getPoint_code()) + .or() + .eq(SchBaseTask::getPoint_code3, p.getPoint_code()))); + return count == 0; + }).findFirst().orElse(null); +// BstIvtStockingivt bstIvtStockingivt = stockingivts.get(0); + if (ObjectUtil.isNotEmpty(bstIvtStockingivt)) { + // 直接搬过来即可 + JSONObject param = new JSONObject(); + param.put("point_code1", needPoint.getPoint_code()); + param.put("point_code2", bstIvtStockingivt.getPoint_code()); + param.put("vehicle_code", needPoint.getVehicle_code()); + param.put("product_area", SlitterConstant.SLITTER_TASK_AREA); + param.put("task_type", SlitterEnum.TASK_TYPE.code("备货区送纸管")); + param.put("task_id", "1".equals(flag) ? needPoint.getTask_id() : ""); + param.put("task_status", "1".equals(flag) ? TaskStatusEnum.SURE_START.getCode() : TaskStatusEnum.START_AND_POINT.getCode()); + // 存储纸管信息 + List paperList = mdPbPapervehicleService.list(new LambdaQueryWrapper() + .eq(MdPbPapervehicle::getVehicle_code, needPoint.getVehicle_code())); + doSavePaperInfos(paperList, param); + stockAreaCallTubeTask.createTask(param); + stepErrorInfo.add("备货区正在搬运管芯过来,托盘号:[" + needPoint.getVehicle_code() + "]。"); + return 1; + } + // 继续往下查询 } // 3.3 排序,获取最后的起点,需要根据下一趟需要套轴的管芯规格来进行过滤 if (plans.size() > 0) {