| 
					
				 | 
			
			
				@@ -109,49 +109,50 @@ namespace WCS.Service.Works.RGV 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //RGV是否在任何一个取货站点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (pickStation != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    // 检查取货点是否需要取货 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    pickStation.WhetherToExecute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    // 筛选出有任务号和起始及目标地址的设备 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    var devs = pickStation.RGVGetTaskedDevice(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //// 检查取货点是否需要取货 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //pickStation.WhetherToExecute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //// 筛选出有任务号和起始及目标地址的设备 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //var devs = pickStation.RGVGetTaskedDevice(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    var devs = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //是否需要取货 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (devs.Count > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (devs > 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         //开始下达取货任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        DB.Do(db => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            var taskids = devs.Select(v => v.Data2.Tasknum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            var tasks = db.Default.Set<WCS_TASK>().Where(p => taskids.Contains(p.ID)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (tasks.GroupBy(p => p.TaskGroupKey).Count() > 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                throw new WarnException("任务组ID不一致"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (!tasks.GroupBy(p => p.TaskGroupKey).Any()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                throw new WarnException("无任务组ID"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            var gw1 = pickStation.Items.ToArray()[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            var gw2 = pickStation.Items.ToArray()[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (gw1.Data2.Tasknum != 0 && gw2.Data2.Tasknum != 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                if (gw1.Data2.Goodsend != gw2.Data2.Goodsend) throw new WarnException($"{obj.Entity.Code}目标地址不一致"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            obj.Data.TaskID_1 = gw1.Data2.Tasknum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            obj.Data.TaskID_2 = gw2.Data2.Tasknum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            obj.Data.TaskType_1 = RGVTaskType.取货; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (gw1.Data2.Tasknum != 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                obj.Data.DestPosition_1 = gw1.Data2.Goodsend; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                obj.Data.DestPosition_1 = gw2.Data2.Goodsend; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            obj.Data.Trigger_1++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //DB.Do(db => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    var taskids = devs.Select(v => v.Data2.Tasknum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    var tasks = db.Default.Set<WCS_TASK>().Where(p => taskids.Contains(p.ID)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    if (tasks.GroupBy(p => p.TaskGroupKey).Count() > 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //        throw new WarnException("任务组ID不一致"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    if (!tasks.GroupBy(p => p.TaskGroupKey).Any()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //        throw new WarnException("无任务组ID"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    var gw1 = pickStation.Items.ToArray()[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    var gw2 = pickStation.Items.ToArray()[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    if (gw1.Data2.Tasknum != 0 && gw2.Data2.Tasknum != 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //        if (gw1.Data2.Goodsend != gw2.Data2.Goodsend) throw new WarnException($"{obj.Entity.Code}目标地址不一致"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    obj.Data.TaskID_1 = gw1.Data2.Tasknum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    obj.Data.TaskID_2 = gw2.Data2.Tasknum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    obj.Data.TaskType_1 = RGVTaskType.取货; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    if (gw1.Data2.Tasknum != 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //        obj.Data.DestPosition_1 = gw1.Data2.Goodsend; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //        obj.Data.DestPosition_1 = gw2.Data2.Goodsend; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    obj.Data.Trigger_1++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            foreach (var task in tasks) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                var msg = $"下达从{obj.Data.StartPosition_1}移动至{ obj.Data.DestPosition_1}的RGV PLC指令。"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                msg += $"[{ task.ID}][{obj.Data.StartPosition_1}][{obj.Data.DestPosition_1}[{ obj.Data.Trigger_1}]"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    foreach (var task in tasks) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //        var msg = $"下达从{obj.Data.StartPosition_1}移动至{ obj.Data.DestPosition_1}的RGV PLC指令。"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //        msg += $"[{ task.ID}][{obj.Data.StartPosition_1}][{obj.Data.DestPosition_1}[{ obj.Data.Trigger_1}]"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                task.CreateStatusLog(db, msg, this.GetType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //        task.CreateStatusLog(db, msg, this.GetType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     //找到自己的后一个小车 
			 |