From 33d66687663a20e2b1673100b0aa70e8f313ca72 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Sat, 24 Dec 2022 15:22:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=82=B9=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../callEmpty/GjxCallEmpVehicleTask.java | 9 ++++ .../callEmpty/YqxCallEmpVehicleTask.java | 10 ++++- .../wql/QSCH_GjxCallEmpVehicleTask.wql | 16 +++++++- .../wql/QSCH_YqxCallEmpVehicleTask.wql | 16 +++++++- .../wms/sch/tasks/utils/PointUpdateUtil.java | 41 +++++++++++++++++++ 5 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/utils/PointUpdateUtil.java diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/GjxCallEmpVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/GjxCallEmpVehicleTask.java index c9e58bb..4ba7dc3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/GjxCallEmpVehicleTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/GjxCallEmpVehicleTask.java @@ -19,12 +19,15 @@ import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.tasks.AcsTaskDto; import org.nl.wms.sch.tasks.RegionTypeEnum; +import org.nl.wms.sch.tasks.utils.PointUpdateUtil; import org.nl.wms.util.IdUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Service @RequiredArgsConstructor @@ -178,6 +181,12 @@ public class GjxCallEmpVehicleTask extends AbstractAcsTask { // 创建任务 JSONObject jsonTask = taskArr.getJSONObject(i); String vehicle_type = jsonTask.getString("vehicle_type"); + // 更新点位 + Map query = new HashMap<>(); + query.put("flag", "2"); + query.put("region_code", RegionTypeEnum.DPJQB.getCode()); + JSONArray array = WQL.getWO("QSCH_GjxCallEmpVehicleTask").addParamMap(query).process().getResultJSONArray(0); + PointUpdateUtil.updatePoint(array); // 找叠盘架是否与对应的载具类型 JSONObject jsonDpjStart = pointTab.query("region_id = '" + RegionTypeEnum.DPJQB.getId() + "' and can_vehicle_type = '" + vehicle_type + "' and lock_type = '1' and is_used = '1' and is_delete = '0' and vehicle_qty <> '0'").uniqueResult(0); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/YqxCallEmpVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/YqxCallEmpVehicleTask.java index 2bfeb9b..2b47722 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/YqxCallEmpVehicleTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/YqxCallEmpVehicleTask.java @@ -19,11 +19,14 @@ import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.tasks.AcsTaskDto; import org.nl.wms.sch.tasks.RegionTypeEnum; +import org.nl.wms.sch.tasks.utils.PointUpdateUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Service @RequiredArgsConstructor @@ -181,7 +184,12 @@ public class YqxCallEmpVehicleTask extends AbstractAcsTask { // 创建任务 JSONObject jsonTask = taskArr.getJSONObject(i); String vehicle_type = jsonTask.getString("vehicle_type"); - + // 更新碟盘架 + Map query = new HashMap<>(); + query.put("flag", "2"); + query.put("region_code", RegionTypeEnum.DPJQA.getCode()); + JSONArray array = WQL.getWO("QSCH_YqxCallEmpVehicleTask").addParamMap(query).process().getResultJSONArray(0); + PointUpdateUtil.updatePoint(array); // 找叠盘架是否与对应的载具类型 JSONObject jsonDpjStart = pointTab.query("region_id = '" + RegionTypeEnum.DPJQA.getId() + "' and can_vehicle_type = '" + vehicle_type + "' and lock_type = '1' and is_used = '1' and is_delete = '0' and vehicle_qty <> '0'").uniqueResult(0); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_GjxCallEmpVehicleTask.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_GjxCallEmpVehicleTask.wql index b76c2fb..af5d0ff 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_GjxCallEmpVehicleTask.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_GjxCallEmpVehicleTask.wql @@ -15,6 +15,7 @@ ################################################# 输入.flag TYPEAS s_string 输入.vehicle_type TYPEAS s_string + 输入.region_code TYPEAS s_string [临时表] --这边列出来的临时表就会在运行期动态创建 @@ -57,4 +58,17 @@ ENDSELECT ENDQUERY - ENDIF \ No newline at end of file + ENDIF + IF 输入.flag = "2" + QUERY + SELECT + point_code as device_code + FROM + SCH_BASE_Point + WHERE + OPTION 输入.region_code <> "" + region_code = 输入.region_code + ENDOPTION + ENDSELECT + ENDQUERY + ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_YqxCallEmpVehicleTask.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_YqxCallEmpVehicleTask.wql index 8163667..6683838 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_YqxCallEmpVehicleTask.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/callEmpty/wql/QSCH_YqxCallEmpVehicleTask.wql @@ -15,6 +15,7 @@ ################################################# 输入.flag TYPEAS s_string 输入.vehicle_type TYPEAS s_string + 输入.region_code TYPEAS s_string [临时表] --这边列出来的临时表就会在运行期动态创建 @@ -57,4 +58,17 @@ ENDSELECT ENDQUERY - ENDIF \ No newline at end of file + ENDIF + IF 输入.flag = "2" + QUERY + SELECT + point_code as device_code + FROM + SCH_BASE_Point + WHERE + OPTION 输入.region_code <> "" + region_code = 输入.region_code + ENDOPTION + ENDSELECT + ENDQUERY + ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/utils/PointUpdateUtil.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/utils/PointUpdateUtil.java new file mode 100644 index 0000000..8730536 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/utils/PointUpdateUtil.java @@ -0,0 +1,41 @@ +package org.nl.wms.sch.tasks.utils; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.wms.ext.acs.service.impl.WmsToAcsServiceImpl; +import org.nl.wms.sch.tasks.RegionTypeEnum; + +/** + * @Author: lyd + * @Description: 更新点位状态 + * @Date: 2022/12/24 + */ +public class PointUpdateUtil { + /** + * 访问acs获取点位数据更新点位信息: + * 分拣呼叫空托盘、空钢托盘叠盘架 + * @param pointCodes + * @deprecated 只更新点位状态和载具类型 + */ + public static void updatePoint(JSONArray pointCodes) { + WQLObject pointTable = WQLObject.getWQLObject("sch_base_point"); + WmsToAcsServiceImpl wmsToAcsService = new WmsToAcsServiceImpl(); + // 向ACS查询点位状态 + JSONObject pointStatus = wmsToAcsService.getPointStatus(pointCodes); + // 找到对应的载具类型再去下发 + JSONArray deviceDatas = pointStatus.getJSONArray("data"); + for (int j = 0; j < deviceDatas.size(); j++) { + JSONObject pointObj = deviceDatas.getJSONObject(j); + String point_code = pointObj.getString("device_code"); + JSONObject pointObj2 = pointTable.query("point_code = '" + point_code + "'").uniqueResult(0); + if (point_code.equals(RegionTypeEnum.DPJQB.getCode())) { // 碟盘机 + String vehicleNum = pointObj.getString("vehicle_num"); + pointObj2.put("vehicle_qty", vehicleNum); + pointTable.update(pointObj2); + } + + + } + } +}