zhuangpei-mesbackend/DOAN.Admin.WebApi/Controllers/MES/dev/DeviceTaskExecuteController.cs

357 lines
12 KiB
C#
Raw Normal View History

2024-05-31 10:17:33 +08:00
using Microsoft.AspNetCore.Mvc;
2024-07-01 16:04:10 +08:00
using DOAN.Model.Dto;
2024-05-31 10:17:33 +08:00
2024-07-01 16:04:10 +08:00
using DOAN.Service.MES.dev.IService;
using DOAN.Model.MES.dev.Dto;
using DOAN.Admin.WebApi.Filters;
2024-05-31 10:17:33 +08:00
using MiniExcelLibs;
2024-07-01 16:04:10 +08:00
using DOAN.Model.MES.dev.Dto;
using DOAN.Model.MES.dev;
2024-06-03 15:45:21 +08:00
using Org.BouncyCastle.Crypto;
2024-05-31 10:17:33 +08:00
//创建时间2024-05-31
2024-07-01 16:04:10 +08:00
namespace DOAN.Admin.WebApi.Controllers
2024-05-31 10:17:33 +08:00
{
/// <summary>
/// 任务执行
/// </summary>
[Verify]
[Route("mes/deviceManagement/DeviceTaskExecute")]
public class DeviceTaskExecuteController : BaseController
{
/// <summary>
/// 任务执行接口
/// </summary>
private readonly IDeviceTaskExecuteService _DeviceTaskExecuteService;
public DeviceTaskExecuteController(IDeviceTaskExecuteService DeviceTaskExecuteService)
{
_DeviceTaskExecuteService = DeviceTaskExecuteService;
}
/// <summary>
/// 查询任务执行列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
2024-06-17 10:37:19 +08:00
[HttpPost("list")]
2024-07-05 16:55:06 +08:00
2024-06-17 11:06:48 +08:00
public IActionResult QueryDeviceTaskExecute([FromBody] DeviceTaskExecuteQueryDto parm)
2024-05-31 10:17:33 +08:00
{
var response = _DeviceTaskExecuteService.GetList(parm);
return SUCCESS(response);
}
/// <summary>
/// 查询任务执行详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
[HttpGet("{Id}")]
[ActionPermissionFilter(Permission = "deviceManagement:devicetaskexecute:query")]
2024-06-04 09:00:11 +08:00
public IActionResult GetDeviceTaskExecute(string Id)
2024-05-31 10:17:33 +08:00
{
var response = _DeviceTaskExecuteService.GetInfo(Id);
var info = response.Adapt<DeviceTaskExecute>();
return SUCCESS(info);
}
/// <summary>
/// 添加任务执行
/// </summary>
/// <returns></returns>
[HttpPost]
[ActionPermissionFilter(Permission = "deviceManagement:devicetaskexecute:add")]
[Log(Title = "任务执行", BusinessType = BusinessType.INSERT)]
public IActionResult AddDeviceTaskExecute([FromBody] DeviceTaskExecuteDto parm)
{
2024-06-27 12:46:49 +08:00
var modal = parm.Adapt<DeviceTaskExecute>().ToCreate(HttpContext).ToUpdate(HttpContext);
2024-05-31 10:17:33 +08:00
var response = _DeviceTaskExecuteService.AddDeviceTaskExecute(modal);
return SUCCESS(response);
}
/// <summary>
/// 更新任务执行
/// </summary>
/// <returns></returns>
[HttpPut]
[ActionPermissionFilter(Permission = "deviceManagement:devicetaskexecute:edit")]
[Log(Title = "任务执行", BusinessType = BusinessType.UPDATE)]
public IActionResult UpdateDeviceTaskExecute([FromBody] DeviceTaskExecuteDto parm)
{
2024-07-05 16:55:06 +08:00
Console.WriteLine(HttpContext.User?.Identity?.Name);
2024-05-31 10:17:33 +08:00
var modal = parm.Adapt<DeviceTaskExecute>().ToUpdate(HttpContext);
var response = _DeviceTaskExecuteService.UpdateDeviceTaskExecute(modal);
return ToResponse(response);
}
2024-06-24 17:09:07 +08:00
/// <summary>
/// 更改任务状态
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("update_task_status")]
public IActionResult Update_task_status([FromQuery]DeviceTaskExecuteQueryDto2 parm)
{
if(parm == null)
{
return SUCCESS(null);
}
parm.ToUpdate();
var response = _DeviceTaskExecuteService.Update_task_status(parm);
return ToResponse(response);
}
2024-05-31 10:17:33 +08:00
/// <summary>
/// 删除任务执行
/// </summary>
/// <returns></returns>
[HttpDelete("{ids}")]
[ActionPermissionFilter(Permission = "deviceManagement:devicetaskexecute:delete")]
[Log(Title = "任务执行", BusinessType = BusinessType.DELETE)]
public IActionResult DeleteDeviceTaskExecute(string ids)
{
2024-06-04 11:21:44 +08:00
if(string.IsNullOrEmpty(ids))
{
return SUCCESS(null);
}
string[] idsArr = ids.Split(",");
2024-05-31 10:17:33 +08:00
if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); }
var response = _DeviceTaskExecuteService.Delete(idsArr);
return ToResponse(response);
}
/// <summary>
/// 导出任务执行
/// </summary>
/// <returns></returns>
[Log(Title = "任务执行", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)]
[HttpGet("export")]
[ActionPermissionFilter(Permission = "deviceManagement:devicetaskexecute:export")]
public IActionResult Export([FromQuery] DeviceTaskExecuteQueryDto parm)
{
parm.PageNum = 1;
parm.PageSize = 100000;
var list = _DeviceTaskExecuteService.GetList(parm).Result;
if (list == null || list.Count <= 0)
{
return ToResponse(ResultCode.FAIL, "没有要导出的数据");
}
var result = ExportExcelMini(list, "任务执行", "任务执行");
return ExportExcel(result.Item2, result.Item1);
}
/// <summary>
/// 清空任务执行
/// </summary>
/// <returns></returns>
[Log(Title = "任务执行", BusinessType = BusinessType.CLEAN)]
[ActionPermissionFilter(Permission = "deviceManagement:devicetaskexecute:delete")]
[HttpDelete("clean")]
public IActionResult Clear()
{
if (!HttpContextExtension.IsAdmin(HttpContext))
{
return ToResponse(ResultCode.FAIL, "操作失败");
}
return SUCCESS(_DeviceTaskExecuteService.TruncateDeviceTaskExecute());
}
/// <summary>
/// 导入
/// </summary>
/// <param name="formFile"></param>
/// <returns></returns>
[HttpPost("importData")]
[Log(Title = "任务执行导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false)]
[ActionPermissionFilter(Permission = "deviceManagement:devicetaskexecute:import")]
public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile)
{
List<DeviceTaskExecuteDto> list = new();
using (var stream = formFile.OpenReadStream())
{
list = stream.Query<DeviceTaskExecuteDto>(startCell: "A1").ToList();
}
return SUCCESS(_DeviceTaskExecuteService.ImportDeviceTaskExecute(list.Adapt<List<DeviceTaskExecute>>()));
}
/// <summary>
/// 任务执行导入模板下载
/// </summary>
/// <returns></returns>
[HttpGet("importTemplate")]
[Log(Title = "任务执行模板", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)]
[AllowAnonymous]
public IActionResult ImportTemplateExcel()
{
var result = DownloadImportTemplate(new List<DeviceTaskExecuteDto>() { }, "DeviceTaskExecute");
return ExportExcel(result.Item2, result.Item1);
}
2024-06-03 15:45:21 +08:00
/// <summary>
/// 立刻派发任务
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("dispatch/{id}")]
[Log(Title = "任务立刻执行")]
[AllowAnonymous]
public IActionResult ExecutionTask_point(string id)
{
if(string.IsNullOrEmpty(id))
{
return SUCCESS(null);
}
var response = _DeviceTaskExecuteService.ExecutionTask_point(id);
return SUCCESS(response);
}
/// <summary>
/// 获取任务执行绑定的巡检任务和点检任务绑定的设备
/// </summary>
2024-06-03 18:26:07 +08:00
/// <param name="id">device_task_execute表的主键</param>
2024-06-03 15:45:21 +08:00
/// <returns></returns>
2024-06-03 18:26:07 +08:00
[HttpGet("bind_device/{id}")]
2024-06-04 09:00:11 +08:00
public IActionResult AchieveTaskbindDevice(string id)
2024-06-03 15:45:21 +08:00
{
2024-06-04 09:00:11 +08:00
if (string.IsNullOrEmpty(id))
2024-06-03 15:45:21 +08:00
{
return SUCCESS(null);
}
2024-06-04 09:00:11 +08:00
var response = _DeviceTaskExecuteService.AchieveTaskbindDevice(id);
2024-06-03 15:45:21 +08:00
return SUCCESS(response);
}
/// <summary>
/// 获取设备绑定的检查项
/// </summary>
2024-06-03 18:26:07 +08:00
/// <param name="fk_device_id">device_rel_account_inspect表的fk_account_id 属性</param>
2024-06-03 15:45:21 +08:00
/// <returns></returns>
2024-06-03 18:26:07 +08:00
[HttpGet("bind_inspect/{fk_account_id}")]
public IActionResult AchieveDevicebindInspect(int? fk_account_id)
2024-06-03 15:45:21 +08:00
{
2024-06-03 18:26:07 +08:00
if (fk_account_id == null)
2024-06-03 15:45:21 +08:00
{
return SUCCESS(null);
}
2024-06-03 18:26:07 +08:00
var response = _DeviceTaskExecuteService.AchieveDevicebindInspect(fk_account_id ?? 0);
2024-06-03 15:45:21 +08:00
return SUCCESS(response);
}
/// <summary>
/// 获取检查项绑定的检查表单
/// </summary>
2024-06-03 18:26:07 +08:00
/// <param name="fk_device_inspect_id">device_form_config表的fk_device_inspect_id字段</param>
2024-06-03 15:45:21 +08:00
/// <returns></returns>
[HttpGet("bind_form/{fk_device_inspect_id}")]
2024-06-04 11:25:17 +08:00
public IActionResult AchieveInspectbindForm(int? fk_device_inspect_id)
2024-06-03 15:45:21 +08:00
{
2024-06-04 11:25:17 +08:00
if (fk_device_inspect_id==null)
2024-06-03 15:45:21 +08:00
{
return SUCCESS(null);
}
2024-06-04 11:25:17 +08:00
var response = _DeviceTaskExecuteService.AchieveInspectbindForm(fk_device_inspect_id??0);
2024-06-03 15:45:21 +08:00
return SUCCESS(response);
}
2024-06-04 11:25:17 +08:00
/// <summary>
/// 获取表单结果
/// </summary>
/// <returns></returns>
[HttpPost("get_form_result")]
public IActionResult AchieveFormResult([FromBody] DeviceTaskExecuteResult1QueryDto_TaskExecute query)
{
if(query==null)
{
2024-06-05 13:24:53 +08:00
return SUCCESS(null);
2024-06-04 11:25:17 +08:00
}
2024-06-05 11:43:38 +08:00
if(query.PlanType!=1&&query.PlanType!=2)
{
return ToResponse(ResultCode.CUSTOM_ERROR, "数据不合法只能是1或者2");
}
2024-06-04 11:25:17 +08:00
2024-06-05 15:02:11 +08:00
var response = _DeviceTaskExecuteService.AchieveFormResult2(query);
2024-06-04 11:25:17 +08:00
2024-06-05 11:06:58 +08:00
return SUCCESS(response);
2024-06-04 11:25:17 +08:00
}
2024-06-24 17:09:07 +08:00
/// <summary>
2024-06-24 17:29:41 +08:00
/// 修改表单结果
2024-06-24 17:09:07 +08:00
/// </summary>
/// <param name="result"></param>
/// <returns></returns>
2024-06-05 13:24:53 +08:00
[HttpPost("update_form_result")]
2024-06-05 15:02:11 +08:00
[AllowAnonymous]
2024-06-11 13:35:00 +08:00
public IActionResult UpdateFormResult([FromBody] DeviceTaskExecuteResultDto result)
2024-06-05 13:24:53 +08:00
{
if(result==null)
{
return SUCCESS(null);
}
2024-07-05 16:55:06 +08:00
result.ToUpdate_nickName(HttpContext);
2024-06-05 13:24:53 +08:00
int res=_DeviceTaskExecuteService.UpdateFormResult(result);
return SUCCESS(res);
}
2024-07-03 19:01:42 +08:00
/// <summary>
/// 增加任务开始时间
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
[HttpGet("add_task_start")]
public IActionResult AddTaskStartTime(string Id)
{
if(string.IsNullOrEmpty(Id))
{
return SUCCESS(null);
}
2024-07-06 08:23:52 +08:00
int res = _DeviceTaskExecuteService.AddDeviceTaskExecute(Id,HttpContext.GetNickName());
return SUCCESS(res);
}
/// <summary>
/// 增加任务结束时间
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
[HttpGet("add_task_finally")]
public IActionResult AddTaskFinallyTime(string Id)
{
if (string.IsNullOrEmpty(Id))
{
return SUCCESS(null);
}
int res = _DeviceTaskExecuteService.AddTaskFinallyTime(Id);
return SUCCESS(res);
}
2024-06-05 13:24:53 +08:00
2024-05-31 10:17:33 +08:00
}
}