lwhhszx 2 gadi atpakaļ
vecāks
revīzija
3a7692c092
24 mainītis faili ar 188 papildinājumiem un 120 dzēšanām
  1. 2 3
      RMS/src/main/java/cn/cslg/report/common/model/vo/PatentVO.java
  2. 1 0
      RMS/src/main/java/cn/cslg/report/controller/CompareController.java
  3. 9 4
      RMS/src/main/java/cn/cslg/report/controller/CompareFilesController.java
  4. 1 0
      RMS/src/main/java/cn/cslg/report/controller/CompareMessageController.java
  5. 0 5
      RMS/src/main/java/cn/cslg/report/controller/CompareRecordsController.java
  6. 1 1
      RMS/src/main/java/cn/cslg/report/controller/TaskController.java
  7. 2 0
      RMS/src/main/java/cn/cslg/report/mapper/AssoTaskPersonelMapper.java
  8. 55 14
      RMS/src/main/java/cn/cslg/report/service/business/CompareFilesService.java
  9. 1 14
      RMS/src/main/java/cn/cslg/report/service/business/CompareRecordsService.java
  10. 22 3
      RMS/src/main/java/cn/cslg/report/service/business/CompareScenariosService.java
  11. 81 76
      RMS/src/main/java/cn/cslg/report/service/business/FeatureService.java
  12. 13 0
      RMS/src/main/resources/mapper/AssoTaskPersonelMapper.xml
  13. BIN
      RMS/target/classes/cn/cslg/report/common/model/vo/PatentVO.class
  14. BIN
      RMS/target/classes/cn/cslg/report/common/model/vo/TaskVO$personPatents.class
  15. BIN
      RMS/target/classes/cn/cslg/report/common/model/vo/TaskVO.class
  16. BIN
      RMS/target/classes/cn/cslg/report/controller/CompareFilesController.class
  17. BIN
      RMS/target/classes/cn/cslg/report/controller/CompareMessageController.class
  18. BIN
      RMS/target/classes/cn/cslg/report/controller/CompareRecordsController.class
  19. BIN
      RMS/target/classes/cn/cslg/report/controller/TaskController.class
  20. BIN
      RMS/target/classes/cn/cslg/report/mapper/AssoTaskPersonelMapper.class
  21. BIN
      RMS/target/classes/cn/cslg/report/service/business/CompareFilesService.class
  22. BIN
      RMS/target/classes/cn/cslg/report/service/business/CompareRecordsService.class
  23. BIN
      RMS/target/classes/cn/cslg/report/service/business/CompareScenariosService.class
  24. BIN
      RMS/target/classes/cn/cslg/report/service/business/FeatureService.class

+ 2 - 3
RMS/src/main/java/cn/cslg/report/common/model/vo/PatentVO.java

@@ -46,7 +46,8 @@ public class PatentVO extends BaseVO {
     private List<SourceVO> filedOptions;
     @Schema(description = "专题库自定义选项列表")
     private List<SourceVO> PasOptions;
-
+    @Schema(description = "未处理任务类型列表")
+    private List<Integer> notAssignTypes;
     @Schema(description = "任务过滤条件列表")
     private List<taskSource> taskSources;
     //专题库ID
@@ -88,7 +89,5 @@ public class PatentVO extends BaseVO {
         private  List<Integer> taskIds;
         private Integer personId;
         private Integer state;
-
-
     }
 }

+ 1 - 0
RMS/src/main/java/cn/cslg/report/controller/CompareController.java

@@ -72,4 +72,5 @@ public class CompareController {
     public String reTaskStateCount(Integer reportId) throws ParseException, IOException {
         return Response.success(compareFilesService.reTaskStateCount(reportId));
     }
+
 }

+ 9 - 4
RMS/src/main/java/cn/cslg/report/controller/CompareFilesController.java

@@ -2,6 +2,7 @@ package cn.cslg.report.controller;
 
 import cn.cslg.report.common.core.base.Constants;
 
+import cn.cslg.report.common.model.dto.CompareOrderDTO;
 import cn.cslg.report.common.model.vo.PatentIndexSettingVO;
 
 import cn.cslg.report.common.utils.Response;
@@ -46,13 +47,17 @@ public class CompareFilesController {
         return Response.success();
     }
 
-@GetMapping("/order/add")
+@PostMapping("/order/add")
 @Operation(summary = "给对比专利添加顺序")
