using Microsoft.AspNetCore.Mvc; using DOAN.Model.Dto; using DOAN.Service.MES.dev.IService; using DOAN.Model.MES.dev.Dto; using DOAN.Admin.WebApi.Filters; using DOAN.Model.MES.dev.Dto; using DOAN.Model.MES.dev; //创建时间:2024-05-20 namespace DOAN.Admin.WebApi.Controllers { /// /// 设备台账 /// [Verify] [Route("mes/deviceManagement/DeviceAccount")] public class DeviceAccountController : BaseController { /// /// 设备台账接口 /// private readonly IDeviceAccountService _DeviceAccountService; public DeviceAccountController(IDeviceAccountService DeviceAccountService) { _DeviceAccountService = DeviceAccountService; } /// /// 查询设备台账列表 /// /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "deviceManagement:deviceaccount:list")] public IActionResult QueryDeviceAccount([FromQuery] DeviceAccountQueryDto parm) { var response = _DeviceAccountService.GetList(parm); return SUCCESS(response); } /// /// 查询绑定或者未绑定巡检任务的设备台账 /// /// /// [HttpGet("list_route_inspect")] [AllowAnonymous] public IActionResult QueryDeviceAccount_Route([FromQuery] DeviceAccountQueryDto2 parm) { var response = _DeviceAccountService.GetList_Route(parm); return SUCCESS(response); } /// /// 查询设备台账详情 /// /// /// [HttpGet("{Id}")] [ActionPermissionFilter(Permission = "deviceManagement:deviceaccount:query")] public IActionResult GetDeviceAccount(int Id) { var response = _DeviceAccountService.GetInfo(Id); var info = response.Adapt(); return SUCCESS(info); } /// /// 添加设备台账 /// /// [HttpPost] [ActionPermissionFilter(Permission = "deviceManagement:deviceaccount:add")] [Log(Title = "设备台账", BusinessType = BusinessType.INSERT)] public IActionResult AddDeviceAccount([FromBody] DeviceAccountDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); var response = _DeviceAccountService.AddDeviceAccount(modal); return SUCCESS(response); } /// /// 更新设备台账 /// /// [HttpPut] [ActionPermissionFilter(Permission = "deviceManagement:deviceaccount:edit")] [Log(Title = "设备台账", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateDeviceAccount([FromBody] DeviceAccountDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); var response = _DeviceAccountService.UpdateDeviceAccount(modal); return ToResponse(response); } /// /// 删除设备台账 /// /// [HttpDelete("{ids}")] [ActionPermissionFilter(Permission = "deviceManagement:deviceaccount:delete")] [Log(Title = "设备台账", BusinessType = BusinessType.DELETE)] public IActionResult DeleteDeviceAccount(string ids) { string[] idsArr = ids.Split(','); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } var response = _DeviceAccountService.Delete(idsArr); return ToResponse(response); } /// /// 获取设备下拉选择树 /// /// /// [HttpGet("getSelectTree")] [ActionPermissionFilter(Permission = "deviceManagement:deviceaccount:list")] public IActionResult GetSelectTree([FromQuery] DeviceAccountQueryDto parm) { try { var response = _DeviceAccountService.GetSelectTree(parm); return SUCCESS(response); } catch (Exception ex) { return ToResponse(ApiResult.Error(500, ex.Message)); } } /// /// 添加绑定关系 巡检计划和设备台账 /// /// /// [HttpPost("AddRelation")] [AllowAnonymous] public IActionResult AddRelation([FromBody] DeviceAccount_routeinspect_Dto parm) { if (parm == null || parm.FkDeviceAccountIdList == null) { SUCCESS(null); } var response = _DeviceAccountService.AddRelation(parm, HttpContext.GetName()); return SUCCESS(response); } /// /// 删除关系 /// /// /// /// [HttpGet("remove_relation")] public IActionResult Remove_relation(string FkRouteInspectionPlanId,int FkDeviceAccountId) { var response = _DeviceAccountService.Remove_relation(FkRouteInspectionPlanId, FkDeviceAccountId); return SUCCESS(response); } /// /// 查询绑定或者未绑定点检任务的设备台账 /// /// /// [HttpGet("list_point_inspect")] [AllowAnonymous] public IActionResult QueryDeviceAccount_point([FromQuery] DeviceAccountQueryDto3 parm) { var response = _DeviceAccountService.GetList_Point(parm); return SUCCESS(response); } /// /// 添加绑定关系 点检计划和设备台账 /// /// /// [HttpPost("AddRelation_point_account")] [AllowAnonymous] public IActionResult AddRelationPointAccount([FromBody] DeviceAccount_pointinspect_Dto parm) { if (parm == null || parm.FkDeviceAccountIdList == null) { SUCCESS(null); } var response = _DeviceAccountService.AddRelationPointAccount(parm, HttpContext.GetName()); return SUCCESS(response); } /// /// 删除关系 /// /// /// /// [HttpGet("remove_relation_point_account")] public IActionResult RemoveRelationPointAccount(string FkPointInspectionPlanId, int FkDeviceAccountId) { var response = _DeviceAccountService.RemoveRelationPointAccount(FkPointInspectionPlanId, FkDeviceAccountId); return SUCCESS(response); } /// /// 获取设备状态 设备看板用 /// /// 设备类型id /// [HttpGet("getDeviceStatusBoardData")] public IActionResult GetDeviceStatus(int devicetype_id) { DeviceStatusAnalysisDto response= _DeviceAccountService.GetDeviceStatus(devicetype_id); return SUCCESS(response); } } }