From ecad98aa74a1284a036572fa364bcc352480149c Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期一, 11 五月 2026 08:01:35 +0800
Subject: [PATCH] 1.车间综合看板接口调整 2.报工记录子表和不良记录表写入报工人员,班组编码 3.修改调整定时任务写入到数据库,并实现消息推送
---
VueWebCoreApi/Controllers/TaskBackGroundController.cs | 181 +++++++++++++++++++++++++++-----------------
1 files changed, 110 insertions(+), 71 deletions(-)
diff --git a/VueWebCoreApi/Controllers/TaskBackGroundController.cs b/VueWebCoreApi/Controllers/TaskBackGroundController.cs
index e256430..716ec04 100644
--- a/VueWebCoreApi/Controllers/TaskBackGroundController.cs
+++ b/VueWebCoreApi/Controllers/TaskBackGroundController.cs
@@ -16,122 +16,161 @@
[Route("api/[controller]")]
public class TaskBackGroundController : Controller
{
- //瀹氫箟鍏ㄥ眬淇℃伅杩斿洖鍙橀噺
ToMessage mes = new ToMessage();
private readonly ISchedulerFactory _schedulerFactory;
private readonly IJobFactory _jobFactory;
- public TaskBackGroundController(ISchedulerFactory schedulerFactory, IJobFactory jobFactory)
+ private readonly QuartzRepository _quartzRepo;
+
+ public TaskBackGroundController(ISchedulerFactory schedulerFactory,
+ IJobFactory jobFactory,
+ QuartzRepository quartzRepo)
{
- this._jobFactory = jobFactory;
- this._schedulerFactory = schedulerFactory;
+ _schedulerFactory = schedulerFactory;
+ _jobFactory = jobFactory;
+ _quartzRepo = quartzRepo;
}
- /// <summary>
- /// 鑾峰彇鎵�鏈夌殑浣滀笟
- /// </summary>
- /// <returns></returns>
- [Route(template: "GetJobs")]
+ [Route("GetJobs")]
[HttpGet]
public async Task<IActionResult> GetJobs()
{
- mes.code = "200";
- mes.message = "鏌ヨ鎴愬姛锛�";
- mes.data = await _schedulerFactory.GetJobs();
+ try
+ {
+ mes.code = "200";
+ mes.message = "鏌ヨ鎴愬姛锛�";
+ mes.data = await _schedulerFactory.GetJobs(_quartzRepo);
+ }
+ catch (Exception ex)
+ {
+ mes.code = "300";
+ mes.message = "鏌ヨ澶辫触锛�" + ex.Message;
+ mes.data = null;
+ }
return Json(mes);
}
- /// <summary>
- /// 鑾峰彇浣滀笟杩愯鏃ュ織
- /// </summary>
- /// <param name="taskName"></param>
- /// <param name="groupName"></param>
- /// <param name="page"></param>
- /// <returns></returns>
- [Route(template: "GetRunLog")]
+ [Route("GetRunLog")]
[HttpGet]
- public IActionResult GetRunLog(string taskName, string groupName, int page = 1)
+ public async Task<IActionResult> GetRunLog(string taskName, string groupName, int page = 1)
{
- mes.code = "200";
- mes.data = FileQuartz.GetJobRunLog(taskName, groupName, page);
+ // 鍏ュ弬鏍¢獙
+ if (string.IsNullOrEmpty(taskName) || string.IsNullOrEmpty(groupName))
+ {
+ mes.code = "300";
+ mes.message = "浠诲姟鍚嶅拰鍒嗙粍鍚嶄笉鑳戒负绌猴紒";
+ mes.data = null;
+ return Json(mes);
+ }
+ try
+ {
+ mes.code = "200";
+ mes.message = "鏌ヨ鎴愬姛锛�";
+ mes.data = await _quartzRepo.GetJobRunLogAsync(taskName, groupName, page);
+ }
+ catch (Exception ex)
+ {
+ mes.code = "300";
+ mes.message = "鏌ヨ澶辫触锛�" + ex.Message;
+ mes.data = null;
+ }
return Json(mes);
}
- /// <summary>
- /// 娣诲姞浠诲姟
- /// </summary>
- /// <param name="taskOptions"></param>
- /// <returns></returns>
- [Route(template: "Add")]
+ [Route("Add")]
[HttpPost]
- //[TaskAuthor]
public async Task<IActionResult> Add(TaskOptions taskOptions)
{
- return Json(await taskOptions.AddJob(_schedulerFactory, jobFactory: _jobFactory));
+ if (string.IsNullOrEmpty(taskOptions.TaskName) || string.IsNullOrEmpty(taskOptions.GroupName))
+ {
+ mes.code = "300";
+ mes.message = "浠诲姟鍚嶅拰鍒嗙粍鍚嶄笉鑳戒负绌猴紒";
+ return Json(mes);
+ }
+ return Json(await taskOptions.AddJob(_schedulerFactory, false, _jobFactory, _quartzRepo));
}
- /// <summary>
- /// 鍒犻櫎浠诲姟
- /// </summary>
- /// <param name="taskOptions"></param>
- /// <returns></returns>
- [Route(template: "Remove")]
+ [Route("Remove")]
[HttpPost]
- //[TaskAuthor]
public async Task<IActionResult> Remove(TaskOptions taskOptions)
{
- return Json(await _schedulerFactory.Remove(taskOptions));
+ if (string.IsNullOrEmpty(taskOptions.TaskName) || string.IsNullOrEmpty(taskOptions.GroupName))
+ {
+ mes.code = "300";
+ mes.message = "浠诲姟鍚嶅拰鍒嗙粍鍚嶄笉鑳戒负绌猴紒";
+ return Json(mes);
+ }
+ return Json(await _schedulerFactory.Remove(taskOptions, _quartzRepo));
}
- /// <summary>
- /// 淇敼浠诲姟
- /// </summary>
- /// <param name="taskOptions"></param>
- /// <returns></returns>
- [Route(template: "Update")]
+ [Route("Update")]
[HttpPost]
- //[TaskAuthor]
public async Task<IActionResult> Update(TaskOptions taskOptions)
{
- return Json(await _schedulerFactory.Update(taskOptions));
+ if (string.IsNullOrEmpty(taskOptions.TaskName) || string.IsNullOrEmpty(taskOptions.GroupName))
+ {
+ mes.code = "300";
+ mes.message = "浠诲姟鍚嶅拰鍒嗙粍鍚嶄笉鑳戒负绌猴紒";
+ return Json(mes);
+ }
+ return Json(await _schedulerFactory.Update(taskOptions, _quartzRepo));
}
- /// <summary>
- /// 鏆傚仠浠诲姟
- /// </summary>
- /// <param name="taskOptions"></param>
- /// <returns></returns>
- [Route(template: "Pause")]
+ [Route("Pause")]
[HttpPost]
- //[TaskAuthor]
public async Task<IActionResult> Pause(TaskOptions taskOptions)
{
- return Json(await _schedulerFactory.Pause(taskOptions));
+ if (string.IsNullOrEmpty(taskOptions.TaskName) || string.IsNullOrEmpty(taskOptions.GroupName))
+ {
+ mes.code = "300";
+ mes.message = "浠诲姟鍚嶅拰鍒嗙粍鍚嶄笉鑳戒负绌猴紒";
+ return Json(mes);
+ }
+ // 鏍¢獙浠诲姟鏄惁瀛樺湪
+ if (!await _quartzRepo.TaskExistsAsync(taskOptions.TaskName, taskOptions.GroupName))
+ {
+ mes.code = "300";
+ mes.message = "浠诲姟涓嶅瓨鍦紒";
+ return Json(mes);
+ }
+ return Json(await _schedulerFactory.Pause(taskOptions, _quartzRepo));
}
- /// <summary>
- /// 寮�鍚换鍔�
- /// </summary>
- /// <param name="taskOptions"></param>
- /// <returns></returns>
- [Route(template: "Start")]
+ [Route("Start")]
[HttpPost]
- //[TaskAuthor]
public async Task<IActionResult> Start(TaskOptions taskOptions)
{
- return Json(await _schedulerFactory.Start(taskOptions));
+ if (string.IsNullOrEmpty(taskOptions.TaskName) || string.IsNullOrEmpty(taskOptions.GroupName))
+ {
+ mes.code = "300";
+ mes.message = "浠诲姟鍚嶅拰鍒嗙粍鍚嶄笉鑳戒负绌猴紒";
+ return Json(mes);
+ }
+ if (!await _quartzRepo.TaskExistsAsync(taskOptions.TaskName, taskOptions.GroupName))
+ {
+ mes.code = "300";
+ mes.message = "浠诲姟涓嶅瓨鍦紒";
+ return Json(mes);
+ }
+ return Json(await _schedulerFactory.Start(taskOptions, _quartzRepo));
}
- /// <summary>
- /// 绔嬪嵆鎵ц
- /// </summary>
- /// <param name="taskOptions"></param>
- /// <returns></returns>
- [Route(template: "Run")]
+ [Route("Run")]
[HttpPost]
- //[TaskAuthor]
public async Task<IActionResult> Run(TaskOptions taskOptions)
{
- return Json(await _schedulerFactory.Run(taskOptions));
+ if (string.IsNullOrEmpty(taskOptions.TaskName) || string.IsNullOrEmpty(taskOptions.GroupName))
+ {
+ mes.code = "300";
+ mes.message = "浠诲姟鍚嶅拰鍒嗙粍鍚嶄笉鑳戒负绌猴紒";
+ return Json(mes);
+ }
+ if (!await _quartzRepo.TaskExistsAsync(taskOptions.TaskName, taskOptions.GroupName))
+ {
+ mes.code = "300";
+ mes.message = "浠诲姟涓嶅瓨鍦紒";
+ return Json(mes);
+ }
+ return Json(await _schedulerFactory.Run(taskOptions, _quartzRepo));
}
}
}
--
Gitblit v1.9.3