CovidExamService.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package thyyxxk.webserver.service.examinations;
  2. import com.alibaba.fastjson.JSON;
  3. import com.baomidou.dynamic.datasource.annotation.DS;
  4. import com.baomidou.mybatisplus.core.metadata.IPage;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import lombok.extern.slf4j.Slf4j;
  7. import org.springframework.stereotype.Service;
  8. import thyyxxk.webserver.dao.lis.CovidExamDao;
  9. import thyyxxk.webserver.pojo.ResultVo;
  10. import thyyxxk.webserver.pojo.examinations.covidexam.CovidExamResult;
  11. import thyyxxk.webserver.pojo.examinations.covidexam.QueryCovidExamParam;
  12. import thyyxxk.webserver.utils.DateUtil;
  13. import thyyxxk.webserver.utils.ExcelUtil;
  14. import thyyxxk.webserver.utils.ResultVoUtil;
  15. import javax.servlet.http.HttpServletResponse;
  16. import java.util.HashMap;
  17. import java.util.List;
  18. import java.util.Map;
  19. @Slf4j
  20. @Service
  21. @DS("lis")
  22. public class CovidExamService {
  23. private final CovidExamDao dao;
  24. public CovidExamService(CovidExamDao dao) {
  25. this.dao = dao;
  26. }
  27. public ResultVo<Map<String, Object>> queryResult(QueryCovidExamParam param) {
  28. log.info("查询新冠检测结果:{}", JSON.toJSONString(param));
  29. Map<String, Object> map = new HashMap<>();
  30. IPage<CovidExamResult> iPage = getCovidExamResultIPage(param);
  31. map.put("totalSize", iPage.getTotal());
  32. map.put("list", iPage.getRecords());
  33. return ResultVoUtil.success(map);
  34. }
  35. public void exportExcel(HttpServletResponse response, QueryCovidExamParam param) {
  36. log.info("导出新冠检测Excel: {}", JSON.toJSONString(param));
  37. IPage<CovidExamResult> iPage = getCovidExamResultIPage(param);
  38. List<CovidExamResult> list = iPage.getRecords();
  39. String[] title = {"姓名","身份证","检测结果","送检时间"};
  40. String[][] content = new String[list.size()][];
  41. for (int i = 0; i < list.size(); i++) {
  42. content[i] = new String[title.length];
  43. CovidExamResult result = list.get(i);
  44. content[i][0] = result.getPtntName();
  45. content[i][1] = result.getIdCard();
  46. content[i][2] = result.getItmStrValue();
  47. content[i][3] = DateUtil.formatDatetime(result.getOrdrCreateDate());
  48. }
  49. ExcelUtil.exportExcel(response, title, content);
  50. }
  51. private IPage<CovidExamResult> getCovidExamResultIPage(QueryCovidExamParam param) {
  52. IPage<CovidExamResult> iPage = new Page<>(param.getCurrentPage(), param.getPageSize());
  53. if (param.getType() == 1) {
  54. return dao.selectHstResult(iPage, param.getStart(), param.getEnd());
  55. }
  56. return dao.selectKtResult(iPage, param.getStart(), param.getEnd());
  57. }
  58. }