浏览代码

广药子流程find修改

wangliang 3 年之前
父节点
当前提交
05e944dd83

+ 19 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/FlowTaskApprovePeopleResult.java

@@ -26,16 +26,35 @@ public class FlowTaskApprovePeopleResult implements Serializable {
     @ApiModelProperty(value = "流程审批人")
     private List<ApproveUserResult> approveUser;
 
+    @ApiModelProperty(value = "流程提交人")
+    private ApproveUserResult submitUser;
+
     public FlowTaskApprovePeopleResult() {
 
     }
 
+    public FlowTaskApprovePeopleResult(ApproveUserResult submitUser) {
+        this.submitUser = submitUser;
+    }
+
     public FlowTaskApprovePeopleResult(Integer setup, boolean approve, List<ApproveUserResult> approveUser) {
         this.setup = setup;
         this.approve = approve;
         this.approveUser = approveUser;
     }
 
+    public Boolean getApprove() {
+        return approve;
+    }
+
+    public ApproveUserResult getSubmitUser() {
+        return submitUser;
+    }
+
+    public void setSubmitUser(ApproveUserResult submitUser) {
+        this.submitUser = submitUser;
+    }
+
     public FlowTaskApprovePeopleResult(List<ApproveUserResult> approveUser) {
         this.approveUser = approveUser;
     }

+ 66 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/FlowTaskSubmitPeopleAllResult.java

@@ -0,0 +1,66 @@
+package com.qmth.distributed.print.business.bean.result;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description: 流程提交记录 result
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2021/8/16
+ */
+public class FlowTaskSubmitPeopleAllResult implements Serializable {
+
+    @ApiModelProperty(value = "流程id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long flowId;
+
+    @ApiModelProperty(value = "流程提交人")
+    ApproveUserResult submitUser;
+
+    @ApiModelProperty(value = "流程待审批人列表")
+    private List<ApproveUserResult> approveUserList;
+
+    public ApproveUserResult getSubmitUser() {
+        return submitUser;
+    }
+
+    public void setSubmitUser(ApproveUserResult submitUser) {
+        this.submitUser = submitUser;
+    }
+
+    public FlowTaskSubmitPeopleAllResult() {
+
+    }
+
+    public FlowTaskSubmitPeopleAllResult(Long flowId) {
+        this.flowId = flowId;
+    }
+
+    public FlowTaskSubmitPeopleAllResult(Long flowId, ApproveUserResult submitUser) {
+        this.flowId = flowId;
+        this.submitUser = submitUser;
+    }
+
+    public Long getFlowId() {
+        return flowId;
+    }
+
+    public void setFlowId(Long flowId) {
+        this.flowId = flowId;
+    }
+
+    public List<ApproveUserResult> getApproveUserList() {
+        return approveUserList;
+    }
+
+    public void setApproveUserList(List<ApproveUserResult> approveUserList) {
+        this.approveUserList = approveUserList;
+    }
+}

+ 151 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/TFFlowLogResult.java

@@ -0,0 +1,151 @@
+package com.qmth.distributed.print.business.bean.result;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
+import com.qmth.teachcloud.common.enums.FlowApproveOperationEnum;
+import com.qmth.teachcloud.common.enums.FlowApproveSetupEnum;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+import java.util.Objects;
+
+/**
+ * @Description: TFFlowLogResult
+ * @Param:
+ * @return:
+ * @Author: wangliang
+ * @Date: 2021/11/22
+ */
+public class TFFlowLogResult extends ApproveUserResult implements Serializable {
+
+    @ApiModelProperty(value = "流程id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long flowId;
+
+    @ApiModelProperty(value = "任务id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long examTaskId;
+
+    @ApiModelProperty(value = "审核人id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long approveId;
+
+    @ApiModelProperty(value = "审核步骤")
+    private Integer approveSetup;
+
+    @ApiModelProperty(value = "审核意见")
+    private String approveRemark;
+
+    @ApiModelProperty(value = "审批操作,SUBMIT:提交,APPROVE:审批,REJECT:驳回,END:终止,EXCHANGE:转他人审批")
+    private FlowApproveOperationEnum approveOperation;
+
+    @ApiModelProperty(value = "待审核人id")
+    private String pendApproveId;
+
+    @ApiModelProperty(value = "创建时间")
+    private Long createTime;
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "主键")
+    private Long id;
+
+    @ApiModelProperty(value = "学校id")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long schoolId;
+
+    @ApiModelProperty(value = "审核步骤中文")
+    private String approveSetupStr;
+
+    public String getApproveSetupStr() {
+        if (Objects.nonNull(approveSetup)) {
+            return FlowApproveSetupEnum.convertToRemark(approveSetup);
+        } else {
+            return approveSetupStr;
+        }
+    }
+
+    public void setApproveSetupStr(String approveSetupStr) {
+        this.approveSetupStr = approveSetupStr;
+    }
+
+    public Long getFlowId() {
+        return flowId;
+    }
+
+    public void setFlowId(Long flowId) {
+        this.flowId = flowId;
+    }
+
+    public Long getExamTaskId() {
+        return examTaskId;
+    }
+
+    public void setExamTaskId(Long examTaskId) {
+        this.examTaskId = examTaskId;
+    }
+
+    public Long getApproveId() {
+        return approveId;
+    }
+
+    public void setApproveId(Long approveId) {
+        this.approveId = approveId;
+    }
+
+    public Integer getApproveSetup() {
+        return approveSetup;
+    }
+
+    public void setApproveSetup(Integer approveSetup) {
+        this.approveSetup = approveSetup;
+    }
+
+    public String getApproveRemark() {
+        return approveRemark;
+    }
+
+    public void setApproveRemark(String approveRemark) {
+        this.approveRemark = approveRemark;
+    }
+
+    public FlowApproveOperationEnum getApproveOperation() {
+        return approveOperation;
+    }
+
+    public void setApproveOperation(FlowApproveOperationEnum approveOperation) {
+        this.approveOperation = approveOperation;
+    }
+
+    public String getPendApproveId() {
+        return pendApproveId;
+    }
+
+    public void setPendApproveId(String pendApproveId) {
+        this.pendApproveId = pendApproveId;
+    }
+
+    public Long getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Long createTime) {
+        this.createTime = createTime;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getSchoolId() {
+        return schoolId;
+    }
+
+    public void setSchoolId(Long schoolId) {
+        this.schoolId = schoolId;
+    }
+}

+ 10 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/TFFlowLogMapper.java

@@ -1,6 +1,7 @@
 package com.qmth.distributed.print.business.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.qmth.distributed.print.business.bean.result.TFFlowLogResult;
 import com.qmth.distributed.print.business.entity.TFFlowLog;
 import org.apache.ibatis.annotations.Param;
 
@@ -22,5 +23,13 @@ public interface TFFlowLogMapper extends BaseMapper<TFFlowLog> {
      * @param flowId
      * @return
      */
-    List<TFFlowLog> findByFlowId(@Param("flowId") String flowId);
+    List<TFFlowLog> findByFlowId(@Param("flowId") Long flowId);
+
+    /**
+     * 根据考试任务id查询
+     *
+     * @param examTaskId
+     * @return
+     */
+    List<TFFlowLogResult> findByExamTaskId(@Param("examTaskId") Long examTaskId);
 }

+ 9 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ActivitiService.java

@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.service;
 
 import com.qmth.distributed.print.business.bean.result.FlowTaskApprovePeopleAllResult;
 import com.qmth.distributed.print.business.bean.result.FlowTaskResult;
+import com.qmth.distributed.print.business.bean.result.FlowTaskSubmitPeopleAllResult;
 import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.springframework.web.multipart.MultipartFile;
@@ -121,4 +122,12 @@ public interface ActivitiService {
      * @return
      */
     public List<ApproveUserResult> findByPrintApprove(Long flowId);
+
+    /**
+     * 获取流程提交记录
+     *
+     * @param examTaskId
+     * @return
+     */
+    public List<FlowTaskSubmitPeopleAllResult> taskApproverSubmitList(String examTaskId);
 }

+ 10 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TFFlowLogService.java

@@ -1,6 +1,7 @@
 package com.qmth.distributed.print.business.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.qmth.distributed.print.business.bean.result.TFFlowLogResult;
 import com.qmth.distributed.print.business.entity.TFFlowLog;
 
 import java.util.List;
@@ -21,5 +22,13 @@ public interface TFFlowLogService extends IService<TFFlowLog> {
      * @param flowId
      * @return
      */
-    List<TFFlowLog> findByFlowId(String flowId);
+    List<TFFlowLog> findByFlowId(Long flowId);
+
+    /**
+     * 根据考试任务id查询
+     *
+     * @param examTaskId
+     * @return
+     */
+    List<TFFlowLogResult> findByExamTaskId(Long examTaskId);
 }

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

@@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.exception.ApiException;
-import com.qmth.distributed.print.business.bean.result.FlowApproveResult;
-import com.qmth.distributed.print.business.bean.result.FlowTaskApprovePeopleAllResult;
-import com.qmth.distributed.print.business.bean.result.FlowTaskApprovePeopleResult;
-import com.qmth.distributed.print.business.bean.result.FlowTaskResult;
+import com.qmth.distributed.print.business.bean.result.*;
 import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.ExamStatusEnum;
 import com.qmth.distributed.print.business.enums.FlowModelEnum;
@@ -979,6 +976,34 @@ public class ActivitiServiceImpl implements ActivitiService {
         return approveUserResultList;
     }
 
+    /**
+     * 获取流程提交记录
+     *
+     * @param examTaskId
+     * @return
+     */
+    @Override
+    public List<FlowTaskSubmitPeopleAllResult> taskApproverSubmitList(String examTaskId) {
+        List<FlowTaskSubmitPeopleAllResult> flowTaskSubmitPeopleAllResultList = null;
+        List<TFFlowLogResult> tfFlowLogResultList = tfFlowLogService.findByExamTaskId(SystemConstant.convertIdToLong(examTaskId));
+        if (Objects.nonNull(tfFlowLogResultList) && tfFlowLogResultList.size() > 0) {
+            flowTaskSubmitPeopleAllResultList = new LinkedList<>();
+            for (TFFlowLogResult t : tfFlowLogResultList) {
+                ApproveUserResult submitUser = new ApproveUserResult(t.getOrgName(), t.getOrgType(), t.getLoginName(), t.getRealName(), t.getSchoolId(), t.getCode(), t.getMobileNumber(), t.getCreateTime());
+                FlowTaskSubmitPeopleAllResult flowTaskSubmitPeopleAllResult = new FlowTaskSubmitPeopleAllResult(t.getFlowId(), submitUser);
+
+                List<ApproveUserResult> approveUserList = new LinkedList<>();
+                String[] pendApproveIds = t.getPendApproveId().split(",");
+                for (int i = 0; i < pendApproveIds.length; i++) {
+                    approveUserList.addAll(sysUserService.findById(SystemConstant.convertIdToLong(pendApproveIds[i].trim())));
+                }
+                flowTaskSubmitPeopleAllResult.setApproveUserList(approveUserList);
+                flowTaskSubmitPeopleAllResultList.add(flowTaskSubmitPeopleAllResult);
+            }
+        }
+        return flowTaskSubmitPeopleAllResultList;
+    }
+
     /**
      * 流程提交校验
      *
@@ -1114,6 +1139,7 @@ public class ActivitiServiceImpl implements ActivitiService {
             tfFlowApproveLog.setPrimaryApproveOperation(FlowApproveOperationEnum.REJECT);
             tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
             tfFlowApprove.setSetup(FlowApproveSetupEnum.SUBMIT.getSetup());
+            tfFlowLog.setPendApproveId(String.valueOf(tfFlowApproveLog.getStartId()));
         } else if (approve == FlowApproveVariableEnum.PRIMARY_APPROVE) {//提交
             tfFlowLog.setApproveOperation(FlowApproveOperationEnum.APPROVE);
             tfFlowApproveLog.setPrimaryApproveOperation(FlowApproveOperationEnum.APPROVE);
@@ -1238,6 +1264,7 @@ public class ActivitiServiceImpl implements ActivitiService {
             tfFlowApproveLog.setSecondApproveOperation(FlowApproveOperationEnum.REJECT);
             tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
             tfFlowApprove.setSetup(FlowApproveSetupEnum.SUBMIT.getSetup());
+            tfFlowLog.setPendApproveId(String.valueOf(tfFlowApproveLog.getStartId()));
         } else if (approve == FlowApproveVariableEnum.SECOND_REJECT_TWO) {//驳回主任
             tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
             tfFlowApproveLog.setSecondApproveOperation(FlowApproveOperationEnum.REJECT);
@@ -1251,6 +1278,7 @@ public class ActivitiServiceImpl implements ActivitiService {
                 tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
                 tfFlowApprove.setSetup(FlowApproveSetupEnum.THREE_APPROVE.getSetup());
                 objectMap.computeIfAbsent(SystemConstant.APPROVE_PRESIDENT_SYSTEM, v -> true);
+                tfFlowLog.setPendApproveId(String.valueOf(tfFlowApproveLog.getStartId()));
             } else {
                 tfFlowApprove.setStatus(FlowStatusEnum.FINISH);
                 tfFlowApprove.setSetup(FlowApproveSetupEnum.FINISH.getSetup());
@@ -1330,6 +1358,7 @@ public class ActivitiServiceImpl implements ActivitiService {
             tfFlowApproveLog.setFourApproveOperation(FlowApproveOperationEnum.REJECT);
             tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
             tfFlowApprove.setSetup(FlowApproveSetupEnum.THREE_APPROVE.getSetup());
+            tfFlowLog.setPendApproveId(String.valueOf(tfFlowApproveLog.getStartId()));
         } else if (approve == FlowApproveVariableEnum.FOUR_APPROVE) {//提交
             tfFlowLog.setApproveOperation(FlowApproveOperationEnum.APPROVE);
             tfFlowApproveLog.setFourApproveOperation(FlowApproveOperationEnum.APPROVE);

+ 13 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TFFlowLogServiceImpl.java

@@ -1,6 +1,7 @@
 package com.qmth.distributed.print.business.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.distributed.print.business.bean.result.TFFlowLogResult;
 import com.qmth.distributed.print.business.entity.TFFlowLog;
 import com.qmth.distributed.print.business.mapper.TFFlowLogMapper;
 import com.qmth.distributed.print.business.service.TFFlowLogService;
@@ -30,7 +31,18 @@ public class TFFlowLogServiceImpl extends ServiceImpl<TFFlowLogMapper, TFFlowLog
      * @return
      */
     @Override
-    public List<TFFlowLog> findByFlowId(String flowId) {
+    public List<TFFlowLog> findByFlowId(Long flowId) {
         return tfFlowLogMapper.findByFlowId(flowId);
     }
+
+    /**
+     * 根据考试任务id查询
+     *
+     * @param examTaskId
+     * @return
+     */
+    @Override
+    public List<TFFlowLogResult> findByExamTaskId(Long examTaskId) {
+        return tfFlowLogMapper.findByExamTaskId(examTaskId);
+    }
 }

+ 31 - 0
distributed-print-business/src/main/resources/mapper/TFFlowLogMapper.xml

@@ -8,4 +8,35 @@
          tetf.flow_id = tffl.flow_id
          where tffl.flow_id = #{flowId}
     </select>
+
+    <select id="findByExamTaskId" resultType="com.qmth.distributed.print.business.bean.result.TFFlowLogResult">
+        select
+            DISTINCT tffl.approve_id as approveId,
+            tffl.approve_setup as approveSetup,
+            tffl.approve_remark as approveRemark,
+            tffl.approve_operation as approveOperation,
+            tffl.pend_approve_id as pendApproveId,
+            tffl.create_time as createTime,
+            tffl.flow_id as flowId,
+            tffl.task_id as examTaskId,
+            tffl.id,
+            su.school_id as schoolId,
+            su.login_name as loginName,
+            su.real_name as realName,
+            su.code,
+            su.mobile_number as mobileNumber,
+            su.org_id as orgId,
+            so.name as orgName,
+            so.`type` as orgType
+        from
+            t_f_flow_log tffl
+        join sys_user su on
+            su.id = tffl.approve_id
+        join sys_org so on
+            so.id = su.org_id
+        where
+            tffl.task_id = #{examTaskId}
+        order by
+            tffl.create_time desc
+    </select>
 </mapper>

+ 9 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/TFFlowController.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.google.common.reflect.TypeToken;
 import com.google.gson.Gson;
+import com.qmth.boot.api.annotation.Aac;
+import com.qmth.boot.api.annotation.BOOL;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.distributed.print.business.bean.params.FlowApproveParam;
@@ -284,4 +286,11 @@ public class TFFlowController {
                                          @ApiParam(value = "流程节点id", required = false) @RequestParam(required = false) String taskId) {
         return ResultUtil.ok(activitiService.taskApproverNextPeople(courseCode, taskId));
     }
+
+    @ApiOperation(value = "获取提交记录")
+    @ApiResponses({@ApiResponse(code = 200, message = "流程提交记录", response = FlowTaskApprovePeopleAllResult.class)})
+    @RequestMapping(value = "/task/approver/submit/list", method = RequestMethod.POST)
+    public Result taskApproverSubmitList(@ApiParam(value = "考试任务id", required = true) @RequestParam String examTaskId) {
+        return ResultUtil.ok(activitiService.taskApproverSubmitList(examTaskId));
+    }
 }

+ 15 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/params/ApproveUserResult.java

@@ -23,6 +23,21 @@ public class ApproveUserResult extends SysUser implements Serializable {
     @ApiModelProperty(value = "机构类型")
     private OrgTypeEnum orgType;
 
+    public ApproveUserResult() {
+
+    }
+
+    public ApproveUserResult(String orgName, OrgTypeEnum orgType, String loginName, String realName, Long schoolId, String code, String mobileNumber, Long createTime) {
+        this.orgName = orgName;
+        this.orgType = orgType;
+        setLoginName(loginName);
+        setRealName(realName);
+        setSchoolId(schoolId);
+        setCode(code);
+        setMobileNumber(mobileNumber);
+        setCreateTime(createTime);
+    }
+
     public String getOrgName() {
         return orgName;
     }

+ 30 - 8
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/FlowApproveSetupEnum.java

@@ -11,19 +11,19 @@ import java.util.Objects;
  */
 public enum FlowApproveSetupEnum {
 
-    SUBMIT("提交试卷", "usertask1", 1),
+    SUBMIT("提交试卷", "usertask1", 1, "命题老师"),
 
-    PRIMARY_APPROVE("一级审核", "usertask2", 2),
+    PRIMARY_APPROVE("一级审核", "usertask2", 2, "主任"),
 
-    SECOND_APPROVE("二级审核", "usertask3", 3),
+    SECOND_APPROVE("二级审核", "usertask3", 3, "院长"),
 
-    THREE_APPROVE("三级审核", "usertask4", 4),
+    THREE_APPROVE("三级审核", "usertask4", 4, "命题老师"),
 
-    FOUR_APPROVE("四级审核", "usertask5", 5),
+    FOUR_APPROVE("四级审核", "usertask5", 5, "印刷员"),
 
-    END("已终止", null, -1),
+    END("已终止", null, -1, "终止"),
 
-    FINISH("已结束", null, 0);
+    FINISH("已结束", null, 0, "结束");
 
     private String title;
 
@@ -31,10 +31,13 @@ public enum FlowApproveSetupEnum {
 
     private int setup;
 
-    private FlowApproveSetupEnum(String title, String id, int setup) {
+    private String remark;
+
+    private FlowApproveSetupEnum(String title, String id, int setup, String remark) {
         this.title = title;
         this.id = id;
         this.setup = setup;
+        this.remark = remark;
     }
 
     public String getTitle() {
@@ -49,6 +52,10 @@ public enum FlowApproveSetupEnum {
         return setup;
     }
 
+    public String getRemark() {
+        return remark;
+    }
+
     /**
      * 状态转换 toName
      *
@@ -78,4 +85,19 @@ public enum FlowApproveSetupEnum {
         }
         return null;
     }
+
+    /**
+     * 状态转换 ToRemark
+     *
+     * @param setup
+     * @return
+     */
+    public static String convertToRemark(int setup) {
+        for (FlowApproveSetupEnum e : FlowApproveSetupEnum.values()) {
+            if (e.getSetup() == setup) {
+                return e.getRemark();
+            }
+        }
+        return null;
+    }
 }