Browse Source

添加分配任务(带筛选) 2022/12/12

lwhhszx 2 years ago
parent
commit
cdf60d98e2

+ 74 - 0
RMS/src/main/java/cn/cslg/report/common/model/vo/TaskReportVO.java

@@ -0,0 +1,74 @@
+package cn.cslg.report.common.model.vo;
+
+
+import cn.cslg.report.common.model.BaseVO;
+import cn.cslg.report.entity.Report;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+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 TaskReportVO extends BaseVO {
+    private Integer id;
+    private String createName;
+   private Integer  reportType;
+    @Schema(description = "报告信息")
+    private Report report;
+    @Schema(description = "报告Id")
+    private Integer reportId;
+    @Schema(description = "参与人Id列表")
+    private List<Integer> personIds;
+
+    @Schema(description = "任务名称")
+    private String taskName;
+
+    @Schema(description = "任务Id")
+    private String taskId;
+
+    @Schema(description = "任务类型 0开卷审核任务")
+    private Integer type;
+
+    @Schema(description = "处理人ID",required = true)
+    private Integer handlePersonId;
+
+
+   @Schema(description = "处理人姓名",required = true)
+   private String handlePersonName;
+
+
+ @Schema(description = "创建任务时间")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+
+    /**
+     * 任务开始时间
+     */
+    @Schema(description = "任务开始时间")
+    private Date beginTime;
+
+    /**
+     * 结束时间
+     */
+    @Schema(description = "任务结束时间")
+    private Date endTime;
+
+    @Schema(description = "任务状态 0未完成 1已完成")
+    private Integer taskStatus;
+
+    @Schema(description = "登录人在任务中的身份 0创建人 1处理人")
+    private Integer roleInTask;
+}

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

