wyq 1 жил өмнө
parent
commit
4f2b68f3c7

+ 34 - 1
XdCxRhDW.TaskServer/Controllers/HistoryTaskProcessingController.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Collections.Generic;
 using System.Configuration;
 using System.IO;
 using System.Web.Http;
@@ -13,6 +14,8 @@ namespace XdCxRhDW.TaskServer.Controllers
     /// </summary>
     public class HistoryTaskProcessingController : BaseController
     {
+
+        public List<HistoryTaskI> allTask = new List<HistoryTaskI>();
         /// <summary>
         /// 执行离线任务
         /// </summary>
@@ -27,17 +30,20 @@ namespace XdCxRhDW.TaskServer.Controllers
                 dto.StartTime = new DateTime(2024, 03, 24, 12, 00, 00);
                 dto.DateDirFormat = "yyyyMMddHH";
                 dto.CapDir = @"D:\\data";
-                dto.PosType = EnumPosTypeDto.X2D1;
                 dto.SigType = EnumSigTypeDto.DAMA;
+                dto.PosType = EnumPosTypeDto.X2D1;
+                dto.DmcType = DmcTypeDto.DAMA;
                 if (!Directory.Exists(dto.CapDir))
                 {
                     LogHelper.Error($"采集路径:{dto.CapDir}不存在");
                     return Error($"采集路径:{dto.CapDir}不存在");
                 }
+
                 if (dto.PosType == EnumPosTypeDto.X2D1)
                 {
                     X2D1Task x2D1 = new X2D1Task();
                     x2D1.Start(dto);
+                    allTask.Add(x2D1);
                 }
                 else
                 {
@@ -54,5 +60,32 @@ namespace XdCxRhDW.TaskServer.Controllers
         }
 
 
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="TaskId"></param>
+        /// <returns></returns>
+        [HttpPost]
+        public AjaxResult Stop(int TaskId)
+        {
+            try
+            {
+                LogHelper.Info($"接收停止历史任务编号:{TaskId}");
+                var history = allTask.Find(t => t.TaskDto.ID == TaskId);
+                if (history != null)
+                {
+                    history.Stop();
+                    allTask.Remove(history);
+                }
+                return Success();
+            }
+            catch (Exception ex)
+            {
+                Serilog.Log.Error(ex, "停止历史任务处理出错!");
+                return Error("停止历史任务处理出错");
+            }
+        }
+
+
     }
 }

+ 2 - 2
XdCxRhDW.TaskServer/MainForm.cs

@@ -33,8 +33,8 @@ namespace XdCxRhDW.TaskServer
         private async void MainForm_LoadAsync(object sender, EventArgs e)
         {
 
-            HistoryTaskProcessingController historyTask = new HistoryTaskProcessingController();
-           historyTask.Run(new HistoryTaskProcessingDto());
+            //HistoryTaskProcessingController historyTask = new HistoryTaskProcessingController();
+            //historyTask.Run(new HistoryTaskProcessingDto());
             var port = Convert.ToInt32(ConfigurationManager.AppSettings["LocalHttpPort"].Trim());
             var svrID = ConfigurationManager.AppSettings["SvrID"].Trim();
             var posPlatformAddr = ConfigurationManager.AppSettings["PosPlatformAddr"].Trim();

+ 2 - 0
XdCxRhDW.TaskServer/Task/HistoryTaskI.cs

@@ -23,6 +23,8 @@ namespace XdCxRhDW.TaskServer.Task
         //变采样
         protected internal virtual int OutFsHz { get; set; } = 96000;
 
+        protected internal virtual HistoryTaskProcessingDto TaskDto { get; set; }
+
         public virtual void Start(HistoryTaskProcessingDto dto)
         {
         }

+ 6 - 5
XdCxRhDW.TaskServer/Task/X2D1Task.cs

@@ -21,6 +21,7 @@ namespace XdCxRhDW.TaskServer.Task
         public override void Start(HistoryTaskProcessingDto dto)
         {
             IsRuning = true;
+            TaskDto = dto;
             System.Threading.Tasks.Task.Run(async () =>
             {
 
@@ -103,7 +104,7 @@ namespace XdCxRhDW.TaskServer.Task
                             }
                             else
                             {
-                                var mDetect = await DAMAAsync(DmcTypeDto.DAMA, minfo.FsHz, minfo.FilePath);
+                                var mDetect = await DAMAAsync(dto.DmcType.Value, minfo.FsHz, minfo.FilePath);
                                 var dfile = await ToResampleAsync((int)dinfo.FsHz, dinfo.FilePath);
                                 var nfile = await ToResampleAsync((int)ninfo.FsHz, ninfo.FilePath);
                                 foreach (var deitem in mDetect)
@@ -186,10 +187,10 @@ namespace XdCxRhDW.TaskServer.Task
                 LogHelper.Error($"历史任务获取天线信息失败");
                 return infos;
             }
-            infos.Add(result.data.recTx);
-            infos.Add(result.data.cdbTx);
-            infos.Add(result.data.cxTx);
-            infos.Add(result.data.refLoc);
+            infos.Add(result.data.recTx==null? new TxInfo() { TxType = EnumTxType.Rec }: result.data.recTx);
+            infos.Add(result.data.cdbTx == null ? new TxInfo() { TxType = EnumTxType.Cdb } : result.data.cdbTx);
+            infos.Add(result.data.cxTx == null ? new TxInfo() { TxType = EnumTxType.Cx } : result.data.cxTx);
+            infos.Add(result.data.refLoc == null ? new TxInfo() { TxType = EnumTxType.Ref } : result.data.refLoc);
             return infos;
         }