Skip to main content

报销申请——开发平台配置

通过开发平台,进行【案例-报销申请】配置。

案例下载

1. 背景说明

在本案例中,结合开发规范,按照业务功能分离成三个构件。

img

构件编码构件名称业务分类作用
(1)ydg_common_action_lib流程公共_业务动作库业务动作库① 定义业务动作
② 生成业务动作模版
(2)ydg_reimburse_db报销申请_DB数据库构件① 定义数据表
② 初始化基础数据
③ 输出数据表保存、删除、修改方法
(3)ydg_reimburse_pc报销申请_PC业务构件① 日常业务表单

2. 业务动作库构件

构件编码构件名称业务分类作用
ydg_common_action_lib流程公共_业务动作库业务动作库① 定义业务动作
② 生成业务动作模版

2.1 创建业务动作

1. 在构件目录中,打开【业务动作】选项,根据需求自定义业务动作。

动作类型有两种,分别是:通用动作、流程动作。

流程动作,主要用于流程框架菜单。在本案例中,选择通用动作,主题是动作的显示颜色,根据需要进行选择。

img

2. 选择新建的业务动作,右击选择“新建业务动作扩展点”,创建业务动作扩展点 。

img

3. 在业务动作中,新增执行方法规则,在执行方法中执行对应的EP扩展点。

img

4. 若是无需回调业务窗体逻辑,无需建立EP扩展,比如“取消”动作,处理退出窗体逻辑即可。

img

info
  1. 业务动作编码、名称,及业务动作扩展实现编码、名称,参照开发规范。
  2. 业务动作定义,可以按实际业务添加,及配置相关逻辑。

2.2 生成业务动作模版

右击构件,选中 '生成业务动作模板' 选项,生成业务动作模版。

img

img

生成业务动作模版后,在模版样式 -> 业务动作模版库,可以查看自定义模版,以及已安装的模版。

img

img

将该模板构件部署到云空间,发布后项目的其他人员更新了云空间,会自动更新或者安装该构件模板。

img

2.3 部署构件

  • 云项目:发布到云空间。
  • 本地项目:部署到本地测试服务。

3. 创建数据库构件

构件编码构件名称业务分类作用
ydg_reimburse_db报销申请_DB数据库构件① 定义数据表
② 初始化基础数据
③ 输出数据表保存、删除、修改方法

3.1 添加引用

报销申请_DB构件中,添加 '登录构件' 引用,用于获取当前登录用户信息,赋值给人员相关字段。

添加引用作用
LoginComp(登录构件)主要用于获取当前登录用户信息赋值给表相关系统和业务字段
userName:用户名称
userId:用户Id
orgName:机构名称
orgId:机构Id

在当前构件【引用】文件夹下,右键“增加引用”,依次选择LoginComp(登录构件)vbase_workflow_facade(VBase_流程管理)构件添加至引用,确定即可。

引用方法的具体使用:参考流程常用方法-方法信息

img

3.2 创建表

在当前构件【表】文件夹下新建目录【报销申请】,根据原型设计数据库表,1个报销单包含任意多个报销明细,所以在设计数据库为1对多关系(主从表结构)。

命名规范:

表编码表名称导入固定字段
reimburse_main报销申请_主表01主表固定字段.xls
reimburse_detail报销申请_从表02从表固定字段.xls
reimburse_file报销申请_附件表02从表固定字段.xls

img

业务字段与数据库设计:

根据原型图定义报销申请的业务字段(排除重复的固定字段)并进行数据库设计,如果不能满足需求,再做修改或新增字段。

  • 报销申请_主表(reimburse_main)

    img

  • 报销申请_从表(reimburse_detail)

    img

  • 报销申请_附件表(reimburse_file)

    img

3.3 创建服务端方法

在当前构件【构件方法】文件夹下新建目录【报销申请】,根据需求定义服务端方法。

img

3.4 创建服务端方法——从表

命名规范:

方法编码方法名称添加到构件输出
saveReimburseDetail保存报销申请从表
deleteReimburseDetail删除报销申请从表

配置视频:

详细配置:

