using Consul.Filtering;
namespace Tiobon.Core.Api.Controllers;
///
/// 培训需求(Controller)
///
[Route("api/[controller]")]
[ApiController, GlobalActionFilter]
[Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_Ghre)]
public class Ghre_RequestController : BaseController
{
public Ghre_RequestController(IGhre_RequestServices service) : base(service)
{
}
#region 查询
///
/// 根据条件查询数据
///
/// 条件
/// status
///
[HttpPost, Route("QueryList/{status}")]
public async Task> QueryByStatus([FromBody] QueryBody body, string status)
{
if (status == "Active")
return await _service.QueryFilterPage(body, $"(Status ='Active' OR Status ='Wait' OR (WorkID IS NOT NULL AND WorkState IN (0,1)))");
else if (status == "Disable")
return await _service.QueryFilterPage(body, null, false);
else
return await _service.QueryFilterPage(body, $"Status ='{status}' AND WorkID IS NULL");
}
#endregion
#region 状态修改
[HttpPost("UpdateStatus/{status}")]
public async Task UpdateStatus(string status, [FromBody] InsertGhre_RequestInput input)
{
return await _service.UpdateStatus(input, status);
}
#endregion
#region 新增
[HttpPost("Insert/{status}")]
public async Task> InsertByStatus([FromBody] InsertGhre_RequestInput insertModel, string status)
{
return await _service.InsertByStatus(insertModel, status);
}
#endregion
#region 新增
[HttpPost("QueryGroup/{type}")]
public async Task> QueryGroup([FromBody] QueryBody filter, string type)
{
return await _service.QueryGroup(filter, type);
}
#endregion
#region 新增
[HttpPost("ExportExcel/{type}")]
public async Task> ExportExcel([FromBody] QueryExport filter, string type)
{
return await _service.ExportExcel(filter, type);
}
#endregion
#region 新增
[HttpPost("ExportGroupExcel/{type}")]
public async Task> ExportGroupExcel([FromBody] QueryExport filter, string type)
{
return await _service.ExportGroupExcel(filter, type);
}
#endregion
///
/// 查询菜单表单信息
///
/// body
///
[HttpPost("QueryForm/{status}")]
public async Task> QueryFormByStatus([FromBody] QueryForm body)
{
return await _service.QueryForm(body);
}
#region 新增
[HttpGet("Ushio_Sync"), AllowAnonymous]
public async Task Ushio_Sync()
{
await _service.Ushio_Sync();
}
#endregion
}