123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634 |
- package cn.cslg.pas.service.business;
- import cn.cslg.pas.common.dto.business.LiteratureQueryDTO;
- import cn.cslg.pas.common.dto.invalidDTO.UpdateBatchLiteratureDTO;
- import cn.cslg.pas.common.dto.invalidDTO.UpdateBatchLiteraturesDTO;
- import cn.cslg.pas.common.dto.invalidDTO.UpdateLiteratureOrderDTO;
- import cn.cslg.pas.common.model.cronModel.PersonnelVO;
- import cn.cslg.pas.common.model.cronModel.Records;
- import cn.cslg.pas.common.model.cronModel.SystemFile;
- import cn.cslg.pas.common.utils.CacheUtils;
- import cn.cslg.pas.common.utils.LoginUtils;
- import cn.cslg.pas.common.vo.CompareLiteratureVO;
- import cn.cslg.pas.common.vo.PatentWithIdVO;
- import cn.cslg.pas.common.vo.WebSocketMessageVO;
- import cn.cslg.pas.domain.business.CompareLiterature;
- import cn.cslg.pas.common.dto.CompareLiteratureDTO;
- import cn.cslg.pas.domain.business.ReportProject;
- import cn.cslg.pas.domain.es.Patent;
- import cn.cslg.pas.exception.UnLoginException;
- import cn.cslg.pas.exception.XiaoShiException;
- import cn.cslg.pas.mapper.CompareLiteratureMapper;
- import cn.cslg.pas.service.business.es.EsPatentService;
- import cn.cslg.pas.service.business.es.EsService;
- import cn.cslg.pas.service.common.FileManagerService;
- import cn.cslg.pas.service.common.MessageService;
- import cn.cslg.pas.service.importPatent.ImportSinglePatentService;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.scheduling.annotation.Async;
- import org.springframework.stereotype.Service;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * @Author lrj
- * @Date 2023/12/8
- */
- @Slf4j
- @Service
- public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMapper, CompareLiterature> {
- @Autowired
- private CacheUtils cacheUtils;
- @Autowired
- private LoginUtils loginUtils;
- @Autowired
- private EsPatentService esPatentService;
- @Autowired
- private ReportProjectService reportProjectService;
- @Autowired
- private FileManagerService fileManagerService;
- @Autowired
- private ImportSinglePatentService importSinglePatentService;
- @Autowired
- private EsService esService;
- @Autowired
- private MessageService messageService;
- //添加专利对比文献
- public Integer addPatentCompareLiterature(Patent patent, Integer projectId, String createId) {
- synchronized ("导入任务是否完成") {
- Integer id = null;
- id = this.getHaveAddIdByNos(projectId, patent.getPatentNo());
- //根据专利号和报告id查询是否已经保存
- if (id == null) {
- CompareLiterature compareLiterature = new CompareLiterature();
- compareLiterature.setCreateId(createId);
- //报告id
- compareLiterature.setProjectId(projectId);
- //文档guid
- compareLiterature.setLiteratureNo(patent.getPatentNo());
- //文档名称
- String name = patent.getPatentNo();
- //作者
- String authorName = "";
- Integer order = 1;
- //根据报告id获得最大序号
- LambdaQueryWrapper<CompareLiterature> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(CompareLiterature::getProjectId, projectId).orderByDesc(CompareLiterature::getSysOrder);
- CompareLiterature compareLiteratureBig = this.getOne(queryWrapper, false);
- if (compareLiteratureBig != null && compareLiteratureBig.getSysOrder() != null) {
- order = compareLiteratureBig.getSysOrder() + 1;
- }
- if (patent != null) {
- if (patent.getTitle() != null && patent.getTitle().size() != 0) {
- name += "(" + patent.getTitle().get(0).getTextContent() + ")";
- }
- compareLiterature.setAppDate(patent.getAppDate());
- compareLiterature.setPublicDate(patent.getPublicDate());
- if (patent.getRightHolder() != null && patent.getRightHolder().size() != 0) {
- authorName = patent.getRightHolder().get(0).getName();
- }
- }
- compareLiterature.setName(name);
- //描述
- //作者
- compareLiterature.setAuthorName(authorName);
- //类型
- compareLiterature.setType(0);
- //装载排序
- compareLiterature.setSysOrder(order);
- compareLiterature.insert();
- return compareLiterature.getId();
- }
- return id;
- }
- }
- //添加非对比文献
- public Integer addNotPatent(CompareLiteratureDTO compareLiteratureDTO) {
- PersonnelVO personnelVO = new PersonnelVO();
- Integer projectId = compareLiteratureDTO.getProjectId();
- try {
- personnelVO = new PersonnelVO();
- personnelVO.setId("1");
- // personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
- } catch (Exception e) {
- throw new UnLoginException("未登录");
- }
- Integer order = 1;
- //根据报告id获得最大序号
- LambdaQueryWrapper<CompareLiterature> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(CompareLiterature::getProjectId, projectId)
- .orderByDesc(CompareLiterature::getSysOrder);
- CompareLiterature compareLiteratureBig = this.getOne(queryWrapper, false);
- if (compareLiteratureBig != null && compareLiteratureBig.getSysOrder() != null) {
- order = compareLiteratureBig.getSysOrder() + 1;
- }
- CompareLiterature compareLiterature = new CompareLiterature();
- compareLiterature.setCreateId(personnelVO.getId());
- //报告id
- compareLiterature.setProjectId(compareLiteratureDTO.getProjectId());
- //文档guid
- compareLiterature.setLiteratureNo(compareLiteratureDTO.getFileGuid());
- //文档名称
- compareLiterature.setName(compareLiteratureDTO.getName());
- //描述
- compareLiterature.setDescription(compareLiteratureDTO.getDescription());
- //作者
- compareLiterature.setAuthorName(compareLiteratureDTO.getAuthorName());
- //类型
- compareLiterature.setType(1);
- //装载排序
- compareLiterature.setSysOrder(order);
- //装载公开日
- compareLiterature.setPublicDate(compareLiteratureDTO.getPublicDate());
- compareLiterature.insert();
- return compareLiterature.getId();
- }
- //查询对比文献
- public Records queryCompareLiterature(LiteratureQueryDTO literatureQueryDTO) {
- Integer projectId = literatureQueryDTO.getProjectId();
- Records records = new Records();
- //根据对比projectId 查询对比文献
- LambdaQueryWrapper<CompareLiterature> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(CompareLiterature::getProjectId, projectId)
- .orderByAsc(CompareLiterature::getSysOrder);
- List<CompareLiterature> compareLiteratures = new ArrayList<>();
- if (literatureQueryDTO.getCurrent() != null && literatureQueryDTO.getSize() != null) {
- Page<CompareLiterature> page = this.page(new Page<>(literatureQueryDTO.getCurrent(), literatureQueryDTO.getSize()), queryWrapper);
- compareLiteratures = page.getRecords();
- records.setTotal(page.getTotal());
- records.setSize(Long.parseLong(literatureQueryDTO.getSize().toString()));
- records.setCurrent(Long.parseLong(literatureQueryDTO.getCurrent().toString()));
- } else {
- compareLiteratures = this.list(queryWrapper);
- }
- List<CompareLiteratureVO> compareLiteratureVOS = new ArrayList<>();
- //根据项目id查询标的专利号
- LambdaQueryWrapper<ReportProject> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(ReportProject::getProjectId, projectId);
- ReportProject reportProject = reportProjectService.getOne(wrapper);
- compareLiteratureVOS = this.loadCompareLiterature(compareLiteratures, reportProject);
- //装载不同的类型的对比文献
- records.setData(compareLiteratureVOS);
- return records;
- }
- public List<CompareLiteratureVO> loadCompareLiterature(List<CompareLiterature> compareLiteratures, ReportProject reportProject) {
- String signPatentNo = reportProject.getSignPatentNo();
- //查询标的专利号
- List<CompareLiteratureVO> compareLiteratureVOS = new ArrayList<>();
- //非专利文献列表
- List<String> guids = compareLiteratures.stream().filter(item -> item.getType().equals(1)).map(CompareLiterature::getLiteratureNo).collect(Collectors.toList());
- //专利文献列表
- List<String> patentNos = compareLiteratures.stream().filter(item -> item.getType().equals(0)).map(CompareLiterature::getLiteratureNo).collect(Collectors.toList());
- List<Patent> patentList = new ArrayList<>();
- if (reportProject.getSignPatentNo() != null) {
- patentNos.add(reportProject.getSignPatentNo());
- }
- if (patentNos.size() > 0) {
- try {
- patentList = esPatentService.getPatentsByNo(patentNos, false, null, null);
- } catch (Exception e) {
- throw new XiaoShiException("装载文献信息失败");
- }
- }
- //获得标的专利信息
- Patent signPatent = patentList.stream()
- .filter(item -> signPatentNo.equals(item.getAppNo())
- || signPatentNo.equals(item.getPublicNo()) ||
- signPatentNo.equals(item.getGrantNo())).findFirst().orElse(null);
- //查询文件
- List<SystemFile> systemFiles = new ArrayList<>();
- //查询文件
- if (guids.size() != 0) {
- try {
- String res = fileManagerService.getSystemFileFromFMS(guids);
- if (res != null && !res.trim().equals("")) {
- systemFiles = JSONObject.parseArray(res, SystemFile.class);
- }
- } catch (Exception e) {
- throw new XiaoShiException("装载错误");
- }
- }
- for (CompareLiterature compareLiterature : compareLiteratures) {
- Integer id = compareLiterature.getId();
- String literatureNo = compareLiterature.getLiteratureNo();
- Date publicDate = compareLiterature.getPublicDate();
- CompareLiteratureVO compareLiteratureVO = new CompareLiteratureVO();
- BeanUtils.copyProperties(compareLiterature, compareLiteratureVO);
- //当为专利文献时
- if (compareLiterature.getType().equals(0)) {
- compareLiteratureVO.setFitType(0);
- if (patentList.size() > 0) {
- Patent patent = patentList.stream()
- .filter(item -> literatureNo.equals(item.getAppNo())
- || literatureNo.equals(item.getPublicNo()) ||
- literatureNo.equals(item.getGrantNo())).findFirst().orElse(null);
- if (patent != null) {
- compareLiteratureVO.setAppNo(patent.getAppNo());
- compareLiteratureVO.setAppDate(patent.getAppDate());
- compareLiteratureVO.setPublicDate(patent.getPublicDate());
- compareLiteratureVO.setPublicNo(patent.getPublicNo());
- compareLiteratureVO.setGrantDate(patent.getGrantDate());
- compareLiteratureVO.setGrantNo(patent.getGrantNo());
- //比较标的专利的申请日和对比专利的公开或者公告日
- if (signPatent.getAppDate() != null) {
- //当专利的申请日存在时
- if (patent.getAppDate() != null) {
- if (signPatent.getAppDate().compareTo(patent.getAppDate()) <= 0) {
- compareLiteratureVO.setFitType(0);
- } else if (patent.getPublicDate() != null) {
- if (signPatent.getAppDate().compareTo(patent.getPublicDate()) <= 0)
- compareLiteratureVO.setFitType(1);
- else if (signPatent.getAppDate().compareTo(patent.getPublicDate()) > 0) {
- compareLiteratureVO.setFitType(2);
- }
- } else if (patent.getGrantDate() != null) {
- if (signPatent.getAppDate().compareTo(patent.getGrantDate()) <= 0)
- compareLiteratureVO.setFitType(1);
- else if (signPatent.getAppDate().compareTo(patent.getGrantDate()) > 0) {
- compareLiteratureVO.setFitType(2);
- }
- }
- }
- }
- }
- }
- }
- //非专利文献
- else {
- if (signPatent.getAppDate() != null) {
- if (publicDate != null) {
- if (signPatent.getAppDate().compareTo(publicDate) <= 0) {
- compareLiteratureVO.setFitType(0);
- } else {
- compareLiteratureVO.setFitType(2);
- }
- }
- }
- //装载文件
- if (literatureNo != null && systemFiles != null && systemFiles.size() != 0) {
- SystemFile systemFile = systemFiles.stream().filter(item -> item.getGuid().equals(literatureNo)).findFirst().orElse(null);
- if (systemFile != null) {
- compareLiteratureVO.setSystemFile(systemFile);
- }
- }
- }
- compareLiteratureVOS.add(compareLiteratureVO);
- }
- return compareLiteratureVOS;
- }
- //更新对比文献序号
- public Boolean updateLiteratureOrder(List<UpdateLiteratureOrderDTO> dtos) {
- if (dtos != null && dtos.size() < 0) {
- return false;
- }
- dtos.forEach(item -> {
- UpdateWrapper<CompareLiterature> updateWrapper = new UpdateWrapper<>();
- updateWrapper.eq("id", item.getId());
- updateWrapper.set("sys_order", item.getSysOrder());
- this.update(updateWrapper);
- });
- return true;
- }
- //批量添加对比文献
- public void updateCompareLiteratureBatch(UpdateBatchLiteratureDTO updateBatchLiteratureDTO) {
- PersonnelVO personnelVO = new PersonnelVO();
- personnelVO.setId("1");
- if (updateBatchLiteratureDTO == null) {
- return;
- }
- List<UpdateBatchLiteraturesDTO> dtos = updateBatchLiteratureDTO.getUpdateBatchLiteratureDTOs();
- int i = 1;
- for (UpdateBatchLiteraturesDTO item : dtos) {
- if (item.getType().equals(1)) {
- this.saveOrUpdateNotPatent(item);
- } else {
- this.saveOrUpdatePatent(item);
- }
- WebSocketMessageVO webSocketMessageVO = new WebSocketMessageVO();
- webSocketMessageVO.setAllNum(dtos.size());
- webSocketMessageVO.setCurrentNum(i);
- webSocketMessageVO.setCreateId(personnelVO.getId());
- webSocketMessageVO.setState(1);
- messageService.sendMessage(webSocketMessageVO);
- i++;
- }
- WebSocketMessageVO webSocketMessageVO = new WebSocketMessageVO();
- webSocketMessageVO.setAllNum(dtos.size());
- webSocketMessageVO.setCurrentNum(dtos.size());
- webSocketMessageVO.setCreateId(personnelVO.getId());
- webSocketMessageVO.setState(2);
- messageService.sendMessage(webSocketMessageVO);
- }
- /**
- * 添加或更新非专利文献
- */
- public Integer saveOrUpdateNotPatent(UpdateBatchLiteraturesDTO updateBatchLiteratureDTO) {
- PersonnelVO personnelVO = new PersonnelVO();
- Integer projectId = updateBatchLiteratureDTO.getProjectId();
- try {
- personnelVO = new PersonnelVO();
- personnelVO.setId("1");
- // personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
- } catch (Exception e) {
- throw new UnLoginException("未登录");
- }
- CompareLiterature compareLiterature = new CompareLiterature();
- compareLiterature.setCreateId(personnelVO.getId());
- //报告id
- compareLiterature.setProjectId(projectId);
- //文档guid
- compareLiterature.setLiteratureNo(updateBatchLiteratureDTO.getLiteratureNo());
- //文档名称
- compareLiterature.setName(updateBatchLiteratureDTO.getName());
- //描述
- compareLiterature.setDescription(updateBatchLiteratureDTO.getDescription());
- //作者
- compareLiterature.setAuthorName(updateBatchLiteratureDTO.getAuthorName());
- //类型
- compareLiterature.setType(1);
- //装载排序
- compareLiterature.setSysOrder(updateBatchLiteratureDTO.getSysOrder());
- //装载公开日
- compareLiterature.setPublicDate(updateBatchLiteratureDTO.getPublicDate());
- //当传id则为更新
- if (updateBatchLiteratureDTO.getId() != null) {
- compareLiterature.setId(updateBatchLiteratureDTO.getId());
- compareLiterature.updateById();
- } else {
- compareLiterature.insert();
- }
- return compareLiterature.getId();
- }
- /**
- * 添加或更新专利文献
- */
- public Integer saveOrUpdatePatent(UpdateBatchLiteraturesDTO updateBatchLiteratureDTO) {
- PersonnelVO personnelVO = new PersonnelVO();
- Integer projectId = updateBatchLiteratureDTO.getProjectId();
- String literatureNo = updateBatchLiteratureDTO.getLiteratureNo();
- Integer id = updateBatchLiteratureDTO.getId();
- try {
- personnelVO = new PersonnelVO();
- personnelVO.setId("1");
- // personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
- } catch (Exception e) {
- throw new UnLoginException("未登录");
- }
- Patent patent = new Patent();
- //判断该专利是否已经作为文献
- if (id != null) {
- id = this.getHaveAddIdByNos(projectId, literatureNo);
- }
- //当id为null时
- else {
- //判断库里是否存在该专利
- try {
- PatentWithIdVO patentWithIdVO = esService.getIdByPatentNo(literatureNo);
- if (patentWithIdVO == null) {
- // 不存在该专利则从数据库获取著录信息并保存
- patent = importSinglePatentService.addSinglePatent(literatureNo);
- } else {
- patent = patentWithIdVO.getPatent();
- }
- } catch (Exception e) {
- }
- }
- CompareLiterature compareLiterature = new CompareLiterature();
- compareLiterature.setCreateId(personnelVO.getId());
- //报告id
- compareLiterature.setProjectId(projectId);
- //文档guid
- compareLiterature.setLiteratureNo(literatureNo);
- //文档名称
- String name = literatureNo;
- if (patent != null) {
- if (patent.getTitle() != null && patent.getTitle().size() != 0) {
- name += "(" + patent.getTitle().get(0).getTextContent() + ")";
- }
- compareLiterature.setAppDate(patent.getAppDate());
- compareLiterature.setPublicDate(patent.getPublicDate());
- }
- compareLiterature.setName(name);
- //描述
- compareLiterature.setDescription(updateBatchLiteratureDTO.getDescription());
- //作者
- String authorName = "";
- if (patent != null && patent.getRightHolder() != null && patent.getRightHolder().size() > 0) {
- authorName = patent.getRightHolder().get(0).getName();
- }
- compareLiterature.setAuthorName(authorName);
- //类型
- compareLiterature.setType(0);
- //装载排序
- compareLiterature.setSysOrder(updateBatchLiteratureDTO.getSysOrder());
- //当传id则为更新
- if (id != null) {
- compareLiterature.setId(updateBatchLiteratureDTO.getId());
- compareLiterature.updateById();
- } else {
- compareLiterature.insert();
- }
- return compareLiterature.getId();
- }
- /**
- * 根据号码判断是否被加入过
- *
- * @param projectId
- * @param nos
- * @return
- */
- public Integer getHaveAddIdByNos(Integer projectId, String nos) {
- LambdaQueryWrapper<CompareLiterature> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(CompareLiterature::getLiteratureNo, nos)
- .eq(CompareLiterature::getProjectId, projectId);
- CompareLiterature compareLiterature = this.getOne(queryWrapper, false);
- if (compareLiterature != null) {
- return compareLiterature.getId();
- }
- return null;
- }
- public Boolean deleteCompareLiterature(List<Integer> ids) {
- if (ids == null || ids.size() <= 0) {
- throw new XiaoShiException("请选择对比文献");
- }
- return this.removeBatchByIds(ids);
- }
- public List<CompareLiteratureVO> getByIds(List<Integer> ids) {
- LambdaQueryWrapper<CompareLiterature> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.in(CompareLiterature::getId, ids)
- .orderByAsc(CompareLiterature::getSysOrder);
- List<CompareLiterature> compareLiteratures = this.list(queryWrapper);
- List<CompareLiteratureVO> compareLiteratureVOS = this.loadBaseMessage(compareLiteratures);
- return compareLiteratureVOS;
- }
- public List<CompareLiteratureVO> loadBaseMessage(List<CompareLiterature> compareLiteratures) {
- //查询标的专利号
- List<CompareLiteratureVO> compareLiteratureVOS = new ArrayList<>();
- //非专利文献列表
- List<String> guids = compareLiteratures.stream().filter(item -> item.getType().equals(1)).map(CompareLiterature::getLiteratureNo).collect(Collectors.toList());
- //专利文献列表
- List<String> patentNos = compareLiteratures.stream().filter(item -> item.getType().equals(0)).map(CompareLiterature::getLiteratureNo).collect(Collectors.toList());
- List<Patent> patentList = new ArrayList<>();
- if (patentNos.size() > 0) {
- try {
- patentList = esPatentService.getPatentsByNo(patentNos, false, null, null);
- } catch (Exception e) {
- throw new XiaoShiException("装载文献信息失败");
- }
- }
- //查询文件
- List<SystemFile> systemFiles = new ArrayList<>();
- //查询文件
- if (guids.size() != 0) {
- try {
- String res = fileManagerService.getSystemFileFromFMS(guids);
- if (res != null && !res.trim().equals("")) {
- systemFiles = JSONObject.parseArray(res, SystemFile.class);
- }
- } catch (Exception e) {
- throw new XiaoShiException("装载错误");
- }
- }
- for (CompareLiterature compareLiterature : compareLiteratures) {
- Integer id = compareLiterature.getId();
- String literatureNo = compareLiterature.getLiteratureNo();
- Date publicDate = compareLiterature.getPublicDate();
- CompareLiteratureVO compareLiteratureVO = new CompareLiteratureVO();
- BeanUtils.copyProperties(compareLiterature, compareLiteratureVO);
- //当为专利文献时
- if (compareLiterature.getType().equals(0)) {
- compareLiteratureVO.setFitType(0);
- if (patentList.size() > 0) {
- Patent patent = patentList.stream()
- .filter(item -> literatureNo.equals(item.getAppNo())
- || literatureNo.equals(item.getPublicNo()) ||
- literatureNo.equals(item.getGrantNo())).findFirst().orElse(null);
- if (patent != null) {
- compareLiteratureVO.setAppNo(patent.getAppNo());
- compareLiteratureVO.setAppDate(patent.getAppDate());
- compareLiteratureVO.setPublicDate(patent.getPublicDate());
- compareLiteratureVO.setPublicNo(patent.getPublicNo());
- compareLiteratureVO.setGrantDate(patent.getGrantDate());
- compareLiteratureVO.setGrantNo(patent.getGrantNo());
- }
- }
- }
- //非专利文献
- else {
- //装载文件
- if (literatureNo != null && systemFiles != null && systemFiles.size() != 0) {
- SystemFile systemFile = systemFiles.stream().filter(item -> item.getGuid().equals(literatureNo)).findFirst().orElse(null);
- if (systemFile != null) {
- compareLiteratureVO.setSystemFile(systemFile);
- }
- }
- }
- compareLiteratureVOS.add(compareLiteratureVO);
- }
- return compareLiteratureVOS;
- }
- public Boolean copyCompareLiterature(Integer copiedProjectId, Integer projectId) {
- //根据报告id获得对比文件列表
- LambdaQueryWrapper<CompareLiterature> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(CompareLiterature::getProjectId, copiedProjectId);
- List<CompareLiterature> compareFilesList = this.list(wrapper);
- if (compareFilesList.size() != 0) {
- for (CompareLiterature compareFile : compareFilesList) {
- compareFile.setId(null);
- compareFile.setProjectId(projectId);
- }
- return this.saveBatch(compareFilesList);
- }
- return true;
- }
- }
|