using YBEE.EQM.Core; namespace YBEE.EQM.Application; /// /// 监测抽样方案管理服务 /// [ApiDescriptionSettings(Name = "exam-sample")] [Route("exam/sample")] public class ExamSampleAppService(IExamSampleService examSampleService) : IDynamicApiController { /// /// 添加监测抽样方案 /// /// /// public async Task Add(AddExamSampleInput input) { await examSampleService.Add(input); } /// /// 更新监测抽样方案 /// /// /// public async Task Update(UpdateExamSampleInput input) { await examSampleService.Update(input); } /// /// 复制抽样方案信息 /// /// /// public async Task Duplicate(BaseId input) { await examSampleService.Duplicate(input); } /// /// 删除监测抽样方案 /// /// /// public async Task Del(BaseId input) { await examSampleService.Del(input); } /// /// 保存全抽班级ID列表 /// /// /// public async Task SaveExamSampleAllClasses(SaveExamSampleAllClasses input) { await examSampleService.SaveExamSampleAllClasses(input); } /// /// 切换全抽班级 /// /// /// public async Task SwitchExamSampleAllClass(SwitchExamSampleAllClassInput input) { await examSampleService.SwitchExamSampleAllClass(input); } /// /// 选定方案 /// /// /// public async Task SelectSample(BaseId input) { await examSampleService.SelectSample(input); } /// /// 取消选定 /// /// /// public async Task UnselectSample(BaseId input) { await examSampleService.UnselectSample(input); } /// /// 更新机构是否需要上报校考成绩状态 /// /// 监测计划ID /// public async Task UpdateOrgReportSchoolExamScoreStatus(int examPlanId) { await examSampleService.UpdateOrgReportSchoolExamScoreStatus(examPlanId); } /// /// 执行抽样 /// /// 抽样方案ID /// /// public async Task ExecuteSample(BaseId input) { await examSampleService.ExecuteSample(input); } /// /// 导出抽样方案存档文件 /// /// /// public async Task ExportToArchived(BaseId input) { var (fileName, fileBytes) = await examSampleService.ExportToArchived(input.Id, false, true); return new FileContentResult(fileBytes, "application/octet-stream") { FileDownloadName = fileName, }; } /// /// 导出给印刷厂和网阅机构文件 /// /// /// public async Task ExportToPrintshop(BaseId input) { var (fileName, fileBytes) = await examSampleService.ExportToPrintshop(input.Id); return new FileContentResult(fileBytes, "application/octet-stream") { FileDownloadName = fileName, }; } /// /// 导出给学校 /// /// /// public async Task ExportToOrg(BaseId input) { var (fileName, fileBytes) = await examSampleService.ExportToOrg(input.Id); return new FileContentResult(fileBytes, "application/octet-stream") { FileDownloadName = fileName, }; } /// /// 导出抽样统计表 /// /// /// public async Task ExportSampleCount(BaseId input) { var (fileName, fileBytes) = await examSampleService.ExportSampleCount(input.Id, true); return new FileContentResult(fileBytes, "application/octet-stream") { FileDownloadName = fileName, }; } /// /// 导出学校抽样统计表 /// /// /// public async Task ExportSampleCountToOrg(BaseId input) { var (fileName, fileBytes) = await examSampleService.ExportSampleCountToOrg(input.Id); return new FileContentResult(fileBytes, "application/octet-stream") { FileDownloadName = fileName, }; } /// /// 根据ID获取抽样方案 /// /// 抽样方案ID /// public async Task GetById([FromQuery][Required] int id) { return await examSampleService.GetById(id); } /// /// 根据监测计划ID获取全部抽样方案 /// /// /// public async Task> GetListByExamPlanId([FromQuery][Required] int examPlanId) { return await examSampleService.GetListByExamPlanId(examPlanId); } /// /// 根据监测计划ID获取全部抽样方案的状态 /// /// /// public async Task> GetStatusListByExamPlanId([FromQuery][Required] int examPlanId) { return await examSampleService.GetStatusListByExamPlanId(examPlanId); } /// /// 查询已发布抽样 /// /// 监测发布内容ID /// 抽样数据发布类型 /// public async Task GetByExamDataPublishId([FromQuery][Required] int examDataPublishId, [FromQuery][Required] DataPublishType type) { return await examSampleService.GetByExamDataPublishId(examDataPublishId, type); } /// /// 获取抽样统计表 /// /// 抽样方案ID /// public async Task> GetSampleCountListById([FromQuery][Required] int id) { return await examSampleService.GetSampleCountListById(id); } /// /// 获取学校抽样统计表 /// /// /// public async Task> GetOrgSampleCountListById([FromQuery][Required] int id) { return await examSampleService.GetOrgSampleCountListById(id); } }