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