@@ -56,6 +56,9 @@ public class TaskVO extends BaseVO {
 
     @Schema(description = "登录人在任务中的身份 0创建人 1处理人")
     private Integer roleInTask;
+
+    @Schema(description = "登录人Id")
+    private Integer loginId;
    @Schema(description = "人员专题号对象列表")
   private List<personPatents> personPatents;
 

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

@@ -48,7 +48,7 @@ public class TaskController {
     @RequestMapping(value = "/queryPageList", method = RequestMethod.POST)
     @Operation(summary = "分页查询任务列表")
     public String queryPageList(@RequestBody TaskVO taskVO) {
-        return taskService.queryPageList(taskVO);
+        return Response.success(taskService.queryPageList(taskVO));
     }
 
     @RequestMapping(value = "/add", method = RequestMethod.GET)

+ 1 - 0
RMS/src/main/java/cn/cslg/report/entity/Task.java

@@ -65,6 +65,7 @@ public class Task extends BaseEntity<Task> {
     @Schema(description = "任务创建人姓名")
     @TableField(value = "CREATE_NAME")
     private String createName;
+
     /**
      * 任务开始时间
      */

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

@@ -1,9 +1,17 @@
 package cn.cslg.report.mapper;
 
+import cn.cslg.report.common.model.vo.TaskReportVO;
+import cn.cslg.report.common.model.vo.TaskVO;
 import cn.cslg.report.entity.Task;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 @Mapper
 public interface TaskMapper extends BaseMapper<Task> {
+    public IPage<TaskReportVO> queryTasks(Page<TaskReportVO> page , @Param("param") TaskVO taskVo);
 }

+ 3 - 5
RMS/src/main/java/cn/cslg/report/service/business/FeatureService.java

@@ -163,9 +163,8 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
             List<Features> featuresList = new ArrayList<>();
             String[] tems = patentRights.get(i).getContent().split("\\.");
             String name = "权要" + tems[0].replace(" ", "");
-            int rightId = patentRights.get(i).getId();
+            int rightId = patentRights.get(i).getSort();
             //对需要拆解的权要进行拆解
-
             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());
             }
@@ -184,7 +183,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
                 //遍历拆解出来的内容并装载到features最后存入列表
                 for (int t = 0; t < contents.size(); t++) {
                     Features features = new Features();
-                    features.setRightId(patentRights.get(i).getId());
+                    features.setRightId(patentRights.get(i).getSort());
                     features.setIsFinal(0);
                     features.setSignPatentNo(patentNo);
                     features.setReportId(reportId);
@@ -256,7 +255,6 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
         featureTO.setSignPatentNo(patentNo);
         featureTO.setPartnerIds(Arrays.asList(report.getPersonId(),report.getCreatePersonId()));
 
-
         //查询数据库里是否有查询记录
         List<Features> featureFromDb = this.queryFeatures(featureTO);
         //将拆解的权要和特征装载到对象PatentRightVo
@@ -265,7 +263,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
             List<Features> featuresList = new ArrayList<>();
             //对需要拆解的权要进行拆解
             if (featureFromDb != null && featureFromDb.size() != 0) {
-                int rightId = patentRights.get(i).getId();
+                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());
             }
             //装载到对象PatentRightVo

+ 5 - 38
RMS/src/main/java/cn/cslg/report/service/business/TaskService.java

@@ -17,6 +17,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import io.swagger.v3.oas.models.security.SecurityScheme;
@@ -113,44 +114,10 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
      * @return
      * @function 查询任务
      */
-    public String queryPageList(TaskVO taskVO) {
-        //获得登录人的信息
-        PersonnelVO personnelVO = cacheUtils.getLoginUser(StpUtil.getLoginIdAsInt());
-        LambdaQueryWrapper<Task> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-
-        if (taskVO.getType() != null) {
-            lambdaQueryWrapper.eq(Task::getType, taskVO.getType());
-        }
-        if (taskVO.getTaskStatus() != null) {
-            lambdaQueryWrapper.eq(Task::getTaskStatus, taskVO.getTaskStatus());
-        }
-        if(taskVO.getCreateName()!=null){
-            lambdaQueryWrapper.like(Task::getCreateName,taskVO.getCreateName());
-        }
-        if(taskVO.getTaskName()!=null){
-            lambdaQueryWrapper.like(Task::getTaskName,taskVO.getTaskName());
-        }
-        if (taskVO.getRoleInTask() != null) {
-            if (taskVO.getRoleInTask() == 0) {
-                lambdaQueryWrapper.eq(Task::getCreateID, personnelVO.getId());
-
-            } else if (taskVO.getRoleInTask() == 1) {
-                lambdaQueryWrapper.eq(Task::getHandlePersonId, personnelVO.getId());
-            }
-        }
-
-        lambdaQueryWrapper.orderByDesc(Task::getId);
-        List<Task> taskList;
-        Long count = this.count(lambdaQueryWrapper);
-        //分页
-        if (taskVO.getCurrent() != null && taskVO.getSize() != null) {
-            taskList = this.page(new Page<>(taskVO.getCurrent(), taskVO.getSize()), lambdaQueryWrapper).getRecords();
-            return Response.success(taskList, DataUtils.setPageColumn(taskVO.getSize(), taskVO.getCurrent(), Math.toIntExact(count)));
-        } else {
-            taskList = this.list(lambdaQueryWrapper);
-            return Response.success(taskList);
-        }
-
+    public IPage<TaskReportVO> queryPageList(TaskVO taskVO) {
+        taskVO.setLoginId(StpUtil.getLoginIdAsInt());
+        IPage<TaskReportVO> dataPage =   baseMapper.queryTasks(new Page<>(taskVO.getCurrent(),taskVO.getSize()),taskVO);
+return dataPage;
     }
 
     /**

+ 33 - 0
RMS/src/main/resources/mapper/TaskMapper.xml

@@ -0,0 +1,33 @@
+<?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.TaskMapper">
+    <select id="queryTasks" resultType="cn.cslg.report.common.model.vo.TaskReportVO" >
+   select a.* ,b.TYPE as reportType from TASK a left join REPORT b on a.REPORT_ID=b.ID
+   <where>
+<if test="param.type !=null">
+ and a.TYPE =#{param.type}
+</if>
+        <if test="param.taskStatus !=null">
+and a.TASK_STATUS=#{param.taskStatus}
+
+        </if>
+        <if test="param.createName !=null">
+and a.CREATE_NAME like concat('%', #{param.createName}, '%')
+
+        </if>
+        <if test="param.taskName !=null">
+and a.TASK_NAME  like concat('%', #{param.taskName}, '%')
+
+        </if>
+
+        <if test="param.roleInTask !=null and param.roleInTask == 0">
+and a.CREATE_ID=#{param.loginId}
+
+        </if>
+        <if test="param.roleInTask !=null and param.roleInTask == 1">
+            and a.HANDLE_PERSON_ID=#{param.loginId}
+        </if>
+   </where>
+        order by a.id desc
+    </select>
+</mapper>