1. 保存报销申请从表(saveReimburseDetail

编码名称类型描述
reimburseDetail报销申请从表实体实体字段,引入对应的表字段。

2. 删除报销申请从表(deleteReimburseDetail

编码名称类型初始值必须描述
ids数据Ids文本Id 与 MainId 必填一项,同时存在将分开删除,多个Id用英文逗号隔开
mainId主表Ids文本Id 与 MainId 必填一项,同时存在将分开删除,多个Id用英文逗号隔开
isDelete是否删除布尔True

3.5 创建服务端方法——附件表

命名规范:

方法编码方法名称添加到构件输出
saveReimburseFile保存报销申请附件表
deleteReimburseFile删除报销申请附件表

配置视频:

详细配置:

1. 保存报销申请附件表(saveReimburseDetail

编码名称类型描述
reimburseFile报销申请附件表实体实体字段,引入对应的表字段。

2. 删除报销申请附件表(deleteReimburseDetail

编码名称类型初始值必须描述
ids数据Ids文本Id 与 MainId 必填一项,同时存在将分开删除,多个Id用英文逗号隔开
mainId主表Ids文本Id 与 MainId 必填一项,同时存在将分开删除,多个Id用英文逗号隔开
isDelete是否删除布尔True

3.6 创建服务端方法——主表

命名规范:

方法编码方法名称添加到构件输出
saveReimburseMain保存报销申请主表
deleteReimburseMain删除报销申请主表
updateReimburseMainBizStatus修改报销申请主表业务状态

配置视频:

详细配置:

1. 保存报销申请主表(saveReimburseMain

编码名称类型描述
reimburseMain报销申请主表实体实体字段,引入对应的表字段。
reimburseDetail报销申请从表实体实体字段,引入对应的表字段。
reimburseFile报销申请附件表实体实体字段,引入对应的表字段。

2. 删除报销申请主表(deleteReimburseMain

编码名称类型初始值必须描述
ids数据Ids文本
isDelete是否删除布尔True

3. 修改报销申请主表业务状态(updateReimburseMainBizStatus

编码名称类型初始值必须描述
ids数据Ids文本#bizId多个Id用英文逗号隔开
bizStatusCode状态编码文本"B"T-1\编制;B\1\审批中;E-9\审批不通过;F\9\审批通过;C\0\已作废;A\8\修订中;R\2\退回
bizStatus状态文本"审批中"T-1\编制;B\1\审批中;E-9\审批不通过;F\9\审批通过;C\0\已作废;A\8\修订中;R\2\退回

4. 修改报销申请主表报销金额(updateReimburseMainReimburseAmt

编码名称类型必须描述
ids数据Ids文本多个Id用英文逗号隔开
reimburseAmt报销金额(元)小数

3.7 服务端方式输出

数据库表构件(DB构件)定义的服务端方法一般需要设置输出,用于在业务构件(PC构件)添加DB构件引用后,业务构件(PC构件)窗体可以执行该服务端方法。

方法一:

img

方法二:

img

3.8 部署构件

  • 云项目:发布到云空间
  • 本地项目:部署到本地

4. 创建业务构件

构件编码构件名称业务分类作用
ydg_reimburse_pc报销申请_PC业务构件① 日常业务表单

4.1 添加引用

报销申请_pc构件中,根据需求,添加相关引用。

报销申请_DB构件中,添加 '登录构件' 引用,用于获取当前登录用户信息,赋值给人员相关字段。

添加引用作用
ydg_common_action_lib(流程公共_业务动作库)主要用于【报销申请】编辑窗体导入业务动作,并且设置业务动作构件服务映射。
ydg_reimburse_db(报销申请_DB)主要用于业务构件窗体执行主表、从表、附件表的保存和删除方法。
LoginComp(登录构件)主要用于获取当前登录用户信息赋值给表相关系统和业务字段
(例如:申请人、新增人、修改人相关字段)
userName:用户名称
userId:用户Id
orgName:机构名称
orgId:机构Id
vbase_organization_facade(VBase_组织机构)主要用于获取人员信息赋值给表对应的领款人字段。
vbase_prd_workflow(vbase_产品化流程管理)必须添加,配置流程启动时需要使用。
例如:打开 "流程应用" 窗体启动流程,该窗体在vbase_prd_workflow(vbase_产品化流程管理)构件中。
vbase_prdbizframe(vbase_产品化)主要用于触发业务框架动作数据变化(例如:设置业务框架按钮使能、显示等)

引用方法的具体使用:参考流程常用方法-方法信息

img

本地项目:从当前项目选中添加引用构件。

云项目:可以直接添加引用。

4.2 更新引用

如果被引用构件进行了修改并重新部署,那么当前的引用构件需要执行【更新引用】操作。

例如:修改了ydg_reimburse_db构件并重新部署,那么在ydg_reimburse_pc的引用中选中ydg_reimburse_db构件执行【更新引用】操作。

img

4.3 创建查询

在业务构件(报销申请_PC)创建查询前,需要将数据库构件(报销申请_DB)先部署到服务,否则创建查询后,预览会失败。

查询编码查询名称查询类型
getReimburseMain获取报销申请主表VSql
SELECT *
FROM toone_reimburse_db.reimburse_main
WHERE IsDelete <> 1
ORDER BY bizCode DESC

4.4 窗体定义

在当前构件【窗体】文件夹下新建目录【报销申请】,根据原型新增窗体。

命名规范:

窗体编码窗体名称
form_reimburse_list报销申请列表
form_reimburse_edit报销申请编辑
form_reimburse_report报销申请单

4.5 【报销申请列表】窗体

私有编码名称类型初始值描述
currentWindowInstanceCode当前窗体实例编码文本主要用于主页面编辑、查看数据时打开编辑窗体进行传参
isEditData编辑数据标识布尔false用于判断编辑窗体是否编辑了数据,主页面根据返回值为true刷新数据

4.6 【报销申请编辑】窗体

方法一:在新增窗体时,直接添加业务动作:

img

方法二:新建窗体后,右击选择导入业务动作操作:

img

img

导入后,在窗体方法中,会有对应的业务动作扩展实现:

img

4.7 【报销申请单】窗体

编码名称类型初始值描述
mainId主表Id文本主要用于主页面编辑、查看数据时打开编辑窗体进行传参

4.8 报表配置

img

配置视频:

4.9 业务单据实例配置

命名规范:

业务单据实例编码菜单名称
form_reimburse_edit报销申请编辑

在【报销申请编辑】窗体导入了业务动作后,当【报销申请列表】进行新增、编辑、查看操作时 ,配置”打开业务框架“规则,打开【报销申请编辑】业务单据实例,而不是【报销申请编辑】窗体。

img

4.10 构件服务映射

在窗体方法配置中,如果添加业务动作、流程方法等扩展实现,需要进行构件服务映射操作。

在本案例中,【报销申请编辑】窗体导入了业务动作,会生成对应业务动作的扩展实现,同时会自动匹配勾选构件服务映射。

若窗体通过拷贝,构件服务映射不会自动勾选,需要自行勾选。

img

4.11 构件菜单配置

命名规范:

菜单编码菜单名称
menu_reimburse_list报销申请

在当前构件打开【构件菜单】,根据需求新增菜单。

img

4.12 部署构件

  • 云项目:发布到云空间
  • 本地项目:部署到本地