lwhhszx 2 years ago
parent
commit
0ddbddbc72
23 changed files with 321 additions and 55 deletions
  1. 7 0
      RMS/src/main/java/cn/cslg/report/common/model/vo/PatentRightVo.java
  2. 11 0
      RMS/src/main/java/cn/cslg/report/common/model/vo/PatentVO.java
  3. 49 0
      RMS/src/main/java/cn/cslg/report/common/model/vo/TaskSourceVO.java
  4. 1 0
      RMS/src/main/java/cn/cslg/report/common/model/vo/TaskVO.java
  5. 10 0
      RMS/src/main/java/cn/cslg/report/common/utils/DataUtils.java
  6. 6 2
      RMS/src/main/java/cn/cslg/report/controller/CompareFilesController.java
  7. 6 0
      RMS/src/main/java/cn/cslg/report/controller/CompareRecordsController.java
  8. 6 0
      RMS/src/main/java/cn/cslg/report/controller/TaskController.java
  9. 2 0
      RMS/src/main/java/cn/cslg/report/entity/CompareFiles.java
  10. 66 44
      RMS/src/main/java/cn/cslg/report/service/business/CompareFilesService.java
  11. 19 0
      RMS/src/main/java/cn/cslg/report/service/business/CompareRecordsService.java
  12. 19 9
      RMS/src/main/java/cn/cslg/report/service/business/ReportDocumentService.java
  13. 7 0
      RMS/src/main/java/cn/cslg/report/service/business/ReportFieldPatentLinkService.java
  14. 112 0
      RMS/src/main/java/cn/cslg/report/service/business/TaskService.java
  15. BIN
      RMS/target/classes/cn/cslg/report/common/utils/DataUtils.class
  16. BIN
      RMS/target/classes/cn/cslg/report/controller/CompareFilesController.class
  17. BIN
      RMS/target/classes/cn/cslg/report/controller/CompareRecordsController.class
  18. BIN
      RMS/target/classes/cn/cslg/report/controller/TaskController.class
  19. BIN
      RMS/target/classes/cn/cslg/report/entity/CompareFiles.class
  20. BIN
      RMS/target/classes/cn/cslg/report/service/business/CompareFilesService.class
  21. BIN
      RMS/target/classes/cn/cslg/report/service/business/CompareRecordsService.class
  22. BIN
      RMS/target/classes/cn/cslg/report/service/business/ReportDocumentService.class
  23. BIN
      RMS/target/classes/cn/cslg/report/service/business/TaskService.class

+ 7 - 0
RMS/src/main/java/cn/cslg/report/common/model/vo/PatentRightVo.java

@@ -59,4 +59,11 @@ public class PatentRightVo {
      *
      *
      */
      */
     private List<CompareMessageVO> compareMessageVOS;
     private List<CompareMessageVO> compareMessageVOS;
+
+
+
+
+
+
+
 }
 }

+ 11 - 0
RMS/src/main/java/cn/cslg/report/common/model/vo/PatentVO.java

@@ -46,6 +46,9 @@ public class PatentVO extends BaseVO {
     private List<SourceVO> filedOptions;
     private List<SourceVO> filedOptions;
     @Schema(description = "专题库自定义选项列表")
     @Schema(description = "专题库自定义选项列表")
     private List<SourceVO> PasOptions;
     private List<SourceVO> PasOptions;
+
+    @Schema(description = "任务过滤条件列表")
+    private List<taskSource> taskSources;
     //专题库ID
     //专题库ID
     private Integer projectId;
     private Integer projectId;
     //RMS导入ID
     //RMS导入ID
@@ -80,4 +83,12 @@ public class PatentVO extends BaseVO {
     @Schema(description = "标题")
     @Schema(description = "标题")
     private String patentName;
     private String patentName;
 
 
+    @Data
+    public  static class taskSource{
+        private  List<Integer> taskIds;
+        private Integer personId;
+        private Integer state;
+
+
+    }
 }
 }

+ 49 - 0
RMS/src/main/java/cn/cslg/report/common/model/vo/TaskSourceVO.java

@@ -0,0 +1,49 @@
+package cn.cslg.report.common.model.vo;
+
+
+import cn.cslg.report.common.model.BaseVO;
+import cn.cslg.report.entity.Personnel;
+import cn.cslg.report.entity.Report;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author lrj
+ * @date 2022-11-9
+ * @description 任务VO类
+ */
+@Data
+@Accessors(chain = true)
+@Schema(description="任务过滤条件VO",required = true)
+public class TaskSourceVO extends BaseVO {
+    @Schema(description = "任务类型")
+    private String taskType;
+
+    @Schema(description = "人员列表")
+    private List<personDate> personDates ;
+    @Schema(description = "未分配数量")
+    private Integer notAssignNum;
+
+    @Data
+    public static class personDate{
+        @Schema(description = "人员Id")
+        private Integer personId;
+        @Schema(description = "任务ID")
+        private List<Integer> taskIds;
+        @Schema(description = "人员名称")
+        private String personName;
+        @Schema(description = "已完成数量")
+        private Integer doneNum;
+        @Schema(description = "已完成数量")
+        private Integer notDoneNum;
+        @Schema(description = "已完成")
+        private List<String> done;
+        @Schema(description = "未完成")
+        private List<String> notDone;
+    }
+
+}

