| 
					
				 | 
			
			
				@@ -167,16 +167,16 @@ namespace WCS.Service.Works.RGV 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //else if (pickStation.Entity.CODE == "G9") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //    //九站台的小车需要额外检测一下11站台是否需要取货 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //    var station11 = Device.Find("G11").Create<StationDeviceGroup>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //    var station11Dev = station11.RGVGetTaskedDevice(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //    if (station11Dev != null && station11Dev.Count > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //        obj.Move(station11); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        //} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        else if (pickStation.Entity.CODE == "G9") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            //九站台的小车需要额外检测一下11站台是否需要取货 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            var station11 = Device.Find("G11").Create<StationDeviceGroup>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            var station11Dev = station11.RGVGetTaskedDevice(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (station11Dev != null && station11Dev.Count > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                obj.Move(station11); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         //找到自己的后一个小车 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         var afterRgv = obj.After(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -184,19 +184,19 @@ namespace WCS.Service.Works.RGV 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         //自己是否阻挡了该小车 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (afterRgv.Data2.WorkMode == RGVMode.自动 && afterRgv.Data2.SystemStatus != RGVRunStatus.空闲 && obj.StopedByMe(afterRgv)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //if (pickStation.Entity.CODE == "G2") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //    //此站台因需要进行排队,因此是否需要赶车取决于是否拦住了两个小车的任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //    var afterRgv1 = afterRgv.After(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //    //如果是空闲或者没有拦住他,就不执行赶车 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //    if (afterRgv.Data2.WorkMode == RGVMode.自动 && afterRgv1.Data2.SystemStatus == RGVRunStatus.空闲 || !afterRgv.StopedByMe(afterRgv1)) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //else if (pickStation.Entity.CODE == "G3") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //    //为了减少空跑,需要被阻拦的小车后面的小车任务类型为移动并且位置值要大于618500小于被阻拦小车的位置值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //    var afterRgv1 = afterRgv.After(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //    if (afterRgv1.Data2.WorkMode == RGVMode.自动 && afterRgv1.Data2.TaskType_1 != RGVTaskType.移动 && !(afterRgv1.Position < afterRgv.Position && afterRgv1.Position > 618500)) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (pickStation.Entity.CODE == "G2") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                //此站台因需要进行排队,因此是否需要赶车取决于是否拦住了两个小车的任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                var afterRgv1 = afterRgv.After(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                //如果是空闲或者没有拦住他,就不执行赶车 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                if (afterRgv.Data2.WorkMode == RGVMode.自动 && afterRgv1.Data2.SystemStatus == RGVRunStatus.空闲 || !afterRgv.StopedByMe(afterRgv1)) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            else if (pickStation.Entity.CODE == "G3") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                //为了减少空跑,需要被阻拦的小车后面的小车任务类型为移动并且位置值要大于618500小于被阻拦小车的位置值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                var afterRgv1 = afterRgv.After(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                if (afterRgv1.Data2.WorkMode == RGVMode.自动 && afterRgv1.Data2.TaskType_1 != RGVTaskType.移动 && !(afterRgv1.Position < afterRgv.Position && afterRgv1.Position > 618500)) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             //找到当前所在站台的下一个取货点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             var beforeStation = Device.Where(v => v.Is(DF.涂布RGV取货设备组) && v.CODE != pickStation.Entity.CODE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                           .Select(v => v.Create<StationDeviceGroup>()) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -209,29 +209,28 @@ namespace WCS.Service.Works.RGV 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         else if (pickStation.Entity.CODE == "G11") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //obj.Move(Device.Find("G2").Create<StationDeviceGroup>()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            obj.Move(Device.Find("G2").Create<StationDeviceGroup>()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //var station = Device.Where(v => v.Is(DF.涂布RGV取货设备组)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //                        .Select(v => v.Create<StationDeviceGroup>()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //                        .Where(v => v.Position > obj.Position) //前面的 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //                        .Where(v => v.CurrentRGV() == null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //                        .Where(v => !v.RgvList.Any(c => c.Data2.SystemStatus != RGVRunStatus.空闲 && c.Data2.DestPosition_1 == v.Entity.CODE.GetShortCode())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //                        .Where(v => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //                            // 筛选出有任务号和起始及目标地址的设备 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //                            var b = pickStation.RGVGetTaskedDevice(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //                            //是否需要取货 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //                            if (b != null && b.Count > 0) return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //                            else return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //                        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //                        .OrderBy(v => obj.Distance(v)).FirstOrDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //if (obj.Data2.TaskType_1 == RGVTaskType.移动 && obj.Distance(station) > 100000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //    obj.Move(station); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            //} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            var station = Device.Where(v => v.Is(DF.涂布RGV取货设备组)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    .Select(v => v.Create<StationDeviceGroup>()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    .Where(v => v.Position > obj.Position) //前面的 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    .Where(v => v.CurrentRGV() == null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    .Where(v => !v.RgvList.Any(c => c.Data2.SystemStatus != RGVRunStatus.空闲 && c.Data2.DestPosition_1 == v.Entity.CODE.GetShortCode())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    .Where(v => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                        // 筛选出有任务号和起始及目标地址的设备 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                        var b = pickStation.RGVGetTaskedDevice(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                        //是否需要取货 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                        if (b != null && b.Count > 0) return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                        else return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                    .OrderBy(v => obj.Distance(v)).FirstOrDefault(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (obj.Data2.TaskType_1 == RGVTaskType.移动 && obj.Distance(station) > 100000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                obj.Move(station); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |