Bladeren bron

流程待办任务修改

wangliang 1 jaar geleden
bovenliggende
commit
a19c4de326

+ 4 - 2
sop-business/src/main/java/com/qmth/sop/business/activiti/service/ActivitiService.java

@@ -1,8 +1,9 @@
 package com.qmth.sop.business.activiti.service;
 
-import com.qmth.sop.business.bean.bean.FormPropertyBean;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.qmth.sop.business.bean.params.FlowApproveParam;
 import com.qmth.sop.business.bean.result.FlowViewResult;
+import com.qmth.sop.business.bean.result.WorkTaskResult;
 import com.qmth.sop.common.enums.TFCustomTypeEnum;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -66,10 +67,11 @@ public interface ActivitiService {
     /**
      * 获取用户待办
      *
+     * @param iPage
      * @param userId
      * @return
      */
-    public List<FormPropertyBean> getTaskList(Long userId);
+    public IPage<WorkTaskResult> getTaskList(IPage<Map> iPage, Long userId);
 
     /**
      * 流程节点转他人审批

+ 6 - 7
sop-business/src/main/java/com/qmth/sop/business/activiti/service/impl/ActivitiServiceImpl.java

@@ -3,11 +3,9 @@ package com.qmth.sop.business.activiti.service.impl;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.gson.reflect.TypeToken;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.sop.business.activiti.service.ActivitiService;
-import com.qmth.sop.business.bean.bean.FormPropertyBean;
 import com.qmth.sop.business.bean.params.FlowApproveParam;
 import com.qmth.sop.business.bean.result.*;
 import com.qmth.sop.business.cache.CommonCacheService;
@@ -419,14 +417,14 @@ public class ActivitiServiceImpl implements ActivitiService {
     /**
      * 获取用户待办
      *
+     * @param iPage
      * @param userId
      * @return
      */
     @Override
-    public List<FormPropertyBean> getTaskList(Long userId) {
+    public IPage<WorkTaskResult> getTaskList(IPage<Map> iPage, Long userId) {
         Map<String, Object> map = new HashMap<>();
-        List<FormPropertyBean> formPropertyList = new LinkedList<>();
-        IPage<WorkTaskResult> workTaskResultIPage = sysUserService.getWorkTaskList(new Page<>(SystemConstant.PAGE_NUMBER_MIN, SystemConstant.PAGE_SIZE_MAX_SELECT), userId);
+        IPage<WorkTaskResult> workTaskResultIPage = sysUserService.getWorkTaskList(iPage, userId);
         if (Objects.nonNull(workTaskResultIPage) && !CollectionUtils.isEmpty(workTaskResultIPage.getRecords())) {
             for (WorkTaskResult w : workTaskResultIPage.getRecords()) {
                 List<Task> taskList = taskService.createTaskQuery().taskId(String.valueOf(w.getTaskId())).list();
@@ -436,12 +434,13 @@ public class ActivitiServiceImpl implements ActivitiService {
                         LinkedHashMap<String, FlowTaskResult> setupMap = flowResult.getSetupMap();
                         FlowTaskResult currFlowTaskResult = GsonUtil.fromJson(GsonUtil.toJson(setupMap.get(t.getTaskDefinitionKey())), FlowTaskResult.class);
                         map = this.getFlowFormPropertie(flowResult, map, currFlowTaskResult.getSetup());
-                        formPropertyList.add(new FormPropertyBean(Long.parseLong(t.getProcessInstanceId()), Long.parseLong(t.getId()), userId, (FlowTaskResult) map.get(SystemConstant.FORM_PROPERTIES), w.getStatus(), String.valueOf(w.getCustomFlowEntityid())));
+                        w.setFlowProcessVar(null);
+                        w.setSetupMap((FlowTaskResult) map.get(SystemConstant.FORM_PROPERTIES));
                     }
                 }
             }
         }
-        return formPropertyList;
+        return workTaskResultIPage;
     }
 
     /**

+ 94 - 9
sop-business/src/main/java/com/qmth/sop/business/bean/result/WorkTaskResult.java

@@ -1,8 +1,10 @@
 package com.qmth.sop.business.bean.result;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.sop.common.enums.FlowStatusEnum;
+import com.qmth.sop.common.enums.TFCustomTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import java.io.Serializable;
@@ -15,6 +17,7 @@ import java.util.Objects;
  * @Author: wangliang
  * @Date: 2023/8/10
  */
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class WorkTaskResult implements Serializable {
 
     @ApiModelProperty(value = "用户id")
@@ -22,7 +25,7 @@ public class WorkTaskResult implements Serializable {
     private Long userId;
 
     @ApiModelProperty(value = "用户姓名")
-    private String userName;
+    private String realName;
 
     @ApiModelProperty(value = "流程状态")
     private FlowStatusEnum status;
@@ -61,6 +64,96 @@ public class WorkTaskResult implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     private Long customFlowEntityid;
 
+    @ApiModelProperty(value = "流程类型")
+    private TFCustomTypeEnum type;
+
+    @ApiModelProperty(value = "流程类型str")
+    private String typeStr;
+
+    @ApiModelProperty(value = "用户登录名")
+    private String loginName;
+
+    @ApiModelProperty(value = "用户手机号")
+    private String mobileNumber;
+
+    @ApiModelProperty(value = "流程编号")
+    private String code;
+
+    @ApiModelProperty(value = "流程版本号")
+    private Integer version;
+
+    @ApiModelProperty(value = "动态表单")
+    FlowTaskResult setupMap;
+
+
+    public FlowTaskResult getSetupMap() {
+        return setupMap;
+    }
+
+    public void setSetupMap(FlowTaskResult setupMap) {
+        this.setupMap = setupMap;
+    }
+
+    public String getRealName() {
+        return realName;
+    }
+
+    public void setRealName(String realName) {
+        this.realName = realName;
+    }
+
+    public TFCustomTypeEnum getType() {
+        return type;
+    }
+
+    public void setType(TFCustomTypeEnum type) {
+        this.type = type;
+    }
+
+    public String getTypeStr() {
+        if (Objects.nonNull(type)) {
+            return type.getTitle();
+        } else {
+            return typeStr;
+        }
+    }
+
+    public void setTypeStr(String typeStr) {
+        this.typeStr = typeStr;
+    }
+
+    public String getLoginName() {
+        return loginName;
+    }
+
+    public void setLoginName(String loginName) {
+        this.loginName = loginName;
+    }
+
+    public String getMobileNumber() {
+        return mobileNumber;
+    }
+
+    public void setMobileNumber(String mobileNumber) {
+        this.mobileNumber = mobileNumber;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public Integer getVersion() {
+        return version;
+    }
+
+    public void setVersion(Integer version) {
+        this.version = version;
+    }
+
     public Long getCustomFlowEntityid() {
         return customFlowEntityid;
     }
@@ -77,14 +170,6 @@ public class WorkTaskResult implements Serializable {
         this.userId = userId;
     }
 
-    public String getUserName() {
-        return userName;
-    }
-
-    public void setUserName(String userName) {
-        this.userName = userName;
-    }
-
     public FlowStatusEnum getStatus() {
         return status;
     }

+ 14 - 4
sop-business/src/main/resources/mapper/SysUserMapper.xml

@@ -12,13 +12,18 @@
         from
             (select
                     cast(art.ASSIGNEE_ as Decimal(24)) as userId,
-                    c.real_name userName,
+                    c.real_name realName,
+                    c.login_name as loginName,
+                    c.mobile_number as mobileNumber,
+                    tfcf.type,
+                    tfcfe.code,
                     tffa.status,
+                    tffa.setup,
+                    tfcf.version,
                     art.PROC_INST_ID_ as flowId,
                     art.NAME_ as taskName,
                     art.TASK_DEF_KEY_ as taskDefKey,
                     art.ID_ as taskId,
-                    tffa.setup,
                     tfcfe.flow_process_var as flowProcessVar,
                     tfcfe.t_f_custom_flow_id as customFlowId,
                     tfcf.flow_deployment_id as flowDeploymentId,
@@ -33,13 +38,18 @@
                 UNION all
                 select
                     cast(ari.USER_ID_ as Decimal(24)) as userId,
-                    c.real_name userName,
+                    c.real_name realName,
+                    c.login_name as loginName,
+                    c.mobile_number as mobileNumber,
+                    tfcf.type,
+                    tfcfe.code,
                     tffa.status,
+                    tffa.setup,
+                    tfcf.version,
                     art.PROC_INST_ID_ as flowId,
                     art.NAME_ as taskName,
                     art.TASK_DEF_KEY_ as taskDefKey,
                     art.ID_ as taskId,
-                    tffa.setup,
                     tfcfe.flow_process_var as flowProcessVar,
                     tfcfe.t_f_custom_flow_id as customFlowId,
                     tfcf.flow_deployment_id as flowDeploymentId,

+ 7 - 2
sop-server/src/main/java/com/qmth/sop/server/api/TFCustomFlowController.java

@@ -1,6 +1,7 @@
 package com.qmth.sop.server.api;
 
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.sop.business.activiti.service.ActivitiService;
 import com.qmth.sop.business.bean.bean.FormPropertyBean;
@@ -21,6 +22,8 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
 import java.io.IOException;
 import java.util.Arrays;
 
@@ -89,8 +92,10 @@ public class TFCustomFlowController {
     @ApiOperation(value = "获取待办接口")
     @RequestMapping(value = "/getTaskList", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = FormPropertyBean.class)})
-    public Result getTaskList(@ApiParam(value = "用户id", required = true) @RequestParam Long userId) {
-        return ResultUtil.ok(activitiService.getTaskList(userId));
+    public Result getTaskList(@ApiParam(value = "用户id", required = true) @RequestParam Long userId,
+                              @ApiParam(value = "页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+                              @ApiParam(value = "页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+        return ResultUtil.ok(activitiService.getTaskList(new Page<>(pageNumber, pageSize), userId));
     }
 
     @ApiOperation(value = "结束流程接口")