From 1524f76b50fea865f876d5e199a78df0d4d00c7e Mon Sep 17 00:00:00 2001 From: "HUOJIN\\92525" Date: Thu, 28 Aug 2025 15:36:56 +0800 Subject: [PATCH] no message --- .../service/impl/NioF3AppServiceImpl.java | 6 ++- .../service/impl/KMReServiceImpl.java | 40 ++++++++++++++++--- 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/youchain-system/src/main/java/com/youchain/appupdate/service/impl/NioF3AppServiceImpl.java b/youchain-system/src/main/java/com/youchain/appupdate/service/impl/NioF3AppServiceImpl.java index 44f15d7..9514478 100644 --- a/youchain-system/src/main/java/com/youchain/appupdate/service/impl/NioF3AppServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/appupdate/service/impl/NioF3AppServiceImpl.java @@ -121,6 +121,10 @@ public class NioF3AppServiceImpl implements NioF3AppService { //获取所有扫描的料箱号 List boxNos = bindLarge.getBoxAndDolly().stream().map(BoxAndDolly::getBoxNo).collect(Collectors.toList()); + //获取所有dolly + List dollyList = bindLarge.getBoxAndDolly().stream().map(BoxAndDolly::getDolly).collect(Collectors.toList()); + + //验证Les任务 List lesList = validateLes(bindLarge.getSrcPositionCode(), boxNos); List lesIds = lesList.stream().map(Les::getId).collect(Collectors.toList()); @@ -142,7 +146,7 @@ public class NioF3AppServiceImpl implements NioF3AppService { } //下发任务 - kmReService.sendAgvTask(agvTask, kmReService.sendAgvTaskQYCJson(agvTask, boxNos.size(), boxNos)); + kmReService.sendAgvTask(agvTask, kmReService.sendAgvTaskQYCJson(agvTask, boxNos.size(), dollyList)); } /** diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/KMReServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/KMReServiceImpl.java index 42ac58f..34db732 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/KMReServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/KMReServiceImpl.java @@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional; import java.sql.Array; import java.sql.Timestamp; import java.util.*; +import java.util.stream.Collectors; @Service @Slf4j @@ -357,19 +358,48 @@ public class KMReServiceImpl implements KMReService { missionDataObj.putAll(missionDataMap); missionDataArray.add(missionDataObj); - String[] endSlotCodes = agvTask.getEndSlotCode().split(","); - int sum = 1; - for (int i = 0; i < endSlotCodes.length; i++) { + List stations = Arrays.stream(agvTask.getEndSlotCode().split(",")) + .map(String::trim) + .filter(s -> !s.isEmpty()) + .collect(Collectors.toList()); + if (stations.size() == 1) { JSONObject missionDataObj2 = new JSONObject(true); Map missionDataMap2 = new LinkedHashMap<>(); - missionDataMap2.put("sequence", (sum + (i + 1)));//序号 + missionDataMap2.put("sequence", 2);//序号 missionDataMap2.put("type", "NODE_POINT");//作业类型:点位:NODE_POINT;区域:NODE_AREA - missionDataMap2.put("position", endSlotCodes[i]);//终点 + missionDataMap2.put("position", stations.get(0));//终点 missionDataMap2.put("actionType", "TUGGER_DETACH");//动作:TUGGER_ATTACH:挂钩;TUGGER_DETACH:脱钩 missionDataMap2.put("passStrategy", "AUTO");//当前任务点结束后放行策略:自动:AUTO;手动:MANUAL missionDataMap2.put("waitingMillis", 0);//自动触发离开当前任务节点的时间,默认单位:毫秒 missionDataObj2.putAll(missionDataMap2); missionDataArray.add(missionDataObj2); + } else { + //途径点 + List waypoints = stations.subList(0, stations.size() - 1); + for (int i = 0; i < waypoints.size(); i++) { + JSONObject missionDataObj3 = new JSONObject(true); + Map missionDataMap3 = new LinkedHashMap<>(); + int sequence = (1 + (i + 1)); + missionDataMap3.put("sequence", sequence);//序号 + missionDataMap3.put("type", "NODE_POINT");//作业类型:点位:NODE_POINT;区域:NODE_AREA + missionDataMap3.put("position", waypoints.get(i));//途径点 + missionDataMap3.put("actionType", "");//动作:TUGGER_ATTACH:挂钩;TUGGER_DETACH:脱钩;移动 + missionDataMap3.put("passStrategy", "MANUAL");//当前任务点结束后放行策略:自动:AUTO;手动:MANUAL + missionDataMap3.put("waitingMillis", 0);//自动触发离开当前任务节点的时间,默认单位:毫秒 + missionDataObj3.putAll(missionDataMap3); + missionDataArray.add(missionDataObj3); + } + + JSONObject missionDataObj4 = new JSONObject(true); + Map missionDataMap4 = new LinkedHashMap<>(); + missionDataMap4.put("sequence", stations.size() + 1);//序号 + missionDataMap4.put("type", "NODE_POINT");//作业类型:点位:NODE_POINT;区域:NODE_AREA + missionDataMap4.put("position", stations.get(stations.size() - 1));//终点 + missionDataMap4.put("actionType", "TUGGER_DETACH");//动作:TUGGER_ATTACH:挂钩;TUGGER_DETACH:脱钩 + missionDataMap4.put("passStrategy", "AUTO");//当前任务点结束后放行策略:自动:AUTO;手动:MANUAL + missionDataMap4.put("waitingMillis", 0);//自动触发离开当前任务节点的时间,默认单位:毫秒 + missionDataObj4.putAll(missionDataMap4); + missionDataArray.add(missionDataObj4); } objMap.put("missionData", missionDataArray);