Эх сурвалжийг харах

修改质量问题反馈流程申请

wangliang 1 жил өмнө
parent
commit
9793c063e5
17 өөрчлөгдсөн 198 нэмэгдсэн , 158 устгасан
  1. 3 17
      sop-business/src/main/java/com/qmth/sop/business/activiti/service/ActivitiService.java
  2. 39 43
      sop-business/src/main/java/com/qmth/sop/business/activiti/service/impl/ActivitiServiceImpl.java
  3. 110 0
      sop-business/src/main/java/com/qmth/sop/business/bean/params/FlowApproveParam.java
  4. 2 1
      sop-business/src/main/java/com/qmth/sop/business/bean/params/LoginParam.java
  5. 3 3
      sop-business/src/main/java/com/qmth/sop/business/bean/params/SysRolePrivilegeParam.java
  6. 2 2
      sop-business/src/main/java/com/qmth/sop/business/entity/SysRole.java
  7. 0 27
      sop-business/src/main/java/com/qmth/sop/business/entity/TBQualityProblemApply.java
  8. 2 1
      sop-business/src/main/java/com/qmth/sop/business/entity/TFCustomFlowEntity.java
  9. 2 2
      sop-business/src/main/java/com/qmth/sop/business/service/SysRoleService.java
  10. 2 2
      sop-business/src/main/java/com/qmth/sop/business/service/impl/SysRoleServiceImpl.java
  11. 13 22
      sop-business/src/main/java/com/qmth/sop/business/service/impl/TBQualityProblemApplyServiceImpl.java
  12. 2 0
      sop-common/src/main/java/com/qmth/sop/common/contant/SystemConstant.java
  13. 3 6
      sop-server/src/main/java/com/qmth/sop/server/api/SysOrgController.java
  14. 4 4
      sop-server/src/main/java/com/qmth/sop/server/api/SysRoleController.java
  15. 1 1
      sop-server/src/main/java/com/qmth/sop/server/api/SysUserController.java
  16. 1 1
      sop-server/src/main/java/com/qmth/sop/server/api/TBQualityProblemApplyController.java
  17. 9 26
      sop-server/src/main/java/com/qmth/sop/server/api/TFCustomFlowController.java

+ 3 - 17
sop-business/src/main/java/com/qmth/sop/business/activiti/service/ActivitiService.java

@@ -1,8 +1,8 @@
 package com.qmth.sop.business.activiti.service;
 
 import com.qmth.sop.business.bean.bean.FormPropertyBean;
+import com.qmth.sop.business.bean.params.FlowApproveParam;
 import com.qmth.sop.business.bean.result.FlowViewResult;
