no message
parent
2bdfe79e70
commit
1524f76b50
|
|
@ -121,6 +121,10 @@ public class NioF3AppServiceImpl implements NioF3AppService {
|
||||||
//获取所有扫描的料箱号
|
//获取所有扫描的料箱号
|
||||||
List<String> boxNos = bindLarge.getBoxAndDolly().stream().map(BoxAndDolly::getBoxNo).collect(Collectors.toList());
|
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任务
|
//验证Les任务
|
||||||
List<Les> lesList = validateLes(bindLarge.getSrcPositionCode(), boxNos);
|
List<Les> lesList = validateLes(bindLarge.getSrcPositionCode(), boxNos);
|
||||||
List<Long> lesIds = lesList.stream().map(Les::getId).collect(Collectors.toList());
|
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));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
import java.sql.Array;
|
import java.sql.Array;
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
|
@ -357,19 +358,48 @@ public class KMReServiceImpl implements KMReService {
|
||||||
missionDataObj.putAll(missionDataMap);
|
missionDataObj.putAll(missionDataMap);
|
||||||
missionDataArray.add(missionDataObj);
|
missionDataArray.add(missionDataObj);
|
||||||
|
|
||||||
String[] endSlotCodes = agvTask.getEndSlotCode().split(",");
|
List<String> stations = Arrays.stream(agvTask.getEndSlotCode().split(","))
|
||||||
int sum = 1;
|
.map(String::trim)
|
||||||
for (int i = 0; i < endSlotCodes.length; i++) {
|
.filter(s -> !s.isEmpty())
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
if (stations.size() == 1) {
|
||||||
JSONObject missionDataObj2 = new JSONObject(true);
|
JSONObject missionDataObj2 = new JSONObject(true);
|
||||||
Map<String, Object> missionDataMap2 = new LinkedHashMap<>();
|
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("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("actionType", "TUGGER_DETACH");//动作:TUGGER_ATTACH:挂钩;TUGGER_DETACH:脱钩
|
||||||
missionDataMap2.put("passStrategy", "AUTO");//当前任务点结束后放行策略:自动:AUTO;手动:MANUAL
|
missionDataMap2.put("passStrategy", "AUTO");//当前任务点结束后放行策略:自动:AUTO;手动:MANUAL
|
||||||
missionDataMap2.put("waitingMillis", 0);//自动触发离开当前任务节点的时间,默认单位:毫秒
|
missionDataMap2.put("waitingMillis", 0);//自动触发离开当前任务节点的时间,默认单位:毫秒
|
||||||
missionDataObj2.putAll(missionDataMap2);
|
missionDataObj2.putAll(missionDataMap2);
|
||||||
missionDataArray.add(missionDataObj2);
|
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);
|
objMap.put("missionData", missionDataArray);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue