浏览代码

12.15修改

chenyi 2 年之前
父节点
当前提交
9f46c7660c

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

@@ -97,6 +97,7 @@ public class PatentFiledController {
     }
 
     @Operation(summary ="模糊查询自定义字段")
+    @PostMapping("/source")
     public String getPatentField( int filedId ,String name)throws IOException{
       return reportFieldService.getReportField(filedId, name);
     }

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

@@ -119,7 +119,17 @@ public class TaskController {
     @RequestMapping(value = "/ReviewTheTasks", method = RequestMethod.GET)
     @Operation(summary = "查看任务")
     private String ReviewTheTasks(TaskVO taskVO){
-        return null;
+        return taskService.ReviewTheTasks(taskVO) ;
+    }
+    @RequestMapping(value = "/Progress", method = RequestMethod.GET)
+    @Operation(summary = "任务进度")
+    private String progress(int id){
+        return Response.success (taskService.reCount(id));
+    }
+    @RequestMapping(value = "/read", method = RequestMethod.GET)
+    @Operation(summary = "未读变成已读")
+    private String read(int taskID,String patentNo ){
+        return taskService.read(taskID,patentNo);
     }
 
 }

+ 8 - 0
RMS/src/main/java/cn/cslg/report/mapper/ReportFieldPatentLinkMapper.java

@@ -3,6 +3,11 @@ package cn.cslg.report.mapper;
 
 import cn.cslg.report.entity.ReportFieldPatentLink;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -12,6 +17,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @author 王岩
  * @since 2022-02-22
  */
+@Mapper
 public interface ReportFieldPatentLinkMapper extends BaseMapper<ReportFieldPatentLink> {
 
+//List<String> select( @Param("map") Map<Integer,List<Integer>> map);
+
 }

+ 6 - 1
RMS/src/main/java/cn/cslg/report/service/business/CompareFilesService.java

@@ -52,6 +52,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         Report report = reportService.getById(compareFilesVO.getReportId());
         //根据标的专利号获得专利信息
         String res1 = outInterfaceService.getPatentFromPAS( report.getSignPatentNo());
+
         JSONObject res1Object = JSONObject.parseObject(res1);
         JSONObject patentNoJSON = JSONObject.parseObject(res1Object.get("data").toString());
             //获得引用专利号
@@ -124,6 +125,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
             patentVO.setPatentNos(patentNos);
             //详情见outInterfaceService.getPatentFromPAS
             res = outInterfaceService.getPatentFromPAS(patentVO, 1);
+
         } else {
             //根据标的专利号和报告id找到报告
             LambdaQueryWrapper<Report> wrapper1 = new LambdaQueryWrapper<>();
@@ -134,9 +136,11 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
                 return "";
             }
             String signPatentNO = reportService.list(wrapper1).get(0).getSignPatentNo();
+          patentNos.add(signPatentNO);
             patentVO.setNotInPatentNos(patentNos);
             //详情见outInterfaceService.getPatentFromPAS
             res = outInterfaceService.getPatentFromPAS(patentVO, 0);
+
         }
         JSONObject jsonObject = JSONObject.parseObject(res);
         JSONObject resData = JSONObject.parseObject(jsonObject.getString("data"));
@@ -147,6 +151,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
             if (patentNos.contains(list.get(i).get("patentNo").toString())) {
                 temNos.add(list.get(i).get("patentNo").toString());
             }
+
         }
         //根据报告id获取对比文件的数量
         int i = compareFilesMapper.selectedTotal(patentVO.getReportId());
@@ -194,7 +199,7 @@ public class CompareFilesService extends ServiceImpl<CompareFilesMapper, Compare
         }
         //有查询条件时,自定义字段的专利号和任务的专利号取交集
         else {
-          patentNos = reportFieldService.getPatentNo(patentVO.getFiledOptions(),AllpatentNos);
+          patentNos = reportFieldService.getPatentNo(patentVO.getFiledOptions());
             List<String> jiaoList = new ArrayList<>(AllpatentNos);
             jiaoList.retainAll(patentNos);
             patentVO.setPatentNos(jiaoList);

+ 22 - 72
RMS/src/main/java/cn/cslg/report/service/business/ReportFieldService.java

@@ -24,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
 import java.util.*;
+import java.util.function.Consumer;
 import java.util.stream.Collectors;
 
 
@@ -493,91 +494,40 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
             List<String> list = new ArrayList<>();
             return list;
         } else {
-            return this.getPatentNos(params,allPatentNos);
+            return this.getPatentNo2(params,allPatentNos);
         }
 
     }
 