+ 1 - 0
RMS/src/main/java/cn/cslg/report/common/model/vo/TaskVO.java

@@ -51,6 +51,7 @@ public class TaskVO extends BaseVO {
      * 结束时间
      * 结束时间
      */
      */
     @Schema(description = "任务结束时间")
     @Schema(description = "任务结束时间")
+
     private Date endTime;
     private Date endTime;
 
 
     @Schema(description = "任务状态 0未完成 1已完成")
     @Schema(description = "任务状态 0未完成 1已完成")

+ 10 - 0
RMS/src/main/java/cn/cslg/report/common/utils/DataUtils.java

@@ -193,5 +193,15 @@ public class DataUtils {
         return shortBuffer.toString();
         return shortBuffer.toString();
     }
     }
 
 
+    public static <T> List<T> objToList(Object obj, Class<T> cla){
+        List<T> list = new ArrayList<T>();
+        if (obj instanceof ArrayList<?>) {
+            for (Object o : (List<?>) obj) {
+                list.add(cla.cast(o));
+            }
+            return list;
+        }
+        return null;
+    }
 
 
 }
 }

+ 6 - 2
RMS/src/main/java/cn/cslg/report/controller/CompareFilesController.java

@@ -46,8 +46,12 @@ public class CompareFilesController {
         return Response.success();
         return Response.success();
     }
     }
 
 
-
-
+@GetMapping("/order/add")
+@Operation(summary = "给对比专利添加顺序")
+public String addOrder(Integer reportId,String pantentNO,Integer order) throws IOException {
+    compareFilesService.addOrder(reportId, pantentNO, order);
+    return Response.success();
+}
 
 
 
 
 
 

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

@@ -2,6 +2,7 @@ package cn.cslg.report.controller;
 
 
 import cn.cslg.report.common.core.base.Constants;
 import cn.cslg.report.common.core.base.Constants;
 
 
+import cn.cslg.report.common.utils.Response;
 import cn.cslg.report.entity.CompareRecords;
 import cn.cslg.report.entity.CompareRecords;
 import cn.cslg.report.entity.InvalidRecord;
 import cn.cslg.report.entity.InvalidRecord;
 import cn.cslg.report.service.business.CompareRecordsService;
 import cn.cslg.report.service.business.CompareRecordsService;
@@ -53,6 +54,11 @@ public class CompareRecordsController {
       return compareRecordsService.getCompareRecords(compareRecord);
       return compareRecordsService.getCompareRecords(compareRecord);
     }
     }
 
 
+    @GetMapping(value = "/selectOrders")
+    @Operation(summary ="查询顺序列表")
+    public String selectOrders(Integer reportId)throws IOException{
+        return Response.success(compareRecordsService.getOrderLists(reportId));
+    }
     }
     }
 
 
 
 

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

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

+ 2 - 0
RMS/src/main/java/cn/cslg/report/entity/CompareFiles.java

@@ -38,5 +38,7 @@ public class CompareFiles extends BaseEntity<CompareFiles> {
     @TableField(value = "STATE")
     @TableField(value = "STATE")
     private Integer state;
     private Integer state;
 
 
+    @TableField(value = "SYS_ORDER")
+    private Integer SysOrder;
 
 
 }
 }

+ 66 - 44
RMS/src/main/java/cn/cslg/report/service/business/CompareFilesService.java

@@ -1,4 +1,5 @@
 package cn.cslg.report.service.business;
 package cn.cslg.report.service.business;
+
 import cn.cslg.report.common.model.dto.CustomFieldLabelDTO;
 import cn.cslg.report.common.model.dto.CustomFieldLabelDTO;
 
 
 import cn.cslg.report.common.model.vo.CompareFilesVO;
 import cn.cslg.report.common.model.vo.CompareFilesVO;
@@ -21,9 +22,11 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
+
 import java.io.IOException;
 import java.io.IOException;
 import java.util.*;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
+
 @SuppressWarnings({"all"})
 @SuppressWarnings({"all"})
 @Service
 @Service
 @Slf4j
 @Slf4j
@@ -37,29 +40,29 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
     private final ReportFieldOptionService reportFieldOptionService;
     private final ReportFieldOptionService reportFieldOptionService;
     private final AssoComapareFielService assoComapareFielService;
     private final AssoComapareFielService assoComapareFielService;
     private final ReportFieldPatentLinkService reportFieldPatentLinkService;
     private final ReportFieldPatentLinkService reportFieldPatentLinkService;
