浏览代码

流程修改

wangliang 3 年之前
父节点
当前提交
71b4093184

+ 11 - 127
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/TaskApproveResult.java

@@ -3,6 +3,7 @@ package com.qmth.distributed.print.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.distributed.print.business.entity.TFFlowApproveLog;
 import com.qmth.teachcloud.common.enums.FlowStatusEnum;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -17,122 +18,37 @@ import java.util.Objects;
  * @Date: 2021/8/5
  */
 @JsonInclude(JsonInclude.Include.NON_NULL)
-public class TaskApproveResult implements Serializable {
-
-    @JsonSerialize(using = ToStringSerializer.class)
-    @ApiModelProperty(value = "流程id")
-    private Long flowId;
-
-    @JsonSerialize(using = ToStringSerializer.class)
-    @ApiModelProperty(value = "学校id")
-    private Long schoolId;
-
-    @JsonSerialize(using = ToStringSerializer.class)
-    @ApiModelProperty(value = "机构id")
-    private Long orgId;
-
-    @JsonSerialize(using = ToStringSerializer.class)
-    @ApiModelProperty(value = "命题任务id")
-    private Long taskId;
-
-    @JsonSerialize(using = ToStringSerializer.class)
-    @ApiModelProperty(value = "发起人id")
-    private Long teacherId;
+public class TaskApproveResult extends TFFlowApproveLog implements Serializable {
 
     @ApiModelProperty(value = "发起人名称")
-    private String teacherName;
-
-    @ApiModelProperty(value = "创建时间")
-    private Long createTime;
-
-    @JsonSerialize(using = ToStringSerializer.class)
-    @ApiModelProperty(value = "一级审核人id")
-    private Long primaryApproveId;
+    private String startName;
 
     @ApiModelProperty(value = "一级审核人名称")
     private String primaryApproveName;
 
-    @ApiModelProperty(value = "一级审核人意见")
-    private String primaryApproveRemark;
-
-    @JsonSerialize(using = ToStringSerializer.class)
-    @ApiModelProperty(value = "二级审核人id")
-    private Long secondApproveId;
-
     @ApiModelProperty(value = "二级审核人名称")
     private String secondApproveName;
 
-    @ApiModelProperty(value = "二级审核人意见")
-    private String secondApproveRemark;
-
     @ApiModelProperty(value = "流程状态")
     private FlowStatusEnum status;
 
     @ApiModelProperty(value = "流程状态")
     private String statusStr;
 
-    public Long getFlowId() {
-        return flowId;
-    }
-
-    public void setFlowId(Long flowId) {
-        this.flowId = flowId;
-    }
-
-    public Long getSchoolId() {
-        return schoolId;
-    }
-
-    public void setSchoolId(Long schoolId) {
-        this.schoolId = schoolId;
-    }
-
-    public Long getOrgId() {
-        return orgId;
-    }
-
-    public void setOrgId(Long orgId) {
-        this.orgId = orgId;
-    }
-
-    public Long getTaskId() {
-        return taskId;
-    }
-
-    public void setTaskId(Long taskId) {
-        this.taskId = taskId;
-    }
-
-    public Long getTeacherId() {
-        return teacherId;
-    }
-
-    public void setTeacherId(Long teacherId) {
-        this.teacherId = teacherId;
-    }
-
-    public String getTeacherName() {
-        return teacherName;
-    }
-
-    public void setTeacherName(String teacherName) {
-        this.teacherName = teacherName;
-    }
-
-    public Long getCreateTime() {
-        return createTime;
+    public FlowStatusEnum getStatus() {
+        return status;
     }
 
-    public void setCreateTime(Long createTime) {
-        this.createTime = createTime;
+    public void setStatus(FlowStatusEnum status) {
+        this.status = status;
     }
 
-    public Long getPrimaryApproveId() {
-        return primaryApproveId;
+    public String getStartName() {
+        return startName;
     }
 
-    public void setPrimaryApproveId(Long primaryApproveId) {
-        this.primaryApproveId = primaryApproveId;
+    public void setStartName(String startName) {
+        this.startName = startName;
     }
 
     public String getPrimaryApproveName() {
@@ -143,22 +59,6 @@ public class TaskApproveResult implements Serializable {
         this.primaryApproveName = primaryApproveName;
     }
 
-    public String getPrimaryApproveRemark() {
-        return primaryApproveRemark;
-    }
-
-    public void setPrimaryApproveRemark(String primaryApproveRemark) {
-        this.primaryApproveRemark = primaryApproveRemark;
-    }
-
-    public Long getSecondApproveId() {
-        return secondApproveId;
-    }
-
-    public void setSecondApproveId(Long secondApproveId) {
-        this.secondApproveId = secondApproveId;
-    }
-
     public String getSecondApproveName() {
         return secondApproveName;
     }
@@ -167,22 +67,6 @@ public class TaskApproveResult implements Serializable {
         this.secondApproveName = secondApproveName;
     }
 
-    public String getSecondApproveRemark() {
-        return secondApproveRemark;
-    }
-
-    public void setSecondApproveRemark(String secondApproveRemark) {
-        this.secondApproveRemark = secondApproveRemark;
-    }
-
-    public FlowStatusEnum getStatus() {
-        return status;
-    }
-
-    public void setStatus(FlowStatusEnum status) {
-        this.status = status;
-    }
-
     public String getStatusStr() {
         if (Objects.nonNull(status)) {
             return status.getTitle();

+ 27 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TFFlowApprove.java

@@ -27,6 +27,14 @@ public class TFFlowApprove extends BaseEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @ApiModelProperty(value = "学校id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long schoolId;
+
+    @ApiModelProperty(value = "机构id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long orgId;
+
     @ApiModelProperty(value = "流程id")
     @JsonSerialize(using = ToStringSerializer.class)
     private Long flowId;
@@ -45,8 +53,10 @@ public class TFFlowApprove extends BaseEntity implements Serializable {
 
     }
 
-    public TFFlowApprove(Long flowId, Long approveId, FlowStatusEnum status, Long userId) {
+    public TFFlowApprove(Long schoolId, Long orgId, Long flowId, Long approveId, FlowStatusEnum status, Long userId) {
         setId(SystemConstant.getDbUuid());
+        this.schoolId = schoolId;
+        this.orgId = orgId;
         this.flowId = flowId;
         this.approveId = approveId;
         this.status = status;
@@ -54,6 +64,22 @@ public class TFFlowApprove extends BaseEntity implements Serializable {
         this.setup = FlowGdykdxApproveSetupEnum.SUBMIT.getSetup();
     }
 
+    public Long getSchoolId() {
+        return schoolId;
+    }
+
+    public void setSchoolId(Long schoolId) {
+        this.schoolId = schoolId;
+    }
+
+    public Long getOrgId() {
+        return orgId;
+    }
+
+    public void setOrgId(Long orgId) {
+        this.orgId = orgId;
+    }
+
     public Integer getSetup() {
         return setup;
     }

+ 33 - 7
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TFFlowApproveLog.java

@@ -23,6 +23,14 @@ public class TFFlowApproveLog extends BaseEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @ApiModelProperty(value = "学校id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long schoolId;
+
+    @ApiModelProperty(value = "机构id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long orgId;
+
     @ApiModelProperty(value = "流程id")
     @JsonSerialize(using = ToStringSerializer.class)
     private Long flowId;
@@ -33,7 +41,7 @@ public class TFFlowApproveLog extends BaseEntity implements Serializable {
 
     @ApiModelProperty(value = "发起人id")
     @JsonSerialize(using = ToStringSerializer.class)
-    private Long teacherId;
+    private Long startId;
 
     @ApiModelProperty(value = "一级审核人id")
     @JsonSerialize(using = ToStringSerializer.class)
@@ -62,14 +70,32 @@ public class TFFlowApproveLog extends BaseEntity implements Serializable {
 
     }
 
-    public TFFlowApproveLog(Long flowId, Long taskId, Long teacherId, Long userId) {
+    public TFFlowApproveLog(Long schoolId, Long orgId, Long flowId, Long taskId, Long startId, Long userId) {
         setId(SystemConstant.getDbUuid());
+        this.schoolId = schoolId;
+        this.orgId = orgId;
         this.flowId = flowId;
         this.taskId = taskId;
-        this.teacherId = teacherId;
+        this.startId = startId;
         insertInfo(userId);
     }
 
+    public Long getSchoolId() {
+        return schoolId;
+    }
+
+    public void setSchoolId(Long schoolId) {
+        this.schoolId = schoolId;
+    }
+
+    public Long getOrgId() {
+        return orgId;
+    }
+
+    public void setOrgId(Long orgId) {
+        this.orgId = orgId;
+    }
+
     public static long getSerialVersionUID() {
         return serialVersionUID;
     }
@@ -90,12 +116,12 @@ public class TFFlowApproveLog extends BaseEntity implements Serializable {
         this.taskId = taskId;
     }
 
-    public Long getTeacherId() {
-        return teacherId;
+    public Long getStartId() {
+        return startId;
     }
 
-    public void setTeacherId(Long teacherId) {
-        this.teacherId = teacherId;
+    public void setStartId(Long startId) {
+        this.startId = startId;
     }
 
     public Long getPrimaryApproveId() {

+ 27 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/TFFlowLog.java

@@ -23,6 +23,14 @@ public class TFFlowLog extends BaseEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @ApiModelProperty(value = "学校id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long schoolId;
+
+    @ApiModelProperty(value = "机构id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long orgId;
+
     @ApiModelProperty(value = "流程id")
     @JsonSerialize(using = ToStringSerializer.class)
     private Long flowId;
@@ -51,8 +59,10 @@ public class TFFlowLog extends BaseEntity implements Serializable {
 
     }
 
-    public TFFlowLog(Long flowId, Long taskId, Long approveId, Long userId, String approveRemark) {
+    public TFFlowLog(Long schoolId, Long orgId, Long flowId, Long taskId, Long approveId, Long userId, String approveRemark) {
         setId(SystemConstant.getDbUuid());
+        this.schoolId = schoolId;
+        this.orgId = orgId;
         this.flowId = flowId;
         this.approveId = approveId;
         this.taskId = taskId;
@@ -60,6 +70,22 @@ public class TFFlowLog extends BaseEntity implements Serializable {
         insertInfo(userId);
     }
 
+    public Long getSchoolId() {
+        return schoolId;
+    }
+
+    public void setSchoolId(Long schoolId) {
+        this.schoolId = schoolId;
+    }
+
+    public Long getOrgId() {
+        return orgId;
+    }
+
+    public void setOrgId(Long orgId) {
+        this.orgId = orgId;
+    }
+
     public FlowApproveOperationEnum getApproveOperation() {
         return approveOperation;
     }

+ 15 - 15
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ActivitiServiceImpl.java

@@ -195,7 +195,7 @@ public class ActivitiServiceImpl implements ActivitiService {
         FlowStatusEnum flowStatusEnum = (FlowStatusEnum) map.get(SystemConstant.FLOW_STATUS);
 
         Long approveId = Objects.nonNull(map.get(SystemConstant.APPROVE_ID)) ? Long.parseLong(String.valueOf(map.get(SystemConstant.APPROVE_ID))) : null;
-        tfFlowApproveService.save(new TFFlowApprove(flowId, approveId, flowStatusEnum, sysUser.getId()));
+        tfFlowApproveService.save(new TFFlowApprove(sysUser.getSchoolId(), sysUser.getOrgId(), flowId, approveId, flowStatusEnum, sysUser.getId()));
     }
 
     /**
@@ -244,7 +244,7 @@ public class ActivitiServiceImpl implements ActivitiService {
             //广东医科大学流程
             if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)) {
                 String remark = Objects.nonNull(map.get(SystemConstant.APPROVE_REMARK)) ? map.get(SystemConstant.APPROVE_REMARK).toString() : null;
-                tfFlowLog = new TFFlowLog(Long.parseLong(processInstanceId), examTask.getId(), sysUser.getId(), sysUser.getId(), remark);
+                tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), Long.parseLong(processInstanceId), examTask.getId(), sysUser.getId(), sysUser.getId(), remark);
                 FlowGdykdxApproveSetupEnum setupEnum = FlowGdykdxApproveSetupEnum.convertToInstance(userTask.getId());
                 if (setupEnum == FlowGdykdxApproveSetupEnum.SUBMIT) {//命题提交
                     Task taskUser = taskService.createTaskQuery().taskId(flowTaskId).taskAssignee(String.valueOf(sysUser.getId())).singleResult();
@@ -252,7 +252,7 @@ public class ActivitiServiceImpl implements ActivitiService {
                         throw ExceptionResultEnum.ERROR.exception("不能提交他人的任务");
                     }
                     if (Objects.isNull(tfFlowApproveLog)) {
-                        tfFlowApproveLog = new TFFlowApproveLog(Long.parseLong(processInstanceId), examTask.getId(), sysUser.getId(), sysUser.getId());
+                        tfFlowApproveLog = new TFFlowApproveLog(sysUser.getSchoolId(), sysUser.getOrgId(), Long.parseLong(processInstanceId), examTask.getId(), sysUser.getId(), sysUser.getId());
                     }
                     tfFlowLog.setApproveSetup(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup());
                     tfFlowLog.setApproveOperation(FlowApproveOperationEnum.SUBMIT);
@@ -267,16 +267,16 @@ public class ActivitiServiceImpl implements ActivitiService {
                         throw ExceptionResultEnum.ERROR.exception("流程审核操作不能为空");
                     }
                     FlowApprovePassEnum approvePass = (FlowApprovePassEnum) map.get(SystemConstant.APPROVE_OPERATION);
-                    String approve = approvePass == FlowApprovePassEnum.PASS ? "1" : "0";
+                    FlowApproveVariableEnum approve = approvePass == FlowApprovePassEnum.PASS ? FlowApproveVariableEnum.PRIMARY_APPROVE : FlowApproveVariableEnum.PRIMARY_REJECT;
                     tfFlowLog.setApproveSetup(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup());
                     tfFlowApproveLog.setPrimaryApproveId(sysUser.getId());
                     tfFlowApproveLog.setPrimaryApproveRemark(remark);
-                    if (Objects.equals(approve, "0")) {//驳回命题
+                    if (approve == FlowApproveVariableEnum.PRIMARY_REJECT) {//驳回命题
                         tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
                         tfFlowApproveLog.setPrimaryApproveOperation(FlowApproveOperationEnum.REJECT);
                         tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
                         tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup());
-                    } else if (Objects.equals(approve, "1")) {//提交
+                    } else if (approve == FlowApproveVariableEnum.PRIMARY_APPROVE) {//提交
                         tfFlowLog.setApproveOperation(FlowApproveOperationEnum.APPROVE);
                         tfFlowApproveLog.setPrimaryApproveOperation(FlowApproveOperationEnum.APPROVE);
                         tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
@@ -284,7 +284,7 @@ public class ActivitiServiceImpl implements ActivitiService {
                     } else {
                         throw ExceptionResultEnum.ERROR.exception("流程变量值错误");
                     }
-                    map.computeIfAbsent(SystemConstant.APPROVE, v -> approve);
+                    map.computeIfAbsent(SystemConstant.APPROVE, v -> approve.getId());
                 } else if (setupEnum == FlowGdykdxApproveSetupEnum.SECOND_APPROVE) {//院长提交
                     Task taskUser = taskService.createTaskQuery().taskId(flowTaskId).taskCandidateUser(String.valueOf(sysUser.getId())).singleResult();
                     if (Objects.isNull(taskUser)) {
@@ -294,11 +294,11 @@ public class ActivitiServiceImpl implements ActivitiService {
                         throw ExceptionResultEnum.ERROR.exception("流程审核操作不能为空");
                     }
                     FlowApprovePassEnum approvePass = (FlowApprovePassEnum) map.get(SystemConstant.APPROVE_OPERATION);
-                    String approve = null;
+                    FlowApproveVariableEnum approve = null;
                     tfFlowApproveLog.setSecondApproveId(sysUser.getId());
                     tfFlowApproveLog.setSecondApproveRemark(remark);
                     if (approvePass == FlowApprovePassEnum.PASS) {
-                        approve = "2";
+                        approve = FlowApproveVariableEnum.SECOND_APPROVE;
                     } else {
                         if (Objects.isNull(map.get(SystemConstant.APPROVE_SETUP))) {
                             throw ExceptionResultEnum.ERROR.exception("流程驳回节点不能为空");
@@ -307,20 +307,20 @@ public class ActivitiServiceImpl implements ActivitiService {
                         if (setup.intValue() < FlowGdykdxApproveSetupEnum.SUBMIT.getSetup() || setup.intValue() >= FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup()) {
                             throw ExceptionResultEnum.ERROR.exception("流程驳回节点有误");
                         }
-                        approve = setup.intValue() == 1 ? "0" : "1";
+                        approve = setup.intValue() == 1 ? FlowApproveVariableEnum.SECOND_REJECT_ONE : FlowApproveVariableEnum.SECOND_REJECT_TWO;
                     }
                     tfFlowLog.setApproveSetup(FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup());
-                    if (Objects.equals(approve, "0")) {//驳回命题
+                    if (approve == FlowApproveVariableEnum.SECOND_REJECT_ONE) {//驳回命题
                         tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
                         tfFlowApproveLog.setSecondApproveOperation(FlowApproveOperationEnum.REJECT);
                         tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
                         tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup());
-                    } else if (Objects.equals(approve, "1")) {//驳回主任
+                    } else if (approve == FlowApproveVariableEnum.SECOND_REJECT_TWO) {//驳回主任
                         tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
                         tfFlowApproveLog.setSecondApproveOperation(FlowApproveOperationEnum.REJECT);
                         tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
                         tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup());
-                    } else if (Objects.equals(approve, "2")) {//提交
+                    } else if (approve == FlowApproveVariableEnum.SECOND_APPROVE) {//提交
                         tfFlowLog.setApproveOperation(FlowApproveOperationEnum.APPROVE);
                         tfFlowApproveLog.setSecondApproveOperation(FlowApproveOperationEnum.APPROVE);
                         tfFlowApprove.setStatus(FlowStatusEnum.FINISH);
@@ -328,8 +328,8 @@ public class ActivitiServiceImpl implements ActivitiService {
                     } else {
                         throw ExceptionResultEnum.ERROR.exception("流程变量值错误");
                     }
-                    String finalApprove = approve;
-                    map.computeIfAbsent(SystemConstant.APPROVE, v -> finalApprove);
+                    FlowApproveVariableEnum finalApprove = approve;
+                    map.computeIfAbsent(SystemConstant.APPROVE, v -> finalApprove.getId());
                 }
                 tfFlowApprove.updateInfo(sysUser.getId());
                 tfFlowApproveLog.updateInfo(sysUser.getId());

+ 70 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/FlowApproveVariableEnum.java

@@ -0,0 +1,70 @@
+package com.qmth.teachcloud.common.enums;
+
+import java.util.Objects;
+
+/**
+ * @Description: 流程审批变量 enum
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2021/8/2
+ */
+public enum FlowApproveVariableEnum {
+
+    PRIMARY_APPROVE("一级审核通过", "1"),
+
+    PRIMARY_REJECT("一级审核驳回", "0"),
+
+    SECOND_APPROVE("二级审核通过", "2"),
+
+    SECOND_REJECT_ONE("二级审核驳回至第一节点", "0"),
+
+    SECOND_REJECT_TWO("二级审核驳回至第二节点", "1");
+
+    private String title;
+
+    private String id;
+
+    private FlowApproveVariableEnum(String title, String id) {
+        this.title = title;
+        this.id = id;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * 状态转换 toName
+     *
+     * @param title
+     * @return
+     */
+    public static String convertToName(String title) {
+        for (FlowApproveVariableEnum e : FlowApproveVariableEnum.values()) {
+            if (Objects.equals(title, e.getTitle())) {
+                return e.name();
+            }
+        }
+        return null;
+    }
+
+    /**
+     * 状态转换 toInstance
+     *
+     * @param id
+     * @return
+     */
+    public static FlowApproveVariableEnum convertToInstance(String id) {
+        for (FlowApproveVariableEnum e : FlowApproveVariableEnum.values()) {
+            if (Objects.equals(id, e.getTitle())) {
+                return e;
+            }
+        }
+        return null;
+    }
+}