权限字典表
-------------------------------------
id    name权限审批表
-------------------------------------
id    uid   qx_id    flag_a   flag_b     flag_c用户申请什么权限,在权限审批表里增加一行记录,记录用户ID和所申请的权限ID,等待审批
每个主管有一个审批标志,谁审批了就把标志设为已审批标志,所有标志都为已审批标志的则改用户拥有该权限。

解决方案 »

  1.   

    非常感谢myvicy,
    你这个表中的标志位是有三个flag_a   flag_b     flag_c,也就是说这个流程的审批就有三个主管,
    如果是再增加一个主管变成四个呢?这时候应该怎么做?
    我现在面对的问题可能是要自定义流程,也就是有多少的主管审批是不知道的,象这种情况数据表应该
    怎么设计呢?
      

  2.   

    设权限字为"ABCD",则
    流程字为"A"表示已通过A审批
    流程字为"AB"表示已通过B审批
    流程字为"ABC"表示已通过C审批
    流程字为"ABCD"表示已通过D审批通常若流程字与权限字相等时表示全部审核通过
    若允许越级审批则只需判断两字的最后一个字符
      

  3.   

    myvicy() 设计不合理。不符合数据库的思想。楼主可以考虑采用唠叨的方法,或者采用和实际流程相似的方法,也是比较稳妥的一个。即:check字段,判断是否通过审核。
    checker字段,确定由谁负责。第一次提交,check=0,checker=A;二次变checker=B;类推到D之后,check=1。这样设计是因为楼主的流程是串行。如果是并行的话,唠叨的方法妥当。
      

  4.   

    我的方法可以简化,去掉check字段,check到最后,清空checker表示完成即可。
      

  5.   

    非常感谢各位.
    对于流程的定义,应该注意那些问题呢?
    如果我才用流程1->成员A审批[A是一个小组的领导]->成员B审批[B是一个部门的领导]
    这样的方式的话会不会产生什么问题?我想, 如果是领导A或B不在本公司做了那可能会出现问题了