林豪 左 2 gadi atpakaļ
vecāks
revīzija
f8e57d6712

+ 6 - 0
ServiceCenter/Logs/LogHub.cs

@@ -84,6 +84,12 @@ namespace ServiceCenter.Logs
                         if (log != null)
                         {
                             if (!Directory.Exists(log.path)) Directory.CreateDirectory(log.path);
+                            //FileInfo fileInfo = new FileInfo(Path.Combine(log.path, log.Title));
+                            //if (fileInfo.Length > 5000)
+                            //{
+                            //    var title = log.Title.Split(".");
+                            //    File.Move(log.Title, title[0] + "" + title[1]);
+                            //}
                             File.AppendAllText(Path.Combine(log.path, log.Title), log.Con);
                         }
                     }

+ 28 - 1
WCS.WorkEngineering/WebApi/Controllers/WcsController.cs

@@ -3,12 +3,14 @@ using Newtonsoft.Json;
 using ServiceCenter;
 using ServiceCenter.Redis;
 using ServiceCenter.SqlSugars;
+using SqlSugar.Extensions;
 using System.Net.NetworkInformation;
 using System.Text;
 using WCS.Core;
 using WCS.Entity;
 using WCS.Entity.Protocol.DataStructure;
 using WCS.Entity.Protocol.SRM;
+using WCS.WorkEngineering.Extensions;
 using WCS.WorkEngineering.Systems;
 using WCS.WorkEngineering.WebApi.Models.WCS.Request;
 using WCS.WorkEngineering.WebApi.Models.WCS.Response;
@@ -43,7 +45,32 @@ namespace WCS.WorkEngineering.WebApi.Controllers
                         if (task != null)
                         {
                             //验证wms是否能取消
-                            //WmsApi.HandleTaskVerify(task);
+                            var res = WmsApi.HandleTaskVerify(new List<int>() { task.ID }, "106");
+                            if (res.ResCode == Models.WMS.Response.ResponseStatusCodeEnum.Sucess)
+                            {
+                                //取消任务
+                                var cancelRes = WmsApi.CarryTaskInfo(new List<int>() { task.ID }, "106");
+                                if (cancelRes.ResCode == Models.WMS.Response.ResponseStatusCodeEnum.Sucess)
+                                {
+                                    //更新任务状态
+                                    task.Status = Entity.TaskStatus.Cancel;
+                                    task.EditTime = DateTime.Now;
+                                    task.AddWCS_TASK_DTL(db, "未知", "任务取消");
+                                    db.Default.Updateable(task).ExecuteCommand();
+                                    response.IsSuccess = true;
+                                    response.Message = "成功";
+                                }
+                                else
+                                {
+                                    response.IsSuccess = false;
+                                    response.Message = $"取消任务失败,{cancelRes.ResMsg}";
+                                }
+                            }
+                            else
+                            {
+                                response.IsSuccess = false;
+                                response.Message = $"取消任务失败,{res.ResMsg}";
+                            }
                         }
                         else
                         {

+ 22 - 0
WCS.WorkEngineering/WebApi/Controllers/WmsApi.cs

@@ -4,6 +4,7 @@ using ServiceCenter.Logs;
 using ServiceCenter.Redis;
 using ServiceCenter.WebApi;
 using WCS.WorkEngineering.WebApi.Models.AGV.Response;
+using WCS.WorkEngineering.WebApi.Models.WCS.Request;
 using WCS.WorkEngineering.WebApi.Models.WMS.Request;
 using WCS.WorkEngineering.WebApi.Models.WMS.Response;
 
@@ -282,5 +283,26 @@ namespace WCS.WorkEngineering.WebApi.Controllers
             }
             return res;
         }
+
+        /// <summary>
+        ///  处理任务接口
+        /// </summary>
+        /// <param name="taskNo">处理</param>
+        /// <param name="state">目标状态</param>
+        /// <returns></returns>
+        /// <exception cref="KnownException"></exception>
+        public static SRes CarryTaskInfo(List<int> taskNo, string state)
+        {
+            var res = APICaller.CallApi2<SRes>(WMSUrl + "/api/Hj/CarryTaskInfo", new CancelTaskVerifyRequest
+            {
+                TaskNo = taskNo,
+                State = state
+            });
+            if (res.ResCode != ResponseStatusCodeEnum.Sucess)
+            {
+                throw new KnownException(res.ResMsg, LogLevelEnum.High);
+            }
+            return res;
+        }
     }
 }

+ 3 - 1
WCS.WorkEngineering/WebApi/Models/WMS/Request/CancelTaskVerifyRequest.cs

@@ -1,4 +1,6 @@
-namespace WCS.WorkEngineering.WebApi.Models.WMS.Request
+using WCS.WorkEngineering.WebApi.Models.WCS.Request;
+
+namespace WCS.WorkEngineering.WebApi.Models.WMS.Request
 {
     /// <summary>
     ///  取消或完成任务验证请求