瀏覽代碼

修改存储任务

wyq 1 年之前
父節點
當前提交
54b7a5af26

+ 24 - 28
XdCxRhDW.TaskServer/Controllers/HistoryTaskProcessingController.cs

@@ -1,7 +1,9 @@
-using System;
+using DevExpress.Utils.Extensions;
+using System;
 using System.Collections.Generic;
 using System.Configuration;
 using System.IO;
+using System.Linq;
 using System.Web.Http;
 using XdCxRhDW.Dto;
 using XdCxRhDW.TaskServer.Service;
@@ -20,11 +22,10 @@ namespace XdCxRhDW.TaskServer.Controllers
          * !!!不要在Controller写太复杂的业务逻辑
          * Controller主要就是调用Service层的东西。Service层执行业务逻辑和调用Repository层操作数据库
          * ********************/
-        public List<HistoryTaskI> allTask = new List<HistoryTaskI>();
-        private readonly TestService _testService;
-        public HistoryTaskProcessingController(TestService testService)
+        private readonly HistoryTaskService _service;
+        public HistoryTaskProcessingController(HistoryTaskService service)
         {
-            _testService = testService;
+            _service = service;
         }
 
 
@@ -39,21 +40,18 @@ namespace XdCxRhDW.TaskServer.Controllers
             try
             {
                 //方式1:从构造函数注入
-                var service1 = _testService;
-
-                //方式2:从容器中主动获取
-                var service2 = AutofacUtil.GetService<TestService>();
-
+                var service1 = _service;
 
+                service1.allTask.RemoveAll(a => a.IsRuning == false);
                 //选一种简单的方式就行
 
                 LogHelper.Info($"接收到历史任务编号:{dto.ID}");
-                dto.StartTime = new DateTime(2024, 03, 24, 12, 00, 00);
-                dto.DateDirFormat = "yyyyMMddHH";
-                dto.CapDir = @"D:\\data";
-                dto.SigType = EnumSigTypeDto.SX;
-                dto.PosType = EnumPosTypeDto.X2D1;
-                dto.TaskCheckType = EnumTaskCheckTypeDto.DAMA;
+                //dto.StartTime = new DateTime(2024, 03, 24, 12, 00, 00);
+                //dto.DateDirFormat = "yyyyMMddHH";
+                //dto.CapDir = @"D:\\data";
+                //dto.SigType = EnumSigTypeDto.SX;
+                //dto.PosType = EnumPosTypeDto.X2D1;
+                //dto.TaskCheckType = EnumTaskCheckTypeDto.DAMA;
                 if (!Directory.Exists(dto.CapDir))
                 {
                     LogHelper.Error($"采集路径:{dto.CapDir}不存在");
@@ -64,7 +62,7 @@ namespace XdCxRhDW.TaskServer.Controllers
                 {
                     X2D1Task x2D1 = new X2D1Task();
                     x2D1.Start(dto);
-                    allTask.Add(x2D1);
+                    service1.allTask.Add(x2D1);
                 }
                 else
                 {
@@ -92,20 +90,18 @@ namespace XdCxRhDW.TaskServer.Controllers
             try
             {
                 //方式1:从构造函数注入
-                var service1 = _testService;
-
-                //方式2:从容器中主动获取
-                var service2 = AutofacUtil.GetService<TestService>();
-
-
-                //选一种简单的方式就行
+                var service1 = _service;
 
                 LogHelper.Info($"接收停止历史任务编号:{TaskId}");
-                var history = allTask.Find(t => t.TaskDto.ID == TaskId);
-                if (history != null)
+                var history = service1.allTask.Where(t => t.TaskDto.ID == TaskId);
+                if (history != null&&history.Count()>0)
                 {
-                    history.Stop();
-                    allTask.Remove(history);
+                    foreach (var item in history)
+                    {
+                        item.Stop();
+                        service1.allTask.Remove(item);
+                    }
+                   
                 }
                 return Success();
             }

+ 4 - 1
XdCxRhDW.TaskServer/Service/TestService.cs

@@ -3,10 +3,13 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using XdCxRhDW.TaskServer.Task;
 
 namespace XdCxRhDW.TaskServer.Service
 {
-    public class TestService
+    public class HistoryTaskService
     {
+
+        public List<HistoryTaskI> allTask = new List<HistoryTaskI>();
     }
 }