1范围
1.1范围
1.2系统概述
系统应用于需要通过流程来管理的业务。系统架构采用前后端分离,前端采用Vue、后端采用.net 5+workflow core作为技术栈。系统第一版本预定5月31日开发完成第一个pre版。项目应用于互联网端需要采用工作流管理业务的场景。系统定位6月7日正式上线。
其他系统相关文档:
后续开发时间表:
1.3文档概述
本文档用于小组内部技术沟通及前期项目了解,本文档密级为公开,后续详细完善的详细文档为保密。
2引用文档
4接口设计
4.1流程管理
4.1.1查询全部流程模板
接口描述
查询所有流程模板,用于创建流程使用,唯一标识:A001_001。
请求参数描述
null。
接口描述
返回参数
[ { "version": 1, "title": "企业用户注册", "limitTime": null, "wkDefinitionState": 1, "icon": "icon.jpg", "color": "red", "groupId": null, "discription": "用于互联网+企业用户注册", "sortNumber": 0, "tenantId": null, "nodes": [ { "wkStepBodyId": null, "wkDefinitionId": "b0e8c180-c536-4828-2344-39fce340c989", "name": "Start", "displayName": "开始", "stepNodeType": 1, "version": 1, "limitTime": null, "stepBody": null, "position": [], "nodeFormType": 1, "applicationForms": [], "nextNodes": [ { "label": "", "nextNodeName": "Receive", "wkConNodeConditions": [] } ], "wkCandidates": [] }, { "wkStepBodyId": "6e8ecc45-598f-007a-eae1-39fce3403e48", "wkDefinitionId": "b0e8c180-c536-4828-2344-39fce340c989", "name": "Receive", "displayName": "收件受理", "stepNodeType": 2, "version": 1, "limitTime": null, "stepBody": { "name": "FixedUserAudit", "displayName": "指定用户审核", "inputs": [ { "wkNodeId": "6e8ecc45-598f-007a-eae1-39fce3403e48", "key": "Candidates", "stepBodyParaType": 0, "name": "Candidates", "displayName": "审核人", "value": "data.Candidates" }, { "wkNodeId": "6e8ecc45-598f-007a-eae1-39fce3403e48", "key": "DecideBranching", "stepBodyParaType": 1, "name": "DecideBranching", "displayName": "审核人", "value": "step.DecideBranching" } ], "typeFullName": "Hx.Workflow.Application.StepBodys.GeneralAuditingStepBody", "assemblyFullName": "Hx.Workflow.Application, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" }, "position": [], "nodeFormType": 1, "applicationForms": [], "nextNodes": [ { "label": "", "nextNodeName": "PrimaryAudit", "wkConNodeConditions": [] } ], "wkCandidates": [] }, { "wkStepBodyId": "6e8ecc45-598f-007a-eae1-39fce3403e48", "wkDefinitionId": "b0e8c180-c536-4828-2344-39fce340c989", "name": "PrimaryAudit", "displayName": "审核", "stepNodeType": 2, "version": 1, "limitTime": null, "stepBody": { "name": "FixedUserAudit", "displayName": "指定用户审核", "inputs": [ { "wkNodeId": "6e8ecc45-598f-007a-eae1-39fce3403e48", "key": "Candidates", "stepBodyParaType": 0, "name": "Candidates", "displayName": "审核人", "value": "data.Candidates" }, { "wkNodeId": "6e8ecc45-598f-007a-eae1-39fce3403e48", "key": "DecideBranching", "stepBodyParaType": 1, "name": "DecideBranching", "displayName": "审核人", "value": "step.DecideBranching" } ], "typeFullName": "Hx.Workflow.Application.StepBodys.GeneralAuditingStepBody", "assemblyFullName": "Hx.Workflow.Application, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" }, "position": [], "nodeFormType": 1, "applicationForms": [], "nextNodes": [ { "label": "", "nextNodeName": "Receive", "wkConNodeConditions": [ { "field": "DecideBranching", "operator": "==", "value": "BackOff" } ] }, { "label": "", "nextNodeName": "End", "wkConNodeConditions": [ { "field": "DecideBranching", "operator": "==", "value": "Submit" } ] } ], "wkCandidates": [] }, { "wkStepBodyId": null, "wkDefinitionId": "b0e8c180-c536-4828-2344-39fce340c989", "name": "End", "displayName": "结束", "stepNodeType": 3, "version": 1, "limitTime": null, "stepBody": null, "position": [], "nodeFormType": 1, "applicationForms": [], "nextNodes": [], "wkCandidates": [] } ] } ]
4.1.2创建实例
接口概述
创建流程模板,唯一标识:A001_002。
请求参数描述
流程模板参数:inputs,DecideBranching控制流程流转,当DecideBranching值为BackOff则表示回退,当DecideBranching值为Submit表示提交;参数Remark为审核意见。
{ "id": "fa20498b-863f-4877-8379-39fc7d7ebb55", "version": 1, "inputs": { "UserId": "e3a824ed-e27f-1335-ac16-39fc677255bf", "DecideBranching": "" } }
接口描述
返回参数
204,null。
5详细设计
5.1流程管理
5.1.1概述
用户查询出定义好的流程,并选择需要办理的业务,在一些业务中还可能需要预先查询及填写业务信息才可以创建流程,最后创建流程。
5.1.2查询并流程模板
概述
查询已经创建好的流程模板,如果流程模板数量很少使用列表项显示,如果层级很多通过扩展项或树来显示,供用户选择。
限制
仅当拥有创建流程的权限时显示查询按钮或列表。
接收及输入数据
输入数据为空,接收流程模板对象列表,流程模板对象包括:名称、显示名称、唯一标识【接口:A001_001】。
逻辑处理
选择并确定后进入流程步骤编辑及流转页面【接口:A001_002】。
5.1.3流程步骤编辑及流转
概述
流程步骤编辑及流转分为公共区域与表单区域。
公共区域是与工作流关联的部分,包括对当前步骤数据(流程数据及表单数据)的保存,提交到下一环节,退回上一步,打印流程相关表单,转交予其他同等权限人员办理,及流程生命周期查看。
表单区域是具体业务的体现,根据不同的业务定义不同的表单,通过流程模板定义时传入的内容动态显示表单区域。
限制
流程开始、结束步骤不能退回。
如创建流程时无外部查询及填写信息则开始步骤必须可以编辑表单内容。
流程结束环节不能编辑表单。
流程中间步骤视具体业务决定是否可以编辑表单。
流程提交及退回需要填写审批意见,视业务可以提供默认审批意见(如提交申请,没有申请意见)。
接收及输入数据
保存:保存表单信息及审批意见(如存在审批意见)【接口:A001_003】。
提交:业务数据保存【由业务表单提供回调】,查询可提交人【接口:A001_004】,选择并确认后提交到下一步骤【接口:A001_005】。
退回:退回到上一步骤【接口:A001_006】。
打印:查询步骤中保存的表单列表【接口:A001_007】,并提供打印功能。
流程查看:查询流程步骤详细信息【接口:A001_008】。
转办:查询并显示可转办人员【接口:A001_009】,选择并确定后转办到其他办理人员【接口:A001_010】。
逻辑处理
流程被挂起、作废时禁止操作流程环节,流程重新开始恢复流程操作。
5.1.4挂起流程
概述
挂起流程实例。
限制
仅对还在办理中的流程进行挂起,不能挂起已完成、已挂起的流程。
接收及输入数据
查询已挂起流程实例,分页展示所有,按查询条件查询【接口:A001_011】。
挂起已选择的流程实例(可批量选择)【接口:A001_012】。
解挂流程实例【接口:A001_013】。
逻辑处理
挂起流程实例解挂激活后重新进入在办流程实例,可以进行后续业务办理。
5.1.5作废流程
概述
作废流程实例。
限制
对还在办理中的流程实例、挂起流程实例进行挂起。
接收及输入数据
查询已挂起流程实例,分页展示所有,按查询条件查询【接口:A001_014】。
作废已选择的流程实例(可批量选择)【接口:A001_015】。
逻辑处理
作废流程实例不能再进行后续流程办理。
5.1.6进展查询
概述
查询流程进展情况。
限制
拥有权限的人员查询业务进展情况。
接收及输入数据
查询流程实例,分页展示所有,按查询条件查询【接口:A001_016】。
逻辑处理
无。