林豪 左 1 жил өмнө
parent
commit
08fefefb55

+ 1 - 2
ServiceCenter/Redis/RedisHub.cs

@@ -92,8 +92,7 @@ namespace ServiceCenter.Redis
             get
             {
                 {
-                    if (MonitorContextType == null)
-                        throw new Exception("请先设置监控RedisDB库,调用静态方法SetMonitorContextType()");
+                    if (MonitorContextType == null) throw new Exception("请先设置监控RedisDB库,调用静态方法SetMonitorContextType()");
                     return Context(MonitorContextType);
                 }
             }

+ 4 - 11
业务工程/分拣库/WCS.WorkEngineering/Systems/AgvSystems.cs

@@ -4,12 +4,10 @@ using ServiceCenter.SqlSugars;
 using System.ComponentModel;
 using WCS.Core;
 using WCS.Entity;
-using WCS.Entity.Protocol.SRM;
 using WCS.Entity.Protocol.Station;
 using WCS.WorkEngineering.Extensions;
 using WCS.WorkEngineering.WebApi.Controllers;
 using WCS.WorkEngineering.Worlds;
-using DeviceFlags = WCS.WorkEngineering.Extensions.DeviceFlags;
 using TaskStatus = WCS.Entity.TaskStatus;
 
 namespace WCS.WorkEngineering.Systems
@@ -25,18 +23,13 @@ namespace WCS.WorkEngineering.Systems
 
         protected override bool SaveLogsToFile => true;
 
-        private List<Station> devs = new List<Station>();
-        private List<SRM> srms = new List<SRM>();
-
         public AgvSystems()
         {
-            devs = Device.All.Where(v => v.HasFlag(DeviceFlags.入库, DeviceFlags.巷道口)).Select(v => new Station(v, this.World)).ToList();
-            srms = Device.All.Where(v => v.HasProtocol(typeof(ISRM520))).Select(v => new SRM(v, this.World)).ToList();
         }
 
         public override void Do(Device<IStation520> obj)
         {
-            if (obj.Entity.Code == "出库AGV")
+            if (obj.Entity.Code == "2534")
             {
                 var agvTaskInfos = new List<WCS_AgvTaskInfo>();
                 //获取所有未结束的叫料及背负式补空AGV任务
@@ -78,7 +71,7 @@ namespace WCS.WorkEngineering.Systems
                                             break;
                                         }
                                     case AGVTaskStatus.LeaveGet when agv.Status != AGVTaskStatus.LeaveGet:
-                                        var devinfo = new Device<IStation520, IStation521>(Device.All.First(x => x.Code == agv.Position), World);
+                                        var devinfo = new Device<IStation520>(Device.All.First(x => x.Code == agv.Station), World);
                                         devinfo.Data.CmdType = StationCmd.Res3;
                                         agv.Status = AGVTaskStatus.LeaveGet;
                                         db.Default.Updateable(agv).SplitTable().ExecuteCommand();
@@ -124,7 +117,7 @@ namespace WCS.WorkEngineering.Systems
                     }
                 }
             }
-            else if (obj.Entity.Code == "入库AGV")
+            else if (obj.Entity.Code == "2533")
             {
                 List<WCS_AgvTaskInfo> agvTaskInfos = new List<WCS_AgvTaskInfo>();
                 //获取所有未结束的入库AGV任务
@@ -208,7 +201,7 @@ namespace WCS.WorkEngineering.Systems
 
         public override bool Select(Device dev)
         {
-            return dev.Code is "出库AGV" or "入库AGV";
+            return dev.Code is "2534" or "2533";
         }
     }
 }

+ 2 - 0
业务工程/分拣库/WCS.WorkEngineering/Systems/SrmSystems.cs

@@ -250,6 +250,8 @@ namespace WCS.WorkEngineering.Systems
                     var tasks = db.Default.Queryable<WCS_TaskInfo>().Where(v => (v.Type == TaskType.EnterDepot || v.Type == TaskType.EmptyInit)
                                                                               && (v.Status == TaskStatus.ConveyorExecution || v.Status == TaskStatus.RgvExecution || v.Status == TaskStatus.RgvCompleted)
                                                                               && (arrIn.Select(p => p.Data.TaskNumber).Contains(v.ID) || arrIn.Select(p => p.Data2.TaskNumber).Contains(v.ID))).ToList();
+                    if (!tasks.Any()) throw new KnownException("无可用任务", LogLevelEnum.Mid);
+
                     //按条件先后排序获取一条排序后第一条结果1.优先级2.所在楼层与本次优先执行楼层 TODO:待验证排序结果
                     var task = tasks.OrderByDescending(v => v.Priority).OrderByDescending(v => v.Floor == floor ? 1 : 0).First() ?? throw new KnownException($"{obj.Entity.Code}未找到入库任务", LogLevelEnum.High);
 

+ 0 - 1
业务工程/时效库/WCS.WorkEngineering/Systems/环形库/环形库码垛结束.cs

@@ -1,7 +1,6 @@
 using ServiceCenter.Extensions;
 using ServiceCenter.Logs;
 using ServiceCenter.SqlSugars;
-using SqlSugar;
 using System.ComponentModel;
 using WCS.Core;
 using WCS.Entity;