前言
项目版本迭代中,小编分到了这样一个功能:新增按钮-配置审批流的业务对象在创建业务数据时,显示一个“保存并提交”的按钮,点击后数据正常保存、满足审批条件提交审批。小编在实现过程中,出现了一些业务实现方面的漏洞,并从中收获到一些开发中的经验。
需求理解开发
一、个人理解开发
1.预先创建“标准应用”按钮
//调用工具接口installApp,安装std应用的按钮
// 1.参数结构
{
"metaType": 1,
"appInfo": {
"name": "std",
"label":"标准"
},
"actions": [
{
"label": "保存并提交",
"icon": "ec7f",
"std": 0,
"action": "saveAndSubmit",
"type": 1,
"path": "",
"description": "保存并提交审批",
"disabled": 0,
"hasScope": 0,
"authRequired": 1,
"isPlugin": 1,
"filter": "",
"num": 80
}
],
"pluginButtons": [
{
"name": "saveAndSubmit",
"label": "保存并提交",
"action": "saveAndSubmit",
"icon": "ec7f",
"metaId": 0,
"description": "保存并提交审批",
"viewType": 0,
"disabled": 0,
"pageType": 4
}
]
}
// 2. 调用流程
//(1)安装权限 PApp查询已有记录审批流应用、PAppAction插入一条记录
//(2)安装插件按钮 PAppButton插入一条记录
2.配置审批流时,点击保存即可创建业务对象按钮
//调用接口installAppsByMetaId,业务对象安装std应用的所有按钮
// 1.安装业务对象的权限操作 saveMetaAction 查询PAppAction,获取按钮列表,PAction插入记录
// 2.安装业务对象的按钮 saveMetaButton 查询PAppButton,获取按钮列表,PMetaButton插入记录
// 3.保存业务对象与APP的对应关系记录 PMetaAppRef插入记录
3.旧接口提交审批,校验条件
// 调用旧接口getApprovalFlowComponent,增加字段resultMsg,
// 返回校验条件结果的信息
二、前后端技术方案讨论后调整
1.预先创建“审批流应用”按钮(调整)
// 创建审批流应用按钮-调整按钮安装的应用名称,即可(安装流程同上)