ExamSampleReplaceAppService.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using YBEE.EQM.Core;
  2. namespace YBEE.EQM.Application;
  3. /// <summary>
  4. /// 缺测替补抽样服务
  5. /// </summary>
  6. [ApiDescriptionSettings(Name = "exam-sample-replace")]
  7. [Route("exam/sample/replace")]
  8. public class ExamSampleReplaceAppService(IExamSampleReplaceService examSampleReplaceService) : IDynamicApiController
  9. {
  10. /// <summary>
  11. /// 抽取
  12. /// </summary>
  13. /// <param name="input"></param>
  14. /// <returns></returns>
  15. public async Task Sample(SampleExamSampleReplaceInput input)
  16. {
  17. await examSampleReplaceService.Sample(input);
  18. }
  19. /// <summary>
  20. /// 标记替补为缺测
  21. /// </summary>
  22. /// <param name="id"></param>
  23. /// <returns></returns>
  24. [HttpGet]
  25. public async Task MarkedReplaceAbsent([FromQuery][Required] int id)
  26. {
  27. await examSampleReplaceService.MarkedReplaceAbsent(id);
  28. }
  29. /// <summary>
  30. /// 软删除
  31. /// </summary>
  32. /// <param name="input"></param>
  33. /// <returns></returns>
  34. [HttpPost]
  35. public async Task FakeDelete(BaseId input)
  36. {
  37. await examSampleReplaceService.FakeDelete(input);
  38. }
  39. /// <summary>
  40. /// 导出缺测替补名单
  41. /// </summary>
  42. /// <param name="examPlanId"></param>
  43. /// <returns></returns>
  44. public async Task<IActionResult> ExportToOrg([FromQuery][Required] int examPlanId)
  45. {
  46. var (fileName, fileBytes) = await examSampleReplaceService.ExportToOrg(examPlanId);
  47. return new FileContentResult(fileBytes, "application/octet-stream")
  48. {
  49. FileDownloadName = fileName,
  50. };
  51. }
  52. /// <summary>
  53. /// 分页查询缺测替补抽样列表
  54. /// </summary>
  55. /// <param name="input"></param>
  56. /// <returns></returns>
  57. public async Task<PageResult<ExamSampleReplaceOutput>> QueryOrgPageList(ExamSampleReplacePageInput input)
  58. {
  59. return await examSampleReplaceService.QueryOrgPageList(input);
  60. }
  61. }