| | |
| | | import com.kangaroohy.milo.service.MiloService; |
| | | import com.mes.common.config.Const; |
| | | import com.mes.rawglassdetails.entity.RawGlassStorageDetails; |
| | | import com.mes.rawglassdetails.entity.dto.RawGlassStorageDetailsDTO; |
| | | import com.mes.rawglassdetails.entity.request.RawGlassRequest; |
| | | import com.mes.rawglassdetails.mapper.RawGlassStorageDetailsMapper; |
| | | import com.mes.rawglassdetails.service.RawGlassStorageDetailsService; |
| | | import com.mes.rawglassstation.entity.RawGlassStorageStation; |
| | | import com.mes.rawglassstation.service.RawGlassStorageStationService; |
| | | import com.mes.rawglasstask.entity.RawGlassStorageTask; |
| | | import com.mes.rawglasstask.service.RawGlassStorageTaskService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | |
| | | @Autowired |
| | | RawGlassStorageTaskService rawGlassStorageTaskService; |
| | | |
| | | @Autowired |
| | | RawGlassStorageStationService rawGlassStorageStationService; |
| | | |
| | | @Autowired(required = false) |
| | | MiloService miloService; |
| | |
| | | @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 String UpdateQuantity(RawGlassRequest request) { |
| | | update( |
| | | new LambdaUpdateWrapper<RawGlassStorageDetails>() |
| | | .set(RawGlassStorageDetails::getRemainQuantity, request.getRemainQuantity()) |
| | | .eq(RawGlassStorageDetails::getSlot, request.getSlot()) |
| | | .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)); |
| | | public String updateQuantity(RawGlassRequest request) { |
| | | RawGlassStorageDetails one = getOne(new LambdaQueryWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, request.getSlot()) |
| | | .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)); |
| | | if (null == one) { |
| | | RawGlassStorageDetails details = new RawGlassStorageDetails(); |
| | | BeanUtils.copyProperties(request, details); |
| | | details.setState(Const.RAW_GLASS_STATE_IN); |
| | | details.setShelf(request.getSlot()); |
| | | save(details); |
| | | } else { |
| | | update( |
| | | new LambdaUpdateWrapper<RawGlassStorageDetails>() |
| | | .set(RawGlassStorageDetails::getRemainQuantity, request.getRemainQuantity()) |
| | | .set(RawGlassStorageDetails::getPatternWidth, request.getPatternWidth()) |
| | | .set(RawGlassStorageDetails::getPatternHeight, request.getPatternHeight()) |
| | | .set(RawGlassStorageDetails::getPatternThickness, request.getPatternThickness()) |
| | | .set(RawGlassStorageDetails::getFilmsId, request.getFilmsId()) |
| | | .eq(RawGlassStorageDetails::getSlot, request.getSlot()) |
| | | .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)); |
| | | } |
| | | return "success"; |
| | | } |
| | | |
| | | @Override |
| | | public String deleteWarehousing(Long slotId) { |
| | | update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, slotId) |
| | | .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT) |
| | | .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)); |
| | | remove(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, slotId) |
| | | .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN)); |
| | | 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("CC.CC.taskWord", 1)); |
| | | list.add(generateReadWriteEntity("CC.CC.startSlot", startSlot)); |
| | | list.add(generateReadWriteEntity("CC.CC.endSlot", endSlot)); |
| | | miloService.writeToOpcWord(list); |
| | | return Boolean.TRUE; |
| | | } |
| | |
| | | readWriteEntity.setValue(value); |
| | | return readWriteEntity; |
| | | } |
| | | |
| | | @Override |
| | | public String shelfReset(Long slot) { |
| | | update(new LambdaUpdateWrapper<RawGlassStorageDetails>().eq(RawGlassStorageDetails::getSlot, slot) |
| | | .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN) |
| | | .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_RESET)); |
| | | //生成一条详情数据 仅记录架子状态 |
| | | return "success"; |
| | | } |
| | | |
| | | @Override |
| | | public List<RawGlassStorageDetailsDTO> patternUsage(String width, String height, String thickness, String films){ |
| | | return baseMapper.patternUsage(width, height, thickness, films); |
| | | } |
| | | |
| | | @Override |
| | | public RawGlassStorageDetails generateDetails(RawGlassStorageDetails details, Integer targetSlot) { |
| | | RawGlassStorageDetails targetDetails = new RawGlassStorageDetails(); |
| | | RawGlassStorageStation station = rawGlassStorageStationService.getOne(new LambdaQueryWrapper<RawGlassStorageStation>() |
| | | .eq(RawGlassStorageStation::getSlot, targetSlot)); |
| | | targetDetails.setDeviceId(station.getDeviceId()); |
| | | targetDetails.setSlot(targetSlot); |
| | | targetDetails.setShelf(details.getShelf()); |
| | | targetDetails.setPatternWidth(details.getPatternWidth()); |
| | | targetDetails.setPatternHeight(details.getPatternHeight()); |
| | | targetDetails.setPatternThickness(details.getPatternThickness()); |
| | | targetDetails.setFilmsId(details.getFilmsId()); |
| | | targetDetails.setRemainQuantity(details.getRemainQuantity()); |
| | | targetDetails.setCreateTime(new Date()); |
| | | targetDetails.setState(Const.RAW_GLASS_STATE_IN); |
| | | return targetDetails; |
| | | } |
| | | } |