- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
-
用户指南(低代码)
- AstroZero低代码使用流程
- 授权用户使用AstroZero并购买实例
- 添加AstroZero开发者用户
- 使用AstroZero创建应用
-
使用AstroZero开发应用后端
- 应用后端开发概述
- 对象
- 事件
- 脚本
-
服务编排
- AstroZero服务编排概述
- 创建空白AstroZero服务编排
- 定制已有AstroZero服务编排
-
为AstroZero服务编排设置图元
- 为AstroZero服务编排添加子服务编排图元
- 为AstroZero服务编排添加脚本图元
- 为AstroZero服务编排添加记录创建图元
- 为AstroZero服务编排添加记录删除图元
- 为AstroZero服务编排添加记录查询图元
- 为AstroZero服务编排添加记录更新图元
- 为AstroZero服务编排添加发送邮件图元
- 为AstroZero服务编排添加发送事件图元
- 为AstroZero服务编排添加赋值图元
- 为AstroZero服务编排添加循环图元
- 为AstroZero服务编排添加跳出循环图元
- 为AstroZero服务编排添加决策图元
- 为AstroZero服务编排添加等待图元
- 为AstroZero服务编排添加BO图元
- 为AstroZero服务编排添加连接器图元
- 为AstroZero服务编排添加生成文档图元
- 管理AstroZero服务编排
- 自定义AstroZero服务编排的URL
- 触发器
- 工作流
- 定时任务
-
使用AstroZero开发应用前端
- 应用前端开发概述
-
标准页面
- AstroZero标准页面概述
- 创建空白AstroZero标准页面
- 使用模板创建AstroZero标准页面
- 为AstroZero标准页面添加组件
-
设置AstroZero标准页面组件属性
- 设置AstroZero标准页面容器组件属性
- 设置AstroZero标准页面表单组件属性
- 设置AstroZero标准页面表格组件属性
- 设置AstroZero标准页面分栏组件属性
- 设置AstroZero标准页面栅格容器组件属性
- 设置AstroZero标准页面列表视图组件属性
- 设置AstroZero标准页面表格(新)组件属性
- 设置AstroZero标准页面图片组件属性
- 设置AstroZero标准页面二维码组件属性
- 设置AstroZero标准页面分页组件属性
- 设置AstroZero标准页面模态框组件
- 设置AstroZero标准页面输入框组件属性
- 设置AstroZero标准页面下拉框组件属性
- 设置AstroZero标准页面按钮组件属性
- 设置AstroZero标准页面上传组件属性
- 设置AstroZero标准页面面包屑组件属性
- 设置AstroZero标准页面视频播放组件属性
- 添加事件实现AstroZero组件间交互
- 添加库扩展AstroZero标准页面功能
- 查看AstroZero标准页面性能
- 调测AstroZero标准页面
- 将AstroZero标准页面保存为模板
- 管理AstroZero标准页面
-
高级页面
- AstroZero高级页面概述
- 创建AstroZero高级页面
- 为AstroZero高级页面添加组件
-
设置AstroZero高级页面预置组件属性
- 设置AstroZero高级页面轮播组件属性
- 设置AstroZero高级页面图片组件属性
- 设置AstroZero高级页面文本编辑组件属性
- 设置AstroZero高级页面自定义背景框组件属性
- 设置AstroZero高级页面基本柱图组件属性
- 设置AstroZero高级页面基本折线图组件属性
- 设置AstroZero高级页面基本饼图组件属性
- 设置AstroZero高级页面水位图组件属性
- 设置AstroZero高级页面散点图组件属性
- 设置AstroZero高级页面雷达图组件属性
- 设置AstroZero高级页面仪表盘组件属性
- 设置AstroZero高级页面翻牌器组件属性
- 设置AstroZero高级页面路由导航和路由视图组件属性
- 为AstroZero高级页面添加自定义组件
- 为AstroZero高级页面组件绑定数据
- 添加事件或宏实现AstroZero高级页面组件交互
- 调测AstroZero高级页面
- 查看AstroZero高级页面性能
- 管理AstroZero高级页面
- 报表
- 使用AstroZero进行应用集成开发
- 使用AstroZero对应用进行个性化设置
- 发布并部署AstroZero开发的应用
- 管理AstroZero中已安装的应用
- AstroZero低代码平台管理中心
-
经典版开发指导
- 经典版入门必读
- 应用
- 对象
- 标准页面
- 高级页面
- 服务编排
- 脚本开发
- BPM服务编排
- API接口
- 集成开发
- 消息事件
- 触发器
- 报表和仪表板
- CICD持续集成与交付
- 服务组件(BO)
- 调测能力
- 工程能力
- 原生服务
- 其他功能
- 管理中心
- 白名单特性
- 用户指南(零代码)
- 最佳实践
- API参考
-
常见问题
- 高频常见问题
- 产品咨询类
-
应用后端开发
- 如何区分不同账户间的数据库对象?
- 在AstroZero对象中删除字段后重新创建时,引用的地方报错
- 如何刷新AstroZero对象的页面布局?
- 如何彻底删除AstroZero应用目录树中的数据?
- AstroZero自定义对象预置的owner字段,用于记录什么用户?
- AstroZero脚本支持使用哪些语言和库?
- 在AstroZero脚本中执行sql语句时,可以不用@useObject修饰数据对象吗?
- 在AstroZero脚本中,如何返回zip压缩文件内容?
- 如何通过AstroZero脚本,导出xls文件让用户下载?
- AstroZero脚本中是否支持multipart/form-data请求?
- AstroZero服务编排中涉及数据操作的脚本图元,在其他图元操作失败的情况下,是否可以回滚?
- 事件触发的AstroZero服务编排,发送事件后,服务编排没有运行?
- 在AstroZero服务编排或工作流中,引用的资源无法编辑
- 如何实现一个资源被多个AstroZero应用的服务编排调用?
- 在AstroZero服务编排中,支持跨应用引用资源吗?
- 在AstroZero服务编排、工作流或脚本中,邮件发送功能不可用?
- AstroZero开发者如何使用自己的邮箱发送邮件?
-
应用前端开发
- 在AstroZero标准页面中,如何调用服务编排或脚本?
- 在AstroZero标准页面组件较多时,如何快速选中组件?
- 表格字段太多,导致AstroZero标准页面无法完整显示,该如何处理?
- 在AstroZero标准页面中,如何实现有子表的表格?
- 在AstroZero标准页面中,如何实现下拉框选项值的筛选功能?
- 在AstroZero标准页面中,如何实现移动端上拉异步加载数据功能?
- 如何查看AstroZero标准页面的URL格式?
- 在AstroZero标准页面弹窗的onOk事件中,不想关闭弹窗该怎么处理?
- 在AstroZero中编排高级页面时,如何实现不加载组件库资源?
- 在AstroZero中自定义高级页面组件(widget)时,修改了JS文件,修改部分不生效?
- 在AstroZero组件库中,部分组件在组件详情页看不到更新和编辑入口
- 在AstroZero高级页面中,如何进行统一的HTTP状态拦截?
- 配置高级页面组件桥接器实例属性时,如何设置下拉框中的选项值?
- 在AstroZero高级页面中,如何实现所有组件都加载完成后,再执行某段逻辑?
- 在AstroZero中,如何实现多人协作开发?
- 在AstroZero运行环境中,如何实现游客访问标准页面?
- 应用发布与部署
- Astro轻应用平台管理中心
- 视频帮助
- 文档下载
- 通用参考
展开导读
链接复制成功!
创建并开发BPM
工单管理开发中,工单流转BPM设计大致如下。
- 根据业务角色不同,使用不同的工作队列,创建客服人员、派单员以及维修人员3个泳道。
图1 工单BPM设计界面通过在不同的泳道中,拖拽功能图元,然后通过配置图元属性,以及需要调用关键脚本逻辑,将前端页面中获取到的数据传回到后端的工单对象中,以完成工单流转的全过程。图元之间调用关系及工单流转过程,如表1所示。
表1 图元调用关系及工单流程过程 序号
图元名称
图元类型
图元作用
下一步流转
1
Start
开始
用户在创建工单页面,填写工单信息并单击“提交”按钮后,触发该图元,并将工单信息传入。
携带工单信息流转到“Data Mapper”图元。
2
Data Mapper
数据映射
将当前BPM的ID赋值给工单对象中BPM的ID字段。
携带工单信息、BPM的信息流转到“创建工单”图元。
3
创建工单
调用脚本
调用“创建工单”脚本,根据传入的工单信息,完成工单创建。
工单创建完毕后,流转“派单员派单”图元。
4
派单员派单
用户任务
将创建成功的工单,流转到派单员的派单页面(派单员队列中的用户均可进行派单)。
单击“派单”按钮,选择需要指定的“维修人员”后,将派单信息流转到“派单”图元。
5
派单
调用脚本
调用“派发工单”脚本,根据传入的派单信息进行工单信息(当前处理人/状态)的修改。
“派发工单”脚本执行后,会返回维修人员的用户Id,工单将流转到“维修人员”图元。
6
维修人员接单
用户任务
将派发成功的工单流转到指定的维修人员的工单处理界面。
单击“处理”按钮,进行工单的处理,可选择“接单”或“拒单”,并将处理信息流转到“接单”图元。
7
接单
调用脚本
调用“处理工单”脚本,根据传入的处理信息进行工单信息(当前处理人/状态)的修改。
“处理工单”脚本执行后返回处理结果,并将处理结果流转到“Exclusive”排他网关图元,进行下一步判断。
8
Exclusive
排他网关
根据脚本返回的处理结果进行判断,执行不同的流程。
- 如果脚本返回结果为“接单”,将流转到“维修人员关单”图元。
- 如果脚本返回结果为“拒单”,将重新流转回“派单员派单”图元,重新进行派单。
9
维修人员关单
用户任务
将接单成功的工单流转到接单的维修人员的工单处理界面。
对于处理中状态的工单,单击“处理”按钮,进行工单的处理,即进行关闭操作,将处理信息流转到“关闭工单”图元。
10
关闭工单
调用脚本
调用处理工单脚本,根据传入的处理信息,将工单状态修改为关闭。
关闭工单成功后,将流转到结束图元。
11
End
结束
整个流程执行完毕。
-
操作步骤
创建流程大致是先创建3个泳道,再拖拽泳道图元,然后配置相关图元,保存并启用。
- 在“我的应用”中,单击“设备维修管理系统”,进入应用。
- 在“WorkOrder”目录中,将鼠标放在“Bpm”上,单击界面上出现的“+”,在弹出菜单中选择“BPM”。
- 在弹窗中,设置“标签”、“名称”为“WorkOrderBpm”,单击“添加”。
图2 添加BPM
- 在设计区域,单击2次“AddLane”,为BPM添加2个角色泳道。
图3 添加泳道
- 修改泳道基础属性。
- 选中“Lane”,在右侧属性配置区域,设置泳道标签为“客服人员”,“工作队列”设置为创建工作队列中创建的“客服人员”。
图4 修改客服人员泳道基本信息
- 参考上一步,分别设置其他两个泳道的“标签”及“工作队列”。
表2 泳道标签及工作队列 泳道初始标签
泳道修改后标签
工作队列
Lane(上一步已配置)
客服人员
客服人员
lane1
派单员
派单员
lane2
维修人员
维修人员
- 选中“Lane”,在右侧属性配置区域,设置泳道标签为“客服人员”,“工作队列”设置为创建工作队列中创建的“客服人员”。
- 创建BPM中用的变量及对象变量。
- 在右侧属性面板区域,单击
,展开全局上下文。
图5 展开全局上下文 - 单击“变量”后的
图标4次,分别创建以下变量,单击变量后的
,可以修改字段类型,创建完成后,如图6所示。
表3 BPM变量 变量名
字段类型
id
文本
status
文本
assignedFme
文本
transInfo
任意
- 单击“对象变量”的
,在弹窗中设置“名称”为“workOrderData”,“对象”设置为“HW__WorkOrder__CST”(工单对象),加粗斜体内容请以实际命名空间前缀为准,然后单击“保存”。
图7 新增对象变量 - 再次单击“对象变量”的
,在弹窗中设置“名称”为“statusInfo”,“对象”设置为“HW__WorkOrder__CST”(工单对象),然后单击“保存”。
- 在右侧属性面板区域,单击
- 拖拽并配置“客服人员”泳道。
- 从左侧“活动”图元区域,拖拽一个“数据映射”图元到“客服人员”泳道中。
- 选中“Data Mapper”图元,然后在右侧导航菜单上单击
,进入数据映射配置,再单击
,展开全局上下文。
图8 拖拽并设置“数据映射”图元 - 分别从全局上下文的“对象变量”、“系统变量”中拖拽参数到数据映射配置下:
- 从左侧“活动”图元区域,拖拽一个“调用脚本”图元到“客服人员”泳道中,并设置“标签”为“创建工单”、“名称”为“createWorkOrder”。
图10 设置创建工单图元
- 选中“创建工单”图元,单击
,再单击“全局上下文”,配置“创建工单”图元绑定的脚本以及输入输出参数。
- 在“脚本配置”下选择“生成工单”脚本“HW__createWorkOrder”。
- 从全局上下文中拖拽对象变量“workOrderData”到“输入参数”的“源”输入框中,作为输入参数的值。
- 设置“输出参数”为“id”,并拖拽变量“id”作为“目标”输入框中的值。
图11 配置“创建工单”图元 - 从“Start”图元中拖拽一条连线到“Data Mapper”图元,然后从“Data Mapper”图元拖拽一条连线到“创建工单”图元,默认“连线类型”为“下一步”。
图12 拖拽连线
- 拖拽并配置“派单员”泳道。
- 从左侧“活动”图元区域,依次拖拽一个“用户任务”、“调用脚本”图标到“派单员”泳道中。
- 设置“用户任务”图元的“标签”为“派单员派单”、“名称”为“dispatchWorkOrderList”。
- 设置“调用脚本”图元的“标签”为“派单”、“名称”为“dispatch”。
- 选中“派单员派单”图元,单击
,设置“任务标题”、“任务描述”为“派单员派单”,“渲染类型”为“标准页面”,“页面”设置为“HW__dispatchWorkOrder”。
图13 用户任务配置 - 选中“派单”图元,单击
,再单击“全局上下文”,配置“派单”图元绑定的脚本以及输入输出参数。
- 在“脚本配置”下选择“生成工单”脚本“HW__dispatchWorkOrder”。
- 从全局上下文中,拖拽变量“transInfo”到“输入参数”的“源”输入框中,作为输入参数的值。
- 在“输出参数”下,单击“新增行”,设置“输入参数”为“id”、“assignedFme”,并从全局上下文中,拖拽变量“id”、“assignedFme”作为“目标”输入框中的值。
图14 配置“派单”图元
- 从“派单员派单”图元中拖拽一条连线到“派单”图元,然后再从“创建工单”图元中拖拽一条连线到“派单员派单”图元,默认“连线类型”均为“下一步”。
图15 拖拽连线
- 拖拽并配置“维修人员”泳道。
- 从左侧“活动”图标区域,拖拽2个“用户任务”、2个“调用脚本”、1个“排他网关”以及“终止”图元到“维修人员”泳道中,然后调整图元顺序。
图16 拖拽并调整图元顺序
- 从左到右,分别设置2个“用户任务”、2个“调用脚本”图元的基本属性,具体如表4所示,设置完成后如图17所示。
- 配置“维修人员接单”图元。
- 配置“接单”图元。
选中“接单”图元,单击
,再单击“全局上下文”,并展开全局上下文,配置“维修人员接单”图元,详细配置如表5所示。
说明:
请直接从全局上下文拖拽“statusInfo”、“id”、“status”到输入输出参数对应“源”或“目标”下,请勿手动输入,手动输入的值系统可能不识别。
图19 配置“接单”图元表6 接单图元配置 参数项
值
脚本
HW__modifyOrderStatus
输入参数“statusInfo”
对象变量下“statusInfo”
输出参数“id”
变量下“id”
输出参数“status”
变量下“status”
- 配置“维修人员关单”图元。
选中“维修人员关单”图元,单击
,设置“任务标题”为“维修人员关单”,“任务描述”为“维修人员任务列表”,“渲染类型”为“标准页面”,“页面”设置为“HW__workOrderListM”,并设置“当前泳道中的上一个任务被分配的人员”,如图20所示。
- 配置“关闭工单”图元。
选中“关闭工单”图元,单击
,再单击“全局上下文”,并展开全局上下文,配置“关闭工单”图元,详细配置如表5所示。
说明:
请直接从全局上下文拖拽“statusInfo”、“id”、“status”到输入输出参数对应“源”或“目标”下,请勿手动输入,手动输入的值系统可能不识别。
图21 拖拽关闭工单输入输出值表7 接单图元配置 参数项
值
脚本
HW__modifyOrderStatus
输入参数“statusInfo”
对象变量下“statusInfo”
输出参数“id”
变量下“id”
输出参数“status”
变量下“status”
- 从左侧“活动”图标区域,拖拽2个“用户任务”、2个“调用脚本”、1个“排他网关”以及“终止”图元到“维修人员”泳道中,然后调整图元顺序。
- 拖拽图元直接的关系连线,具体如图22所示。
- 配置“排他网关”图元连线属性。
- 选中“派单员派单”与“排他网关”之间的连线,单击鼠标右键,选择“配置”,设置“标签”为“拒单”,再单击“新增行”,拖拽变量“status”到“资源”下,设置“比较符”为“==”,“值”为“"拒单"”。
图23 选中排他网关图元连线图24 配置“拒单”连线
- 选择“排他网关”图元与“维修人员关单”图元之间的连线,参考上一步,设置连线,设置“标签”为“接单”,再单击“新增行”,拖拽变量“status”到“资源”下,设置“比较符”为“==”,“值”为“"接单"”。
图25 配置“接单”连线
- 选中“派单员派单”与“排他网关”之间的连线,单击鼠标右键,选择“配置”,设置“标签”为“拒单”,再单击“新增行”,拖拽变量“status”到“资源”下,设置“比较符”为“==”,“值”为“"拒单"”。
- 单击页面上方的
,再单击
,启用BPM。