-    private final  TaskService taskService;
+    private final TaskService taskService;
     private final AssoTaskPersonelService assoTaskPersonelService;
     private final AssoTaskPersonelService assoTaskPersonelService;
 
 
     /**
     /**
-     * @function 添加对比文件
      * @param compareFilesVO
      * @param compareFilesVO
      * @return 是否添加成功
      * @return 是否添加成功
      * @throws IOException
      * @throws IOException
+     * @function 添加对比文件
      */
      */
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public String addCompareFile(CompareFilesVO compareFilesVO) throws IOException {
     public String addCompareFile(CompareFilesVO compareFilesVO) throws IOException {
         //查询标的专利信息
         //查询标的专利信息
         Report report = reportService.getById(compareFilesVO.getReportId());
         Report report = reportService.getById(compareFilesVO.getReportId());
         //根据标的专利号获得专利信息
         //根据标的专利号获得专利信息
-        String res1 = outInterfaceService.getPatentFromPAS( report.getSignPatentNo());
+        String res1 = outInterfaceService.getPatentFromPAS(report.getSignPatentNo());
         JSONObject res1Object = JSONObject.parseObject(res1);
         JSONObject res1Object = JSONObject.parseObject(res1);
         JSONObject patentNoJSON = JSONObject.parseObject(res1Object.get("data").toString());
         JSONObject patentNoJSON = JSONObject.parseObject(res1Object.get("data").toString());
-            //获得引用专利号
-            String quote =patentNoJSON.get("quote").toString().replace(" ","");
-            List<String> quotes = Arrays.asList(quote.split("\\|"));
-            //获得同族专利号
-        List<String> familyPatentNos =new ArrayList<>();
-        if(patentNoJSON.containsKey("family")) {
+        //获得引用专利号
+        String quote = patentNoJSON.get("quote").toString().replace(" ", "");
+        List<String> quotes = Arrays.asList(quote.split("\\|"));
+        //获得同族专利号
+        List<String> familyPatentNos = new ArrayList<>();
+        if (patentNoJSON.containsKey("family")) {
             String familyJson = patentNoJSON.get("family").toString();
             String familyJson = patentNoJSON.get("family").toString();
             familyPatentNos = JsonUtils.jsonToList(JsonUtils.objectToJson(familyJson), String.class);
             familyPatentNos = JsonUtils.jsonToList(JsonUtils.objectToJson(familyJson), String.class);
         }
         }
@@ -85,16 +88,16 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         patentNos.addAll(compareFilesVO.getIsAdd());
         patentNos.addAll(compareFilesVO.getIsAdd());
         //获取对比文件对比表的专利号
         //获取对比文件对比表的专利号
         patentNos.removeAll(patentNoList);
         patentNos.removeAll(patentNoList);
-        for(int i=0;i<patentNos.size();i++){
+        for (int i = 0; i < patentNos.size(); i++) {
             CompareFiles compareFiles1 = new CompareFiles();
             CompareFiles compareFiles1 = new CompareFiles();
             //根据专利号和报告id造对象
             //根据专利号和报告id造对象
             compareFiles1.setPatentNo(patentNos.get(i));
             compareFiles1.setPatentNo(patentNos.get(i));
             compareFiles1.setReportId(compareFilesVO.getReportId());
             compareFiles1.setReportId(compareFilesVO.getReportId());
             //区分对比文件的类型
             //区分对比文件的类型
-            if (familyPatentNos != null&&quotes.size() != 0 && quotes.contains(patentNos.get(i))) {
+            if (familyPatentNos != null && quotes.size() != 0 && quotes.contains(patentNos.get(i))) {
                 compareFiles1.setRemark("引");
                 compareFiles1.setRemark("引");
             }
             }
-            if (familyPatentNos != null&&familyPatentNos.size() != 0  && familyPatentNos.contains(patentNos.get(i))) {
+            if (familyPatentNos != null && familyPatentNos.size() != 0 && familyPatentNos.contains(patentNos.get(i))) {
                 compareFiles1.setRemark("同");
                 compareFiles1.setRemark("同");
             }
             }
 
 
@@ -106,7 +109,6 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
     }
     }
 
 
     /**
     /**
-     *
      * @param compareFilesVO
      * @param compareFilesVO
      * @return
      * @return
      * @throws IOException
      * @throws IOException
@@ -129,7 +131,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         patentNos.removeAll(compareFilesVO.getIsDelete());
         patentNos.removeAll(compareFilesVO.getIsDelete());
         //添加新的
         //添加新的
         patentNos.addAll(compareFilesVO.getIsAdd());
         patentNos.addAll(compareFilesVO.getIsAdd());
-        for(int i=0;i<patentNos.size();i++){
+        for (int i = 0; i < patentNos.size(); i++) {
             CompareFiles compareFiles1 = new CompareFiles();
             CompareFiles compareFiles1 = new CompareFiles();
             //根据专利号和报告id造对象
             //根据专利号和报告id造对象
             compareFiles1.setPatentNo(patentNos.get(i));
             compareFiles1.setPatentNo(patentNos.get(i));
@@ -140,11 +142,12 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         this.saveBatch(compareFiles);
         this.saveBatch(compareFiles);
         return Response.success();
         return Response.success();
     }
     }
+
     /**
     /**
-     * @function 根据PatentVO里的条件(分页)模糊查询标的专利号和数量
      * @param patentVO
      * @param patentVO
      * @return 标的专利号和数量 map
      * @return 标的专利号和数量 map
      * @throws IOException
      * @throws IOException
+     * @function 根据PatentVO里的条件(分页)模糊查询标的专利号和数量
      */
      */
     public String getCompareFile(PatentVO patentVO) throws IOException {
     public String getCompareFile(PatentVO patentVO) throws IOException {
         LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
@@ -165,7 +168,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
             wrapper1.select(Report::getSignPatentNo);
             wrapper1.select(Report::getSignPatentNo);
             wrapper1.eq(Report::getId, patentVO.getReportId());
             wrapper1.eq(Report::getId, patentVO.getReportId());
             //获取标的专利号
             //获取标的专利号
-            if(reportService.list(wrapper1).size()==0){
+            if (reportService.list(wrapper1).size() == 0) {
                 return "";
                 return "";
             }
             }
             patentVO.setNotInPatentNos(patentNos);
             patentVO.setNotInPatentNos(patentNos);
@@ -192,25 +195,25 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
     }
     }
 
 
     /**
     /**
-     * @function 根据PatentVO里的条件模糊查询获得已经确定的对比专利详情
      * @param patentVO
      * @param patentVO
      * @return
      * @return
      * @throws IOException
      * @throws IOException
+     * @function 根据PatentVO里的条件模糊查询获得已经确定的对比专利详情
      */
      */
     //
     //
     public String getSureCompareFile(PatentVO patentVO) throws IOException {
     public String getSureCompareFile(PatentVO patentVO) throws IOException {
-        List<String> patentNos= new ArrayList<>();
+        List<String> patentNos = new ArrayList<>();
         LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(CompareFiles::getReportId, patentVO.getReportId());
         queryWrapper.eq(CompareFiles::getReportId, patentVO.getReportId());
         List<CompareFiles> compareFiles = this.list(queryWrapper);
         List<CompareFiles> compareFiles = this.list(queryWrapper);
-      List<String>  AllpatentNos = compareFiles.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
+        List<String> AllpatentNos = compareFiles.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
         //无查询条件
         //无查询条件
-        if (patentVO.getFiledOptions() == null||patentVO.getFiledOptions().size() == 0) {
-            patentNos=AllpatentNos;
+        if (patentVO.getFiledOptions() == null || patentVO.getFiledOptions().size() == 0) {
+            patentNos = AllpatentNos;
         }
         }
         //有查询条件时,自定义字段的专利号和任务的专利号取交集
         //有查询条件时,自定义字段的专利号和任务的专利号取交集
         else {
         else {
-          patentNos = reportFieldService.getPatentNo1(patentVO.getFiledOptions(),patentVO.getReportId(),patentVO.getTaskId(),patentVO.getTaskStatus());
+            patentNos = reportFieldService.getPatentNo1(patentVO.getFiledOptions(), patentVO.getReportId(), patentVO.getTaskId(), patentVO.getTaskStatus());
             patentVO.setPatentNos(patentNos);
             patentVO.setPatentNos(patentNos);
         }
         }
         patentVO.setPatentNos(patentNos);
         patentVO.setPatentNos(patentNos);
@@ -228,10 +231,10 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
     }
     }
 
 
     /**
     /**
-     * @function  删除单个对比专利
      * @param compareFilesVO
      * @param compareFilesVO
      * @return 是否删除成功
      * @return 是否删除成功
      * @throws IOException
      * @throws IOException
+     * @function 删除单个对比专利
      */
      */
 
 
     public String deletePatentNo(CompareFilesVO compareFilesVO) throws IOException {
     public String deletePatentNo(CompareFilesVO compareFilesVO) throws IOException {
@@ -264,29 +267,29 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
     }
     }
 
 
     /**
     /**
-     * @function 根据id删除对比文件
      * @param id
      * @param id
      * @return
      * @return
      * @throws IOException
      * @throws IOException
+     * @function 根据id删除对比文件
      */
      */
-    public String deleByReportId(int id)throws IOException{
+    public String deleByReportId(int id) throws IOException {
         CompareFiles compareFiles = new CompareFiles();
         CompareFiles compareFiles = new CompareFiles();
         compareFiles.deleteById(id);
         compareFiles.deleteById(id);
         return Response.success();
         return Response.success();
     }
     }
 
 
     /**
     /**
-     *  @function 根据报告id 和专利号查询对比文件
-     * @param reportId 报告的id
+     * @param reportId  报告的id
      * @param patentNos 专利号
      * @param patentNos 专利号
      * @return 专利号的集合
      * @return 专利号的集合
      * @throws IOException
      * @throws IOException
+     * @function 根据报告id 和专利号查询对比文件
      */
      */
-    public List<CustomFieldLabelDTO> setAll(Integer reportId, String patentNos) throws IOException{
+    public List<CustomFieldLabelDTO> setAll(Integer reportId, String patentNos) throws IOException {
         List<CustomFieldLabelDTO> dataList = new ArrayList<>();
         List<CustomFieldLabelDTO> dataList = new ArrayList<>();
         //根据报告id找到对比文件
         //根据报告id找到对比文件
         List<ReportField> reportFields = reportFieldService.selectAll(reportId);
         List<ReportField> reportFields = reportFieldService.selectAll(reportId);
-        for(ReportField reportField:reportFields) {
+        for (ReportField reportField : reportFields) {
             PatentIndexSettingVO params = new PatentIndexSettingVO();
             PatentIndexSettingVO params = new PatentIndexSettingVO();
             CustomFieldLabelDTO data = new CustomFieldLabelDTO();
             CustomFieldLabelDTO data = new CustomFieldLabelDTO();
             params.setPatentNo(patentNos);
             params.setPatentNo(patentNos);
@@ -304,18 +307,17 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         return dataList;
         return dataList;
 
 
 
 
-
     }
     }
 
 
     /**
     /**
-     * @function 修改 reportFieldPatentLink
      * @param params
      * @param params
      * @throws IOException
      * @throws IOException
+     * @function 修改 reportFieldPatentLink
      */
      */
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
-    public void getPatentIndexSetting(PatentIndexSettingVO params)throws IOException {
-        if(params.getTaskID()!=null) {
-            Task task =taskService.getById(params.getTaskID());
+    public void getPatentIndexSetting(PatentIndexSettingVO params) throws IOException {
+        if (params.getTaskID() != null) {
+            Task task = taskService.getById(params.getTaskID());
             params.setReportId(task.getReportId());
             params.setReportId(task.getReportId());
             reportFieldPatentLinkService.updatePatentIndexSetting(params);
             reportFieldPatentLinkService.updatePatentIndexSetting(params);
             LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
             LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
@@ -324,16 +326,15 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
             AssoTaskPersonel assoTaskPersonel = assoTaskPersonelService.list(queryWrapper).get(0);
             AssoTaskPersonel assoTaskPersonel = assoTaskPersonelService.list(queryWrapper).get(0);
             assoTaskPersonel.setState(1);
             assoTaskPersonel.setState(1);
             assoTaskPersonel.updateById();
             assoTaskPersonel.updateById();
-        }
-        else {
+        } else {
             reportFieldPatentLinkService.updatePatentIndexSetting(params);
             reportFieldPatentLinkService.updatePatentIndexSetting(params);
         }
         }
     }
     }
 
 
     /**
     /**
-     *  @function 根据报告id查询对比文件
      * @param reportId 报告的id
      * @param reportId 报告的id
      * @return
      * @return
+     * @function 根据报告id查询对比文件
      */
      */
 
 
 
 
@@ -345,7 +346,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(queryWrapper);
         List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(queryWrapper);
         LambdaQueryWrapper<CompareFiles> queryWrapper1 = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<CompareFiles> queryWrapper1 = new LambdaQueryWrapper<>();
         //根据报告id查询对比文件的详情
         //根据报告id查询对比文件的详情
-        queryWrapper1.eq(CompareFiles::getReportId,reportId);
+        queryWrapper1.eq(CompareFiles::getReportId, reportId);
         List<CompareFiles> compareFiles = this.list(queryWrapper1);
         List<CompareFiles> compareFiles = this.list(queryWrapper1);
         Map<String, Object> reMap = new HashMap<>();
         Map<String, Object> reMap = new HashMap<>();
         reMap.put("all", compareFiles.size());
         reMap.put("all", compareFiles.size());
@@ -357,22 +358,43 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
 
 
         List<AssoTaskPersonel> assoRead = assoTaskPersonels.stream().filter(item -> item.getState().equals(1)).collect(Collectors.toList());
         List<AssoTaskPersonel> assoRead = assoTaskPersonels.stream().filter(item -> item.getState().equals(1)).collect(Collectors.toList());
         reMap.put("all", compareFiles.size());
         reMap.put("all", compareFiles.size());
-        reMap.put("noRead",compareFiles.size()- assoRead.size());
+        reMap.put("noRead", compareFiles.size() - assoRead.size());
         reMap.put("read", assoRead.size());
         reMap.put("read", assoRead.size());
         return reMap;
         return reMap;
     }
     }
+
     /**
     /**
      * function : 在删除报告的时候删除对比文件
      * function : 在删除报告的时候删除对比文件
-     *
      */
      */
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
-    public String delete(Integer id){
+    public String delete(Integer id) {
         LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(CompareFiles::getReportId,id);
+        queryWrapper.eq(CompareFiles::getReportId, id);
         remove(queryWrapper);
         remove(queryWrapper);
         return Response.success();
         return Response.success();
     }
     }
 
 
-
-
+    public Integer addOrder(Integer reportId, String pantentNO, Integer order) {
+        //根据报告ID 和专利号 查询对比文件
+        LambdaQueryWrapper<CompareFiles> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(CompareFiles::getPatentNo, pantentNO)
+                .eq(CompareFiles::getReportId, reportId);
+        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 compareFile = compareFiles.get(0);
+        compareFile.setSysOrder(order);
+        compareFile.updateById();
+        return compareFile.getId();
+    }
 }
 }

