| | |
| | | @Override |
| | | public String warehousingRequest(int leftingStation) { |
| | | RawGlassStorageDetails storageDetails = getOne(new LambdaQueryWrapper<RawGlassStorageDetails>() |
| | | .in(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN_ALL)); |
| | | .in(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN_ALL) |
| | | .eq(RawGlassStorageDetails::getSlot, leftingStation)); |
| | | if (null != storageDetails) { |
| | | log.info("当前吊装位有架子,结束本地入库请求"); |
| | | return "fail"; |
| | | } |
| | | List<Integer> shelfList = listBySlotState(Const.RAW_GLASS_DEVICE, Const.RAW_GLASS_STATE_IN_ALL); |
| | | List<RawGlassStorageDetails> shelfList = listBySlotState(Const.RAW_GLASS_DEVICE, Const.RAW_GLASS_STATE_IN_ALL); |
| | | if (CollectionUtils.isEmpty(shelfList)) { |
| | | log.info("当前工位不存在可用的空架子"); |
| | | return "fail"; |
| | | } |
| | | Integer shelf = shelfList.get(0); |
| | | Integer shelf = shelfList.get(0).getSlot(); |
| | | Integer deviceId = shelfList.get(0).getDeviceId(); |
| | | log.info("生成任务"); |
| | | try { |
| | | generateTask(shelf, leftingStation, shelf, 0, Const.RAW_GLASS_TASK_TYPE_IN_REQUEST); |
| | |
| | | RawGlassStorageDetails details = new RawGlassStorageDetails(); |
| | | details.setSlot(shelf); |
| | | details.setShelf(shelf); |
| | | details.setDeviceId(deviceId); |
| | | details.setState(Const.RAW_GLASS_STATE_RUNNING); |
| | | save(details); |
| | | return "success"; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<Integer> listBySlotState(List<Integer> liftingStation, List<Integer> state) { |
| | | public List<RawGlassStorageDetails> listBySlotState(List<Integer> liftingStation, List<Integer> state) { |
| | | return baseMapper.listBySlotState(liftingStation, state); |
| | | } |
| | | |
| | |
| | | .shelf(shelf) |
| | | .createTime(new Date()).build(); |
| | | rawGlassStorageTaskService.save(task); |
| | | |
| | | |
| | | List<ReadWriteEntity> list = new ArrayList<>(); |
| | | list.add(generateReadWriteEntity("A01-CC.dev.taskWord", 1)); |
| | | // list.add(generateReadWriteEntity("A01-CC.dev.taskSending", 1)); |
| | | list.add(generateReadWriteEntity("A01-CC.dev.startSlot", startSlot)); |
| | | list.add(generateReadWriteEntity("A01-CC.dev.endSlot", endSlot)); |
| | | list.add(generateReadWriteEntity("PLC.CC.taskWord", 1)); |
| | | list.add(generateReadWriteEntity("PLC.CC.startSlot", startSlot)); |
| | | list.add(generateReadWriteEntity("PLC.CC.endSlot", endSlot)); |
| | | miloService.writeToOpcWord(list); |
| | | return Boolean.TRUE; |
| | | } |