update 工作中心 加签,解决加签,转签
This commit is contained in:
+3
-3
@@ -6,12 +6,12 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.DictPoint;
|
||||
import com.jero.common.constant.enums.LanguageEnum;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.entity.ProcessNode;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.service.*;
|
||||
import com.jero.modules.laws.common.constant.ResultCommon;
|
||||
import io.swagger.annotations.*;
|
||||
@@ -155,11 +155,11 @@ public class ActivitiController {
|
||||
}else if ("其他起草人线下填写,上传".equals(taskName)){
|
||||
}
|
||||
//更新审批表为完成,填充数据
|
||||
ProcessApprovalRecord approvalRecord = processApprovalRecordService.getByTaskId(taskId);
|
||||
ProcessApprovalRecord approvalRecord = processApprovalRecordService.getToDoByTaskId(taskId);
|
||||
approvalRecord.setCommitFlag(commitFlag);
|
||||
approvalRecord.setCommitText(commitText);
|
||||
approvalRecord.setCommitFile(commitFile);
|
||||
approvalRecord.setFinishFlag(YesOrNoEnum.YES.getInteger());
|
||||
approvalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue());
|
||||
approvalRecord.setEndTime(new Date());
|
||||
processApprovalRecordService.updateById(approvalRecord);
|
||||
//审批节点
|
||||
|
||||
+53
@@ -7,7 +7,11 @@ import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.process.common.entity.ProcessDraft;
|
||||
import com.jero.modules.activiti.process.common.service.ProcessDraftService;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.vo.DelegateTaskParam;
|
||||
import com.jero.modules.activiti.vo.ResolveTaskParam;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -38,6 +42,8 @@ public class WorkCenterController {
|
||||
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
@Resource
|
||||
private ProcessDraftService processDraftService;
|
||||
|
||||
@ApiOperation(value = "查询待办流程列表")
|
||||
@GetMapping("/getTodoList")
|
||||
@@ -102,6 +108,24 @@ public class WorkCenterController {
|
||||
return Result.OK(sentList);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询草稿")
|
||||
@GetMapping("/getDraftList")
|
||||
public Result<?> getDraftList(ProcessDraft processDraft,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<ProcessDraft> queryWrapper = new QueryWrapper<>();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String userId = loginUser.getId();
|
||||
queryWrapper.eq("create_by",userId);
|
||||
Integer prcType = processDraft.getPrcType();
|
||||
queryWrapper.eq(prcType != null, "prc_type", prcType);
|
||||
|
||||
Page<ProcessDraft> page = new Page<>(pageNo, pageSize);
|
||||
IPage<ProcessDraft> sentList = processDraftService.page(page, queryWrapper);
|
||||
return Result.OK(sentList);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private QueryWrapper<ProcessAll> getProcessAllQueryWrapper(ProcessAll processAll) {
|
||||
String prcName = processAll.getPrcName();
|
||||
@@ -126,4 +150,33 @@ public class WorkCenterController {
|
||||
processAllService.delete(processInstanceId);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
/**
|
||||
* 加签
|
||||
*/
|
||||
@ApiOperation(value="加签")
|
||||
@PostMapping("/delegateTask")
|
||||
public Result<Object> delegateTask(@RequestBody DelegateTaskParam param) {
|
||||
processAllService.delegateTask(param);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
@ApiOperation(value="解决加签")
|
||||
@PostMapping("/resolveTask")
|
||||
public Result<Object> resolveTask(@RequestBody ResolveTaskParam param) {
|
||||
processAllService.resolveTask(param);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
/**
|
||||
* 转签
|
||||
*/
|
||||
@ApiOperation(value="转签")
|
||||
@PostMapping("/transferTask")
|
||||
public Result<Object> transferTask(@RequestBody DelegateTaskParam param) {
|
||||
processAllService.transferTask(param);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+63
-44
@@ -4,22 +4,17 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
/**
|
||||
*
|
||||
*流程审批记录表
|
||||
*@author liJiaRao
|
||||
*@date 2023-10-16 15:49
|
||||
*@date 2023-10-20 16:42
|
||||
*/
|
||||
/**
|
||||
* 流程审批记录表
|
||||
*/
|
||||
@ApiModel(description="流程审批记录表")
|
||||
@ApiModel(description = "流程审批记录表")
|
||||
@Data
|
||||
@TableName(value = "process_approval_record")
|
||||
public class ProcessApprovalRecord {
|
||||
@@ -27,115 +22,139 @@ public class ProcessApprovalRecord {
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value="主键")
|
||||
@ApiModelProperty(value = "主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
@ApiModelProperty(value="任务id")
|
||||
@TableField(value = "task_id")
|
||||
@ApiModelProperty(value = "任务id")
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
@ApiModelProperty(value="任务名称")
|
||||
@TableField(value = "task_name")
|
||||
@ApiModelProperty(value = "任务名称")
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
@ApiModelProperty(value="流程实例id")
|
||||
@TableField(value = "process_instance_id")
|
||||
@ApiModelProperty(value = "流程实例id")
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 资源类型
|
||||
*/
|
||||
@ApiModelProperty(value="资源类型")
|
||||
@TableField(value = "msg_type")
|
||||
@ApiModelProperty(value = "资源类型")
|
||||
private String msgType;
|
||||
|
||||
/**
|
||||
* 处理人id
|
||||
*/
|
||||
@ApiModelProperty(value="处理人id")
|
||||
@TableField(value = "user_id")
|
||||
@ApiModelProperty(value = "处理人id")
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 信息
|
||||
*/
|
||||
@ApiModelProperty(value="信息")
|
||||
@TableField(value = "mesg")
|
||||
@ApiModelProperty(value = "信息")
|
||||
private String mesg;
|
||||
|
||||
/**
|
||||
* 完成注记(0未完成,1完成)
|
||||
*/
|
||||
@ApiModelProperty(value="完成注记(0未完成,1完成,2暂停)")
|
||||
@TableField(value = "finish_flag")
|
||||
@ApiModelProperty(value = "完成注记(0未完成,1完成)")
|
||||
private Integer finishFlag;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@ApiModelProperty(value="项目id")
|
||||
@TableField(value = "project_id")
|
||||
@ApiModelProperty(value = "项目id")
|
||||
private String projectId;
|
||||
|
||||
/**
|
||||
* 审批意见(0同意,1不同意)
|
||||
*/
|
||||
@ApiModelProperty(value="审批意见(0同意,1不同意)")
|
||||
@TableField(value = "commit_flag")
|
||||
@ApiModelProperty(value = "审批意见(0同意,1不同意)")
|
||||
private Integer commitFlag;
|
||||
|
||||
/**
|
||||
* 审批内容
|
||||
*/
|
||||
@ApiModelProperty(value="审批内容")
|
||||
@TableField(value = "commit_text")
|
||||
@ApiModelProperty(value = "审批内容")
|
||||
private String commitText;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
* 审批附件
|
||||
*/
|
||||
@ApiModelProperty(value="附件")
|
||||
@TableField(value = "commit_file")
|
||||
@ApiModelProperty(value = "审批附件")
|
||||
private String commitFile;
|
||||
|
||||
/**
|
||||
* 是否派发过加签任务
|
||||
*/
|
||||
@ApiModelProperty(value="是否派发过加签任务")
|
||||
private Integer hasDelegateTask;
|
||||
|
||||
/**
|
||||
* 是否加签任务
|
||||
*/
|
||||
@ApiModelProperty(value="是否加签任务")
|
||||
private Integer isDelegateTask;
|
||||
|
||||
|
||||
/**
|
||||
* 流程名称
|
||||
*/
|
||||
@ApiModelProperty(value="流程名称")
|
||||
@TableField(value = "prc_name")
|
||||
@ApiModelProperty(value = "流程名称")
|
||||
private String prcName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ApiModelProperty(value="创建时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@TableField(value = "create_time")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@ApiModelProperty(value="更新时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@TableField(value = "update_time")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 完成时间
|
||||
*/
|
||||
@ApiModelProperty(value="完成时间")
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@TableField(value = "end_time")
|
||||
@ApiModelProperty(value = "完成时间")
|
||||
private Date endTime;
|
||||
|
||||
/**
|
||||
* 是否派发过加签任务
|
||||
*/
|
||||
@TableField(value = "has_delegate_task")
|
||||
@ApiModelProperty(value = "是否派发过加签任务")
|
||||
private Integer hasDelegateTask;
|
||||
|
||||
/**
|
||||
* 是否加签任务
|
||||
*/
|
||||
@TableField(value = "is_delegate_task")
|
||||
@ApiModelProperty(value = "是否加签任务")
|
||||
private Integer isDelegateTask;
|
||||
|
||||
/**
|
||||
* 加签人
|
||||
*/
|
||||
@TableField(value = "delegate_by")
|
||||
@ApiModelProperty(value = "加签人")
|
||||
private String delegateBy;
|
||||
|
||||
/**
|
||||
* 转办人
|
||||
*/
|
||||
@TableField(value = "transfer_by")
|
||||
@ApiModelProperty(value = "转办人")
|
||||
private String transferBy;
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.jero.modules.activiti.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-10-20 16:34
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum FinishFlagEnum {
|
||||
/**
|
||||
* A
|
||||
*/
|
||||
INCOMPLETE("未完成", 0),
|
||||
COMPLETE("完成", 1),
|
||||
SUSPEND("暂停", 2),
|
||||
;
|
||||
|
||||
private String name;
|
||||
private Integer value;
|
||||
|
||||
public static String getNameByValue(Integer value) {
|
||||
for (FinishFlagEnum enumObject : values()) {
|
||||
if (enumObject.getValue().equals(value)) {
|
||||
return enumObject.getName();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Integer getValueByName(String name) {
|
||||
for (FinishFlagEnum enumObject : values()) {
|
||||
if (enumObject.getName().equals(name)) {
|
||||
return enumObject.getValue();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package com.jero.modules.activiti.listener;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||
import org.activiti.engine.delegate.DelegateTask;
|
||||
@@ -15,7 +16,7 @@ import org.activiti.engine.delegate.TaskListener;
|
||||
public class CompleteListener implements TaskListener {
|
||||
@Override
|
||||
public void notify(DelegateTask delegateTask) {
|
||||
//流程审批信息
|
||||
//流程审批信息转办
|
||||
ProcessApprovalRecordService recordService = SpringContextUtil.getBean(ProcessApprovalRecordService.class);
|
||||
|
||||
String taskId = delegateTask.getId();
|
||||
@@ -25,7 +26,7 @@ public class CompleteListener implements TaskListener {
|
||||
wrapper.eq(ProcessApprovalRecord::getTaskId,taskId);
|
||||
wrapper.eq(ProcessApprovalRecord::getUserId,assignee);
|
||||
ProcessApprovalRecord approvalRecord = recordService.getOne(wrapper);
|
||||
approvalRecord.setFinishFlag(YesOrNoEnum.YES.getInteger());
|
||||
approvalRecord.setFinishFlag(FinishFlagEnum.COMPLETE.getValue());
|
||||
recordService.updateById(approvalRecord);
|
||||
|
||||
System.out.println(taskId);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.activiti.listener;
|
||||
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||
import com.jero.modules.activiti.util.SpringContextUtil;
|
||||
@@ -40,7 +41,7 @@ public class CreateListener implements TaskListener {
|
||||
approvalRecord.setTaskName(name);
|
||||
approvalRecord.setProcessInstanceId(processInstanceId);
|
||||
approvalRecord.setUserId(assignee);
|
||||
approvalRecord.setFinishFlag(0);
|
||||
approvalRecord.setFinishFlag(FinishFlagEnum.INCOMPLETE.getValue());
|
||||
approvalRecord.setCreateTime(createTime);
|
||||
recordService.save(approvalRecord);
|
||||
// todo 对接统一平台生成待办任务
|
||||
|
||||
+16
-1
@@ -18,7 +18,7 @@ public class ProcessDraft implements Serializable {
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
@@ -61,6 +61,21 @@ public class ProcessDraft implements Serializable {
|
||||
*/
|
||||
private String processKey;
|
||||
|
||||
/**
|
||||
* 流程实例id
|
||||
*/
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 项目类型
|
||||
*/
|
||||
private Integer prcType;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private String projectId;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
||||
+93
-2
@@ -2,15 +2,29 @@ package com.jero.modules.activiti.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||
import com.jero.modules.activiti.mapper.ProcessApprovalRecordMapper;
|
||||
import com.jero.modules.activiti.vo.DelegateTaskParam;
|
||||
import com.jero.modules.activiti.vo.ResolveTaskParam;
|
||||
import com.jero.modules.laws.common.constant.ResultCommon;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.TaskService;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.modules.activiti.mapper.ProcessAllMapper;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
@@ -24,9 +38,11 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
|
||||
@Resource
|
||||
private ProcessAllMapper processAllMapper;
|
||||
@Resource
|
||||
private ProcessApprovalRecordMapper processApprovalRecordMapper;
|
||||
private ProcessApprovalRecordService approvalRecordService;
|
||||
@Resource
|
||||
private RuntimeService runtimeService;
|
||||
@Resource
|
||||
private TaskService taskService;
|
||||
|
||||
public ProcessAll getByProcessInstanceId(String processInstanceId){
|
||||
LambdaQueryWrapper<ProcessAll> wrapper = new LambdaQueryWrapper<>();
|
||||
@@ -56,7 +72,7 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
|
||||
//删除审批表
|
||||
LambdaQueryWrapper<ProcessApprovalRecord> wrapper1 = new LambdaQueryWrapper<>();
|
||||
wrapper1.eq(ProcessApprovalRecord::getProcessInstanceId,processInstanceId);
|
||||
processApprovalRecordMapper.delete(wrapper1);
|
||||
approvalRecordService.remove(wrapper1);
|
||||
//业务表修改为草稿
|
||||
Integer prcType = processAll.getPrcType();
|
||||
WorkCenterService classByValue = null;
|
||||
@@ -72,4 +88,79 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
|
||||
public IPage<ProcessAll> getAllList(Page<ProcessAll> page, QueryWrapper<ProcessAll> queryWrapper) {
|
||||
return processAllMapper.getAllList(page,queryWrapper);
|
||||
}
|
||||
|
||||
public void delegateTask(DelegateTaskParam param) {
|
||||
String taskId = param.getTaskId();
|
||||
String userId = param.getUserId();
|
||||
|
||||
taskService.delegateTask(taskId, userId);
|
||||
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||
String taskName = task.getName();
|
||||
String processInstanceId = task.getProcessInstanceId();
|
||||
//暂停之前的审批(未完成的任务id是之前的)
|
||||
LambdaUpdateWrapper<ProcessApprovalRecord> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(ProcessApprovalRecord::getTaskId, taskId);
|
||||
updateWrapper.eq(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.INCOMPLETE.getValue());
|
||||
updateWrapper.set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.SUSPEND.getValue());
|
||||
updateWrapper.set(ProcessApprovalRecord::getHasDelegateTask, YesOrNoEnum.YES.getValue());
|
||||
approvalRecordService.update(updateWrapper);
|
||||
//新增待审批记录
|
||||
ProcessApprovalRecord approvalRecord = new ProcessApprovalRecord();
|
||||
approvalRecord.setTaskId(taskId);
|
||||
approvalRecord.setTaskName(taskName);
|
||||
approvalRecord.setProcessInstanceId(processInstanceId);
|
||||
approvalRecord.setUserId(userId);
|
||||
approvalRecord.setFinishFlag(FinishFlagEnum.INCOMPLETE.getValue());
|
||||
approvalRecord.setCreateTime(new Date());
|
||||
approvalRecord.setIsDelegateTask(YesOrNoEnum.YES.getInteger());
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
approvalRecord.setDelegateBy(loginUser.getId());
|
||||
|
||||
approvalRecordService.save(approvalRecord);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void resolveTask(ResolveTaskParam param) {
|
||||
String taskId = param.getTaskId();
|
||||
String commitText = param.getCommitText();
|
||||
String commitFile = param.getCommitFile();
|
||||
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
taskService.resolveTask(taskId);
|
||||
|
||||
//完成之前的审批(未完成的任务id是之前的)
|
||||
ProcessApprovalRecord approvalRecord = approvalRecordService.getToDoByTaskId(taskId);
|
||||
|
||||
String userId = approvalRecord.getUserId();
|
||||
if (!Objects.equals(userId,loginUser.getId())){
|
||||
throw new JeroBootException(ResultCommon.TASK_HANDLER_ERROR);
|
||||
}
|
||||
LambdaUpdateWrapper<ProcessApprovalRecord> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(ProcessApprovalRecord::getId, approvalRecord.getId());
|
||||
updateWrapper.set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.COMPLETE.getValue());
|
||||
updateWrapper.set(ProcessApprovalRecord::getCommitText, commitText);
|
||||
updateWrapper.set(ProcessApprovalRecord::getCommitFile, commitFile);
|
||||
approvalRecordService.update(updateWrapper);
|
||||
// 启动暂停的任务
|
||||
LambdaUpdateWrapper<ProcessApprovalRecord> updateWrapper1 = new LambdaUpdateWrapper<>();
|
||||
updateWrapper1.eq(ProcessApprovalRecord::getTaskId, taskId);
|
||||
updateWrapper1.eq(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.SUSPEND.getValue());
|
||||
updateWrapper1.set(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.INCOMPLETE.getValue());
|
||||
approvalRecordService.update(updateWrapper1);
|
||||
}
|
||||
|
||||
public void transferTask(DelegateTaskParam param) {
|
||||
String taskId = param.getTaskId();
|
||||
String userId = param.getUserId();
|
||||
//获取审批(未完成的任务id是之前的)
|
||||
ProcessApprovalRecord approvalRecord = approvalRecordService.getToDoByTaskId(taskId);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
LambdaUpdateWrapper<ProcessApprovalRecord> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(ProcessApprovalRecord::getId, approvalRecord.getId());
|
||||
updateWrapper.set(ProcessApprovalRecord::getTransferBy,loginUser.getId());
|
||||
updateWrapper.set(ProcessApprovalRecord::getUserId,userId);
|
||||
approvalRecordService.update(updateWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
+3
-2
@@ -2,6 +2,7 @@ package com.jero.modules.activiti.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
@@ -16,10 +17,10 @@ import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
@Service
|
||||
public class ProcessApprovalRecordService extends ServiceImpl<ProcessApprovalRecordMapper, ProcessApprovalRecord> {
|
||||
|
||||
public ProcessApprovalRecord getByTaskId(String taskId){
|
||||
public ProcessApprovalRecord getToDoByTaskId(String taskId){
|
||||
LambdaQueryWrapper<ProcessApprovalRecord> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ProcessApprovalRecord::getTaskId,taskId);
|
||||
wrapper.eq(ProcessApprovalRecord::getIsDelegateTask, YesOrNoEnum.NO.getInteger());
|
||||
wrapper.eq(ProcessApprovalRecord::getFinishFlag, FinishFlagEnum.INCOMPLETE.getValue());
|
||||
return this.getOne(wrapper);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.jero.modules.activiti.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-10-20 16:52
|
||||
*/
|
||||
@Data
|
||||
public class DelegateTaskParam {
|
||||
@ApiModelProperty(value = "任务id")
|
||||
String taskId;
|
||||
@ApiModelProperty(value = "用户id")
|
||||
String userId;
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.jero.modules.activiti.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
* @date 2023-10-20 16:52
|
||||
*/
|
||||
@Data
|
||||
public class ResolveTaskParam {
|
||||
@ApiModelProperty(value = "任务id")
|
||||
String taskId;
|
||||
@ApiModelProperty(value = "审批内容")
|
||||
String commitText;
|
||||
@ApiModelProperty(value = "审批附件")
|
||||
String commitFile;
|
||||
}
|
||||
@@ -58,4 +58,8 @@ public class ResultCommon {
|
||||
public static final String IMPORT_ERROR = "import.error"; // 导入ZIP压缩包失败
|
||||
|
||||
public static final String PLEASE_UPLOAD_ZIP = "please.upload.zip.archive"; // 请上传Zip压缩包
|
||||
|
||||
public static final String TASK_HANDLER_ERROR = "task.handler.error"; // 只有处理人可以操作
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -44,4 +44,5 @@ horizontal.transgression=\u6C34\u5E73\u8D8A\u6743
|
||||
select.level.two.tree.node=\u8BF7\u5148\u9009\u62E9\u4E8C\u7EA7\u53CA\u4EE5\u4E0B\u4F53\u7CFB
|
||||
export.error=\u5BFC\u51FA\u9519\u8BEF
|
||||
import.error=\u5BFC\u5165\u9519\u8BEF
|
||||
please.upload.zip.archive=\u6570\u636E\u5BFC\u5165\u5931\u8D25\uFF0C\u8BF7\u4E0A\u4F20zip\u538B\u7F29\u5305
|
||||
please.upload.zip.archive=\u6570\u636E\u5BFC\u5165\u5931\u8D25\uFF0C\u8BF7\u4E0A\u4F20zip\u538B\u7F29\u5305
|
||||
task.handler.error=\u53EA\u6709\u5904\u7406\u4EBA\u53EF\u4EE5\u64CD\u4F5C
|
||||
@@ -47,4 +47,5 @@ horizontal.transgression=Horizontal overstepping of authority
|
||||
select.level.two.tree.node=Please select a level 2 or lower system first
|
||||
export.error=Export error
|
||||
import.error=Import error
|
||||
please.upload.zip.archive=Data import failed, please upload zip archive
|
||||
please.upload.zip.archive=Data import failed, please upload zip archive
|
||||
task.handler.error=Only the handler can operate
|
||||
@@ -46,4 +46,5 @@ horizontal.transgression=\u6C34\u5E73\u8D8A\u6743
|
||||
select.level.two.tree.node=\u8BF7\u5148\u9009\u62E9\u4E8C\u7EA7\u53CA\u4EE5\u4E0B\u4F53\u7CFB`
|
||||
export.zip.archive.error=\u5BFC\u51FA\u9519\u8BEF
|
||||
import.zip.archive.error=\u5BFC\u5165\u9519\u8BEF
|
||||
please.upload.zip.archive=\u6570\u636E\u5BFC\u5165\u5931\u8D25\uFF0C\u8BF7\u4E0A\u4F20zip\u538B\u7F29\u5305
|
||||
please.upload.zip.archive=\u6570\u636E\u5BFC\u5165\u5931\u8D25\uFF0C\u8BF7\u4E0A\u4F20zip\u538B\u7F29\u5305
|
||||
task.handler.error=\u53EA\u6709\u5904\u7406\u4EBA\u53EF\u4EE5\u64CD\u4F5C
|
||||
Reference in New Issue
Block a user