-public String addOrder(Integer reportId,String pantentNO,Integer order) throws IOException {
-    compareFilesService.addOrder(reportId, pantentNO, order);
+public String addOrder(@RequestBody CompareOrderDTO compareOrderDTO) throws IOException {
+    compareFilesService.addOrder(compareOrderDTO);
     return Response.success();
 }
-
+    @GetMapping("/order/query")
+    @Operation(summary = "查找顺序列表")
+    public String getOrder(Integer reportId) throws IOException {
+        return Response.success(compareFilesService.getOrder(reportId));
+    }
 
 
 }

+ 1 - 0
RMS/src/main/java/cn/cslg/report/controller/CompareMessageController.java

@@ -63,6 +63,7 @@ public class CompareMessageController {
     public String querySynery(Integer taskId,String patentNo) throws IOException {
         return Response.success(compareMessageService.querySynery(taskId,patentNo));
     }
+
     @PostMapping("addSynery")
     @Operation(summary = "添加协同对比记录")
     public String addSynery(@RequestBody AddSyneryVo addSyneryVo) throws IOException {

+ 0 - 5
RMS/src/main/java/cn/cslg/report/controller/CompareRecordsController.java

@@ -54,11 +54,6 @@ public class CompareRecordsController {
       return compareRecordsService.getCompareRecords(compareRecord);
     }
 
-    @GetMapping(value = "/selectOrders")
-    @Operation(summary ="查询顺序列表")
-    public String selectOrders(Integer reportId)throws IOException{
-        return Response.success(compareRecordsService.getOrderLists(reportId));
-    }
     }
 
 

+ 1 - 1
RMS/src/main/java/cn/cslg/report/controller/TaskController.java

@@ -151,7 +151,7 @@ public class TaskController {
 
     @RequestMapping(value = "/getTaskSources", method = RequestMethod.GET)
     @Operation(summary = "获得任务过滤条件列表")
-    public String getTaskSources(Integer reportId) throws ParseException, IOException {
+    public String getTaskSources(Integer reportId) throws  IOException {
         return Response.success(taskService.getTaskSources(reportId));
     }
 }

+ 2 - 0
RMS/src/main/java/cn/cslg/report/mapper/AssoTaskPersonelMapper.java

@@ -1,5 +1,6 @@
 package cn.cslg.report.mapper;
 
+import cn.cslg.report.common.model.vo.PatentVO;
 import cn.cslg.report.entity.asso.AssoTaskPatentSplit;
 import cn.cslg.report.entity.asso.AssoTaskPersonel;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -13,4 +14,5 @@ public interface AssoTaskPersonelMapper extends BaseMapper<AssoTaskPersonel> {
 
   public List<String> getPatentNumber(@Param("personelId")int personelId ,@Param("state")int  state,@Param("taskId")int taskId);
   public AssoTaskPatentSplit getSplitMessage(@Param("patentNo")String patentNo , @Param("taskId") Integer taskId);
+  public List<String> getPatents(@Param("params") List<PatentVO.taskSource> params);
 }

+ 55 - 14
RMS/src/main/java/cn/cslg/report/service/business/CompareFilesService.java

@@ -1,5 +1,6 @@
 package cn.cslg.report.service.business;
 
+import cn.cslg.report.common.model.dto.CompareOrderDTO;
 import cn.cslg.report.common.model.dto.CustomFieldLabelDTO;
 
 import cn.cslg.report.common.model.vo.CompareFilesVO;
@@ -9,6 +10,7 @@ import cn.cslg.report.common.model.vo.PatentVO;
 import cn.cslg.report.common.utils.JsonUtils;
 import cn.cslg.report.common.utils.Response;
 import cn.cslg.report.entity.*;
+import cn.cslg.report.entity.asso.AssoRecordsFeature;
 import cn.cslg.report.entity.asso.AssoTaskPersonel;
 import cn.cslg.report.mapper.CompareFilesMapper;
 import cn.cslg.report.service.OutInterfaceService;
@@ -17,8 +19,10 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import io.swagger.v3.oas.models.security.SecurityScheme;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -42,6 +46,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
     private final ReportFieldPatentLinkService reportFieldPatentLinkService;
     private final TaskService taskService;
     private final AssoTaskPersonelService assoTaskPersonelService;
+    private final CompareRecordsService compareRecordsService;
 
     /**
      * @param compareFilesVO
@@ -214,8 +219,28 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         //有查询条件时,自定义字段的专利号和任务的专利号取交集
         else {
             patentNos = reportFieldService.getPatentNo1(patentVO.getFiledOptions(), patentVO.getReportId(), patentVO.getTaskId(), patentVO.getTaskStatus());
-            patentVO.setPatentNos(patentNos);
         }
+        //如果有任务过滤条件
+        List<String> patentNosTask =new ArrayList<>();
+         if(patentVO.getTaskSources()!=null&&patentVO.getTaskSources().size()!=0)
+         { patentNosTask =assoTaskPersonelService.getBaseMapper().getPatents(patentVO.getTaskSources());
+
+         }
+         List<String> allPatentsCopy =new ArrayList<>();
+         if (patentVO.getNotAssignTypes()!=null&&patentVO.getNotAssignTypes().size()!=0)
+         {
+             allPatentsCopy =new ArrayList<>(AllpatentNos);
+             LambdaQueryWrapper<AssoTaskPersonel> assoWrapper = new LambdaQueryWrapper<>();
+             assoWrapper.eq(AssoTaskPersonel::getReportId,patentVO.getReportId() )
+                     .in(AssoTaskPersonel::getTaskType,patentVO.getNotAssignTypes()) ;
+             List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(assoWrapper);
+             allPatentsCopy.removeAll(assoTaskPersonels);
+         }
+         if((patentVO.getTaskSources()!=null&&patentVO.getTaskSources().size()!=0)||(patentVO.getNotAssignTypes()!=null&&patentVO.getNotAssignTypes().size()!=0))
+         {
+             patentNosTask.addAll(allPatentsCopy);
+             patentNos =  new ArrayList<>(CollectionUtils.intersection(patentNosTask,patentNos));
+         }
         patentVO.setPatentNos(patentNos);
         //详情见outInterfaceService.getPatentFromPAS 接口
         String res = outInterfaceService.getPatentFromPAS(patentVO, 1);
@@ -374,27 +399,43 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         return Response.success();
     }
 
-    public Integer addOrder(Integer reportId, String pantentNO, Integer order) {
+    public Integer addOrder( CompareOrderDTO compareOrderDTO) {
         //根据报告ID 和专利号 查询对比文件
         LambdaQueryWrapper<CompareFiles> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(CompareFiles::getPatentNo, pantentNO)
-                .eq(CompareFiles::getReportId, reportId);
+        wrapper.eq(CompareFiles::getReportId, compareOrderDTO.getReport());
         List<CompareFiles> compareFiles = this.list(wrapper);
         //如果未查到则返回-1
         if (compareFiles.size() == 0) {
             return -1;
         }
         // 判断该顺序是否被使用过
-        LambdaQueryWrapper<CompareFiles> wrapper1 = new LambdaQueryWrapper<>();
-        wrapper1.eq(CompareFiles::getReportId, reportId)
-                .eq(CompareFiles::getSysOrder, order);
-        List<CompareFiles> compareFiles1 = this.list(wrapper1);
-        if (compareFiles1.size() > 0) {
-            return -2;
+      compareFiles.forEach(item->{
+          compareOrderDTO.getOrders().forEach(
+                  item2->{
+                    if(item2.getPatentNO().equals(item.getPatentNo()))
+                    {
+                        item.setSysOrder(item2.getOrder());
+                    }
+                  }
+          );
+      });
+        this.saveOrUpdateBatch(compareFiles);
+        return 1;
+    }
+    public List<Integer> getOrder(Integer reportId) {
+        List<Integer> orders = new ArrayList<>();
+        int i = 1;
+        LambdaQueryWrapper<CompareRecords> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CompareRecords::getReportId, reportId);
+        List<CompareRecords> list = new ArrayList<>();
+        List<CompareRecords> compareRecords = compareRecordsService.list(wrapper);
+        List<String> headerPatentNos = new ArrayList<>();
+        for (CompareRecords records : compareRecords) {
+            if (!headerPatentNos.contains(records.getPatentNo())) {
+                orders.add(i);
+                i++;
+            }
         }
-        CompareFiles compareFile = compareFiles.get(0);
-        compareFile.setSysOrder(order);
-        compareFile.updateById();
-        return compareFile.getId();
+        return orders;
     }
 }

+ 1 - 14
RMS/src/main/java/cn/cslg/report/service/business/CompareRecordsService.java

@@ -213,20 +213,7 @@ public class CompareRecordsService extends ServiceImpl<CompareRecordsMapper, Com
      * @param reportId
      * @return
      */
-   public  List<Integer> getOrderLists(Integer reportId){
-        LambdaQueryWrapper<CompareRecords> wrapper =new LambdaQueryWrapper<>();
-        wrapper.eq(CompareRecords::getReportId,reportId);
-        List<CompareRecords> compareRecords =this.list(wrapper);
-        List<String> headerPatentNos =new ArrayList<>();
-        List<Integer> orders =new ArrayList<>();
-       for (int i=0;i<compareRecords.size();i++) {
-           if(!headerPatentNos.contains(compareRecords.get(i).getPatentNo())){
-               headerPatentNos.add(compareRecords.get(i).getPatentNo());
-               orders.add(i+1);
-           }
-       }
-        return  orders;
-   }
+
 
 
 }

+ 22 - 3
RMS/src/main/java/cn/cslg/report/service/business/CompareScenariosService.java

@@ -133,9 +133,28 @@ public class CompareScenariosService extends ServiceImpl<CompareScenariosMapper,
                 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);
