update 调整流程状态,移除过时方法,调整查询办理人
This commit is contained in:
parent
37b1c4fc79
commit
07b9f91e7e
@ -22,9 +22,9 @@ public interface AssigneeService {
|
|||||||
/**
|
/**
|
||||||
* 通过taskId查询对应的任务办理人列表
|
* 通过taskId查询对应的任务办理人列表
|
||||||
*
|
*
|
||||||
* @param taskIds taskId串逗号分隔
|
* @param taskIdList 任务id
|
||||||
* @return 列表
|
* @return 列表
|
||||||
*/
|
*/
|
||||||
List<UserDTO> selectByIds(String taskIds);
|
List<UserDTO> selectByIds(List<Long> taskIdList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,9 @@ public class TaskAssigneeTranslationImpl implements TranslationInterface<String>
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String translation(Object key, String other) {
|
public String translation(Object key, String other) {
|
||||||
if (key instanceof String id) {
|
if (key instanceof Long id) {
|
||||||
|
return assigneeService.selectAssigneeByIds(id.toString());
|
||||||
|
} else if (key instanceof String id) {
|
||||||
return assigneeService.selectAssigneeByIds(id);
|
return assigneeService.selectAssigneeByIds(id);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
@ -4,3 +4,4 @@ org.dromara.common.translation.core.impl.DictTypeTranslationImpl
|
|||||||
org.dromara.common.translation.core.impl.OssUrlTranslationImpl
|
org.dromara.common.translation.core.impl.OssUrlTranslationImpl
|
||||||
org.dromara.common.translation.core.impl.UserNameTranslationImpl
|
org.dromara.common.translation.core.impl.UserNameTranslationImpl
|
||||||
org.dromara.common.translation.core.impl.NicknameTranslationImpl
|
org.dromara.common.translation.core.impl.NicknameTranslationImpl
|
||||||
|
org.dromara.common.translation.core.impl.TaskAssigneeTranslationImpl
|
||||||
|
@ -1,131 +0,0 @@
|
|||||||
package org.dromara.workflow.common.enums;
|
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Getter;
|
|
||||||
import org.dromara.warm.flow.core.utils.ObjectUtil;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 工作流状态
|
|
||||||
*
|
|
||||||
* @author AprilWind
|
|
||||||
*/
|
|
||||||
@Getter
|
|
||||||
@AllArgsConstructor
|
|
||||||
public enum WorkflowStatus {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 待提交状态
|
|
||||||
* 流程还未提交,处于待提交状态
|
|
||||||
*/
|
|
||||||
TOBESUBMIT("0", "待提交", "submitted"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 审批中状态
|
|
||||||
* 流程正在审批过程中,处于审批中状态
|
|
||||||
*/
|
|
||||||
APPROVAL("1", "审批中", "approving"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 审批通过状态
|
|
||||||
* 流程已通过审批,处于审批通过状态
|
|
||||||
*/
|
|
||||||
PASS("2", "审批通过", "passed"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 自动完成状态
|
|
||||||
* 流程已自动完成,通常不需要人工干预
|
|
||||||
*/
|
|
||||||
AUTO_PASS("3", "自动完成", "auto"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 终止状态
|
|
||||||
* 流程已终止,不能继续执行
|
|
||||||
*/
|
|
||||||
TERMINATE("4", "终止", "terminated"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 作废状态
|
|
||||||
* 流程被作废,已不再有效
|
|
||||||
*/
|
|
||||||
NULLIFY("5", "作废", "nullified"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 撤销状态
|
|
||||||
* 流程已被撤销,撤销后流程无法继续
|
|
||||||
*/
|
|
||||||
CANCEL("6", "撤销", "cancelled"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 取回状态
|
|
||||||
* 流程被取回,通常是审批被暂停,重新操作后可继续
|
|
||||||
*/
|
|
||||||
RETRIEVE("7", "取回", "retrieved"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 已完成状态
|
|
||||||
* 流程已全部完成,且所有操作已结束
|
|
||||||
*/
|
|
||||||
FINISHED("8", "已完成", "done"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 已退回状态
|
|
||||||
* 流程被退回,通常是审批不通过或者需要重新处理
|
|
||||||
*/
|
|
||||||
REJECT("9", "已退回", "rejected"),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 失效状态
|
|
||||||
* 流程已失效,不再有效,不能继续执行
|
|
||||||
*/
|
|
||||||
INVALID("10", "失效", "invalid");
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 唯一标识符
|
|
||||||
*/
|
|
||||||
private final String key;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 中文描述
|
|
||||||
*/
|
|
||||||
private final String value;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 状态
|
|
||||||
*/
|
|
||||||
private final String status;
|
|
||||||
|
|
||||||
public static WorkflowStatus getByKey(String key) {
|
|
||||||
for (WorkflowStatus workflowStatus : WorkflowStatus.values()) {
|
|
||||||
if (workflowStatus.getKey().equals(key)) {
|
|
||||||
return workflowStatus;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static WorkflowStatus getByValue(String value) {
|
|
||||||
for (WorkflowStatus workflowStatus : WorkflowStatus.values()) {
|
|
||||||
if (workflowStatus.getValue().equals(value)) {
|
|
||||||
return workflowStatus;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static WorkflowStatus getByStatus(String status) {
|
|
||||||
for (WorkflowStatus workflowStatus : WorkflowStatus.values()) {
|
|
||||||
if (workflowStatus.getStatus().equals(status)) {
|
|
||||||
return workflowStatus;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Boolean isFinished(String key) {
|
|
||||||
return ObjectUtil.isNotNull(key) && (WorkflowStatus.FINISHED.getKey().equals(key));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Boolean isFinished(WorkflowStatus workflowStatus) {
|
|
||||||
return ObjectUtil.isNotNull(workflowStatus) && (WorkflowStatus.FINISHED == workflowStatus);
|
|
||||||
}
|
|
||||||
}
|
|
@ -12,6 +12,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
|
|||||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||||
import org.dromara.common.satoken.utils.LoginHelper;
|
import org.dromara.common.satoken.utils.LoginHelper;
|
||||||
import org.dromara.common.web.core.BaseController;
|
import org.dromara.common.web.core.BaseController;
|
||||||
|
import org.dromara.warm.flow.core.dto.FlowParams;
|
||||||
import org.dromara.warm.flow.core.dto.ModifyHandler;
|
import org.dromara.warm.flow.core.dto.ModifyHandler;
|
||||||
import org.dromara.warm.flow.core.entity.HisTask;
|
import org.dromara.warm.flow.core.entity.HisTask;
|
||||||
import org.dromara.warm.flow.core.entity.Instance;
|
import org.dromara.warm.flow.core.entity.Instance;
|
||||||
@ -168,12 +169,12 @@ public class FlwTaskController extends BaseController {
|
|||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PostMapping("/delegateTask")
|
@PostMapping("/delegateTask")
|
||||||
public R<Void> delegateTask(@Validated({AddGroup.class}) @RequestBody DelegateBo bo) {
|
public R<Void> delegateTask(@Validated({AddGroup.class}) @RequestBody DelegateBo bo) {
|
||||||
return toAjax(taskService.depute(
|
FlowParams flowParams = new FlowParams();
|
||||||
bo.getTaskId(),
|
flowParams.addHandlers(Collections.singletonList(bo.getUserId()));
|
||||||
LoginHelper.getUserIdStr(),
|
flowParams.handler(LoginHelper.getUserIdStr());
|
||||||
WorkflowUtils.permissionList(),
|
flowParams.permissionFlag(WorkflowUtils.permissionList());
|
||||||
Collections.singletonList(bo.getUserId()),
|
flowParams.message(bo.getMessage());
|
||||||
bo.getMessage()));
|
return toAjax(taskService.depute(bo.getTaskId(), flowParams));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -185,12 +186,12 @@ public class FlwTaskController extends BaseController {
|
|||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PostMapping("/transferTask")
|
@PostMapping("/transferTask")
|
||||||
public R<Void> transferTask(@Validated({AddGroup.class}) @RequestBody TransferBo bo) {
|
public R<Void> transferTask(@Validated({AddGroup.class}) @RequestBody TransferBo bo) {
|
||||||
return toAjax(taskService.transfer(
|
FlowParams flowParams = new FlowParams();
|
||||||
bo.getTaskId(),
|
flowParams.addHandlers(Collections.singletonList(bo.getUserId()));
|
||||||
LoginHelper.getUserIdStr(),
|
flowParams.handler(LoginHelper.getUserIdStr());
|
||||||
WorkflowUtils.permissionList(),
|
flowParams.permissionFlag(WorkflowUtils.permissionList());
|
||||||
Collections.singletonList(bo.getUserId()),
|
flowParams.message(bo.getMessage());
|
||||||
bo.getMessage()));
|
return toAjax(taskService.transfer(bo.getTaskId(), flowParams));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -202,12 +203,12 @@ public class FlwTaskController extends BaseController {
|
|||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PostMapping("/addSignature")
|
@PostMapping("/addSignature")
|
||||||
public R<Void> addSignature(@Validated({AddGroup.class}) @RequestBody AddSignatureBo bo) {
|
public R<Void> addSignature(@Validated({AddGroup.class}) @RequestBody AddSignatureBo bo) {
|
||||||
return toAjax(taskService.addSignature(
|
FlowParams flowParams = new FlowParams();
|
||||||
bo.getTaskId(),
|
flowParams.addHandlers(bo.getUserIds());
|
||||||
LoginHelper.getUserIdStr(),
|
flowParams.handler(LoginHelper.getUserIdStr());
|
||||||
WorkflowUtils.permissionList(),
|
flowParams.permissionFlag(WorkflowUtils.permissionList());
|
||||||
bo.getUserIds(),
|
flowParams.message(bo.getMessage());
|
||||||
bo.getMessage()));
|
return toAjax(taskService.addSignature(bo.getTaskId(), flowParams));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -219,12 +220,12 @@ public class FlwTaskController extends BaseController {
|
|||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PostMapping("/reductionSignature")
|
@PostMapping("/reductionSignature")
|
||||||
public R<Void> reductionSignature(@Validated({AddGroup.class}) @RequestBody ReductionSignatureBo bo) {
|
public R<Void> reductionSignature(@Validated({AddGroup.class}) @RequestBody ReductionSignatureBo bo) {
|
||||||
return toAjax(taskService.reductionSignature(
|
FlowParams flowParams = new FlowParams();
|
||||||
bo.getTaskId(),
|
flowParams.reductionHandlers(bo.getUserIds());
|
||||||
LoginHelper.getUserIdStr(),
|
flowParams.handler(LoginHelper.getUserIdStr());
|
||||||
WorkflowUtils.permissionList(),
|
flowParams.permissionFlag(WorkflowUtils.permissionList());
|
||||||
bo.getUserIds(),
|
flowParams.message(bo.getMessage());
|
||||||
bo.getMessage()));
|
return toAjax(taskService.reductionSignature(bo.getTaskId(), flowParams));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -237,15 +238,12 @@ public class FlwTaskController extends BaseController {
|
|||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PutMapping("/updateAssignee/{taskId}/{userId}")
|
@PutMapping("/updateAssignee/{taskId}/{userId}")
|
||||||
public R<Void> updateAssignee(@PathVariable Long taskId, @PathVariable String userId) {
|
public R<Void> updateAssignee(@PathVariable Long taskId, @PathVariable String userId) {
|
||||||
ModifyHandler modifyHandler = new ModifyHandler()
|
FlowParams flowParams = new FlowParams();
|
||||||
.setTaskId(taskId)
|
flowParams.addHandlers(Collections.singletonList(userId));
|
||||||
.setAddHandlers(Collections.singletonList(userId))
|
flowParams.cooperateType(CooperateType.APPROVAL.getKey());
|
||||||
.setPermissionFlag(WorkflowUtils.permissionList())
|
flowParams.ignore(false);
|
||||||
.setCooperateType(CooperateType.APPROVAL.getKey())
|
flowParams.message("修改任务办理人");
|
||||||
.setMessage("修改任务办理人")
|
return toAjax(taskService.updateHandler(taskId, flowParams));
|
||||||
.setCurUser(LoginHelper.getUserIdStr())
|
|
||||||
.setIgnore(false);
|
|
||||||
return toAjax(taskService.updateHandler(modifyHandler));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3,12 +3,13 @@ package org.dromara.workflow.listener;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.common.core.domain.event.ProcessEvent;
|
import org.dromara.common.core.domain.event.ProcessEvent;
|
||||||
|
import org.dromara.common.core.enums.BusinessStatusEnum;
|
||||||
import org.dromara.common.core.utils.SpringUtils;
|
import org.dromara.common.core.utils.SpringUtils;
|
||||||
import org.dromara.warm.flow.core.entity.Definition;
|
import org.dromara.warm.flow.core.entity.Definition;
|
||||||
import org.dromara.warm.flow.core.entity.Instance;
|
import org.dromara.warm.flow.core.entity.Instance;
|
||||||
|
import org.dromara.warm.flow.core.enums.FlowStatus;
|
||||||
import org.dromara.warm.flow.core.listener.Listener;
|
import org.dromara.warm.flow.core.listener.Listener;
|
||||||
import org.dromara.warm.flow.core.listener.ListenerVariable;
|
import org.dromara.warm.flow.core.listener.ListenerVariable;
|
||||||
import org.dromara.workflow.common.enums.WorkflowStatus;
|
|
||||||
import org.dromara.workflow.service.IFlwInstanceService;
|
import org.dromara.workflow.service.IFlwInstanceService;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@ -45,15 +46,14 @@ public class WorkflowFinishListener implements Listener {
|
|||||||
public void notify(ListenerVariable listenerVariable) {
|
public void notify(ListenerVariable listenerVariable) {
|
||||||
log.info("流程结束监听器");
|
log.info("流程结束监听器");
|
||||||
Instance instance = listenerVariable.getInstance();
|
Instance instance = listenerVariable.getInstance();
|
||||||
WorkflowStatus status = WorkflowStatus.getByKey(instance.getFlowStatus());
|
|
||||||
Definition definition = listenerVariable.getDefinition();
|
Definition definition = listenerVariable.getDefinition();
|
||||||
ProcessEvent processEvent = new ProcessEvent();
|
ProcessEvent processEvent = new ProcessEvent();
|
||||||
//检查流程是否已结束
|
//检查流程是否已结束
|
||||||
if (WorkflowStatus.isFinished(status)) {
|
if (FlowStatus.isFinished(instance.getFlowStatus())) {
|
||||||
// 若流程已结束,更新状态为已完成
|
// 若流程已结束,更新状态为已完成
|
||||||
iFlwInstanceService.updateStatus(instance.getId(), status.getStatus());
|
iFlwInstanceService.updateStatus(instance.getId(), BusinessStatusEnum.FINISH.getStatus());
|
||||||
// 流程结束监听,处理结束后的业务逻辑
|
// 流程结束监听,处理结束后的业务逻辑
|
||||||
processEvent.setStatus(status.getStatus());
|
processEvent.setStatus(BusinessStatusEnum.FINISH.getStatus());
|
||||||
processEvent.setSubmit(false);
|
processEvent.setSubmit(false);
|
||||||
processEvent.setFlowCode(definition.getFlowCode());
|
processEvent.setFlowCode(definition.getFlowCode());
|
||||||
processEvent.setBusinessKey(instance.getBusinessId());
|
processEvent.setBusinessKey(instance.getBusinessId());
|
||||||
|
@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.common.core.constant.SystemConstants;
|
import org.dromara.common.core.constant.SystemConstants;
|
||||||
|
import org.dromara.common.core.enums.BusinessStatusEnum;
|
||||||
import org.dromara.common.core.utils.StreamUtils;
|
import org.dromara.common.core.utils.StreamUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
@ -68,7 +69,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
|||||||
@Override
|
@Override
|
||||||
public TableDataInfo<FlowInstanceVo> getPageByRunning(Instance instance, PageQuery pageQuery) {
|
public TableDataInfo<FlowInstanceVo> getPageByRunning(Instance instance, PageQuery pageQuery) {
|
||||||
QueryWrapper<FlowInstanceBo> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<FlowInstanceBo> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("t.flow_status", FlowStatus.APPROVAL.getKey());
|
queryWrapper.eq("t.flow_status", BusinessStatusEnum.WAITING.getStatus());
|
||||||
queryWrapper.eq("t.del_flag", SystemConstants.NORMAL);
|
queryWrapper.eq("t.del_flag", SystemConstants.NORMAL);
|
||||||
Page<FlowInstanceVo> page = flwInstanceMapper.page(pageQuery.build(), queryWrapper);
|
Page<FlowInstanceVo> page = flwInstanceMapper.page(pageQuery.build(), queryWrapper);
|
||||||
TableDataInfo<FlowInstanceVo> build = TableDataInfo.build();
|
TableDataInfo<FlowInstanceVo> build = TableDataInfo.build();
|
||||||
@ -86,7 +87,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
|||||||
@Override
|
@Override
|
||||||
public TableDataInfo<FlowInstanceVo> getPageByFinish(Instance instance, PageQuery pageQuery) {
|
public TableDataInfo<FlowInstanceVo> getPageByFinish(Instance instance, PageQuery pageQuery) {
|
||||||
QueryWrapper<FlowInstanceBo> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<FlowInstanceBo> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.in("t.flow_status", Arrays.asList(FlowStatus.FINISHED.getKey(), FlowStatus.AUTO_PASS.getKey()));
|
queryWrapper.eq("t.flow_status", BusinessStatusEnum.FINISH.getStatus());
|
||||||
Page<FlowInstanceVo> page = flwInstanceMapper.page(pageQuery.build(), queryWrapper);
|
Page<FlowInstanceVo> page = flwInstanceMapper.page(pageQuery.build(), queryWrapper);
|
||||||
TableDataInfo<FlowInstanceVo> build = TableDataInfo.build();
|
TableDataInfo<FlowInstanceVo> build = TableDataInfo.build();
|
||||||
build.setRows(BeanUtil.copyToList(page.getRecords(), FlowInstanceVo.class));
|
build.setRows(BeanUtil.copyToList(page.getRecords(), FlowInstanceVo.class));
|
||||||
|
@ -18,7 +18,6 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|||||||
import org.dromara.common.satoken.utils.LoginHelper;
|
import org.dromara.common.satoken.utils.LoginHelper;
|
||||||
import org.dromara.warm.flow.core.dto.FlowParams;
|
import org.dromara.warm.flow.core.dto.FlowParams;
|
||||||
import org.dromara.warm.flow.core.entity.*;
|
import org.dromara.warm.flow.core.entity.*;
|
||||||
import org.dromara.warm.flow.core.enums.FlowStatus;
|
|
||||||
import org.dromara.warm.flow.core.enums.NodeType;
|
import org.dromara.warm.flow.core.enums.NodeType;
|
||||||
import org.dromara.warm.flow.core.enums.SkipType;
|
import org.dromara.warm.flow.core.enums.SkipType;
|
||||||
import org.dromara.warm.flow.core.service.DefService;
|
import org.dromara.warm.flow.core.service.DefService;
|
||||||
@ -167,16 +166,6 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
|
|||||||
|
|
||||||
// 更新实例状态为待审核状态
|
// 更新实例状态为待审核状态
|
||||||
iFlwInstanceService.updateStatus(ins.getId(), BusinessStatusEnum.WAITING.getStatus());
|
iFlwInstanceService.updateStatus(ins.getId(), BusinessStatusEnum.WAITING.getStatus());
|
||||||
//判断是否流程结束
|
|
||||||
Instance instance = insService.getById(ins.getId());
|
|
||||||
// 重新获取实例信息,检查流程是否已结束
|
|
||||||
if (FlowStatus.isFinished(instance.getFlowStatus())) {
|
|
||||||
// 若流程已结束,更新状态为已完成
|
|
||||||
iFlwInstanceService.updateStatus(instance.getId(), BusinessStatusEnum.FINISH.getStatus());
|
|
||||||
// 流程结束监听,处理结束后的业务逻辑
|
|
||||||
flowProcessEventHandler.processHandler(definition.getFlowCode(), instance.getBusinessId(),
|
|
||||||
BusinessStatusEnum.FINISH.getStatus(), false);
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error(e.getMessage(), e);
|
log.error(e.getMessage(), e);
|
||||||
@ -257,7 +246,6 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
|
|||||||
public TableDataInfo<FlowTaskVo> getPageByAllTaskWait(FlowTaskBo flowTaskBo, PageQuery pageQuery) {
|
public TableDataInfo<FlowTaskVo> getPageByAllTaskWait(FlowTaskBo flowTaskBo, PageQuery pageQuery) {
|
||||||
QueryWrapper<FlowTaskBo> queryWrapper = buildQueryWrapper(flowTaskBo);
|
QueryWrapper<FlowTaskBo> queryWrapper = buildQueryWrapper(flowTaskBo);
|
||||||
queryWrapper.eq("t.node_type", NodeType.BETWEEN.getKey());
|
queryWrapper.eq("t.node_type", NodeType.BETWEEN.getKey());
|
||||||
queryWrapper.in("t.processed_by", WorkflowUtils.permissionList());
|
|
||||||
Page<FlowTaskVo> page = flwTaskMapper.getTaskWaitByPage(pageQuery.build(), queryWrapper);
|
Page<FlowTaskVo> page = flwTaskMapper.getTaskWaitByPage(pageQuery.build(), queryWrapper);
|
||||||
return TableDataInfo.build(page);
|
return TableDataInfo.build(page);
|
||||||
}
|
}
|
||||||
@ -321,11 +309,10 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
|
|||||||
|
|
||||||
FlowParams flowParams = new FlowParams();
|
FlowParams flowParams = new FlowParams();
|
||||||
flowParams.variable(bo.getVariables());
|
flowParams.variable(bo.getVariables());
|
||||||
|
flowParams.skipType(SkipType.PASS.getKey());
|
||||||
if (nextNodeCode.equals(bo.getNodeCode())) {
|
if (nextNodeCode.equals(bo.getNodeCode())) {
|
||||||
flowParams.skipType(SkipType.REJECT.getKey());
|
|
||||||
flowParams.flowStatus(BusinessStatusEnum.BACK.getStatus());
|
flowParams.flowStatus(BusinessStatusEnum.BACK.getStatus());
|
||||||
} else {
|
} else {
|
||||||
flowParams.skipType(SkipType.PASS.getKey());
|
|
||||||
flowParams.flowStatus(BusinessStatusEnum.WAITING.getStatus());
|
flowParams.flowStatus(BusinessStatusEnum.WAITING.getStatus());
|
||||||
}
|
}
|
||||||
flowParams.hisStatus(TaskStatusEnum.BACK.getStatus());
|
flowParams.hisStatus(TaskStatusEnum.BACK.getStatus());
|
||||||
@ -413,15 +400,15 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService {
|
|||||||
/**
|
/**
|
||||||
* 通过taskId查询对应的任务办理人列表
|
* 通过taskId查询对应的任务办理人列表
|
||||||
*
|
*
|
||||||
* @param taskIds taskId串逗号分隔
|
* @param taskIdList 任务id
|
||||||
* @return 列表
|
* @return 列表
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<UserDTO> selectByIds(String taskIds) {
|
public List<UserDTO> selectByIds(List<Long> taskIdList) {
|
||||||
if (StringUtils.isBlank(taskIds)) {
|
if (CollUtil.isEmpty(taskIdList)) {
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
List<User> userList = userService.getByAssociateds(List.of(Long.valueOf(taskIds)));
|
List<User> userList = userService.getByAssociateds(taskIdList);
|
||||||
return WorkflowUtils.getHandlerUser(userList);
|
return WorkflowUtils.getHandlerUser(userList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,7 +99,8 @@
|
|||||||
c.flow_code
|
c.flow_code
|
||||||
from flow_his_task a
|
from flow_his_task a
|
||||||
LEFT JOIN flow_instance b on a.instance_id = b.id
|
LEFT JOIN flow_instance b on a.instance_id = b.id
|
||||||
LEFT JOIN flow_definition c on a.definition_id = c.id
|
LEFT JOIN flow_definition c on a.definition_id = c.id where
|
||||||
|
a.del_flag ='0' and b.del_flag = '0' and c.del_flag = '0' and a.node_type not in ('0')
|
||||||
) t ${ew.getCustomSqlSegment}
|
) t ${ew.getCustomSqlSegment}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@ -119,7 +120,7 @@
|
|||||||
LEFT JOIN flow_instance b ON a.associated = b.id
|
LEFT JOIN flow_instance b ON a.associated = b.id
|
||||||
LEFT JOIN flow_definition d on b.definition_id=d.id
|
LEFT JOIN flow_definition d on b.definition_id=d.id
|
||||||
WHERE
|
WHERE
|
||||||
a.type = 4 and a.del_flag = '0'
|
a.type = 4 and a.del_flag = '0' and b.del_flag = '0'
|
||||||
) t ${ew.getCustomSqlSegment}
|
) t ${ew.getCustomSqlSegment}
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user