From 0f748b1aea1198540c264805c2d51a207d41d627 Mon Sep 17 00:00:00 2001 From: liuxy Date: Thu, 18 Jul 2024 11:03:37 +0800 Subject: [PATCH] =?UTF-8?q?rev:=E6=9C=A8=E7=AE=B1=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=8D=A1=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/b_lms/sch/tasks/TwoOutBoxTask.java | 33 ++++++++++++++++++- .../nl/common/enums/PackageInfoIvtEnum.java | 3 ++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java index a81ea3ace..390fe6562 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java @@ -2,6 +2,7 @@ package org.nl.b_lms.sch.tasks; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -50,10 +51,33 @@ public class TwoOutBoxTask extends AbstractAcsTask { /* * 下发给ACS时需要特殊处理 */ - JSONArray arr = WQLObject.getWQLObject("SCH_BASE_Task").query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0'").getResultJSONArray(0); + // 任务表 + WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); + // 装箱点位库存表 + WQLObject packTab = WQLObject.getWQLObject("bst_ivt_packageinfoivt"); + + JSONArray arr = taskTab.query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0' order by create_time").getResultJSONArray(0); + + // 判断当前有多少个正在执行中的任务 + int num = taskTab.query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.EXECUTING.getCode() + "' and is_delete ='0'") + .getResultJSONArray(0).size(); + + // 查询装箱对接位是否有木箱 + JSONObject jsonPack = packTab.query("point_code = '" + PackageInfoIvtEnum.PACK_POINT.code("装箱对接位01") + "' AND is_used = '1'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonPack.getString("container_name"))) { + num += 1; + } ArrayList resultList = new ArrayList<>(); + // 如果缓存了4个箱子则不下发任务 + if (num >= 4) { + return resultList; + } + for (int i = 0; i < arr.size(); i++) { + if (num >= 4) { + break; + } JSONObject json = arr.getJSONObject(i); char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1); @@ -72,6 +96,8 @@ public class TwoOutBoxTask extends AbstractAcsTask { .remark(json.getString("remark")) .build(); resultList.add(dto); + + num += 1; } return resultList; } @@ -138,6 +164,11 @@ public class TwoOutBoxTask extends AbstractAcsTask { map.put("update_optname", SecurityUtils.getCurrentNickName()); map.put("update_time", DateUtil.now()); WQLObject.getWQLObject("SCH_BASE_Task").update(map, "task_id = '" + taskObj.getString("task_id") + "'"); + + // 如果是完成则在下发一次 + if (status.equals(TaskStatusEnum.FINISHED.getCode())) { + immediateNotifyAcs(null); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java b/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java index 3d0a67628..b6e837e24 100644 --- a/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java +++ b/lms/nladmin-system/src/main/java/org/nl/common/enums/PackageInfoIvtEnum.java @@ -62,6 +62,9 @@ public enum PackageInfoIvtEnum { //位置 POINT_LOCATION(MapOf.of("上", "0", "下", "1")), + // 装箱对接位 + PACK_POINT(MapOf.of("装箱对接位01", "ZXQ_1_1")), + //库存状态 IVT_STATUS(MapOf.of("空", "0", "空载具", "1", "有子卷", "2", "合格品", "3", "管制品", "4"));