xu.lu 1 year ago
parent
commit
b83e260abc

+ 10 - 3
业务工程/分拣库/WCS.WorkEngineering/WebApi/Controllers/AgvController.cs

@@ -111,9 +111,16 @@ namespace WCS.WorkEngineering.WebApi.Controllers
                                 break;
                         }
 
-                        db.Default.Updateable(agvTask).SplitTable(x => x.Take(2)).ExecuteCommand();
-                        res.code = AgvResponseCode.Success;
-                        res.message = "成功";
+                        int i = db.Default.Updateable(agvTask).SplitTable(x => x.Take(2)).ExecuteCommand();
+                        if (i > 0)
+                        {
+                            res.code = AgvResponseCode.Success;
+                            res.message = "成功";
+                        }
+                        else
+                        {
+                            return;
+                        }
                     });
                 });
             }

+ 9 - 50
业务工程/分拣库/WCS.WorkEngineering/WebApi/Controllers/WcsController.cs

@@ -83,28 +83,15 @@ namespace WCS.WorkEngineering.WebApi.Controllers
                     {
                         foreach (var item in req.TaskIds)
                         {
-                            var task = db.Default.Queryable<WCS_TaskInfo>().Where(t => t.ID == item).First();
+                            var task = db.Default.Queryable<WCS_TaskInfo>().Where(t => t.ID == item && t.Status < Entity.TaskStatus.Finish).First();
                             if (task != null)
                             {
                                 //验证wms是否能取消
-                                var res = WmsApi.HandleTaskVerify(response, item, 106);
-                                if (res == null) continue;
+                                //var res = WmsApi.HandleTaskVerify(response, item, 106);
+                                //if (res == null) continue;
 
                                 switch (task.Type)
-                                {
-                                    case TaskType.SetPlate:
-                                        if (task.Status != Entity.TaskStatus.WaitingToExecute)
-                                        {
-                                            response.ResDataList.Add(new HandleTaskResponse()
-                                            {
-                                                IsSuccess = false,
-                                                TaskNo = item,
-                                                Message = $"只能取消待执行状态组盘任务",
-                                            });
-                                            continue;
-                                        }
-                                        break;
-
+                                {                                   
                                     case TaskType.EnterDepot:
                                         if (task.Status > Entity.TaskStatus.WaitingToExecute && task.Status > Entity.TaskStatus.AGVExecution)
                                         {
@@ -119,7 +106,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
                                         break;
 
                                     case TaskType.OutDepot:
-                                        if (task.Status > Entity.TaskStatus.WaitingToExecute)
+                                        if (task.Status > Entity.TaskStatus.WaitingToExecute || task.BusType != "车间叫料")
                                         {
                                             response.ResDataList.Add(new HandleTaskResponse()
                                             {
@@ -130,37 +117,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
                                             continue;
                                         }
 
-                                        break;
-
-                                    case TaskType.TransferDepot:
-                                        if (task.Status > Entity.TaskStatus.WaitingToExecute)
-                                        {
-                                            response.ResDataList.Add(new HandleTaskResponse()
-                                            {
-                                                IsSuccess = false,
-                                                TaskNo = item,
-                                                Message = $"无法取消{task.Status.GetDescription()}的移库任务,只能取消新建/待执行的移库任务",
-                                            });
-                                            continue;
-                                        }
-                                        break;
-
-                                    case TaskType.Delivery:
-
-                                        break;
-
-                                    case TaskType.EmptyInit:
-                                        if (task.Status != Entity.TaskStatus.WaitingToExecute)
-                                        {
-                                            response.ResDataList.Add(new HandleTaskResponse()
-                                            {
-                                                IsSuccess = false,
-                                                TaskNo = item,
-                                                Message = $"只能取消待执行状态空轮初始化任务",
-                                            });
-                                            continue;
-                                        }
-                                        break;
+                                        break;                                                                      
 
                                     default:
                                         throw new ArgumentOutOfRangeException();
@@ -218,6 +175,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
                                     TaskNo = item,
                                     Message = $"只能手动完成机台叫料任务",
                                 });
+                                continue;
                             }
                             switch (task.Type)
                             {
@@ -367,7 +325,8 @@ namespace WCS.WorkEngineering.WebApi.Controllers
                                                 throw new ArgumentOutOfRangeException();
                                         }
 
-                                        var cancelRes = WmsApi.CarryTaskInfo(response, item, 99);
+                                        var cancelRes = WmsApi.CancelTask(item);
+                                        //var cancelRes = WmsApi.
                                         if (cancelRes == null) continue;
 
                                         //找到对应的AGV任务

+ 14 - 2
业务工程/分拣库/WCS.WorkEngineering/WebApi/Controllers/WmsApi.cs

@@ -196,6 +196,17 @@ namespace WCS.WorkEngineering.WebApi.Controllers
             return res;
         }
 
+        public static SRes<int> CancelTask(int taskNo)
+        {
+            var res = APICaller.CallApi2<SRes<int>>(WmsUrl + "/api/fj/CancelTask", new CompleteTaskRequest
+            {
+                TaskNum = taskNo,
+                OperationType = Models.WMS.Request.CompleteTask.自动完成,
+                WCSUpdateName = "WCS"
+            });
+            return res;
+        }
+
         /// <summary>
         ///  处理任务验证接口
         /// </summary>
@@ -205,7 +216,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
         /// <exception cref="KnownException"></exception>
         public static SRes HandleTaskVerify(List<int> taskNo, int state)
         {
-            var res = APICaller.CallApi2<SRes>(WmsUrl + "/api/Hj/CancelTaskVerify", new CancelTaskVerifyRequest
+            var res = APICaller.CallApi2<SRes>(WmsUrl + "/api/fj/CancelTaskVerify", new CancelTaskVerifyRequest
             {
                 TaskNo = taskNo,
                 State = state
@@ -226,7 +237,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
         /// <exception cref="KnownException"></exception>
         public static SRes CarryTaskInfo(List<int> taskNo, int state)
         {
-            var res = APICaller.CallApi2<SRes>(WmsUrl + "/api/Hj/CarryTaskInfo", new CancelTaskVerifyRequest
+            var res = APICaller.CallApi2<SRes>(WmsUrl + "/api/fj/CarryTaskInfo", new CancelTaskVerifyRequest
             {
                 TaskNo = taskNo,
                 State = state
@@ -289,6 +300,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
                 return null;
             }
         }
+       
 
         /// <summary>
         ///  一楼扫码入库