我想问下大家有审批的项目中表示如何设计的?比如我现在有个场景有个新闻表,某科员发个新闻后需要由他的科长审批,科长可以通过或者退回,科长如果通过了再由局长审批,局长也可以审核通过或者退回,我想问下这个场景大家是如何设计表的,就是说这个审批是如何设计的,我原来是在新闻表里加个新闻的状态(1未审批,2科长审核通过,3局长审核通过),现在发现这样非常的不灵活很死,想改下就得大改,大家是如何设计的,谢谢。
就是加个状态,状态多了就加状态枚举.然后写个状态迁移,就是从一个状态迁移到另一个状态的操作
退回之类的呢?
@汉卿: 就是一个从待审核状态迁移到退回状态的操作.
我的想法是直接给表添加两个审核状态的属性,科长审核和局长审核,两个都没有通过的则不显示,两个通过了才显示
如果再多几步审核不是还要加几个属性了,而且不能体现他们之间的前后关系,中间如果想加一步审核或者减一步审核,就得改很多了。
@汉卿: 恩 是的,这个只适用于少的审核,因为没有做个审核的表那些所以也不是那么清楚。。。
不过也可以创建一个审核表吧,字段有 新闻id、科长审核(0/1 0 表示未通过 1表示通过)、局长审核(0/1 0表示为通过 1表示通过),到时候插的时候将审核表关联起来查询
这个不知道是不是你想要的
有可能是"单一的"层次向上审批,也有可能是”多级“的平级向上审批
这个采用递归算法
审核会员表: id,name,pid
审核标志表:id,新闻id,会员id,状态id(枚举类型)
你的有工作流不?就是审批的话,就加一个状态列是最简单的
我原来也是这样做的,但是现在越来越感觉不灵活,流程稍微有点改动就改难过。
@汉卿: 没有用到工作流,这个应该不难改,就是几种状态的转变罢了
@汉卿: 吴瑞祥说的状态迁移就有点像工作流了,是把一个流程配置出来了,加枚举什么的其实都会是你那句“想改下就得大改”。