gkj 2 years ago
parent
commit
a678bb5726

+ 1 - 1
WCS.WorkEngineering/Extensions/BCRExtension.cs

@@ -25,7 +25,7 @@ namespace WCS.WorkEngineering.Extensions
         /// <returns></returns>
         public string GetBCRCode()
         {
-            var barcode = Data.Content.Trim('\r');
+            var barcode = Data.Content.Trim().Split('\0')[0];
 
             if (barcode.IsNullOrWhiteSpace()) throw new KnownException($"{Entity.Code}--扫码失败,内容为空", LogLevelEnum.High);
 

+ 1 - 0
WCS.WorkEngineering/Systems/AgvSystems.cs

@@ -207,6 +207,7 @@ namespace WCS.WorkEngineering.Systems
                             db.Default.Updateable(agv).SplitTable().ExecuteCommand();
                             //调继续执行任务接口
                             AgvApi.ContinueTask(agv.AgvID, dev.Entity.Code);
+                            dev.Data.TaskNumber = task.ID;
                         }
                         //完成任务
                         else if (agv.AgvStatus == AGVTaskStatus.MissionCompleted && agv.Status != AGVTaskStatus.MissionCompleted)

+ 11 - 2
WCS.WorkEngineering/Systems/二楼入库工位处理系统.cs

@@ -48,7 +48,7 @@ namespace WCS.WorkEngineering.Systems
                if (obj.Entity.Code == "1025" || obj.Entity.Code == "1023")
                {
                    var taskInfos = db.Default.Queryable<WCS_TaskInfo>().Where(v => v.Type == TaskType.EmptyInit && v.Status == TaskStatus.WaitingToExecute);
-                   var taskInfo = taskInfos.First(v => v.SrmStation == obj.Entity.Code) ?? throw new KnownException($"未找到对应的任务", LogLevelEnum.Mid);
+                   var taskInfo = taskInfos.First(v => v.SrmStation == obj.Entity.Code);
                    if (taskInfo != null)
                    {
                        task = taskInfo;
@@ -56,7 +56,16 @@ namespace WCS.WorkEngineering.Systems
                    }
                }
 
-               if (task == null) return;
+               if (task == null)
+               {
+                   var taskInfos = db.Default.Queryable<WCS_TaskInfo>().Where(v => v.Status == TaskStatus.AGVExecution && v.Floor == 2).OrderBy(v => v.AddTime);
+                   var taskInfo = taskInfos.First(v => v.SrmStation == obj.Entity.Code) ?? throw new KnownException($"未找到对应的任务", LogLevelEnum.Mid);
+                   if (taskInfo != null)
+                   {
+                       task = taskInfo;
+                       if (task.Type != TaskType.EnterDepot && task.Status != Entity.TaskStatus.AGVExecution) throw new KnownException($"任务:{task.ID}不是AGV执行状态,请检查异常原因", LogLevelEnum.High);
+                   }
+               }
                if (task.Status == Entity.TaskStatus.ConveyorExecution) return;
 
                if (obj.Entity.Code == "1025")