-import com.qmth.sop.common.enums.FlowApprovePassEnum;
 import com.qmth.sop.common.enums.TFCustomTypeEnum;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -48,24 +48,10 @@ public interface ActivitiService {
     /**
      * 审批任务
      *
-     * @param flowDeploymentId
-     * @param approve
-     * @param setup
-     * @param taskId
-     * @param formProperties
-     * @param approveUserIds
-     * @param approveRemark
-     * @param map
+     * @param flowApproveParam
      * @return
      */
-    public Map<String, Object> taskApprove(String flowDeploymentId,
-                                           FlowApprovePassEnum approve,
-                                           Integer setup,
-                                           Long taskId,
-                                           String formProperties,
-                                           List<String> approveUserIds,
-                                           String approveRemark,
-                                           Map<String, Object> map);
+    public Map<String, Object> taskApprove(FlowApproveParam flowApproveParam) throws InterruptedException;
 
     /**
      * 获取流程表单属性接口

+ 39 - 43
sop-business/src/main/java/com/qmth/sop/business/activiti/service/impl/ActivitiServiceImpl.java

@@ -8,6 +8,7 @@ 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;
 import com.qmth.sop.business.entity.*;
@@ -98,6 +99,9 @@ public class ActivitiServiceImpl implements ActivitiService {
     @Resource
     CommonCacheService commonCacheService;
 
+    @Resource
+    SequenceService sequenceService;
+
     /**
      * 根据deploymentId查找processDefinitionId
      *
@@ -158,27 +162,15 @@ public class ActivitiServiceImpl implements ActivitiService {
     /**
      * 审批任务
      *
-     * @param flowDeploymentId
-     * @param approve
-     * @param setup
-     * @param taskId
-     * @param formProperties
-     * @param approveUserIds
-     * @param approveRemark
-     * @param map
+     * @param flowApproveParam
      * @return
      */
     @Override
-    public Map<String, Object> taskApprove(String flowDeploymentId,
-                                           FlowApprovePassEnum approve,
-                                           Integer setup,
-                                           Long taskId,
-                                           String formProperties,
-                                           List<String> approveUserIds,
-                                           String approveRemark,
-                                           Map<String, Object> map) {
+    public Map<String, Object> taskApprove(FlowApproveParam flowApproveParam) throws InterruptedException {
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
-        if (CollectionUtils.isEmpty(approveUserIds) && (approve == FlowApprovePassEnum.START || approve == FlowApprovePassEnum.DRAFT || approve == FlowApprovePassEnum.PASS)) {
+        Map<String, Object> map = new HashMap<>();
+        List<String> approveUserIds = flowApproveParam.getApproveUserIds();
+        if (CollectionUtils.isEmpty(approveUserIds) && (flowApproveParam.getApprove() == FlowApprovePassEnum.START || flowApproveParam.getApprove() == FlowApprovePassEnum.DRAFT || flowApproveParam.getApprove() == FlowApprovePassEnum.PASS)) {
             approveUserIds = new ArrayList<>();
             approveUserIds.add(String.valueOf(sysUser.getId()));//否则是当前登录用户
         }
@@ -187,18 +179,20 @@ public class ActivitiServiceImpl implements ActivitiService {
         TFFlowApprove tfFlowApprove = null;
         Task taskTemp = null;
         FlowResult flowResult = null;
-        if (Objects.nonNull(flowDeploymentId) && Objects.isNull(taskId)) {
-            TFCustomFlow tfCustomFlow = tfCustomFlowService.getOne(new QueryWrapper<TFCustomFlow>().lambda().eq(TFCustomFlow::getFlowDeploymentId, flowDeploymentId));
+        if (Objects.nonNull(flowApproveParam.getFlowDeploymentId()) && Objects.isNull(flowApproveParam.getTaskId())) {
+            TFCustomFlow tfCustomFlow = tfCustomFlowService.getOne(new QueryWrapper<TFCustomFlow>().lambda().eq(TFCustomFlow::getFlowDeploymentId, flowApproveParam.getFlowDeploymentId()));
             Optional.ofNullable(tfCustomFlow.getFlowProcessVar()).orElseThrow(() -> ExceptionResultEnum.FLOW_PROCESS_VAR_NO_DATA.exception());
 
             map.put(SystemConstant.DEFAULT_ASSIGNEE_LIST + 1, approveUserIds);
             ProcessInstance processInstance = runtimeService.startProcessInstanceById(tfCustomFlow.getFlowDefinitionId(), map);
             processFlowId = processInstance.getId();
-            tfCustomFlowEntity = new TFCustomFlowEntity(tfCustomFlow.getId(), sysUser.getId());
-            tfFlowApprove = new TFFlowApprove(sysUser.getOrgId(), Long.parseLong(approveUserIds.get(approveUserIds.size() - 1)), FlowStatusEnum.valueOf(approve.name()), null);
+
+            String code = sequenceService.createFlowCode(tfCustomFlow.getType());
+            tfCustomFlowEntity = new TFCustomFlowEntity(tfCustomFlow.getId(), sysUser.getId(), code);
+            tfFlowApprove = new TFFlowApprove(sysUser.getOrgId(), Long.parseLong(approveUserIds.get(approveUserIds.size() - 1)), FlowStatusEnum.valueOf(flowApproveParam.getApprove().name()), null);
             flowResult = JSONObject.parseObject(tfCustomFlow.getFlowProcessVar(), FlowResult.class);
-        } else if (Objects.nonNull(taskId)) {
-            taskTemp = taskService.createTaskQuery().taskId(String.valueOf(taskId)).singleResult();
+        } else if (Objects.nonNull(flowApproveParam.getTaskId())) {
+            taskTemp = taskService.createTaskQuery().taskId(String.valueOf(flowApproveParam.getTaskId())).singleResult();
             Optional.ofNullable(taskTemp).orElseThrow(() -> ExceptionResultEnum.FLOW_TASK_NO_DATA.exception());
             processFlowId = taskTemp.getProcessInstanceId();
         }
@@ -240,23 +234,23 @@ public class ActivitiServiceImpl implements ActivitiService {
                         multiInstance = true;
                     }
                     currFlowTaskResult = GsonUtil.fromJson(GsonUtil.toJson(setupMap.get(task.getTaskDefinitionKey())), FlowTaskResult.class);
-                    if (Objects.nonNull(formProperties)) {
-                        formDataFlowTaskResult = JSONObject.parseObject(formProperties, FlowTaskResult.class);
+                    if (Objects.nonNull(flowApproveParam.getFormProperties())) {
+                        formDataFlowTaskResult = JSONObject.parseObject(flowApproveParam.getFormProperties(), FlowTaskResult.class);
                     }
                     int currSetup = currFlowTaskResult.getSetup().intValue();
-                    if (currSetup != 1 && approve == FlowApprovePassEnum.START) {
+                    if (currSetup != 1 && flowApproveParam.getApprove() == FlowApprovePassEnum.START) {
                         throw ExceptionResultEnum.ERROR.exception("只有流程第一步才需要提交!");
                     }
-                    if (currSetup != 2 && approve == FlowApprovePassEnum.CANCEL) {
+                    if (currSetup != 2 && flowApproveParam.getApprove() == FlowApprovePassEnum.CANCEL) {
                         throw ExceptionResultEnum.ERROR.exception("只有流程第二步才能撤回!");
                     }
                     //流程流水日志
                     TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getOrgId(), sysUser.getId(), sysUser.getId(),
                             currFlowTaskResult.getSetup(), Long.parseLong(processFlowId),
                             Long.parseLong(task.getId()), tfCustomFlowEntity.getId(), approveUserIds.toString().replaceAll("\\[", "").replaceAll("\\]", ""));
-                    if (approve == FlowApprovePassEnum.PASS || approve == FlowApprovePassEnum.DRAFT || approve == FlowApprovePassEnum.START) {
-                        if (Objects.nonNull(setup)) {
-                            currSetup = setup;
+                    if (flowApproveParam.getApprove() == FlowApprovePassEnum.PASS || flowApproveParam.getApprove() == FlowApprovePassEnum.DRAFT || flowApproveParam.getApprove() == FlowApprovePassEnum.START) {
+                        if (Objects.nonNull(flowApproveParam.getSetup())) {
+                            currSetup = flowApproveParam.getSetup();
                         } else {
                             currSetup = currSetup == setupMap.size() - 1 ? 0 : currSetup + 1;
                         }
@@ -266,7 +260,7 @@ public class ActivitiServiceImpl implements ActivitiService {
                                 nextFlowTaskResult,
                                 currSetup,
                                 setupMap,
-                                approve);
+                                flowApproveParam.getApprove());
 
                         this.approvePass(currFlowTaskResult,
                                 setupMap,
@@ -277,12 +271,12 @@ public class ActivitiServiceImpl implements ActivitiService {
                                 tfFlowLog,
                                 nextFlowTaskResult,
                                 map,
-                                approve,
-                                approveRemark);
+                                flowApproveParam.getApprove(),
+                                flowApproveParam.getApproveRemark());
                         map.put(SystemConstant.DEFAULT_ASSIGNEE_LIST + nextFlowTaskResult.getSetup(), approveUserIds);
-                    } else if (approve == FlowApprovePassEnum.REJECT || approve == FlowApprovePassEnum.CANCEL) {
-                        if (Objects.nonNull(setup)) {
-                            currSetup = setup;
+                    } else if (flowApproveParam.getApprove() == FlowApprovePassEnum.REJECT || flowApproveParam.getApprove() == FlowApprovePassEnum.CANCEL) {
+                        if (Objects.nonNull(flowApproveParam.getSetup())) {
+                            currSetup = flowApproveParam.getSetup();
                         } else {
                             currSetup = currSetup - 1;
                         }
@@ -293,7 +287,7 @@ public class ActivitiServiceImpl implements ActivitiService {
                                 nextFlowTaskResult,
                                 currSetup,
                                 setupMap,
-                                approve);
+                                flowApproveParam.getApprove());
 
                         this.approveReject(multiInstance,
                                 map,
@@ -301,8 +295,8 @@ public class ActivitiServiceImpl implements ActivitiService {
                                 nextFlowTaskResult,
                                 tfFlowApprove,
                                 tfFlowLog,
-                                approve,
-                                approveRemark);
+                                flowApproveParam.getApprove(),
+                                flowApproveParam.getApproveRemark());
                     }
                     map.put(SystemConstant.APPROVE, nextFlowTaskResult.getTaskKey());
                     map.put(SystemConstant.DEFAULT_ASSIGNEE_LIST + nextFlowTaskResult.getSetup(), approveUserIds);
@@ -311,9 +305,9 @@ public class ActivitiServiceImpl implements ActivitiService {
                     }
                     flowResult.setSetupMap(setupMap);
                     tfCustomFlowEntity.setFlowProcessVar(JacksonUtil.parseJson(flowResult));
-                    if (approve == FlowApprovePassEnum.START || approve == FlowApprovePassEnum.PASS
-                            || approve == FlowApprovePassEnum.CANCEL || approve == FlowApprovePassEnum.REJECT) {
-                        if (approve == FlowApprovePassEnum.CANCEL || approve == FlowApprovePassEnum.REJECT) {
+                    if (flowApproveParam.getApprove() == FlowApprovePassEnum.START || flowApproveParam.getApprove() == FlowApprovePassEnum.PASS
+                            || flowApproveParam.getApprove() == FlowApprovePassEnum.CANCEL || flowApproveParam.getApprove() == FlowApprovePassEnum.REJECT) {
+                        if (flowApproveParam.getApprove() == FlowApprovePassEnum.CANCEL || flowApproveParam.getApprove() == FlowApprovePassEnum.REJECT) {
                             List<HistoricTaskInstance> historicTaskInstanceList = historyService.createHistoricTaskInstanceQuery()
                                     .processInstanceId(task.getProcessInstanceId()).orderByHistoricTaskInstanceEndTime().desc().list();
                             if (!CollectionUtils.isEmpty(historicTaskInstanceList)) {
@@ -337,7 +331,7 @@ public class ActivitiServiceImpl implements ActivitiService {
                             }
                         }
                         taskService.complete(task.getId(), map);
-                        if (approve == FlowApprovePassEnum.START || approve == FlowApprovePassEnum.PASS) {
+                        if (flowApproveParam.getApprove() == FlowApprovePassEnum.START || flowApproveParam.getApprove() == FlowApprovePassEnum.PASS) {
                             List<Task> tasks = taskService.createTaskQuery().processInstanceId(processFlowId).list();
                             if (!CollectionUtils.isEmpty(tasks)) {
                                 Set<String> approveIdSet = new LinkedHashSet<>();
@@ -363,6 +357,8 @@ public class ActivitiServiceImpl implements ActivitiService {
             tfCustomFlowEntityService.saveOrUpdate(tfCustomFlowEntity);
             tfFlowApproveService.saveOrUpdate(tfFlowApprove);
             tfFlowLogService.saveBatch(tfFlowLogList);
+            map.put(SystemConstant.FLOW_APPROVE, tfFlowApprove);
+            map.put(SystemConstant.CUSTOM_FLOW_ENTITY, tfCustomFlowEntity);
         } catch (Exception e) {
             log.error(SystemConstant.LOG_ERROR, e);
             if (e instanceof ApiException) {

+ 110 - 0
sop-business/src/main/java/com/qmth/sop/business/bean/params/FlowApproveParam.java

@@ -0,0 +1,110 @@
+package com.qmth.sop.business.bean.params;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.sop.common.enums.FlowApprovePassEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description: 流程审批param
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2021/4/23
+ */
+public class FlowApproveParam implements Serializable {
+
+    @ApiModelProperty(value = "流程部署id")
+    private String flowDeploymentId;
+
+    @ApiModelProperty(value = "流程操作")
+    @NotNull(message = "流程操作不能为空")
+    private FlowApprovePassEnum approve;
+
+    @ApiModelProperty(value = "流程步骤")
+    private Integer setup;
+
+    @ApiModelProperty(value = "密码")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long taskId;
+
+    @ApiModelProperty(value = "流程表单数据")
+    private String formProperties;
+
+    @ApiModelProperty(value = "流程审批人")
+    private List<String> approveUserIds;
+
+    @ApiModelProperty(value = "流程审批意见")
+    private String approveRemark;
+
+    public FlowApproveParam() {
+
+    }
+
+    public FlowApproveParam(String flowDeploymentId, FlowApprovePassEnum approve, String formProperties, List<String> approveUserIds) {
+        this.flowDeploymentId = flowDeploymentId;
+        this.approve = approve;
+        this.formProperties = formProperties;
+        this.approveUserIds = approveUserIds;
+    }
+
+    public String getFlowDeploymentId() {
+        return flowDeploymentId;
+    }
+
+    public void setFlowDeploymentId(String flowDeploymentId) {
+        this.flowDeploymentId = flowDeploymentId;
+    }
+
+    public FlowApprovePassEnum getApprove() {
+        return approve;
+    }
+
+    public void setApprove(FlowApprovePassEnum approve) {
+        this.approve = approve;
+    }
+
+    public Integer getSetup() {
+        return setup;
+    }
+
+    public void setSetup(Integer setup) {
+        this.setup = setup;
+    }
+
+    public Long getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(Long taskId) {
+        this.taskId = taskId;
+    }
+
+    public String getFormProperties() {
+        return formProperties;
+    }
+
+    public void setFormProperties(String formProperties) {
+        this.formProperties = formProperties;
+    }
+
+    public List<String> getApproveUserIds() {
+        return approveUserIds;
+    }
+
+    public void setApproveUserIds(List<String> approveUserIds) {
+        this.approveUserIds = approveUserIds;
+    }
+
+    public String getApproveRemark() {
+        return approveRemark;
+    }
+
+    public void setApproveRemark(String approveRemark) {
+        this.approveRemark = approveRemark;
+    }
+}

+ 2 - 1
sop-business/src/main/java/com/qmth/sop/business/bean/params/LoginParam.java

@@ -4,6 +4,7 @@ import com.qmth.sop.common.enums.LoginTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
 
 import javax.validation.constraints.NotNull;
+import java.io.Serializable;
 
 /**
  * @Description: 用户登录
@@ -12,7 +13,7 @@ import javax.validation.constraints.NotNull;
  * @Author: wangliang
  * @Date: 2021/4/23
  */
-public class LoginParam {
+public class LoginParam implements Serializable {
 
     @ApiModelProperty(value = "验证码")
     private String code;

+ 3 - 3
sop-business/src/main/java/com/qmth/sop/business/bean/params/SysRolePrivilegeParams.java → sop-business/src/main/java/com/qmth/sop/business/bean/params/SysRolePrivilegeParam.java

@@ -15,7 +15,7 @@ import java.util.List;
  * @Author: CaoZixuan
  * @Date: 2022-12-06
  */
-public class SysRolePrivilegeParams implements Serializable {
+public class SysRolePrivilegeParam implements Serializable {
 
     @ApiModelProperty("角色id")
     @JsonSerialize(using = ToStringSerializer.class)
@@ -31,11 +31,11 @@ public class SysRolePrivilegeParams implements Serializable {
     @JsonSerialize(using = ToStringSerializer.class)
     private List<Long> privilegeIds;
 
-    public SysRolePrivilegeParams() {
+    public SysRolePrivilegeParam() {
 
     }
 
-    public SysRolePrivilegeParams(Long id, String name, List<Long> privilegeIds) {
+    public SysRolePrivilegeParam(Long id, String name, List<Long> privilegeIds) {
         this.id = id;
         this.name = name;
         this.privilegeIds = privilegeIds;

+ 2 - 2
sop-business/src/main/java/com/qmth/sop/business/entity/SysRole.java

@@ -3,7 +3,7 @@ package com.qmth.sop.business.entity;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.qmth.sop.business.bean.params.SysRolePrivilegeParams;
+import com.qmth.sop.business.bean.params.SysRolePrivilegeParam;
 import com.qmth.sop.common.base.BaseEntity;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.RoleTypeEnum;
@@ -56,7 +56,7 @@ public class SysRole extends BaseEntity implements Serializable {
 
     }
 
-    public SysRole(SysRolePrivilegeParams sysRolePrivilegeParams) {
+    public SysRole(SysRolePrivilegeParam sysRolePrivilegeParams) {
         if (Objects.nonNull(sysRolePrivilegeParams.getId())) {
             setId(sysRolePrivilegeParams.getId());
         } else {

+ 0 - 27
sop-business/src/main/java/com/qmth/sop/business/entity/TBQualityProblemApply.java

@@ -5,7 +5,6 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.sop.common.base.BaseEntity;
 import com.qmth.sop.common.contant.SystemConstant;
-import com.qmth.sop.common.enums.FlowApprovePassEnum;
 import com.qmth.sop.common.enums.InfluenceDegreeEnum;
 import com.qmth.sop.common.enums.QualityProblemReasonEnum;
 import com.qmth.sop.common.enums.QualityProblemTypeEnum;
@@ -15,7 +14,6 @@ import io.swagger.annotations.ApiModelProperty;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.io.Serializable;
-import java.util.List;
 
 /**
  * <p>
@@ -77,19 +75,10 @@ public class TBQualityProblemApply extends BaseEntity implements Serializable {
     @NotNull(message = "流程部署id不能为空")
     private String flowDeploymentId;
 
-    @TableField(exist = false)
-    @ApiModelProperty(value = "流程操作")
-    @NotNull(message = "流程操作不能为空")
-    private FlowApprovePassEnum approve;
-
     @TableField(exist = false)
     @ApiModelProperty(value = "流程表单")
     private String formProperties;
 
-    @TableField(exist = false)
-    @ApiModelProperty(value = "流程审批人")
-    private List<String> approveUserIds;
-
     public TBQualityProblemApply() {
 
     }
@@ -105,22 +94,6 @@ public class TBQualityProblemApply extends BaseEntity implements Serializable {
         this.attachmentIds = attachmentIds;
     }
 
-    public List<String> getApproveUserIds() {
-        return approveUserIds;
-    }
-
-    public void setApproveUserIds(List<String> approveUserIds) {
-        this.approveUserIds = approveUserIds;
-    }
-
-    public FlowApprovePassEnum getApprove() {
-        return approve;
-    }
-
-    public void setApprove(FlowApprovePassEnum approve) {
-        this.approve = approve;
-    }
-
     public String getFormProperties() {
         return formProperties;
     }

+ 2 - 1
sop-business/src/main/java/com/qmth/sop/business/entity/TFCustomFlowEntity.java

@@ -43,8 +43,9 @@ public class TFCustomFlowEntity extends BaseEntity implements Serializable {
 
     }
 
-    public TFCustomFlowEntity(Long tFCustomFlowId, Long userId) {
+    public TFCustomFlowEntity(Long tFCustomFlowId, Long userId, String code) {
         this.tFCustomFlowId = tFCustomFlowId;
+        this.code = code;
         this.insertInfo(userId);
     }
 

+ 2 - 2
sop-business/src/main/java/com/qmth/sop/business/service/SysRoleService.java

@@ -3,7 +3,7 @@ package com.qmth.sop.business.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.sop.business.bean.dto.RoleDto;
-import com.qmth.sop.business.bean.params.SysRolePrivilegeParams;
+import com.qmth.sop.business.bean.params.SysRolePrivilegeParam;
 import com.qmth.sop.business.entity.SysRole;
 
 import java.security.NoSuchAlgorithmException;
@@ -44,7 +44,7 @@ public interface SysRoleService extends IService<SysRole> {
      * @param sysRolePrivilegeParams
      * @return
      */
-    Boolean saveRole(SysRolePrivilegeParams sysRolePrivilegeParams);
+    Boolean saveRole(SysRolePrivilegeParam sysRolePrivilegeParams);
 
     /**
      * 根据id删除角色

+ 2 - 2
sop-business/src/main/java/com/qmth/sop/business/service/impl/SysRoleServiceImpl.java

@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.sop.business.bean.dto.RoleDto;
-import com.qmth.sop.business.bean.params.SysRolePrivilegeParams;
+import com.qmth.sop.business.bean.params.SysRolePrivilegeParam;
 import com.qmth.sop.business.cache.CommonCacheService;
 import com.qmth.sop.business.entity.SysRole;
 import com.qmth.sop.business.entity.SysRolePrivilege;
@@ -88,7 +88,7 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
      */
     @Override
     @Transactional
-    public Boolean saveRole(SysRolePrivilegeParams sysRolePrivilegeParams) {
+    public Boolean saveRole(SysRolePrivilegeParam sysRolePrivilegeParams) {
         boolean success = false;
         try {
             SysUser sysUser = (SysUser) ServletUtil.getRequestUser();

+ 13 - 22
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBQualityProblemApplyServiceImpl.java

@@ -3,26 +3,27 @@ package com.qmth.sop.business.service.impl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.sop.business.activiti.service.ActivitiService;
+import com.qmth.sop.business.bean.params.FlowApproveParam;
 import com.qmth.sop.business.bean.result.TBQualityProblemApplyResult;
+import com.qmth.sop.business.entity.SysUser;
 import com.qmth.sop.business.entity.TBQualityProblemApply;
+import com.qmth.sop.business.entity.TFCustomFlowEntity;
 import com.qmth.sop.business.mapper.TBQualityProblemApplyMapper;
-import com.qmth.sop.business.service.SequenceService;
 import com.qmth.sop.business.service.TBQualityProblemApplyService;
 import com.qmth.sop.business.service.TFCustomFlowEntityService;
+import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.FlowApprovePassEnum;
 import com.qmth.sop.common.enums.InfluenceDegreeEnum;
 import com.qmth.sop.common.enums.QualityProblemReasonEnum;
 import com.qmth.sop.common.enums.QualityProblemTypeEnum;
-import com.qmth.sop.common.enums.TFCustomTypeEnum;
 import com.qmth.sop.common.util.ServletUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.HashMap;
+import java.util.Arrays;
 import java.util.Map;
 import java.util.Objects;
-import java.util.Set;
 
 /**
  * 质量问题反馈表 服务实现.
@@ -42,9 +43,6 @@ public class TBQualityProblemApplyServiceImpl extends ServiceImpl<TBQualityProbl
     @Resource
     ActivitiService activitiService;
 
-    @Resource
-    SequenceService sequenceService;
-
     /**
      * 查询列表
      *
@@ -64,20 +62,13 @@ public class TBQualityProblemApplyServiceImpl extends ServiceImpl<TBQualityProbl
     @Override
     @Transactional
     public Boolean saveTBQualityProblemApply(TBQualityProblemApply tbQualityProblemApply) throws InterruptedException {
-        HttpServletRequest request = ServletUtil.getRequest();
-        Map<String, Object> map = new HashMap<>();
-        Map<String, String> formDataMap = new HashMap<>();
-        Map<String, String[]> parameterMap = request.getParameterMap();
-        Set<Map.Entry<String, String[]>> entrySet = parameterMap.entrySet();
-        for (Map.Entry<String, String[]> entry : entrySet) {
-            String key = entry.getKey();
-            String[] value = entry.getValue();
-            formDataMap.put(key, value[0]);
-        }
-        map.putAll(formDataMap);
-        Map<String, Object> resultMap = activitiService.taskApprove(tbQualityProblemApply.getFlowDeploymentId(), tbQualityProblemApply.getApprove(), null, null, tbQualityProblemApply.getFormProperties(), tbQualityProblemApply.getApproveUserIds(), null, map);
-        String problemNo = sequenceService.createFlowCode(TFCustomTypeEnum.QUALITY_PROBLEM_FLOW);
-        tbQualityProblemApply.setProblemNo(problemNo);
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        Map<String, Object> map = activitiService.taskApprove(new FlowApproveParam(tbQualityProblemApply.getFlowDeploymentId(), FlowApprovePassEnum.START, tbQualityProblemApply.getFormProperties(), Arrays.asList(String.valueOf(sysUser.getId()))));
+        TFCustomFlowEntity tfCustomFlowEntity = (TFCustomFlowEntity) map.get(SystemConstant.CUSTOM_FLOW_ENTITY);
+        tbQualityProblemApply.setProblemNo(tfCustomFlowEntity.getCode());
+        tbQualityProblemApply.setId(SystemConstant.getDbUuid());
+        tfCustomFlowEntity.setObjId(tbQualityProblemApply.getId());
+        tfCustomFlowEntityService.updateById(tfCustomFlowEntity);
         return this.saveOrUpdate(tbQualityProblemApply);
     }
 

+ 2 - 0
sop-common/src/main/java/com/qmth/sop/common/contant/SystemConstant.java

@@ -216,6 +216,8 @@ public class SystemConstant {
     public static final String NR_OF_COMPLETED_INSTANCES = "nrOfCompletedInstances";
     public static final String NR_OF_INSTANCES = "nrOfInstances";
     public static final String ARRROVE_REJECT_MAP = "approveRejectMap";
+    public static final String FLOW_APPROVE = "tfFlowApprove";
+    public static final String CUSTOM_FLOW_ENTITY = "tfCustomFlowEntity";
 
     /**
      * 锁

+ 3 - 6
sop-server/src/main/java/com/qmth/sop/server/api/SysOrgController.java

@@ -8,10 +8,7 @@ import com.qmth.sop.business.service.SysOrgService;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
+import io.swagger.annotations.*;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -47,7 +44,7 @@ public class SysOrgController {
     @ApiOperation(value = "新增/修改")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
-    public Result save(@Valid @RequestBody SysOrg org, BindingResult bindingResult) {
+    public Result save(@Valid @ApiParam(value = "机构保存信息", required = true) @RequestBody SysOrg org, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
         }
@@ -57,7 +54,7 @@ public class SysOrgController {
     @ApiOperation(value = "启用/禁用")
     @RequestMapping(value = "/enable", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
-    public Result enable(@RequestBody SysOrg org) {
+    public Result enable(@ApiParam(value = "机构保存信息", required = true) @RequestBody SysOrg org) {
         return ResultUtil.ok(sysOrgService.enable(org));
     }
 }

+ 4 - 4
sop-server/src/main/java/com/qmth/sop/server/api/SysRoleController.java

@@ -4,7 +4,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.bean.dto.RoleDto;
-import com.qmth.sop.business.bean.params.SysRolePrivilegeParams;
+import com.qmth.sop.business.bean.params.SysRolePrivilegeParam;
 import com.qmth.sop.business.cache.CommonCacheService;
 import com.qmth.sop.business.entity.SysRole;
 import com.qmth.sop.business.entity.SysRolePrivilege;
@@ -58,18 +58,18 @@ public class SysRoleController {
 
     @ApiOperation(value = "角色权限查询")
     @RequestMapping(value = "/privilege/list", method = RequestMethod.POST)
-    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = SysRolePrivilegeParams.class)})
+    @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = SysRolePrivilegeParam.class)})
     public Result privilegeList(@ApiParam(value = "角色id", required = true) @RequestParam Long roleId) {
         List<SysRolePrivilege> sysRolePrivilegeList = commonCacheService.rolePrivilegeCache(roleId);
         SysRole sysRole = commonCacheService.roleCache(roleId);
         Optional.ofNullable(sysRole).orElseThrow(() -> ExceptionResultEnum.ROLE_NO_EXISTS.exception());
-        return ResultUtil.ok(new SysRolePrivilegeParams(sysRole.getId(), sysRole.getName(), !CollectionUtils.isEmpty(sysRolePrivilegeList) ? sysRolePrivilegeList.stream().map(s -> s.getPrivilegeId()).collect(Collectors.toList()) : null));
+        return ResultUtil.ok(new SysRolePrivilegeParam(sysRole.getId(), sysRole.getName(), !CollectionUtils.isEmpty(sysRolePrivilegeList) ? sysRolePrivilegeList.stream().map(s -> s.getPrivilegeId()).collect(Collectors.toList()) : null));
     }
 
     @ApiOperation(value = "新增/修改")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
-    public Result save(@Valid @RequestBody SysRolePrivilegeParams sysRolePrivilegeParams, BindingResult bindingResult) {
+    public Result save(@Valid @ApiParam(value = "角色保存信息", required = true) @RequestBody SysRolePrivilegeParam sysRolePrivilegeParams, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
         }

+ 1 - 1
sop-server/src/main/java/com/qmth/sop/server/api/SysUserController.java

@@ -49,7 +49,7 @@ public class SysUserController {
     @ApiOperation(value = "新增/修改")
     @RequestMapping(value = "/save", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
-    public Result save(@Valid @RequestBody SysUser sysUser, BindingResult bindingResult) {
+    public Result save(@Valid @ApiParam(value = "用户保存信息", required = true) @RequestBody SysUser sysUser, BindingResult bindingResult) {
         if (bindingResult.hasErrors()) {
             return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
         }

+ 1 - 1
sop-server/src/main/java/com/qmth/sop/server/api/TBQualityProblemApplyController.java

@@ -31,7 +31,7 @@ import javax.validation.constraints.Min;
  * @email: shudonghui@qmth.com.cn
  * @Company: www.qmth.com.cn
  */
-@Api(tags = "质量问题反馈表 Controller")
+@Api(tags = "质量问题反馈表Controller")
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_QUALITY_PROBLEM_APPLY)
 @Validated

+ 9 - 26
sop-server/src/main/java/com/qmth/sop/server/api/TFCustomFlowController.java

@@ -4,27 +4,25 @@ package com.qmth.sop.server.api;
 import com.qmth.boot.api.constant.ApiConstant;
 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.FlowViewResult;
 import com.qmth.sop.business.entity.TFCustomFlow;
 import com.qmth.sop.business.service.TFCustomFlowService;
 import com.qmth.sop.common.contant.SystemConstant;
-import com.qmth.sop.common.enums.FlowApprovePassEnum;
 import com.qmth.sop.common.enums.TFCustomTypeEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import io.swagger.annotations.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
+import javax.validation.Valid;
 import java.io.IOException;
-import java.util.*;
+import java.util.Arrays;
 
 /**
  * <p>
@@ -80,26 +78,11 @@ public class TFCustomFlowController {
     @ApiOperation(value = "流程审批接口")
     @RequestMapping(value = "/approve", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "返回信息", response = Object.class)})
-    public Result approve(@ApiParam(value = "流程部署id") @RequestParam(required = false) String flowDeploymentId,
-                          @ApiParam(value = "流程操作", required = true) @RequestParam FlowApprovePassEnum approve,
-                          @ApiParam(value = "流程步骤") @RequestParam(required = false) Integer setup,
-                          @ApiParam(value = "流程任务id") @RequestParam(required = false) Long taskId,
-                          @ApiParam(value = "流程表单数据") @RequestParam(required = false) String formProperties,
-                          @ApiParam(value = "流程审批人") @RequestParam(required = false) List<String> approveUserIds,
-                          @ApiParam(value = "流程审批意见") @RequestParam(required = false) String approveRemark,
-//                                         @ApiParam(value = "上传文件") @RequestParam(required = false) MultipartFile file,
-                          HttpServletRequest request) {
-        Map<String, Object> map = new HashMap<>();
-        Map<String, String> formDataMap = new HashMap<>();
-        Map<String, String[]> parameterMap = request.getParameterMap();
-        Set<Map.Entry<String, String[]>> entrySet = parameterMap.entrySet();
-        for (Map.Entry<String, String[]> entry : entrySet) {
-            String key = entry.getKey();
-            String[] value = entry.getValue();
-            formDataMap.put(key, value[0]);
+    public Result approve(@Valid @ApiParam(value = "流程审批信息", required = true) @RequestBody FlowApproveParam flowApproveParam, BindingResult bindingResult) throws InterruptedException {
+        if (bindingResult.hasErrors()) {
+            return ResultUtil.error(bindingResult.getAllErrors().get(0).getDefaultMessage());
         }
-        map.putAll(formDataMap);
-        activitiService.taskApprove(flowDeploymentId, approve, setup, taskId, formProperties, approveUserIds, approveRemark, map);
+        activitiService.taskApprove(flowApproveParam);
         return ResultUtil.ok(true);
     }