|
@@ -88,19 +88,28 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
|
|
|
List<CompareScenarios> compareScenarios = compareScenariosService.list(queryWrapper);
|
|
|
List<Integer> scenarioIds = compareScenarios.stream().map(CompareScenarios::getId).collect(Collectors.toList());
|
|
|
//根据对比方案Id 从关联表里获得对比记录特征关联ID
|
|
|
- LambdaQueryWrapper<AssoScenarIOS> queryRecordsByIDs = new LambdaQueryWrapper<>();
|
|
|
- queryRecordsByIDs.in(AssoScenarIOS::getScenariosID, scenarioIds);
|
|
|
- List<AssoScenarIOS> scenariosRecords = scenariosRecordsService.list(queryRecordsByIDs);
|
|
|
+ List<AssoScenarIOS> scenariosRecords =new ArrayList<>();
|
|
|
+ if(scenarioIds!=null&&scenarioIds.size()!=0) {
|
|
|
+ LambdaQueryWrapper<AssoScenarIOS> queryRecordsByIDs = new LambdaQueryWrapper<>();
|
|
|
+ queryRecordsByIDs.in(AssoScenarIOS::getScenariosID, scenarioIds);
|
|
|
+ scenariosRecords = scenariosRecordsService.list(queryRecordsByIDs);
|
|
|
+ }
|
|
|
+
|
|
|
List<Integer> recordfeatureRecordIds = scenariosRecords.stream().map(AssoScenarIOS::getFeatureRecordID).collect(Collectors.toList());
|
|
|
//根据关联ID查出报告Id和特征Id
|
|
|
+ List<AssoRecordsFeature> assoRecordsFeatures =new ArrayList<>();
|
|
|
+ if(recordfeatureRecordIds!=null&&recordfeatureRecordIds.size()!=0){
|
|
|
LambdaQueryWrapper<AssoRecordsFeature> wrapper =new LambdaQueryWrapper<>();
|
|
|
wrapper.in(AssoRecordsFeature::getId,recordfeatureRecordIds);
|
|
|
- List<AssoRecordsFeature> assoRecordsFeatures =assoRecordsFeatureService.list(wrapper);
|
|
|
+ assoRecordsFeatures =assoRecordsFeatureService.list(wrapper);}
|
|
|
+ List<AssoRecordsFeature> finalAsso =assoRecordsFeatures;
|
|
|
List<Integer> recordIds =assoRecordsFeatures.stream().map(AssoRecordsFeature::getRecordsId).collect(Collectors.toList());
|
|
|
//根据对比记录ID查询对比记录
|
|
|
+ List<CompareRecords> compareRecords =new ArrayList<>();
|
|
|
+ if(recordIds!=null&&recordIds.size()!=0){
|
|
|
LambdaQueryWrapper<CompareRecords> queryPatentByIDs = new LambdaQueryWrapper<>();
|
|
|
- queryPatentByIDs.in(CompareRecords::getId, recordIds);
|
|
|
- List<CompareRecords> compareRecords = compareRecordsService.list(queryPatentByIDs);
|
|
|
+ queryPatentByIDs.in(CompareRecords::getId,recordIds);
|
|
|
+ compareRecords = compareRecordsService.list(queryPatentByIDs);}
|
|
|
//根据对比记录ID获得专利号
|
|
|
List<String> PatentNos = compareRecords.stream().map(CompareRecords::getPatentNo).collect(Collectors.toList());
|
|
|
PatentVO patentVO = new PatentVO();
|
|
@@ -153,6 +162,8 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
|
|
|
//获得单个对比方案的权要的所有特征
|
|
|
List<Features> partFeatures = allFeatures.stream().filter(item -> partFetIds.contains(item.getId())).collect(Collectors.toList());
|
|
|
List<CompareRecords> records = compareRecords.stream().filter(item -> partRecordIds.contains(item.getId())).collect(Collectors.toList());
|
|
|
+ //获得单条权要所有的特征
|
|
|
+ List<Features> allRightFeatures =allFeatures.stream().filter(item ->item.getRightId().equals(item1.getRightId())).collect(Collectors.toList());
|
|
|
//存放单条对比结果的map
|
|
|
Map<String, Object> temMap = new HashMap<>();
|
|
|
if (partFeatures.get(0).getRightType().equals(1)) {
|
|
@@ -171,10 +182,22 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
|
|
|
partFeatures.forEach(tem -> {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("featureContent", tem.getContent());
|
|
|
- AssoRecordsFeature assoRecordsFeature = assoRecordsFeatures.stream().filter(item -> item.getFeatureId().equals(tem.getId())).findFirst().orElse(new AssoRecordsFeature());
|
|
|
+ AssoRecordsFeature assoRecordsFeature = finalAsso.stream().filter(item -> item.getFeatureId().equals(tem.getId())).findFirst().orElse(new AssoRecordsFeature());
|
|
|
map.put("compareResult", assoRecordsFeature.getComResult()!=null?assoRecordsFeature.getComResult():"");
|
|
|
CompareRecords record = records.stream().filter(item -> item.getId().equals(assoRecordsFeature.getRecordsId())).findFirst().orElse(new CompareRecords());
|
|
|
- map.put("compareContent", record.getContent()!=null?record.getContent():"");
|
|
|
+ String compareContent ="";
|
|
|
+ //获取对比内容
|
|
|
+ String content = record.getContent()!=null?record.getContent():"";
|
|
|
+ //获得对比专利号
|
|
|
+ String patentNo =record.getPatentNo()!=null?record.getPatentNo():"";
|
|
|
+ if (OtherName.containsKey(patentNo)) {
|
|
|
+ patentNo = OtherName.get(patentNo).toString();
|
|
|
+ }
|
|
|
+ //获得解析过程
|
|
|
+ String paresingProcess =record.getParesingProcess()!=null?record.getParesingProcess():"";
|
|
|
+ compareContent =patentNo+":"+content+"("+paresingProcess+")";
|
|
|
+ //获取对比专利号
|
|
|
+ map.put("compareContent", compareContent);
|
|
|
maps.add(map);
|
|
|
});
|
|
|
//方案内容
|
|
@@ -193,12 +216,12 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
|
|
|
patentNOs.forEach(
|
|
|
item -> {
|
|
|
List<Integer> temRecordIds = records.stream().filter(tm -> tm.getPatentNo().equals(item)).map(CompareRecords::getId).collect(Collectors.toList());
|
|
|
- List<Integer> temFIds = assoRecordsFeatures.stream().filter(tm -> temRecordIds.contains(tm.getRecordsId())).map(AssoRecordsFeature::getFeatureId).collect(Collectors.toList());
|
|
|
+ List<Integer> temFIds = finalAsso.stream().filter(tm -> temRecordIds.contains(tm.getRecordsId())).map(AssoRecordsFeature::getFeatureId).collect(Collectors.toList());
|
|
|
String tmName = item;
|
|
|
if (OtherName.containsKey(item)) {
|
|
|
tmName = OtherName.get(item).toString();
|
|
|
}
|
|
|
- if (temFIds.size() == partFeatures.size()) {
|
|
|
+ if (temFIds.size() == allRightFeatures.size()) {
|
|
|
noveltyFiles.add(tmName);
|
|
|
}
|
|
|
}
|
|
@@ -304,7 +327,7 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
|
|
|
reportDocument.setTemplateName(reportTemplate.getTemplateName());
|
|
|
reportDocument.setPersonName(personnelVO.getName());
|
|
|
reportDocument.insert();
|
|
|
- return Response.success();
|
|
|
+ return Response.success(url);
|
|
|
}
|
|
|
|
|
|
}
|