-    public List<String> getPatentNos2(List<SourceVO> params,List<String> allPatentNos) throws IOException {
-        if (params.size() == 1) {
-            return this.getString(params.get(0),allPatentNos);
-        }
-        return this.gather1(params,allPatentNos);
-    }
-    public List<String> getPatentNos(List<SourceVO> params,List<String> allPatentNos) throws IOException {
-        Map<Integer,  List<SourceVO>> map=new HashMap<>();
-        List<SourceVO> p=new ArrayList<>(params);
-       for( int i=0;i<p.size()-1;i++ ){
-           List<SourceVO> list=new ArrayList<>();
-           for(int j=i+1;j<p.size();j++){
+
+    public List<String> getPatentNo2(List<SourceVO> params,List<String> allPatentNos) throws IOException {
+      List< List<Integer>> lists=new
+              ArrayList<>();
+
+       for( int i=0;i<params.size()-1;i++ ){
+           List<Integer> list=new ArrayList<>();
+           list.add(params.get(i).getKey());
+           for(int j=i+1;j<params.size();j++){
+
                //找到自定义字段相同的字段
-               if(list.get(i).getFieldId().equals(list.get(j).getFieldId())){
-                   p.add(list.get(j));
+               if(params.get(i).getFieldId().equals(params.get(j).getFieldId())){
+                  list.add(params.get(j).getKey());
                    //有相同的就删除
-                   list.remove(list.get(j));
+                   params.remove(list.get(j));
                }
            }
-           //有相同的自定义字段id放在map集合里面去
-           if(list.size()!=0){
-               map.put(i,list);
-           }
-       }
-       //list 里面只剩下没有相同的
-        //遍历map
-        //遍历list
-       //如果list里有key=null(未选择)根据fieldId 查出所有专利号 和allPatentNos作差获得未选择patentNos
-
+          lists.add(list);
 
+       }
+        LambdaQueryWrapper<ReportFieldPatentLink> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+       for(List<Integer> list:lists) {
+           lambdaQueryWrapper.and((Consumer<LambdaQueryWrapper<ReportFieldPatentLink>>) lambdaQueryWrapper.in(ReportFieldPatentLink::getOptionId,list));
+       }
+        return null;
     }
 
 
-    public List<String> gather1(List<SourceVO> params,List<String> allPatentNos) throws IOException {
-        //为了求并集
-        List<List<String>> str = new ArrayList<>();
-        //定义新集合保留老集合
-        List<SourceVO> list = new ArrayList<>(params);
-        Map<Integer, List<SourceVO>> map = new HashMap<>();
-        for (int i = 0; i < list.size() - 1; i++) {
-            List<SourceVO> sourceVO = new ArrayList<>();
-            for (int j = 0; j < list.size(); j++) {
-                if (params.get(i).getFieldId().equals(list.get(j).getFieldId())) {
-                    sourceVO.add(list.get(j));
-                    list.remove(list.get(j));
-                }
-            }
-            if (sourceVO.size() != 0) {
-                map.put(i, sourceVO);
-            }
-        }
-        if (map.size() != 0) {
-            for (List<SourceVO> sourceVOS : map.values()) {
-                List<String> str1 = new ArrayList<>();
-                for (SourceVO sourceVO : sourceVOS) {
-                    List<String> string = this.getString(sourceVO,allPatentNos);
-                    str1.addAll(string);
-                }
-                str1.stream().distinct().collect(Collectors.toList());
-                str.add(str1);
-            }
-            for (SourceVO sourceVO : list) {
-                List<String> string = this.getString(sourceVO,allPatentNos);
-                str.add(string);
-            }
 
-        } else {
-            for (SourceVO sourceVO : list) {
-                List<String> string = this.getString(sourceVO,allPatentNos);
-                str.add(string);
-            }
-        }
-        List<String> list1 = str.get(0);
-        str.forEach(item -> {
-            list1.retainAll((Collection<?>) item);
-
-        });
-        return list1;
-
-    }
 
 
 }

+ 60 - 19
RMS/src/main/java/cn/cslg/report/service/business/TaskService.java

@@ -272,10 +272,10 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
         }
         //有查询条件时,自定义字段的专利号和任务的专利号取交集
         else {
-            List<String> temPatentNos = reportFieldService.getPatentNo(patentVO.getFiledOptions(),AllpatentNos);
-            List<String> jiaoList = new ArrayList<>(AllpatentNos);
-            jiaoList.retainAll(temPatentNos);
-            patentVO.setPatentNos(jiaoList);
+//            List<String> temPatentNos = reportFieldService.getPatentNo(patentVO.getFiledOptions());
+//            List<String> jiaoList = new ArrayList<>(AllpatentNos);
+//            jiaoList.retainAll(temPatentNos);
+//            patentVO.setPatentNos(jiaoList);
         }
         String res = outInterfaceService.getConPantentNos(patentVO, 1);
         JSONObject jsonObject1 = JSONObject.parseObject(res);
@@ -402,6 +402,28 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
         reMap.put("read", assoRead.size());
         return reMap;
     }
