| | |
| | | .eq(BigStorageGlassRelationInfo::getTemperingLayoutId, relationInfoOne.getTemperingLayoutId()) |
| | | .eq(BigStorageGlassRelationInfo::getVirtualSlot, relationInfoOne.getVirtualSlot()) |
| | | .eq(BigStorageGlassRelationInfo::getSlotSequence, relationInfoOne.getSlotSequence() - 1)); |
| | | BigStorageCage storageCage = null; |
| | | BigStorageDTO storageCageDTO = null; |
| | | if (null == relationInfoBefore) { |
| | | //表示序号没有或者 序号为1又不是第一块来的 新开一格 |
| | | storageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>() |
| | | .eq(BigStorageCage::getEnableState, Const.SLOT_ON).eq(BigStorageCage::getRemainWidth, slotWidth) |
| | | .le(BigStorageCage::getMinThickness, bigStorageCageDetails.getThickness()) |
| | | .ge(BigStorageCage::getMaxThickness, bigStorageCageDetails.getThickness()) |
| | | .orderByAsc(BigStorageCage::getMaxThickness) |
| | | .orderByAsc(BigStorageCage::getSlot).last("limit 1")); |
| | | storageCageDTO = bigStorageCageDetailsService.queryTargetSlot(engineerId, bigStorageCageDetails.getGlassId(), (int) bigStorageCageDetails.getThickness()); |
| | | } else { |
| | | BigStorageCageDetails beforeGlass = bigStorageCageDetailsService.getOne(new LambdaQueryWrapper<BigStorageCageDetails>() |
| | | .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL_ZERO) |
| | |
| | | .eq(BigStorageCageDetails::getTemperingFeedSequence, relationInfoBefore.getTemperingFeedSequence()) |
| | | ); |
| | | if (null == beforeGlass) { |
| | | storageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>() |
| | | .eq(BigStorageCage::getEnableState, Const.SLOT_ON).eq(BigStorageCage::getRemainWidth, slotWidth) |
| | | .le(BigStorageCage::getMinThickness, bigStorageCageDetails.getThickness()) |
| | | .ge(BigStorageCage::getMaxThickness, bigStorageCageDetails.getThickness()) |
| | | .orderByAsc(BigStorageCage::getMaxThickness).orderByAsc(BigStorageCage::getSlot).last("limit 1")); |
| | | storageCageDTO = bigStorageCageDetailsService.queryTargetSlot(engineerId, bigStorageCageDetails.getGlassId(), (int) bigStorageCageDetails.getThickness()); |
| | | } else { |
| | | storageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>() |
| | | BigStorageCage bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>() |
| | | .eq(BigStorageCage::getEnableState, Const.SLOT_ON).eq(BigStorageCage::getSlot, beforeGlass.getSlot())); |
| | | Assert.isTrue(null != bigStorageCage, "没有空余的笼子存放玻璃"); |
| | | storageCageDTO = new BigStorageDTO(); |
| | | storageCageDTO.setWidth(bigStorageCage.getRemainWidth()); |
| | | storageCageDTO.setSlot(bigStorageCage.getSlot()); |
| | | storageCageDTO.setDeviceId(bigStorageCage.getDeviceId()); |
| | | } |
| | | } |
| | | Assert.isTrue(null != storageCage, "没有空余的笼子存放玻璃"); |
| | | BigStorageDTO storageDTO = new BigStorageDTO(); |
| | | storageDTO.setDeviceId(storageCage.getDeviceId()); |
| | | storageDTO.setSlotSequence(relationInfoOne.getSlotSequence()); |
| | | storageDTO.setSlot(storageCage.getSlot()); |
| | | storageDTO.setWidth(storageCage.getRemainWidth()); |
| | | return storageDTO; |
| | | return storageCageDTO; |
| | | } |
| | | |
| | | @Override |
| | |
| | | @Override |
| | | public int bigStorageSlotPair(BigStorageGlassInfo bigStorageGlassInfo) { |
| | | //获取所有空闲可用的格子号 |
| | | Integer slotWidth = sysConfigService.queryConfigValue(ConstSysConfig.VERTICAL_SLOT_WIDTH); |
| | | BigStorageCage storageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>() |
| | | .eq(BigStorageCage::getEnableState, Const.SLOT_ON).eq(BigStorageCage::getRemainWidth, slotWidth) |
| | | .le(BigStorageCage::getMinThickness, bigStorageGlassInfo.getThickness()) |
| | | .ge(BigStorageCage::getMaxThickness, bigStorageGlassInfo.getThickness()) |
| | | .orderByAsc(BigStorageCage::getMaxThickness).orderByAsc(BigStorageCage::getSlot).last("limit 1")); |
| | | Assert.isTrue(null != storageCage, "没有空余的笼子存放玻璃"); |
| | | Integer slot = storageCage.getSlot(); |
| | | BigStorageDTO bigStorageDTO = bigStorageCageDetailsService.queryTargetSlot(bigStorageGlassInfo.getEngineerId(), |
| | | bigStorageGlassInfo.getGlassId(), bigStorageGlassInfo.getThickness().intValue()); |
| | | Assert.isTrue(null != bigStorageDTO, "没有空余的笼子存放玻璃"); |
| | | Integer slot = bigStorageDTO.getSlot(); |
| | | //获取该工程同一流程卡同一车的玻璃信息 |
| | | List<BigStorageGlassInfo> bigStorageGlassInfoList = this.list(new LambdaQueryWrapper<BigStorageGlassInfo>() |
| | | .eq(BigStorageGlassInfo::getEngineerId, bigStorageGlassInfo.getEngineerId()) |
| | |
| | | BigStorageGlassRelationInfo info = new BigStorageGlassRelationInfo(); |
| | | BeanUtils.copyProperties(e, info); |
| | | info.setSlot(slot); |
| | | info.setDeviceId(storageCage.getDeviceId()); |
| | | info.setDeviceId(bigStorageDTO.getDeviceId()); |
| | | return info; |
| | | }).collect(Collectors.toList()); |
| | | //保存关系表 |
| | |
| | | |
| | | private Integer getGlassGapByThickness(Double thickness) { |
| | | int sysKey = 0; |
| | | if (thickness >= 12 ) { |
| | | if (thickness >= 12) { |
| | | sysKey = ConstSysConfig.VERTICAL_GLASS_GAP_12; |
| | | } else if (thickness == 8) { |
| | | sysKey = ConstSysConfig.VERTICAL_GLASS_GAP_8; |