From 6191aba36dfe0f3e4b9e9b4343bc05848fdf543c Mon Sep 17 00:00:00 2001 From: "ZHOUZ\\Noble'lift" <1014987728@qq.com> Date: Thu, 16 Feb 2023 21:11:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E5=88=87=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acs/service/impl/AcsToWmsServiceImpl.java | 2 +- .../java/org/nl/wms/pda/mps/wql/PDA_02.wql | 3 + .../org/nl/wms/sch/tasks/CutConveyorTask.java | 69 ++++++++++++------- 3 files changed, 48 insertions(+), 26 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 3ff1919ac..dde87fbda 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -522,7 +522,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { result.put("status", HttpStatus.OK.value()); result.put("message", "反馈成功!"); - RLock lock = redissonClient.getLock("acs_to_wms:" + type); + RLock lock = redissonClient.getLock("acs_to_deviceApply_wms:" + type); boolean tryLock = lock.tryLock(5, TimeUnit.SECONDS); try { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql index 7dd7d7b71..fdd02f7ed 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_02.wql @@ -624,6 +624,9 @@ OPTION 输入.find_type = "3" point_status = '03' ENDOPTION + OPTION 输入.find_type = "4" + point_status = '02' + ENDOPTION ENDSELECT ENDQUERY ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java index 8f941dbe3..08d6bceee 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CutConveyorTask.java @@ -44,9 +44,9 @@ public class CutConveyorTask extends AbstractAcsTask { JSONObject json = arr.getJSONObject(i); String vehicle_code = ""; - if (json.getString("task_type").equals("010507")){ + if (json.getString("task_type").equals("010507")) { vehicle_code = json.getString("vehicle_code"); - }else { + } else { vehicle_code = json.getString("vehicle_code2"); } @@ -81,7 +81,7 @@ public class CutConveyorTask extends AbstractAcsTask { taskTab.update(jsonTask); //初始化任务开始前分切计划的状态 - if (jsonTask.getString("task_type").equals("010402") && StrUtil.isNotEmpty(jsonTask.getString("vehicle_code"))){ + if (jsonTask.getString("task_type").equals("010402") && StrUtil.isNotEmpty(jsonTask.getString("vehicle_code"))) { //更新该气涨轴对应的分切计划状态 HashMap map = new HashMap(); map.put("flag", "601"); @@ -147,11 +147,11 @@ public class CutConveyorTask extends AbstractAcsTask { String translate_code1 = right_point.getString("point_code"); String translate_code2 = point_code1; JSONObject tran_jo = new JSONObject(); - tran_jo.put("point_code1",translate_code1); - tran_jo.put("point_code2",translate_code2); - tran_jo.put("vehicle_code",right_point.getString("qzzno")); - tran_jo.put("vehicle_code2",right_point.getString("vehicle_code")); - tran_jo.put("task_type","010406"); + tran_jo.put("point_code1", translate_code1); + tran_jo.put("point_code2", translate_code2); + tran_jo.put("vehicle_code", right_point.getString("qzzno")); + tran_jo.put("vehicle_code2", right_point.getString("vehicle_code")); + tran_jo.put("task_type", "010406"); this.createTask(tran_jo); } @@ -215,17 +215,36 @@ public class CutConveyorTask extends AbstractAcsTask { String translate_code1 = point_code2; String translate_code2 = left_point.getString("point_code"); JSONObject tran_jo = new JSONObject(); - tran_jo.put("point_code1",translate_code1); - tran_jo.put("point_code2",translate_code2); - tran_jo.put("vehicle_code",jsonTask.getString("vehicle_code")); - tran_jo.put("vehicle_code2",jsonTask.getString("vehicle_code2")); - tran_jo.put("task_type","010406"); + tran_jo.put("point_code1", translate_code1); + tran_jo.put("point_code2", translate_code2); + tran_jo.put("vehicle_code", jsonTask.getString("vehicle_code")); + tran_jo.put("vehicle_code2", jsonTask.getString("vehicle_code2")); + tran_jo.put("task_type", "010406"); this.createTask(tran_jo); + } else { + //如果有货、且没有任务 + left_point = WQL.getWO("PDA_02") + .addParam("point_location", point_location) + .addParam("point_code", point_code2) + .addParam("product_area", product_area) + .addParam("sort_seq", sort_seq) + .addParam("find_type", "4") + .addParam("flag", "18").process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(left_point)) { + //创建空载具输送出 + JSONObject form = new JSONObject(); + form.put("point_code1", jsonTask.getString("point_code1")); + JSONObject ss_jo = WQLObject.getWQLObject("sch_base_point").query("product_area = '" + left_point.getString("product_area") + "' AND point_type = '7'").uniqueResult(0); + form.put("point_code2", ss_jo.getString("point_code")); + form.put("vehiclie_code2", left_point.getString("vehicle_code")); + //分切输送出 + form.put("task_type", "010401"); + this.createTask(form); + } } } } if (jsonTask.getString("task_type").equals("010406")) { - JSONObject jsonIvt = ivtTab.query("point_code ='" + point_code1 + "'").uniqueResult(0); JSONObject jsonIvt2 = ivtTab.query("point_code ='" + point_code2 + "'").uniqueResult(0); @@ -240,7 +259,7 @@ public class CutConveyorTask extends AbstractAcsTask { ivtTab.update(jsonIvt2); //如果载具横移完成时,判断该气涨轴对应的分切机是否存在出站中的,且终点为空,状态为02的任务,则把该分切机的终点补上,状态改为04并下发 - JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("vehicle_code = '"+jsonTask.getString("vehicle_code")+"' AND is_delete = '0' AND task_status < '07'").uniqueResult(0); + JSONObject task_jo = WQLObject.getWQLObject("sch_base_task").query("vehicle_code = '" + jsonTask.getString("vehicle_code") + "' AND is_delete = '0' AND task_status < '07'").uniqueResult(0); if (ObjectUtil.isNotEmpty(task_jo)) { if (task_jo.getString("task_type").equals("010405")) { //入站 @@ -279,31 +298,31 @@ public class CutConveyorTask extends AbstractAcsTask { String point_code1 = form.getString("point_code1"); String point_code2 = form.getString("point_code2"); - JSONObject point1_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code1 + "'").uniqueResult(0); - JSONObject point2_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code2 + "'").uniqueResult(0); + //JSONObject point1_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code1 + "'").uniqueResult(0); + // JSONObject point2_jo = WQLObject.getWQLObject("sch_base_point").query("point_code = '" + point_code2 + "'").uniqueResult(0); if (!form.getString("task_type").equals("010507") && !form.getString("task_type").equals("010406")) { - if (isSingleTask(point_code1) && !point1_jo.getString("point_type").equals("6") && !point1_jo.getString("point_type").equals("7")) { + /*if (isSingleTask(point_code1) && !point1_jo.getString("point_type").equals("6") && !point1_jo.getString("point_type").equals("7")) { throw new BadRequestException("点位:" + point_code1 + "存在未完成的任务!"); } if (isSingleTask(point_code2) && !point2_jo.getString("point_type").equals("6") && !point2_jo.getString("point_type").equals("7")) { throw new BadRequestException("点位:" + point_code2 + "存在未完成的任务!"); - } + }*/ } JSONObject json = new JSONObject(); json.put("task_id", IdUtil.getSnowflake(1, 1).nextId()); - json.put("task_code", IdUtil.getSnowflake(1,1).nextId()); + json.put("task_code", IdUtil.getSnowflake(1, 1).nextId()); json.put("task_type", form.getString("task_type")); json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); json.put("point_code1", point_code1); json.put("point_code2", point_code2); json.put("vehicle_code", form.getString("vehicle_code")); json.put("vehicle_code2", form.getString("vehicle_code2")); - String vehicle_code2 = form.getString("vehicle_code2"); - if (StrUtil.isNotEmpty(vehicle_code2)){ + String vehicle_code2 = form.getString("vehicle_code2"); + if (StrUtil.isNotEmpty(vehicle_code2)) { //判断该架子是否存在未完成的输送线任务 - JSONObject vehicle_task = WQLObject.getWQLObject("sch_base_task").query("vehicle_code2 = '"+vehicle_code2+"' AND is_delete = '0' AND task_status < '07'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(vehicle_task)){ - throw new BadRequestException("载具码:"+vehicle_code2+"存在未完成的输送线任务!"); + JSONObject vehicle_task = WQLObject.getWQLObject("sch_base_task").query("vehicle_code2 = '" + vehicle_code2 + "' AND is_delete = '0' AND task_status < '07'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(vehicle_task)) { + throw new BadRequestException("载具码:" + vehicle_code2 + "存在未完成的输送线任务!"); } } json.put("handle_class", THIS_CLASS);