前言
学习使用12C
1.新建流程项目
1.0 打开JDV 12c IDE
1.1 点击 New > Application…
1.2 选择”BPM Application”
1.3 输入应用名称,以“App”为后缀即可
1.4 next
自定义命名:ProcurementOrderProcess
1.5 Finish
1.6 Asynchronous Service
此时会出现新建流程弹出框,输入流程名称,类型选择“Asynchronous Service”
1.7 点击“Finish”,流程模型项目创建完成
2.定义流程BO对象
流程图建好后,依次打开SOA->Schemas目录,右键选择“New”->”XML Schema”
注:第一次没有XML Schema选项卡,两种解决办法
- 在Schemas目录上Ctrl+N
- New的时候选择From Gallery
2.1 选择XML> XMLSchema>OK
2.3 新建 ProcessType.xsd
2.4 OK>打开 ProcessType.xsd
2.5 拷贝下列文件至processType.xsd
从已有的xsd文件中复制出schema结构到新建的processType.xsd文件中(也可以直接拷贝该xsd文件到Schemas目录下)
<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:fawjf="http://www.fawjf.com"
targetNamespace="http://www.fawjf.com" elementFormDefault="qualified">
<xsd:element name="inputParam" type="fawjf:InputType">
<xsd:annotation>
<xsd:documentation>A sample element</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="outputParam">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="instanceId" type="xsd:string" minOccurs="0"/>
<xsd:element name="resultFlag" type="xsd:string" minOccurs="0"/>
<xsd:element name="errorMsg" type="xsd:string" minOccurs="0"/>
<xsd:element name="outBusinessParam" type="fawjf:BusinessParamType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="InputType">
<xsd:sequence>
<xsd:element name="processParam" type="fawjf:ProcessParamType" minOccurs="0"/>
<xsd:element name="businessParam" type="fawjf:BusinessParamType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ProcessParamType">
<xsd:sequence>
<xsd:element name="processTitle" type="xsd:string" minOccurs="0"/>
<xsd:element name="processFormId" type="xsd:string" minOccurs="0"/>
<xsd:element name="processFormUrl" type="xsd:string" minOccurs="0"/>
<xsd:element name="processCreator" type="xsd:string" minOccurs="0"/>
<xsd:element name="processCreatorOrgCode" type="xsd:string" minOccurs="0"/>
<xsd:element name="processParam" type="xsd:string" minOccurs="0"/>
<xsd:element name="processCode" type="xsd:string" minOccurs="0"/>
<xsd:element name="processNextApprover" type="xsd:string" minOccurs="0"/>
<xsd:element name="processBusinessSysCode" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="humanTaskParam" type="fawjf:HumanTaskParamType"/>
<xsd:complexType name="HumanTaskParamType">
<xsd:sequence>
<xsd:element name="formTitle" type="xsd:string"/>
<xsd:element name="formId" type="xsd:string"/>
<xsd:element name="formUrl" type="xsd:string"/>
<xsd:element name="formParam" type="xsd:string"/>
<xsd:element name="formApprover" type="xsd:string"/>
<xsd:element name="formNextApprover" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="BusinessParamType">
<xsd:sequence>
<xsd:element name="customParams" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="key" type="xsd:string"/>
<xsd:attribute name="value" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
2.6 粘贴完后 Ctrl+S
不保存后续代码实现不了,建议之后把涉及修改的常按保存 😃
2.7 新建模块 Data
因为我新建了一个,所以重名
2.8 新建BO
在展开BPM->Business Componets目录,选择Data模块右键新建Business Object
总共需要定义4个BO对象:
- ProcessParamBO:流程通用参数对象,包括流程申主题、请人、申请人部门代码、表单ID等属性,基于ProcessType Schema新建;
- InputBO:流程发起参数对象,包括流程通用参数、流程业务参数两个子对象结构;
- ProcessBusinessParamBO:流程业务参数对象,定义流程特有的参数结构;
- OutputBO:流程返回参数对象,定义流程返回的参数结构;
2.8.1 ProcessParamBO
输入名字后,点击放大镜,选择模块,第三列打勾,点击放大镜,选择我们配置的对象
找不到对象就是因为你没按保存 😃
OK
新建一个的效果图
2.8.2 InputBO
之后的照猫画虎
效果图
2.8.3 OutputBO
效果图
2.8.4 ProcessBusinessParamBO 注意这个
2.8.4.1 创建只到第二步
2.8.4.2 OK>新建参数 departmentCode/projectCode
注:创建错了选中当前行点X
2.9 设置流程发起参数
导航栏双击ProcurementOrderProcess
在Start按钮这右键>Properties
点击“新建“参数图标,输入参数名称,类型选择浏览,在浏览窗口选择”InputBO”对象。
2.9.1 设置数据库映射 点击 Date Associations
2.9.2 在Date Object上右键 New 创建 proccessParamDO
2.9.3 同理 创建 ProcessBusinessParamDO
2.9.4 连线 processParam
设置输入参数input下的processParam 对应到流程变量processParamDO上。
2.9.5 processBusinessDO 变量
选中processBusinessDO变量,右键选中“XSL Transformation”;
从“Sources”列表中将 Input参数移动到“Selected”中,然后输入transformation名称:
OK>效果图
点OK关闭窗口
2.9.6 打开transformation文件,进行数据关系映射:连线
2.9.7 修改xpath表达式值,在@value前面加入
[@key='departmentCode']
2.10 更新流程实例和获取审批人
分别拖入两个DBAdapter服务到Composite中,用于更新流程实例和获取审批人:
后期熟悉就行 知道个大概会用
祝你幸福
送你一首歌:《She》Elvis Costello 电影《诺丁山》插曲
附图:《诺丁山》豆瓣7.9 1999