using YBEE.EQM.Core;

namespace YBEE.EQM.Application;

/// <summary>
/// 监测机构反馈结果管理服务
/// </summary>
public interface IExamOrgResultService
{
    /// <summary>
    /// 添加结果文件
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task Add(AddExamOrgResultInput input);
    /// <summary>
    /// 删除文件
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task Del(BaseId input);
    /// <summary>
    /// 保存下载记录
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task SaveDownloadRecord(int id);
    /// <summary>
    /// 获取ID获取监测机构反馈文件信息
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task<ExamOrgResultOutput> GetById(int id);
    /// <summary>
    /// 根据监测计划获取机构反馈文件列表
    /// </summary>
    /// <param name="examPlanId"></param>
    /// <returns></returns>
    Task<List<ExamDataPublishOrgResultOutput>> GetByExamPlanId(int examPlanId);
    /// <summary>
    /// 根据发布内容ID获取机构文件列表
    /// </summary>
    /// <param name="publishId"></param>
    /// <returns></returns>
    Task<List<ExamOrgResultOutput>> GetByPublishId(int publishId);
}
