diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_stacker/StandardStackerDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_stacker/StandardStackerDeviceDriver.java index f6f759b..f27bd37 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_stacker/StandardStackerDeviceDriver.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_stacker/StandardStackerDeviceDriver.java @@ -394,19 +394,19 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme } else if (error != 0) { message = "有报警"; //指定库位满入 - if(error == 5){ + if (error == 5) { } //空出 - if(error == 6){ + if (error == 6) { } //浅货位有货 - if(error == 16){ + if (error == 16) { //放货 - if(cargoMove==1){ + if (cargoMove == 1) { - }else if(cargoMove==0){ + } else if (cargoMove == 0) { //取货 } @@ -416,9 +416,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme HashMap map = new HashMap(); switch (command) { case 0: - if (task == 0) { - applyTask(); - } + applyTask(); requireSucess = true; break; case 1: @@ -432,13 +430,13 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme if (StrUtil.equals(nextDevice.getDevice_type(), DeviceType.conveyor.name())) { List list = deviceExtraService.list(Wrappers.lambdaQuery(DeviceExtra.class).eq(DeviceExtra::getDevice_code, next_device_code)); for (DeviceExtra deviceExtra : list) { - if("x".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())){ + if ("x".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())) { map.put("to_x", deviceExtra.getExtra_value()); } - if("z".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())){ + if ("z".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())) { map.put("to_z", deviceExtra.getExtra_value()); } - if("y".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())){ + if ("y".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())) { map.put("to_y", deviceExtra.getExtra_value()); } } @@ -568,7 +566,7 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme //输入:指令类型多种\ 指令状态多种\ Instruction instruction1 = new Instruction(); instruction1.setInstruction_status("0"); - List instructions = instructionService.findByDeviceCodes(instruction1); + List instructions = instructionService.findByDeviceCodes(instruction1, false); if (CollUtil.isEmpty(instructions) || instructions.size() < 1) { return false; } @@ -625,26 +623,26 @@ public class StandardStackerDeviceDriver extends AbstractOpcDeviceDriver impleme if (StrUtil.equals(startDevice.getDevice_type(), DeviceType.conveyor.name())) { List list = deviceExtraService.list(Wrappers.lambdaQuery(DeviceExtra.class).eq(DeviceExtra::getDevice_code, start_device_code)); for (DeviceExtra deviceExtra : list) { - if("x".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())){ + if ("x".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())) { map.put("to_x", deviceExtra.getExtra_value()); } - if("z".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())){ + if ("z".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())) { map.put("to_z", deviceExtra.getExtra_value()); } - if("y".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())){ + if ("y".equals(deviceExtra.getExtra_code()) && StrUtil.isNotEmpty(deviceExtra.getExtra_value())) { map.put("to_y", deviceExtra.getExtra_value()); } } } if (StrUtil.equals(startDevice.getDevice_type(), DeviceType.storage.name())) { - map.put("to_z", inst.getFrom_z()); + map.put("to_y", inst.getFrom_z()); if (inst.getFrom_x().length() > 1) { String substring = inst.getFrom_x().substring(1); - map.put("to_x", substring); + map.put("to_z", substring); } else { - map.put("to_x", inst.getFrom_x()); + map.put("to_z", inst.getFrom_x()); } - map.put("to_y", inst.getFrom_y()); + map.put("to_x", inst.getFrom_y()); } this.writing(map); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java index 7f5e01f..406ea63 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/InstructionService.java @@ -321,5 +321,5 @@ public interface InstructionService extends CommonService { * @param instruction1 * @return */ - List findByDeviceCodes(Instruction instruction1); + List findByDeviceCodes(Instruction instruction1,Boolean flay); } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java index e02227d..7defbbf 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/instruction/service/impl/InstructionServiceImpl.java @@ -78,9 +78,9 @@ import java.util.concurrent.CopyOnWriteArrayList; import java.util.regex.Pattern; /** -* @author jiaolm -* @date 2023-05-09 -*/ + * @author jiaolm + * @date 2023-05-09 + */ @Service @Slf4j // @CacheConfig(cacheNames = InstructionService.CACHE_KEY) @@ -93,7 +93,7 @@ public class InstructionServiceImpl extends CommonServiceImpl instructions = new CopyOnWriteArrayList(); -// List instructions_mybatis = new CopyOnWriteArrayList(); + // List instructions_mybatis = new CopyOnWriteArrayList(); @Autowired DeviceAppService deviceAppService; @Autowired @@ -115,7 +115,7 @@ public class InstructionServiceImpl extends CommonServiceImpl queryAll(InstructionQueryParam query){ + public List queryAll(InstructionQueryParam query) { return ConvertUtil.convertList(instructionMapper.selectList(QueryHelpMybatisPlus.getPredicate(query)), InstructionDto.class); } @@ -132,7 +132,7 @@ public class InstructionServiceImpl extends CommonServiceImpl ids){ + public int removeByIds(Set ids) { // delCaches(ids); return instructionMapper.deleteBatchIds(ids); } @Override @Transactional(rollbackFor = Exception.class) - public int removeById(String id){ + public int removeById(String id) { Set set = new HashSet<>(1); set.add(id); return this.removeByIds(set); @@ -180,7 +180,7 @@ public class InstructionServiceImpl extends CommonServiceImpl(ConvertUtil.convertList(list,Instruction.class)); + this.instructions = new CopyOnWriteArrayList<>(ConvertUtil.convertList(list, Instruction.class)); } @Override @@ -196,13 +196,13 @@ public class InstructionServiceImpl extends CommonServiceImpl queryPage = PageUtil.toMybatisPage(page); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(InstructionMybatis::getIs_delete,0); - wrapper.and(StringUtils.isNotBlank(code), instructionMybatis -> instructionMybatis.like(InstructionMybatis::getInstruction_code,code).or().like(InstructionMybatis::getTask_code,code)); - wrapper.like(StringUtils.isNotBlank(vehicle_code),InstructionMybatis::getVehicle_code,vehicle_code); - wrapper.eq(StringUtils.isNotBlank(material_type),InstructionMybatis::getMaterial,material_type); - wrapper.eq(StringUtils.isNotBlank(status),InstructionMybatis::getInstruction_status,status); - wrapper.and(StringUtils.isNotBlank(point_code),instructionMybatis -> instructionMybatis.like(InstructionMybatis::getStart_point_code,point_code).or().like(InstructionMybatis::getNext_point_code,point_code)); - wrapper.eq(StringUtils.isNotBlank(instruction_type),InstructionMybatis::getInstruction_type,instruction_type); - wrapper.le(InstructionMybatis::getInstruction_status,1); + wrapper.and(StringUtils.isNotBlank(code), instructionMybatis -> instructionMybatis.like(InstructionMybatis::getInstruction_code, code).or().like(InstructionMybatis::getTask_code, code)); + wrapper.like(StringUtils.isNotBlank(vehicle_code), InstructionMybatis::getVehicle_code, vehicle_code); + wrapper.eq(StringUtils.isNotBlank(material_type), InstructionMybatis::getMaterial, material_type); + wrapper.eq(StringUtils.isNotBlank(status), InstructionMybatis::getInstruction_status, status); + wrapper.and(StringUtils.isNotBlank(point_code), instructionMybatis -> instructionMybatis.like(InstructionMybatis::getStart_point_code, point_code).or().like(InstructionMybatis::getNext_point_code, point_code)); + wrapper.eq(StringUtils.isNotBlank(instruction_type), InstructionMybatis::getInstruction_type, instruction_type); + wrapper.le(InstructionMybatis::getInstruction_status, 1); if (!StrUtil.isEmpty(is_over)) { if (StrUtil.equals(is_over, "1")) { wrapper.ge(InstructionMybatis::getInstruction_status, InstructionStatusEnum.FINISHED.getIndex()); @@ -210,7 +210,7 @@ public class InstructionServiceImpl extends CommonServiceImpl insPage = instructionMapper.selectPage(queryPage,wrapper); + IPage insPage = instructionMapper.selectPage(queryPage, wrapper); final JSONObject json = (JSONObject) JSON.toJSON(ConvertUtil.convertPage(insPage, InstructionDto.class)); return json; } @@ -229,31 +229,31 @@ public class InstructionServiceImpl extends CommonServiceImpl wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(InstructionMybatis::getIs_delete,"0"); if (!StrUtil.isEmpty(code)) { - wrapper.and(instructionMybatis -> instructionMybatis.like(InstructionMybatis::getInstruction_code,code).or().like(InstructionMybatis::getTask_code,code)); + wrapper.and(instructionMybatis -> instructionMybatis.like(InstructionMybatis::getInstruction_code, code).or().like(InstructionMybatis::getTask_code, code)); } if (!StrUtil.isEmpty(vehicle_code)) { - wrapper.like(InstructionMybatis::getVehicle_code,vehicle_code); + wrapper.like(InstructionMybatis::getVehicle_code, vehicle_code); } if (!StrUtil.isEmpty(material_type)) { - wrapper.eq(InstructionMybatis::getMaterial,material_type); + wrapper.eq(InstructionMybatis::getMaterial, material_type); } if (!StrUtil.isEmpty(status)) { - wrapper.eq(InstructionMybatis::getInstruction_status,status); + wrapper.eq(InstructionMybatis::getInstruction_status, status); } if (!StrUtil.isEmpty(point_code)) { - wrapper.and(instructionMybatis -> instructionMybatis.like(InstructionMybatis::getStart_point_code,point_code).or().like(InstructionMybatis::getNext_point_code,point_code)); + wrapper.and(instructionMybatis -> instructionMybatis.like(InstructionMybatis::getStart_point_code, point_code).or().like(InstructionMybatis::getNext_point_code, point_code)); } if (!StrUtil.isEmpty(create_time) && !StrUtil.isEmpty(end_time)) { - wrapper.between(InstructionMybatis::getCreate_time,create_time,end_time); + wrapper.between(InstructionMybatis::getCreate_time, create_time, end_time); } - IPage insPage = instructionMapper.selectPage(queryPage,wrapper); + IPage insPage = instructionMapper.selectPage(queryPage, wrapper); final JSONObject json = (JSONObject) JSON.toJSON(ConvertUtil.convertPage(insPage, InstructionDto.class)); return json; } @Override public Map getByTaskId(String id) { - List insList= new LambdaQueryChainWrapper<>(instructionMapper) + List insList = new LambdaQueryChainWrapper<>(instructionMapper) .eq(InstructionMybatis::getTask_id, id) .list(); JSONObject jsonObject = new JSONObject(); @@ -279,9 +279,9 @@ public class InstructionServiceImpl extends CommonServiceImpl queryAll(Map whereJson) { - List insList= new LambdaQueryChainWrapper<>(instructionMapper) + List insList = new LambdaQueryChainWrapper<>(instructionMapper) .list(); - return ConvertUtil.convertList(insList,Instruction.class); + return ConvertUtil.convertList(insList, Instruction.class); } @Override @@ -292,7 +292,7 @@ public class InstructionServiceImpl extends CommonServiceImpl insList = new LambdaQueryChainWrapper<>(instructionMapper) .lt(InstructionMybatis::getInstruction_status, InstructionStatusEnum.FINISHED.getIndex()) .list(); - return ConvertUtil.convertList(insList,Instruction.class); + return ConvertUtil.convertList(insList, Instruction.class); } @@ -306,13 +306,13 @@ public class InstructionServiceImpl extends CommonServiceImpl(instructionMapper) + InstructionMybatis ins = new LambdaQueryChainWrapper<>(instructionMapper) .eq(InstructionMybatis::getInstruction_code, code) .one(); - if(ObjectUtil.isEmpty(ins)){ + if (ObjectUtil.isEmpty(ins)) { return null; } - return ConvertUtil.convert(ins,Instruction.class); + return ConvertUtil.convert(ins, Instruction.class); } @Override @@ -321,13 +321,13 @@ public class InstructionServiceImpl extends CommonServiceImpl(instructionMapper) + InstructionMybatis ins = new LambdaQueryChainWrapper<>(instructionMapper) .eq(InstructionMybatis::getTask_code, code) .one(); - if(ObjectUtil.isEmpty(ins)){ + if (ObjectUtil.isEmpty(ins)) { return null; } - return ConvertUtil.convert(ins,Instruction.class); + return ConvertUtil.convert(ins, Instruction.class); } @Override @@ -356,11 +356,11 @@ public class InstructionServiceImpl extends CommonServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(InstructionMybatis::getTask_id,id); - wrapper.apply(StringUtils.isNotBlank(wherecaluse),wherecaluse); + wrapper.eq(InstructionMybatis::getTask_id, id); + wrapper.apply(StringUtils.isNotBlank(wherecaluse), wherecaluse); InstructionMybatis ins = instructionMapper.selectOne(wrapper); if (ObjectUtil.isNotEmpty(ins)) { - return ConvertUtil.convert(ins,Instruction.class); + return ConvertUtil.convert(ins, Instruction.class); } return null; } @@ -392,7 +392,7 @@ public class InstructionServiceImpl extends CommonServiceImpl(taskMapper) - .eq(Task::getTask_id,insttaskid) + .eq(Task::getTask_id, insttaskid) .one(); // =0 则不用再次请求 if (StrUtil.equals(task.getRequest_again(), "0")) { @@ -845,7 +845,7 @@ public class InstructionServiceImpl extends CommonServiceImpl(taskMapper) - .eq(Task::getTask_id,insttaskid) + .eq(Task::getTask_id, insttaskid) .one(); // =0 则不用再次请求 if (StrUtil.equals(task.getRequest_again(), "0")) { @@ -899,7 +899,7 @@ public class InstructionServiceImpl extends CommonServiceImpl(taskMapper) - .eq(Task::getTask_id,dto.getTask_id()) + .eq(Task::getTask_id, dto.getTask_id()) .one(); RouteLineService routeLineService = SpringContextHolder.getBean(RouteLineServiceImpl.class); @@ -916,7 +916,7 @@ public class InstructionServiceImpl extends CommonServiceImpl findByDeviceCodes(Instruction instruction1) { - if(ObjectUtil.isNull(instruction1)){ + public List findByDeviceCodes(Instruction instruction1, Boolean flay) { + if (ObjectUtil.isNull(instruction1)) { return null; } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(StrUtil.isNotBlank(instruction1.getInstruction_status()),InstructionMybatis::getInstruction_status,instruction1.getInstruction_status()); - wrapper.eq(StrUtil.isNotBlank(instruction1.getStart_device_code()),InstructionMybatis::getStart_device_code,instruction1.getStart_device_code()); - wrapper.eq(StrUtil.isNotBlank(instruction1.getNext_device_code()),InstructionMybatis::getNext_device_code,instruction1.getNext_device_code()); + if (flay) { + wrapper.le(StrUtil.isNotBlank(instruction1.getInstruction_status()), InstructionMybatis::getInstruction_status, instruction1.getInstruction_status()); + } else { + wrapper.eq(StrUtil.isNotBlank(instruction1.getInstruction_status()), InstructionMybatis::getInstruction_status, instruction1.getInstruction_status()); + } + wrapper.eq(StrUtil.isNotBlank(instruction1.getStart_device_code()), InstructionMybatis::getStart_device_code, instruction1.getStart_device_code()); + wrapper.eq(StrUtil.isNotBlank(instruction1.getNext_device_code()), InstructionMybatis::getNext_device_code, instruction1.getNext_device_code()); List instructionMybatis = instructionMapper.selectList(wrapper); List instructions = ConvertUtil.convertList(instructionMybatis, Instruction.class); return instructions; diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/RouteLineService.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/RouteLineService.java index 49d881c..55a3bc4 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/RouteLineService.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/route/service/RouteLineService.java @@ -225,5 +225,10 @@ public interface RouteLineService extends CommonService { public JSONArray getActivePathLine(String device_code, String next_device_code, String plan_code); - List selectDeviceCodeList(String start_device_code); + /** + * 根据设备编码查询路由 + * @param device_code + * @return + */ + List selectDeviceCodeList(String device_code); } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java index 0353633..f900e93 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java @@ -78,9 +78,9 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; /** -* @author jiaolm -* @date 2023-05-09 -*/ + * @author jiaolm + * @date 2023-05-09 + */ @Service @Slf4j // @CacheConfig(cacheNames = TaskService.CACHE_KEY) @@ -124,7 +124,7 @@ public class TaskServiceImpl extends CommonServiceImpl impleme } @Override - public List queryAll(TaskQueryParam query){ + public List queryAll(TaskQueryParam query) { return ConvertUtil.convertList(taskMapper.selectList(QueryHelpMybatisPlus.getPredicate(query)), TaskDto.class); } @@ -148,7 +148,7 @@ public class TaskServiceImpl extends CommonServiceImpl impleme @Override @Transactional(rollbackFor = Exception.class) - public int updateById(TaskDto resources){ + public int updateById(TaskDto resources) { Task entity = ConvertUtil.convert(resources, Task.class); int ret = taskMapper.updateById(entity); // delCaches(resources.id); @@ -157,14 +157,14 @@ public class TaskServiceImpl extends CommonServiceImpl impleme @Override @Transactional(rollbackFor = Exception.class) - public int removeByIds(Set ids){ + public int removeByIds(Set ids) { // delCaches(ids); return taskMapper.deleteBatchIds(ids); } @Override @Transactional(rollbackFor = Exception.class) - public int removeById(String id){ + public int removeById(String id) { Set set = new HashSet<>(1); set.add(id); return this.removeByIds(set); @@ -254,6 +254,7 @@ public class TaskServiceImpl extends CommonServiceImpl impleme /** * 获取未完成任务 + * * @throws Exception */ @Override @@ -272,21 +273,21 @@ public class TaskServiceImpl extends CommonServiceImpl impleme @Override public List queryAll(String whereJson) { - List taskList= new LambdaQueryChainWrapper<>(taskMapper) + List taskList = new LambdaQueryChainWrapper<>(taskMapper) .lt(Task::getTask_status, TaskStatusEnum.FINISHED.getIndex()) - .eq(Task::getIs_delete,"0") + .eq(Task::getIs_delete, "0") .orderByDesc(Task::getCreate_time) .list(); - return ConvertUtil.convertList(taskList,TaskDto.class); + return ConvertUtil.convertList(taskList, TaskDto.class); } @Override public List queryAllByStatus(String task_status) { - List taskList= new LambdaQueryChainWrapper<>(taskMapper) + List taskList = new LambdaQueryChainWrapper<>(taskMapper) .eq(Task::getTask_status, task_status) - .eq(Task::getIs_delete,"0") + .eq(Task::getIs_delete, "0") .list(); - return ConvertUtil.convertList(taskList,TaskDto.class); + return ConvertUtil.convertList(taskList, TaskDto.class); } @Override @@ -302,29 +303,29 @@ public class TaskServiceImpl extends CommonServiceImpl impleme IPage queryPage = PageUtil.toMybatisPage(page); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); if (!StrUtil.isEmpty(task_code)) { - wrapper.eq(Task::getTask_code,task_code); + wrapper.eq(Task::getTask_code, task_code); } if (!StrUtil.isEmpty(vehicle_code)) { - wrapper.eq(Task::getVehicle_code,vehicle_code); + wrapper.eq(Task::getVehicle_code, vehicle_code); } if (!StrUtil.isEmpty(material_type)) { - wrapper.eq(Task::getMaterial,material_type); + wrapper.eq(Task::getMaterial, material_type); } if (!StrUtil.isEmpty(status)) { - wrapper.eq(Task::getTask_status,status); + wrapper.eq(Task::getTask_status, status); } if (!StrUtil.isEmpty(point_code)) { - wrapper.and(task -> task.like(Task::getStart_point_code,point_code).or().like(Task::getNext_point_code,point_code)); + wrapper.and(task -> task.like(Task::getStart_point_code, point_code).or().like(Task::getNext_point_code, point_code)); } if (!StrUtil.isEmpty(is_over)) { - if (StrUtil.equals(is_over,"1")){ - wrapper.ge(Task::getTask_status,TaskStatusEnum.FINISHED.getIndex()); - }else{ - wrapper.lt(Task::getTask_status,TaskStatusEnum.FINISHED.getIndex()); + if (StrUtil.equals(is_over, "1")) { + wrapper.ge(Task::getTask_status, TaskStatusEnum.FINISHED.getIndex()); + } else { + wrapper.lt(Task::getTask_status, TaskStatusEnum.FINISHED.getIndex()); } } - wrapper.le(Task::getTask_status,1); - IPage taskPage = taskMapper.selectPage(queryPage,wrapper); + wrapper.le(Task::getTask_status, 1); + IPage taskPage = taskMapper.selectPage(queryPage, wrapper); final JSONObject json = (JSONObject) JSON.toJSON(ConvertUtil.convertPage(taskPage, TaskDto.class)); return json; } @@ -414,24 +415,24 @@ public class TaskServiceImpl extends CommonServiceImpl impleme LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); // wrapper.eq(InstructionMybatis::getIs_delete,"0"); if (!StrUtil.isEmpty(task_code)) { - wrapper.eq(Task::getTask_code,task_code); + wrapper.eq(Task::getTask_code, task_code); } if (!StrUtil.isEmpty(vehicle_code)) { - wrapper.like(Task::getVehicle_code,vehicle_code); + wrapper.like(Task::getVehicle_code, vehicle_code); } if (!StrUtil.isEmpty(material_type)) { - wrapper.eq(Task::getMaterial,material_type); + wrapper.eq(Task::getMaterial, material_type); } if (!StrUtil.isEmpty(status)) { - wrapper.eq(Task::getTask_status,status); + wrapper.eq(Task::getTask_status, status); } if (!StrUtil.isEmpty(point_code)) { - wrapper.and(task -> task.like(Task::getStart_point_code,point_code).or().like(Task::getNext_point_code,point_code)); + wrapper.and(task -> task.like(Task::getStart_point_code, point_code).or().like(Task::getNext_point_code, point_code)); } if (!StrUtil.isEmpty(create_time) && !StrUtil.isEmpty(end_time)) { - wrapper.between(Task::getCreate_time,create_time,end_time); + wrapper.between(Task::getCreate_time, create_time, end_time); } - IPage taskPage = taskMapper.selectPage(queryPage,wrapper); + IPage taskPage = taskMapper.selectPage(queryPage, wrapper); final JSONObject json = (JSONObject) JSON.toJSON(ConvertUtil.convertPage(taskPage, TaskDto.class)); JSONArray array = json.getJSONArray("content"); int totalElements = (int) json.getLongValue("totalElements"); @@ -450,9 +451,9 @@ public class TaskServiceImpl extends CommonServiceImpl impleme @Override public List queryAll(Map whereJson) { - List taskList= new LambdaQueryChainWrapper<>(taskMapper) + List taskList = new LambdaQueryChainWrapper<>(taskMapper) .list(); - return ConvertUtil.convertList(taskList,TaskDto.class); + return ConvertUtil.convertList(taskList, TaskDto.class); } // @Override @@ -469,10 +470,10 @@ public class TaskServiceImpl extends CommonServiceImpl impleme // JSONArray arr = wo.query("task_status < 2 ").getResultJSONArray(0); // List list = arr.toJavaList(TaskDto.class); // return list; - List taskList= new LambdaQueryChainWrapper<>(taskMapper) - .lt(Task::getTask_status,TaskStatusEnum.FINISHED.getIndex()) + List taskList = new LambdaQueryChainWrapper<>(taskMapper) + .lt(Task::getTask_status, TaskStatusEnum.FINISHED.getIndex()) .list(); - return ConvertUtil.convertList(taskList,TaskDto.class); + return ConvertUtil.convertList(taskList, TaskDto.class); } @Override @@ -481,10 +482,10 @@ public class TaskServiceImpl extends CommonServiceImpl impleme // JSONObject json = wo.query("task_code ='" + code + "'").uniqueResult(0); // final TaskDto obj = json.toJavaObject(TaskDto.class); // return obj; - Task task= new LambdaQueryChainWrapper<>(taskMapper) - .eq(Task::getTask_code,code) + Task task = new LambdaQueryChainWrapper<>(taskMapper) + .eq(Task::getTask_code, code) .one(); - return ConvertUtil.convert(task,TaskDto.class); + return ConvertUtil.convert(task, TaskDto.class); } @Override @@ -603,10 +604,10 @@ public class TaskServiceImpl extends CommonServiceImpl impleme // JSONArray arr = wo.query("task_status = '" + status + "'").getResultJSONArray(0); // List list = arr.toJavaList(TaskDto.class); // return list; - List taskList= new LambdaQueryChainWrapper<>(taskMapper) - .eq(Task::getTask_status,status) + List taskList = new LambdaQueryChainWrapper<>(taskMapper) + .eq(Task::getTask_status, status) .list(); - return ConvertUtil.convertList(taskList,TaskDto.class); + return ConvertUtil.convertList(taskList, TaskDto.class); } @Override @@ -664,9 +665,18 @@ public class TaskServiceImpl extends CommonServiceImpl impleme Device nextdevice = appService.findDeviceByCode(next_device_code); Device startdevice = appService.findDeviceByCode(start_device_code); dto.setMaterial(startdevice.getMaterial_type()); + if (StrUtil.equals(DeviceType.storage.toString(), startDeviceType)) { + start_point_code = start_device_code + "-" + dto.getFrom_y() + "-" + dto.getFrom_z(); + dto.setStart_point_code(start_point_code); + } + if (StrUtil.equals(DeviceType.storage.toString(), nextDeviceType)) { + next_point_code = next_device_code + "-" + dto.getTo_y() + "-" + dto.getTo_z(); + dto.setNext_point_code(next_point_code); + } if (StrUtil.equals(createTaskCheck, "1")) { // 判断起点为输送设备 if (StrUtil.equals(DeviceType.conveyor.toString(), startDeviceType)) { + } if (StrUtil.equals(DeviceType.conveyor.toString(), nextDeviceType)) { @@ -1495,8 +1505,8 @@ public class TaskServiceImpl extends CommonServiceImpl impleme } else { DeviceDriverDefination deviceDriverDefination = deviceAppService.findDeviceByCode(start_point_code).getDeviceDriverDefination(); if (BeanUtil.isNotEmpty(deviceDriverDefination)) { - String start_device= - deviceDriverDefination + String start_device = + deviceDriverDefination .getFitDeviceTypes() .get(0) .name(); @@ -1527,8 +1537,7 @@ public class TaskServiceImpl extends CommonServiceImpl impleme task.setStart_point_code(start_point_code + "-" + from_y + "-" + from_z); task.setStart_device_code(start_point_code); } - } - else { + } else { task.setStart_device_code(start_point_code); task.setStart_device_code(start_point_code); } @@ -1560,37 +1569,37 @@ public class TaskServiceImpl extends CommonServiceImpl impleme } else { DeviceDriverDefination deviceDriverDefination = deviceAppService.findDeviceByCode(next_point_code).getDeviceDriverDefination(); if (BeanUtil.isNotEmpty(deviceDriverDefination)) { - String next_device = - deviceDriverDefination - .getFitDeviceTypes() - .get(0) - .name(); - if (StrUtil.equals("storage", next_device)) { - if (StrUtil.isEmpty(task.getTo_x())) { - throw new BadRequestException("货位信息终点需要包含列信息"); + String next_device = + deviceDriverDefination + .getFitDeviceTypes() + .get(0) + .name(); + if (StrUtil.equals("storage", next_device)) { + if (StrUtil.isEmpty(task.getTo_x())) { + throw new BadRequestException("货位信息终点需要包含列信息"); + } + if (StrUtil.isEmpty(task.getTo_y())) { + throw new BadRequestException("货位信息终点需要包含层信息"); + } + if (Integer.parseInt(task.getTo_y()) < 10 && task.getTo_y().length() == 1) { + to_y = "0" + task.getTo_y(); + task.setTo_y(to_y); + } else { + to_y = task.getTo_y(); + } + if (Integer.parseInt(task.getTo_z()) < 10 && task.getTo_z().length() == 1) { + to_z = "0" + task.getTo_z(); + task.setTo_z(to_z); + } else if (task.getTo_z().length() == 2) { + to_z = task.getTo_z(); + task.setTo_z(to_z); + } else { + to_z = task.getTo_z(); + } + task.setTo_x(next_point_code); + task.setNext_point_code(next_point_code + "-" + to_y + "-" + to_z); + task.setNext_device_code(next_point_code); } - if (StrUtil.isEmpty(task.getTo_y())) { - throw new BadRequestException("货位信息终点需要包含层信息"); - } - if (Integer.parseInt(task.getTo_y()) < 10 && task.getTo_y().length() == 1) { - to_y = "0" + task.getTo_y(); - task.setTo_y(to_y); - } else { - to_y = task.getTo_y(); - } - if (Integer.parseInt(task.getTo_z()) < 10 && task.getTo_z().length() == 1) { - to_z = "0" + task.getTo_z(); - task.setTo_z(to_z); - } else if (task.getTo_z().length() == 2) { - to_z = task.getTo_z(); - task.setTo_z(to_z); - } else { - to_z = task.getTo_z(); - } - task.setTo_x(next_point_code); - task.setNext_point_code(next_point_code + "-" + to_y + "-" + to_z); - task.setNext_device_code(next_point_code); - } } else { task.setNext_device_code(next_point_code); task.setNext_device_code(next_point_code); diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java index 76b547a..1f4f12b 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/AutoCreateInst.java @@ -1,10 +1,19 @@ package org.nl.system.service.quartz.task; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; +import org.nl.acs.device.domain.Device; +import org.nl.acs.device.domain.DeviceExtra; +import org.nl.acs.device.enums.DeviceType; +import org.nl.acs.device.service.DeviceExtraService; +import org.nl.acs.device.service.impl.DeviceExtraServiceImpl; +import org.nl.acs.device_driver.basedriver.belt_conveyor.BeltConveyorDeviceDriver; +import org.nl.acs.device_driver.basedriver.standard_stacker.StandardStackerDeviceDriver; import org.nl.acs.instruction.enums.InstructionStatusEnum; import org.nl.acs.instruction.service.InstructionService; import org.nl.acs.instruction.domain.Instruction; @@ -12,13 +21,17 @@ import org.nl.acs.opc.DeviceAppService; import org.nl.acs.opc.DeviceAppServiceImpl; import org.nl.acs.route.service.RouteLineService; import org.nl.acs.route.service.dto.RouteLineDto; +import org.nl.acs.task.domain.Task; import org.nl.acs.task.enums.TaskStatusEnum; import org.nl.acs.task.service.TaskService; import org.nl.acs.task.service.dto.TaskDto; +import org.nl.common.exception.BadRequestException; import org.nl.config.SpringContextHolder; import org.springframework.stereotype.Component; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; /** @@ -166,7 +179,7 @@ public class AutoCreateInst { } else if (StrUtil.equals(task_type, "8")) { instdto.setAgv_inst_type("2"); } else { - log.info("未找到对应的AGV指令类型,任务号:" + acsTask.getTask_code() + ",task_type:" + acsTask.getTask_type()) ; + log.info("未找到对应的AGV指令类型,任务号:" + acsTask.getTask_code() + ",task_type:" + acsTask.getTask_type()); continue; } } else { diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/CreateDDJInst.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/CreateDDJInst.java new file mode 100644 index 0000000..738bbb3 --- /dev/null +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/quartz/task/CreateDDJInst.java @@ -0,0 +1,352 @@ +package org.nl.system.service.quartz.task; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; +import org.nl.acs.device.domain.Device; +import org.nl.acs.device.domain.DeviceExtra; +import org.nl.acs.device.enums.DeviceType; +import org.nl.acs.device.service.DeviceExtraService; +import org.nl.acs.device.service.impl.DeviceExtraServiceImpl; +import org.nl.acs.device_driver.basedriver.belt_conveyor.BeltConveyorDeviceDriver; +import org.nl.acs.device_driver.basedriver.standard_stacker.StandardStackerDeviceDriver; +import org.nl.acs.instruction.domain.Instruction; +import org.nl.acs.instruction.enums.InstructionStatusEnum; +import org.nl.acs.instruction.service.InstructionService; +import org.nl.acs.opc.DeviceAppService; +import org.nl.acs.opc.DeviceAppServiceImpl; +import org.nl.acs.route.service.RouteLineService; +import org.nl.acs.route.service.dto.RouteLineDto; +import org.nl.acs.task.enums.TaskStatusEnum; +import org.nl.acs.task.service.TaskService; +import org.nl.acs.task.service.dto.TaskDto; +import org.nl.common.exception.BadRequestException; +import org.nl.config.SpringContextHolder; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +@Slf4j +@Component +public class CreateDDJInst { + + + /** + * 定时查询堆垛机任务 + */ + public void run() { + TaskService taskserver = SpringContextHolder.getBean(TaskService.class); + InstructionService instructionService = SpringContextHolder.getBean(InstructionService.class); + RouteLineService routeLineService = SpringContextHolder.getBean(RouteLineService.class); + DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class); + DeviceExtraService deviceExtra = SpringContextHolder.getBean(DeviceExtraServiceImpl.class); + List taskDtos = taskserver.queryByStauts("0"); + List taskDtoList = new ArrayList<>(); + if (CollUtil.isEmpty(taskDtos) || taskDtos.size() < 1) { + } else { + for (TaskDto taskDto : taskDtos) { + String start_device_code = taskDto.getStart_device_code(); + Device startDevice = appService.findDeviceByCode(start_device_code); + String next_device_code = taskDto.getNext_device_code(); + Device nextDevice = appService.findDeviceByCode(next_device_code); + if (startDevice.getDevice_type().equals(DeviceType.storage.name()) && + (nextDevice.getDevice_type().equals(DeviceType.conveyor.name()) || nextDevice.getDevice_type().equals(DeviceType.storage.name()))) { + taskDtoList.add(taskDto); + } + } + if (CollUtil.isNotEmpty(taskDtoList)) { + taskDtoList = sortInst(taskDtoList); + for (TaskDto taskDto : taskDtoList) { + List list = + routeLineService.getShortPathLines( + taskDto.getStart_device_code(), taskDto.getNext_device_code(), taskDto.getRoute_plan_code()); + if (ObjectUtils.isEmpty(list)) { + throw new BadRequestException("路由不通"); + } + RouteLineDto routeLineDto = (RouteLineDto) list.get(0); + String[] path = routeLineDto.getPath().split("->"); + List pathlist = Arrays.asList(path); + if (pathlist.size() < 3 || pathlist.get(1).equals(DeviceType.stacker.name())) { + return; + } + Device deviceByCode = appService.findDeviceByCode(pathlist.get(1)); + if (ObjectUtils.isEmpty(deviceByCode)) { + log.error("没有找到DDJ设备"); + return; + } + StandardStackerDeviceDriver standardStackerDeviceDriver; + if (deviceByCode.getDeviceDriver() instanceof StandardStackerDeviceDriver) { + standardStackerDeviceDriver = (StandardStackerDeviceDriver) deviceByCode.getDeviceDriver(); + if (standardStackerDeviceDriver.getMode() != 3 || standardStackerDeviceDriver.getMove() == 1 || standardStackerDeviceDriver.getCommand() != 0) { + log.error("堆垛机,{}未联机或者在执行中", deviceByCode.getDevice_code()); + return; + } + } + String next_device_code = taskDto.getNext_device_code(); + Device nextDevice = appService.findDeviceByCode(next_device_code); + BeltConveyorDeviceDriver beltConveyorDeviceDriver; + if (nextDevice.getDeviceDriver() instanceof BeltConveyorDeviceDriver) { + beltConveyorDeviceDriver = (BeltConveyorDeviceDriver) nextDevice.getDeviceDriver(); + if (beltConveyorDeviceDriver.getMode() != 2 || beltConveyorDeviceDriver.getMove() == 1) { + log.error("输送机,{}未联机或执行中", next_device_code); + return; + } + } + String taskid = taskDto.getTask_id(); + String taskcode = taskDto.getTask_code(); + String task_type = taskDto.getTask_type(); + String vehiclecode = taskDto.getVehicle_code(); + String storage_task_type = taskDto.getStorage_task_type(); + String priority = taskDto.getPriority(); + String is_send = taskDto.getIs_send(); + + String start_device_code = taskDto.getStart_device_code(); + Device startDevice = appService.findDeviceByCode(start_device_code); + String start_point_code = taskDto.getStart_point_code(); + + String put_device_code = taskDto.getPut_device_code(); + String put_point_code = taskDto.getPut_point_code(); + + String next_point_code = taskDto.getNext_point_code(); + + String start_point_code2 = taskDto.getStart_point_code2(); + String start_device_code2 = taskDto.getStart_device_code2(); + + String next_point_code2 = taskDto.getNext_point_code2(); + String next_device_code2 = taskDto.getNext_device_code2(); + + String route_plan_code = taskDto.getRoute_plan_code(); + String vehicleType = taskDto.getVehicle_type(); + String agv_system_type = taskDto.getAgv_system_type(); + + String start_height = taskDto.getStart_height(); + String next_height = taskDto.getNext_height(); + //单台堆垛机最多只能创建固定数量指令 + Instruction instruction = new Instruction(); + instruction.setInstruction_status("1"); + List byDeviceCodes = instructionService.findByDeviceCodes(instruction, true); + Instruction instdto = new Instruction(); + if (CollUtil.isEmpty(byDeviceCodes)) { + instdto.setInstruction_type(task_type); + instdto.setInstruction_id(IdUtil.simpleUUID()); + instdto.setRoute_plan_code(route_plan_code); + instdto.setRemark(taskDto.getRemark()); + instdto.setMaterial(taskDto.getMaterial()); + instdto.setQuantity(taskDto.getQuantity()); + instdto.setTask_id(taskid); + instdto.setTask_code(taskcode); + instdto.setVehicle_code(vehiclecode); + String now = DateUtil.now(); + instdto.setCreate_time(now); + instdto.setCreate_by("auto"); + + instdto.setStart_device_code(start_device_code); + instdto.setStart_point_code(start_point_code); + instdto.setPut_device_code(put_device_code); + instdto.setPut_point_code(put_point_code); + instdto.setNext_device_code(next_device_code); + instdto.setNext_point_code(next_point_code); + + instdto.setStart_point_code2(start_point_code2); + instdto.setStart_device_code2(start_device_code2); + instdto.setNext_point_code2(next_point_code2); + instdto.setNext_device_code2(next_device_code2); + + instdto.setPriority(priority); + instdto.setInstruction_status(InstructionStatusEnum.READY.getIndex()); + instdto.setExecute_device_code(start_point_code); + instdto.setVehicle_type(vehicleType); + instdto.setAgv_system_type(agv_system_type); + instdto.setStart_height(start_height); + instdto.setNext_height(next_height); + if (startDevice.getDevice_type().equals(DeviceType.storage.name())) { + instdto.setFrom_x(taskDto.getFrom_x()); + instdto.setFrom_z(taskDto.getFrom_z()); + instdto.setFrom_y(taskDto.getFrom_y()); + } + if (nextDevice.getDevice_type().equals(DeviceType.storage.name())) { + instdto.setTo_x(taskDto.getTo_x()); + instdto.setTo_z(taskDto.getTo_z()); + instdto.setTo_y(taskDto.getTo_y()); + } + //判断agv系统 + //1、1楼叉车系统 + //2、2楼1区域AGV系统 + //3、2楼2区域AGV系统 -已废弃 + if (!StrUtil.equals(agv_system_type, "1")) { + // task_type + //1、生箔; Itype=1:取空,取满,放空,放满; + //2、分切 Itype=3取满、取空、放满、放空; + //3、普通任务 Itype=2:取货、放货; + //4、叉车任务 + //5、输送任务 + //6、行架 + //7、立库 + if (StrUtil.equals(task_type, "1")) { + instdto.setAgv_inst_type("1"); + } else if (StrUtil.equals(task_type, "3")) { + instdto.setAgv_inst_type("2"); + } else if (StrUtil.equals(task_type, "2")) { + instdto.setAgv_inst_type("3"); + } else if (StrUtil.equals(task_type, "8")) { + instdto.setAgv_inst_type("2"); + } else { + log.info("未找到对应的AGV指令类型,任务号:" + taskDto.getTask_code() + ",task_type:" + taskDto.getTask_type()); + } + } else { + instdto.setAgv_inst_type("4"); + } + try { + instructionService.create(instdto); + } catch (Exception e) { + taskDto.setRemark(e.getMessage()); + taskserver.updateByCodeFromCache(taskDto); + } + //创建指令后修改任务状态 + taskDto.setTask_status(TaskStatusEnum.BUSY.getIndex()); + taskserver.update(taskDto); + } else { + List insts = new ArrayList<>(); + for (Instruction byDeviceCode : byDeviceCodes) { + String nextDeviceCode = byDeviceCode.getNext_device_code(); + Device nextdevice = appService.findDeviceByCode(nextDeviceCode); + if (startDevice.getDevice_type().equals(DeviceType.storage.name()) && + (nextdevice.getDevice_type().equals(DeviceType.conveyor.name()) || nextdevice.getDevice_type().equals(DeviceType.storage.name()))) { + insts.add(byDeviceCode); + } + } + int max = 0; + for (Instruction inst : insts) { + List shortPathLines = routeLineService.getShortPathLines(inst.getStart_device_code(), inst.getNext_device_code(), + inst.getRoute_plan_code()); + if (CollUtil.isEmpty(shortPathLines) || shortPathLines.size() < 1) { + log.error("没有此路由"); + throw new BadRequestException("路由不通"); + } + RouteLineDto routeLineDto1 = (RouteLineDto) shortPathLines.get(0); + String[] path1 = routeLineDto1.getPath().split("->"); + List pathlist1 = Arrays.asList(path1); + if (pathlist1.size() < 3 || pathlist1.get(1).equals(DeviceType.stacker.name())) { + return; + } + if (pathlist1.get(1).equals(pathlist.get(1))) { + max++; + } + } + List deviceExtras = deviceExtra.list(Wrappers.lambdaQuery(DeviceExtra.class). + eq(DeviceExtra::getDevice_code, pathlist.get(1)).orderByDesc(DeviceExtra::getCreate_time)); + for (DeviceExtra extra : deviceExtras) { + if (extra.getExtra_code().equals("count")) { + if (max <= Integer.parseInt(extra.getExtra_value())) { + instdto.setInstruction_type(task_type); + instdto.setInstruction_id(IdUtil.simpleUUID()); + instdto.setRoute_plan_code(route_plan_code); + instdto.setRemark(taskDto.getRemark()); + instdto.setMaterial(taskDto.getMaterial()); + instdto.setQuantity(taskDto.getQuantity()); + instdto.setTask_id(taskid); + instdto.setTask_code(taskcode); + instdto.setVehicle_code(vehiclecode); + String now = DateUtil.now(); + instdto.setCreate_time(now); + instdto.setCreate_by("auto"); + + instdto.setStart_device_code(start_device_code); + instdto.setStart_point_code(start_point_code); + instdto.setPut_device_code(put_device_code); + instdto.setPut_point_code(put_point_code); + instdto.setNext_device_code(next_device_code); + instdto.setNext_point_code(next_point_code); + + instdto.setStart_point_code2(start_point_code2); + instdto.setStart_device_code2(start_device_code2); + instdto.setNext_point_code2(next_point_code2); + instdto.setNext_device_code2(next_device_code2); + + instdto.setPriority(priority); + instdto.setInstruction_status(InstructionStatusEnum.READY.getIndex()); + instdto.setExecute_device_code(start_point_code); + instdto.setVehicle_type(vehicleType); + instdto.setAgv_system_type(agv_system_type); + instdto.setStart_height(start_height); + instdto.setNext_height(next_height); + if (startDevice.getDevice_type().equals(DeviceType.storage.name())) { + instdto.setFrom_x(taskDto.getFrom_x()); + instdto.setFrom_z(taskDto.getFrom_z()); + instdto.setFrom_y(taskDto.getFrom_y()); + } + if (nextDevice.getDevice_type().equals(DeviceType.storage.name())) { + instdto.setTo_x(taskDto.getTo_x()); + instdto.setTo_z(taskDto.getTo_z()); + instdto.setTo_y(taskDto.getTo_y()); + } + //判断agv系统 + //1、1楼叉车系统 + //2、2楼1区域AGV系统 + //3、2楼2区域AGV系统 -已废弃 + if (!StrUtil.equals(agv_system_type, "1")) { + // task_type + //1、生箔; Itype=1:取空,取满,放空,放满; + //2、分切 Itype=3取满、取空、放满、放空; + //3、普通任务 Itype=2:取货、放货; + //4、叉车任务 + //5、输送任务 + //6、行架 + //7、立库 + if (StrUtil.equals(task_type, "1")) { + instdto.setAgv_inst_type("1"); + } else if (StrUtil.equals(task_type, "3")) { + instdto.setAgv_inst_type("2"); + } else if (StrUtil.equals(task_type, "2")) { + instdto.setAgv_inst_type("3"); + } else if (StrUtil.equals(task_type, "8")) { + instdto.setAgv_inst_type("2"); + } else { + log.info("未找到对应的AGV指令类型,任务号:" + taskDto.getTask_code() + ",task_type:" + taskDto.getTask_type()); + } + } else { + instdto.setAgv_inst_type("4"); + } + try { + instructionService.create(instdto); + } catch (Exception e) { + taskDto.setRemark(e.getMessage()); + taskserver.updateByCodeFromCache(taskDto); + } + //创建指令后修改任务状态 + taskDto.setTask_status(TaskStatusEnum.BUSY.getIndex()); + taskserver.update(taskDto); + continue; + } + } + } + + } + } + } + //单台堆垛机只能出四五 + } + } + + private List sortInst(List taskDtos) { + Collections.sort(taskDtos, (t1, t2) -> { + //优先级从大到小 + int i = t2.getPriority().compareTo(t1.getPriority()); + //如果优先级相等 + if (i == 0) { + //时间从早到晚 + i = t1.getCreate_time().compareTo(t2.getCreate_time()); + } + return i; + }); + return taskDtos; + } + +} diff --git a/acs/nladmin-ui/src/views/acs/device/driver/standard_stacker.vue b/acs/nladmin-ui/src/views/acs/device/driver/standard_stacker.vue index cd1bf8f..5e033d4 100644 --- a/acs/nladmin-ui/src/views/acs/device/driver/standard_stacker.vue +++ b/acs/nladmin-ui/src/views/acs/device/driver/standard_stacker.vue @@ -96,6 +96,11 @@ + + + + +