|
@@ -62,6 +62,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
|
|
|
private final ProofStrService assoFeatureProofService;
|
|
|
private final ArgumentsService argumentsService;
|
|
|
private final AssoPositionFeaturesService assoPositionFeaturesService;
|
|
|
+
|
|
|
/**
|
|
|
* @param patentRights(专利权利要求)
|
|
|
* @return List<PatentRight>
|
|
@@ -69,17 +70,22 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
|
|
|
*/
|
|
|
|
|
|
public List<PatentRight> FormatPatentRights(List<PatentRight> patentRights, String patentNo) {
|
|
|
-
|
|
|
-
|
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
|
patentRights.forEach(item -> {
|
|
|
stringBuilder.append(item.getContent());
|
|
|
});
|
|
|
+
|
|
|
+ StringBuilder stringBuilder2 = new StringBuilder();
|
|
|
+ patentRights.forEach(item -> {
|
|
|
+ stringBuilder2.append(item.getContentOut());
|
|
|
+ });
|
|
|
+
|
|
|
PatentRightParams params = new PatentRightParams();
|
|
|
params.setPatentNo(patentNo);
|
|
|
params.setPatentId(-1);
|
|
|
params.setContent(stringBuilder.toString());
|
|
|
- patentRightUtils.formatPatentRight(params);
|
|
|
+ params.setContentOut(stringBuilder2.toString());
|
|
|
+ patentRights = patentRightUtils.formatPatentRight(params);
|
|
|
return patentRights;
|
|
|
}
|
|
|
|
|
@@ -168,14 +174,17 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
|
|
|
List<PatentRight> patentRightsOrgin = JSON.parseArray(jsonObject.getString("data"), PatentRight.class);
|
|
|
//给权要进行格式更改
|
|
|
List<PatentRight> patentRights = FormatPatentRights(patentRightsOrgin, patentNo);
|
|
|
- List<Integer> partRightIds = new ArrayList<>();
|
|
|
+ //List<Integer> partRightIds = new ArrayList<>(); //权要ids
|
|
|
+ List<Integer> partRightSorts = new ArrayList<>(); //权要sorts
|
|
|
List<String> flags = new ArrayList<>();
|
|
|
// 当splitType=0仅拆解主权要
|
|
|
if (splitType.equals(0)) {
|
|
|
- partRightIds = patentRights.stream().filter(item -> item.getType().equals(1)).map(PatentRight::getId).collect(Collectors.toList());
|
|
|
+ //partRightIds = patentRights.stream().filter(item -> item.getType().equals(1)).map(PatentRight::getId).collect(Collectors.toList());
|
|
|
+ partRightSorts = patentRights.stream().filter(item -> item.getType().equals(1)).map(PatentRight::getSort).collect(Collectors.toList());
|
|
|
}// 当splitType=1拆解全部权要
|
|
|
else if (splitType.equals(1)) {
|
|
|
- partRightIds = patentRights.stream().map(PatentRight::getId).collect(Collectors.toList());
|
|
|
+ //partRightIds = patentRights.stream().map(PatentRight::getId).collect(Collectors.toList());
|
|
|
+ partRightSorts = patentRights.stream().map(PatentRight::getSort).collect(Collectors.toList());
|
|
|
}
|
|
|
//当splitBy=0时仅仅根据“,”拆解
|
|
|
if (splitBy == 0) {
|
|
@@ -236,7 +245,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
|
|
|
List<String> contentOuts = Arrays.asList(patentRights.get(i).getContentOut());
|
|
|
List<String> contents = Arrays.asList(patentRights.get(i).getContent());
|
|
|
//如果是需要拆解的权要
|
|
|
- if (partRightIds.contains(patentRights.get(i).getId())) {
|
|
|
+ if (partRightSorts.contains(patentRights.get(i).getSort())) {
|
|
|
//获得权要的译文并且拆解
|
|
|
contentOuts = this.splitStringByFlags(patentRights.get(i).getContentOut(), flags);
|
|
|
//获得权要的原文并且拆解
|
|
@@ -571,6 +580,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
|
|
|
|
|
|
/**
|
|
|
* 添加单个特征
|
|
|
+ *
|
|
|
* @param featuresDTO
|
|
|
* @return
|
|
|
* @throws IOException
|
|
@@ -591,7 +601,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
|
|
|
featuresIn.setFeatureStr(featuresDTO.getContent());
|
|
|
featuresIn.setPosition(featuresDTO.getPosition());
|
|
|
checkReFeaturesDTO.setFeatures(Arrays.asList(featuresIn));
|
|
|
- if(checkReFeaturesDTO.getFeatures().get(0).getPosition()==null) {
|
|
|
+ if (checkReFeaturesDTO.getFeatures().get(0).getPosition() == null) {
|
|
|
//检查权要是否有此特征
|
|
|
checkReFeaturesDTO = this.getFeaturePosition(checkReFeaturesDTO, patentNo);
|
|
|
if (checkReFeaturesDTO == null) {
|
|
@@ -612,7 +622,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
|
|
|
if (featuresList == null || featuresList.size() == 0) {
|
|
|
biggestSort = 1;
|
|
|
} else {
|
|
|
- biggestSort = featuresList.get(0).getFeaturesOrder()+1;
|
|
|
+ biggestSort = featuresList.get(0).getFeaturesOrder() + 1;
|
|
|
}
|
|
|
Features features = new Features();
|
|
|
features.setContent(featuresDTO.getContent());
|
|
@@ -648,15 +658,15 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
|
|
|
}
|
|
|
//获得已经保存的特征
|
|
|
List<QueryAllFeaturesVO> queryAllFeaturesVOS = featureMapper.queryAllFeatures(checkReFeaturesDTO.getReportId(), checkReFeaturesDTO.getRightSort());
|
|
|
- if (indexs.size() == 0||(indexs.size()==1&&indexs.get(0).equals(-1))) {
|
|
|
+ if (indexs.size() == 0 || (indexs.size() == 1 && indexs.get(0).equals(-1))) {
|
|
|
return null;
|
|
|
}
|
|
|
//遍历寻找未选择的特征
|
|
|
- for (Integer item :indexs){
|
|
|
+ for (Integer item : indexs) {
|
|
|
QueryAllFeaturesVO queryAllFeaturesVO = queryAllFeaturesVOS.stream().filter(tem -> tem.getFeatureStr().equals(featureStr) && tem.getPosition().equals(item)).findFirst().orElse(null);
|
|
|
- if (queryAllFeaturesVO == null&&item!=-1) {
|
|
|
+ if (queryAllFeaturesVO == null && item != -1) {
|
|
|
checkReFeaturesDTO.getFeatures().get(0).setPosition(item);
|
|
|
- break ;
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
return checkReFeaturesDTO;
|
|
@@ -676,63 +686,64 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
|
|
|
|
|
|
/**
|
|
|
* 添加单个特征
|
|
|
+ *
|
|
|
* @param featuresDTO
|
|
|
* @return
|
|
|
* @throws IOException
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public String deleteSingleFeature(Integer featureId) throws IOException {
|
|
|
- if(featureId==null){
|
|
|
-return Response.error("请选择特征");
|
|
|
+ if (featureId == null) {
|
|
|
+ return Response.error("请选择特征");
|
|
|
}
|
|
|
//检查陈述意见是否有关联的特征
|
|
|
- LambdaQueryWrapper<Arguments> argumentsWrapper=new LambdaQueryWrapper<>();
|
|
|
- argumentsWrapper.eq(Arguments::getFeatureId,featureId);
|
|
|
- List<Arguments> arguments =argumentsService.list(argumentsWrapper);
|
|
|
- if(arguments.size()>0){
|
|
|
+ LambdaQueryWrapper<Arguments> argumentsWrapper = new LambdaQueryWrapper<>();
|
|
|
+ argumentsWrapper.eq(Arguments::getFeatureId, featureId);
|
|
|
+ List<Arguments> arguments = argumentsService.list(argumentsWrapper);
|
|
|
+ if (arguments.size() > 0) {
|
|
|
return Response.error("此特征和陈述意见有关联");
|
|
|
}
|
|
|
- LambdaQueryWrapper<ProofStr> wrapper =new LambdaQueryWrapper<>();
|
|
|
- wrapper.eq(ProofStr::getFeatureId,featureId);
|
|
|
+ LambdaQueryWrapper<ProofStr> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(ProofStr::getFeatureId, featureId);
|
|
|
assoFeatureProofService.remove(wrapper);
|
|
|
- LambdaQueryWrapper<AssoPositionFeatures> wrapper1 =new LambdaQueryWrapper<>();
|
|
|
- wrapper1.eq(AssoPositionFeatures::getFeaturesID,featureId);
|
|
|
+ LambdaQueryWrapper<AssoPositionFeatures> wrapper1 = new LambdaQueryWrapper<>();
|
|
|
+ wrapper1.eq(AssoPositionFeatures::getFeaturesID, featureId);
|
|
|
assoPositionFeaturesService.remove(wrapper1);
|
|
|
this.removeById(featureId);
|
|
|
return Response.success();
|
|
|
}
|
|
|
|
|
|
- //获得特征列表
|
|
|
- public String getFeatureList(Integer reportId,Integer rightSort){
|
|
|
- List<Map<String,Object>> mapList =new ArrayList<>();
|
|
|
- if(reportId==null||rightSort==null){
|
|
|
+ //获得特征列表
|
|
|
+ public String getFeatureList(Integer reportId, Integer rightSort) {
|
|
|
+ List<Map<String, Object>> mapList = new ArrayList<>();
|
|
|
+ if (reportId == null || rightSort == null) {
|
|
|
return Response.error("请输入报告id和权要序号");
|
|
|
}
|
|
|
- Report report =reportService.getById(reportId);
|
|
|
- LambdaQueryWrapper<Features> queryWrapper =new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(Features::getRightId,rightSort)
|
|
|
- .eq(Features::getReportId,reportId)
|
|
|
- .eq(Features::getSignPatentNo,report.getSignPatentNo())
|
|
|
+ Report report = reportService.getById(reportId);
|
|
|
+ LambdaQueryWrapper<Features> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(Features::getRightId, rightSort)
|
|
|
+ .eq(Features::getReportId, reportId)
|
|
|
+ .eq(Features::getSignPatentNo, report.getSignPatentNo())
|
|
|
.orderByAsc(Features::getFeaturesOrder);
|
|
|
- List<Features> features =this.list(queryWrapper);
|
|
|
+ List<Features> features = this.list(queryWrapper);
|
|
|
//过滤获得特征id
|
|
|
- List<Integer> ids =features.stream().map(Features::getId).collect(Collectors.toList());
|
|
|
- List<AssoPositionFeatures> assoPositionFeatures =new ArrayList<>();
|
|
|
- if(ids.size()>0){
|
|
|
- LambdaQueryWrapper<AssoPositionFeatures> queryWrapper1 =new LambdaQueryWrapper<>();
|
|
|
- queryWrapper1.in(AssoPositionFeatures::getFeaturesID,ids);
|
|
|
- assoPositionFeatures= assoPositionFeaturesService.list(queryWrapper1);
|
|
|
-
|
|
|
- }
|
|
|
- for(Features item:features) {
|
|
|
- AssoPositionFeatures assoPositionFeature = assoPositionFeatures.stream().filter(tem->tem.getFeaturesID().equals(item.getId())).findFirst().orElse(new AssoPositionFeatures());
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("featureId", item.getId());
|
|
|
- map.put("content", item.getContent());
|
|
|
- map.put("featureName", "特征" + item.getFeaturesOrder());
|
|
|
- map.put("position",assoPositionFeature.getPosition());
|
|
|
- mapList.add(map);
|
|
|
- }
|
|
|
+ List<Integer> ids = features.stream().map(Features::getId).collect(Collectors.toList());
|
|
|
+ List<AssoPositionFeatures> assoPositionFeatures = new ArrayList<>();
|
|
|
+ if (ids.size() > 0) {
|
|
|
+ LambdaQueryWrapper<AssoPositionFeatures> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper1.in(AssoPositionFeatures::getFeaturesID, ids);
|
|
|
+ assoPositionFeatures = assoPositionFeaturesService.list(queryWrapper1);
|
|
|
+
|
|
|
+ }
|
|
|
+ for (Features item : features) {
|
|
|
+ AssoPositionFeatures assoPositionFeature = assoPositionFeatures.stream().filter(tem -> tem.getFeaturesID().equals(item.getId())).findFirst().orElse(new AssoPositionFeatures());
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("featureId", item.getId());
|
|
|
+ map.put("content", item.getContent());
|
|
|
+ map.put("featureName", "特征" + item.getFeaturesOrder());
|
|
|
+ map.put("position", assoPositionFeature.getPosition());
|
|
|
+ mapList.add(map);
|
|
|
+ }
|
|
|
|
|
|
return Response.success(mapList);
|
|
|
}
|