+ 19 - 0
RMS/src/main/java/cn/cslg/report/service/business/CompareRecordsService.java

@@ -208,6 +208,25 @@ public class CompareRecordsService extends ServiceImpl<CompareRecordsMapper, Com
         return Response.success();
         return Response.success();
     }
     }
 
 
+    /**
+     * 获得排序列表
+     * @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;
+   }
 
 
 
 
 }
 }

+ 19 - 9
RMS/src/main/java/cn/cslg/report/service/business/ReportDocumentService.java

@@ -63,6 +63,7 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
     private final TemplateConfigService templateConfigService;
     private final TemplateConfigService templateConfigService;
     private final ReportFieldPatentLinkService reportFieldPatentLinkService;
     private final ReportFieldPatentLinkService reportFieldPatentLinkService;
     private final CompareMessageService compareMessageService;
     private final CompareMessageService compareMessageService;
+    private final CompareFilesService compareFilesService;
     @Value("${fileURL}")
     @Value("${fileURL}")
     private String fileURL;
     private String fileURL;
 
 
@@ -201,14 +202,22 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
         List<String> PatentNos = compareRecords.stream().map(CompareRecords::getPatentNo).collect(Collectors.toList());
         List<String> PatentNos = compareRecords.stream().map(CompareRecords::getPatentNo).collect(Collectors.toList());
         PatentVO patentVO = new PatentVO();
         PatentVO patentVO = new PatentVO();
         patentVO.setPatentNos(PatentNos);
         patentVO.setPatentNos(PatentNos);
+        //根据专利号查询专利的排序
+        LambdaQueryWrapper<CompareFiles> comWrapper =new LambdaQueryWrapper<>();
+        comWrapper.in(CompareFiles::getPatentNo)
+                .eq(CompareFiles::getReportId,report.getId());
+        List<CompareFiles> compareFiles =compareFilesService.list(comWrapper);
+        //专利号别名的map
+        Map<String, Object> OtherName = new HashMap<>();
+        compareFiles.forEach(item->
+                OtherName.put(item.getPatentNo(), item.getSysOrder())
+        );
         //根据专利号查询专利详细信息
         //根据专利号查询专利详细信息
         String resBody = outInterfaceService.getPatentDTOListForRMS(patentVO);
         String resBody = outInterfaceService.getPatentDTOListForRMS(patentVO);
         JSONObject jsonObject = JSONObject.parseObject(resBody);
         JSONObject jsonObject = JSONObject.parseObject(resBody);
         List<JSONObject> patentDTOS = JSON.parseArray(jsonObject.get("data").toString(), JSONObject.class);
         List<JSONObject> patentDTOS = JSON.parseArray(jsonObject.get("data").toString(), JSONObject.class);
         //存放专利信息的map集合
         //存放专利信息的map集合
         List<Map<String, Object>> patentListMaps = new ArrayList<>();
         List<Map<String, Object>> patentListMaps = new ArrayList<>();
-        //专利号别名的map
-        Map<String, Object> OtherName = new HashMap<>();
         //填充专利数据到patentListMap
         //填充专利数据到patentListMap
         for (int i = 0; i < patentDTOS.size(); i++) {
         for (int i = 0; i < patentDTOS.size(); i++) {
             JSONObject item = patentDTOS.get(i);
             JSONObject item = patentDTOS.get(i);
@@ -238,8 +247,10 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
                 feaListContent.forEach(te -> disclosures.append("(" + te + ")"));
                 feaListContent.forEach(te -> disclosures.append("(" + te + ")"));
                 disclosures.append("\n");
                 disclosures.append("\n");
             }
             }
+          int order=Integer.parseInt(OtherName.get(item.get("publicNo")).toString());
+
             patentListMap.put("name", item.get("name"));
             patentListMap.put("name", item.get("name"));
-            patentListMap.put("fileName", "D" + (i + 1));
+            patentListMap.put("fileName", "D" + order);
             patentListMap.put("publicDate", item.get("publicDate"));
             patentListMap.put("publicDate", item.get("publicDate"));
             patentListMap.put("publicNo", item.get("publicNo"));
             patentListMap.put("publicNo", item.get("publicNo"));
             patentListMap.put("SSIM", "");
             patentListMap.put("SSIM", "");
@@ -250,9 +261,8 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
             patentListMap.put("applicationDate", item.get("applicationDate"));
             patentListMap.put("applicationDate", item.get("applicationDate"));
             patentListMap.put("abstractPath", fileURL + item.get("abstractPath"));
             patentListMap.put("abstractPath", fileURL + item.get("abstractPath"));
             patentListMap.put("disclosures", disclosures);
             patentListMap.put("disclosures", disclosures);
-            patentListMaps.add(patentListMap);
-            //给出现的专利添加别名
-            OtherName.put(item.get("publicNo").toString(), ("D" + (i + 1)));
+            patentListMaps.add(order-1,patentListMap);
+
         }
         }
         //存放对比方案信息的map集合
         //存放对比方案信息的map集合
         List<Map<String, Object>> scenariosMaps = new ArrayList<>();
         List<Map<String, Object>> scenariosMaps = new ArrayList<>();
@@ -315,7 +325,7 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
                        //获得对比专利号
                        //获得对比专利号
                        String patentNo = record.getPatentNo() != null ? record.getPatentNo() : "";
                        String patentNo = record.getPatentNo() != null ? record.getPatentNo() : "";
                        if (OtherName.containsKey(patentNo)) {
                        if (OtherName.containsKey(patentNo)) {
-                           patentNo = OtherName.get(patentNo).toString() + ":";
+                           patentNo ="D"+ OtherName.get(patentNo).toString() + ":";
                        } else if (!patentNo.equals("")) {
                        } else if (!patentNo.equals("")) {
                            patentNo += ":";
                            patentNo += ":";
                        }
                        }
@@ -362,7 +372,7 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
                         List<Integer> temFIds = finalAsso.stream().filter(tm -> temRecordIds.contains(tm.getRecordsId())).map(AssoRecordsFeature::getFeatureId).collect(Collectors.toList());
                         List<Integer> temFIds = finalAsso.stream().filter(tm -> temRecordIds.contains(tm.getRecordsId())).map(AssoRecordsFeature::getFeatureId).collect(Collectors.toList());
                         String tmName = item;
                         String tmName = item;
                         if (OtherName.containsKey(item)) {
                         if (OtherName.containsKey(item)) {
-                            tmName = OtherName.get(item).toString();
+                            tmName = "D"+OtherName.get(item).toString();
                         }
                         }
                         if (temFIds.size() == allRightFeatures.size()) {
                         if (temFIds.size() == allRightFeatures.size()) {
                             noveltyFiles.add(tmName);
                             noveltyFiles.add(tmName);
@@ -376,7 +386,7 @@ public class ReportDocumentService extends ServiceImpl<ReportDocumentMapper, Rep
                     item -> {
                     item -> {
                         String tmName = item.getPatentNo();
                         String tmName = item.getPatentNo();
                         if (OtherName.containsKey(tmName)) {
                         if (OtherName.containsKey(tmName)) {
-                            tmName = OtherName.get(tmName).toString();
+                            tmName = "D"+OtherName.get(tmName).toString();
                         }
                         }
                         if (!creativeFiles.contains(tmName)) {
                         if (!creativeFiles.contains(tmName)) {
                             creativeFiles.add(tmName);
                             creativeFiles.add(tmName);

+ 7 - 0
RMS/src/main/java/cn/cslg/report/service/business/ReportFieldPatentLinkService.java

@@ -394,5 +394,12 @@ return  patentNos;
 
 
 }
 }
 
 
+    /**
+     *
+     * @param reportId 报告ID
+     * @param pantentNO 专利号
+     * @return
+     */
+
 
 
 }
 }

