From a552048a9c7a47cc4a2947b9105986081ccbbdec Mon Sep 17 00:00:00 2001 From: ludj Date: Tue, 13 Dec 2022 14:18:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/quartz/task/AutoCreateTask.java | 25 ++++++++++++++++--- .../service/impl/ProduceTaskServiceImpl.java | 4 +-- .../nl/wms/sch/tasks/OutEmptyVehicleTask.java | 8 +++--- 3 files changed, 28 insertions(+), 9 deletions(-) diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/AutoCreateTask.java b/wms/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/AutoCreateTask.java index 7181d1a..950a66d 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/AutoCreateTask.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/AutoCreateTask.java @@ -2,6 +2,7 @@ package org.nl.modules.quartz.task; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import net.sf.json.JSONArray; @@ -63,6 +64,24 @@ public class AutoCreateTask { } }); + //控制加工工段半成品区的任务树不超过2:查询执行中的agv任务 + WQLObject taskTab = WQLObject.getWQLObject("sch_base_task"); + JSONArray tasks = taskTab.query("( task_status = '04' or task_status = '05') and (start_point_code LIKE 'BCPSL%' OR next_point_code LIKE 'BCPSL%' )").getResultJSONArray(0); + int size = tasks.size(); + for (int i = 0, j = taskList.size(); i < j; i++) { + String start_point_code = taskList.get(i).getStart_device_code(); + String next_point_code = taskList.get(i).getNext_device_code(); + boolean isBcpsl = StrUtil.contains(start_point_code, "BCPSL") || StrUtil.contains(next_point_code, "BCPSL"); + if (isBcpsl) { + if (size < 2) { + size++; + } else { + taskList.remove(i); + continue; + } + } + } + if (ObjectUtil.isEmpty(taskList)) { return; } @@ -110,10 +129,10 @@ public class AutoCreateTask { //处理下发失败的任务 for (int i = 0; i < errArr.size(); i++) { JSONObject taskObj = errArr.getJSONObject(i); - JSONObject param=new JSONObject(); - param.put("remark", "下发失败:"+taskObj.optString("message")); + JSONObject param = new JSONObject(); + param.put("remark", "下发失败:" + taskObj.optString("message")); param.put("update_time", DateUtil.now()); - taskTab.update(param,"task_code = '"+taskObj.optString("task_code")+"'"); + taskTab.update(param, "task_code = '" + taskObj.optString("task_code") + "'"); } } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProduceTaskServiceImpl.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProduceTaskServiceImpl.java index 4a3886c..346b4cd 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProduceTaskServiceImpl.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/ProduceTaskServiceImpl.java @@ -475,9 +475,9 @@ public class ProduceTaskServiceImpl implements ProduceTaskService { //判断点位上有没有托盘,没有托盘不允许回库 JSONObject pointObj = WQLObject.getWQLObject("sch_base_point").query("point_code='" + point_code + "'").uniqueResult(0); String vehicle_code = pointObj.optString("vehicle_code"); - if (StrUtil.isEmpty(vehicle_code)) { + /* if (StrUtil.isEmpty(vehicle_code)) { throw new BadRequestException("点位为【'" + point_code + "'】上没有托盘!"); - } + }*/ //判断是否已经点击完成 //判断是否有到该设备的未完成的AGV任务 diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutEmptyVehicleTask.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutEmptyVehicleTask.java index 24a96d6..0b754cf 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutEmptyVehicleTask.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutEmptyVehicleTask.java @@ -95,11 +95,11 @@ public class OutEmptyVehicleTask extends AbstractAcsTask { for (int i = 0; i < taskArry.size(); i++) { JSONObject jsonTask = taskArry.getJSONObject(i); - //优先出恒温存储区 空托盘 - JSONObject jsonPoint = WQL.getWO("QSCH_EMPTYVEHICLE01").addParam("flag", "2").addParam("area_type", "03").process().uniqueResult(0); - //再空卷轴存储区 出空托盘 + //优先出卷轴存储区 空托盘 + JSONObject jsonPoint = WQL.getWO("QSCH_EMPTYVEHICLE01").addParam("flag", "2").addParam("area_type", "04").process().uniqueResult(0); + //再恒温存储区 出空托盘 if (ObjectUtil.isEmpty(jsonPoint)) { - jsonPoint = WQL.getWO("QSCH_EMPTYVEHICLE01").addParam("flag", "2").addParam("area_type", "04").process().uniqueResult(0); + jsonPoint = WQL.getWO("QSCH_EMPTYVEHICLE01").addParam("flag", "2").addParam("area_type", "03").process().uniqueResult(0); } if (ObjectUtil.isEmpty(jsonPoint))continue;