using YBEE.EQM.Core;

namespace YBEE.EQM.Application;

/// <summary>
/// 缺测替补审核服务
/// </summary>
[ApiDescriptionSettings(Name = "exam-absent-replace-audit")]
[Route("exam/absent/replace/audit")]
public class ExamAbsentReplaceAuditAppService : IDynamicApiController
{
    private readonly IExamAbsentReplaceAuditService _examAbsentReplaceAuditService;

    public ExamAbsentReplaceAuditAppService(IExamAbsentReplaceAuditService examAbsentReplaceAuditService)
    {
        _examAbsentReplaceAuditService = examAbsentReplaceAuditService;
    }

    /// <summary>
    /// 提交审核
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public async Task Submit(BaseId input)
    {
        await _examAbsentReplaceAuditService.Submit(input);
    }
    /// <summary>
    /// 审核
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public async Task Audit(ExamAbsentReplaceAuditInput input)
    {
        await _examAbsentReplaceAuditService.Audit(input);
    }
    /// <summary>
    /// 反审
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public async Task Reaudit(BaseId input)
    {
        await _examAbsentReplaceAuditService.Reaudit(input);
    }

    /// <summary>
    /// 获取待审核监测计划列表
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public async Task<PageResult<ExamPlanAuditOutput>> QueryExamPlanPageList(ExamPlanPageInput input)
    {
        return await _examAbsentReplaceAuditService.QueryExamPlanPageList(input);
    }
    /// <summary>
    /// 获取待审核机构列表
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public async Task<PageResult<ExamPlanOrgAuditOutput>> QueryOrgAuditPageList(ExamOrgDataReportAuditPageInput input)
    {
        return await _examAbsentReplaceAuditService.QueryOrgAuditPageList(input);
    }
}
