fix: 堆叠行架修改、日志优化、定时器优化
This commit is contained in:
@@ -86,9 +86,11 @@ public class QueryAGVStatus {
|
|||||||
if (StrUtil.isNotEmpty(instructionCode)){
|
if (StrUtil.isNotEmpty(instructionCode)){
|
||||||
Device carCode = deviceAppService.findDeviceByCode(instructionCode);
|
Device carCode = deviceAppService.findDeviceByCode(instructionCode);
|
||||||
XgAgvCarDeviceDriver xgAgvCarDeviceDriver;
|
XgAgvCarDeviceDriver xgAgvCarDeviceDriver;
|
||||||
if (carCode.getDeviceDriver() instanceof XgAgvCarDeviceDriver){
|
if (null != carCode) {
|
||||||
xgAgvCarDeviceDriver = (XgAgvCarDeviceDriver) carCode.getDeviceDriver();
|
if (carCode.getDeviceDriver() instanceof XgAgvCarDeviceDriver) {
|
||||||
xgAgvCarDeviceDriver.setTaskType(AgvActionTypeEnum.getStatus(instruction.getAgv_action_type()));
|
xgAgvCarDeviceDriver = (XgAgvCarDeviceDriver) carCode.getDeviceDriver();
|
||||||
|
xgAgvCarDeviceDriver.setTaskType(AgvActionTypeEnum.getStatus(instruction.getAgv_action_type()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -796,15 +796,16 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
|||||||
//放货前二次分配
|
//放货前二次分配
|
||||||
if (address.contains("WAIT")) {
|
if (address.contains("WAIT")) {
|
||||||
String newPointCode = applyCCAgvTask(task_code, instructionDto);
|
String newPointCode = applyCCAgvTask(task_code, instructionDto);
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
|
||||||
.content("叉车允许放货" + "新点位:" + newPointCode)
|
|
||||||
.build();
|
|
||||||
logDto.setLog_level(4);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
|
||||||
JSONObject map = new JSONObject();
|
JSONObject map = new JSONObject();
|
||||||
map.put("status", 200);
|
map.put("status", 200);
|
||||||
map.put("message", "允许叉车放货!" + "点位" + newPointCode);
|
map.put("message", "允许叉车放货!" + "点位" + newPointCode);
|
||||||
log.info("允许仙工AGV放货,设备号 - {}", newPointCode);
|
log.info("允许仙工AGV放货,设备号 - {}", newPointCode);
|
||||||
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
|
.content("叉车允许放货" + "新点位:" + newPointCode + map )
|
||||||
|
.build();
|
||||||
|
logDto.setLog_level(4);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
//放货前等待
|
//放货前等待
|
||||||
@@ -859,6 +860,8 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
|||||||
.build();
|
.build();
|
||||||
logDto2.setLog_level(4);
|
logDto2.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||||
|
//二次分配更新点位
|
||||||
|
updataTask(instructionDto, jo.getString("data"));
|
||||||
//请求成功调用叉车追加动作块
|
//请求成功调用叉车追加动作块
|
||||||
sendAddSequencesToCCAgv(instructionDto.getInstruction_code(), jo.getString("data"), instructionDto);
|
sendAddSequencesToCCAgv(instructionDto.getInstruction_code(), jo.getString("data"), instructionDto);
|
||||||
return jo.getString("data");
|
return jo.getString("data");
|
||||||
@@ -882,7 +885,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
|||||||
//追加订单封口
|
//追加订单封口
|
||||||
jo.put("complete", true);
|
jo.put("complete", true);
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
.device_code("追加叉车运单")
|
.device_code(instructionDto.getCarno())
|
||||||
.content("指令号:" + instructionCode + ",追加叉车运单参数:" + jo)
|
.content("指令号:" + instructionCode + ",追加叉车运单参数:" + jo)
|
||||||
.build();
|
.build();
|
||||||
logDto.setLog_level(4);
|
logDto.setLog_level(4);
|
||||||
@@ -903,8 +906,8 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
|||||||
.timeout(20000)
|
.timeout(20000)
|
||||||
.execute();
|
.execute();
|
||||||
LuceneLogDto logDto1 = LuceneLogDto.builder()
|
LuceneLogDto logDto1 = LuceneLogDto.builder()
|
||||||
.device_code("叉车追加运单响应")
|
.device_code(instructionDto.getCarno())
|
||||||
.content("指令号:" + instructionCode + ",下发追加诺宝叉车运单反馈参数:" + jo)
|
.content("指令号:" + instructionCode + ",下发追加诺宝叉车运单反馈参数:" + result)
|
||||||
.build();
|
.build();
|
||||||
logDto1.setLog_level(4);
|
logDto1.setLog_level(4);
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto1);
|
luceneExecuteLogService.deviceExecuteLog(logDto1);
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice
|
|||||||
}
|
}
|
||||||
// 更新指令状态
|
// 更新指令状态
|
||||||
if (mode == 3 && task > 0) {
|
if (mode == 3 && task > 0) {
|
||||||
if (null!=inst) {
|
if (null != inst) {
|
||||||
inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code();
|
inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code();
|
||||||
}
|
}
|
||||||
updateInstructionStatus();
|
updateInstructionStatus();
|
||||||
@@ -261,10 +261,10 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice
|
|||||||
}
|
}
|
||||||
|
|
||||||
//放货完成
|
//放货完成
|
||||||
if ( action == 4 && move == 0) {
|
if (action == 4 && move == 0) {
|
||||||
if (inst != null) {
|
if (inst != null) {
|
||||||
try {
|
try {
|
||||||
logServer.deviceExecuteLog(this.device_code,"","","放货完成");
|
logServer.deviceExecuteLog(this.device_code, "", "", "放货完成");
|
||||||
finish_instruction(inst);
|
finish_instruction(inst);
|
||||||
Map<String, Object> map1 = new HashMap<>();
|
Map<String, Object> map1 = new HashMap<>();
|
||||||
List list = new ArrayList();
|
List list = new ArrayList();
|
||||||
@@ -278,19 +278,19 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
feedMessage = "";
|
feedMessage = "";
|
||||||
}else {
|
} else {
|
||||||
feedMessage = "universal_feedMessage5";
|
feedMessage = "universal_feedMessage5";
|
||||||
if (mode != 3) {
|
if (mode != 3) {
|
||||||
feedMessage = "universal_feedMessage1";
|
feedMessage = "universal_feedMessage1";
|
||||||
}
|
}
|
||||||
if (action != 8) {
|
if (action != 8) {
|
||||||
feedMessage = "universal_feedMessage2";
|
feedMessage = "universal_feedMessage2";
|
||||||
}
|
}
|
||||||
if (move != 0) {
|
if (move != 0) {
|
||||||
feedMessage = "universal_feedMessage3";
|
feedMessage = "universal_feedMessage3";
|
||||||
}
|
}
|
||||||
if (task == 0) {
|
if (task == 0) {
|
||||||
feedMessage = "universal_feedMessage4";
|
feedMessage = "universal_feedMessage4";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -312,20 +312,27 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice
|
|||||||
if (ObjectUtil.isEmpty(putDeviceCodeList)) {
|
if (ObjectUtil.isEmpty(putDeviceCodeList)) {
|
||||||
putDeviceCodeList = this.getExtraDeviceCodes("put_device_code");
|
putDeviceCodeList = this.getExtraDeviceCodes("put_device_code");
|
||||||
}
|
}
|
||||||
//找终点为入库输送线工位任务类型为行架的任务
|
//先查指令
|
||||||
for (int i = 0; i < getDeviceCodeList.size(); i++) {
|
List<Instruction> instructionList = instructionService.findReadyIns();
|
||||||
String startDeviceCode = getDeviceCodeList.get(i);
|
if (CollUtil.isNotEmpty(instructionList)) {
|
||||||
//先查指令
|
List<Instruction> instructionsReady = new ArrayList<>();
|
||||||
List<TaskDto> taskDtoInstruction = taskserver.queryTaskByDeviceCodeAndStatus2(startDeviceCode);
|
Instruction instructionReady = null;
|
||||||
List<TaskDto> taskDtoStream = taskDtoInstruction.stream().sorted(Comparator.comparing(TaskDto::getCreate_time)).collect(Collectors.toList());
|
for (Instruction instruction : instructionList) {
|
||||||
if (CollUtil.isNotEmpty(taskDtoStream)) {
|
if (getDeviceCodeList.contains(instruction.getStart_device_code())) {
|
||||||
TaskDto taskDtoIns = taskDtoStream.get(0);
|
instructionsReady.add(instruction);
|
||||||
if (TaskTypeEnum.Truss_Task.getIndex().equals(taskDtoIns.getTask_type())) {
|
}
|
||||||
Instruction instruction = instructionService.findByTaskcodeAndStatus(taskDtoIns.getTask_code());
|
}
|
||||||
String interactionJson = taskDtoIns.getInteraction_json();
|
if (CollUtil.isNotEmpty(instructionsReady)) {
|
||||||
|
List<Instruction> instructions = instructionsReady.stream().sorted(Comparator.comparing(Instruction::getCreate_time)).collect(Collectors.toList());
|
||||||
|
instructionReady = instructions.get(0);
|
||||||
|
}
|
||||||
|
if (ObjectUtil.isNotEmpty(instructionReady)) {
|
||||||
|
TaskDto byTaskCode = taskserver.findByTaskCode(instructionReady.getTask_code());
|
||||||
|
String interactionJson = byTaskCode.getInteraction_json();
|
||||||
|
if (StrUtil.isNotEmpty(interactionJson)) {
|
||||||
InteractionJsonDTO interactionJsonDTO = JSON.parseObject(interactionJson, InteractionJsonDTO.class);
|
InteractionJsonDTO interactionJsonDTO = JSON.parseObject(interactionJson, InteractionJsonDTO.class);
|
||||||
String start_device_code = taskDtoIns.getStart_device_code();
|
String start_device_code = byTaskCode.getStart_device_code();
|
||||||
String next_device_code = taskDtoIns.getNext_device_code();
|
String next_device_code = byTaskCode.getNext_device_code();
|
||||||
Device startDevice = deviceAppService.findDeviceByCode(start_device_code);
|
Device startDevice = deviceAppService.findDeviceByCode(start_device_code);
|
||||||
Device nextDevice = deviceAppService.findDeviceByCode(next_device_code);
|
Device nextDevice = deviceAppService.findDeviceByCode(next_device_code);
|
||||||
String start_addr = startDevice.getExtraValue().get("address").toString();
|
String start_addr = startDevice.getExtraValue().get("address").toString();
|
||||||
@@ -350,108 +357,108 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice
|
|||||||
Map<String, Object> map10 = new HashMap<>();
|
Map<String, Object> map10 = new HashMap<>();
|
||||||
Map<String, Object> map11 = new HashMap<>();
|
Map<String, Object> map11 = new HashMap<>();
|
||||||
try {
|
try {
|
||||||
pushPLC(map1, map2, next_addr, map3, start_addr, map4, instruction.getInstruction_code(), interactionJsonDTO, map5, map6, map7, map8, map9,map10,map11,instruction.getVehicle_code());
|
pushPLC(map1, map2, next_addr, map3, start_addr, map4, instructionReady.getInstruction_code(), interactionJsonDTO, map5, map6, map7, map8, map9, map10, map11, instructionReady.getVehicle_code());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logServer.deviceExecuteLog(device_code, "", "", "当前设备:" + device_code + ",下发指令:"
|
logServer.deviceExecuteLog(device_code, "", "", "当前设备:" + device_code + ",下发指令:"
|
||||||
+ instruction.getInstruction_code() + ",指令起点:" + instruction.getStart_device_code()
|
+ instructionReady.getInstruction_code() + ",指令起点:" + instructionReady.getStart_device_code()
|
||||||
+ ",指令终点:" + instruction.getNext_device_code() + ",交互参数:" + interactionJsonDTO.toString() + ",指令执行失败:" + e.getMessage());
|
+ ",指令终点:" + instructionReady.getNext_device_code() + ",交互参数:" + interactionJsonDTO.toString() + ",指令执行失败:" + e.getMessage());
|
||||||
}
|
}
|
||||||
this.setRequireSucess(true);
|
this.setRequireSucess(true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
List<TaskDto> taskDtos = taskserver.findByTrappedManipulatorReady();
|
} else {
|
||||||
List<TaskDto> taskDtosReady = new ArrayList<>();
|
List<TaskDto> taskDtos = taskserver.findByTrappedManipulatorReady();
|
||||||
TaskDto taskDto = null;
|
List<TaskDto> taskDtosReady = new ArrayList<>();
|
||||||
if (CollUtil.isNotEmpty(taskDtos)) {
|
TaskDto taskDto = null;
|
||||||
for (TaskDto taskDto1 : taskDtos) {
|
if (CollUtil.isNotEmpty(taskDtos)) {
|
||||||
if (getDeviceCodeList.contains(taskDto1.getStart_device_code())) {
|
for (TaskDto taskDto1 : taskDtos) {
|
||||||
taskDtosReady.add(taskDto1);
|
if (getDeviceCodeList.contains(taskDto1.getStart_device_code())) {
|
||||||
}
|
taskDtosReady.add(taskDto1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (CollUtil.isNotEmpty(taskDtosReady)) {
|
}
|
||||||
List<TaskDto> taskDtoList = taskDtosReady.stream().sorted(Comparator.comparing(TaskDto::getCreate_time)).collect(Collectors.toList());
|
if (CollUtil.isNotEmpty(taskDtosReady)) {
|
||||||
taskDto = taskDtoList.get(0);
|
List<TaskDto> taskDtoList = taskDtosReady.stream().sorted(Comparator.comparing(TaskDto::getCreate_time)).collect(Collectors.toList());
|
||||||
|
taskDto = taskDtoList.get(0);
|
||||||
|
}
|
||||||
|
if (ObjectUtil.isNotEmpty(taskDto)) {
|
||||||
|
String interactionJson = taskDto.getInteraction_json();
|
||||||
|
InteractionJsonDTO interactionJsonDTO = JSON.parseObject(interactionJson, InteractionJsonDTO.class);
|
||||||
|
String start_device_code = taskDto.getStart_device_code();
|
||||||
|
String next_device_code = taskDto.getNext_device_code();
|
||||||
|
Device startDevice = deviceAppService.findDeviceByCode(start_device_code);
|
||||||
|
Device nextDevice = deviceAppService.findDeviceByCode(next_device_code);
|
||||||
|
String start_addr = startDevice.getExtraValue().get("address").toString();
|
||||||
|
String next_addr = nextDevice.getExtraValue().get("address").toString();
|
||||||
|
if (ObjectUtil.isEmpty(start_addr)) {
|
||||||
|
notCreateInstMessage = "universal_notCreateInstMessage1";
|
||||||
|
throw new BadRequestException("设备:" + startDevice.getDevice_code() + "未设置电气调度号!");
|
||||||
|
}
|
||||||
|
if (ObjectUtil.isEmpty(next_addr)) {
|
||||||
|
notCreateInstMessage = "universal_notCreateInstMessage1";
|
||||||
|
throw new BadRequestException("设备:" + nextDevice.getDevice_code() + "未设置电气调度号!");
|
||||||
}
|
}
|
||||||
if (ObjectUtil.isNotEmpty(taskDto)) {
|
|
||||||
String interactionJson = taskDto.getInteraction_json();
|
|
||||||
InteractionJsonDTO interactionJsonDTO = JSON.parseObject(interactionJson, InteractionJsonDTO.class);
|
|
||||||
String start_device_code = taskDto.getStart_device_code();
|
|
||||||
String next_device_code = taskDto.getNext_device_code();
|
|
||||||
Device startDevice = deviceAppService.findDeviceByCode(start_device_code);
|
|
||||||
Device nextDevice = deviceAppService.findDeviceByCode(next_device_code);
|
|
||||||
String start_addr = startDevice.getExtraValue().get("address").toString();
|
|
||||||
String next_addr = nextDevice.getExtraValue().get("address").toString();
|
|
||||||
if (ObjectUtil.isEmpty(start_addr)) {
|
|
||||||
notCreateInstMessage = "universal_notCreateInstMessage1";
|
|
||||||
throw new BadRequestException("设备:" + startDevice.getDevice_code() + "未设置电气调度号!");
|
|
||||||
}
|
|
||||||
if (ObjectUtil.isEmpty(next_addr)) {
|
|
||||||
notCreateInstMessage = "universal_notCreateInstMessage1";
|
|
||||||
throw new BadRequestException("设备:" + nextDevice.getDevice_code() + "未设置电气调度号!");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
BeltConveyorDeviceDriver beltConveyorDeviceDriver;
|
BeltConveyorDeviceDriver beltConveyorDeviceDriver;
|
||||||
if (startDevice.getDeviceDriver() instanceof BeltConveyorDeviceDriver) {
|
if (startDevice.getDeviceDriver() instanceof BeltConveyorDeviceDriver) {
|
||||||
beltConveyorDeviceDriver = (BeltConveyorDeviceDriver) startDevice.getDeviceDriver();
|
beltConveyorDeviceDriver = (BeltConveyorDeviceDriver) startDevice.getDeviceDriver();
|
||||||
if (beltConveyorDeviceDriver.getMove() != 1&&beltConveyorDeviceDriver.getMode() != 2) {
|
if (beltConveyorDeviceDriver.getMove() != 1 && beltConveyorDeviceDriver.getMode() != 2) {
|
||||||
notCreateInstMessage = "universal_notCreateInstMessage2";
|
notCreateInstMessage = "universal_notCreateInstMessage2";
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
String taskid = taskDto.getTask_id();
|
|
||||||
String taskcode = taskDto.getTask_code();
|
|
||||||
String start_point_code = taskDto.getStart_point_code();
|
|
||||||
String route_plan_code = taskDto.getRoute_plan_code();
|
|
||||||
String next_point_code = taskDto.getNext_point_code();
|
|
||||||
Instruction instdto = new Instruction();
|
|
||||||
packageData(instdto, route_plan_code, taskid, taskcode, start_device_code, next_device_code, start_point_code, next_point_code);
|
|
||||||
|
|
||||||
try {
|
|
||||||
instructionService.create(instdto);
|
|
||||||
} catch (Exception e) {
|
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content(device_code+"创建指令时出现异常:" + e.getMessage())
|
|
||||||
.build();
|
|
||||||
logDto.setLog_level(2);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
//创建指令后修改任务状态
|
|
||||||
taskDto.setTask_status(TaskStatusEnum.BUSY.getIndex());
|
|
||||||
taskserver.update(taskDto);
|
|
||||||
requireSucess = true;
|
|
||||||
|
|
||||||
Map<String, Object> map1 = new HashMap<>();
|
|
||||||
Map<String, Object> map2 = new HashMap<>();
|
|
||||||
Map<String, Object> map3 = new HashMap<>();
|
|
||||||
Map<String, Object> map4 = new HashMap<>();
|
|
||||||
Map<String, Object> map5 = new HashMap<>();
|
|
||||||
Map<String, Object> map6 = new HashMap<>();
|
|
||||||
Map<String, Object> map7 = new HashMap<>();
|
|
||||||
Map<String, Object> map8 = new HashMap<>();
|
|
||||||
Map<String, Object> map9 = new HashMap<>();
|
|
||||||
Map<String, Object> map10 = new HashMap<>();
|
|
||||||
Map<String, Object> map11 = new HashMap<>();
|
|
||||||
try {
|
|
||||||
pushPLC(map1, map2, next_addr, map3, start_addr, map4, instdto.getInstruction_code(), interactionJsonDTO, map5, map6, map7, map8, map9,map10, map11, taskDto.getVehicle_code());
|
|
||||||
} catch (Exception e) {
|
|
||||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
|
||||||
.device_code(device_code)
|
|
||||||
.content(device_code+"创建指令时出现异常:" + e.getMessage())
|
|
||||||
.build();
|
|
||||||
logDto.setLog_level(2);
|
|
||||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
|
||||||
}
|
|
||||||
this.setRequireSucess(true);
|
|
||||||
return true;
|
|
||||||
} else {
|
|
||||||
notCreateInstMessage = "universal_notCreateInstMessage";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String taskid = taskDto.getTask_id();
|
||||||
|
String taskcode = taskDto.getTask_code();
|
||||||
|
String start_point_code = taskDto.getStart_point_code();
|
||||||
|
String route_plan_code = taskDto.getRoute_plan_code();
|
||||||
|
String next_point_code = taskDto.getNext_point_code();
|
||||||
|
Instruction instdto = new Instruction();
|
||||||
|
packageData(instdto, route_plan_code, taskid, taskcode, start_device_code, next_device_code, start_point_code, next_point_code);
|
||||||
|
|
||||||
|
try {
|
||||||
|
instructionService.create(instdto);
|
||||||
|
} catch (Exception e) {
|
||||||
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content(device_code + "创建指令时出现异常:" + e.getMessage())
|
||||||
|
.build();
|
||||||
|
logDto.setLog_level(2);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//创建指令后修改任务状态
|
||||||
|
taskDto.setTask_status(TaskStatusEnum.BUSY.getIndex());
|
||||||
|
taskserver.update(taskDto);
|
||||||
|
requireSucess = true;
|
||||||
|
|
||||||
|
Map<String, Object> map1 = new HashMap<>();
|
||||||
|
Map<String, Object> map2 = new HashMap<>();
|
||||||
|
Map<String, Object> map3 = new HashMap<>();
|
||||||
|
Map<String, Object> map4 = new HashMap<>();
|
||||||
|
Map<String, Object> map5 = new HashMap<>();
|
||||||
|
Map<String, Object> map6 = new HashMap<>();
|
||||||
|
Map<String, Object> map7 = new HashMap<>();
|
||||||
|
Map<String, Object> map8 = new HashMap<>();
|
||||||
|
Map<String, Object> map9 = new HashMap<>();
|
||||||
|
Map<String, Object> map10 = new HashMap<>();
|
||||||
|
Map<String, Object> map11 = new HashMap<>();
|
||||||
|
try {
|
||||||
|
pushPLC(map1, map2, next_addr, map3, start_addr, map4, instdto.getInstruction_code(), interactionJsonDTO, map5, map6, map7, map8, map9, map10, map11, taskDto.getVehicle_code());
|
||||||
|
} catch (Exception e) {
|
||||||
|
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||||
|
.device_code(device_code)
|
||||||
|
.content(device_code + "创建指令时出现异常:" + e.getMessage())
|
||||||
|
.build();
|
||||||
|
logDto.setLog_level(2);
|
||||||
|
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||||
|
}
|
||||||
|
this.setRequireSucess(true);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
notCreateInstMessage = "universal_notCreateInstMessage";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@@ -459,7 +466,6 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void pushPLC(Map<String, Object> map1, Map<String, Object> map2, String next_addr, Map<String, Object> map3, String start_addr, Map<String, Object> map4, String task, InteractionJsonDTO interactionJsonDTO, Map<String, Object> map5, Map<String, Object> map6, Map<String, Object> map7, Map<String, Object> map8, Map<String, Object> map9, Map<String, Object> map10, Map<String, Object> map11, String vehicleCode) {
|
private void pushPLC(Map<String, Object> map1, Map<String, Object> map2, String next_addr, Map<String, Object> map3, String start_addr, Map<String, Object> map4, String task, InteractionJsonDTO interactionJsonDTO, Map<String, Object> map5, Map<String, Object> map6, Map<String, Object> map7, Map<String, Object> map8, Map<String, Object> map9, Map<String, Object> map10, Map<String, Object> map11, String vehicleCode) {
|
||||||
|
|
||||||
List list = new ArrayList();
|
List list = new ArrayList();
|
||||||
@@ -511,7 +517,7 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice
|
|||||||
map11.put("value", vehicleCode);
|
map11.put("value", vehicleCode);
|
||||||
list.add(map11);
|
list.add(map11);
|
||||||
}
|
}
|
||||||
Map<String, Object> map12 = new HashMap<>();
|
Map<String, Object> map12 = new HashMap<>();
|
||||||
if (ObjectUtil.isNotEmpty(interactionJsonDTO.getBindingTimes())) {
|
if (ObjectUtil.isNotEmpty(interactionJsonDTO.getBindingTimes())) {
|
||||||
map12.put("code", "to_binding_times");
|
map12.put("code", "to_binding_times");
|
||||||
map12.put("value", interactionJsonDTO.getBindingTimes());
|
map12.put("value", interactionJsonDTO.getBindingTimes());
|
||||||
@@ -522,22 +528,23 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice
|
|||||||
this.writing(list);
|
this.writing(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void packageData(Instruction instdto, String route_plan_code, String taskid, String taskcode, String start_device_code, String next_device_code, String start_point_code, String next_point_code) {
|
private void packageData(Instruction instdto, String route_plan_code, String taskid, String taskcode, String start_device_code, String next_device_code, String start_point_code, String next_point_code) {
|
||||||
instdto.setInstruction_id(IdUtil.simpleUUID());
|
instdto.setInstruction_id(IdUtil.simpleUUID());
|
||||||
instdto.setRoute_plan_code(route_plan_code);
|
instdto.setRoute_plan_code(route_plan_code);
|
||||||
instdto.setTask_id(taskid);
|
instdto.setTask_id(taskid);
|
||||||
instdto.setTask_code(taskcode);
|
instdto.setTask_code(taskcode);
|
||||||
instdto.setCreate_by(SecurityUtils.getCurrentNickName());
|
instdto.setCreate_by(SecurityUtils.getCurrentNickName());
|
||||||
instdto.setStart_device_code(start_device_code);
|
instdto.setStart_device_code(start_device_code);
|
||||||
instdto.setNext_device_code(next_device_code);
|
instdto.setNext_device_code(next_device_code);
|
||||||
instdto.setStart_point_code(start_point_code);
|
instdto.setStart_point_code(start_point_code);
|
||||||
instdto.setNext_point_code(next_point_code);
|
instdto.setNext_point_code(next_point_code);
|
||||||
instdto.setInstruction_status("0");
|
instdto.setInstruction_status("0");
|
||||||
instdto.setExecute_device_code(device_code);
|
instdto.setExecute_device_code(device_code);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 完成指令
|
* 完成指令
|
||||||
|
*
|
||||||
* @param inst
|
* @param inst
|
||||||
* @return
|
* @return
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
@@ -549,6 +556,7 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 下发信号
|
* 下发信号
|
||||||
|
*
|
||||||
* @param list
|
* @param list
|
||||||
*/
|
*/
|
||||||
public void writing(List list) {
|
public void writing(List list) {
|
||||||
@@ -591,6 +599,7 @@ public class TrappedManipulatorManipulatorDeviceDriver extends AbstractOpcDevice
|
|||||||
public String getToParam() {
|
public String getToParam() {
|
||||||
return this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + ".";
|
return this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + ".";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONObject getDeviceStatusName() {
|
public JSONObject getDeviceStatusName() {
|
||||||
JSONObject jo = new JSONObject();
|
JSONObject jo = new JSONObject();
|
||||||
|
|||||||
@@ -493,4 +493,6 @@ public interface InstructionService extends CommonService<InstructionMybatis> {
|
|||||||
|
|
||||||
|
|
||||||
List<Instruction> findByNextCode(String nextDeviceCode);
|
List<Instruction> findByNextCode(String nextDeviceCode);
|
||||||
|
|
||||||
|
List<Instruction> findReadyIns();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ import org.nl.acs.task.TaskInstructionLock;
|
|||||||
import org.nl.acs.task.domain.Task;
|
import org.nl.acs.task.domain.Task;
|
||||||
import org.nl.acs.task.enums.AgvSystemTypeEnum;
|
import org.nl.acs.task.enums.AgvSystemTypeEnum;
|
||||||
import org.nl.acs.task.enums.TaskStatusEnum;
|
import org.nl.acs.task.enums.TaskStatusEnum;
|
||||||
|
import org.nl.acs.task.enums.TaskTypeEnum;
|
||||||
import org.nl.acs.task.service.TaskService;
|
import org.nl.acs.task.service.TaskService;
|
||||||
import org.nl.acs.task.service.dto.TaskDto;
|
import org.nl.acs.task.service.dto.TaskDto;
|
||||||
import org.nl.acs.common.base.PageInfo;
|
import org.nl.acs.common.base.PageInfo;
|
||||||
@@ -1945,6 +1946,16 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
|
|||||||
return instructionList;
|
return instructionList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Instruction> findReadyIns() {
|
||||||
|
|
||||||
|
//根据时间升序取第一个
|
||||||
|
List<Instruction> instructionsList = instructions.stream()
|
||||||
|
.filter(item -> StrUtil.equals(item.getInstruction_type(), TaskTypeEnum.Truss_Task.getIndex())
|
||||||
|
&& StrUtil.equals(item.getInstruction_status(), TaskStatusEnum.READY.getIndex())).collect(Collectors.toList());
|
||||||
|
return instructionsList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private boolean regional(String start_device_code, String next_device_code) {
|
private boolean regional(String start_device_code, String next_device_code) {
|
||||||
Device startdevice = deviceAppService.findDeviceByCode(start_device_code);
|
Device startdevice = deviceAppService.findDeviceByCode(start_device_code);
|
||||||
|
|||||||
@@ -236,7 +236,7 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
|
public Map<String, Object> queryAll( Map whereJson, Pageable page) {
|
||||||
|
|
||||||
String task_code = (String) whereJson.get("task_code");
|
String task_code = (String) whereJson.get("task_code");
|
||||||
String vehicle_code = (String) whereJson.get("vehicle_code");
|
String vehicle_code = (String) whereJson.get("vehicle_code");
|
||||||
@@ -806,14 +806,8 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
|
|||||||
this.addTaskToCache(dto);
|
this.addTaskToCache(dto);
|
||||||
//反馈上位系统任务状态
|
//反馈上位系统任务状态
|
||||||
|
|
||||||
CompletableFuture.runAsync(() -> {
|
this.feedWmsTaskStatus(entity);
|
||||||
// 异步更新指令状态
|
|
||||||
try {
|
|
||||||
this.feedWmsTaskStatus(entity);
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1641,9 +1635,9 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
|
|||||||
//TODO 有需要根据上位系统反馈的信息再做进一步处理
|
//TODO 有需要根据上位系统反馈的信息再做进一步处理
|
||||||
|
|
||||||
CompletableFuture.runAsync(() -> {
|
CompletableFuture.runAsync(() -> {
|
||||||
|
acstowmsService.feedTaskStatus(ja);
|
||||||
// 异步更新指令状态
|
// 异步更新指令状态
|
||||||
try {
|
try {
|
||||||
acstowmsService.feedTaskStatus(ja);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,6 +52,5 @@ public class AutoCleanLucenceLog {
|
|||||||
TermRangeQuery termRangeQuery = new TermRangeQuery("logTime", new BytesRef(startDate), new BytesRef(endDate), true, true);
|
TermRangeQuery termRangeQuery = new TermRangeQuery("logTime", new BytesRef(startDate), new BytesRef(endDate), true, true);
|
||||||
writer.deleteDocuments(termRangeQuery);
|
writer.deleteDocuments(termRangeQuery);
|
||||||
writer.commit();
|
writer.commit();
|
||||||
writer.close();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user