|  |  | @ -136,7 +136,11 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS | 
			
		
	
		
		
			
				
					
					|  |  |  |                         .supId(ioSplitFifoCodeEntity.getSupId()) |  |  |  |                         .supId(ioSplitFifoCodeEntity.getSupId()) | 
			
		
	
		
		
			
				
					
					|  |  |  |                         .inCount(ioSplitFifoCodeEntity.getTotalCount()).outCount(0) |  |  |  |                         .inCount(ioSplitFifoCodeEntity.getTotalCount()).outCount(0) | 
			
		
	
		
		
			
				
					
					|  |  |  |                         .reCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount())) |  |  |  |                         .reCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount())) | 
			
		
	
		
		
			
				
					
					|  |  |  |                         .availableCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount())).lockCount(0).createTime(new Date()).updateTime(new Date()).remark(null).enableRemind(false).invRemindCount(0).workPlaceQueueCode(orderEntity.getWorkPlaceQueueCode() == null ? setQueueCode(ioSplitFifoCodeEntity.getWorkPlaceCode(), orderEntity.getCreateUser()) : orderEntity.getWorkPlaceQueueCode()).build(); |  |  |  |                         .availableCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount())).lockCount(0) | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         .createTime(new Date()).updateTime(new Date()).remark(null) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         .enableRemind(false).invRemindCount(0) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         .workPlaceQueueCode(orderEntity.getWorkPlaceQueueCode() == null ? setQueueCode(ioSplitFifoCodeEntity.getWorkPlaceCode(), orderEntity.getCreateUser()) : orderEntity.getWorkPlaceQueueCode()) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                         .build(); | 
			
		
	
		
		
			
				
					
					|  |  |  | //                if (isOnlyInv) {
 |  |  |  | //                if (isOnlyInv) {
 | 
			
		
	
		
		
			
				
					
					|  |  |  | //                    splitFifoInv.setBusType(ioSplitFifoCodeEntity.getBusType());
 |  |  |  | //                    splitFifoInv.setBusType(ioSplitFifoCodeEntity.getBusType());
 | 
			
		
	
		
		
			
				
					
					|  |  |  | //                }
 |  |  |  | //                }
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -175,19 +179,23 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (queues.size() == 0) { |  |  |  |         if (queues.size() == 0) { | 
			
		
	
		
		
			
				
					
					|  |  |  |             throw new JsonException(500, "请增加取货槽"); |  |  |  |             throw new JsonException(500, "请增加取货槽"); | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         // 直接根据 workPlaceCode 增加一个槽位
 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |         SysWorkplaceQueue workplaceQueue = queues.get(0); |  |  |  |         SysWorkplaceQueue workplaceQueue = queues.get(0); | 
			
		
	
		
		
			
				
					
					|  |  |  | //        // 使用流来过滤掉匹配的元素
 |  |  |  |         // 使用流来过滤掉匹配的元素
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //        List<SysWorkplaceQueue> filteredQueues = queues.stream()
 |  |  |  |         List<SysWorkplaceQueue> filteredQueues = queues.stream() | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //                .filter(queue -> {
 |  |  |  |                 .filter(queue -> { | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //                    IoSplitFifoInv one = getOne(
 |  |  |  |                     IoSplitFifoInv one = getOne( | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //                            new LambdaQueryWrapper<IoSplitFifoInv>()
 |  |  |  |                             new LambdaQueryWrapper<IoSplitFifoInv>() | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //                                    .eq(IoSplitFifoInv::getWorkPlaceQueueCode, queue.getCode())
 |  |  |  |                                     .eq(IoSplitFifoInv::getWorkPlaceQueueCode, queue.getCode()) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //                    );
 |  |  |  |                     ); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //                    return one == null; // 只保留那些没有匹配的槽位
 |  |  |  |                     return one == null; // 只保留那些没有匹配的槽位
 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //                })
 |  |  |  |                 }) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //                .sorted((queue1, queue2) -> queue1.getCode().compareTo(queue2.getCode()))
 |  |  |  |                 .sorted((queue1, queue2) -> queue1.getCode().compareTo(queue2.getCode())) | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | //                .collect(Collectors.toList());
 |  |  |  |                 .collect(Collectors.toList()); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         if (filteredQueues.size() > 0) { | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             //还有剩余的槽位 可分配
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             SysWorkplaceQueue sysWorkplaceQueue = filteredQueues.get(0); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             return sysWorkplaceQueue.getCode(); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } else { | 
			
		
	
		
		
			
				
					
					|  |  |  |             //增加一个槽位
 |  |  |  |             //增加一个槽位
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             SysWorkplaceLayer layer = sysWorkplaceLayerService.getOne(new LambdaQueryWrapper<SysWorkplaceLayer>().eq(SysWorkplaceLayer::getCode, workplaceQueue.getLayerCode())); |  |  |  |             SysWorkplaceLayer layer = sysWorkplaceLayerService.getOne(new LambdaQueryWrapper<SysWorkplaceLayer>().eq(SysWorkplaceLayer::getCode, workplaceQueue.getLayerCode())); | 
			
		
	
		
		
			
				
					
					|  |  |  |             SysWorkplaceLayerRequest sysWorkplaceLayerRequest = new SysWorkplaceLayerRequest(); |  |  |  |             SysWorkplaceLayerRequest sysWorkplaceLayerRequest = new SysWorkplaceLayerRequest(); | 
			
		
	
	
		
		
			
				
					|  |  | @ -195,11 +203,15 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS | 
			
		
	
		
		
			
				
					
					|  |  |  |             sysWorkplaceLayerRequest.setCode(workplaceQueue.getLayerCode()); |  |  |  |             sysWorkplaceLayerRequest.setCode(workplaceQueue.getLayerCode()); | 
			
		
	
		
		
			
				
					
					|  |  |  |             sysWorkplaceLayerRequest.setWorkPlaceIdFk(workPlaceCode); |  |  |  |             sysWorkplaceLayerRequest.setWorkPlaceIdFk(workPlaceCode); | 
			
		
	
		
		
			
				
					
					|  |  |  |             sysWorkplaceLayerRequest.setQueueNum(layer.getQueueNum() + 1); |  |  |  |             sysWorkplaceLayerRequest.setQueueNum(layer.getQueueNum() + 1); | 
			
		
	
		
		
			
				
					
					|  |  |  |             sysWorkplaceLayerService.addSysWorkplaceLayer(sysWorkplaceLayerRequest, Long.valueOf(userId)); |  |  |  |             Boolean aBoolean = sysWorkplaceLayerService.addSysWorkplaceLayer(sysWorkplaceLayerRequest, Long.valueOf(userId)); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             String queueCode = sysWorkplaceQueueService.selectMaxCodeByLayerCode(workplaceQueue.getLayerCode()); |  |  |  |             if (!aBoolean){ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |             return queueCode; |  |  |  |                 throw new JsonException(500, "虚拟槽位增加失败"); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         return setQueueCode(workPlaceCode, userId); | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     @Resource |  |  |  |     @Resource | 
			
		
	
		
		
			
				
					
					|  |  |  |     SysWorkplacePutRelService sysWorkplacePutRelService; |  |  |  |     SysWorkplacePutRelService sysWorkplacePutRelService; | 
			
		
	
		
		
			
				
					
					|  |  |  |     @Resource |  |  |  |     @Resource | 
			
		
	
	
		
		
			
				
					|  |  | 
 |