| 
														
															@@ -43,7 +43,7 @@ namespace WCS.Service.Works.Station 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         //没有光电 
														 | 
														
														 | 
														
															                         //没有光电 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         if (!dev.Data2.Status.HasFlag(IstationStatus.光电状态)) 
														 | 
														
														 | 
														
															                         if (!dev.Data2.Status.HasFlag(IstationStatus.光电状态)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         { 
														 | 
														
														 | 
														
															                         { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            InfoLog.INFO_WarnDb($"{dev.Entity.CODE}有请求无光电", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            //InfoLog.INFO_WarnDb($"{dev.Entity.CODE}有请求无光电", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             continue; 
														 | 
														
														 | 
														
															                             continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         }; 
														 | 
														
														 | 
														
															                         }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         devs.Add(new FinishTaskList<string>(dev.Entity.CODE, dev.Entity.Create<StationDevice>())); 
														 | 
														
														 | 
														
															                         devs.Add(new FinishTaskList<string>(dev.Entity.CODE, dev.Entity.Create<StationDevice>())); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -119,12 +119,12 @@ namespace WCS.Service.Works.Station 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             } 
														 | 
														
														 | 
														
															                             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             if (!dev.Data2.Status.HasFlag(IstationStatus.光电状态)) 
														 | 
														
														 | 
														
															                             if (!dev.Data2.Status.HasFlag(IstationStatus.光电状态)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             { 
														 | 
														
														 | 
														
															                             { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                InfoLog.INFO_WarnDb($"{dev.Entity.CODE}有请求无光电", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                //InfoLog.INFO_WarnDb($"{dev.Entity.CODE}有请求无光电", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                 continue; 
														 | 
														
														 | 
														
															                                 continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             } 
														 | 
														
														 | 
														
															                             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             if (dev.Data2.Tasknum < 10000) 
														 | 
														
														 | 
														
															                             if (dev.Data2.Tasknum < 10000) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             { 
														 | 
														
														 | 
														
															                             { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                InfoLog.INFO_WarnDb($"{dev.Entity.CODE}有请求有光电无任务", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                //InfoLog.INFO_WarnDb($"{dev.Entity.CODE}有请求有光电无任务", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                 continue; 
														 | 
														
														 | 
														
															                                 continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             } 
														 | 
														
														 | 
														
															                             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             devs.Add(new FinishTaskList<string>(dev.Entity.CODE, dev.Entity.Create<StationDevice>())); 
														 | 
														
														 | 
														
															                             devs.Add(new FinishTaskList<string>(dev.Entity.CODE, dev.Entity.Create<StationDevice>())); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -216,12 +216,12 @@ namespace WCS.Service.Works.Station 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         } 
														 | 
														
														 | 
														
															                         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         if (dev.Data2.Request != IstationRequest.请求分配目标地址) 
														 | 
														
														 | 
														
															                         if (dev.Data2.Request != IstationRequest.请求分配目标地址) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         { 
														 | 
														
														 | 
														
															                         { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            InfoLog.INFO_WarnDb($"{dev.Entity.CODE}--有光电没有分配目标地址请求--2", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            //InfoLog.INFO_WarnDb($"{dev.Entity.CODE}--有光电没有分配目标地址请求--2", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             continue; 
														 | 
														
														 | 
														
															                             continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         }; 
														 | 
														
														 | 
														
															                         }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         if (dev.Data2.Tasknum < 10000) 
														 | 
														
														 | 
														
															                         if (dev.Data2.Tasknum < 10000) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         { 
														 | 
														
														 | 
														
															                         { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            InfoLog.INFO_WarnDb($"{dev.Entity.CODE}--有光电有请求没有任务号", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            //InfoLog.INFO_WarnDb($"{dev.Entity.CODE}--有光电有请求没有任务号", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             continue; 
														 | 
														
														 | 
														
															                             continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         } 
														 | 
														
														 | 
														
															                         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -351,12 +351,12 @@ namespace WCS.Service.Works.Station 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         } 
														 | 
														
														 | 
														
															                         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         if (!dev.Data2.Status.HasFlag(IstationStatus.光电状态)) 
														 | 
														
														 | 
														
															                         if (!dev.Data2.Status.HasFlag(IstationStatus.光电状态)) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         { 
														 | 
														
														 | 
														
															                         { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            InfoLog.INFO_WarnDb($"{dev.Entity.CODE}有请求无光电", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            //InfoLog.INFO_WarnDb($"{dev.Entity.CODE}有请求无光电", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             continue; 
														 | 
														
														 | 
														
															                             continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         } 
														 | 
														
														 | 
														
															                         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         if (dev.Data2.Tasknum < 10000) 
														 | 
														
														 | 
														
															                         if (dev.Data2.Tasknum < 10000) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         { 
														 | 
														
														 | 
														
															                         { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            InfoLog.INFO_WarnDb($"{dev.Entity.CODE}有请求有光电无任务", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            //InfoLog.INFO_WarnDb($"{dev.Entity.CODE}有请求有光电无任务", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             continue; 
														 | 
														
														 | 
														
															                             continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         } 
														 | 
														
														 | 
														
															                         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         devs.Add(new FinishTaskList<string>(dev.Entity.CODE, dev.Entity.Create<StationDevice>())); 
														 | 
														
														 | 
														
															                         devs.Add(new FinishTaskList<string>(dev.Entity.CODE, dev.Entity.Create<StationDevice>())); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -423,12 +423,12 @@ namespace WCS.Service.Works.Station 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                          if (agvtask.Status == AGVTaskStatus.新建) 
														 | 
														
														 | 
														
															                          if (agvtask.Status == AGVTaskStatus.新建) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                          { 
														 | 
														
														 | 
														
															                          { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                              if (obj.Entity.CODE != "G1340") continue; 
														 | 
														
														 | 
														
															                              if (obj.Entity.CODE != "G1340") continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                             var qty = db.Default.Set<WCS_AGVTask>().Where(v => v.TaskType == AGVTaskType.叫料 && v.Status > AGVTaskStatus.新建 && v.Status < AGVTaskStatus.完成) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            .Where(v => v.Position == agvtask.Position).Count(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                             var qty = db.Default.Set<WCS_AGVTask>() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                 .Where(v => v.TaskType == AGVTaskType.叫料 && v.Status > AGVTaskStatus.新建 && v.Status < AGVTaskStatus.完成).Count(v => v.Position == agvtask.Position); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                              if (qty >= 4) 
														 | 
														
														 | 
														
															                              if (qty >= 4) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                              { 
														 | 
														
														 | 
														
															                              { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                 InfoLog.INFO_WarnDb($"{agvtask.Position}正在执行的叫料任务数量已达{qty},暂停出库", obj.Entity.CODE, WCS_EXCEPTIONTYPE.逻辑异常); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                 //InfoLog.INFO_WarnDb($"{agvtask.Position}正在执行的叫料任务数量已达{qty},暂停出库", obj.Entity.CODE, WCS_EXCEPTIONTYPE.逻辑异常); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                  continue; 
														 | 
														
														 | 
														
															                                  continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                              }; 
														 | 
														
														 | 
														
															                              }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -440,7 +440,7 @@ namespace WCS.Service.Works.Station 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                              } 
														 | 
														
														 | 
														
															                              } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                              catch (WarnException ex) 
														 | 
														
														 | 
														
															                              catch (WarnException ex) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                              { 
														 | 
														
														 | 
														
															                              { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                 InfoLog.INFO_WarnDb($"{ex.Message}", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                 //InfoLog.INFO_WarnDb($"{ex.Message}", obj.Entity.CODE, WCS_EXCEPTIONTYPE.设备异常); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                  continue; 
														 | 
														
														 | 
														
															                                  continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                              }; 
														 | 
														
														 | 
														
															                              }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -501,7 +501,7 @@ namespace WCS.Service.Works.Station 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                  DB.Do(db => 
														 | 
														
														 | 
														
															                  DB.Do(db => 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                  { 
														 | 
														
														 | 
														
															                  { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                      var taskList = db.Default.Set<WCS_TASK>().Where(v => taskIds.Contains(v.ID)); 
														 | 
														
														 | 
														
															                      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 == null) throw new WarnException($"WCS任务号{JsonConvert.SerializeObject(taskIds)}不存在"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                      if (taskList.Any(v => v.TYPE != TaskType.出库)) throw new WarnException("有任务的类型不是出库"); 
														 | 
														
														 | 
														
															                      if (taskList.Any(v => v.TYPE != TaskType.出库)) throw new WarnException("有任务的类型不是出库"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                      if (taskList.Any(v => v.AgvTask == 0)) throw new WarnException("人工出库任务,请手动搬走"); 
														 | 
														
														 | 
														
															                      if (taskList.Any(v => v.AgvTask == 0)) throw new WarnException("人工出库任务,请手动搬走"); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -513,8 +513,8 @@ namespace WCS.Service.Works.Station 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                      if (agvtask.Status == AGVTaskStatus.确认) 
														 | 
														
														 | 
														
															                      if (agvtask.Status == AGVTaskStatus.确认) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                      { 
														 | 
														
														 | 
														
															                      { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                          if (!obj.Items.Any(v => v.Data3.Status.HasFlag(StationStatus.高位))) throw new WarnException("不在高位"); 
														 | 
														
														 | 
														
															                          if (!obj.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出库任务"); 
														 | 
														
														 | 
														
															                          if (flag >= 2) throw new Exception("有2未完成的AGV出库任务"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                          taskList.ToList().ForEach(task => 
														 | 
														
														 | 
														
															                          taskList.ToList().ForEach(task => 
														 |