+                //根据对比记录的专利号和内容进行合并操作
+                if(assoRecordsFeatures1.size()!=0){
+                    //获得上一条的记录信息
+                    AssoRecordsFeature assoRecordsFeature2 = assoRecordsFeatures1.get(assoRecordsFeatures1.size()-1);
+                    CompareRecords compareRecords2 =assoRecordsFeature2.getCompareRecords();
+                    //进行合并
+                    if(compareRecords1.getId()!=null&&compareRecords1.getPatentNo().equals(compareRecords2.getPatentNo())
+                            &&compareRecords1.getContent().equals(compareRecords2.getContent()))
+                    {
+               assoRecordsFeature2.getFeatures().setContent(assoRecordsFeature2.getFeatures().getContent()+item.getContent());
+                    }
+                    else{
+                        assoRecordsFeature.setCompareRecords(compareRecords1);
+                        assoRecordsFeature.setFeatures(item);
+                        assoRecordsFeatures1.add(assoRecordsFeature);
+                    }
+                }
+               else {
+                    assoRecordsFeature.setCompareRecords(compareRecords1);
+                    assoRecordsFeature.setFeatures(item);
+                    assoRecordsFeatures1.add(assoRecordsFeature);
+                }
             }
             }
             //过滤拿到特征id

+ 81 - 76
RMS/src/main/java/cn/cslg/report/service/business/FeatureService.java