+
+    /**
+     * @function 任务完成的进度,
+     * @param taskId
+     * @return
+     * @author :cj
+     */
+    public Map<String, Object> reCount( Integer taskId) {
+        //根据任务Id和类型获得任务的清单
+        LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(AssoTaskPersonel::getTaskId, taskId);
+        List<AssoTaskPersonel> assoTaskPersonels = assoTaskPersonelService.list(queryWrapper);
+        //未完成
+        List<AssoTaskPersonel> nofinish = assoTaskPersonels.stream().filter(item -> item.getState().equals(0)).collect(Collectors.toList());
+        //已完成
+        List<AssoTaskPersonel> finish = assoTaskPersonels.stream().filter(item -> item.getState().equals(1)).collect(Collectors.toList());
+        Map<String, Object> reMap = new HashMap<>();
+        reMap.put("total",assoTaskPersonels.size());
+        reMap.put("finish",finish.size());
+        reMap.put("nofinish",nofinish.size());
+        return reMap;
+    }
     /**
      * @function :改变任务的状态
      * @param : 任务的id
@@ -429,29 +451,48 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
 
 
     }
-    public String ReviewTheTasks(TaskVO taskVO){
+    public String ReviewTheTasks(TaskVO taskVO) {
         PersonnelVO personnelVO = cacheUtils.getLoginUser(StpUtil.getLoginIdAsInt());
         LambdaQueryWrapper<Task> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-            lambdaQueryWrapper.eq(Task::getReportId,taskVO.getReportId());
-             List<Task> list = this.list(lambdaQueryWrapper);
-        List<Task> list1=new ArrayList<>();
+        lambdaQueryWrapper.eq(Task::getReportId, taskVO.getReportId());
+        List<Task> list = this.list(lambdaQueryWrapper);
+        List<Task> list1 = new ArrayList<>();
         List<Integer> collect = list.stream().map(Task::getCreateID).collect(Collectors.toList());
-        if(collect.get(0).equals(personnelVO.getId())){
-            if(taskVO.getCurrent()!=null&&taskVO.getSize()!=null){
-
+        if (collect.get(0).equals(personnelVO.getId())) {
+            if (taskVO.getCurrent() != null && taskVO.getSize() != null) {
+                LambdaQueryWrapper<Task> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
+                lambdaQueryWrapper1.eq(Task::getCreateID, personnelVO.getId())
+                        .eq(Task::getReportId, taskVO.getReportId());
+                List<Task> records = this.page(new Page<>(taskVO.getCurrent(), taskVO.getSize()), lambdaQueryWrapper1).getRecords();
+                Long count = this.count(lambdaQueryWrapper1);
+                return Response.success(records, DataUtils.setPageColumn(taskVO.getSize(), taskVO.getCurrent(), Math.toIntExact(count)));
             }
             return Response.success(list);
-        }
-        else {
-            for(Task task:list){
-              if(task.getHandlePersonId().equals(personnelVO.getId())){
-                  list1.add(task);
-              }
+        } else {
+                LambdaQueryWrapper<Task> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
+                lambdaQueryWrapper1.eq(Task::getHandlePersonId, personnelVO.getId())
+                        .eq(Task::getReportId, taskVO.getReportId());
+            if (taskVO.getCurrent() != null && taskVO.getSize() != null) {
+                List<Task> records = this.page(new Page<>(taskVO.getCurrent(), taskVO.getSize()), lambdaQueryWrapper1).getRecords();
+                Long count = this.count(lambdaQueryWrapper1);
+                return Response.success(records, DataUtils.setPageColumn(taskVO.getSize(), taskVO.getCurrent(), Math.toIntExact(count)));
+
+            }
+                return Response.success(this.list(lambdaQueryWrapper1));
             }
-            return Response.success(list1);
+
+        }
+        @Transactional
+        public String read(int taskID,String patentNo){
+            LambdaQueryWrapper<AssoTaskPersonel> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(AssoTaskPersonel::getTaskId,taskID).eq(AssoTaskPersonel::getPatentNo,patentNo);
+            AssoTaskPersonel assoTaskPersonel = assoTaskPersonelService.list(queryWrapper).get(0);
+            assoTaskPersonel.setState(1);
+            assoTaskPersonel.updateById();
+            return Response.success();
         }
 
-    }
+
 
 
 }

+ 19 - 0
RMS/src/main/resources/mapper/ReportFieldPatentLinkMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.cslg.report.mapper.ReportFieldPatentLinkMapper">
+<!--    List<String> select( @Param("map") Map<Integer,List<Integer>> map);-->
+<!--    <select id="select" parameterType="java.util.Map" resultType="java.lang.String">-->
+<!--        select PATENT_NO from OS_PATENT_FIELD_PATENT_LINK  where FID in-->
+<!--        <foreach collection="Map" index="fieldId" item="key">-->
+
+<!--            <foreach collection="key" item="enum" separator=",">-->
+<!--                <trim prefix="(" suffix=")">-->
+<!--                   #{fid}-->
+<!--                </trim>-->
+<!--            </foreach>-->
+<!--        </foreach>-->
+
+
+<!--    </select>-->
+
+</mapper>