xiexiang 1 年之前
父节点
当前提交
08fa915206
共有 1 个文件被更改,包括 40 次插入37 次删除
  1. 40 37
      src/main/java/cn/cslg/pas/service/business/FTOCompareRecordService.java

+ 40 - 37
src/main/java/cn/cslg/pas/service/business/FTOCompareRecordService.java

@@ -744,24 +744,26 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
         tortCompareRecordVO.setProjectId(projectId);
         //根据报告id,专利号,ifFinal为true,createTime为最新的查询一条最新的结果
         Integer taskId = this.getLastTaskId(projectId, patentNo);
-        List<FTOCompareRecord> lastFTORecords = this.getLastFTORecord(projectId, patentNo, taskId);
-        //根据专利号查询权要
-        try {
-            List<PatentRightVo> patentRightVos = new ArrayList<>();
-            List<RePatentClaim> patentRights = featureService.getRightListByNo(patentNo);
-            LambdaQueryWrapper<Feature> wrapper = new LambdaQueryWrapper<>();
-            wrapper.eq(Feature::getProjectTaskId, taskId)
-                    .eq(Feature::getPatentNo, patentNo);
-            List<Feature> allFeatures = featureService.list(wrapper);
-            patentRightVos = featureService.loadPatentRightVO(patentRights, allFeatures, projectId, patentNo);
-            //装载权要层下的特征与对比结果
-            List<TortRightVO> tortRightVOS = new ArrayList<>();
-            tortRightVOS = this.loadLastRecord(lastFTORecords, patentRightVos);
-            tortCompareRecordVO.setTortRightVOS(tortRightVOS);
-            return tortCompareRecordVO;
-        } catch (Exception e) {
-            throw new XiaoShiException("根据专利号查询权要失败");
+        if (taskId != null) {
+            List<FTOCompareRecord> lastFTORecords = this.getLastFTORecord(projectId, patentNo, taskId);
+            //根据专利号查询权要
+            try {
+                List<PatentRightVo> patentRightVos = new ArrayList<>();
+                List<RePatentClaim> patentRights = featureService.getRightListByNo(patentNo);
+                LambdaQueryWrapper<Feature> wrapper = new LambdaQueryWrapper<>();
+                wrapper.eq(Feature::getProjectTaskId, taskId)
+                        .eq(Feature::getPatentNo, patentNo);
+                List<Feature> allFeatures = featureService.list(wrapper);
+                patentRightVos = featureService.loadPatentRightVO(patentRights, allFeatures, projectId, patentNo);
+                //装载权要层下的特征与对比结果
+                List<TortRightVO> tortRightVOS = new ArrayList<>();
+                tortRightVOS = this.loadLastRecord(lastFTORecords, patentRightVos);
+                tortCompareRecordVO.setTortRightVOS(tortRightVOS);
+            } catch (Exception e) {
+                throw new XiaoShiException("根据专利号查询权要失败");
+            }
         }
+        return tortCompareRecordVO;
     }
 
     /**
@@ -854,24 +856,27 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
             patentNos.forEach(patentNo -> {
                 //根据报告id和专利号查询最新的对比结果的任务id
                 Integer lastTaskId = this.getLastTaskId(projectId, patentNo);
-                //根据projectId lastTaskId patentNo查询最新的对比结果集合并复制
-                List<FTOCompareRecord> ftoCompareRecords1 = this.getLastFTORecord(projectId, patentNo, lastTaskId);
-                if (!ftoCompareRecords1.isEmpty()) {
-                    List<FTOCompareRecord> newTorts = new ArrayList<>();
-                    ftoCompareRecords1.forEach(item -> {
-                        FTOCompareRecord newTort = new FTOCompareRecord();
-                        newTort.setCompareResult(item.getCompareResult());
-                        newTort.setCompareDescription(item.getCompareDescription());
-                        newTort.setProjectId(projectId);
-                        newTort.setProjectTaskId(taskId);
-                        newTort.setFeatureId(item.getFeatureId());
-                        newTort.setTargetDescription(item.getTargetDescription());
-                        newTort.setIfOriginal(true);
-                        newTort.setIfFinal(false);
-                        newTort.setCreateId(createId);
-                        newTorts.add(newTort);
-                    });
-                    this.saveBatch(newTorts);
+                if (lastTaskId != null) {
+                    //根据projectId lastTaskId patentNo查询最新的对比结果集合并复制
+                    List<FTOCompareRecord> ftoCompareRecords1 = this.getLastFTORecord(projectId, patentNo, lastTaskId);
+                    if (!ftoCompareRecords1.isEmpty()) {
+                        List<FTOCompareRecord> newTorts = new ArrayList<>();
+                        ftoCompareRecords1.forEach(item -> {
+                            FTOCompareRecord newTort = new FTOCompareRecord();
+                            newTort.setCompareResult(item.getCompareResult());
+                            newTort.setCompareDescription(item.getCompareDescription());
+                            newTort.setCompareFileNumber(patentNo);
+                            newTort.setProjectId(projectId);
+                            newTort.setProjectTaskId(taskId);
+                            newTort.setFeatureId(item.getFeatureId());
+                            newTort.setTargetDescription(item.getTargetDescription());
+                            newTort.setIfOriginal(true);
+                            newTort.setIfFinal(false);
+                            newTort.setCreateId(createId);
+                            newTorts.add(newTort);
+                        });
+                        this.saveBatch(newTorts);
+                    }
                 }
             });
         } else {
@@ -898,8 +903,6 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
         Integer lastTaskId = null;
         if (!ftoCompareRecords.isEmpty()) {
             lastTaskId = ftoCompareRecords.get(0).getProjectTaskId();
-        } else {
-            throw new XiaoShiException("查询错误");
         }
         return lastTaskId;
     }