fix:修复手动创建指令失败问题

This commit is contained in:
2025-06-16 09:46:55 +08:00
parent 58663e44df
commit 240a195be6
3 changed files with 28 additions and 28 deletions

View File

@@ -145,11 +145,6 @@ public class AgvWaitUtil {
if (manipulatorAgvStationDeviceDriver.getTo_command() != 3) {
manipulatorAgvStationDeviceDriver.writing(3);
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (manipulatorAgvStationDeviceDriver.getAction() == 0 && manipulatorAgvStationDeviceDriver.getMode() == 2) {
if (StrUtil.equals(paramService.findByCode(AcsConfig.isSendLms).getValue(), CommonFinalParam.ONE)){
if (!AgvActionTypeEnum.ORDINARY.getCode().equals(inst.getAgv_action_type())) {

View File

@@ -390,6 +390,9 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
dto = foramte(dto);
String task_code = dto.getTask_code();
TaskDto task = taskService.findByCodeFromCache(task_code);
if (task == null) {
throw new BadRequestException("任务号为:" + task_code + "的任务不存在!");
}
if (regional(dto.getStart_device_code(), dto.getNext_device_code())) {
throw new BadRequestException(LangProcess.msg("error_regional_max"));
}
@@ -420,9 +423,9 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
if (StrUtil.isEmpty(dto.getIs_send())) {
dto.setIs_send(task.getIs_send());
}
if (StrUtil.isEmpty(dto.getLink_num())) {
dto.setIs_send(task.getLink_num());
}
// if (StrUtil.isEmpty(dto.getLink_num())) {
// dto.setIs_send(task.getLink_num());
// }
if (StrUtil.isEmpty(dto.getVehicle_code2())) {
dto.setVehicle_code2(task.getVehicle_code2());
}
@@ -604,6 +607,9 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
dto = foramte(dto);
String task_code = dto.getTask_code();
TaskDto task = taskService.findByCodeFromCache(task_code);
if (ObjectUtil.isEmpty(task)) {
throw new BadRequestException("任务不存在!");
}
if (regional(dto.getStart_device_code(), dto.getNext_device_code())) {
throw new BadRequestException(LangProcess.msg("error_regional_max"));
}
@@ -634,9 +640,9 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
if (StrUtil.isEmpty(dto.getIs_send())) {
dto.setIs_send(task.getIs_send());
}
if (StrUtil.isEmpty(dto.getLink_num())) {
dto.setIs_send(task.getLink_num());
}
// if (StrUtil.isEmpty(dto.getLink_num())) {
// dto.setIs_send(task.getLink_num());
// }
if (StrUtil.isEmpty(dto.getVehicle_code2())) {
dto.setVehicle_code2(task.getVehicle_code2());
@@ -2097,7 +2103,6 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
}
public List<Instruction> findReadyInstructions() {
//根据时间升序取第一个

View File

@@ -130,8 +130,6 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
private static final String BQHJ_TYPE = "6";
@Override
public PageInfo<TaskDto> queryAll(TaskQueryParam query, Pageable pageable) {
IPage<Task> queryPage = PageUtil.toMybatisPage(pageable);
@@ -453,7 +451,7 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
public TaskDto findByBarcodeFromCache(String barcode) {
Task task = new LambdaQueryChainWrapper<>(taskMapper)
.eq(Task::getVehicle_code, barcode)
.eq(Task::getTask_status,TaskStatusEnum.READY.getIndex())
.eq(Task::getTask_status, TaskStatusEnum.READY.getIndex())
.one();
return ConvertUtil.convert(task, TaskDto.class);
}
@@ -505,10 +503,10 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
&& StrUtil.equals(task.getTask_status(), TaskStatusEnum.BUSY.getIndex()))
.filter(task -> instructionService.findByTaskcodeAndStatus(task.getTask_code()) != null)
.collect(Collectors.toList());
if(CollUtil.isEmpty(collect)){
if (CollUtil.isEmpty(collect)) {
tasks.forEach(
task ->{
if(TASK_TYPE.equals(task.getTask_type()) && StrUtil.isNotEmpty(task.getPut_device_code())){
task -> {
if (TASK_TYPE.equals(task.getTask_type()) && StrUtil.isNotEmpty(task.getPut_device_code())) {
Instruction instruction = instructionService.findByDeviceCodeFromCache(task.getNext_device_code());
if (ObjectUtil.isNotEmpty(instruction)) {
if (StrUtil.equals(instruction.getStart_device_code(), device_code)) {
@@ -535,10 +533,10 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
&& StrUtil.equals(task.getTask_status(), TaskStatusEnum.BUSY.getIndex()))
.filter(task -> instructionService.findByTaskcodeAndStatus(task.getTask_code()) != null)
.collect(Collectors.toList());
if(CollUtil.isEmpty(collect)){
if (CollUtil.isEmpty(collect)) {
tasks.forEach(
task ->{
if(BQHJ_TYPE.equals(task.getTask_type()) && StrUtil.isNotEmpty(task.getPut_device_code())){
task -> {
if (BQHJ_TYPE.equals(task.getTask_type()) && StrUtil.isNotEmpty(task.getPut_device_code())) {
Instruction instruction = instructionService.findByDeviceCodeFromCache(task.getNext_device_code());
if (ObjectUtil.isNotEmpty(instruction)) {
if (StrUtil.equals(instruction.getStart_device_code(), device_code)) {
@@ -947,7 +945,7 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
//反馈上位系统任务状态
this.feedWmsTaskStatus(entity);
//关闭仙工运单序列
if(StrUtil.equals(task.getTask_type(),TaskTypeEnum.Standard_AGV_Task.getCode()) && (StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.One_NDC_System_Type.getCode())||StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.XG_System_Type.getCode()))) {
if (StrUtil.equals(task.getTask_type(), TaskTypeEnum.Standard_AGV_Task.getCode()) && (StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.One_NDC_System_Type.getCode()) || StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.XG_System_Type.getCode()))) {
this.markComplete(entity);
}
}
@@ -979,7 +977,7 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
//反馈上位系统任务状态
// this.feedWmsTaskStatus(entity);
//关闭仙工运单序列
if(StrUtil.equals(task.getTask_type(),TaskTypeEnum.Standard_AGV_Task.getCode()) && (StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.One_NDC_System_Type.getCode())||StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.XG_System_Type.getCode()))) {
if (StrUtil.equals(task.getTask_type(), TaskTypeEnum.Standard_AGV_Task.getCode()) && (StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.One_NDC_System_Type.getCode()) || StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.XG_System_Type.getCode()))) {
this.markComplete(entity);
}
}
@@ -1011,7 +1009,7 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
//反馈上位系统任务状态
this.feedWmsTaskStatus(entity);
//关闭仙工运单序列
if(StrUtil.equals(task.getTask_type(),TaskTypeEnum.Standard_AGV_Task.getCode()) && (StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.One_NDC_System_Type.getCode())||StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.XG_System_Type.getCode()))) {
if (StrUtil.equals(task.getTask_type(), TaskTypeEnum.Standard_AGV_Task.getCode()) && (StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.One_NDC_System_Type.getCode()) || StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.XG_System_Type.getCode()))) {
this.markComplete(entity);
}
}
@@ -1055,6 +1053,9 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
List<RouteLineDto> shortPathsList =
routeLineService.getShortPathLines(
start_device_code, acsTask.getNext_device_code(), route_plan_code);
if (shortPathsList.size() == 0) {
throw new BadRequestException(start_device_code + "->" + acsTask.getNext_device_code() + "路由不存在!");
}
Device startDevice = deviceAppService.findDeviceByCode(start_device_code);
Device nextDevice = deviceAppService.findDeviceByCode(next_device_code);
RouteLineDto routeLineDto = shortPathsList.get(0);
@@ -1066,9 +1067,9 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
for (int m = 0; m < pathlist.size(); m++) {
if (pathlist.get(m).equals(start_device_code)) {
//起点为货架跳过堆垛机
if (startDevice.getDeviceDriver() instanceof StandardStorageDeviceDriver ) {
if (startDevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
index = m + 2;
}else {
} else {
index = m + 1;
}
break;
@@ -1287,13 +1288,12 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
public TaskDto findByStarCodeAndExcute(String start_code) {
Optional<TaskDto> optionalTask = tasks.stream()
.filter(task -> StrUtil.equals(task.getStart_device_code(), start_code)
&& (StrUtil.equals(task.getTask_status(), TaskStatusEnum.BUSY.getIndex())||StrUtil.equals(task.getTask_status(), TaskStatusEnum.READY.getIndex())))
&& (StrUtil.equals(task.getTask_status(), TaskStatusEnum.BUSY.getIndex()) || StrUtil.equals(task.getTask_status(), TaskStatusEnum.READY.getIndex())))
.findFirst();
return optionalTask.orElse(null);
}
@Override
public TaskDto findByEndCodeAndReady(String device_code) {
Optional<TaskDto> optionalTask = tasks.stream()