update 格式化全部代码

This commit is contained in:
疯狂的狮子Li
2026-06-04 16:08:04 +08:00
parent e08160afb6
commit 2d4d7b6fb1
190 changed files with 795 additions and 845 deletions
@@ -23,7 +23,7 @@ import java.lang.annotation.Target;
* @author Lion Li
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE, ElementType.METHOD })
@Target({ElementType.TYPE, ElementType.METHOD})
@ConditionalOnProperty(value = "warm-flow.enabled", havingValue = "true")
public @interface ConditionalOnEnable {
}
@@ -102,7 +102,6 @@ public enum TaskAssigneeEnum {
.collect(Collectors.toList());
}
/**
/**
* 获取所有办理人类型的代码列表,通常用于程序内部逻辑判断。
*
@@ -77,21 +77,19 @@ public enum TaskStatusEnum {
*/
TIMEOUT("timeout", "超时");
/**
* 状态
*/
private final String status;
/**
* 状态描述。
*/
private final String desc;
/**
* 状态编码与描述缓存。
*/
private static final Map<String, String> STATUS_DESC_MAP = Arrays.stream(values())
.collect(Collectors.toConcurrentMap(TaskStatusEnum::getStatus, TaskStatusEnum::getDesc));
/**
* 状态
*/
private final String status;
/**
* 状态描述。
*/
private final String desc;
/**
* 根据状态编码获取任务业务状态描述。
@@ -53,7 +53,7 @@ public class FlwCategoryController extends BaseController {
/**
* 导出流程分类列表。
*
* @param bo 查询条件
* @param bo 查询条件
* @param response 响应流
*/
@SaCheckPermission("workflow:category:export")
@@ -40,7 +40,7 @@ public class FlwSpelController extends BaseController {
/**
* 分页查询流程 SpEL 表达式定义列表。
*
* @param bo 查询条件
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 表达式分页数据
*/
@@ -63,7 +63,7 @@ public class FlwSpelController extends BaseController {
}
/**
/**
* /**
* 新增流程 SpEL 表达式定义。
*
* @param bo 表达式信息
@@ -89,7 +89,7 @@ public class FlwTaskController extends BaseController {
}
/**
/**
* /**
* 查询全部待办任务。
*
* @param flowTaskBo 参数
@@ -126,7 +126,7 @@ public class FlwTaskController extends BaseController {
}
/**
/**
* /**
* 根据任务 id 查询任务详情。
*
* @param taskId 任务id
@@ -138,7 +138,7 @@ public class FlwTaskController extends BaseController {
}
/**
/**
* /**
* 获取流程下一节点信息。
*
* @param bo 参数
@@ -150,7 +150,7 @@ public class FlwTaskController extends BaseController {
}
/**
/**
* /**
* 终止流程任务。
*
* @param bo 参数
@@ -207,8 +207,8 @@ public class FlwTaskController extends BaseController {
/**
* 获取当前任务可驳回的前置节点。
*
* @param taskId 任务id
* @param nowNodeCode 当前节点
* @param taskId 任务id
* @param nowNodeCode 当前节点
* @return 可驳回节点列表
*/
@GetMapping("/getBackTaskNode/{taskId}/{nowNodeCode}")
@@ -216,7 +216,6 @@ public class FlwTaskController extends BaseController {
return R.ok(flwTaskService.getBackTaskNode(taskId, nowNodeCode));
}
/**
/**
* 获取当前任务的所有办理人。
*
@@ -42,7 +42,7 @@ public class TestLeaveController extends BaseController {
/**
* 分页查询请假列表。
*
* @param bo 查询条件
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 请假分页数据
*/
@@ -53,10 +53,10 @@ public class TestLeaveController extends BaseController {
}
/**
/**
* /**
* 导出请假列表。
*
* @param bo 查询条件
* @param bo 查询条件
* @param response 响应流
*/
@SaCheckPermission("workflow:leave:export")
@@ -27,7 +27,7 @@ public class FlowCategoryBo implements Serializable {
/**
* 流程分类ID
*/
@NotNull(message = "流程分类ID不能为空", groups = { EditGroup.class })
@NotNull(message = "流程分类ID不能为空", groups = {EditGroup.class})
private Long categoryId;
/**
@@ -48,13 +48,13 @@ public class FlowSpelBo implements Serializable {
/**
* 预览spel值
*/
@NotBlank(message = "预览spel值不能为空", groups = { AddGroup.class, EditGroup.class })
@NotBlank(message = "预览spel值不能为空", groups = {AddGroup.class, EditGroup.class})
private String viewSpel;
/**
* 状态(0正常 1停用)
*/
@NotBlank(message = "状态(0正常 1停用)不能为空", groups = { AddGroup.class, EditGroup.class })
@NotBlank(message = "状态(0正常 1停用)不能为空", groups = {AddGroup.class, EditGroup.class})
private String status;
/**
@@ -1,7 +1,6 @@
package org.dromara.workflow.domain.vo;
import lombok.Data;
import org.dromara.common.core.utils.DateUtils;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.warm.flow.core.entity.User;
@@ -26,11 +26,11 @@ public class FlowProcessEventHandler {
/**
* 总体流程监听(例如: 草稿,撤销,退回,作废,终止,已完成等)
*
* @param flowCode 流程定义编码
* @param instance 实例数据
* @param status 流程状态
* @param params 办理参数
* @param submit 当为true时为申请人节点办理
* @param flowCode 流程定义编码
* @param instance 实例数据
* @param status 流程状态
* @param params 办理参数
* @param submit 当为true时为申请人节点办理
*/
public void processHandler(String flowCode, Instance instance, String status, Map<String, Object> params, boolean submit) {
log.info("【流程事件发布】流程编码: {}, 业务ID: {}, 流程状态: {}, 节点类型: {}, 节点编码: {}, 节点名称: {}, 是否申请人节点: {}, 参数: {}",
@@ -51,10 +51,10 @@ public class FlowProcessEventHandler {
/**
* 执行创建任务监听
*
* @param flowCode 流程定义编码
* @param instance 实例数据
* @param nextTask 任务
* @param params 上一个任务的办理参数
* @param flowCode 流程定义编码
* @param instance 实例数据
* @param nextTask 任务
* @param params 上一个任务的办理参数
*/
public void processTaskHandler(String flowCode, Instance instance, Task nextTask, Map<String, Object> params) {
log.info("【流程任务事件发布】流程编码: {}, 业务ID: {}, 节点类型: {}, 节点编码: {}, 节点名称: {}, 任务ID: {}",
@@ -75,8 +75,8 @@ public class FlowProcessEventHandler {
/**
* 删除流程监听
*
* @param flowCode 流程定义编码
* @param businessId 业务ID
* @param flowCode 流程定义编码
* @param businessId 业务ID
*/
public void processDeleteHandler(String flowCode, String businessId) {
log.info("【流程删除事件发布】流程编码: {}, 业务ID: {}", flowCode, businessId);
@@ -207,7 +207,7 @@ public class WorkflowGlobalListener implements GlobalListener {
}
if (!BusinessStatusEnum.initialState(instance.getFlowStatus())) {
if (task != null && CollUtil.isNotEmpty(nextTasks) && nextTasks.size() == 1
&& flwCommonService.applyNodeCode(definition.getId()).equals(nextTasks.get(0).getNodeCode())) {
&& flwCommonService.applyNodeCode(definition.getId()).equals(nextTasks.get(0).getNodeCode())) {
// 如果为画线指定驳回 线条指定为驳回 驳回得节点为申请人节点 则修改流程状态为退回
flowProcessEventHandler.processHandler(definition.getFlowCode(), instance, BusinessStatusEnum.BACK.getStatus(), params, false);
notifyInitiatorIfNeeded(definition, instance, BusinessStatusEnum.BACK.getStatus(), variable);
@@ -250,10 +250,10 @@ public class WorkflowGlobalListener implements GlobalListener {
}
}
FlowEngine.insService().removeVariables(instance.getId(),
FlowConstant.FLOW_COPY_LIST,
FlowConstant.MESSAGE_TYPE,
FlowConstant.MESSAGE_NOTICE,
FlowConstant.SUBMIT
FlowConstant.FLOW_COPY_LIST,
FlowConstant.MESSAGE_TYPE,
FlowConstant.MESSAGE_NOTICE,
FlowConstant.SUBMIT
);
}
@@ -27,10 +27,10 @@ public interface FlwHisTaskMapper extends BaseMapperPlus<FlowHisTask, FlowHisTas
/**
* 分页查询已办任务列表。
*
* @param page 分页对象
* @param bo 查询条件
* @param page 分页对象
* @param bo 查询条件
* @param categoryIds 流程分类 ID 集合
* @param userId 当前用户 ID
* @param userId 当前用户 ID
* @return 已办任务分页结果
*/
default Page<FlowHisTaskVo> getListFinishTask(Page<FlowHisTaskVo> page, FlowTaskBo bo, List<String> categoryIds, String userId) {
@@ -25,10 +25,10 @@ public interface FlwTaskMapper extends BaseMapperPlus<FlowTask, FlowTaskVo>, MPJ
/**
* 分页查询运行中的待办任务。
*
* @param page 分页对象
* @param bo 查询条件
* @param page 分页对象
* @param bo 查询条件
* @param categoryIds 流程分类 id 列表
* @param userId 当前用户 id
* @param userId 当前用户 id
* @return 待办任务分页结果
*/
default Page<FlowTaskVo> getListRunTask(Page<FlowTaskVo> page, FlowTaskBo bo, List<String> categoryIds, String userId) {
@@ -66,10 +66,10 @@ public interface FlwTaskMapper extends BaseMapperPlus<FlowTask, FlowTaskVo>, MPJ
/**
* 分页查询抄送任务。
*
* @param page 分页对象
* @param bo 查询条件
* @param page 分页对象
* @param bo 查询条件
* @param categoryIds 流程分类 id 列表
* @param userId 当前用户 id
* @param userId 当前用户 id
* @return 抄送任务分页结果
*/
default Page<FlowTaskVo> getTaskCopyByPage(Page<FlowTaskVo> page, FlowTaskBo bo, List<String> categoryIds, String userId) {
@@ -11,7 +11,7 @@ import org.springframework.stereotype.Component;
/**
* spel表达式规则组件
* <p>
* 通过该组件统一管理流程定义中的spel表达式
* 通过该组件统一管理流程定义中的spel表达式
* </p>
*
* @author Michelle.Chung
@@ -27,7 +27,7 @@ public interface ITestLeaveService {
/**
* 分页查询请假列表。
*
* @param bo 查询条件
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 请假分页数据
*/
@@ -32,7 +32,7 @@ public class CategoryNameTranslationImpl implements TranslationInterface<String>
/**
* 将流程分类 ID 翻译为分类名称。
*
* @param key 流程分类 ID
* @param key 流程分类 ID
* @param other 额外参数
* @return 流程分类名称
*/
@@ -44,7 +44,7 @@ public class CategoryNameTranslationImpl implements TranslationInterface<String>
/**
* 批量将流程分类 ID 翻译为分类名称。
*
* @param keys 流程分类 ID 集合
* @param keys 流程分类 ID 集合
* @param other 额外参数
* @return 流程分类 ID 与分类名称映射
*/
@@ -65,7 +65,7 @@ public class CategoryNameTranslationImpl implements TranslationInterface<String>
/**
* 根据原始键构建流程分类名称翻译值。
*
* @param source 原始键
* @param source 原始键
* @param categoryNames 流程分类 ID 与分类名称映射
* @return 流程分类名称
*/
@@ -49,7 +49,7 @@ public class FlwSpelServiceImpl implements IFlwSpelService {
* @return 流程spel表达式定义
*/
@Override
public FlowSpelVo queryById(Long id){
public FlowSpelVo queryById(Long id) {
return spelMapper.selectVoById(id);
}
@@ -132,7 +132,7 @@ public class FlwSpelServiceImpl implements IFlwSpelService {
*
* @param entity 待保存的 SpEL 表达式实体
*/
private void validEntityBeforeSave(FlowSpel entity){
private void validEntityBeforeSave(FlowSpel entity) {
if (StringUtils.isNotBlank(entity.getViewSpel())) {
boolean exists = spelMapper.lambda()
.eq(FlowSpel::getViewSpel, entity.getViewSpel())
@@ -153,7 +153,7 @@ public class FlwSpelServiceImpl implements IFlwSpelService {
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (isValid){
if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
return spelMapper.deleteByIds(ids) > 0;
@@ -106,14 +106,14 @@ public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, Hand
Map<TaskAssigneeEnum, Map<String, String>> nameMap = this.getNamesByTypes(typeIdMap);
// 组装返回结果,保持原始顺序
return parsedMap.entrySet().stream()
.map(entry -> {
String storageId = entry.getKey();
Pair<TaskAssigneeEnum, String> parsed = entry.getValue();
String handlerName = (parsed == null) ? null
: nameMap.getOrDefault(parsed.getKey(), Collections.emptyMap())
.get(parsed.getValue());
return new HandlerFeedBackVo(storageId, handlerName);
}).toList();
.map(entry -> {
String storageId = entry.getKey();
Pair<TaskAssigneeEnum, String> parsed = entry.getValue();
String handlerName = (parsed == null) ? null
: nameMap.getOrDefault(parsed.getKey(), Collections.emptyMap())
.get(parsed.getValue());
return new HandlerFeedBackVo(storageId, handlerName);
}).toList();
}
/**
@@ -171,9 +171,9 @@ public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, Hand
*/
private TreeFunDto<DeptDTO> buildDeptTree(List<DeptDTO> depts) {
return new TreeFunDto<>(depts)
.setId(dept -> Convert.toStr(dept.getDeptId()))
.setName(DeptDTO::getDeptName)
.setParentId(dept -> Convert.toStr(dept.getParentId()));
.setId(dept -> Convert.toStr(dept.getDeptId()))
.setName(DeptDTO::getDeptName)
.setParentId(dept -> Convert.toStr(dept.getParentId()));
}
/**
@@ -185,11 +185,11 @@ public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, Hand
*/
private HandlerFunDto<TaskAssigneeDTO.TaskHandler> buildHandlerData(TaskAssigneeDTO dto, TaskAssigneeEnum type) {
return new HandlerFunDto<>(dto.getList(), dto.getTotal())
.setStorageId(assignee -> type.getCode() + assignee.getStorageId())
.setHandlerCode(assignee -> StringUtils.blankToDefault(assignee.getHandlerCode(), ""))
.setHandlerName(assignee -> StringUtils.blankToDefault(assignee.getHandlerName(), ""))
.setGroupName(assignee -> this.getGroupName(type, assignee.getGroupName()))
.setCreateTime(assignee -> DateUtils.formatDateTime(assignee.getCreateTime()));
.setStorageId(assignee -> type.getCode() + assignee.getStorageId())
.setHandlerCode(assignee -> StringUtils.blankToDefault(assignee.getHandlerCode(), ""))
.setHandlerName(assignee -> StringUtils.blankToDefault(assignee.getHandlerName(), ""))
.setGroupName(assignee -> this.getGroupName(type, assignee.getGroupName()))
.setCreateTime(assignee -> DateUtils.formatDateTime(assignee.getCreateTime()));
}
/**
@@ -213,8 +213,8 @@ public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, Hand
}
}
return this.getUsersByTypes(typeIdMap).stream()
.distinct()
.toList();
.distinct()
.toList();
}
/**
@@ -225,10 +225,10 @@ public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, Hand
*/
private List<UserDTO> getUsersByTypes(Map<TaskAssigneeEnum, List<String>> typeIdMap) {
return typeIdMap.entrySet().stream()
.map(entry -> this.getUsersByType(entry.getKey(), entry.getValue()))
.filter(CollUtil::isNotEmpty)
.flatMap(Collection::stream)
.toList();
.map(entry -> this.getUsersByType(entry.getKey(), entry.getValue()))
.filter(CollUtil::isNotEmpty)
.flatMap(Collection::stream)
.toList();
}
/**
@@ -291,11 +291,11 @@ public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, Hand
return Collections.emptyMap();
}
return rawMap.entrySet()
.stream()
.collect(Collectors.toMap(
e -> Convert.toStr(e.getKey()),
Map.Entry::getValue
));
.stream()
.collect(Collectors.toMap(
e -> Convert.toStr(e.getKey()),
Map.Entry::getValue
));
}
/**
@@ -121,8 +121,8 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
// 获取已有流程实例
FlowInstance flowInstance = flowInstanceMapper.selectOne(QueryBuilder.lambda(FlowInstance.class)
.eq(FlowInstance::getBusinessId, businessId)
.build());
.eq(FlowInstance::getBusinessId, businessId)
.build());
if (ObjectUtil.isNotNull(flowInstance)) {
// 已存在流程
@@ -149,10 +149,10 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
variables.put(AUTO_PASS, autoPass);
variables.put(BUSINESS_CODE, this.generateBusinessCode(bizExt));
FlowParams flowParams = FlowParams.build()
.handler(startProcessBo.getHandler())
.flowCode(startProcessBo.getFlowCode())
.variable(startProcessBo.getVariables())
.flowStatus(BusinessStatusEnum.DRAFT.getStatus());
.handler(startProcessBo.getHandler())
.flowCode(startProcessBo.getFlowCode())
.variable(startProcessBo.getVariables())
.flowStatus(BusinessStatusEnum.DRAFT.getStatus());
Instance instance = insService.start(businessId, flowParams);
// 保存流程实例业务信息
this.buildFlowInstanceBizExt(instance, bizExt);
@@ -240,16 +240,16 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
}
// 构建流程参数,包括变量、跳转类型、消息、处理人、权限等信息
FlowParams flowParams = FlowParams.build()
.handler(completeTaskBo.getHandler())
.variable(variables)
.ignore(Convert.toBool(variables.getOrDefault(VAR_IGNORE, false)))
.ignoreDepute(Convert.toBool(variables.getOrDefault(VAR_IGNORE_DEPUTE, false)))
.ignoreCooperate(Convert.toBool(variables.getOrDefault(VAR_IGNORE_COOPERATE, false)))
.skipType(SkipType.PASS.getKey())
.message(completeTaskBo.getMessage())
.flowStatus(BusinessStatusEnum.WAITING.getStatus())
.hisStatus(TaskStatusEnum.PASS.getStatus())
.hisTaskExt(completeTaskBo.getFileId());
.handler(completeTaskBo.getHandler())
.variable(variables)
.ignore(Convert.toBool(variables.getOrDefault(VAR_IGNORE, false)))
.ignoreDepute(Convert.toBool(variables.getOrDefault(VAR_IGNORE_DEPUTE, false)))
.ignoreCooperate(Convert.toBool(variables.getOrDefault(VAR_IGNORE_COOPERATE, false)))
.skipType(SkipType.PASS.getKey())
.message(completeTaskBo.getMessage())
.flowStatus(BusinessStatusEnum.WAITING.getStatus())
.hisStatus(TaskStatusEnum.PASS.getStatus())
.hisTaskExt(completeTaskBo.getFileId());
Boolean autoPass = Convert.toBool(insVariableMap.getOrDefault(AUTO_PASS, false));
skipTask(taskId, flowParams, flowTask.getInstanceId(), autoPass);
return true;
@@ -271,7 +271,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
return;
}
List<User> userList = FlowEngine.userService()
.getByAssociateds(StreamUtils.toList(flowTaskList, FlowTask::getId));
.getByAssociateds(StreamUtils.toList(flowTaskList, FlowTask::getId));
if (CollUtil.isEmpty(userList)) {
return;
}
@@ -282,11 +282,11 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
continue;
}
flowParams.
message("流程引擎自动审批!").
variable(Map.of(
SUBMIT, false,
FLOW_COPY_LIST, Collections.emptyList(),
MESSAGE_NOTICE, StringUtils.EMPTY));
message("流程引擎自动审批!").
variable(Map.of(
SUBMIT, false,
FLOW_COPY_LIST, Collections.emptyList(),
MESSAGE_NOTICE, StringUtils.EMPTY));
skipTask(task.getId(), flowParams, instanceId, true);
}
}
@@ -339,9 +339,9 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
}
// 添加抄送人记录
FlowHisTask flowHisTask = flowHisTaskMapper.selectList(
QueryBuilder.lambda(FlowHisTask.class)
.eq(FlowHisTask::getTaskId, task.getId())
.build()).get(0);
QueryBuilder.lambda(FlowHisTask.class)
.eq(FlowHisTask::getTaskId, task.getId())
.build()).get(0);
FlowNode flowNode = new FlowNode();
flowNode.setNodeCode(flowHisTask.getTargetNodeCode());
flowNode.setNodeName(flowHisTask.getTargetNodeName());
@@ -351,27 +351,27 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
task.setNodeName("【抄送】" + task.getNodeName());
Date updateTime = new Date(flowHisTask.getUpdateTime().getTime() - 1000);
FlowParams flowParams = FlowParams.build()
.skipType(SkipType.NONE.getKey())
.hisStatus(TaskStatusEnum.COPY.getStatus())
.message("【抄送给】" + StreamUtils.join(flowCopyList, FlowCopyBo::getNickName));
.skipType(SkipType.NONE.getKey())
.hisStatus(TaskStatusEnum.COPY.getStatus())
.message("【抄送给】" + StreamUtils.join(flowCopyList, FlowCopyBo::getNickName));
HisTask hisTask = hisTaskService.setSkipHisTask(task, flowNode, flowParams);
hisTask.setCreateTime(updateTime);
hisTask.setUpdateTime(updateTime);
hisTaskService.save(hisTask);
List<User> userList = StreamUtils.toList(flowCopyList, x ->
new FlowUser()
.setType(TaskAssigneeType.COPY.getCode())
.setProcessedBy(Convert.toStr(x.getUserId()))
.setAssociated(taskId));
new FlowUser()
.setType(TaskAssigneeType.COPY.getCode())
.setProcessedBy(Convert.toStr(x.getUserId()))
.setAssociated(taskId));
// 批量保存抄送人员
FlowEngine.userService().saveBatch(userList);
// 抄送消息进入“我的抄送”,不和待办列表混用。
flwCommonService.sendMessage(
List.of(org.dromara.workflow.common.enums.MessageTypeEnum.SYSTEM_MESSAGE.getCode()),
"您收到一条新的流程抄送,请及时查看。",
"单据抄送提醒",
userService.selectListByIds(StreamUtils.toList(flowCopyList, FlowCopyBo::getUserId)),
PATH_TASK_COPY
List.of(org.dromara.workflow.common.enums.MessageTypeEnum.SYSTEM_MESSAGE.getCode()),
"您收到一条新的流程抄送,请及时查看。",
"单据抄送提醒",
userService.selectListByIds(StreamUtils.toList(flowCopyList, FlowCopyBo::getUserId)),
PATH_TASK_COPY
);
}
@@ -506,13 +506,13 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
variable.put(MESSAGE_NOTICE, notice);
FlowParams flowParams = FlowParams.build()
.nodeCode(bo.getNodeCode())
.variable(variable)
.message(message)
.skipType(SkipType.REJECT.getKey())
.flowStatus(applyNodeCode.equals(bo.getNodeCode()) ? TaskStatusEnum.BACK.getStatus() : TaskStatusEnum.WAITING.getStatus())
.hisStatus(TaskStatusEnum.BACK.getStatus())
.hisTaskExt(bo.getFileId());
.nodeCode(bo.getNodeCode())
.variable(variable)
.message(message)
.skipType(SkipType.REJECT.getKey())
.flowStatus(applyNodeCode.equals(bo.getNodeCode()) ? TaskStatusEnum.BACK.getStatus() : TaskStatusEnum.WAITING.getStatus())
.hisStatus(TaskStatusEnum.BACK.getStatus())
.hisTaskExt(bo.getFileId());
taskService.skip(task.getId(), flowParams);
return true;
}
@@ -535,7 +535,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
return nodeCodes;
}
List<User> userList = FlowEngine.userService()
.getByAssociateds(Collections.singletonList(task.getId()), UserType.DEPUTE.getKey());
.getByAssociateds(Collections.singletonList(task.getId()), UserType.DEPUTE.getKey());
if (CollUtil.isNotEmpty(userList)) {
return nodeCodes;
}
@@ -554,8 +554,8 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
for (HisTask hisTask : hisTaskList) {
Node nodeValue = nodeMap.get(hisTask.getNodeCode());
if (nodeValue != null
&& NodeType.BETWEEN.getKey().equals(nodeValue.getNodeType())
&& added.add(nodeValue.getNodeCode())) {
&& NodeType.BETWEEN.getKey().equals(nodeValue.getNodeType())
&& added.add(nodeValue.getNodeCode())) {
backNodeList.add(nodeValue);
}
}
@@ -585,9 +585,9 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
BusinessStatusEnum.checkInvalidStatus(instance.getFlowStatus());
}
FlowParams flowParams = FlowParams.build()
.message(bo.comment())
.flowStatus(BusinessStatusEnum.TERMINATION.getStatus())
.hisStatus(TaskStatusEnum.TERMINATION.getStatus());
.message(bo.comment())
.flowStatus(BusinessStatusEnum.TERMINATION.getStatus())
.hisStatus(TaskStatusEnum.TERMINATION.getStatus());
taskService.termination(taskId, flowParams);
return true;
}
@@ -601,8 +601,8 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
@Override
public List<FlowTask> selectByIdList(Collection<Long> taskIdList) {
return flowTaskMapper.selectList(QueryBuilder.lambda(FlowTask.class)
.in(FlowTask::getId, taskIdList)
.build());
.in(FlowTask::getId, taskIdList)
.build());
}
/**
@@ -696,13 +696,13 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
ExpressionUtil.evalVariable(buildNextTaskList, FlowParams.build().variable(mergeVariable));
for (FlowNode flowNode : nextFlowNodes) {
StreamUtils.findFirst(buildNextTaskList, t -> t.getNodeCode().equals(flowNode.getNodeCode()))
.ifPresent(first -> {
List<UserDTO> users;
if (CollUtil.isNotEmpty(first.getPermissionList())
&& CollUtil.isNotEmpty(users = flwTaskAssigneeService.fetchUsersByStorageIds(StringUtils.joinComma(first.getPermissionList())))) {
flowNode.setPermissionFlag(StreamUtils.join(users, e -> Convert.toStr(e.getUserId())));
}
});
.ifPresent(first -> {
List<UserDTO> users;
if (CollUtil.isNotEmpty(first.getPermissionList())
&& CollUtil.isNotEmpty(users = flwTaskAssigneeService.fetchUsersByStorageIds(StringUtils.joinComma(first.getPermissionList())))) {
flowNode.setPermissionFlag(StreamUtils.join(users, e -> Convert.toStr(e.getUserId())));
}
});
}
}
return nextFlowNodes;
@@ -717,8 +717,8 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
@Override
public FlowHisTask selectHisTaskById(Long taskId) {
return flowHisTaskMapper.selectOne(QueryBuilder.lambda(FlowHisTask.class)
.eq(FlowHisTask::getId, taskId)
.build());
.eq(FlowHisTask::getId, taskId)
.build());
}
/**
@@ -730,8 +730,8 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
@Override
public List<FlowTask> selectByInstId(Long instanceId) {
return flowTaskMapper.selectList(QueryBuilder.lambda(FlowTask.class)
.eq(FlowTask::getInstanceId, instanceId)
.build());
.eq(FlowTask::getInstanceId, instanceId)
.build());
}
/**
@@ -743,8 +743,8 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
@Override
public List<FlowTask> selectByInstIds(Collection<Long> instanceIds) {
return flowTaskMapper.selectList(QueryBuilder.lambda(FlowTask.class)
.in(FlowTask::getInstanceId, instanceIds)
.build());
.in(FlowTask::getInstanceId, instanceIds)
.build());
}
/**
@@ -756,8 +756,8 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
@Override
public boolean isTaskEnd(Long instanceId) {
boolean exists = flowTaskMapper.exists(QueryBuilder.lambda(FlowTask.class)
.eq(FlowTask::getInstanceId, instanceId)
.build());
.eq(FlowTask::getInstanceId, instanceId)
.build());
return !exists;
}
@@ -846,11 +846,11 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
if (CollUtil.isNotEmpty(userIdList)) {
// 转办、委托、加减签等运行时操作,消息接收人统一从“我的待办”进入处理。
flwCommonService.sendMessage(
bo.getMessageType(),
StringUtils.isNotBlank(bo.getMessage()) ? bo.getMessage() : "单据「" + op.getDesc() + "」通知",
"单据「" + op.getDesc() + "」提醒",
userService.selectListByIds(userIdList),
PATH_TASK_WAITING
bo.getMessageType(),
StringUtils.isNotBlank(bo.getMessage()) ? bo.getMessage() : "单据「" + op.getDesc() + "」通知",
"单据「" + op.getDesc() + "」提醒",
userService.selectListByIds(userIdList),
PATH_TASK_WAITING
);
}
}
@@ -874,10 +874,10 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
if (CollUtil.isNotEmpty(flowTasks)) {
FlowEngine.userService().deleteByTaskIds(StreamUtils.toList(flowTasks, FlowTask::getId));
List<User> userList = StreamUtils.toList(flowTasks, flowTask ->
new FlowUser()
.setType(TaskAssigneeType.APPROVER.getCode())
.setProcessedBy(userId)
.setAssociated(flowTask.getId()));
new FlowUser()
.setType(TaskAssigneeType.APPROVER.getCode())
.setProcessedBy(userId)
.setAssociated(flowTask.getId()));
if (CollUtil.isNotEmpty(userList)) {
FlowEngine.userService().saveBatch(userList);
}
@@ -909,9 +909,9 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
@Override
public FlowNode getByNodeCode(String nodeCode, Long definitionId) {
return flowNodeMapper.selectOne(QueryBuilder.lambda(FlowNode.class)
.eq(FlowNode::getNodeCode, nodeCode)
.eq(FlowNode::getDefinitionId, definitionId)
.build());
.eq(FlowNode::getNodeCode, nodeCode)
.eq(FlowNode::getDefinitionId, definitionId)
.build());
}
/**
@@ -60,10 +60,7 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
* @return boolean
*/
public boolean eval(Integer leaveDays) {
if (leaveDays <= 2) {
return true;
}
return false;
return leaveDays <= 2;
}
/**