|  | @@ -470,6 +470,7 @@ namespace WCS.Service.Works.Station
 | 
	
		
			
				|  |  |                                   tasking.Status = AGVTaskStatus.确认;
 | 
	
		
			
				|  |  |                                   tasking.UpdateTime = DateTime.Now;
 | 
	
		
			
				|  |  |                                   db.Default.SaveChanges();
 | 
	
		
			
				|  |  | +                                 tasking.AGVStatusChange(AGVTaskStatus.确认, "变更");
 | 
	
		
			
				|  |  |                               });
 | 
	
		
			
				|  |  |                               return;
 | 
	
		
			
				|  |  |                           }
 | 
	
	
		
			
				|  | @@ -478,12 +479,14 @@ namespace WCS.Service.Works.Station
 | 
	
		
			
				|  |  |                               tasking.Status = tasking.AGVStatus;
 | 
	
		
			
				|  |  |                               tasking.UpdateTime = DateTime.Now;
 | 
	
		
			
				|  |  |                               db.Default.SaveChanges();
 | 
	
		
			
				|  |  | +                             tasking.AGVStatusChange(tasking.AGVStatus);
 | 
	
		
			
				|  |  |                           }
 | 
	
		
			
				|  |  |                           else if (tasking.AGVStatus == AGVTaskStatus.取消)
 | 
	
		
			
				|  |  |                           {
 | 
	
		
			
				|  |  |                               tasking.Status = tasking.AGVStatus;
 | 
	
		
			
				|  |  |                               tasking.UpdateTime = DateTime.Now;
 | 
	
		
			
				|  |  |                               db.Default.SaveChanges();
 | 
	
		
			
				|  |  | +                             tasking.AGVStatusChange(tasking.AGVStatus);
 | 
	
		
			
				|  |  |                           }
 | 
	
		
			
				|  |  |                       }
 | 
	
		
			
				|  |  |                   });
 | 
	
	
		
			
				|  | @@ -500,7 +503,7 @@ namespace WCS.Service.Works.Station
 | 
	
		
			
				|  |  |                   DB.Do(db =>
 | 
	
		
			
				|  |  |                   {
 | 
	
		
			
				|  |  |                       var taskList = db.Default.Set<WCS_TASK>().Where(v => taskIds.Contains(v.ID));
 | 
	
		
			
				|  |  | -                     if (taskList.Count() == 0) return;
 | 
	
		
			
				|  |  | +                     if (!taskList.Any()) return;
 | 
	
		
			
				|  |  |                       if (taskList == null) throw new WarnException($"WCS任务号{JsonConvert.SerializeObject(taskIds)}不存在");
 | 
	
		
			
				|  |  |                       if (taskList.Any(v => v.TYPE != TaskType.出库)) throw new WarnException("有任务的类型不是出库");
 | 
	
		
			
				|  |  |                       if (taskList.Any(v => v.AgvTask == 0)) throw new WarnException("人工出库任务,请手动搬走");
 | 
	
	
		
			
				|  | @@ -512,8 +515,8 @@ namespace WCS.Service.Works.Station
 | 
	
		
			
				|  |  |                       if (agvtask.Status == AGVTaskStatus.确认)
 | 
	
		
			
				|  |  |                       {
 | 
	
		
			
				|  |  |                           if (!stationDeviceGroup.Items.Any(v => v.Data3.Status.HasFlag(StationStatus.高位))) throw new WarnException("不在高位");
 | 
	
		
			
				|  |  | -                         var flag = db.Default.Set<WCS_AGVTask>().Where(v => v.TaskType == AGVTaskType.叫料)
 | 
	
		
			
				|  |  | -                         .Where(v => v.Status > AGVTaskStatus.确认 && v.Status < AGVTaskStatus.取放完成).Count();
 | 
	
		
			
				|  |  | +                         var flag = db.Default.Set<WCS_AGVTask>()
 | 
	
		
			
				|  |  | +                             .Where(v => v.TaskType == AGVTaskType.叫料).Count(v => v.Status > AGVTaskStatus.确认 && v.Status < AGVTaskStatus.取放完成);
 | 
	
		
			
				|  |  |                           if (flag >= 2) throw new Exception("有2未完成的AGV出库任务");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                           taskList.ToList().ForEach(task =>
 | 
	
	
		
			
				|  | @@ -527,6 +530,7 @@ namespace WCS.Service.Works.Station
 | 
	
		
			
				|  |  |                           agvtask.Status = AGVTaskStatus.执行;
 | 
	
		
			
				|  |  |                           agvtask.UpdateTime = DateTime.Now;
 | 
	
		
			
				|  |  |                           db.Default.SaveChanges();
 | 
	
		
			
				|  |  | +                         agvtask.AGVStatusChange(AGVTaskStatus.执行, "变更");
 | 
	
		
			
				|  |  |                       }
 | 
	
		
			
				|  |  |                       else if (agvtask.Status < agvtask.AGVStatus)
 | 
	
		
			
				|  |  |                       {
 | 
	
	
		
			
				|  | @@ -540,6 +544,7 @@ namespace WCS.Service.Works.Station
 | 
	
		
			
				|  |  |                               agvtask.Status = agvtask.AGVStatus;
 | 
	
		
			
				|  |  |                               agvtask.UpdateTime = DateTime.Now;
 | 
	
		
			
				|  |  |                               db.Default.SaveChanges();
 | 
	
		
			
				|  |  | +                             agvtask.AGVStatusChange(agvtask.AGVStatus);
 | 
	
		
			
				|  |  |                           }
 | 
	
		
			
				|  |  |                           else if (agvtask.AGVStatus == AGVTaskStatus.取放完成)
 | 
	
		
			
				|  |  |                           {
 | 
	
	
		
			
				|  | @@ -550,6 +555,7 @@ namespace WCS.Service.Works.Station
 | 
	
		
			
				|  |  |                               agvtask.Status = agvtask.AGVStatus;
 | 
	
		
			
				|  |  |                               agvtask.UpdateTime = DateTime.Now;
 | 
	
		
			
				|  |  |                               db.Default.SaveChanges();
 | 
	
		
			
				|  |  | +                             agvtask.AGVStatusChange(agvtask.AGVStatus);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                               foreach (var dev in stationDeviceGroup.Items)
 | 
	
		
			
				|  |  |                               {
 |