|
@@ -168,6 +168,8 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
|
|
|
}
|
|
|
//获得对比记录-特征关联ID
|
|
|
List<Integer> recordfeatureRecordIds = scenariosRecords.stream().map(AssoScenarIOS::getFeatureRecordID).collect(Collectors.toList());
|
|
|
+ //从关联表里获得是公识的特征Id
|
|
|
+ List<Integer> knowedIds= scenariosRecords.stream().map(AssoScenarIOS::getFeaturesID).collect(Collectors.toList());
|
|
|
//根据对比记录-特征关联ID查出对比记录-特征关联信息
|
|
|
List<AssoRecordsFeature> assoRecordsFeatures = new ArrayList<>();
|
|
|
if (recordfeatureRecordIds != null && recordfeatureRecordIds.size() != 0) {
|
|
@@ -180,6 +182,7 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
|
|
|
List<Integer> recordIds = assoRecordsFeatures.stream().map(AssoRecordsFeature::getRecordsId).collect(Collectors.toList());
|
|
|
//从对比记录-特征关联信息里剔出特征Id
|
|
|
List<Integer> sFeatureIds = assoRecordsFeatures.stream().map(AssoRecordsFeature::getFeatureId).collect(Collectors.toList());
|
|
|
+ sFeatureIds.addAll(knowedIds);
|
|
|
//根据特征ID查询出报告所有方案的特征
|
|
|
List<Features> sFeatures = new ArrayList<>();
|
|
|
LambdaQueryWrapper<Features> sFeaturesWrapper = new LambdaQueryWrapper<>();
|
|
@@ -263,7 +266,7 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
|
|
|
List<AssoRecordsFeature> assoRecordsFeatures1 = assoRecordsFeatures.stream().filter(item -> featureRecordsIds.contains(item.getId())).collect(Collectors.toList());
|
|
|
List<Integer> partRecordIds = assoRecordsFeatures1.stream().map(AssoRecordsFeature::getRecordsId).collect(Collectors.toList());
|
|
|
List<Integer> partFetIds = assoRecordsFeatures1.stream().map(AssoRecordsFeature::getFeatureId).collect(Collectors.toList());
|
|
|
- //获得共识特征的ID
|
|
|
+ //获得公识特征的ID
|
|
|
List<Integer> comFetIds = partScenariosRecords.stream().map(AssoScenarIOS::getFeaturesID).collect(Collectors.toList());
|
|
|
partFetIds.addAll(comFetIds);
|
|
|
//获得单个对比方案的权要的所有特征
|
|
@@ -289,35 +292,46 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
|
|
|
//存放对比方案每一个特征记录
|
|
|
List<Map<String, Object>> maps = new ArrayList<>();
|
|
|
partFeatures.forEach(tem -> {
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("featureContent", tem.getContent());
|
|
|
- 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());
|
|
|
- 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()+":";
|
|
|
- }
|
|
|
- else if(!patentNo.equals("")){
|
|
|
- patentNo+=":";
|
|
|
- }
|
|
|
|
|
|
- //获得解析过程
|
|
|
- String paresingProcess = record.getParesingProcess() != null ? "(" + record.getParesingProcess() + ")" : "";
|
|
|
- compareContent = patentNo + content + paresingProcess;
|
|
|
- //获取对比专利号
|
|
|
- map.put("compareContent", compareContent);
|
|
|
- map.put("figure", fileUtils.getSystemPath() + record.getFilePath());
|
|
|
- if (record.getFields() == null && record.getPosition() == null) {
|
|
|
- map.put("position", "");
|
|
|
- } else {
|
|
|
- map.put("position", "\r" + "(" + record.getFields() + "[" + record.getPosition() + "]" + ")");
|
|
|
- }
|
|
|
- maps.add(map);
|
|
|
+ List<AssoRecordsFeature> assoRecordsFeatures2 = assoRecordsFeatures1.stream().filter(item -> item.getFeatureId().equals(tem.getId())).collect(Collectors.toList());
|
|
|
+ if(comFetIds.contains(tem.getId())){
|
|
|
+ Map<String, Object> map = new LinkedHashMap<>();
|
|
|
+ map.put("featureContent", tem.getContent());
|
|
|
+ map.put("compareResult","公识");
|
|
|
+ map.put("compareContent", "");
|
|
|
+ maps.add(map);
|
|
|
+ }
|
|
|
+ for(AssoRecordsFeature assoRecordsFeature :assoRecordsFeatures2){
|
|
|
+ Map<String, Object> map = new LinkedHashMap<>();
|
|
|
+ map.put("featureContent", tem.getContent());
|
|
|
+ map.put("compareResult", assoRecordsFeature.getComResult() != null ? assoRecordsFeature.getComResult() : "不公开");
|
|
|
+ CompareRecords record = records.stream().filter(item -> item.getId().equals(assoRecordsFeature.getRecordsId())).findFirst().orElse(new CompareRecords());
|
|
|
+ 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()+":";
|
|
|
+ }
|
|
|
+ else if(!patentNo.equals("")){
|
|
|
+ patentNo+=":";
|
|
|
+ }
|
|
|
+
|
|
|
+ //获得解析过程
|
|
|
+ String paresingProcess = record.getParesingProcess() != null ? "(" + record.getParesingProcess() + ")" : "";
|
|
|
+ compareContent = patentNo + content + paresingProcess;
|
|
|
+ //获取对比专利号
|
|
|
+ map.put("compareContent", compareContent);
|
|
|
+ map.put("figure", fileUtils.getSystemPath() + record.getFilePath());
|
|
|
+ if (record.getFields() == null && record.getPosition() == null) {
|
|
|
+ map.put("position", "");
|
|
|
+ } else {
|
|
|
+ map.put("position", "\r" + "(" + record.getFields() + "[" + record.getPosition() + "]" + ")");
|
|
|
+ }
|
|
|
+ maps.add(map);
|
|
|
+ }
|
|
|
+
|
|
|
});
|
|
|
//方案内容
|
|
|
temMap.put("fileDetails", maps);
|
|
@@ -369,7 +383,6 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
|
|
|
//创造性
|
|
|
temMap.put("creative", creative);
|
|
|
scenariosMaps.add(temMap);
|
|
|
-
|
|
|
}
|
|
|
List<Map<String, Object>> allRightScenarios = new ArrayList<>();
|
|
|
List<Map<String, Object>> resultMaps = new ArrayList<>();
|
|
@@ -427,7 +440,6 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
|
|
|
return template;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* @param reportId
|
|
|
* @param filePath
|
|
@@ -550,7 +562,7 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
|
|
|
LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
|
|
|
HtmlRenderPolicy htmlRenderPolicy = new HtmlRenderPolicy();
|
|
|
// 将bz设置为行循环绑定的数据源的key,即key是bz的value会在模板中的{{bz}}处进行解析
|
|
|
- Configure configure = Configure.builder().bind("compareMessage", policy).bind("compareMessageVOS", policy).build();
|
|
|
+ Configure configure = Configure.builder().bind("compareMessage", policy).bind("targetDescription", htmlRenderPolicy).build();
|
|
|
XWPFTemplate template = XWPFTemplate.compile(filePath, configure).render(map);
|
|
|
return template;
|
|
|
}
|