林豪 左 2 年之前
父節點
當前提交
acc1e59a0f

+ 7 - 0
WCS.Entity/WCS_TaskInfo.cs

@@ -286,6 +286,13 @@ namespace WCS.Entity
         [SugarColumn(ColumnDescription = "是否可用")]
         public bool Enabled { get; set; } = true;
 
+        /// <summary>
+        /// 业务类型
+        /// </summary>
+        [SugarColumn(ColumnDescription = "业务类型", IsNullable = true)]
+        public string BusType { get; set; }
+
+
         /// <summary>
         /// 版本号
         /// </summary>

+ 6 - 0
WCS.Entity/WCS_TaskOld.cs

@@ -261,5 +261,11 @@ namespace WCS.Entity
         /// </summary>
         [SugarColumn(ColumnDescription = "出库任务类型", IsNullable = true)]
         public OutTypeEnum OutType { get; set; }
+
+        /// <summary>
+        /// 业务类型
+        /// </summary>
+        [SugarColumn(ColumnDescription = "业务类型", IsNullable = true)]
+        public string BusType { get; set; }
     }
 }

+ 21 - 13
WCS.WorkEngineering/Systems/AgvSystems.cs

@@ -58,22 +58,30 @@ namespace WCS.WorkEngineering.Systems
                         {
                             if (agv.TaskType is AGVTaskType.CallForMaterial or AGVTaskType.ForkliftFilling)
                             {
-                                var taskInfo = db.Default.Queryable<WCS_TaskInfo>().First(v => v.AgvTaskID == agv.ID);
-                                if (taskInfo == null)
+                                try
                                 {
-                                    World.Log($"未找到AGV任务{agv.ID}对应WCS任务");
+                                    var taskInfo = db.Default.Queryable<WCS_TaskInfo>().First(v => v.AgvTaskID == agv.ID);
+                                    if (taskInfo == null)
+                                    {
+                                        World.Log($"未找到AGV任务{agv.ID}对应WCS任务");
+                                        continue;
+                                    }
+                                    //更新AGV任务状态
+                                    agv.Status = AGVTaskStatus.MissionCompleted;
+                                    db.Default.Updateable(agv).SplitTable().ExecuteCommand();
+                                    //更新WCS任务状态
+                                    taskInfo.Status = Entity.TaskStatus.Finish;
+                                    taskInfo.EedTime = DateTime.Now;
+                                    taskInfo.AddWCS_TASK_DTL(db, "agv", "任务完成");
+                                    db.Default.Updateable(taskInfo).ExecuteCommand();
+                                    taskInfo.CompleteOrCancelTasks(db);
+                                    taskInfos.Add(taskInfo);
+                                }
+                                catch (Exception ex)
+                                {
+                                    World.Log(ex.Message);
                                     continue;
                                 }
-                                //更新AGV任务状态
-                                agv.Status = AGVTaskStatus.MissionCompleted;
-                                db.Default.Updateable(agv).SplitTable().ExecuteCommand();
-                                //更新WCS任务状态
-                                taskInfo.Status = Entity.TaskStatus.Finish;
-                                taskInfo.EedTime = DateTime.Now;
-                                taskInfo.AddWCS_TASK_DTL(db, "agv", "任务完成");
-                                db.Default.Updateable(taskInfo).ExecuteCommand();
-                                taskInfo.CompleteOrCancelTasks(db);
-                                taskInfos.Add(taskInfo);
                             }
                             else
                             {

+ 25 - 1
WCS.WorkEngineering/WebApi/Controllers/AgvApi.cs

@@ -182,6 +182,30 @@ namespace WCS.WorkEngineering.WebApi.Controllers
             return res;
         }
 
-        #endregion 继续执行任务
+        #endregion 
+
+        public static GenAgvSchedulingTaskResponse GenAgvSchedulingTask()
+        {
+            var res = APICaller.CallApi2<GenAgvSchedulingTaskResponse>(AgvUrl + "/rcms/services/rest/hikRpcService/CancelTaskRequest", new GenAgvSchedulingTaskRequest
+            {
+                //clientCode = clienCode,
+                //ctnrCode = ctnrCode,
+                //ctnrTyp = ctnrTyp,
+                //interfaceName = "genAgvSchedulingTask",
+                //positionCodePath = positionCodePath,
+                //priority = priority,
+                //reqCode = Guid.NewGuid().ToString().Replace("-", ""),
+                //taskCode = taskCode,
+                //taskTyp = taskType,
+                //hjTaskTy = hjTaskTy,
+                //tokenCode = "56898661ea976b748f328cefa6960434",
+            });
+            if (res.code != AgvResponseCode.Success)
+            {
+                throw new KnownException(res.message, LogLevelEnum.High);
+            }
+            return res;
+        }
+
     }
 }