opt: 优化内包间行架任务下发

This commit is contained in:
yanps
2023-12-26 21:55:40 +08:00
parent 116f8a0cfe
commit adc6d7f74d
2 changed files with 14 additions and 37 deletions

View File

@@ -781,25 +781,7 @@ public class IndoorManipulatorDeviceDriver extends AbstractOpcDeviceDriver imple
if (ObjectUtil.isNotEmpty(taskDtos)) {
//按照优先级排序 优先级相等按照创建时间排序
taskDtos = this.sortTask(taskDtos);
TaskDto taskDto = null;
for (int i1 = 0; i1 < taskDtos.size(); i1++) {
taskDto = taskDtos.get(i1);
Boolean flag;
if ("6".equals(taskDto.getTruss_type())) {
flag = checkAgv(taskDto);
if (flag){
break;
}
if (!flag && i1 == taskDtos.size()-1) {
notCreateInstMessage = "rgv条件不匹配"+"任务号为:"+taskDto.getTask_code();
return false;
}
}else {
break;
}
}
TaskDto taskDto = taskDtos.get(0);
//存在行架->暂存的AGV任务 需要过滤
// 9 行架任务
if (!StrUtil.equals(taskDto.getTask_type(), "9")) {
@@ -845,26 +827,16 @@ public class IndoorManipulatorDeviceDriver extends AbstractOpcDeviceDriver imple
return true;
} else {
List<TaskDto> taskDtoList = taskserver.queryTaskByDeviceCode(startDeviceCode);
//按照优先级排序 优先级相等按照创建时间排序
taskDtoList = this.sortTask(taskDtoList);
if (ObjectUtil.isNotEmpty(taskDtoList)) {
for (int j = 0; j < taskDtoList.size(); j++) {
//按照优先级排序 优先级相等按照创建时间排序
taskDtoList = this.sortTask(taskDtoList);
for (int i1 = 0; i1 < taskDtoList.size(); i1++) {
task = taskDtoList.get(i1);
Boolean flag;
if ("6".equals(task.getTruss_type())) {
flag = checkAgv(task);
if (flag){
break;
}
if (!flag && i1 == taskDtos.size()-1) {
notCreateInstMessage = "rgv条件不匹配"+"任务号为:"+task.getTask_code();
return false;
}
}else {
break;
task = taskDtoList.get(j);
if ("6".equals(task.getTruss_type())) {
Boolean aBoolean = checkAgv(task);
if (!aBoolean) {
continue;
}
}
// 9 行架任务
if (!StrUtil.equals(task.getTask_type(), "9")) {
@@ -986,8 +958,12 @@ public class IndoorManipulatorDeviceDriver extends AbstractOpcDeviceDriver imple
if (agv1.getDeviceDriver() instanceof RgvDeviceDriver && agv2.getDeviceDriver() instanceof RgvDeviceDriver) {
rgv1 = (RgvDeviceDriver) agv1.getDeviceDriver();
rgv2 = (RgvDeviceDriver) agv2.getDeviceDriver();
if ((rgv1.getMode() == 2 && rgv1.getMove1() == 1 && rgv1.getMove2() == 0 ) || (rgv2.getMode() == 2 && rgv2.getMove1() == 1 && rgv2.getMove2() == 0 )) {
if ((rgv1.getMode() == 2 && rgv1.getMove1() == 1 && rgv1.getMove2() == 0) || (rgv2.getMode() == 2 && rgv2.getMove1() == 1 && rgv2.getMove2() == 0)) {
return true;
} else if (rgv1.getMode() != 2) {
logServer.deviceExecuteLog(this.device_code, "", "", "创建不了指令的原因,mode:" + mode + "不等于2");
} else if (rgv1.getMove1() != 1) {
logServer.deviceExecuteLog(this.device_code, "", "", "创建不了指令的原因,move1:" + rgv1.getMove1() + "不等于1");
}
}
}

View File

@@ -418,6 +418,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
@Override
public ApplyManipulatorActionResponse applyManipulatorActionRequest(ApplyManipulatorActionRequest param) {
log.info("向LMS申请反馈,请求参数{}",param);
try {
MDC.put(log_file_type, log_type);
ApplyManipulatorActionResponse applyManipulatorActionResponse = new ApplyManipulatorActionResponse();