@@ -46,7 +46,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
     private final AssoTaskPersonelService assoTaskPersonelService;
     private final AssoTaskPatentSplitService assoTaskPatentSplitService;
     private final TaskService taskService;
-    private final  CompareMessageService compareMessageService;
+    private final CompareMessageService compareMessageService;
 
     /**
      * @param patentRights(专利权利要求)
@@ -59,7 +59,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
         for (int i = 0; i < patentRights.size(); i++) {
             String str = patentRights.get(i).getContent();
             str = str.replace(" ", "");
-            str = str.replace("\r","");
+            str = str.replace("\r", "");
             Pattern p = Pattern.compile("^[0-9]+(\\.||'、').*");
             Matcher m = p.matcher(str);
             if (m.matches()) {
@@ -67,8 +67,9 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
             } else {
                 if (retList.size() != 0) {
                     retList.get(retList.size() - 1).setContent(retList.get(retList.size() - 1).getContent() + patentRights.get(i).getContent());
-                    if(patentRights.get(i).getContentOut()!=null){
-                    retList.get(retList.size() - 1).setContentOut(retList.get(retList.size() - 1).getContentOut() + patentRights.get(i).getContentOut());}
+                    if (patentRights.get(i).getContentOut() != null) {
+                        retList.get(retList.size() - 1).setContentOut(retList.get(retList.size() - 1).getContentOut() + patentRights.get(i).getContentOut());
+                    }
                 }
 
             }
@@ -87,13 +88,13 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
      * @throws IOException
      * @function 从PAS系统上获得权要并拆分
      */
