|
@@ -207,46 +207,40 @@ 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());
|
|
|
- if (!ObjectUtils.isEmpty(noveltyCompareLiterature)) {
|
|
|
- literatureVO.setCompareFileId(noveltyCompareLiterature.getId());
|
|
|
- literatureVO.setRetrieveRecordId(noveltyCompareLiterature.getRetrieveRecordId());
|
|
|
- literatureVO.setRelevance(noveltyCompareLiterature.getRelevance());
|
|
|
- literatureVO.setIfEffectinv(noveltyCompareLiterature.getIfEffectinv());
|
|
|
- literatureVO.setFileRemark(noveltyCompareLiterature.getRemark());
|
|
|
- literatureVO.setGeneralRemark(noveltyCompareLiterature.getGeneralRemark());
|
|
|
- literatureVO.setTechnicalPoints(noveltyCompareLiterature.getTechnicalPoints());
|
|
|
- literatureVO.setExcuteCase(noveltyCompareLiterature.getExcuteCase());
|
|
|
- literatureVO.setBeneficialEffect(noveltyCompareLiterature.getBeneficialEffect());
|
|
|
- }
|
|
|
- if (!CollectionUtils.isEmpty(recordVOS)) {
|
|
|
- List<NoveltyCompareRecordVO> collect = recordVOS.stream().filter(i -> i.getPatentNo().equals(literatureVO.getLiteratureNo())).collect(Collectors.toList());
|
|
|
- literatureVO.setNoveltyCompareRecordVOS(collect);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
public List<CompareLiteratureVO> loadCompareLiterature(List<CompareLiterature> compareLiteratures, ReportProject reportProject) throws Exception {
|
|
|
List<CompareLiteratureVO> compareLiteratureVOS = new ArrayList<>();
|
|
|
+ //查询标的专利号
|
|
|
+ String signPatentNo = reportProject.getSignPatentNo();
|
|
|
+
|
|
|
+ //专利文献列表
|
|
|
+ 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<>();
|
|
|
//非专利文献列表
|
|
@@ -262,151 +256,81 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
throw new XiaoShiException("装载错误");
|
|
|
}
|
|
|
}
|
|
|
- if (!ObjectUtils.isEmpty(reportProject)) {
|
|
|
- //查询标的专利号
|
|
|
- String signPatentNo = reportProject.getSignPatentNo();
|
|
|
-
|
|
|
- //专利文献列表
|
|
|
- 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);
|
|
|
-
|
|
|
- for (CompareLiterature compareLiterature : compareLiteratures) {
|
|
|
- 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());
|
|
|
- if (patent.getPublicNo() == null) {
|
|
|
- compareLiteratureVO.setPublicDate(patent.getGrantDate());
|
|
|
- compareLiteratureVO.setPublicNo(patent.getGrantNo());
|
|
|
- } else {
|
|
|
- compareLiteratureVO.setPublicDate(patent.getPublicDate());
|
|
|
- compareLiteratureVO.setPublicNo(patent.getPublicNo());
|
|
|
- }
|
|
|
- compareLiteratureVO.setGrantDate(patent.getGrantDate());
|
|
|
- compareLiteratureVO.setGrantNo(patent.getGrantNo());
|
|
|
- compareLiteratureVO.setApplicant(patent.getApplicant());
|
|
|
- //比较标的专利的申请日和对比专利的公开或者公告日
|
|
|
- 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);
|
|
|
- }
|
|
|
+ for (CompareLiterature compareLiterature : compareLiteratures) {
|
|
|
+ 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());
|
|
|
+ if (patent.getPublicNo() == null) {
|
|
|
+ compareLiteratureVO.setPublicDate(patent.getGrantDate());
|
|
|
+ compareLiteratureVO.setPublicNo(patent.getGrantNo());
|
|
|
+ } else {
|
|
|
+ compareLiteratureVO.setPublicDate(patent.getPublicDate());
|
|
|
+ compareLiteratureVO.setPublicNo(patent.getPublicNo());
|
|
|
+ }
|
|
|
+ compareLiteratureVO.setGrantDate(patent.getGrantDate());
|
|
|
+ compareLiteratureVO.setGrantNo(patent.getGrantNo());
|
|
|
+ compareLiteratureVO.setApplicant(patent.getApplicant());
|
|
|
+ //比较标的专利的申请日和对比专利的公开或者公告日
|
|
|
+ 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);
|
|
|
+
|
|
|
}
|
|
|
- } else {
|
|
|
- List<String> patentNos = compareLiteratures.stream().map(CompareLiterature::getLiteratureNo).collect(Collectors.toList());
|
|
|
- List<Patent> patentList = esPatentService.getPatentsByNo(patentNos, false, null, null);
|
|
|
- for (CompareLiterature compareLiterature : compareLiteratures) {
|
|
|
- String literatureNo = compareLiterature.getLiteratureNo();
|
|
|
- Patent patent = patentList.stream()
|
|
|
- .filter(item -> literatureNo.equals(item.getAppNo())
|
|
|
- || literatureNo.equals(item.getPublicNo()) ||
|
|
|
- literatureNo.equals(item.getGrantNo())).findFirst().orElse(null);
|
|
|
- CompareLiteratureVO compareLiteratureVO = new CompareLiteratureVO();
|
|
|
- BeanUtils.copyProperties(compareLiterature, compareLiteratureVO);
|
|
|
- if (patent != null) {
|
|
|
- compareLiteratureVO.setAppNo(patent.getAppNo());
|
|
|
- compareLiteratureVO.setAppDate(patent.getAppDate());
|
|
|
- if (patent.getPublicNo() == null) {
|
|
|
- compareLiteratureVO.setPublicDate(patent.getGrantDate());
|
|
|
- compareLiteratureVO.setPublicNo(patent.getGrantNo());
|
|
|
- } else {
|
|
|
- compareLiteratureVO.setPublicDate(patent.getPublicDate());
|
|
|
- compareLiteratureVO.setPublicNo(patent.getPublicNo());
|
|
|
+ //非专利文献
|
|
|
+ else {
|
|
|
+ if (signPatent.getAppDate() != null) {
|
|
|
+ if (publicDate != null) {
|
|
|
+ if (signPatent.getAppDate().compareTo(publicDate) <= 0) {
|
|
|
+ compareLiteratureVO.setFitType(0);
|
|
|
+ } else {
|
|
|
+ compareLiteratureVO.setFitType(2);
|
|
|
+ }
|
|
|
}
|
|
|
- compareLiteratureVO.setGrantDate(patent.getGrantDate());
|
|
|
- compareLiteratureVO.setGrantNo(patent.getGrantNo());
|
|
|
- compareLiteratureVO.setApplicant(patent.getApplicant());
|
|
|
}
|
|
|
- //当为专利文献时
|
|
|
- if (compareLiterature.getType().equals(0)) {
|
|
|
- compareLiteratureVO.setFitType(0);
|
|
|
- }
|
|
|
- //非专利文献
|
|
|
- else {
|
|
|
- compareLiteratureVO.setFitType(2);
|
|
|
- //装载文件
|
|
|
- if (literatureNo != null && !CollectionUtils.isEmpty(systemFiles)) {
|
|
|
- SystemFile systemFile = systemFiles.stream().filter(item -> item.getGuid().equals(literatureNo)).findFirst().orElse(null);
|
|
|
- if (systemFile != null) {
|
|
|
- compareLiteratureVO.setSystemFile(systemFile);
|
|
|
- }
|
|
|
+
|
|
|
+ //装载文件
|
|
|
+ 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);
|
|
|
}
|
|
|
+ compareLiteratureVOS.add(compareLiteratureVO);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
return compareLiteratureVOS;
|
|
|
}
|
|
|
|