|
@@ -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;
|
|
|
}
|