在线案例

我们提供了一些示例流程,方便第一次 了解 AgileBPM 的朋友尽快掌握一些实施技巧
可以访问在线 test环境,或者复制只读 demo数据库 : new_1
47.106.140.247:3306/new_1 public/public

业务对象案例

业务对象支持 任意数据结构,N 层,基本上常见业务需求均能实现!

一对一关系业务对象特殊【案例】

如: 订单 - 客户 表如下:
order 表字段: id , name , no , customerId
customer 表字段: id ,name , phone , address ….

我们希望 订单表单展示很多 客户信息,并且在某些节点需要修改客户信息 如何配置业务对象呢?

  1. order 作为主表, customer 作为 子表
  2. 关系类型:【一对一】
  3. 外键配置:【customer表的ID - 子表字段对应父实例外键 - order 表的 customerId 】

注:外键对应的字段不一定是主键,也可以是某个唯一字段,比如 订单编号之类

外键配置

业务对象外键的配置尤为重要,在一对一关系中,为了适应更多场景,外键可以放在 主表中,也可以放在子表中
如上案例,外键在主表中,若外键在子表中则为 customer 表的 orderId - 子表外键对应父实例字段
但是一对多场景,外键必须在主表中!
而多对多 则通过中间表作为桥梁来连接,详细请看【订单客户多对多】 业务对象案例,也有对应的流程案例

表单案例

任意数据结构的业务对象均支持直接生成表单,并且支持自定义的样式模板,支持常见的表单控件、以及特殊场景的表单组件

表单函数计算【案例】

参考 报销申请 表单,表单涉及了
日期比较:显示日期可选范围的配置
日期计算:计算两个日期字段 相差天数、月数、小时、
函数统计: 计算子表某一列值的合计,统计子表所有字段的合计,总计,平均值等等

选择已存在的子表记录填充表单【案例】

以上面 一对一关系的订单客户为例,
订单通过对话框选择客户后,填充到表单中,我们不希望系统新增一条客户,那么怎么处理呢?

这时候就可以使用自定义对话框了,自定义对话框可以快速配置一个客户信息的数据来源,当我们选择客户信息后可以直接填充到表单对应的字段中(均配置形式实现)
然后这时候务必注意,返回值必须带上客户的ID
这样,流程提交后,关于这条子表数据会执行更新动作,而不是创建!

TAB 页表单【案例】

tab 页形式展示不同信息块,目前需要手动编辑源码实现,请参考 tab 页表单

流程案例

一切功能皆插件,我们写的不是代码,而是技术

流程表单权限灵活运用【案例】

请参考 “demo” 流程 ,该流程展示了不同节点 字段级的权限控制,请注意每个节点表单,以及表单权限的配置情况!

流程分支复杂场景【案例】

请参考 “行政采购三方比价” 流程,该流程已经将分支运用的淋漓尽致了,

  • 不同意见的分支判断 : 部门审核节点后的分支
  • 业务数据判断分支走向 :大多分支均使用这种形式决策走向。

URL 表单 【案例】

请参考 URL表单 流程,该流程是以 demo模块为案例配置的,
使用demoEdit.html 为表单, DemoManagerImpl.saveDemoJson(ActionCmd actionCmd) 为表单处理器,详情 可以自行查看源码

请注意案例流程表单的配置情况,可以参考 流程配置一文中关于 url表单的描述

补充

如果有比较针对性的场景的案例、可以提出需求,我们来更新该文档、以及案例库!