业务创建实例流程

 

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": []
      }
    ]
  }
]
View Code

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】。

    逻辑处理

    无。

 

posted @ 2021-05-25 19:21  佩奇giser  阅读(1495)  评论(1编辑  收藏  举报