| 
					
				 | 
			
			
				@@ -433,7 +433,7 @@ namespace WCS.Service.Works.SRM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 #endregion 移库 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 else if (lastIsOut) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -563,9 +563,53 @@ namespace WCS.Service.Works.SRM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     srmDevice.Entity.Set("LastOutFloor", floor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (enterPriority != null && outPriority != null && enterPriority.Priority > outPriority.Priority) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    srmDevice.CheckOutTask(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //获取当前堆垛机所有的放货点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    var list = srmDevice.GetDeliveryPoint().Where(v => v.Data3.Status != 0).Select(v => v.Entity.CODE).ToList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    var list = srmDevice.GetDeliveryPoint().Where(v => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       //true:满足条件  false:不满足条件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       //返回结果为无货的设备  默认无货 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       var res = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       //放货点是否有货 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       if (v.Data.VoucherNo != v.Data2.VoucherNo) res = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       else if (v.Data3.Status.HasFlag(StationStatus.运行状态位)) res = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       else if (v.Data2.Status.HasFlag(IstationStatus.光电状态)) res = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       else if (v.Data2.Request == IstationRequest.堆垛机放货完成请求目标地址) res = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       else if (v.Data2.Tasknum > 10000) res = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       if (!v.Entity.Is(DF.SRM涂布放货)) return res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       var devise = new List<StationDevice>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       switch (v.Entity.CODE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           case "1283" or "1284": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               devise = Device.Where(b => b.CODE is "1281" or "1282").Select(b => b.Create<StationDevice>()).ToList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           case "1290" or "1291" or "1292" or "1293": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               devise = Device.Where(b => b.CODE is "1288" or "1289").Select(b => b.Create<StationDevice>()).ToList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           case "1299" or "1300" or "1301" or "1302": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               devise = Device.Where(b => b.CODE is "1297" or "1298").Select(b => b.Create<StationDevice>()).ToList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           case "1308" or "1309" or "1310" or "1311": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               devise = Device.Where(b => b.CODE is "1306" or "1307").Select(b => b.Create<StationDevice>()).ToList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                               break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       if (!devise.Any()) return res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       foreach (var stationDevice in devise) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           //放货点是否有货 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           if (stationDevice.Data3.Status.HasFlag(StationStatus.运行状态位)) res = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           else if (stationDevice.Data2.Status.HasFlag(IstationStatus.光电状态)) res = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           else if (stationDevice.Data2.Request == IstationRequest.堆垛机放货完成请求目标地址) res = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                           else if (stationDevice.Data2.Tasknum > 10000) res = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       return res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   }).Select(v => v.Entity.CODE).ToList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //没有可用货位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     if (!list.Any()) return; 
			 |