# 条件表达式、抄送、按钮与服务任务 ## 1. 条件表达式系统(来自设计器源码) ### 1.1 系统内置变量(可用于网关条件) | 变量名 | 含义 | 用法示例 | |--------|------|---------| | `applyUserId` | 发起人用户名 | `${applyUserId == 'admin'}` | | `applyUserDept` | 发起人部门 | `${applyUserDept == '部门ID'}` | | `applyUserDeptManager` | 发起部门负责人 | `${applyUserDeptManager == 'username'}` | | `applyUserParentDeptManager` | 上级部门负责人 | 同上 | | `lastAssignee` | 上个节点处理人 | `${lastAssignee == 'admin'}` | | `applyUserPostLevel` | 发起人职级 | `${applyUserPostLevel == '职级ID'}` | | `applyUserApprovalRole` | 发起人审批角色 | `${applyUserApprovalRole == '角色ID'}` | | `applyDate` | 发起日期 | `${applyDate > '2026-01-01'}` | | `result` | 审批结果 | `${result == 1}` 通过 / `${result == 0}` 拒绝 | ### 1.2 条件运算符 | 运算符 | 含义 | 适用类型 | |--------|------|---------| | `eq` / `==` | 等于 | 字符串、数字、日期 | | `ne` / `!=` | 不等于 | 字符串、数字、日期 | | `gt` / `>` | 大于 | 数字、日期 | | `gte` / `>=` | 大于等于 | 数字、日期 | | `lt` / `<` | 小于 | 数字、日期 | | `lte` / `<=` | 小于等于 | 数字、日期 | | `in` | 在列表中 | 字符串、数字 | | `not_in` | 不在列表中 | 字符串、数字 | | `contains` | 包含 | 字符串 | | `is_empty` | 为空 | 字符串、数字、文件 | | `is_not_empty` | 不为空 | 字符串、数字、文件 | | `is_department_manager` | 是部门负责人 | applyUserId, lastAssignee | | `is_not_department_manager` | 不是部门负责人 | applyUserId, lastAssignee | --- ## 2. 抄送配置(CcConfigJson) 用户任务可配置抄送人,通知相关人员但不影响审批流程: ```xml ``` ### 抄送类型 | 类型 | 说明 | |------|------| | `candidateUsers` | 指定人 | | `candidateRoles` | 指定角色 | | `candidateDeptPositions` | 指定岗位 | | `submitter_user` | 提交人本人 | | `submitter_dept_leader` | 提交人部门负责人 | | `submitter_parent_dept_leader` | 上级部门负责人 | | `dept_members` | 本部门成员 | | `dept_leader` | 部门负责人 | --- ## 3. 自定义按钮(Button) 用户任务可配置自定义操作按钮: ```xml ``` | 属性 | 说明 | |------|------| | `id` | 按钮唯一ID | | `name` | 显示名称 | | `code` | 按钮编码标识 | | `isHide` | 是否隐藏(0=显示,1=隐藏) | | `next` | 点击后跳转的目标节点ID | | `sort` | 显示排序 | --- ## 4. 服务任务(ServiceTask) ### 4.1 API 服务任务 自动调用外部 HTTP 接口: ```xml ``` ApiServiceTaskConfig JSON 结构: ```json { "apiUrl": "https://api.example.com/endpoint", "method": "GET|POST", "headers": {}, "parameters": {}, "timeout": 30000, "retryCount": 0 } ``` ### 4.2 AI 服务任务 调用 AI 大模型进行智能处理: ```xml ``` AiServiceTaskConfig JSON 结构: ```json { "aiFlowId": "AI对话流ID", "inputParams": {}, "outputParams": {} } ``` --- ## 5. 设计器 API 端点一览 | API 路径 | 用途 | |----------|------| | `act/designer/api/saveProcess` | 保存/新建流程 | | `act/designer/api/getProcessXml` | 获取流程 XML | | `act/designer/api/getTypes` | 获取流程类型列表 | | `act/designer/api/getPageUsers` | 获取用户列表(审批人选择) | | `act/designer/api/getGroups` | 获取角色/组列表 | | `act/designer/api/getRoleNameByCodes` | 根据角色编码获取名称 | | `act/designer/api/getExpressions` | 获取可用表达式列表 | | `act/designer/api/getListenersByType` | 获取监听器列表 | | `sys/sysDepart/queryDepartAndPostTreeSync` | 获取部门+岗位树 | | `sys/position/list` | 获取职级列表 |