fix: 解决连续创建多个指令

This commit is contained in:
yanps
2024-03-19 18:23:10 +08:00
parent 3e808280ad
commit c9fb151de5
2 changed files with 12 additions and 4 deletions

View File

@@ -251,6 +251,10 @@ public class IndoorManipulatorDeviceDriver extends AbstractOpcDeviceDriver imple
inst = null;
message = null;
}
if(mode == 2 && requireSucess){
this.setRequireSucess(false);
logServer.deviceExecuteLog(this.device_code, "", "", "再次信号复位requireSuccess" + requireSucess);
}
logServer.deviceItemValue(this.device_code, "mode", String.valueOf(mode));
logServer.deviceExecuteLog(this.device_code, "", "", "信号mode" + last_mode + "->" + mode);
}

View File

@@ -1,6 +1,7 @@
package org.nl.acs.instruction.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.date.DateUtil;
@@ -15,6 +16,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
@@ -367,10 +369,12 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
if(regional(dto.getStart_device_code(), dto.getNext_device_code())){
throw new BadRequestException(LangProcess.msg("error_regional_max"));
}
String start_device_code = dto.getStart_device_code();
if(StrUtil.isNotEmpty(dto.getTask_code())){
InstructionMybatis instructionMybatis = instructionMapper.selectList(Wrappers.lambdaQuery(InstructionMybatis.class)
.eq(InstructionMybatis::getTask_code, dto.getTask_code())).get(0);
if(ObjectUtil.isNotEmpty(instructionMybatis) && instructionMybatis.getStart_device_code().equals(dto.getStart_device_code())){
List<InstructionMybatis> instructionMybatis = instructionMapper.selectList(Wrappers.lambdaQuery(InstructionMybatis.class)
.eq(InstructionMybatis::getTask_code, dto.getTask_code()));
if(CollUtil.isNotEmpty(instructionMybatis) && instructionMybatis.stream().anyMatch(inst -> inst.getStart_device_code()
.equals(start_device_code))){
return;
}
}
@@ -436,7 +440,7 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
StandardCoveyorControlWithScannerDeviceDriver standardCoveyorControlWithScannerDeviceDriver;
try {
String start_device_code = dto.getStart_device_code();
/*String start_device_code = dto.getStart_device_code();*/
String next_device_code = dto.getNext_device_code();
String route_plan_code = task.getRoute_plan_code();
List<RouteLineDto> shortPathsList =