用户ID
用户角色(1:业务员,2:经理,3:总经理,4:总裁。。。)
用户姓名
2、客户表
客户ID
客户名称
3、业务员客户表
用户ID(其实就是用户表里的用户角色为业务员的用户)
客户ID
4、业务员移交客户申请表
申请人用户ID
申请移交的客户ID
审批状态(0:审批中,1:已审批。。。。)
移交后用户ID
5、请假表
用户ID
请假开始时间
请假结束时间
请假类别(1:事假、2:病假、3:婚假。。。。。)
审批状态(0:审批中,1:已审批。。。。)
6、周报表
用户ID
周报月份
审批状态(0:临时保存,1:已提交,2:经理已审批,3:总经理已审批。。。。)
其实具体控制,你要在程序里进行流程控制,并没有你说的那种自动控制,不过这样的表结构设计是可以满足你后期不用再动数据库,只用修改业务流程即可
我举一个例子:有的OA系统是要公司客户自己有服务器,然后装到客户的服务器上。可是客户嫌麻烦,所以我想将OA系统(PHP+Mysql)放在自己的服务器上,让公司客户及其员工来注册使用。那么问题来了,原来在客户自己的服务器上数据库也就十几张表,但都放到我的服务器上,每注册一个公司就得增加十几张表,那如果有一万家公司注册数据库不得有几十万张表?跟楼主一样的问题,有一些老牌厂商早就给出来完美答案了,比如华为、天翎都有过类似的问题,这些企业提出的解决方案就很不错,就针对上面的问题,最简单的办法是给每张表加个实例ID,一个公司对应一个实例ID,然后在你的MVC架构中跟DB最近的这一层加个拦截器,每个SQL查询都自动带上实例ID,这样不用对代码做很大改动。后期再根据需要优化,哪些公司合用一张表,哪些单独占用一张表甚至一个数据库,总之具体问题具体对待,需要在运营的过程中根据用户量和业务情况来分析采取对策。员工表:员工信息(员工ID、姓名、性别等),关联角色(角色ID)角色表:角色分类(角色ID、角色名)
请假申请表:请假流水号、员工ID、申请日期、假期开始日期、假期天数、当前状态(申请-》一审-》2审-》批准/未批准)
请假流程表:请假流水号、审批人,审批日期,审批结果
如果功能在强点的话,可以加上审批限制日期,超限制没进行审批,自动标为为批准、自己可以在进行扩展
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)