|  |  |  | @ -10,6 +10,7 @@ import com.glxp.api.entity.auth.SysWorkplace; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.basic.BasicCollectBustypeEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.basic.BasicSkPrescribeEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.basic.BasicSkPrescribeItemEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.collect.IoCollectOrder; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.collect.IoCollectOrderBiz; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.entity.collect.IoCollectOrderCodeMan; | 
			
		
	
	
		
			
				
					|  |  |  | @ -19,6 +20,7 @@ import com.glxp.api.exception.JsonException; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.req.collect.CollectOrderRequest; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.req.inout.DeleteTageCodeRequest; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.req.inout.FilterOrderRequest; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.res.basic.SysWorkplaceResponse; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.res.basic.UdiRelevanceResponse; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.res.collect.IoCollectOrderResponse; | 
			
		
	
		
			
				
					|  |  |  |  | import com.glxp.api.res.inout.IoOrderResponse; | 
			
		
	
	
		
			
				
					|  |  |  | @ -129,7 +131,8 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     @Resource | 
			
		
	
		
			
				
					|  |  |  |  |     SysWorkplaceDocumentService sysWorkplaceDocumentService; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     @Resource | 
			
		
	
		
			
				
					|  |  |  |  |     BasicCollectBustypeService bustypeService; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     public void importUdi() { | 
			
		
	
		
			
				
					|  |  |  |  |         //下载UDI内部单据
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -145,10 +148,10 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC | 
			
		
	
		
			
				
					|  |  |  |  |             if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, ioOrderEntity.getBillNo()))) { | 
			
		
	
		
			
				
					|  |  |  |  |                 continue; | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByAddr(ioOrderEntity.getAction()); | 
			
		
	
		
			
				
					|  |  |  |  |             if (collectBustypeEntity == null) | 
			
		
	
		
			
				
					|  |  |  |  |                 continue; | 
			
		
	
		
			
				
					|  |  |  |  |             List<SysWorkplace> sysWorkplaces = sysWorkplaceService.getAllByBusType(collectBustypeEntity.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  | //            BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByAddr(ioOrderEntity.getAction());
 | 
			
		
	
		
			
				
					|  |  |  |  | //            if (collectBustypeEntity == null)
 | 
			
		
	
		
			
				
					|  |  |  |  | //                continue;
 | 
			
		
	
		
			
				
					|  |  |  |  |             List<SysWorkplaceResponse> sysWorkplaces = sysWorkplaceService.getAllByBusType(ioOrderEntity.getAction()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             //自动分配工位
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -157,8 +160,8 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC | 
			
		
	
		
			
				
					|  |  |  |  |                 if (sysWorkplaces.size() == 1) { | 
			
		
	
		
			
				
					|  |  |  |  |                     defaultWorkplace[0] = sysWorkplaces.get(0).getWorkplaceId(); | 
			
		
	
		
			
				
					|  |  |  |  |                 } else { | 
			
		
	
		
			
				
					|  |  |  |  |                     List<SysWorkplace> addWorkplace = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |                     for (SysWorkplace sysWorkplace : sysWorkplaces) { | 
			
		
	
		
			
				
					|  |  |  |  |                     List<SysWorkplaceResponse> addWorkplace = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |                     for (SysWorkplaceResponse sysWorkplace : sysWorkplaces) { | 
			
		
	
		
			
				
					|  |  |  |  |                         //获取是否有正在处理的工位
 | 
			
		
	
		
			
				
					|  |  |  |  |                         List<IoCollectOrder> collectOrderList1 = collectOrderMapper.selectList(new LambdaQueryWrapper<IoCollectOrder>() | 
			
		
	
		
			
				
					|  |  |  |  |                                 .eq(IoCollectOrder::getWorkPlaceCode, sysWorkplace.getWorkplaceId()).in(IoCollectOrder::getTagStatus, -1, 1, 2)); | 
			
		
	
	
		
			
				
					|  |  |  | @ -168,7 +171,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC | 
			
		
	
		
			
				
					|  |  |  |  |                         } | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                     if (addWorkplace.size() > 0) { | 
			
		
	
		
			
				
					|  |  |  |  |                         Optional<SysWorkplace> minCountObject = addWorkplace.stream() | 
			
		
	
		
			
				
					|  |  |  |  |                         Optional<SysWorkplaceResponse> minCountObject = addWorkplace.stream() | 
			
		
	
		
			
				
					|  |  |  |  |                                 .min((o1, o2) -> Integer.compare(o1.getOrderCount(), o2.getOrderCount())); | 
			
		
	
		
			
				
					|  |  |  |  |                         minCountObject.ifPresent(sysWorkplace -> defaultWorkplace[0] = sysWorkplace.getWorkplaceId()); | 
			
		
	
		
			
				
					|  |  |  |  |                     } else { | 
			
		
	
	
		
			
				
					|  |  |  | @ -178,8 +181,8 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             IoCollectOrder collectOrder = IoCollectOrder.builder() | 
			
		
	
		
			
				
					|  |  |  |  |                     .billNo(ioOrderEntity.getBillNo()) | 
			
		
	
		
			
				
					|  |  |  |  |                     .busType(collectBustypeEntity.getCode()) | 
			
		
	
		
			
				
					|  |  |  |  |                     .fromType(collectBustypeEntity.getFromType()) | 
			
		
	
		
			
				
					|  |  |  |  |                     .fromType("UDI系统") | 
			
		
	
		
			
				
					|  |  |  |  |                     .busType(ioOrderEntity.getAction()) | 
			
		
	
		
			
				
					|  |  |  |  |                     .fromCorp(ioOrderEntity.getFromName()) | 
			
		
	
		
			
				
					|  |  |  |  |                     .workPlaceCode(defaultWorkplace[0]) | 
			
		
	
		
			
				
					|  |  |  |  |                     .billTime(ioOrderEntity.getCreateTime()) | 
			
		
	
	
		
			
				
					|  |  |  | @ -192,6 +195,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC | 
			
		
	
		
			
				
					|  |  |  |  |             if (collectOrder.getWorkPlaceCode() != null) { | 
			
		
	
		
			
				
					|  |  |  |  |                 collectOrder.setTagStatus(1); | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             collectOrderList.add(collectOrder); | 
			
		
	
		
			
				
					|  |  |  |  |             List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(ioOrderEntity.getBillNo()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | @ -236,9 +240,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         List<IoCollectOrder> collectOrderList = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |         for (BasicSkPrescribeEntity basicSkPrescribeEntity : basicSkPrescribeEntities) { | 
			
		
	
		
			
				
					|  |  |  |  |             BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByAddr(String.valueOf(basicSkPrescribeEntity.getAddr())); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             BasicCollectBustypeEntity collectBustypeEntity = collectBustypeService.findByCode(String.valueOf(basicSkPrescribeEntity.getAddr())); | 
			
		
	
		
			
				
					|  |  |  |  |             if (collectBustypeEntity == null) | 
			
		
	
		
			
				
					|  |  |  |  |                 continue; | 
			
		
	
		
			
				
					|  |  |  |  |             if (collectOrderMapper.exists(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, basicSkPrescribeEntity.getCode()))) { | 
			
		
	
	
		
			
				
					|  |  |  | @ -246,13 +248,13 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             //自动分配工位
 | 
			
		
	
		
			
				
					|  |  |  |  |             final Long[] defaultWorkplace = {null}; | 
			
		
	
		
			
				
					|  |  |  |  |             List<SysWorkplace> sysWorkplaces = sysWorkplaceService.getAllByBusType(collectBustypeEntity.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |             List<SysWorkplaceResponse> sysWorkplaces = sysWorkplaceService.getAllByBusType(collectBustypeEntity.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  |             if (CollUtil.isNotEmpty(sysWorkplaces)) { | 
			
		
	
		
			
				
					|  |  |  |  |                 if (sysWorkplaces.size() == 1) { | 
			
		
	
		
			
				
					|  |  |  |  |                     defaultWorkplace[0] = sysWorkplaces.get(0).getWorkplaceId(); | 
			
		
	
		
			
				
					|  |  |  |  |                 } else { | 
			
		
	
		
			
				
					|  |  |  |  |                     List<SysWorkplace> addWorkplace = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |                     for (SysWorkplace sysWorkplace : sysWorkplaces) { | 
			
		
	
		
			
				
					|  |  |  |  |                     List<SysWorkplaceResponse> addWorkplace = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |                     for (SysWorkplaceResponse sysWorkplace : sysWorkplaces) { | 
			
		
	
		
			
				
					|  |  |  |  |                         //获取是否有正在处理的工位
 | 
			
		
	
		
			
				
					|  |  |  |  |                         List<IoCollectOrder> collectOrderList1 = collectOrderMapper.selectList(new LambdaQueryWrapper<IoCollectOrder>() | 
			
		
	
		
			
				
					|  |  |  |  |                                 .eq(IoCollectOrder::getWorkPlaceCode, sysWorkplace.getWorkplaceId()).in(IoCollectOrder::getTagStatus, -1, 1, 2)); | 
			
		
	
	
		
			
				
					|  |  |  | @ -262,7 +264,7 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC | 
			
		
	
		
			
				
					|  |  |  |  |                         } | 
			
		
	
		
			
				
					|  |  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |  |                     if (addWorkplace.size() > 0) { | 
			
		
	
		
			
				
					|  |  |  |  |                         Optional<SysWorkplace> minCountObject = addWorkplace.stream() | 
			
		
	
		
			
				
					|  |  |  |  |                         Optional<SysWorkplaceResponse> minCountObject = addWorkplace.stream() | 
			
		
	
		
			
				
					|  |  |  |  |                                 .min((o1, o2) -> Integer.compare(o1.getOrderCount(), o2.getOrderCount())); | 
			
		
	
		
			
				
					|  |  |  |  |                         minCountObject.ifPresent(sysWorkplace -> defaultWorkplace[0] = sysWorkplace.getWorkplaceId()); | 
			
		
	
		
			
				
					|  |  |  |  |                     } else { | 
			
		
	
	
		
			
				
					|  |  |  | @ -290,7 +292,6 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC | 
			
		
	
		
			
				
					|  |  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |  |             collectOrderList.add(collectOrder); | 
			
		
	
		
			
				
					|  |  |  |  |             List<BasicSkPrescribeItemEntity> basicSkPrescribeItemEntities = basicSkPrescirbeDetailService.findByPrescribeNum(basicSkPrescribeEntity.getCode()); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             List<IoCollectOrderBiz> collectOrderBizs = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |  |             for (BasicSkPrescribeItemEntity bizEntity : basicSkPrescribeItemEntities) { | 
			
		
	
		
			
				
					|  |  |  |  |                 UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByRelId(bizEntity.getRelId() + ""); | 
			
		
	
	
		
			
				
					|  |  |  | 
 |