chendayu 2 سال پیش
والد
کامیت
95f24765fc
1فایلهای تغییر یافته به همراه61 افزوده شده و 50 حذف شده
  1. 61 50
      RMS/src/main/java/cn/cslg/report/service/business/FeatureService.java

+ 61 - 50
RMS/src/main/java/cn/cslg/report/service/business/FeatureService.java

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