工作流项目:介绍,应用场景,工作流体系设计,用户体系设计

 工作流介绍

是对工作流程及其各操作步骤之间业务规则抽象、概括描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表达并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。

工作流引擎

所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括流程的节点管理、流向管理、流程样例管理等重要功能。

参考:

工作流引擎--百度百科

一个适合于.NET Core的超轻量级工作流引擎:Workflow-Core

.Net 三款工作流引擎比较:WWF、netBPM 和 ccflow

ABP+WorkflowCore+jsplumb实现工作流

elsa-core:

 JadeFramework:作者博客地址 、github地址

 个人理解

工作流引擎相当于一个中央处理器 / CPU,可以接受不同的流程、角色、用户、资源等,且根据不同的情况去驱动不同的流程,一步一步去实现不同的流程节点。

工作流体系

流程与设计

流程由多个节点组成,每个节点设计到不同的操作用户,每个节点处理后调到下一个节点

流程表单

流程表单就是流程自定义字段,能够自定义各种各样的流程,以达到通用流程效果。一般用富文本编辑器

例如请假流程

  • 请假天数
  • 请假人
  • 原因
  • 请假事由
  • 状态
  • 假期类型
  • 职位信息

流程类型

流程分组,例如

  • 请假流程
  • 采购流程
  • 借款流程
  • 其他各种审批流程

流程实例(流程细节)--重点

例如请假流程,虽然全公司公用一个流程,但是每个员工的部门权限、请假类型、请假天数都不一行,然后审批流程的节点长度也不一样,例如3天主管审批就行,10天需要经理审批

流程实例操作

就是操作对象,每一节点审批人是谁

流程实例流转

记录流程处理进度状态。

当前节点处理完后,转到下一节点,就是记录已经处理的节点状态,下一个节点该谁处理了。

用户体系

用户

角色

角色资源

一般是菜单和按钮,

用户部门

用户分组

工作流实现技术

  • CAP.RabbitMQ:消息队列
  • JadeFramework:一个.NET集成框架,作者定义为:一些常用的帮助类、扩展方法包
    • 集成了好多常用技术
  • SignalR: 实时通讯类库 
  • mysql 5.7 :数据库
  • Repository + Service :服务仓储层
  • IRepository + IService :服务仓储接口层
  • Dto:数据传输对象
  • sql脚本模板?
  • 前端
    • summernote: 富文本编辑器
    • GooFlow: 流程设计工具
    • jQuery
    • layui:前端 UI 框架,官网地址 

项目结构说明:

  • Areas(区域):cshtml 页面
    • Sys(系统):
      • Dept 部门
      • Plugin 插件  
      • Resource 资源
      • Role 角色
      • System 系统
      • User 用户
    • WF(工作流)
      • Category 分类
      • Form 表单
      • WorkFlow 工作流
      • WorkFlowInstance 工作流实例
  • wwwroot:是 asp.net core默认的静态文件夹,可以直接引用
    • lib
    • src:与Areas(区域)的页面对应的JavaScript脚本
    • ui:
    • uploadfile
  • Components(组件)
  • Controllers(控制器)
  • Dtos(数据传输对象):提供给Services(服务)和 Infrastructure(基础设施)使用
  • Filters(过滤器)
    • 全局异常过滤器
  • Hubs(集线器)
  • Infrastructure(工具):
    • CodeStringBuild:代码生成器构建类
    • HtmlExtensions:HTML扩展
    • TokenClient:客户端令牌
    • VerificationCode:验证码
  • Models(数据库模型):与数据库表、字段对应
  • Repositories(仓储):提供数据局给 Services(服务),内含dapper的sql语句
  • Services(服务):提供数据给 Controllers(控制器)
    • WorkFlowInstanceService(工作流实例服务【核心】)
  • Views(视图/页面)
原文地址:https://www.cnblogs.com/qingyunye/p/13813260.html