using YBEE.EQM.Core;
namespace YBEE.EQM.Application;
///
/// 监测抽样方案管理服务
///
public interface IExamSampleService
{
///
/// 添加监测抽样方案
///
///
///
Task Add(AddExamSampleInput input);
///
/// 更新监测抽样方案
///
///
///
Task Update(UpdateExamSampleInput input);
///
/// 复制抽样方案信息
///
///
///
Task Duplicate(BaseId input);
///
/// 删除监测抽样方案
///
///
///
Task Del(BaseId input);
///
/// 保存全抽班级ID列表
///
///
///
Task SaveExamSampleAllClasses(SaveExamSampleAllClasses input);
///
/// 切换全抽班级
///
///
///
Task SwitchExamSampleAllClass(SwitchExamSampleAllClassInput input);
///
/// 选定方案
///
///
///
Task SelectSample(BaseId input);
///
/// 执行抽样
///
/// 抽样方案ID
///
///
Task ExecuteSample(BaseId input);
///
/// 导出抽样方案存档文件
///
///
///
///
Task<(string fileName, byte[] fileBytes)> ExportToArchived(int id, bool hideIdNumber = false);
///
/// 导出给印刷厂和网阅机构文件
///
///
///
Task<(string fileName, byte[] fileBytes)> ExportToPrintshop(int id);
///
/// 导出给学校
///
///
///
Task<(string fileName, byte[] fileBytes)> ExportToOrg(int id);
///
/// 导出抽样统计表
///
///
///
Task<(string fileName, byte[] fileBytes)> ExportSampleCount(int id);
///
/// 导出学校抽样统计表
///
///
///
Task<(string fileName, byte[] fileBytes)> ExportSampleCountToOrg(int id);
///
/// 根据ID获取抽样方案
///
///
///
Task GetById(int id);
///
/// 根据监测计划ID获取全部抽样方案
///
///
///
Task> GetListByExamPlanId(int examPlanId);
///
/// 查询已发布抽样
///
/// 监测发布内容ID
/// 抽样数据发布类型
///
Task GetByExamDataPublishId(int examDataPublishId, DataPublishType type);
///
/// 获取抽样统计表
///
///
///
Task> GetSampleCountListById(int id);
///
/// 获取学校抽样统计表
///
///
///
Task> GetOrgSampleCountListById(int id);
}