OA系统启动:基础数据,工作流设计

自从开源OA系统启动:系统概览放 出来后。园友们反馈了一些不错的建议。主要集中在工作流部分。本来是先不考虑工作流部分。这些天的交流和思考。决定把工作流部分作为系统基础结构贯穿整个 系统。所以先考虑了这个部分的设计,因为这部分的设计是否合理关系到整个系统是否可以继续和是否有实际价值的问题。自己不敢独断专行。特放出来。让大家拍 拍砖。期待各位园友一如即往提供专业意见! 本来打算用尝试用MindManager画个思维导向图的,不过down了N久都没down下来,也就做罢了。 1,基础部分数据库设计。

下面说一下"页面(功能项)表"的设计,因为其他的比较简单。通过关系图已经可以完整表达我的设计意图: 我这样设计是希望系统具有一定的自定义组装能力,所以把设计的权限控制粒度细到页面级的添,删,改,查的和局部的用户级,抽出页面(功能项)表解释下,    1),启用审批流程:页面(基本等同于一个具体功能项,或者代表某项业务需求,下同),这个功能项是否需要进入审批流程;如果设置“是”则需要自定义相应的工作流程(下面会讲到);    2),启用填加控制:这个设置决定在配置用户权限的时候的细化程度。如果为“启用”,则在配置用户权限的时候,可以控制改功能项那些用户可以填加,那些不 可以。反之。则所有用户均可以。当然该用户必须具有功能项级的权限。其他的。启用修改,版本控制,浏览,删除等类似;    3),仅自己:这个选项对启用填加,修改,浏览,删除控制均有影响。如果为“是”,则在配置用户权限的时候,可以附加选项“仅自己”,如果配置用户权限的时候“仅自己”为“是”,那么该用户只能修改,编辑,删除,浏览自己填加的数据,反之。则无限制。 页面(功能项)表为用户权限配置的时候提供可选参数,为系统配置提供服务。而权限表是具体的用户权限设置。为控制用户权限服务; 2,工作流数据库设计: 也就是说,系统自身实现简单实用的工作流引擎而非采用比如wwf等的workflow enginee:

工 作流部分基于功能项和节点的组合。如果功能项(页面)被配置为启用审批流程。那么需要设置相应的自定义流程。多个“节点”构成一个完整的流程。节点的前后 顺序结构在数据库设计中以“树结构”来体现。每个“节点”可配置多个相关人员。通过“是否需全体通过”来控制该流程节点等待所有人员都审批通过才进入下一 节点。还是只需要其中审批通过就进入下一节点。 考虑到系统的定位。没有采用基于“岗位流转”的工作流设计,而采用了基于“人员流转”的工作流设计。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

一种快速安装InnoDB Cluster的方法

InnoDB Cluster推出以来,很多人都想尝尝鲜,但是发现事情没有那么简单,MGR还没玩好,一看InnoDB Cluster的三大件MySQL Shell...

3616
来自专栏CDA数据分析师

海纳百川 有容乃大:SparkR与Docker的机器学习实战

? 题图为美国尼米兹核动力航空母舰 介 绍 大数据时代,我们常常面对海量数据而头疼。作为学统计出身的人,我们想折腾大数据但又不想学习Hadoop或者Java,...

1846
来自专栏安富莱嵌入式技术分享

【安富莱专题教程第6期】SEGGER的J-Scope波形上位机软件,RTT模式波形上传速度可狂飙到500KB/S左右

说明: 1、在实际项目中,很多时候,我们需要将传感器或者ADC的数值以波形的形式显示。通常的解决办法是用串口上位机,USB接口上位机或者MDK的逻辑分析仪功能,...

443
来自专栏Java社区

【五一福利】Java程序员编程学习之路资源合集

1203
来自专栏成猿之路

Linux基础知识

1144
来自专栏腾讯移动品质中心TMQ的专栏

利用线上数据提升移动app质量

1 线上数据测试模型 1.1背景 随着移动互联网的发展,移动app质量要求越来越高,传统行业质量的保证方式是测试人员在app开发过程中进行阶段性的测试,这种测...

18910
来自专栏机器之心

业界 | 微信团队开源围棋AI技术PhoenixGo,复现AlphaGo Zero论文

2244
来自专栏腾讯移动品质中心TMQ的专栏

性能自动化充电、断电之痛​——小松鼠的救赎之路

起因 去年刚来公司,我便接手了腾讯LB这款App的性能测试工作。 当时的性能测试的需求是,采集腾讯LB在“前台导航”“后台导航”等数个场景下的...

1819
来自专栏北京马哥教育

Linux运维工程师必学必备的8项IT技能

成长一名Linux工程师之后,才知道一路走来,背后的心酸。非常感谢支持我的同伴与老师,是你们鼓励我,坚持到底,才在这个行业立足。 如果你在学习Linux,那么强...

2463
来自专栏ImportSource

Docker架构里那些名字背后的秘密

Docker作为一个linux平台上一款轻量级虚拟化容器的管理引擎。在短短的两三年内火得不得了。人人都在说docker,大大小小的容器summit。 Docke...

3315

扫描关注云+社区