-    @Transactional(rollbackFor = Exception.class,timeout = 10)
+    @Transactional(rollbackFor = Exception.class, timeout = 10)
     public String splitPatentRight(SplitVO splitVO) throws IOException {
-        String patentNo =splitVO.getPatentNo();
-        Integer reportId =splitVO.getReportId();
-        Integer splitType =splitVO.getSplitType();
-        Integer splitBy =splitVO.getSplitBy();
-        Integer taskId =splitVO.getTaskId();
+        String patentNo = splitVO.getPatentNo();
+        Integer reportId = splitVO.getReportId();
+        Integer splitType = splitVO.getSplitType();
+        Integer splitBy = splitVO.getSplitBy();
+        Integer taskId = splitVO.getTaskId();
         Integer flag = 0;
         if (splitBy == null) {
             splitBy = 0;
@@ -101,46 +102,43 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
         if (splitType == null) {
             splitType = 0;
         }
-       PersonnelVO personnelVO = cacheUtils.getLoginUser(StpUtil.getLoginIdAsInt());
+        PersonnelVO personnelVO = cacheUtils.getLoginUser(StpUtil.getLoginIdAsInt());
         //如果是FTO报告则 将拆分信息存入
-        if(taskId!=null){
+        if (taskId != null) {
             //根据taskId获得报告ID
-        Task task = taskService.getById(taskId);
-            reportId =task.getReportId();
-                //根据taskId 和专利号找到关联Id
-                LambdaQueryWrapper<AssoTaskPersonel> queryWrapper1 =new LambdaQueryWrapper<>();
-                queryWrapper1.eq(AssoTaskPersonel::getTaskId,taskId)
-                        .eq(AssoTaskPersonel::getPatentNo,patentNo);
-                List<AssoTaskPersonel> assoTaskPersonels= assoTaskPersonelService.list(queryWrapper1);
-                if(assoTaskPersonels!=null&&assoTaskPersonels.size()!=0){
-                    //关联ID
-                    Integer assoId =assoTaskPersonels.get(0).getId();
-                    //根据关联ID 查询任务专利关联信息
-                    LambdaQueryWrapper<AssoTaskPatentSplit> queryWrapper =new LambdaQueryWrapper<>();
-                    queryWrapper.eq(AssoTaskPatentSplit::getTaskPatentId,assoId);
+            Task task = taskService.getById(taskId);
+            reportId = task.getReportId();
+            //根据taskId 和专利号找到关联Id
+            LambdaQueryWrapper<AssoTaskPersonel> queryWrapper1 = new LambdaQueryWrapper<>();
+            queryWrapper1.eq(AssoTaskPersonel::getTaskId, taskId)
+                    .eq(AssoTaskPersonel::getPatentNo, patentNo);
+            List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(queryWrapper1);
+            if (assoTaskPersonels != null && assoTaskPersonels.size() != 0) {
+                //关联ID
+                Integer assoId = assoTaskPersonels.get(0).getId();
+                //根据关联ID 查询任务专利关联信息
+                LambdaQueryWrapper<AssoTaskPatentSplit> queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper.eq(AssoTaskPatentSplit::getTaskPatentId, assoId);
                 List<AssoTaskPatentSplit> assoTaskPatentSplits = assoTaskPatentSplitService.list(queryWrapper);
-                    AssoTaskPatentSplit assoTaskPatentSplit =new AssoTaskPatentSplit();
-                    //如果没查到关联信息代表第一次拆分,新建一条
-                if(assoTaskPatentSplits==null||assoTaskPatentSplits.size()==0){
+                AssoTaskPatentSplit assoTaskPatentSplit = new AssoTaskPatentSplit();
+                //如果没查到关联信息代表第一次拆分,新建一条
+                if (assoTaskPatentSplits == null || assoTaskPatentSplits.size() == 0) {
                     assoTaskPatentSplit.setTaskPatentId(assoId);
                     assoTaskPatentSplit.setSplitBy(splitBy);
                     assoTaskPatentSplit.setSplitType(splitType);
                     assoTaskPatentSplit.insert();
-                    flag =1;
-                }
-                else{
+                    flag = 1;
+                } else {
                     assoTaskPatentSplit = assoTaskPatentSplits.get(0);
-                    if(assoTaskPatentSplit.getSplitBy() != splitBy || assoTaskPatentSplit.getSplitType() != splitType)
-                    {
+                    if (assoTaskPatentSplit.getSplitBy() != splitBy || assoTaskPatentSplit.getSplitType() != splitType) {
                         assoTaskPatentSplit.setSplitBy(splitBy);
                         assoTaskPatentSplit.setSplitType(splitType);
                         assoTaskPatentSplit.updateById();
-                        flag=1;
+                        flag = 1;
                     }
                 }
-                }
-        }
-        else {
+            }
+        } else {
             //根据报告ID查询报告
             LambdaQueryWrapper<Report> queryWrapper = new LambdaQueryWrapper();
             queryWrapper.eq(Report::getId, reportId);
@@ -207,10 +205,10 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
         wrapper.eq(Features::getReportId, reportId)
                 .eq(Features::getSignPatentNo, patentNo);
         wrapper.and(QueryWrapper -> QueryWrapper.ne(Features::getSplitBy, a).or().ne(Features::getSplitType, b));
-        if(taskId!=null){
-            List<Features> features =this.list(wrapper);
-            List<Integer> Ids =features.stream().map(Features::getId).collect(Collectors.toList());
-            if(Ids.size()!=0) {
+        if (taskId != null) {
+            List<Features> features = this.list(wrapper);
+            List<Integer> Ids = features.stream().map(Features::getId).collect(Collectors.toList());
+            if (Ids.size() != 0) {
                 LambdaQueryWrapper<CompareMessage> queryWrapper = new LambdaQueryWrapper<>();
                 queryWrapper.in(CompareMessage::getFeatureId, Ids);
                 compareMessageService.remove(queryWrapper);
@@ -224,7 +222,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
             List<Features> featuresList = new ArrayList<>();
 
             int rightId = patentRights.get(i).getSort();
-            String name = "权要" + (patentRights.get(i).getSort()+1);
+            String name = "权要" + (patentRights.get(i).getSort() + 1);
             //对需要拆解的权要进行拆解
             if (featureFromDb != null && featureFromDb.size() != 0) {
                 featuresList = featureFromDb.stream().filter(item -> item.getRightId().equals(rightId) && item.getSplitBy().equals(a) && item.getPartnerId().equals(personnelVO.getId()) && item.getSplitType().equals(b)).collect(Collectors.toList());
@@ -257,7 +255,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
                     features.setFeaturesOrder(order);
                     features.setRightType(patentRights.get(i).getType());
                     features.setSplitType(splitType);
-                    if(taskId!=null){
+                    if (taskId != null) {
                         features.setTaskId(taskId);
                     }
                     featuresList.add(features);
@@ -281,7 +279,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
         Map<String, Object> map = new HashMap<String, Object>();
         map.put("patentRightVos", patentRightVos);
         map.put("splitBy", splitBy);
-        map.put("splitType",splitType);
+        map.put("splitType", splitType);
         return Response.success(map);
     }
 
@@ -316,7 +314,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
         Features featureTO = new Features();
         featureTO.setReportId(reportId);
         featureTO.setSignPatentNo(patentNo);
-        featureTO.setPartnerIds(Arrays.asList(report.getPersonId(),report.getCreatePersonId()));
+        featureTO.setPartnerIds(Arrays.asList(report.getPersonId(), report.getCreatePersonId()));
 
         //查询数据库里是否有查询记录
         List<Features> featureFromDb = this.queryFeatures(featureTO);
@@ -327,11 +325,11 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
             //对需要拆解的权要进行拆解
             if (featureFromDb != null && featureFromDb.size() != 0) {
                 int rightId = patentRights.get(i).getSort();
-                featuresList = featureFromDb.stream().filter(item -> item.getRightId().equals(rightId) && (item.getPartnerId().equals(report.getPersonId())||item.getPartnerId().equals(report.getCreatePersonId()))).collect(Collectors.toList());
+                featuresList = featureFromDb.stream().filter(item -> item.getRightId().equals(rightId) && (item.getPartnerId().equals(report.getPersonId()) || item.getPartnerId().equals(report.getCreatePersonId()))).collect(Collectors.toList());
             }
             //装载到对象PatentRightVo
             PatentRightVo patentRightVo = new PatentRightVo();
-            String name = "权要" + (patentRights.get(i).getSort()+1);
+            String name = "权要" + (patentRights.get(i).getSort() + 1);
             patentRightVo.setPatentId(patentRights.get(i).getPatentId());
             patentRightVo.setFeatures(featuresList);
             patentRightVo.setContent(patentRights.get(i).getContent());
@@ -362,7 +360,13 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
         for (int i = 0; i < flags.size(); i++) {
             List<String> tem = new ArrayList<>();
             for (int t = 0; t < sectences.size(); t++) {
-                tem.addAll(Arrays.asList(sectences.get(t).split(flags.get(i))));
+                List<String> attrs = Arrays.asList(sectences.get(t).split(flags.get(i)));
+                for (int v = 0; v < attrs.size(); v++) {
+                    if (v < attrs.size() - 1) {
+                        attrs.set(v,attrs.get(v)+flags.get(i));
+                    }
+                    tem.add(attrs.get(v));
+                }
             }
             sectences = tem;
 
@@ -396,7 +400,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
         if (features.getSplitType() != null) {
             lambdaQueryWrapper.eq(Features::getSplitType, features.getSplitType());
         }
-        if(features.getPartnerIds()!=null&&features.getPartnerIds().size()>0){
+        if (features.getPartnerIds() != null && features.getPartnerIds().size() > 0) {
             lambdaQueryWrapper.in(Features::getPartnerId, features.getPartnerIds());
 
         }
@@ -446,7 +450,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
     }
 
 
-    public List<Map<String,Object>> querySimFeaturePatent(PatentVO patentVO) throws IOException {
+    public List<Map<String, Object>> querySimFeaturePatent(PatentVO patentVO) throws IOException {
         //获得当前用户信息
         PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
         //根据报告Id,拆分人Id,标的专利号获得特征。
@@ -457,61 +461,62 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
         LambdaQueryWrapper<Report> lambdaQueryWrapper = new LambdaQueryWrapper<>();
         lambdaQueryWrapper.eq(Report::getId, patentVO.getReportId());
         Report report = reportService.list(lambdaQueryWrapper).get(0);
-       String signPatentNo = report.getSignPatentNo();
+        String signPatentNo = report.getSignPatentNo();
         //获得特征内容
         List<String> contents = features.stream().map(Features::getContent).collect(Collectors.toList());
-        List<Features> featuresList = featureMapper.getSignPatentNo(contents,signPatentNo);
+        List<Features> featuresList = featureMapper.getSignPatentNo(contents, signPatentNo);
         if (featuresList.size() == 0) {
-            return new ArrayList<Map<String,Object>>();
+            return new ArrayList<Map<String, Object>>();
         }
         //根据特征Id 查询 对比记录特征关联信息
-        List<Integer> featureIds =featuresList.stream().map(Features::getId).collect(Collectors.toList());
-        List<AssoRecordsFeature> assoRecordsFeatures =new ArrayList<>();
-        List<CompareRecords> compareRecords  =new ArrayList<>();
-        if(featureIds!=null&featureIds.size()>0) {
+        List<Integer> featureIds = featuresList.stream().map(Features::getId).collect(Collectors.toList());
+        List<AssoRecordsFeature> assoRecordsFeatures = new ArrayList<>();
+        List<CompareRecords> compareRecords = new ArrayList<>();
+        if (featureIds != null & featureIds.size() > 0) {
             LambdaQueryWrapper<AssoRecordsFeature> queryWrapper1 = new LambdaQueryWrapper<>();
             queryWrapper1.in(AssoRecordsFeature::getFeatureId, featureIds);
             assoRecordsFeatures = assoRecordsFeatureService.list(queryWrapper1);
             // 根据关联信息获得对比记录ID
-            List<Integer> recordsId =assoRecordsFeatures.stream().map(AssoRecordsFeature::getRecordsId).collect(Collectors.toList());
+            List<Integer> recordsId = assoRecordsFeatures.stream().map(AssoRecordsFeature::getRecordsId).collect(Collectors.toList());
             //根据对比记录ID获得对比记录信息
-            LambdaQueryWrapper<CompareRecords> queryWrapper2 =new LambdaQueryWrapper<>();
-            queryWrapper2.in(CompareRecords::getId,recordsId);
-            compareRecords =compareRecordsService.list(queryWrapper2);
+            LambdaQueryWrapper<CompareRecords> queryWrapper2 = new LambdaQueryWrapper<>();
+            queryWrapper2.in(CompareRecords::getId, recordsId);
+            compareRecords = compareRecordsService.list(queryWrapper2);
         }
         //装载信息
-         List<Map<String,Object>> mapList =new ArrayList<Map<String,Object>>();
+        List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>();
         //装载特征对应划出的话
-        while (featuresList.size()>0) {
-            Map<String,Object> map =new HashMap<>();
-            List<Map<String,Object>> temMapList =new ArrayList<>();
-            Features features1 =featuresList.get(0);
+        while (featuresList.size() > 0) {
+            Map<String, Object> map = new HashMap<>();
+            List<Map<String, Object>> temMapList = new ArrayList<>();
+            Features features1 = featuresList.get(0);
             Map<String, Object> Map = new HashMap<>();
             List<Integer> recordIds = assoRecordsFeatures.stream().filter(item -> item.getFeatureId().equals(featuresList.get(0).getId())).map(AssoRecordsFeature::getRecordsId).collect(Collectors.toList());
             List<CompareRecords> PartRecords = compareRecords.stream().filter(item -> recordIds.contains(item.getId())).collect(Collectors.toList());
-            if(PartRecords!=null&&PartRecords.size()>0){
+            if (PartRecords != null && PartRecords.size() > 0) {
                 Map.put("feature", featuresList.get(0));
                 Map.put("CompareRecords", PartRecords);
                 temMapList.add(Map);
             }
             featuresList.remove(features1);
-            map.put("signPatentNo",features1.getSignPatentNo());
+            map.put("signPatentNo", features1.getSignPatentNo());
             for (Features tem : featuresList) {
-                if(tem.getSignPatentNo().equals(features1.getSignPatentNo())){
+                if (tem.getSignPatentNo().equals(features1.getSignPatentNo())) {
                     Map<String, Object> temMap = new HashMap<>();
                     List<Integer> recordId = assoRecordsFeatures.stream().filter(item -> item.getFeatureId().equals(tem.getId())).map(AssoRecordsFeature::getRecordsId).collect(Collectors.toList());
                     List<CompareRecords> PartRecord = compareRecords.stream().filter(item -> recordIds.contains(item.getId())).collect(Collectors.toList());
-                    if(PartRecords!=null&&PartRecords.size()>0){
-                    temMap.put("feature", tem);
-                    temMap.put("CompareRecords", PartRecords);
-                    temMapList.add(temMap);
+                    if (PartRecords != null && PartRecords.size() > 0) {
+                        temMap.put("feature", tem);
+                        temMap.put("CompareRecords", PartRecords);
+                        temMapList.add(temMap);
                     }
                     features.remove(tem);
                 }
             }
-            if(temMapList.size()!=0){
-            map.put("features",temMapList);
-            mapList.add(map);}
+            if (temMapList.size() != 0) {
+                map.put("features", temMapList);
+                mapList.add(map);
+            }
         }
 
 

+ 13 - 0
RMS/src/main/resources/mapper/AssoTaskPersonelMapper.xml

@@ -10,5 +10,18 @@
         select b.* from ASSO_TASK_PATENT a left join ASSO_TASK_PATENT_SPLIT as b on a.id=b.TASK_PATENT_ID
         where a.PATENT_NO=#{patentNo} and a.TASK_ID=#{taskId} limit 1;
     </select>
+    <select id="getPatents" resultType="java.lang.String">
+        select distinct  PATENT_NO  from ASSO_TASK_PERSONEL
+      <where>
+            <foreach collection="params" index="index" item="item" open="(" separator=" or " close=")">
+          PERSON_ID=#{item.personId} and STATE=#{item.state} and TASK_ID in
+                <foreach collection="item.taskIds" index="index" item="item1" open="(" separator="," close=")">
+                    #{item1}
+                </foreach>
+            </foreach>
+      </where>
+
+    </select>
+
 
 </mapper>

BIN
RMS/target/classes/cn/cslg/report/common/model/vo/PatentVO.class


BIN
RMS/target/classes/cn/cslg/report/common/model/vo/TaskVO$personPatents.class


BIN
RMS/target/classes/cn/cslg/report/common/model/vo/TaskVO.class


BIN
RMS/target/classes/cn/cslg/report/controller/CompareFilesController.class


BIN
RMS/target/classes/cn/cslg/report/controller/CompareMessageController.class


BIN
RMS/target/classes/cn/cslg/report/controller/CompareRecordsController.class


BIN
RMS/target/classes/cn/cslg/report/controller/TaskController.class


BIN
RMS/target/classes/cn/cslg/report/mapper/AssoTaskPersonelMapper.class


BIN
RMS/target/classes/cn/cslg/report/service/business/CompareFilesService.class


BIN
RMS/target/classes/cn/cslg/report/service/business/CompareRecordsService.class


BIN
RMS/target/classes/cn/cslg/report/service/business/CompareScenariosService.class


BIN
RMS/target/classes/cn/cslg/report/service/business/FeatureService.class