zero 1 年之前
父節點
當前提交
7282d45024
共有 1 個文件被更改,包括 113 次插入92 次删除
  1. 113 92
      src/main/java/cn/cslg/pas/service/business/CompareLiteratureService.java

+ 113 - 92
src/main/java/cn/cslg/pas/service/business/CompareLiteratureService.java

@@ -246,41 +246,13 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
     }
     }
 
 
     public List<CompareLiteratureVO> loadCompareLiterature(List<CompareLiterature> compareLiteratures, ReportProject reportProject) {
     public List<CompareLiteratureVO> loadCompareLiterature(List<CompareLiterature> compareLiteratures, ReportProject reportProject) {
-        String signPatentNo = reportProject.getSignPatentNo();
-
-        //查询标的专利号
         List<CompareLiteratureVO> compareLiteratureVOS = new ArrayList<>();
         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<>();
         List<SystemFile> systemFiles = new ArrayList<>();
-
+        //非专利文献列表
+        List<String> guids = compareLiteratures.stream().filter(item -> item.getType().equals(1)).map(CompareLiterature::getLiteratureNo).collect(Collectors.toList());
         //查询文件
         //查询文件
-        if (guids.size() != 0) {
+        if (!CollectionUtils.isEmpty(guids)) {
             try {
             try {
                 String res = fileManagerService.getSystemFileFromFMS(guids);
                 String res = fileManagerService.getSystemFileFromFMS(guids);
                 if (res != null && !res.trim().equals("")) {
                 if (res != null && !res.trim().equals("")) {
@@ -290,82 +262,131 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
                 throw new XiaoShiException("装载错误");
                 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());
-                        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);
+        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);
+                                        }
                                     }
                                     }
                                 }
                                 }
-                            }
 
 
+                            }
                         }
                         }
                     }
                     }
+
                 }
                 }
+                //非专利文献
+                else {
+                    if (signPatent.getAppDate() != null) {
+                        if (publicDate != null) {
+                            if (signPatent.getAppDate().compareTo(publicDate) <= 0) {
+                                compareLiteratureVO.setFitType(0);
+                            } else {
+                                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);
                         }
                         }
                     }
                     }
                 }
                 }
-
-                //装载文件
-                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 {
+            for (CompareLiterature compareLiterature : compareLiteratures) {
+                String literatureNo = compareLiterature.getLiteratureNo();
+                CompareLiteratureVO compareLiteratureVO = new CompareLiteratureVO();
+                BeanUtils.copyProperties(compareLiterature, compareLiteratureVO);
+                //当为专利文献时
+                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);
+                        }
                     }
                     }
                 }
                 }
+                compareLiteratureVOS.add(compareLiteratureVO);
             }
             }
-            compareLiteratureVOS.add(compareLiteratureVO);
         }
         }
 
 
+
         return compareLiteratureVOS;
         return compareLiteratureVOS;
     }
     }