工作流项目:介绍,应用场景,工作流体系设计,用户体系设计
工作流介绍
是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表达并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。
工作流引擎
所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括流程的节点管理、流向管理、流程样例管理等重要功能。
参考:
一个适合于.NET Core的超轻量级工作流引擎:Workflow-Core
.Net 三款工作流引擎比较:WWF、netBPM 和 ccflow
elsa-core:
- git地址,将推出blazor前端版
JadeFramework:作者博客地址 、github地址
个人理解
工作流引擎相当于一个中央处理器 / CPU,可以接受不同的流程、角色、用户、资源等,且根据不同的情况去驱动不同的流程,一步一步去实现不同的流程节点。
工作流体系
流程与设计
流程由多个节点组成,每个节点设计到不同的操作用户,每个节点处理后调到下一个节点
流程表单
流程表单就是流程自定义字段,能够自定义各种各样的流程,以达到通用流程效果。一般用富文本编辑器
例如请假流程
- 请假天数
- 请假人
- 原因
- 请假事由
- 状态
- 假期类型
- 职位信息
流程类型
流程分组,例如
- 请假流程
- 采购流程
- 借款流程
- 其他各种审批流程
流程实例(流程细节)--重点
例如请假流程,虽然全公司公用一个流程,但是每个员工的部门权限、请假类型、请假天数都不一行,然后审批流程的节点长度也不一样,例如3天主管审批就行,10天需要经理审批
流程实例操作
就是操作对象,每一节点审批人是谁
流程实例流转
记录流程处理进度状态。
当前节点处理完后,转到下一节点,就是记录已经处理的节点状态,下一个节点该谁处理了。
用户体系
用户
角色
角色资源
一般是菜单和按钮,
用户部门
用户分组
工作流实现技术
- aspnet core3.1
- mvc 3.1
- Areas(区域):参考: 官方文档ASP.NET Core 中的区域Areas、.net core创建区域(Areas)的使用、ASP.NET Core MVC中Area的使用
- AutoMapper: 对象映射器,可以将一个对象映射到另一个对象
- CAP.RabbitMQ:消息队列
- JadeFramework:一个.NET集成框架,作者定义为:一些常用的帮助类、扩展方法包
- 集成了好多常用技术
SignalR: 实时通讯类库
- 集成了好多常用技术
- 参考: 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 工作流实例
- Sys(系统):
- 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(工作流实例服务【核心】)
- WorkFlowInstanceService(工作流实例服务【核心】)
- Views(视图/页面)
作者:日积月累码农
如有错误,欢迎您指出。
本文版权归作者和博客园共有,欢迎转载,但必须在文章页面给出原文链接,否则保留追究法律责任的权利。
本文版权归作者和博客园共有,欢迎转载,但必须在文章页面给出原文链接,否则保留追究法律责任的权利。