| 
					
				 | 
			
			
				@@ -439,12 +439,28 @@ namespace WCS.Service.Works.SRM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                    .ToList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (!arrIn.Any()) return; //当前堆垛机无入库任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    var lastIn = srmDevice.Entity.Get<int>("LastIn"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    StationDevice station = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //入库口设备信息 找一个有任务有光电且不在运行状态位的取货点 如果找不到代表任务还在输送途中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    var station = arrIn.OrderBy(v => v.Data2.Tasknum > 0 && v.Data2.Status.HasFlag(IstationStatus.光电状态) && !v.Data3.Status.HasFlag(StationStatus.运行状态位) ? 0 : 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                       .ThenBy(v => v.Entity.Is(DF.SRM涂布取货) ? 0 : 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                       .ThenBy(v => v.Entity.Is(DF.SRMBOPP取货) ? 0 : 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                       .FirstOrDefault() ?? throw new WarnException($"[{deviceCode}]等待入库任务输送到位"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (lastIn is 0 or 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        // 涂布优先为2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        srmDevice.Entity.Set("LastIn", 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        station = arrIn.OrderBy(v => v.Data2.Tasknum > 0 && v.Data2.Status.HasFlag(IstationStatus.光电状态) && !v.Data3.Status.HasFlag(StationStatus.运行状态位) ? 0 : 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                          .ThenBy(v => v.Entity.Is(DF.SRM涂布取货) ? 0 : 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                          .ThenBy(v => v.Entity.Is(DF.SRMBOPP取货) ? 0 : 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                          .FirstOrDefault() ?? throw new WarnException($"[{deviceCode}]等待入库任务输送到位"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    else if (lastIn == 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        // BOPP优先为1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        srmDevice.Entity.Set("LastIn", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        station = arrIn.OrderBy(v => v.Data2.Tasknum > 0 && v.Data2.Status.HasFlag(IstationStatus.光电状态) && !v.Data3.Status.HasFlag(StationStatus.运行状态位) ? 0 : 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                          .ThenBy(v => v.Entity.Is(DF.SRMBOPP取货) ? 0 : 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                          .ThenBy(v => v.Entity.Is(DF.SRM涂布取货) ? 0 : 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                          .FirstOrDefault() ?? throw new WarnException($"[{deviceCode}]等待入库任务输送到位"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //根据上述筛选条件筛选出来的入库任务 找到对应的设备组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     var item = Device.Where(v => v.DEVICEGROUP.Any(p => p.MEMBER.CODE == station.Entity.CODE)).Single(); 
			 |