123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- package cn.cslg.pas.service.novelty;
- import cn.cslg.pas.common.dto.NoveltyProjectDTO.QueryTemplateDTO;
- import cn.cslg.pas.common.model.cronModel.Personnel;
- import cn.cslg.pas.common.model.cronModel.Records;
- import cn.cslg.pas.common.vo.NoveltyProjectVO.QueryTemplateVO;
- import cn.cslg.pas.domain.business.RetrieveRecord;
- import cn.cslg.pas.domain.business.novelty.NoveltyReportTemplate;
- import cn.cslg.pas.mapper.novelty.NoveltyReportTemplateMapper;
- import cn.cslg.pas.service.permissions.PermissionService;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.util.CollectionUtils;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * 查新检索报告模板
- * @Author xiexiang
- * @Date 2024/9/26
- */
- @Service
- public class NoveltyReportTemplateService extends ServiceImpl<NoveltyReportTemplateMapper, NoveltyReportTemplate> {
- @Autowired
- private PermissionService permissionService;
- // public List<QueryTemplateVO> queryTemplate(QueryTemplateDTO queryTemplateDTO) throws IOException {
- // List<QueryTemplateVO> queryTemplateVOS = new ArrayList<>();
- // List<NoveltyReportTemplate> noveltyReportTemplates = new ArrayList<>();
- // if (queryTemplateDTO.getTemplateId() != null) {
- // NoveltyReportTemplate noveltyReportTemplate = this.getById(queryTemplateDTO.getTemplateId());
- // noveltyReportTemplates.add(noveltyReportTemplate);
- // } else {
- // noveltyReportTemplates = this.list();
- // }
- // if (!noveltyReportTemplates.isEmpty()) {
- // queryTemplateVOS = this.loadTemplateVOS(noveltyReportTemplates);
- // }
- // return queryTemplateVOS;
- // }
- public Records queryTemplate(QueryTemplateDTO queryTemplateDTO) throws IOException {
- Integer temId = queryTemplateDTO.getTemplateId();
- Long size = queryTemplateDTO.getSize();
- Long current = queryTemplateDTO.getCurrent();
- Records records = new Records();
- Long total = null;
- List<QueryTemplateVO> queryTemplateVOS = new ArrayList<>();
- List<NoveltyReportTemplate> noveltyReportTemplates = new ArrayList<>();
- LambdaQueryWrapper<NoveltyReportTemplate> queryWrapper = new LambdaQueryWrapper<>();
- if (temId != null) {
- queryWrapper.eq(NoveltyReportTemplate::getId, temId);
- }
- if (size != null && current != null) {
- IPage<NoveltyReportTemplate> noveltyReportTemplatePage = this.page(new Page<>(current, size), queryWrapper);
- noveltyReportTemplates = noveltyReportTemplatePage.getRecords();
- total = noveltyReportTemplatePage.getTotal();
- } else {
- noveltyReportTemplates = this.list(queryWrapper);
- total = (long) noveltyReportTemplates.size();
- }
- if (!noveltyReportTemplates.isEmpty()) {
- queryTemplateVOS = this.loadTemplateVOS(noveltyReportTemplates);
- }
- records.setData(queryTemplateVOS);
- records.setCurrent(queryTemplateDTO.getCurrent());
- records.setSize(queryTemplateDTO.getSize());
- records.setTotal(total);
- return records;
- }
- private List<QueryTemplateVO> loadTemplateVOS(List<NoveltyReportTemplate> noveltyReportTemplates) throws IOException {
- List<QueryTemplateVO> queryTemplateVOS = new ArrayList<>();
- if (!CollectionUtils.isEmpty(noveltyReportTemplates)) {
- List<String> createIds = new ArrayList<>();
- List<Personnel> personnels = new ArrayList<>();
- noveltyReportTemplates.forEach(item -> {
- if (item.getCreateId() != null) {
- createIds.add(item.getCreateId());
- }
- });
- //查询创建人名称
- if (!CollectionUtils.isEmpty(createIds)) {
- String res = permissionService.getPersonnelByIdsFromPCS(createIds);
- JSONObject jsonObject = JSON.parseObject(res);
- personnels = JSONObject.parseArray(jsonObject.getString("data"), Personnel.class);
- }
- for (NoveltyReportTemplate noveltyReportTemplate : noveltyReportTemplates) {
- QueryTemplateVO queryTemplateVO = new QueryTemplateVO();
- BeanUtils.copyProperties(noveltyReportTemplate, queryTemplateVO);
- //装载人员信息
- Personnel personnel = personnels.stream().filter(item -> item.getId().equals(noveltyReportTemplate.getCreateId())).findFirst().orElse(null);
- if (personnel != null) {
- queryTemplateVO.setCreateName(personnel.getPersonnelName());
- }
- queryTemplateVOS.add(queryTemplateVO);
- }
- }
- return queryTemplateVOS;
- }
- }
|