zero vor 1 Jahr
Ursprung
Commit
d807ec4a65

+ 21 - 4
src/main/java/cn/cslg/pas/service/business/CompareLiteratureService.java

@@ -239,16 +239,13 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
                 }
                 if (!CollectionUtils.isEmpty(recordVOS)) {
                     List<NoveltyCompareRecordVO> collect = recordVOS.stream().filter(i -> i.getPatentNo().equals(literatureVO.getLiteratureNo())).collect(Collectors.toList());
-                    if (CollectionUtils.isEmpty(collect)) {
-                        collect = new ArrayList<>();
-                    }
                     literatureVO.setNoveltyCompareRecordVOS(collect);
                 }
             }
         }
     }
 
-    public List<CompareLiteratureVO> loadCompareLiterature(List<CompareLiterature> compareLiteratures, ReportProject reportProject) {
+    public List<CompareLiteratureVO> loadCompareLiterature(List<CompareLiterature> compareLiteratures, ReportProject reportProject) throws Exception {
         List<CompareLiteratureVO> compareLiteratureVOS = new ArrayList<>();
         //查询文件
         List<SystemFile> systemFiles = new ArrayList<>();
@@ -366,10 +363,30 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
                 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());
+                    }
+                    compareLiteratureVO.setGrantDate(patent.getGrantDate());
+                    compareLiteratureVO.setGrantNo(patent.getGrantNo());
+                    compareLiteratureVO.setApplicant(patent.getApplicant());
+                }
                 //当为专利文献时
                 if (compareLiterature.getType().equals(0)) {
                     compareLiteratureVO.setFitType(0);