|
@@ -76,7 +76,6 @@ public class CompareScenariosService extends ServiceImpl<CompareScenariosMapper,
|
|
}
|
|
}
|
|
return Response.success();
|
|
return Response.success();
|
|
}
|
|
}
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* @function:根据报告id查询对比方案
|
|
* @function:根据报告id查询对比方案
|
|
* @param reportID
|
|
* @param reportID
|
|
@@ -89,6 +88,10 @@ public class CompareScenariosService extends ServiceImpl<CompareScenariosMapper,
|
|
LambdaQueryWrapper<CompareScenarios> wrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<CompareScenarios> wrapper = new LambdaQueryWrapper<>();
|
|
wrapper.eq(CompareScenarios::getReportId, reportID);
|
|
wrapper.eq(CompareScenarios::getReportId, reportID);
|
|
List<CompareScenarios> CompareScenarios = this.list(wrapper);
|
|
List<CompareScenarios> CompareScenarios = this.list(wrapper);
|
|
|
|
+ //根据报告ID和权要id获得特征
|
|
|
|
+ LambdaQueryWrapper<Features> featuresWrapper =new LambdaQueryWrapper<>();
|
|
|
|
+ featuresWrapper.eq(Features::getReportId,reportID);
|
|
|
|
+ List<Features> allFeatures =featureService.list(featuresWrapper);
|
|
//遍历对比方案
|
|
//遍历对比方案
|
|
for (CompareScenarios a:CompareScenarios){
|
|
for (CompareScenarios a:CompareScenarios){
|
|
CompareScenariosVO compareScenariosVO=new CompareScenariosVO();
|
|
CompareScenariosVO compareScenariosVO=new CompareScenariosVO();
|
|
@@ -97,12 +100,17 @@ public class CompareScenariosService extends ServiceImpl<CompareScenariosMapper,
|
|
compareScenariosVO.setReportId(a.getReportId());
|
|
compareScenariosVO.setReportId(a.getReportId());
|
|
compareScenariosVO.setSignPatentNo( a.getSignPatentNo());
|
|
compareScenariosVO.setSignPatentNo( a.getSignPatentNo());
|
|
compareScenariosVO.setRight(a.getRightName());
|
|
compareScenariosVO.setRight(a.getRightName());
|
|
|
|
+ compareScenariosVO.setId(a.getId());
|
|
|
|
+ //获得对比方案的特征列表
|
|
|
|
+ List<Features> featuresLists =allFeatures.stream().filter(item->item.getRightId().equals(a.getRightId())).collect(Collectors.toList());
|
|
|
|
+
|
|
//根据对比方案ID获得所有对比方案和对比记录关联信息
|
|
//根据对比方案ID获得所有对比方案和对比记录关联信息
|
|
List<AssoScenarIOS> select = assoScenarIOSService.select(a.getId());
|
|
List<AssoScenarIOS> select = assoScenarIOSService.select(a.getId());
|
|
//获得Id不为0的对比记录和特征关联Id
|
|
//获得Id不为0的对比记录和特征关联Id
|
|
List<Integer> featureRecordIds = select.stream().filter(item->item.getFeatureRecordID()!=0).map(AssoScenarIOS::getFeatureRecordID).collect(Collectors.toList());
|
|
List<Integer> featureRecordIds = select.stream().filter(item->item.getFeatureRecordID()!=0).map(AssoScenarIOS::getFeatureRecordID).collect(Collectors.toList());
|
|
//根据关联Id获得特征Id和对比记录ID
|
|
//根据关联Id获得特征Id和对比记录ID
|
|
List<AssoRecordsFeature> assoRecordsFeatures =new ArrayList<>();
|
|
List<AssoRecordsFeature> assoRecordsFeatures =new ArrayList<>();
|
|
|
|
+ List<AssoRecordsFeature> assoRecordsFeatures1 =new ArrayList<>();
|
|
if(featureRecordIds.size()!=0) {
|
|
if(featureRecordIds.size()!=0) {
|
|
LambdaQueryWrapper<AssoRecordsFeature> wrapper1 = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<AssoRecordsFeature> wrapper1 = new LambdaQueryWrapper<>();
|
|
wrapper1.in(AssoRecordsFeature::getId, featureRecordIds);
|
|
wrapper1.in(AssoRecordsFeature::getId, featureRecordIds);
|
|
@@ -120,17 +128,15 @@ public class CompareScenariosService extends ServiceImpl<CompareScenariosMapper,
|
|
LambdaQueryWrapper<CompareRecords> wrapper3 =new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<CompareRecords> wrapper3 =new LambdaQueryWrapper<>();
|
|
wrapper3.in(CompareRecords::getId,recordId);
|
|
wrapper3.in(CompareRecords::getId,recordId);
|
|
List<CompareRecords> compareRecords =compareRecordsService.list(wrapper3);
|
|
List<CompareRecords> compareRecords =compareRecordsService.list(wrapper3);
|
|
- assoRecordsFeatures.forEach(
|
|
|
|
- item->{
|
|
|
|
- //过滤特征
|
|
|
|
- Features features1 =features.stream().filter(tem->tem.getId().equals(item.getFeatureId())).findFirst().orElse(new Features());
|
|
|
|
- //筛选对比文件
|
|
|
|
- CompareRecords compareRecords1 =compareRecords.stream().filter(tem->tem.getId().equals(item.getRecordsId())).findFirst().orElse(new CompareRecords());
|
|
|
|
- item.setCompareRecords(compareRecords1);
|
|
|
|
- item.setFeatures(features1);
|
|
|
|
- }
|
|
|
|
|
|
|
|
- );
|
|
|
|
|
|
+ for(Features item : featuresLists) {
|
|
|
|
+ AssoRecordsFeature assoRecordsFeature = assoRecordsFeatures.stream().filter(te->te.getFeatureId().equals(item.getId())).findFirst().orElse(new AssoRecordsFeature());
|
|
|
|
+ //筛选对比文件
|
|
|
|
+ CompareRecords compareRecords1 = compareRecords.stream().filter(tem -> tem.getId().equals(assoRecordsFeature.getRecordsId())).findFirst().orElse(new CompareRecords());
|
|
|
|
+ assoRecordsFeature.setCompareRecords(compareRecords1);
|
|
|
|
+ assoRecordsFeature.setFeatures(item);
|
|
|
|
+ assoRecordsFeatures1.add(assoRecordsFeature);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
//过滤拿到特征id
|
|
//过滤拿到特征id
|
|
List<Integer> featuresIds =select.stream().filter(item->item.getFeatureRecordID().equals(0)).map(AssoScenarIOS::getFeaturesID).collect(Collectors.toList());
|
|
List<Integer> featuresIds =select.stream().filter(item->item.getFeatureRecordID().equals(0)).map(AssoScenarIOS::getFeaturesID).collect(Collectors.toList());
|
|
@@ -143,7 +149,7 @@ public class CompareScenariosService extends ServiceImpl<CompareScenariosMapper,
|
|
}
|
|
}
|
|
compareScenariosVO.setFeaturesList(featuresList);
|
|
compareScenariosVO.setFeaturesList(featuresList);
|
|
compareScenariosVO.setFeaturesIDList(featuresIds);
|
|
compareScenariosVO.setFeaturesIDList(featuresIds);
|
|
- compareScenariosVO.setAssoRecordsFeatures(assoRecordsFeatures);
|
|
|
|
|
|
+ compareScenariosVO.setAssoRecordsFeatures(assoRecordsFeatures1);
|
|
list.add(compareScenariosVO);
|
|
list.add(compareScenariosVO);
|
|
}
|
|
}
|
|
return Response.success(list);
|
|
return Response.success(list);
|
|
@@ -161,6 +167,15 @@ public class CompareScenariosService extends ServiceImpl<CompareScenariosMapper,
|
|
queryWrapper.eq(CompareScenarios::getReportId,reportId);
|
|
queryWrapper.eq(CompareScenarios::getReportId,reportId);
|
|
return this.remove(queryWrapper);
|
|
return this.remove(queryWrapper);
|
|
}
|
|
}
|
|
|
|
+ public Boolean deleteById(List<Integer> scenIds)throws IOException{
|
|
|
|
+ List<CompareScenariosVO> list=new ArrayList<>();
|
|
|
|
+ //根据报告ID查询对比方案
|
|
|
|
+ LambdaQueryWrapper<AssoScenarIOS> wrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ wrapper.in(AssoScenarIOS::getScenariosID, scenIds);
|
|
|
|
+ assoScenarIOSService.remove(wrapper);
|
|
|
|
+ Boolean flag =this.removeByIds(scenIds);
|
|
|
|
+ return flag;
|
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|