From 3159f8eab436e72c939fdaf0c005339775253265 Mon Sep 17 00:00:00 2001 From: zhangzhiqiang Date: Thu, 23 Mar 2023 17:53:27 +0800 Subject: [PATCH 1/2] =?UTF-8?q?add:=E4=BB=BB=E5=8A=A1=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=B8=8B=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/common/enums/AcsTaskEnum.java | 4 +++- .../acs/service/impl/WmsToAcsServiceImpl.java | 14 ++++++++++++ .../nl/wms/sch/tasks/TaskScheduleService.java | 22 +++++-------------- 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java index 37f4509e..cdf036d6 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/common/enums/AcsTaskEnum.java @@ -12,9 +12,11 @@ import lombok.Getter; @AllArgsConstructor public enum AcsTaskEnum { UNDEFINED("0","未定义类型"), - //任务类型 + //任务类型:3个点,任务编号,无需载具 PRODUCT_MAC("1","专机-专机任务"), + //3个点,任务编号,缓存线空载具列表 PRODUCT_CACHE("2","专机-缓存线任务"), + //3个点,任务编号,缓存线满料载具列表 CACHELINE_OUT("3","缓存线出库任务"), //回调状态 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java index 7e845074..47812660 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; import org.nl.common.anno.Log; import lombok.extern.slf4j.Slf4j; import org.nl.common.utils.AcsUtil; +import org.nl.common.utils.MapOf; import org.nl.wms.ext.acs.service.WmsToAcsService; import org.springframework.stereotype.Service; @@ -17,6 +18,19 @@ import java.util.Map; public class WmsToAcsServiceImpl implements WmsToAcsService { @Override public Map issueTaskToAcs(JSONArray arr) { + JSONArray form = new JSONArray(); + for (Object o : arr) { + JSONObject task = (JSONObject) o; + JSONObject param = new JSONObject(MapOf.of("task_id", task.getString("task_id") + , "task_type", task.getString("task_type") + , "start_point_code", task.getString("point_code1") + , "next_point_code", task.getString("point_code2") + , "return_point_code", task.getString("point_code3") + , "task_group_id", task.getString("task_group_id") + , "vehicle_code", task.getString("vehicle_code") + )); + form.add(param); + } String api = "api/wms/task"; return AcsUtil.notifyAcs(api, arr); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/TaskScheduleService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/TaskScheduleService.java index 5b653ba9..34bb845a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/TaskScheduleService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/TaskScheduleService.java @@ -56,9 +56,9 @@ public class TaskScheduleService { Map> pointRegionCollent = needMergeCollect.stream().collect(Collectors.groupingBy(o -> ((JSONObject) o).getString("point_code"))); Set mergePointCollent = needMergeCollect.stream().map(item -> ((JSONObject) item).getString("point_code")).collect(Collectors.toSet()); //合并下发的任务 - ArrayList notMerge = new ArrayList<>();//单独下发的任务 - ArrayList Merge = new ArrayList<>();//单独下发的任务 - ArrayList waitingTask = new ArrayList<>();//可合并,但是只有单条任务 + List notMerge = new ArrayList<>();//单独下发的任务 + List Merge = new ArrayList<>();//单独下发的任务 + List waitingTask = new ArrayList<>();//可合并,但是只有单条任务 Map taskGroupMap = new HashMap<>(); for (Object o : array) { String taskGroupId = IdUtil.getStringId(); @@ -88,7 +88,7 @@ public class TaskScheduleService { } //开始下发:处理waitingTask:如果创建时间>2分钟:则改单独下发 if (waitingTask.size()>1){ - List needPublish = waitingTask.stream().filter(a -> a.getString("create_time") == DateUtil.now()).collect(Collectors.toList()); + List needPublish = waitingTask.stream().filter(a -> ((JSONObject)a).getString("create_time") == DateUtil.now()).collect(Collectors.toList()); notMerge.addAll(needPublish); } String notMergeID = notMerge.stream().map(a -> ((JSONObject) a).getString("task_id")).collect(Collectors.joining(",")); @@ -98,18 +98,8 @@ public class TaskScheduleService { //下发任务:一次暂时下发十条:同一个区域任务不超过10条 JSONArray form = new JSONArray(); Merge.addAll(notMerge); - for (JSONObject task : Merge) { - JSONObject param = new JSONObject(MapOf.of("task_id", task.getString("task_id") - , "task_type", task.getString("task_type") - , "start_point_code", task.getString("point_code1") - , "next_point_code", task.getString("point_code2") - , "return_point_code", task.getString("point_code3") - , "task_group_id", task.getString("task_group_id") - , "vehicle_code", task.getString("vehicle_code") - )); - form.add(param); - } - wmsToAcsService.issueTaskToAcs(form); + JSONArray jsonArray = new JSONArray(Merge); + wmsToAcsService.issueTaskToAcs(jsonArray); } } } From 8cc8dde8005b89519181f6e3bc8e28afa472b365 Mon Sep 17 00:00:00 2001 From: zhangzhiqiang Date: Thu, 23 Mar 2023 19:49:28 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=E8=AE=BE=E5=A4=87=E6=9F=A5=E8=AF=A2sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/wms/pdm/wql/QUERY_DEVICE.wql | 47 ++++++++----------- .../nl/wms/sch/tasks/TaskScheduleService.java | 1 + 2 files changed, 21 insertions(+), 27 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QUERY_DEVICE.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QUERY_DEVICE.wql index 132caa09..9e48a411 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QUERY_DEVICE.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QUERY_DEVICE.wql @@ -42,31 +42,24 @@ ########################################## IF 输入.flag = "1" - PAGEQUERY - SELECT - * - FROM - PDM_BI_Device device - WHERE - 1 = 1 - OPTION 输入.search <> "" - (device.device_code like "%" 输入.search "%" or - device.device_name like "%" 输入.search "%") - ENDOPTION - OPTION 输入.workprocedure_id <> "" - (device.workprocedure_id = 输入.workprocedure_id) - ENDOPTION - OPTION 输入.product_area <> "" - device.product_area = 输入.product_area - ENDOPTION - ENDSELECT - ENDPAGEQUERY - ENDIF + PAGEQUERY + SELECT + * + FROM + PDM_BI_Device device + WHERE + 1 = 1 + OPTION 输入.search <> "" + (device.device_code like "%" 输入.search "%" or + device.device_name like "%" 输入.search "%") + ENDOPTION + OPTION 输入.workprocedure_id <> "" + (device.workprocedure_id = 输入.workprocedure_id) + ENDOPTION + OPTION 输入.product_area <> "" + device.product_area = 输入.product_area + ENDOPTION + ENDSELECT + ENDPAGEQUERY + ENDIF - IF 输入.flag = "2" - PAGEQUERY - UPDATE pdm_bi_device - SET deviceoutstor_qty = deviceoutstor_qty - ENDSELECT - ENDPAGEQUERY - ENDIF diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/TaskScheduleService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/TaskScheduleService.java index 34bb845a..4015bef4 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/TaskScheduleService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sch/tasks/TaskScheduleService.java @@ -46,6 +46,7 @@ public class TaskScheduleService { WQLObject taskTable = WQLObject.getWQLObject("sch_base_task"); JSONArray all = taskTable.query("task_type < '" + StatusEnum.TASK_PUBLISH + "'").getResultJSONArray(0); //分区域:不同区域调用不同acs接口 + log.info("TaskScheduleService#taskPublish all_task:{}",all.size()); Map> areaCollent = all.stream().collect(Collectors.groupingBy(o -> ((JSONObject) o).getString("product_area"))); for (String area : areaCollent.keySet()) { List array = areaCollent.get(area);