Browse Source

Merge remote-tracking branch 'origin/dev2' into dev2

lwhhszx 2 years ago
parent
commit
4107cc6ad2

+ 33 - 29
RMS/src/main/java/cn/cslg/report/service/business/CompareFilesService.java

@@ -635,30 +635,34 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
      * @throws IOException
      * @function 根据PatentVO里的条件(分页)模糊查询标的专利号和数量
      */
-    public Integer addSingle(Integer reportId, String patentNo,String name) throws IOException {
+    public Integer addSingle(Integer reportId, String patentNo, String name) throws IOException {
+        //先查询,若没有才去入库
+        List<CompareFiles> compareFiless = this.list(new LambdaQueryWrapper<CompareFiles>().eq(CompareFiles::getReportId, reportId).eq(CompareFiles::getPatentNo, patentNo));
         CompareFiles compareFiles = new CompareFiles();
-        try {
-            compareFiles.setPatentNo(patentNo);
-            List<CompareFiles> proofList = this.list(new LambdaQueryWrapper<CompareFiles>().eq(CompareFiles::getReportId, reportId).orderByDesc(CompareFiles::getSysOrder).last("limit 1"));
-            Integer biggestSort;
-            //若该报告目前没有证据,则最大排序序号设为0;若有则最大排序序号就是当前按序号倒序的第一个证据的排序序号
-            if (proofList == null || proofList.size() == 0) {
-                biggestSort = 0;
-            } else {
-                if (proofList.get(0).getSysOrder() == null) {
+        if (compareFiless == null || compareFiless.size() == 0) {
+            try {
+                compareFiles.setPatentNo(patentNo);
+                List<CompareFiles> proofList = this.list(new LambdaQueryWrapper<CompareFiles>().eq(CompareFiles::getReportId, reportId).orderByDesc(CompareFiles::getSysOrder).last("limit 1"));
+                Integer biggestSort;
+                //若该报告目前没有证据,则最大排序序号设为0;若有则最大排序序号就是当前按序号倒序的第一个证据的排序序号
+                if (proofList == null || proofList.size() == 0) {
                     biggestSort = 0;
                 } else {
-                    biggestSort = proofList.get(0).getSysOrder();
-                }
+                    if (proofList.get(0).getSysOrder() == null) {
+                        biggestSort = 0;
+                    } else {
+                        biggestSort = proofList.get(0).getSysOrder();
+                    }
 
+                }
+                compareFiles.setSysOrder(++biggestSort);
+                compareFiles.setFileType(1);
+                compareFiles.setReportId(reportId);
+                compareFiles.setFileName(patentNo + "(" + name + ")");
+                compareFiles.insert();
+            } catch (Exception e) {
+                return -1;
             }
-            compareFiles.setSysOrder(++biggestSort);
-            compareFiles.setFileType(1);
-            compareFiles.setReportId(reportId);
-            compareFiles.setFileName(patentNo+"("+name+")");
-            compareFiles.insert();
-        } catch (Exception e) {
-            return -1;
         }
         return compareFiles.getId();
     }
@@ -693,22 +697,22 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
     private List<ProofVO> loadProof(List<CompareFiles> proofs) {
         List<ProofVO> proofVOS = new ArrayList<>();
         //筛选出文件id
-       List<Integer> fileId = proofs.stream().filter(item->item.getFileType().equals(2)).map(CompareFiles::getFileId).collect(Collectors.toList());
-       //根据文件id获得所有的文件
-        List<ReportFiles> reportFiles =new ArrayList<>();
-        if(fileId.size()!=0){
-            LambdaQueryWrapper<ReportFiles> reportFilesLambdaQueryWrapper =new LambdaQueryWrapper<>();
-            reportFilesLambdaQueryWrapper.in(ReportFiles::getId,fileId);
-          reportFiles =  reportFileService.list(reportFilesLambdaQueryWrapper);
-        }
-        List<ReportFiles> reportFile =reportFiles;
+        List<Integer> fileId = proofs.stream().filter(item -> item.getFileType().equals(2)).map(CompareFiles::getFileId).collect(Collectors.toList());
+        //根据文件id获得所有的文件
+        List<ReportFiles> reportFiles = new ArrayList<>();
+        if (fileId.size() != 0) {
+            LambdaQueryWrapper<ReportFiles> reportFilesLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            reportFilesLambdaQueryWrapper.in(ReportFiles::getId, fileId);
+            reportFiles = reportFileService.list(reportFilesLambdaQueryWrapper);
+        }
+        List<ReportFiles> reportFile = reportFiles;
         proofs.forEach(item -> {
             ProofVO proofVO = new ProofVO();
             if (item.getFileType().equals(1)) {
                 proofVO.setProofType("专利文献");
                 proofVO.setProofConditions(item.getPatentNo());
             } else if (item.getFileType().equals(2)) {
-            ReportFiles reportFiles1 =    reportFile.stream().filter(tem->tem.getId().equals(item.getFileId())).findFirst().orElse(null);
+                ReportFiles reportFiles1 = reportFile.stream().filter(tem -> tem.getId().equals(item.getFileId())).findFirst().orElse(null);
                 proofVO.setProofConditions(reportFiles1.getUrl());
                 proofVO.setProofType("非专利文献");
             }