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);
}
}