no message

main
HUOJIN\92525 2025-08-28 15:36:56 +08:00
parent 2bdfe79e70
commit 1524f76b50
2 changed files with 40 additions and 6 deletions

View File

@ -121,6 +121,10 @@ public class NioF3AppServiceImpl implements NioF3AppService {
//获取所有扫描的料箱号
List<String> boxNos = bindLarge.getBoxAndDolly().stream().map(BoxAndDolly::getBoxNo).collect(Collectors.toList());
//获取所有dolly
List<String> dollyList = bindLarge.getBoxAndDolly().stream().map(BoxAndDolly::getDolly).collect(Collectors.toList());
//验证Les任务
List<Les> lesList = validateLes(bindLarge.getSrcPositionCode(), boxNos);
List<Long> 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));
}
/**

View File

@ -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<String> 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<String, Object> 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<String> waypoints = stations.subList(0, stations.size() - 1);
for (int i = 0; i < waypoints.size(); i++) {
JSONObject missionDataObj3 = new JSONObject(true);
Map<String, Object> 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<String, Object> 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);