|
@@ -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();
|
|
|
}
|