mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-03-23 22:04:33 +08:00
update 优化 统一补全代码注释
This commit is contained in:
@@ -24,52 +24,52 @@ public interface FlowConstant {
|
||||
String INITIATOR_DEPT_ID = "initiatorDeptId";
|
||||
|
||||
/**
|
||||
* 流程分类Id转名称
|
||||
* 流程分类 ID 转名称的翻译标识。
|
||||
*/
|
||||
String CATEGORY_ID_TO_NAME = "category_id_to_name";
|
||||
|
||||
/**
|
||||
* 流程分类名称
|
||||
* 流程分类名称缓存键。
|
||||
*/
|
||||
String FLOW_CATEGORY_NAME = "flow_category_name#30d";
|
||||
|
||||
/**
|
||||
* 默认租户OA申请分类id
|
||||
* 默认租户 OA 申请分类 ID。
|
||||
*/
|
||||
Long FLOW_CATEGORY_ID = 100L;
|
||||
|
||||
/**
|
||||
* 是否为申请人提交常量
|
||||
* 申请人提交动作标识。
|
||||
*/
|
||||
String SUBMIT = "submit";
|
||||
|
||||
/**
|
||||
* 抄送常量
|
||||
* 抄送列表流程变量名。
|
||||
*/
|
||||
String FLOW_COPY_LIST = "flowCopyList";
|
||||
|
||||
/**
|
||||
* 消息类型常量
|
||||
* 消息类型流程变量名。
|
||||
*/
|
||||
String MESSAGE_TYPE = "messageType";
|
||||
|
||||
/**
|
||||
* 消息通知常量
|
||||
* 消息通知内容流程变量名。
|
||||
*/
|
||||
String MESSAGE_NOTICE = "messageNotice";
|
||||
|
||||
/**
|
||||
* 任务状态
|
||||
* 任务状态字典类型编码。
|
||||
*/
|
||||
String WF_TASK_STATUS = "wf_task_status";
|
||||
|
||||
/**
|
||||
* 自动通过
|
||||
* 自动通过变量标识。
|
||||
*/
|
||||
String AUTO_PASS = "autoPass";
|
||||
|
||||
/**
|
||||
* 业务编码
|
||||
* 业务编码流程变量名。
|
||||
*/
|
||||
String BUSINESS_CODE = "businessCode";
|
||||
|
||||
|
||||
@@ -57,8 +57,19 @@ public enum ButtonPermissionEnum implements NodeExtEnum {
|
||||
*/
|
||||
FILE("是否能上传附件", "file", true);
|
||||
|
||||
/**
|
||||
* 按钮展示名称。
|
||||
*/
|
||||
private final String label;
|
||||
|
||||
/**
|
||||
* 按钮权限值。
|
||||
*/
|
||||
private final String value;
|
||||
|
||||
/**
|
||||
* 是否默认开启。
|
||||
*/
|
||||
private final boolean selected;
|
||||
|
||||
}
|
||||
|
||||
@@ -12,8 +12,20 @@ import lombok.Getter;
|
||||
@AllArgsConstructor
|
||||
public enum CopySettingEnum implements NodeExtEnum {
|
||||
;
|
||||
|
||||
/**
|
||||
* 展示名称。
|
||||
*/
|
||||
private final String label;
|
||||
|
||||
/**
|
||||
* 配置值。
|
||||
*/
|
||||
private final String value;
|
||||
|
||||
/**
|
||||
* 是否默认选中。
|
||||
*/
|
||||
private final boolean selected;
|
||||
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 消息类型枚举
|
||||
* 消息类型枚举,定义流程通知支持的消息通道。
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@@ -32,15 +32,21 @@ public enum MessageTypeEnum {
|
||||
*/
|
||||
SMS_MESSAGE("3", "短信");
|
||||
|
||||
/**
|
||||
* 消息类型编码。
|
||||
*/
|
||||
private final String code;
|
||||
|
||||
/**
|
||||
* 消息类型描述。
|
||||
*/
|
||||
private final String desc;
|
||||
|
||||
private static final Map<String, MessageTypeEnum> MESSAGE_TYPE_ENUM_MAP = Arrays.stream(values())
|
||||
.collect(Collectors.toConcurrentMap(MessageTypeEnum::getCode, Function.identity()));
|
||||
|
||||
/**
|
||||
* 根据消息类型 code 获取 MessageTypeEnum
|
||||
* 根据消息类型编码获取枚举实例。
|
||||
*
|
||||
* @param code 消息类型code
|
||||
* @return MessageTypeEnum
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
package org.dromara.workflow.common.enums;
|
||||
|
||||
/**
|
||||
* 节点扩展属性枚举
|
||||
* 节点扩展属性枚举通用接口,约束扩展选项的展示名、值和默认勾选状态。
|
||||
*
|
||||
* @author AprilWind
|
||||
*/
|
||||
public interface NodeExtEnum {
|
||||
|
||||
/**
|
||||
* 选项label
|
||||
* 获取选项展示名称。
|
||||
*
|
||||
* @return 选项label
|
||||
*/
|
||||
String getLabel();
|
||||
|
||||
/**
|
||||
* 选项值
|
||||
* 获取选项值。
|
||||
*
|
||||
* @return 选项值
|
||||
*/
|
||||
String getValue();
|
||||
|
||||
/**
|
||||
* 是否默认选中
|
||||
* 是否默认选中。
|
||||
*
|
||||
* @return 是否默认选中
|
||||
*/
|
||||
|
||||
@@ -43,7 +43,14 @@ public enum TaskAssigneeEnum {
|
||||
*/
|
||||
SPEL("SpEL表达式", "");
|
||||
|
||||
/**
|
||||
* 类型描述。
|
||||
*/
|
||||
private final String desc;
|
||||
|
||||
/**
|
||||
* 类型编码前缀。
|
||||
*/
|
||||
private final String code;
|
||||
|
||||
/**
|
||||
@@ -85,10 +92,7 @@ public enum TaskAssigneeEnum {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有办理人类型的描述列表
|
||||
* <p>
|
||||
* 获取当前枚举类所有项的描述字段列表,通常用于展示选择项。
|
||||
* </p>
|
||||
* 获取所有办理人类型的描述列表,通常用于前端展示选择项。
|
||||
*
|
||||
* @return List<String> 返回所有办理人类型的描述列表
|
||||
*/
|
||||
@@ -99,10 +103,8 @@ public enum TaskAssigneeEnum {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有办理人类型的代码列表
|
||||
* <p>
|
||||
* 获取当前枚举类所有项的代码字段列表,通常用于程序内部逻辑的判断。
|
||||
* </p>
|
||||
/**
|
||||
* 获取所有办理人类型的代码列表,通常用于程序内部逻辑判断。
|
||||
*
|
||||
* @return List<String> 返回所有办理人类型的代码列表
|
||||
*/
|
||||
@@ -113,7 +115,7 @@ public enum TaskAssigneeEnum {
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断当前办理人类型是否需要调用部门服务(deptService)
|
||||
* 判断当前办理人类型是否需要调用部门服务。
|
||||
*
|
||||
* @return 如果类型是 USER、DEPT 或 POST,则返回 true;否则返回 false
|
||||
*/
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 任务操作类型枚举
|
||||
* 任务操作类型枚举,定义流程任务支持的运行时操作。
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@@ -37,14 +37,24 @@ public enum TaskOperationEnum {
|
||||
*/
|
||||
REDUCTION_SIGNATURE("reductionSignature", "减签");
|
||||
|
||||
/**
|
||||
* 操作编码,供接口与前端交互使用。
|
||||
*/
|
||||
private final String code;
|
||||
|
||||
/**
|
||||
* 操作描述。
|
||||
*/
|
||||
private final String desc;
|
||||
|
||||
private static final Map<String, TaskOperationEnum> CODE_MAP = Arrays.stream(values())
|
||||
.collect(Collectors.toConcurrentMap(TaskOperationEnum::getCode, Function.identity()));
|
||||
|
||||
/**
|
||||
* 根据 code 获取枚举
|
||||
* 根据 code 获取枚举实例。
|
||||
*
|
||||
* @param code 操作编码
|
||||
* @return 对应的枚举实例
|
||||
*/
|
||||
public static TaskOperationEnum getByCode(String code) {
|
||||
return CODE_MAP.get(code);
|
||||
|
||||
@@ -83,7 +83,7 @@ public enum TaskStatusEnum {
|
||||
private final String status;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
* 状态描述。
|
||||
*/
|
||||
private final String desc;
|
||||
|
||||
@@ -91,9 +91,10 @@ public enum TaskStatusEnum {
|
||||
.collect(Collectors.toConcurrentMap(TaskStatusEnum::getStatus, TaskStatusEnum::getDesc));
|
||||
|
||||
/**
|
||||
* 任务业务状态
|
||||
* 根据状态编码获取任务业务状态描述。
|
||||
*
|
||||
* @param status 状态
|
||||
* @return 状态描述
|
||||
*/
|
||||
public static String findByStatus(String status) {
|
||||
// 从缓存中直接获取描述
|
||||
|
||||
@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 变量枚举
|
||||
* 节点扩展变量枚举,占位用于后续补充可配置变量定义。
|
||||
*
|
||||
* @author AprilWind
|
||||
*/
|
||||
@@ -12,8 +12,20 @@ import lombok.Getter;
|
||||
@AllArgsConstructor
|
||||
public enum VariablesEnum implements NodeExtEnum {
|
||||
;
|
||||
|
||||
/**
|
||||
* 展示名称。
|
||||
*/
|
||||
private final String label;
|
||||
|
||||
/**
|
||||
* 变量值。
|
||||
*/
|
||||
private final String value;
|
||||
|
||||
/**
|
||||
* 是否选中。
|
||||
*/
|
||||
private final boolean selected;
|
||||
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
/**
|
||||
* warmFlow配置
|
||||
* WarmFlow 工作流配置入口,在工作流开关开启时注册相关组件。
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
|
||||
@@ -38,7 +38,10 @@ public class FlwCategoryController extends BaseController {
|
||||
private final IFlwCategoryService flwCategoryService;
|
||||
|
||||
/**
|
||||
* 查询流程分类列表
|
||||
* 查询流程分类列表。
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 流程分类列表
|
||||
*/
|
||||
@SaCheckPermission("workflow:category:list")
|
||||
@GetMapping("/list")
|
||||
@@ -48,7 +51,10 @@ public class FlwCategoryController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出流程分类列表
|
||||
* 导出流程分类列表。
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param response 响应流
|
||||
*/
|
||||
@SaCheckPermission("workflow:category:export")
|
||||
@Log(title = "流程分类", businessType = BusinessType.EXPORT)
|
||||
@@ -59,9 +65,10 @@ public class FlwCategoryController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取流程分类详细信息
|
||||
* 获取单个流程分类详情。
|
||||
*
|
||||
* @param categoryId 主键
|
||||
* @return 流程分类详情
|
||||
*/
|
||||
@SaCheckPermission("workflow:category:query")
|
||||
@GetMapping("/{categoryId}")
|
||||
@@ -70,7 +77,10 @@ public class FlwCategoryController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增流程分类
|
||||
* 新增流程分类,并校验分类名称唯一性。
|
||||
*
|
||||
* @param category 分类信息
|
||||
* @return 操作结果
|
||||
*/
|
||||
@SaCheckPermission("workflow:category:add")
|
||||
@Log(title = "流程分类", businessType = BusinessType.INSERT)
|
||||
@@ -84,7 +94,10 @@ public class FlwCategoryController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改流程分类
|
||||
* 修改流程分类,并校验名称唯一及父子关系合法性。
|
||||
*
|
||||
* @param category 分类信息
|
||||
* @return 操作结果
|
||||
*/
|
||||
@SaCheckPermission("workflow:category:edit")
|
||||
@Log(title = "流程分类", businessType = BusinessType.UPDATE)
|
||||
@@ -101,9 +114,10 @@ public class FlwCategoryController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除流程分类
|
||||
* 删除流程分类,删除前校验默认分类、子节点和绑定流程定义。
|
||||
*
|
||||
* @param categoryId 主键
|
||||
* @return 操作结果
|
||||
*/
|
||||
@SaCheckPermission("workflow:category:remove")
|
||||
@Log(title = "流程分类", businessType = BusinessType.DELETE)
|
||||
@@ -122,9 +136,10 @@ public class FlwCategoryController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取流程分类树列表
|
||||
* 获取流程分类树列表,用于流程定义选择分类节点。
|
||||
*
|
||||
* @param categoryBo 流程分类
|
||||
* @return 流程分类树
|
||||
*/
|
||||
@GetMapping("/categoryTree")
|
||||
public R<List<Tree<String>>> categoryTree(FlowCategoryBo categoryBo) {
|
||||
|
||||
@@ -39,10 +39,11 @@ public class FlwDefinitionController extends BaseController {
|
||||
private final IFlwDefinitionService flwDefinitionService;
|
||||
|
||||
/**
|
||||
* 查询流程定义列表
|
||||
* 分页查询流程定义列表。
|
||||
*
|
||||
* @param flowDefinition 参数
|
||||
* @param pageQuery 分页
|
||||
* @param flowDefinition 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 流程定义分页数据
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<FlowDefinitionVo> list(FlowDefinition flowDefinition, PageQuery pageQuery) {
|
||||
@@ -50,10 +51,11 @@ public class FlwDefinitionController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询未发布的流程定义列表
|
||||
* 分页查询未发布的流程定义列表。
|
||||
*
|
||||
* @param flowDefinition 参数
|
||||
* @param pageQuery 分页
|
||||
* @param flowDefinition 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 未发布流程定义分页数据
|
||||
*/
|
||||
@GetMapping("/unPublishList")
|
||||
public TableDataInfo<FlowDefinitionVo> unPublishList(FlowDefinition flowDefinition, PageQuery pageQuery) {
|
||||
@@ -61,9 +63,10 @@ public class FlwDefinitionController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取流程定义详细信息
|
||||
* 获取流程定义详细信息。
|
||||
*
|
||||
* @param id 流程定义id
|
||||
* @return 流程定义详情
|
||||
*/
|
||||
@GetMapping(value = "/{id}")
|
||||
public R<Definition> getInfo(@PathVariable Long id) {
|
||||
@@ -71,9 +74,10 @@ public class FlwDefinitionController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增流程定义
|
||||
* 新增流程定义并执行格式校验。
|
||||
*
|
||||
* @param flowDefinition 参数
|
||||
* @param flowDefinition 流程定义信息
|
||||
* @return 操作结果
|
||||
*/
|
||||
@Log(title = "流程定义", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
@@ -84,9 +88,10 @@ public class FlwDefinitionController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改流程定义
|
||||
* 修改流程定义。
|
||||
*
|
||||
* @param flowDefinition 参数
|
||||
* @param flowDefinition 流程定义信息
|
||||
* @return 操作结果
|
||||
*/
|
||||
@Log(title = "流程定义", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
@@ -97,9 +102,10 @@ public class FlwDefinitionController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 发布流程定义
|
||||
* 发布流程定义,使其进入可用状态。
|
||||
*
|
||||
* @param id 流程定义id
|
||||
* @return 发布结果
|
||||
*/
|
||||
@Log(title = "流程定义", businessType = BusinessType.INSERT)
|
||||
@PutMapping("/publish/{id}")
|
||||
@@ -109,9 +115,10 @@ public class FlwDefinitionController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 取消发布流程定义
|
||||
* 取消发布流程定义。
|
||||
*
|
||||
* @param id 流程定义id
|
||||
* @return 操作结果
|
||||
*/
|
||||
@Log(title = "流程定义", businessType = BusinessType.INSERT)
|
||||
@PutMapping("/unPublish/{id}")
|
||||
@@ -122,7 +129,10 @@ public class FlwDefinitionController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除流程定义
|
||||
* 批量删除流程定义。
|
||||
*
|
||||
* @param ids 流程定义ID集合
|
||||
* @return 操作结果
|
||||
*/
|
||||
@Log(title = "流程定义", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
@@ -131,9 +141,10 @@ public class FlwDefinitionController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 复制流程定义
|
||||
* 复制一份流程定义,便于快速创建相似流程。
|
||||
*
|
||||
* @param id 流程定义id
|
||||
* @return 复制结果
|
||||
*/
|
||||
@Log(title = "流程定义", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/copy/{id}")
|
||||
@@ -144,10 +155,11 @@ public class FlwDefinitionController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入流程定义
|
||||
* 通过文件导入流程定义。
|
||||
*
|
||||
* @param file 文件
|
||||
* @param category 分类
|
||||
* @return 导入结果
|
||||
*/
|
||||
@Log(title = "流程定义", businessType = BusinessType.IMPORT)
|
||||
@PostMapping("/importDef")
|
||||
@@ -156,7 +168,7 @@ public class FlwDefinitionController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出流程定义
|
||||
* 导出流程定义文件。
|
||||
*
|
||||
* @param id 流程定义id
|
||||
* @param response 响应
|
||||
@@ -169,9 +181,10 @@ public class FlwDefinitionController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取流程定义JSON字符串
|
||||
* 获取流程定义 JSON 字符串。
|
||||
*
|
||||
* @param id 流程定义id
|
||||
* @return 流程定义 JSON
|
||||
*/
|
||||
@GetMapping("/xmlString/{id}")
|
||||
public R<String> xmlString(@PathVariable Long id) {
|
||||
@@ -179,10 +192,12 @@ public class FlwDefinitionController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 激活/挂起流程定义
|
||||
/**
|
||||
* 激活或挂起流程定义。
|
||||
*
|
||||
* @param id 流程定义id
|
||||
* @param active 激活/挂起
|
||||
* @return 处理结果
|
||||
*/
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/active/{id}")
|
||||
|
||||
@@ -40,10 +40,11 @@ public class FlwInstanceController extends BaseController {
|
||||
private final IFlwInstanceService flwInstanceService;
|
||||
|
||||
/**
|
||||
* 查询正在运行的流程实例列表
|
||||
* 分页查询正在运行的流程实例。
|
||||
*
|
||||
* @param flowInstanceBo 流程实例
|
||||
* @param pageQuery 分页
|
||||
* @return 正在运行的流程实例分页数据
|
||||
*/
|
||||
@GetMapping("/pageByRunning")
|
||||
public TableDataInfo<FlowInstanceVo> selectRunningInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
|
||||
@@ -51,10 +52,11 @@ public class FlwInstanceController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询已结束的流程实例列表
|
||||
* 分页查询已结束的流程实例。
|
||||
*
|
||||
* @param flowInstanceBo 流程实例
|
||||
* @param pageQuery 分页
|
||||
* @return 已结束的流程实例分页数据
|
||||
*/
|
||||
@GetMapping("/pageByFinish")
|
||||
public TableDataInfo<FlowInstanceVo> selectFinishInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
|
||||
@@ -62,9 +64,10 @@ public class FlwInstanceController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据业务id查询流程实例详细信息
|
||||
* 根据业务 id 查询流程实例详细信息。
|
||||
*
|
||||
* @param businessId 业务id
|
||||
* @return 流程实例详情
|
||||
*/
|
||||
@GetMapping("/getInfo/{businessId}")
|
||||
public R<FlowInstanceVo> getInfo(@PathVariable Long businessId) {
|
||||
@@ -72,9 +75,10 @@ public class FlwInstanceController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 按照业务id删除流程实例
|
||||
* 按业务 id 批量删除流程实例。
|
||||
*
|
||||
* @param businessIds 业务id
|
||||
* @return 操作结果
|
||||
*/
|
||||
@DeleteMapping("/deleteByBusinessIds/{businessIds}")
|
||||
@Log(title = "流程实例管理", businessType = BusinessType.DELETE)
|
||||
@@ -83,9 +87,10 @@ public class FlwInstanceController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 按照实例id删除流程实例
|
||||
* 按实例 id 批量删除流程实例。
|
||||
*
|
||||
* @param instanceIds 实例id
|
||||
* @return 操作结果
|
||||
*/
|
||||
@DeleteMapping("/deleteByInstanceIds/{instanceIds}")
|
||||
@Log(title = "流程实例管理", businessType = BusinessType.DELETE)
|
||||
@@ -94,9 +99,10 @@ public class FlwInstanceController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 按照实例id删除已完成得流程实例
|
||||
* 按实例 id 批量删除已完成的流程实例。
|
||||
*
|
||||
* @param instanceIds 实例id
|
||||
* @return 操作结果
|
||||
*/
|
||||
@DeleteMapping("/deleteHisByInstanceIds/{instanceIds}")
|
||||
@Log(title = "流程实例管理", businessType = BusinessType.DELETE)
|
||||
@@ -105,9 +111,10 @@ public class FlwInstanceController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 撤销流程
|
||||
* 撤销当前申请人发起的流程。
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 操作结果
|
||||
*/
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/cancelProcessApply")
|
||||
@@ -117,10 +124,11 @@ public class FlwInstanceController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 激活/挂起流程实例
|
||||
* 激活或挂起流程实例。
|
||||
*
|
||||
* @param id 流程实例id
|
||||
* @param active 激活/挂起
|
||||
* @return 处理结果
|
||||
*/
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/active/{id}")
|
||||
@@ -130,10 +138,11 @@ public class FlwInstanceController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前登陆人发起的流程实例
|
||||
* 获取当前登录人发起的流程实例列表。
|
||||
*
|
||||
* @param flowInstanceBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 当前用户发起的流程实例分页数据
|
||||
*/
|
||||
@GetMapping("/pageByCurrent")
|
||||
public TableDataInfo<FlowInstanceVo> selectCurrentInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
|
||||
@@ -141,9 +150,10 @@ public class FlwInstanceController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取流程图,流程记录
|
||||
* 获取流程图和流程记录,用于展示实例流转轨迹。
|
||||
*
|
||||
* @param businessId 业务id
|
||||
* @return 流程图与历史节点信息
|
||||
*/
|
||||
@GetMapping("/flowHisTaskList/{businessId}")
|
||||
public R<Map<String, Object>> flowHisTaskList(@PathVariable String businessId) {
|
||||
@@ -151,9 +161,10 @@ public class FlwInstanceController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取流程变量
|
||||
* 获取流程变量。
|
||||
*
|
||||
* @param instanceId 流程实例id
|
||||
* @return 流程变量
|
||||
*/
|
||||
@GetMapping("/instanceVariable/{instanceId}")
|
||||
public R<Map<String, Object>> instanceVariable(@PathVariable Long instanceId) {
|
||||
@@ -161,9 +172,10 @@ public class FlwInstanceController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改流程变量
|
||||
* 修改流程变量。
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 操作结果
|
||||
*/
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/updateVariable")
|
||||
@@ -173,9 +185,10 @@ public class FlwInstanceController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 作废流程
|
||||
* 作废流程实例。
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 处理结果
|
||||
*/
|
||||
@Log(title = "流程实例管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
|
||||
@@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流程spel表达式定义
|
||||
* 流程 SpEL 表达式定义控制器,负责表达式规则的增删改查。
|
||||
*
|
||||
* @author Michelle.Chung
|
||||
* @date 2025-07-04
|
||||
@@ -38,7 +38,11 @@ public class FlwSpelController extends BaseController {
|
||||
private final IFlwSpelService flwSpelService;
|
||||
|
||||
/**
|
||||
* 查询流程spel表达式定义列表
|
||||
* 分页查询流程 SpEL 表达式定义列表。
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 表达式分页数据
|
||||
*/
|
||||
@SaCheckPermission("workflow:spel:list")
|
||||
@GetMapping("/list")
|
||||
@@ -47,9 +51,10 @@ public class FlwSpelController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取流程spel表达式定义详细信息
|
||||
* 获取流程 SpEL 表达式定义详情。
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 表达式详情
|
||||
*/
|
||||
@SaCheckPermission("workflow:spel:query")
|
||||
@GetMapping("/{id}")
|
||||
@@ -58,7 +63,11 @@ public class FlwSpelController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增流程spel表达式定义
|
||||
/**
|
||||
* 新增流程 SpEL 表达式定义。
|
||||
*
|
||||
* @param bo 表达式信息
|
||||
* @return 操作结果
|
||||
*/
|
||||
@SaCheckPermission("workflow:spel:add")
|
||||
@Log(title = "流程spel表达式定义", businessType = BusinessType.INSERT)
|
||||
@@ -69,7 +78,10 @@ public class FlwSpelController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改流程spel表达式定义
|
||||
* 修改流程 SpEL 表达式定义。
|
||||
*
|
||||
* @param bo 表达式信息
|
||||
* @return 操作结果
|
||||
*/
|
||||
@SaCheckPermission("workflow:spel:edit")
|
||||
@Log(title = "流程spel表达式定义", businessType = BusinessType.UPDATE)
|
||||
@@ -80,9 +92,10 @@ public class FlwSpelController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除流程spel表达式定义
|
||||
* 批量删除流程 SpEL 表达式定义。
|
||||
*
|
||||
* @param ids 主键串
|
||||
* @return 操作结果
|
||||
*/
|
||||
@SaCheckPermission("workflow:spel:remove")
|
||||
@Log(title = "流程spel表达式定义", businessType = BusinessType.DELETE)
|
||||
|
||||
@@ -38,9 +38,10 @@ public class FlwTaskController extends BaseController {
|
||||
private final IFlwTaskService flwTaskService;
|
||||
|
||||
/**
|
||||
* 启动任务
|
||||
* 启动流程任务。
|
||||
*
|
||||
* @param startProcessBo 启动流程参数
|
||||
* @return 启动结果及后续流程信息
|
||||
*/
|
||||
@Log(title = "任务管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@@ -51,9 +52,10 @@ public class FlwTaskController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 办理任务
|
||||
* 办理当前任务节点。
|
||||
*
|
||||
* @param completeTaskBo 办理任务参数
|
||||
* @return 操作结果
|
||||
*/
|
||||
@Log(title = "任务管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@@ -63,10 +65,11 @@ public class FlwTaskController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前用户的待办任务
|
||||
* 查询当前用户的待办任务。
|
||||
*
|
||||
* @param flowTaskBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 待办任务分页数据
|
||||
*/
|
||||
@GetMapping("/pageByTaskWait")
|
||||
public TableDataInfo<FlowTaskVo> pageByTaskWait(FlowTaskBo flowTaskBo, PageQuery pageQuery) {
|
||||
@@ -74,22 +77,24 @@ public class FlwTaskController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前用户的已办任务
|
||||
* 查询当前用户的已办任务。
|
||||
*
|
||||
* @param flowTaskBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 已办任务分页数据
|
||||
*/
|
||||
|
||||
@GetMapping("/pageByTaskFinish")
|
||||
public TableDataInfo<FlowHisTaskVo> pageByTaskFinish(FlowTaskBo flowTaskBo, PageQuery pageQuery) {
|
||||
return flwTaskService.pageByTaskFinish(flowTaskBo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询待办任务
|
||||
/**
|
||||
* 查询全部待办任务。
|
||||
*
|
||||
* @param flowTaskBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 待办任务分页数据
|
||||
*/
|
||||
@GetMapping("/pageByAllTaskWait")
|
||||
public TableDataInfo<FlowTaskVo> pageByAllTaskWait(FlowTaskBo flowTaskBo, PageQuery pageQuery) {
|
||||
@@ -97,10 +102,11 @@ public class FlwTaskController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询已办任务
|
||||
* 查询全部已办任务。
|
||||
*
|
||||
* @param flowTaskBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 已办任务分页数据
|
||||
*/
|
||||
@GetMapping("/pageByAllTaskFinish")
|
||||
public TableDataInfo<FlowHisTaskVo> pageByAllTaskFinish(FlowTaskBo flowTaskBo, PageQuery pageQuery) {
|
||||
@@ -108,10 +114,11 @@ public class FlwTaskController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前用户的抄送
|
||||
* 查询当前用户收到的抄送任务。
|
||||
*
|
||||
* @param flowTaskBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 抄送任务分页数据
|
||||
*/
|
||||
@GetMapping("/pageByTaskCopy")
|
||||
public TableDataInfo<FlowTaskVo> pageByTaskCopy(FlowTaskBo flowTaskBo, PageQuery pageQuery) {
|
||||
@@ -119,9 +126,11 @@ public class FlwTaskController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据taskId查询代表任务
|
||||
/**
|
||||
* 根据任务 id 查询任务详情。
|
||||
*
|
||||
* @param taskId 任务id
|
||||
* @return 任务详情
|
||||
*/
|
||||
@GetMapping("/getTask/{taskId}")
|
||||
public R<FlowTaskVo> getTask(@PathVariable Long taskId) {
|
||||
@@ -129,9 +138,11 @@ public class FlwTaskController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取下一节点信息
|
||||
/**
|
||||
* 获取流程下一节点信息。
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 下一节点列表
|
||||
*/
|
||||
@PostMapping("/getNextNodeList")
|
||||
public R<List<FlowNode>> getNextNodeList(@RequestBody FlowNextNodeBo bo) {
|
||||
@@ -139,9 +150,11 @@ public class FlwTaskController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 终止任务
|
||||
/**
|
||||
* 终止流程任务。
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 处理结果
|
||||
*/
|
||||
@Log(title = "任务管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@@ -151,10 +164,11 @@ public class FlwTaskController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 任务操作
|
||||
* 执行任务操作,例如委派、转办、加签或减签。
|
||||
*
|
||||
* @param bo 参数
|
||||
* @param taskOperation 操作类型,委派 delegateTask、转办 transferTask、加签 addSignature、减签 reductionSignature
|
||||
* @return 操作结果
|
||||
*/
|
||||
@Log(title = "任务管理", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit
|
||||
@@ -164,10 +178,11 @@ public class FlwTaskController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改任务办理人
|
||||
* 批量修改任务办理人。
|
||||
*
|
||||
* @param taskIdList 任务id
|
||||
* @param userId 办理人id
|
||||
* @return 操作结果
|
||||
*/
|
||||
@Log(title = "任务管理", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@@ -177,9 +192,10 @@ public class FlwTaskController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 驳回审批
|
||||
* 驳回审批到前置节点。
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 操作结果
|
||||
*/
|
||||
@Log(title = "任务管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@@ -189,10 +205,11 @@ public class FlwTaskController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取可驳回的前置节点
|
||||
* 获取当前任务可驳回的前置节点。
|
||||
*
|
||||
* @param taskId 任务id
|
||||
* @param nowNodeCode 当前节点
|
||||
* @return 可驳回节点列表
|
||||
*/
|
||||
@GetMapping("/getBackTaskNode/{taskId}/{nowNodeCode}")
|
||||
public R<List<Node>> getBackTaskNode(@PathVariable Long taskId, @PathVariable String nowNodeCode) {
|
||||
@@ -200,9 +217,11 @@ public class FlwTaskController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前任务的所有办理人
|
||||
/**
|
||||
* 获取当前任务的所有办理人。
|
||||
*
|
||||
* @param taskId 任务id
|
||||
* @return 办理人列表
|
||||
*/
|
||||
@GetMapping("/currentTaskAllUser/{taskId}")
|
||||
public R<List<UserDTO>> currentTaskAllUser(@PathVariable Long taskId) {
|
||||
@@ -210,7 +229,7 @@ public class FlwTaskController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 催办任务
|
||||
* 催办任务。
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 结果
|
||||
@@ -220,6 +239,4 @@ public class FlwTaskController extends BaseController {
|
||||
public R<Void> urgeTask(@RequestBody FlowUrgeTaskBo bo) {
|
||||
return toAjax(flwTaskService.urgeTask(bo));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 请假
|
||||
* 请假示例控制器,演示业务单据与流程引擎联动的典型用法。
|
||||
*
|
||||
* @author may
|
||||
* @date 2023-07-21
|
||||
@@ -40,7 +40,11 @@ public class TestLeaveController extends BaseController {
|
||||
private final ITestLeaveService testLeaveService;
|
||||
|
||||
/**
|
||||
* 查询请假列表
|
||||
* 分页查询请假列表。
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 请假分页数据
|
||||
*/
|
||||
@SaCheckPermission("workflow:leave:list")
|
||||
@GetMapping("/list")
|
||||
@@ -49,7 +53,11 @@ public class TestLeaveController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出请假列表
|
||||
/**
|
||||
* 导出请假列表。
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param response 响应流
|
||||
*/
|
||||
@SaCheckPermission("workflow:leave:export")
|
||||
@Log(title = "请假", businessType = BusinessType.EXPORT)
|
||||
@@ -60,9 +68,10 @@ public class TestLeaveController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取请假详细信息
|
||||
* 获取请假单详情。
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 请假详情
|
||||
*/
|
||||
@SaCheckPermission("workflow:leave:query")
|
||||
@GetMapping("/{id}")
|
||||
@@ -72,7 +81,10 @@ public class TestLeaveController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增请假
|
||||
* 新增请假单。
|
||||
*
|
||||
* @param bo 请假信息
|
||||
* @return 新增后的请假单
|
||||
*/
|
||||
@SaCheckPermission("workflow:leave:add")
|
||||
@Log(title = "请假", businessType = BusinessType.INSERT)
|
||||
@@ -83,7 +95,10 @@ public class TestLeaveController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交请假并提交流程
|
||||
* 提交请假单并同步发起流程。
|
||||
*
|
||||
* @param bo 请假信息
|
||||
* @return 提交后的请假单
|
||||
*/
|
||||
@SaCheckPermission("workflow:leave:add")
|
||||
@Log(title = "请假", businessType = BusinessType.INSERT)
|
||||
@@ -94,7 +109,10 @@ public class TestLeaveController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改请假
|
||||
* 修改请假单。
|
||||
*
|
||||
* @param bo 请假信息
|
||||
* @return 修改后的请假单
|
||||
*/
|
||||
@SaCheckPermission("workflow:leave:edit")
|
||||
@Log(title = "请假", businessType = BusinessType.UPDATE)
|
||||
@@ -105,9 +123,10 @@ public class TestLeaveController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除请假
|
||||
* 批量删除请假单。
|
||||
*
|
||||
* @param ids 主键串
|
||||
* @return 操作结果
|
||||
*/
|
||||
@SaCheckPermission("workflow:leave:remove")
|
||||
@Log(title = "请假", businessType = BusinessType.DELETE)
|
||||
|
||||
@@ -8,7 +8,7 @@ import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 撤销任务请求对象
|
||||
* 撤销流程请求对象。
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
|
||||
@@ -7,7 +7,7 @@ import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* 抄送
|
||||
* 流程抄送请求对象。
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
|
||||
@@ -7,7 +7,7 @@ import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流程实例请求对象
|
||||
* 流程实例查询条件对象。
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
|
||||
@@ -8,7 +8,7 @@ import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 作废请求对象
|
||||
* 作废流程请求对象。
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 下一节点信息
|
||||
* 查询下一节点信息的请求对象。
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@@ -28,6 +28,11 @@ public class FlowNextNodeBo implements Serializable {
|
||||
*/
|
||||
private Map<String, Object> variables;
|
||||
|
||||
/**
|
||||
* 获取流程变量并自动剔除空值。
|
||||
*
|
||||
* @return 流程变量
|
||||
*/
|
||||
public Map<String, Object> getVariables() {
|
||||
if (variables == null) {
|
||||
variables = new HashMap<>(16);
|
||||
|
||||
@@ -6,7 +6,7 @@ import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 按钮权限
|
||||
* 按钮权限视图对象。
|
||||
*
|
||||
* @author may
|
||||
* @date 2025-02-28
|
||||
@@ -32,9 +32,18 @@ public class ButtonPermissionVo implements Serializable {
|
||||
*/
|
||||
private Boolean show;
|
||||
|
||||
/**
|
||||
* 无参构造方法。
|
||||
*/
|
||||
public ButtonPermissionVo() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 使用按钮编码和显示状态构造按钮权限对象。
|
||||
*
|
||||
* @param code 按钮编码
|
||||
* @param show 是否显示
|
||||
*/
|
||||
public ButtonPermissionVo(String code, Boolean show) {
|
||||
this.code = code;
|
||||
this.show = show;
|
||||
|
||||
@@ -8,7 +8,7 @@ import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 抄送对象
|
||||
* 流程抄送视图对象。
|
||||
*
|
||||
* @author AprilWind
|
||||
*/
|
||||
@@ -29,6 +29,11 @@ public class FlowCopyVo implements Serializable {
|
||||
@Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "userId")
|
||||
private String nickName;
|
||||
|
||||
/**
|
||||
* 使用用户 ID 构造抄送对象。
|
||||
*
|
||||
* @param userId 用户ID
|
||||
*/
|
||||
public FlowCopyVo(Long userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
@@ -8,13 +8,16 @@ import org.dromara.workflow.common.constant.FlowConstant;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 流程实例视图
|
||||
* 流程实例视图对象。
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@Data
|
||||
public class FlowInstanceVo {
|
||||
|
||||
/**
|
||||
* 流程实例ID。
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
|
||||
@@ -14,7 +14,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 任务视图
|
||||
* 流程任务视图对象。
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@@ -24,6 +24,9 @@ public class FlowTaskVo implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 任务ID。
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
@@ -207,6 +210,11 @@ public class FlowTaskVo implements Serializable {
|
||||
private String businessTitle;
|
||||
//业务扩展信息结束
|
||||
|
||||
/**
|
||||
* 获取友好格式的创建时间。
|
||||
*
|
||||
* @return 格式化后的创建时间
|
||||
*/
|
||||
public String getCreateTime() {
|
||||
return DateUtils.formatFriendlyTime(createTime);
|
||||
}
|
||||
|
||||
@@ -34,6 +34,8 @@ public class WorkflowPermissionHandler implements PermissionHandler {
|
||||
* 办理人权限标识,比如用户,角色,部门等,用于校验是否有权限办理任务
|
||||
* 后续在{@link FlowParams#getPermissionFlag} 中获取
|
||||
* 返回当前用户权限集合
|
||||
*
|
||||
* @return 当前用户权限集合
|
||||
*/
|
||||
@Override
|
||||
public List<String> permissions() {
|
||||
@@ -51,7 +53,10 @@ public class WorkflowPermissionHandler implements PermissionHandler {
|
||||
}
|
||||
|
||||
/**
|
||||
* 转换办理人,比如设计器中预设了能办理的人,如果其中包含角色或者部门id等,可以通过此接口进行转换成用户id
|
||||
* 将预设办理人转换为实际用户 ID 列表。
|
||||
*
|
||||
* @param permissions 预设权限标识列表
|
||||
* @return 用户 ID 列表
|
||||
*/
|
||||
@Override
|
||||
public List<String> convertPermissions(List<String> permissions) {
|
||||
|
||||
@@ -37,7 +37,7 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 全局任务办理监听
|
||||
* 工作流全局监听器,处理任务流转中的扩展变量、消息和事件发布。
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@@ -55,7 +55,7 @@ public class WorkflowGlobalListener implements GlobalListener {
|
||||
private final UserService userService;
|
||||
|
||||
/**
|
||||
* 创建监听器,任务创建时执行
|
||||
* 任务创建回调,当前预留扩展。
|
||||
*
|
||||
* @param listenerVariable 监听器变量
|
||||
*/
|
||||
@@ -65,7 +65,7 @@ public class WorkflowGlobalListener implements GlobalListener {
|
||||
}
|
||||
|
||||
/**
|
||||
* 开始监听器,任务开始办理时执行
|
||||
* 任务开始办理时解析节点扩展配置。
|
||||
*
|
||||
* @param listenerVariable 监听器变量
|
||||
*/
|
||||
@@ -98,7 +98,7 @@ public class WorkflowGlobalListener implements GlobalListener {
|
||||
}
|
||||
|
||||
/**
|
||||
* 分派监听器,动态修改代办任务信息
|
||||
* 任务分派时动态调整办理权限。
|
||||
*
|
||||
* @param listenerVariable 监听器变量
|
||||
*/
|
||||
@@ -166,7 +166,7 @@ public class WorkflowGlobalListener implements GlobalListener {
|
||||
}
|
||||
|
||||
/**
|
||||
* 完成监听器,当前任务完成后执行
|
||||
* 任务完成后发布流程事件并处理抄送和通知。
|
||||
*
|
||||
* @param listenerVariable 监听器变量
|
||||
*/
|
||||
|
||||
@@ -25,7 +25,10 @@ public class SpelRuleComponent {
|
||||
private final DeptService deptService;
|
||||
|
||||
/**
|
||||
* 通过发起人部门id获取部门负责人
|
||||
* 通过发起人部门 ID 获取部门负责人。
|
||||
*
|
||||
* @param initiatorDeptId 发起人部门 ID
|
||||
* @return 部门负责人用户 ID
|
||||
*/
|
||||
public Long selectDeptLeaderById(Long initiatorDeptId) {
|
||||
Long leaderId = deptService.selectDeptLeaderById(initiatorDeptId);
|
||||
|
||||
@@ -39,7 +39,7 @@ public interface IFlwDefinitionService {
|
||||
* 发布流程定义
|
||||
*
|
||||
* @param id 流程定义id
|
||||
* @return 结果
|
||||
* @return 是否发布成功
|
||||
*/
|
||||
boolean publish(Long id);
|
||||
|
||||
@@ -57,7 +57,7 @@ public interface IFlwDefinitionService {
|
||||
*
|
||||
* @param file 文件
|
||||
* @param category 分类
|
||||
* @return 结果
|
||||
* @return 是否导入成功
|
||||
*/
|
||||
boolean importJson(MultipartFile file, String category);
|
||||
|
||||
@@ -65,7 +65,7 @@ public interface IFlwDefinitionService {
|
||||
* 删除流程定义
|
||||
*
|
||||
* @param ids 流程定义id
|
||||
* @return 结果
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
boolean removeDef(List<Long> ids);
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ public interface IFlwInstanceService {
|
||||
TableDataInfo<FlowInstanceVo> selectFinishInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 根据业务id查询流程实例详细信息
|
||||
* 根据业务 id 查询流程实例详情,返回业务侧展示所需信息。
|
||||
*
|
||||
* @param businessId 业务id
|
||||
* @return 结果
|
||||
@@ -46,7 +46,7 @@ public interface IFlwInstanceService {
|
||||
FlowInstanceVo queryByBusinessId(Long businessId);
|
||||
|
||||
/**
|
||||
* 按照业务id查询流程实例
|
||||
* 按业务 id 查询底层流程实例实体。
|
||||
*
|
||||
* @param businessId 业务id
|
||||
* @return 结果
|
||||
@@ -54,7 +54,7 @@ public interface IFlwInstanceService {
|
||||
FlowInstance selectInstByBusinessId(String businessId);
|
||||
|
||||
/**
|
||||
* 按照实例id查询流程实例
|
||||
* 按实例 id 查询单个流程实例实体。
|
||||
*
|
||||
* @param instanceId 实例id
|
||||
* @return 结果
|
||||
@@ -62,7 +62,7 @@ public interface IFlwInstanceService {
|
||||
FlowInstance selectInstById(Long instanceId);
|
||||
|
||||
/**
|
||||
* 按照实例id查询流程实例
|
||||
* 按实例 id 集合批量查询流程实例。
|
||||
*
|
||||
* @param instanceIds 实例id
|
||||
* @return 结果
|
||||
@@ -111,7 +111,7 @@ public interface IFlwInstanceService {
|
||||
TableDataInfo<FlowInstanceVo> selectCurrentInstanceList(FlowInstanceBo instanceBo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 获取流程图,流程记录
|
||||
* 获取流程图及历史办理记录,供前端展示流转轨迹。
|
||||
*
|
||||
* @param businessId 业务id
|
||||
* @return 结果
|
||||
@@ -127,7 +127,7 @@ public interface IFlwInstanceService {
|
||||
void updateStatus(Long instanceId, String status);
|
||||
|
||||
/**
|
||||
* 获取流程变量
|
||||
* 获取指定实例当前持有的流程变量。
|
||||
*
|
||||
* @param instanceId 实例id
|
||||
* @return 结果
|
||||
@@ -135,7 +135,7 @@ public interface IFlwInstanceService {
|
||||
Map<String, Object> instanceVariable(Long instanceId);
|
||||
|
||||
/**
|
||||
* 更新流程变量
|
||||
* 更新流程变量,支持在运行中修正流程上下文数据。
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 结果
|
||||
@@ -143,7 +143,7 @@ public interface IFlwInstanceService {
|
||||
boolean updateVariable(FlowVariableBo bo);
|
||||
|
||||
/**
|
||||
* 设置流程变量
|
||||
* 为指定流程实例设置变量集合。
|
||||
*
|
||||
* @param instanceId 实例id
|
||||
* @param variable 流程变量
|
||||
@@ -151,7 +151,7 @@ public interface IFlwInstanceService {
|
||||
void setVariable(Long instanceId, Map<String, Object> variable);
|
||||
|
||||
/**
|
||||
* 按任务id查询实例
|
||||
* 按任务 id 反查所属流程实例。
|
||||
*
|
||||
* @param taskId 任务id
|
||||
* @return 结果
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 流程spel表达式定义Service接口
|
||||
* 流程 SpEL 表达式定义服务接口,负责表达式规则管理与动态指派解析。
|
||||
*
|
||||
* @author Michelle.Chung
|
||||
* @date 2025-07-04
|
||||
@@ -20,7 +20,7 @@ import java.util.Map;
|
||||
public interface IFlwSpelService {
|
||||
|
||||
/**
|
||||
* 查询流程spel表达式定义
|
||||
* 根据主键查询流程 SpEL 表达式定义。
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 流程spel表达式定义
|
||||
@@ -37,7 +37,7 @@ public interface IFlwSpelService {
|
||||
TableDataInfo<FlowSpelVo> queryPageList(FlowSpelBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的流程spel表达式定义列表
|
||||
* 查询符合条件的流程 SpEL 表达式定义列表。
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 流程spel表达式定义列表
|
||||
@@ -45,7 +45,7 @@ public interface IFlwSpelService {
|
||||
List<FlowSpelVo> queryList(FlowSpelBo bo);
|
||||
|
||||
/**
|
||||
* 新增流程spel表达式定义
|
||||
* 新增流程 SpEL 表达式定义。
|
||||
*
|
||||
* @param bo 流程spel表达式定义
|
||||
* @return 是否新增成功
|
||||
@@ -53,7 +53,7 @@ public interface IFlwSpelService {
|
||||
Boolean insertByBo(FlowSpelBo bo);
|
||||
|
||||
/**
|
||||
* 修改流程spel表达式定义
|
||||
* 修改流程 SpEL 表达式定义。
|
||||
*
|
||||
* @param bo 流程spel表达式定义
|
||||
* @return 是否修改成功
|
||||
@@ -70,7 +70,7 @@ public interface IFlwSpelService {
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 查询spel并返回任务指派的列表,支持分页
|
||||
* 按任务指派条件解析 SpEL,并返回可用办理人列表。
|
||||
*
|
||||
* @param taskQuery 查询条件
|
||||
* @return 办理人
|
||||
|
||||
@@ -51,7 +51,7 @@ public interface IFlwTaskService {
|
||||
*
|
||||
* @param flowTaskBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 结果
|
||||
* @return 当前用户待办任务分页结果
|
||||
*/
|
||||
TableDataInfo<FlowTaskVo> pageByTaskWait(FlowTaskBo flowTaskBo, PageQuery pageQuery);
|
||||
|
||||
@@ -60,7 +60,7 @@ public interface IFlwTaskService {
|
||||
*
|
||||
* @param flowTaskBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 结果
|
||||
* @return 当前用户已办任务分页结果
|
||||
*/
|
||||
TableDataInfo<FlowHisTaskVo> pageByTaskFinish(FlowTaskBo flowTaskBo, PageQuery pageQuery);
|
||||
|
||||
@@ -69,7 +69,7 @@ public interface IFlwTaskService {
|
||||
*
|
||||
* @param flowTaskBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 结果
|
||||
* @return 当前租户待办任务分页结果
|
||||
*/
|
||||
TableDataInfo<FlowTaskVo> pageByAllTaskWait(FlowTaskBo flowTaskBo, PageQuery pageQuery);
|
||||
|
||||
@@ -78,7 +78,7 @@ public interface IFlwTaskService {
|
||||
*
|
||||
* @param flowTaskBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 结果
|
||||
* @return 当前租户已办任务分页结果
|
||||
*/
|
||||
TableDataInfo<FlowHisTaskVo> pageByAllTaskFinish(FlowTaskBo flowTaskBo, PageQuery pageQuery);
|
||||
|
||||
@@ -87,7 +87,7 @@ public interface IFlwTaskService {
|
||||
*
|
||||
* @param flowTaskBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 结果
|
||||
* @return 当前用户抄送分页结果
|
||||
*/
|
||||
TableDataInfo<FlowTaskVo> pageByTaskCopy(FlowTaskBo flowTaskBo, PageQuery pageQuery);
|
||||
|
||||
@@ -129,7 +129,7 @@ public interface IFlwTaskService {
|
||||
* 按照任务id查询任务
|
||||
*
|
||||
* @param taskIdList 任务id
|
||||
* @return 结果
|
||||
* @return 任务列表
|
||||
*/
|
||||
List<FlowTask> selectByIdList(List<Long> taskIdList);
|
||||
|
||||
@@ -137,7 +137,7 @@ public interface IFlwTaskService {
|
||||
* 按照任务id查询任务
|
||||
*
|
||||
* @param taskId 任务id
|
||||
* @return 结果
|
||||
* @return 任务详情
|
||||
*/
|
||||
FlowTaskVo selectById(Long taskId);
|
||||
|
||||
@@ -145,7 +145,7 @@ public interface IFlwTaskService {
|
||||
* 获取下一节点信息
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 结果
|
||||
* @return 下一节点列表
|
||||
*/
|
||||
List<FlowNode> getNextNodeList(FlowNextNodeBo bo);
|
||||
|
||||
@@ -153,7 +153,7 @@ public interface IFlwTaskService {
|
||||
* 按照任务id查询任务
|
||||
*
|
||||
* @param taskId 任务id
|
||||
* @return 结果
|
||||
* @return 历史任务详情
|
||||
*/
|
||||
FlowHisTask selectHisTaskById(Long taskId);
|
||||
|
||||
@@ -161,7 +161,7 @@ public interface IFlwTaskService {
|
||||
* 按照实例id查询任务
|
||||
*
|
||||
* @param instanceId 流程实例id
|
||||
* @return 结果
|
||||
* @return 任务列表
|
||||
*/
|
||||
List<FlowTask> selectByInstId(Long instanceId);
|
||||
|
||||
@@ -169,7 +169,7 @@ public interface IFlwTaskService {
|
||||
* 按照实例id查询任务
|
||||
*
|
||||
* @param instanceIds 列表
|
||||
* @return 结果
|
||||
* @return 任务列表
|
||||
*/
|
||||
List<FlowTask> selectByInstIds(List<Long> instanceIds);
|
||||
|
||||
@@ -194,7 +194,7 @@ public interface IFlwTaskService {
|
||||
* 获取当前任务的所有办理人
|
||||
*
|
||||
* @param taskIds 任务id
|
||||
* @return 结果
|
||||
* @return 办理人列表
|
||||
*/
|
||||
List<UserDTO> currentTaskAllUser(List<Long> taskIds);
|
||||
|
||||
@@ -211,7 +211,7 @@ public interface IFlwTaskService {
|
||||
* 催办任务
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 结果
|
||||
* @return 是否催办成功
|
||||
*/
|
||||
boolean urgeTask(FlowUrgeTaskBo bo);
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import org.dromara.workflow.domain.vo.TestLeaveVo;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 请假Service接口
|
||||
* 请假示例服务接口,定义请假单查询、维护与流程发起能力。
|
||||
*
|
||||
* @author may
|
||||
* @date 2023-07-21
|
||||
@@ -16,37 +16,59 @@ import java.util.List;
|
||||
public interface ITestLeaveService {
|
||||
|
||||
/**
|
||||
* 查询请假
|
||||
* 根据主键查询请假单。
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 请假详情
|
||||
*/
|
||||
TestLeaveVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 查询请假列表
|
||||
* 分页查询请假列表。
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 请假分页数据
|
||||
*/
|
||||
TableDataInfo<TestLeaveVo> queryPageList(TestLeaveBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询请假列表
|
||||
* 查询符合条件的请假列表。
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 请假列表
|
||||
*/
|
||||
List<TestLeaveVo> queryList(TestLeaveBo bo);
|
||||
|
||||
/**
|
||||
* 新增请假
|
||||
* 新增请假单。
|
||||
*
|
||||
* @param bo 请假信息
|
||||
* @return 新增结果
|
||||
*/
|
||||
TestLeaveVo insertByBo(TestLeaveBo bo);
|
||||
|
||||
/**
|
||||
* 提交请假并发起流程
|
||||
* 提交请假单并发起审批流程。
|
||||
*
|
||||
* @param bo 请假信息
|
||||
* @return 提交结果
|
||||
*/
|
||||
TestLeaveVo submitAndFlowStart(TestLeaveBo bo);
|
||||
|
||||
/**
|
||||
* 修改请假
|
||||
* 修改请假单。
|
||||
*
|
||||
* @param bo 请假信息
|
||||
* @return 修改结果
|
||||
*/
|
||||
TestLeaveVo updateByBo(TestLeaveBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除请假信息
|
||||
* 校验并批量删除请假信息。
|
||||
*
|
||||
* @param ids 主键集合
|
||||
* @return 删除结果
|
||||
*/
|
||||
Boolean deleteWithValidByIds(List<Long> ids);
|
||||
}
|
||||
|
||||
@@ -24,6 +24,13 @@ public class CategoryNameTranslationImpl implements TranslationInterface<String>
|
||||
|
||||
private final IFlwCategoryService flwCategoryService;
|
||||
|
||||
/**
|
||||
* 将流程分类 ID 翻译为分类名称。
|
||||
*
|
||||
* @param key 分类 ID
|
||||
* @param other 额外参数
|
||||
* @return 分类名称
|
||||
*/
|
||||
@Override
|
||||
public String translation(Object key, String other) {
|
||||
return flwCategoryService.selectCategoryNameById(Convert.toLong(key));
|
||||
|
||||
@@ -161,6 +161,12 @@ public class FlwCategoryServiceImpl implements IFlwCategoryService, CategoryServ
|
||||
.eq(FlowCategory::getParentId, categoryId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建流程分类查询条件。
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 查询条件包装器
|
||||
*/
|
||||
private LambdaQueryWrapper<FlowCategory> buildQueryWrapper(FlowCategoryBo bo) {
|
||||
LambdaQueryWrapper<FlowCategory> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(FlowCategory::getDelFlag, SystemConstants.NORMAL);
|
||||
|
||||
@@ -260,7 +260,7 @@ public class FlwChartExtServiceImpl implements ChartExtService {
|
||||
* 根据流程实例ID获取历史任务列表
|
||||
*
|
||||
* @param instanceId 流程实例ID
|
||||
* @return 历史任务列表
|
||||
* @return 按更新时间倒序排列的审批历史任务列表
|
||||
*/
|
||||
public List<FlowHisTask> getHisTaskGroupedByNode(Long instanceId) {
|
||||
LambdaQueryWrapper<FlowHisTask> wrapper = Wrappers.lambdaQuery();
|
||||
|
||||
@@ -93,6 +93,12 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
|
||||
return new TableDataInfo<>(list, page.getTotal());
|
||||
}
|
||||
|
||||
/**
|
||||
* 构造流程定义分页查询条件。
|
||||
*
|
||||
* @param flowDefinition 页面传入的流程定义筛选条件
|
||||
* @return 叠加流程编码、名称、分类以及排序条件后的查询包装器
|
||||
*/
|
||||
private LambdaQueryWrapper<FlowDefinition> buildQueryWrapper(FlowDefinition flowDefinition) {
|
||||
LambdaQueryWrapper<FlowDefinition> wrapper = Wrappers.lambdaQuery();
|
||||
wrapper.like(StringUtils.isNotBlank(flowDefinition.getFlowCode()), FlowDefinition::getFlowCode, flowDefinition.getFlowCode());
|
||||
@@ -109,6 +115,7 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
|
||||
* 发布流程定义
|
||||
*
|
||||
* @param id 流程定义id
|
||||
* @return 发布成功返回 {@code true}
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -132,7 +139,9 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
|
||||
/**
|
||||
* 导入流程定义
|
||||
*
|
||||
* @param file 文件
|
||||
* @param file 流程定义 Json 文件
|
||||
* @param category 导入后绑定的流程分类
|
||||
* @return 导入成功返回 {@code true}
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -152,7 +161,7 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
|
||||
* 导出流程定义
|
||||
*
|
||||
* @param id 流程定义id
|
||||
* @param response 响应
|
||||
* @param response HTTP 响应对象,用于输出定义 Json 内容
|
||||
* @throws IOException 异常
|
||||
*/
|
||||
@Override
|
||||
@@ -171,6 +180,7 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
|
||||
* 删除流程定义
|
||||
*
|
||||
* @param ids 流程定义id
|
||||
* @return 删除成功返回 {@code true}
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
||||
@@ -80,6 +80,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
*
|
||||
* @param flowInstanceBo 流程实例
|
||||
* @param pageQuery 分页
|
||||
* @return 当前符合条件的运行中流程实例分页结果
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<FlowInstanceVo> selectRunningInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
|
||||
@@ -94,6 +95,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
*
|
||||
* @param flowInstanceBo 流程实例
|
||||
* @param pageQuery 分页
|
||||
* @return 当前符合条件的已结束流程实例分页结果
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<FlowInstanceVo> selectFinishInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
|
||||
@@ -179,6 +181,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
* 根据业务id查询流程实例
|
||||
*
|
||||
* @param businessId 业务id
|
||||
* @return 对应的流程实例,不存在时返回 {@code null}
|
||||
*/
|
||||
@Override
|
||||
public FlowInstance selectInstByBusinessId(String businessId) {
|
||||
@@ -189,6 +192,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
* 按照实例id查询流程实例
|
||||
*
|
||||
* @param instanceId 实例id
|
||||
* @return 实例详情,不存在时返回 {@code null}
|
||||
*/
|
||||
@Override
|
||||
public FlowInstance selectInstById(Long instanceId) {
|
||||
@@ -199,6 +203,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
* 按照实例id查询流程实例
|
||||
*
|
||||
* @param instanceIds 实例id
|
||||
* @return 实例列表
|
||||
*/
|
||||
@Override
|
||||
public List<FlowInstance> selectInstListByIdList(List<Long> instanceIds) {
|
||||
@@ -209,6 +214,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
* 按照业务id删除流程实例
|
||||
*
|
||||
* @param businessIds 业务id
|
||||
* @return 删除成功返回 {@code true},未找到实例时返回 {@code false}
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -225,6 +231,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
* 按照实例id删除流程实例
|
||||
*
|
||||
* @param instanceIds 实例id
|
||||
* @return 删除成功返回 {@code true},未找到实例时返回 {@code false}
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -259,6 +266,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
* 按照实例id删除已完成的流程实例
|
||||
*
|
||||
* @param instanceIds 实例id
|
||||
* @return 删除成功返回 {@code true},未找到实例时返回 {@code false}
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -298,6 +306,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
* 撤销流程
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 撤销成功返回 {@code true}
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -328,6 +337,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
*
|
||||
* @param instanceBo 流程实例
|
||||
* @param pageQuery 分页
|
||||
* @return 当前登录人发起的流程实例分页结果
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<FlowInstanceVo> selectCurrentInstanceList(FlowInstanceBo instanceBo, PageQuery pageQuery) {
|
||||
@@ -341,6 +351,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
* 获取流程图,流程记录
|
||||
*
|
||||
* @param businessId 业务id
|
||||
* @return 包含流程记录列表和实例 id 的结果集
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> flowHisTaskList(String businessId) {
|
||||
@@ -410,6 +421,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
* 获取流程变量
|
||||
*
|
||||
* @param instanceId 实例id
|
||||
* @return 变量明细列表及原始变量字符串
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> instanceVariable(Long instanceId) {
|
||||
@@ -428,6 +440,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
* 设置流程变量
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 更新成功返回 {@code true}
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -465,6 +478,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
* 按任务id查询实例
|
||||
*
|
||||
* @param taskId 任务id
|
||||
* @return 任务关联的流程实例,运行中任务不存在时回退查询历史任务
|
||||
*/
|
||||
@Override
|
||||
public FlowInstance selectByTaskId(Long taskId) {
|
||||
@@ -484,6 +498,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
* 作废流程
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 作废成功返回 {@code true}
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
||||
@@ -275,6 +275,9 @@ public class FlwNodeExtServiceImpl implements NodeExtService, IFlwNodeExtService
|
||||
|
||||
/**
|
||||
* 按逗号分割字符串,但保留 #{...} 表达式和字符串常量中的逗号
|
||||
*
|
||||
* @param str 原始配置字符串
|
||||
* @return 智能分割后的片段列表
|
||||
*/
|
||||
private static List<String> spelSmartSplit(String str) {
|
||||
List<String> result = new ArrayList<>();
|
||||
@@ -347,6 +350,14 @@ public class FlwNodeExtServiceImpl implements NodeExtService, IFlwNodeExtService
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断指定位置的下一个字符是否匹配预期字符。
|
||||
*
|
||||
* @param str 原始字符串
|
||||
* @param index 当前索引
|
||||
* @param expected 期望匹配的字符
|
||||
* @return 匹配成功返回 {@code true}
|
||||
*/
|
||||
private static boolean checkNext(String str, int index, char expected) {
|
||||
return index + 1 < str.length() && str.charAt(index + 1) == expected;
|
||||
}
|
||||
|
||||
@@ -80,6 +80,12 @@ public class FlwSpelServiceImpl implements IFlwSpelService {
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 组装 SpEL 表达式列表查询条件。
|
||||
*
|
||||
* @param bo 页面筛选参数
|
||||
* @return 包含排序和筛选条件的查询包装器
|
||||
*/
|
||||
private LambdaQueryWrapper<FlowSpel> buildQueryWrapper(FlowSpelBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<FlowSpel> lqw = Wrappers.lambdaQuery();
|
||||
@@ -125,6 +131,8 @@ public class FlwSpelServiceImpl implements IFlwSpelService {
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*
|
||||
* @param entity 待保存的 SpEL 表达式实体
|
||||
*/
|
||||
private void validEntityBeforeSave(FlowSpel entity){
|
||||
if (StringUtils.isNotBlank(entity.getViewSpel())) {
|
||||
|
||||
@@ -119,7 +119,11 @@ public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, Hand
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据任务办理类型查询对应的数据
|
||||
* 根据办理人类型查询右侧候选数据。
|
||||
*
|
||||
* @param type 办理人类型
|
||||
* @param taskQuery 查询条件
|
||||
* @return 办理人数据
|
||||
*/
|
||||
private TaskAssigneeDTO fetchTaskAssigneeData(TaskAssigneeEnum type, TaskAssigneeBody taskQuery) {
|
||||
return switch (type) {
|
||||
@@ -132,7 +136,10 @@ public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, Hand
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据任务办理类型获取部门数据
|
||||
* 根据办理人类型获取部门树数据源。
|
||||
*
|
||||
* @param type 办理人类型
|
||||
* @return 部门列表
|
||||
*/
|
||||
private List<DeptDTO> fetchDeptData(TaskAssigneeEnum type) {
|
||||
if (type.needsDeptService()) {
|
||||
@@ -159,7 +166,10 @@ public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, Hand
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建部门树状结构
|
||||
* 构建设计器左侧部门树。
|
||||
*
|
||||
* @param depts 部门列表
|
||||
* @return 部门树构建器
|
||||
*/
|
||||
private TreeFunDto<DeptDTO> buildDeptTree(List<DeptDTO> depts) {
|
||||
return new TreeFunDto<>(depts)
|
||||
@@ -169,7 +179,11 @@ public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, Hand
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建任务办理人数据
|
||||
* 构建设计器右侧办理人列表数据。
|
||||
*
|
||||
* @param dto 办理人数据
|
||||
* @param type 办理人类型
|
||||
* @return 办理人列表构建器
|
||||
*/
|
||||
private HandlerFunDto<TaskAssigneeDTO.TaskHandler> buildHandlerData(TaskAssigneeDTO dto, TaskAssigneeEnum type) {
|
||||
return new HandlerFunDto<>(dto.getList(), dto.getTotal())
|
||||
|
||||
@@ -97,6 +97,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
* 启动任务
|
||||
*
|
||||
* @param startProcessBo 启动流程参数
|
||||
* @return 启动后的流程实例标识与首个任务标识
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -171,6 +172,9 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
|
||||
/**
|
||||
* 生成业务编号,如果已有则直接返回已有值
|
||||
*
|
||||
* @param bizExt 流程业务扩展信息
|
||||
* @return 可用于流程实例展示的业务编号
|
||||
*/
|
||||
private String generateBusinessCode(FlowInstanceBizExt bizExt) {
|
||||
if (StringUtils.isBlank(bizExt.getBusinessCode())) {
|
||||
@@ -198,6 +202,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
* 办理任务
|
||||
*
|
||||
* @param completeTaskBo 办理任务参数
|
||||
* @return 办理成功返回 {@code true}
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -294,6 +299,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
*
|
||||
* @param assigneeMap 处理人
|
||||
* @param variablesMap 变量
|
||||
* @return 追加流程状态前缀后的处理人变量映射
|
||||
*/
|
||||
private Map<String, Object> setPopAssigneeMap(Map<String, Object> assigneeMap, Map<String, Object> variablesMap) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
@@ -367,6 +373,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
*
|
||||
* @param flowTaskBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 当前登录人的待办任务分页结果
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<FlowTaskVo> pageByTaskWait(FlowTaskBo flowTaskBo, PageQuery pageQuery) {
|
||||
@@ -380,6 +387,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
*
|
||||
* @param flowTaskBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 当前登录人的已办任务分页结果
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<FlowHisTaskVo> pageByTaskFinish(FlowTaskBo flowTaskBo, PageQuery pageQuery) {
|
||||
@@ -392,6 +400,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
*
|
||||
* @param flowTaskBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 全部待办任务分页结果
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<FlowTaskVo> pageByAllTaskWait(FlowTaskBo flowTaskBo, PageQuery pageQuery) {
|
||||
@@ -423,6 +432,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
*
|
||||
* @param flowTaskBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 全部已办任务分页结果
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<FlowHisTaskVo> pageByAllTaskFinish(FlowTaskBo flowTaskBo, PageQuery pageQuery) {
|
||||
@@ -435,6 +445,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
*
|
||||
* @param flowTaskBo 参数
|
||||
* @param pageQuery 分页
|
||||
* @return 当前登录人收到的抄送分页结果
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<FlowTaskVo> pageByTaskCopy(FlowTaskBo flowTaskBo, PageQuery pageQuery) {
|
||||
@@ -442,6 +453,12 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
return TableDataInfo.build(page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析查询条件中的分类及其子分类编码集合。
|
||||
*
|
||||
* @param flowTaskBo 任务筛选条件
|
||||
* @return 分类 id 字符串集合,未指定分类时返回 {@code null}
|
||||
*/
|
||||
private List<String> categoryIds(FlowTaskBo flowTaskBo) {
|
||||
if (StringUtils.isNotBlank(flowTaskBo.getCategory())) {
|
||||
List<Long> categoryIds = flwCategoryMapper.selectCategoryIdsByParentId(Convert.toLong(flowTaskBo.getCategory()));
|
||||
@@ -454,6 +471,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
* 驳回任务
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 驳回成功返回 {@code true}
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -497,6 +515,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
*
|
||||
* @param taskId 任务id
|
||||
* @param nowNodeCode 当前节点
|
||||
* @return 当前任务允许驳回的节点列表
|
||||
*/
|
||||
@Override
|
||||
public List<Node> getBackTaskNode(Long taskId, String nowNodeCode) {
|
||||
@@ -544,6 +563,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
* 终止任务
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 终止成功返回 {@code true}
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -569,6 +589,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
* 按照任务id查询任务
|
||||
*
|
||||
* @param taskIdList 任务id
|
||||
* @return 任务列表
|
||||
*/
|
||||
@Override
|
||||
public List<FlowTask> selectByIdList(List<Long> taskIdList) {
|
||||
@@ -579,6 +600,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
* 按照任务id查询任务
|
||||
*
|
||||
* @param taskId 任务id
|
||||
* @return 任务详情视图,不存在时返回 {@code null}
|
||||
*/
|
||||
@Override
|
||||
public FlowTaskVo selectById(Long taskId) {
|
||||
@@ -631,6 +653,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
* 获取下一节点信息
|
||||
*
|
||||
* @param bo 参数
|
||||
* @return 当前任务在给定变量下可流转到的下一审批节点列表
|
||||
*/
|
||||
@Override
|
||||
public List<FlowNode> getNextNodeList(FlowNextNodeBo bo) {
|
||||
@@ -691,6 +714,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
* 按照实例id查询任务
|
||||
*
|
||||
* @param instanceId 流程实例id
|
||||
* @return 运行中的任务列表
|
||||
*/
|
||||
@Override
|
||||
public List<FlowTask> selectByInstId(Long instanceId) {
|
||||
@@ -701,6 +725,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
* 按照实例id查询任务
|
||||
*
|
||||
* @param instanceIds 流程实例id
|
||||
* @return 运行中的任务列表
|
||||
*/
|
||||
@Override
|
||||
public List<FlowTask> selectByInstIds(List<Long> instanceIds) {
|
||||
@@ -724,6 +749,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
*
|
||||
* @param bo 参数
|
||||
* @param taskOperation 操作类型,委派 delegateTask、转办 transferTask、加签 addSignature、减签 reductionSignature
|
||||
* @return 操作成功返回 {@code true}
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
||||
@@ -67,6 +67,9 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
||||
|
||||
/**
|
||||
* 查询请假
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 请假详情
|
||||
*/
|
||||
@Override
|
||||
public TestLeaveVo queryById(Long id) {
|
||||
@@ -75,6 +78,10 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
||||
|
||||
/**
|
||||
* 查询请假列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 请假分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<TestLeaveVo> queryPageList(TestLeaveBo bo, PageQuery pageQuery) {
|
||||
@@ -85,6 +92,9 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
||||
|
||||
/**
|
||||
* 查询请假列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 请假列表
|
||||
*/
|
||||
@Override
|
||||
public List<TestLeaveVo> queryList(TestLeaveBo bo) {
|
||||
@@ -92,6 +102,12 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
/**
|
||||
* 构造请假列表查询条件。
|
||||
*
|
||||
* @param bo 查询参数
|
||||
* @return 包含请假类型、天数区间和排序条件的查询包装器
|
||||
*/
|
||||
private LambdaQueryWrapper<TestLeave> buildQueryWrapper(TestLeaveBo bo) {
|
||||
LambdaQueryWrapper<TestLeave> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getLeaveType()), TestLeave::getLeaveType, bo.getLeaveType());
|
||||
@@ -103,6 +119,9 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
||||
|
||||
/**
|
||||
* 新增请假
|
||||
*
|
||||
* @param bo 请假业务对象
|
||||
* @return 新增后的请假详情
|
||||
*/
|
||||
@Override
|
||||
public TestLeaveVo insertByBo(TestLeaveBo bo) {
|
||||
@@ -121,6 +140,12 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
||||
return MapstructUtils.convert(add, TestLeaveVo.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交请假并同步发起审批流程。
|
||||
*
|
||||
* @param bo 请假业务对象
|
||||
* @return 已落库并完成流程提交的请假详情
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public TestLeaveVo submitAndFlowStart(TestLeaveBo bo) {
|
||||
@@ -154,6 +179,9 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
||||
|
||||
/**
|
||||
* 修改请假
|
||||
*
|
||||
* @param bo 请假业务对象
|
||||
* @return 更新后的请假详情
|
||||
*/
|
||||
@Override
|
||||
public TestLeaveVo updateByBo(TestLeaveBo bo) {
|
||||
@@ -164,6 +192,9 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
||||
|
||||
/**
|
||||
* 批量删除请假
|
||||
*
|
||||
* @param ids 主键集合
|
||||
* @return 删除成功返回 {@code true}
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
||||
@@ -53,6 +53,7 @@ public class WorkflowServiceImpl implements WorkflowService {
|
||||
* 获取当前流程状态
|
||||
*
|
||||
* @param taskId 任务id
|
||||
* @return 任务关联流程实例的业务状态,未查询到时返回空字符串
|
||||
*/
|
||||
@Override
|
||||
public String getBusinessStatusByTaskId(Long taskId) {
|
||||
@@ -64,6 +65,7 @@ public class WorkflowServiceImpl implements WorkflowService {
|
||||
* 获取当前流程状态
|
||||
*
|
||||
* @param businessId 业务id
|
||||
* @return 业务单据对应的流程状态,未查询到时返回空字符串
|
||||
*/
|
||||
@Override
|
||||
public String getBusinessStatus(String businessId) {
|
||||
@@ -86,6 +88,7 @@ public class WorkflowServiceImpl implements WorkflowService {
|
||||
* 获取流程变量
|
||||
*
|
||||
* @param instanceId 流程实例id
|
||||
* @return 实例变量信息
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> instanceVariable(Long instanceId) {
|
||||
@@ -108,6 +111,7 @@ public class WorkflowServiceImpl implements WorkflowService {
|
||||
* 启动流程
|
||||
*
|
||||
* @param startProcess 参数
|
||||
* @return 启动后的流程实例和首个任务信息
|
||||
*/
|
||||
@Override
|
||||
public StartProcessReturnDTO startWorkFlow(StartProcessDTO startProcess) {
|
||||
@@ -120,6 +124,7 @@ public class WorkflowServiceImpl implements WorkflowService {
|
||||
* completeTask.getVariables().put("ignore", true);
|
||||
*
|
||||
* @param completeTask 参数
|
||||
* @return 办理成功返回 {@code true}
|
||||
*/
|
||||
@Override
|
||||
public boolean completeTask(CompleteTaskDTO completeTask) {
|
||||
@@ -131,6 +136,7 @@ public class WorkflowServiceImpl implements WorkflowService {
|
||||
*
|
||||
* @param taskId 任务ID
|
||||
* @param message 办理意见
|
||||
* @return 办理成功返回 {@code true}
|
||||
*/
|
||||
@Override
|
||||
public boolean completeTask(Long taskId, String message) {
|
||||
@@ -146,6 +152,7 @@ public class WorkflowServiceImpl implements WorkflowService {
|
||||
* 启动流程并办理第一个任务
|
||||
*
|
||||
* @param startProcess 参数
|
||||
* @return 首节点办理成功返回 {@code true}
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
||||
Reference in New Issue
Block a user