NoveltyReportTemplateService.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package cn.cslg.pas.service.novelty;
  2. import cn.cslg.pas.common.dto.NoveltyProjectDTO.QueryTemplateDTO;
  3. import cn.cslg.pas.common.model.cronModel.Personnel;
  4. import cn.cslg.pas.common.model.cronModel.Records;
  5. import cn.cslg.pas.common.vo.NoveltyProjectVO.QueryTemplateVO;
  6. import cn.cslg.pas.domain.business.RetrieveRecord;
  7. import cn.cslg.pas.domain.business.novelty.NoveltyReportTemplate;
  8. import cn.cslg.pas.mapper.novelty.NoveltyReportTemplateMapper;
  9. import cn.cslg.pas.service.permissions.PermissionService;
  10. import com.alibaba.fastjson.JSON;
  11. import com.alibaba.fastjson.JSONObject;
  12. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  13. import com.baomidou.mybatisplus.core.metadata.IPage;
  14. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  15. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  16. import org.springframework.beans.BeanUtils;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import org.springframework.util.CollectionUtils;
  20. import java.io.IOException;
  21. import java.util.ArrayList;
  22. import java.util.List;
  23. /**
  24. * 查新检索报告模板
  25. * @Author xiexiang
  26. * @Date 2024/9/26
  27. */
  28. @Service
  29. public class NoveltyReportTemplateService extends ServiceImpl<NoveltyReportTemplateMapper, NoveltyReportTemplate> {
  30. @Autowired
  31. private PermissionService permissionService;
  32. // public List<QueryTemplateVO> queryTemplate(QueryTemplateDTO queryTemplateDTO) throws IOException {
  33. // List<QueryTemplateVO> queryTemplateVOS = new ArrayList<>();
  34. // List<NoveltyReportTemplate> noveltyReportTemplates = new ArrayList<>();
  35. // if (queryTemplateDTO.getTemplateId() != null) {
  36. // NoveltyReportTemplate noveltyReportTemplate = this.getById(queryTemplateDTO.getTemplateId());
  37. // noveltyReportTemplates.add(noveltyReportTemplate);
  38. // } else {
  39. // noveltyReportTemplates = this.list();
  40. // }
  41. // if (!noveltyReportTemplates.isEmpty()) {
  42. // queryTemplateVOS = this.loadTemplateVOS(noveltyReportTemplates);
  43. // }
  44. // return queryTemplateVOS;
  45. // }
  46. public Records queryTemplate(QueryTemplateDTO queryTemplateDTO) throws IOException {
  47. Integer temId = queryTemplateDTO.getTemplateId();
  48. Long size = queryTemplateDTO.getSize();
  49. Long current = queryTemplateDTO.getCurrent();
  50. Records records = new Records();
  51. Long total = null;
  52. List<QueryTemplateVO> queryTemplateVOS = new ArrayList<>();
  53. List<NoveltyReportTemplate> noveltyReportTemplates = new ArrayList<>();
  54. LambdaQueryWrapper<NoveltyReportTemplate> queryWrapper = new LambdaQueryWrapper<>();
  55. if (temId != null) {
  56. queryWrapper.eq(NoveltyReportTemplate::getId, temId);
  57. }
  58. if (size != null && current != null) {
  59. IPage<NoveltyReportTemplate> noveltyReportTemplatePage = this.page(new Page<>(current, size), queryWrapper);
  60. noveltyReportTemplates = noveltyReportTemplatePage.getRecords();
  61. total = noveltyReportTemplatePage.getTotal();
  62. } else {
  63. noveltyReportTemplates = this.list(queryWrapper);
  64. total = (long) noveltyReportTemplates.size();
  65. }
  66. if (!noveltyReportTemplates.isEmpty()) {
  67. queryTemplateVOS = this.loadTemplateVOS(noveltyReportTemplates);
  68. }
  69. records.setData(queryTemplateVOS);
  70. records.setCurrent(queryTemplateDTO.getCurrent());
  71. records.setSize(queryTemplateDTO.getSize());
  72. records.setTotal(total);
  73. return records;
  74. }
  75. private List<QueryTemplateVO> loadTemplateVOS(List<NoveltyReportTemplate> noveltyReportTemplates) throws IOException {
  76. List<QueryTemplateVO> queryTemplateVOS = new ArrayList<>();
  77. if (!CollectionUtils.isEmpty(noveltyReportTemplates)) {
  78. List<String> createIds = new ArrayList<>();
  79. List<Personnel> personnels = new ArrayList<>();
  80. noveltyReportTemplates.forEach(item -> {
  81. if (item.getCreateId() != null) {
  82. createIds.add(item.getCreateId());
  83. }
  84. });
  85. //查询创建人名称
  86. if (!CollectionUtils.isEmpty(createIds)) {
  87. String res = permissionService.getPersonnelByIdsFromPCS(createIds);
  88. JSONObject jsonObject = JSON.parseObject(res);
  89. personnels = JSONObject.parseArray(jsonObject.getString("data"), Personnel.class);
  90. }
  91. for (NoveltyReportTemplate noveltyReportTemplate : noveltyReportTemplates) {
  92. QueryTemplateVO queryTemplateVO = new QueryTemplateVO();
  93. BeanUtils.copyProperties(noveltyReportTemplate, queryTemplateVO);
  94. //装载人员信息
  95. Personnel personnel = personnels.stream().filter(item -> item.getId().equals(noveltyReportTemplate.getCreateId())).findFirst().orElse(null);
  96. if (personnel != null) {
  97. queryTemplateVO.setCreateName(personnel.getPersonnelName());
  98. }
  99. queryTemplateVOS.add(queryTemplateVO);
  100. }
  101. }
  102. return queryTemplateVOS;
  103. }
  104. }