Commit a6319170 zshaohui

1.agv获取不到目的地修改

2.工单出库,单个料仓 交替着出
1 个父辈 c0bf202f
...@@ -315,18 +315,10 @@ public class XLRBoxHandler extends BaseDeviceHandler { ...@@ -315,18 +315,10 @@ public class XLRBoxHandler extends BaseDeviceHandler {
} }
} }
//获取到上一个出料口和下一个出料口 //最多有2个工单正在执行
String lastOutExport = lastOutExportMap.get(cid); List<DataLog> needOutTaskList = new ArrayList<>();
List<String> nextOutExportList = getNextOutExport(lastOutExport);
log.info(cid + "对应的上一个出料口为:" + lastOutExport+"获取到的出料口顺序为:"+JSON.toJSONString(nextOutExportList));
//按出料口进行分组
for (String nextOutExport : nextOutExportList) {
Map<String, List<DataLog>> map = notEmptyExportList.stream().collect(Collectors.groupingBy(DataLog::getExport)); Map<String, List<DataLog>> map = notEmptyExportList.stream().collect(Collectors.groupingBy(DataLog::getExport));
for (String key : map.keySet()) { for (String key : map.keySet()) {
if (!key.startsWith(nextOutExport)) {
continue;
}
List<DataLog> groupByList = map.get(key); List<DataLog> groupByList = map.get(key);
Collections.sort(groupByList, (o1, o2) -> { Collections.sort(groupByList, (o1, o2) -> {
String feederInfo1 = o1.getAppendData("feederInfo"); String feederInfo1 = o1.getAppendData("feederInfo");
...@@ -342,59 +334,43 @@ public class XLRBoxHandler extends BaseDeviceHandler { ...@@ -342,59 +334,43 @@ public class XLRBoxHandler extends BaseDeviceHandler {
String feeder = StorageExportUtil.getCurrentExportFeeder(key); String feeder = StorageExportUtil.getCurrentExportFeeder(key);
log.info("UM口对应的feeder为:" + feeder + ",当前任务的feeder为:" + feederInfo); log.info("UM口对应的feeder为:" + feeder + ",当前任务的feeder为:" + feederInfo);
if (feederInfo.startsWith(feeder)) { if (feederInfo.startsWith(feeder)) {
log.info("分配出库任务,站位号为:" + dataLog.getAppendData("feederInfo") + ",出料口为:" + key + ",barcode为:" + dataLog.getBarcode()); needOutTaskList.add(dataLog);
orderTask = dataLog;
break;
} }
} }
} }
if (orderTask != null) {
log.info(cid + "对应的下一个出料口为:" + orderTask.getExport());
String lastOutSourceId = lastOutSourceIdMap.get(cid);
if (needOutTaskList != null && !needOutTaskList.isEmpty()) {
for (DataLog dataLog : needOutTaskList) {
if (StringUtils.isNotEmpty(lastOutSourceId)) {
if (!lastOutSourceId.equals(dataLog.getSourceId())) {
orderTask = dataLog;
break; break;
} }
}
//如果没有找到,从头开始找
if (orderTask == null){
lastOutExportMap.put(cid,"");
} else { } else {
lastOutExportMap.put(cid,orderTask.getExport()); orderTask = dataLog;
break;
} }
return orderTask;
} }
if (orderTask == null) {
Map<String, String> lastOutExportMap = Maps.newConcurrentMap(); needOutTaskList = needOutTaskList.stream().sorted(Comparator.comparing(DataLog::getCreateDate)).collect(Collectors.toList());
orderTask = needOutTaskList.get(0);
private static List<String> getNextOutExport(String lastOutExport) {
List<String> exportList = new ArrayList<>();
exportList.add("UM1");
exportList.add("UM5");
exportList.add("UM2");
exportList.add("UM6");
exportList.add("UM3");
exportList.add("UM7");
exportList.add("UM4");
exportList.add("UM8");
int index = 0;
if (StringUtils.isEmpty(lastOutExport)) {
return exportList;
}
for (int i = 0; i < exportList.size(); i++) {
String export = exportList.get(i);
if (lastOutExport.startsWith(export)) {
index = i;
break;
} }
} }
index = (index + 1) >= exportList.size() ? 0 : (index + 1);
List<String> resultList = new ArrayList<>(); if (orderTask != null) {
for (int i = index; i < exportList.size(); i++) { log.info("分配出库任务,站位号为:" + orderTask.getAppendData("feederInfo") + ",出料口为:" + orderTask.getExport() + ",barcode为:" + orderTask.getBarcode());
resultList.add(exportList.get(i)); lastOutSourceIdMap.put(cid, orderTask.getSourceId());
} else {
lastOutSourceIdMap.put(cid, "");
} }
return resultList; return orderTask;
} }
Map<String, String> lastOutSourceIdMap = Maps.newConcurrentMap();
@Override @Override
public DeviceType getDeviceType() { public DeviceType getDeviceType() {
return DeviceType.SMD_XLR; return DeviceType.SMD_XLR;
......
...@@ -123,9 +123,10 @@ public class StackerController { ...@@ -123,9 +123,10 @@ public class StackerController {
List<String> resultList = new ArrayList<>(); List<String> resultList = new ArrayList<>();
for (String msdCid : msdCidList) { for (String msdCid : msdCidList) {
if (StringUtils.isNotEmpty(storageCid)){ if (StringUtils.isNotEmpty(storageCid)){
if (storageCid.equals(msdCid)); if (storageCid.equals(msdCid)) {
continue; continue;
} }
}
resultList.add(msdCid); resultList.add(msdCid);
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!