|
@@ -10,16 +10,20 @@ 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.NoveltyProjectVO.NoveltyCompareRecordVO;
|
|
|
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.business.novelty.NoveltyCompareLiterature;
|
|
|
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.mapper.novelty.NoveltyCompareLiteratureMapper;
|
|
|
import cn.cslg.pas.service.business.es.EsPatentService;
|
|
|
+import cn.cslg.pas.service.business.es.EsScratchWordsService;
|
|
|
import cn.cslg.pas.service.business.es.EsService;
|
|
|
import cn.cslg.pas.service.common.FileManagerService;
|
|
|
import cn.cslg.pas.service.common.MessageService;
|
|
@@ -69,13 +73,16 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
|
|
|
@Autowired
|
|
|
private ImportSinglePatentService importSinglePatentService;
|
|
|
-
|
|
|
+ @Autowired
|
|
|
+ private EsScratchWordsService esScratchWordsService;
|
|
|
@Autowired
|
|
|
private EsService esService;
|
|
|
@Autowired
|
|
|
private MessageService messageService;
|
|
|
@Autowired
|
|
|
private CompareLiteratureMapper compareLiteratureMapper;
|
|
|
+ @Autowired
|
|
|
+ private NoveltyCompareLiteratureMapper noveltyCompareLiteratureMapper;
|
|
|
|
|
|
//添加专利对比文献
|
|
|
public Integer addPatentCompareLiterature(Patent patent, Integer projectId, String createId) {
|
|
@@ -173,7 +180,7 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
}
|
|
|
|
|
|
//查询对比文献
|
|
|
- public Records queryCompareLiterature(LiteratureQueryDTO literatureQueryDTO) {
|
|
|
+ public Records queryCompareLiterature(LiteratureQueryDTO literatureQueryDTO) throws Exception {
|
|
|
Integer projectId = literatureQueryDTO.getProjectId();
|
|
|
Records records = new Records();
|
|
|
//根据对比projectId 查询对比文献
|
|
@@ -200,13 +207,35 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
ReportProject reportProject = reportProjectService.getOne(wrapper);
|
|
|
|
|
|
compareLiteratureVOS = this.loadCompareLiterature(compareLiteratures, reportProject);
|
|
|
- //装载不同的类型的对比文献
|
|
|
+ //装载查新对比文件和标注
|
|
|
+ this.loadCompareLiteratureVOS(compareLiteratureVOS,projectId);
|
|
|
|
|
|
records.setData(compareLiteratureVOS);
|
|
|
|
|
|
return records;
|
|
|
}
|
|
|
|
|
|
+ public void loadCompareLiteratureVOS(List<CompareLiteratureVO> compareLiteratureVOS, Integer projectId) throws Exception {
|
|
|
+ if (!CollectionUtils.isEmpty(compareLiteratureVOS)) {
|
|
|
+ List<Integer> literatureIds = new ArrayList<>();
|
|
|
+ compareLiteratureVOS.forEach(item -> {
|
|
|
+ literatureIds.add(item.getId());
|
|
|
+ });
|
|
|
+ List<NoveltyCompareRecordVO> recordVOS = esScratchWordsService.queryNoveltyRecord(projectId, 1);
|
|
|
+ List<NoveltyCompareLiterature> noveltyCompareLiteratureList = noveltyCompareLiteratureMapper.selectList(new LambdaQueryWrapper<NoveltyCompareLiterature>()
|
|
|
+ .in(NoveltyCompareLiterature::getCompareLitertureId, literatureIds));
|
|
|
+ for (CompareLiteratureVO literatureVO : compareLiteratureVOS) {
|
|
|
+ NoveltyCompareLiterature noveltyCompareLiterature = noveltyCompareLiteratureList.stream().filter(i -> literatureVO.getId().equals(i.getCompareLitertureId())).findFirst().orElse(new NoveltyCompareLiterature());
|
|
|
+ BeanUtils.copyProperties(noveltyCompareLiterature, literatureVO);
|
|
|
+ literatureVO.setCompareFileId(noveltyCompareLiterature.getId());
|
|
|
+ literatureVO.setFileRemark(noveltyCompareLiterature.getRemark());
|
|
|
+ if (CollectionUtils.isEmpty(recordVOS)) {
|
|
|
+ NoveltyCompareRecordVO recordVO = recordVOS.stream().filter(i -> i.getPatentNo().equals(literatureVO.getLiteratureNo())).findFirst().orElse(new NoveltyCompareRecordVO());
|
|
|
+ literatureVO.setNoveltyCompareRecordVO(recordVO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
public List<CompareLiteratureVO> loadCompareLiterature(List<CompareLiterature> compareLiteratures, ReportProject reportProject) {
|
|
|
String signPatentNo = reportProject.getSignPatentNo();
|