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

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

页面(功能项)表为用户权限配置的时候提供可选参数,为系统配置提供服务。而权限表是具体的用户权限设置。为控制用户权限服务;

2,工作流数据库设计:
也就是说,系统自身实现简单实用的工作流引擎而非采用比如wwf等的workflow enginee:

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

考虑到系统的定位。没有采用基于“岗位流转”的工作流设计,而采用了基于“人员流转”的工作流设计。

OA系统启动:基础数据,工作流设计的更多相关文章

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

    原文:http://www.cnblogs.com/kwklover/archive/2007/01/13/bpoweroa_03_baseandworkflowdesign.html自从开源OA系统 ...

  2. 【原创】C#搭建足球赛事资料库与预测平台(3) 基础数据表设计

            本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 开源C#彩票数据资料库系列文章总目录:http://www.cn ...

  3. 通达OA 小飞鱼老师OA工作流设计课程教学网络公开课之HTML基础(一)

    通达OA网络教学公开课開始了.有须要的小伙伴们抓住机会奥. 8月29号晚8点不见不散.本次课程的主要内容是通达OA工作流设计课程中须要用到的Html部分学习. 帮忙转发的朋友加送一节VIP课程.

  4. PowerDotNet平台化软件架构设计与实现系列(01):基础数据平台

    本系列我将主要通过图片和少许文字讲解通过个人自研的PowerDotNet进行快速开发平台化软件产品. PowerDotNet不仅仅是包含像Newtonsoft.Json.Dapper.Quartz.R ...

  5. Winform开发框架之简易工作流设计

    一讲到工作流,很多人第一反应就是这个东西很深奥,有时候又觉得离我们较为遥远,确实完善的工作流设计很多方面,而正是由于需要兼顾很多方面,一般通用的工作流都难做到尽善尽美.微软也提供了几个版本的WF框架支 ...

  6. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(43)-工作流设计-字段分类设计

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(43)-工作流设计-字段分类设计 系列目录 建立好42节的表之后,每个字段英文表示都是有意义的说明.先建立 ...

  7. Winform开发框架之简易工作流设计(转自 伍华聪博客)

    Winform开发框架之简易工作流设计 一讲到工作流,很多人第一反应就是这个东西很深奥,有时候又觉得离我们较为遥远,确实完善的工作流设计很多方面,而正是由于需要兼顾很多方面,一般通用的工作流都难做到尽 ...

  8. Hello!OA!Hello!工作流!寻找OA和工作流的旅途记录

    最近新到了一家公司,这家公司做的人力资源管理,需要一个OA系统,所以就让我做一个选型,经过我2周时间的筛选,试用,沟通,测试,最终确定了几款,这个艰辛的路程,在这里记录一下~ 寻找OA的路程----- ...

  9. 【开源】OSharp框架解说系列(5.1):EntityFramework数据层设计

    OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...

随机推荐

  1. [ 转载 ] Java基础13--equals方法

    一.equals方法介绍 1.1.通过下面的例子掌握equals的用法 1 package cn.galc.test; 2 3 public class TestEquals { 4 public s ...

  2. 关于django Class-based views的理解

    django是mvt模式,其中v就是这个显示逻辑部分,简单来讲,view函数可以说是接收request,然后处理,返回response的主体函数. 对于一些简单的逻辑关系,可以用直接用函数模式来进行处 ...

  3. [转]Android Message.obtain() 和Handler.obtainMessage()的区别

        目录(?)[+]   参考:http://www.2cto.com/kf/201311/255885.html http://www.cnblogs.com/over140/archive/2 ...

  4. Codeforces Round #355 (Div. 2) B. Vanya and Food Processor 水题

    B. Vanya and Food Processor 题目连接: http://www.codeforces.com/contest/677/problem/B Description Vanya ...

  5. JAVA读入挂

    队友扒的uwi的读入挂,非常强,再也不用担心java比C++慢了-- import java.util.*; import java.math.*; import java.io.ByteArrayI ...

  6. IEEE Bigger系列题解

    Bigger系列题解 Bigger Python 坑点在于要高精度以及表达式求值,用java写可以很容易避免高精度问题 然后这道题就可以AC了 代码 import java.io.*; import ...

  7. Uva 5002 - The Queue DFS

    On some special occasions Nadia’s company provide very special lunch for all employees of the compan ...

  8. Vue集成腾讯地图和几何库

    关于Vue中如何引入腾讯地图,百度搜索中的结果已经非常明确: /** * 腾讯地图. * @param key * @returns {Promise<any>} * @construct ...

  9. GCC 4.9.0 公布,提升 C++11 和 C++14 特性

    from :http://www.oschina.net/news/51084/gcc-4-9-0 GCC 4.9.0 公布,此版本号是个主要版本号更新,包含了 GCC 4.8.x 系列和之前的 GC ...

  10. 初识云计算的三种服务模式 (IaaS SaaS PaaS)

    近期公司在使用其它云服务的同一时候.要封装自己的云服务,以下作为开发产品前的热身.来了解云计算中的三种服务模式,笔者也是从网络上查找,进行综合总结.请拍.. 三种服务模式 依据如今最经常使用.也就是比 ...