gkj 2 년 전
부모
커밋
a73325ee47

+ 26 - 14
WCS.WorkEngineering/WebApi/Controllers/AgvApi.cs

@@ -4,6 +4,8 @@ using ServiceCenter.WebApi;
 using WCS.WorkEngineering.WebApi.Models.AGV;
 using WCS.WorkEngineering.WebApi.Models.AGV.Request;
 using WCS.WorkEngineering.WebApi.Models.AGV.Response;
+using WCS.WorkEngineering.WebApi.Models.WMS.Request;
+using WCS.WorkEngineering.WebApi.Models.WMS.Response;
 
 namespace WCS.WorkEngineering.WebApi.Controllers
 {
@@ -183,22 +185,18 @@ namespace WCS.WorkEngineering.WebApi.Controllers
         }
 
         #endregion 
-
-        public static GenAgvSchedulingTaskResponse GenAgvSchedulingTask()
+        /// <summary>
+        /// 取消任务
+        /// </summary>
+        /// <param name="taskCode">AGV任务号</param>
+        /// <returns></returns>
+        /// <exception cref="KnownException"></exception>
+        public static CancelTaskResponse CancelAgvTask(string taskCode)
         {
-            var res = APICaller.CallApi2<GenAgvSchedulingTaskResponse>(AgvUrl + "/rcms/services/rest/hikRpcService/CancelTaskRequest", new GenAgvSchedulingTaskRequest
+            var res = APICaller.CallApi2<CancelTaskResponse>(AgvUrl + "/rcms/services/rest/hikRpcService/CancelTaskRequest", new CancelTaskRequest
             {
-                //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",
+                reqCode = Guid.NewGuid().ToString().Replace("-", ""),
+                taskCode = taskCode,
             });
             if (res.code != AgvResponseCode.Success)
             {
@@ -207,5 +205,19 @@ namespace WCS.WorkEngineering.WebApi.Controllers
             return res;
         }
 
+        public static SRes CancelAgvTask(List<int> taskNo, int state)
+        {
+            var res = APICaller.CallApi2<SRes>(AgvUrl + "/rcms/services/rest/hikRpcService/CancelTaskRequest", new CancelTaskRequest
+            {
+                //TaskNo = taskNo,
+                //State = state
+            });
+            if (res.ResCode != ResponseStatusCodeEnum.Sucess)
+            {
+                throw new KnownException(res.ResMsg, LogLevelEnum.High);
+            }
+            return res;
+        }
+
     }
 }

+ 1 - 1
WCS.WorkEngineering/WebApi/Controllers/IwmsApi.cs

@@ -50,7 +50,7 @@ namespace WCS.WorkEngineering.WebApi.Controllers
                 inSpoolFull = "1",
                 getOutEmpty = false,
                 wetInto = true,
-                wetIntoSpec = false,
+                wetIntoSpec = wetIntoBinCode.Length == 14 ? false : true,
                 wetIntoReturn = false,
                 wetSpecWbCode = "0",
                 isSurplus = isSurplus == false ? "0" : "1",

+ 47 - 15
WCS.WorkEngineering/WebApi/Controllers/WcsController.cs

@@ -126,25 +126,36 @@ namespace WCS.WorkEngineering.WebApi.Controllers
 
                             SRes cancelRes = CarryTaskInfo(response, item, 106);
                             if (cancelRes == null) return;
-                            //取消任务
-                            try
-                            {
-                                cancelRes = WmsApi.CarryTaskInfo(new List<int>() { task.ID }, 106);
-                            }
-                            catch (Exception ex)
-                            {
-                                response.ResDataList.Add(new HandleTaskResponse()
-                                {
-                                    IsSuccess = false,
-                                    TaskNo = item,
-                                    Message = ex.Message,
-                                });
-                                return;
-                            }
+                            ////取消任务
+                            //try
+                            //{
+                            //    cancelRes = WmsApi.CarryTaskInfo(new List<int>() { task.ID }, 106);
+                            //}
+                            //catch (Exception ex)
+                            //{
+                            //    response.ResDataList.Add(new HandleTaskResponse()
+                            //    {
+                            //        IsSuccess = false,
+                            //        TaskNo = item,
+                            //        Message = ex.Message,
+                            //    });
+                            //    return;
+                            //}
                             //找到对应的AGV任务
                             var agv = db.Default.Queryable<WCS_AgvTaskInfo>().Where(v => v.ID == task.AgvTaskID).SplitTable(v => v.Take(2)).First();
                             if (agv != null)
                             {
+                                var cancelTaskUpdateRes = AgvApi.CancelAgvTask(agv.ID.ToString());
+                                //if (cancelTaskUpdateRes == null)
+                                //{
+                                //    response.ResDataList.Add(new HandleTaskResponse()
+                                //    {
+                                //        IsSuccess = false,
+                                //        TaskNo = item,
+                                //        Message = ex.Message,
+                                //    });
+                                //    return;
+                                //}                              
                                 agv.Status = AGVTaskStatus.Cancel;
                                 agv.AgvStatus = AGVTaskStatus.Cancel;
                                 db.Default.Updateable(agv).SplitTable().ExecuteCommand();
@@ -392,6 +403,27 @@ namespace WCS.WorkEngineering.WebApi.Controllers
             }
         }
 
+
+        public SRes? CancelAgvTaskUpdate(SRes<HandleTaskResponse> sRes, int id, int type)
+        {
+            try
+            {
+                var res = WmsApi.CarryTaskInfo(new List<int>() { id }, type);
+                return res;
+            }
+            catch (Exception ex)
+            {
+                sRes.ResDataList.Add(new HandleTaskResponse()
+                {
+                    IsSuccess = false,
+                    TaskNo = id,
+                    Message = ex.Message,
+                });
+                return null;
+            }
+        }
+
+
         /// <summary>
         ///  设备信息写入接口
         /// </summary>