+ 112 - 0
RMS/src/main/java/cn/cslg/report/service/business/TaskService.java

@@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import io.swagger.v3.oas.models.security.SecurityScheme;
 import lombok.RequiredArgsConstructor;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.collections4.CollectionUtils;
@@ -36,6 +37,7 @@ import java.io.IOException;
 import java.text.ParseException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.*;
+import java.util.function.Function;
 import java.util.regex.Matcher;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
@@ -849,4 +851,114 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
 
 
         return Response.success();
         return Response.success();
     }
     }
+
+    /**
+     * 获得任务过滤条件
+     *
+     * @param reportId
+     */
+    public List<TaskSourceVO> getTaskSources(Integer reportId) throws IOException {
+        List<TaskSourceVO> taskSourceVOS = new ArrayList<>();
+        //任务类型列表
+        List<Integer> types = Arrays.asList(2, 3);
+        TaskSourceVO assignVO = new TaskSourceVO();
+        assignVO.setTaskType("分配任务");
+        TaskSourceVO siftVO = new TaskSourceVO();
+        siftVO.setTaskType("初筛任务");
+        //任务类型标识
+        List<Integer> typeFlag = new ArrayList<>();
+        //根据报告id获得所有对比文件
+        LambdaQueryWrapper<CompareFiles> comWrapper = new LambdaQueryWrapper<>();
+        comWrapper.select()
+                .eq(CompareFiles::getReportId, reportId);
+        Function<Object, String> f = (o -> o.toString());
+        List<String> comPatentNos = compareFilesService.listObjs(comWrapper, f);
+        //根据报告id获得初筛任务和对比任务
+        LambdaQueryWrapper<Task> taskWrapper = new LambdaQueryWrapper<>();
+        taskWrapper.eq(Task::getReportId, reportId)
+                .in(Task::getType, types);
+        List<Task> tasks = this.list(taskWrapper);
+        //筛选出任务id
+        List<Integer> taskIds = tasks.stream().map(Task::getId).collect(Collectors.toList());
+        //根据任务id获得任务专利关联记录
+        LambdaQueryWrapper<AssoTaskPersonel> assoWrapper = new LambdaQueryWrapper<>();
+        assoWrapper.in(AssoTaskPersonel::getTaskId, taskIds);
+        List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(assoWrapper);
+
+        for (Integer type : types) {
+            List<String> comPatentNosCopy = new ArrayList<>(comPatentNos);
+            TaskSourceVO vo = new TaskSourceVO();
+            if (type.equals(2)) {
+                vo.setTaskType("分配任务");
+            } else if (type.equals(3)) {
+                vo.setTaskType("初筛任务");
+            }
+            List<Integer> typeTaskIds = tasks.stream().filter(te -> te.getType().equals(type))
+                    .map(Task::getId).collect(Collectors.toList());
+            List<AssoTaskPersonel> partAsso = assoTaskPersonels.stream()
+                    .filter(te -> typeTaskIds.contains(te.getTaskId())).collect(Collectors.toList());
+            Map<Integer, TaskSourceVO.personDate> personMap = new LinkedHashMap<>();
+            for (AssoTaskPersonel item : partAsso) {
+                if (personMap.get(item.getPersonelId()) != null) {
+                    TaskSourceVO.personDate personDate = personMap.get(item.getPersonelId());
+                    List<Integer> TaskIds = personDate.getTaskIds();
+                    List<String> done = new ArrayList<>(personDate.getDone());
+                    List<String> notDone = new ArrayList<>(personDate.getNotDone());
+                    if (!TaskIds.contains(item.getTaskId())) {
+                        TaskIds.add(item.getTaskId());
+                    }
+                    if (item.getState().equals(1) && !done.contains(item.getPatentNo())) {
+                        done.add(item.getPatentNo());
+                        personDate.setDone(done);
+                        personDate.setDoneNum(personDate.getDoneNum() + 1);
+                    }
+                    if (item.getState().equals(0) && !notDone.contains(item.getPatentNo())) {
+                        notDone.add(item.getPatentNo());
+                        personDate.setNotDone(notDone);
+                        personDate.setNotDoneNum(personDate.getNotDoneNum() + 1);
+                    }
+                } else {
+                    TaskSourceVO.personDate personDate = new TaskSourceVO.personDate();
+                    personDate.setTaskIds(Arrays.asList(item.getTaskId()));
+                    if (item.getState().equals(0)) {
+                        personDate.setNotDoneNum(1);
+                        personDate.setDoneNum(0);
+                        personDate.setNotDone(Arrays.asList(item.getPatentNo()));
+                        personDate.setDone(Arrays.asList());
+                    } else if (item.getState().equals(1)) {
+                        personDate.setDoneNum(1);
+                        personDate.setNotDoneNum(0);
+                        personDate.setDone(Arrays.asList(item.getPatentNo()));
+                        personDate.setNotDone(Arrays.asList());
+                    }
+                    personMap.put(item.getPersonelId(), personDate);
+                }
+                comPatentNosCopy.remove(item.getPatentNo());
+            }
+            List<TaskSourceVO.personDate> lists = new ArrayList<>();
+            //根据人员Id获得人员信息
+            String res1 = outInterfaceService.getPersonnelByIdsFromPCS(new ArrayList<>(personMap.keySet()));
+            JSONObject jsonObject1 = JSONObject.parseObject(res1);
+            //解析jason获得标的专利的权要
+            List<Personnel> personnels = JSON.parseArray(jsonObject1.getString("data"), Personnel.class);
+            for(Integer key: personMap.keySet()){
+                TaskSourceVO.personDate tem =personMap.get(key);
+                tem.setPersonId(key);
+               Personnel personnel = personnels.stream().
+                        filter(te -> te.getId().equals(key)).findFirst().orElse(new Personnel());
+               tem.setPersonName(personnel.getPersonnelName());
+               lists.add(tem);
+            }
+            vo.setNotAssignNum(comPatentNosCopy.size());
+            vo.setPersonDates(lists);
+            taskSourceVOS.add(vo);
+        }
+
+
+        //获得初筛任务ID
+
+
+        return taskSourceVOS;
+
+    }
 }
 }

BIN
RMS/target/classes/cn/cslg/report/common/utils/DataUtils.class


BIN
RMS/target/classes/cn/cslg/report/controller/CompareFilesController.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/entity/CompareFiles.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/ReportDocumentService.class


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