一个审批流程分为10个过程,每个过程有个开始时间,有个结束时间。从第一个依次执行到最后一个流程,没有执行到的时间为Null值。我要判断每条记录走到哪个流程了。有什么好的办法么,在sql 中实现容易,还是在后台写啊?

解决方案 »

  1.   

    用case 根据时间between 开始时间 and 结束时间就好了。
      

  2.   

    CRM工作流的设计记录表(ID,工作流ID)正在走的工作流记录表(工作流ID(对应着上表的工作流ID),当前工作流程状态ID(下表的外键))工作流程状态关联表---记录了工作流节点的上下级关系,上一个工作流状态是什么,下一个工作流状态是什么都有记录大概是这样,还有很多的细节就不描述了。
      

  3.   

    case when 语句怎么写呢,因为有很多流程啊。case when 只针对一条记录啊
      

  4.   

    非null的数据里面取最大流程号就可以了吧感觉。
      

  5.   

    现在没有流程号啊,表结构大致是这样的。
     
    id
    流程 开始日期
    结束日期
    HR面试 开始日期
    结束日期
    业务面试 开始日期
    结束日期
    本部HR及通知体检 开始日期
    结束日期
    部门审批 开始日期
    结束日期
    部门审批人1 开始日期
    结束日期
    各级审批人姓名
    各级审批人ITCODE
    部门审批人2 开始日期
    结束日期
    各级审批人姓名
    各级审批人ITCODE
    部门审批人3 开始日期
    结束日期
    各级审批人姓名
    各级审批人ITCODE
    部门审批人4 开始日期
    结束日期
    各级审批人姓名
    各级审批人ITCODE
    部门审批人5 开始日期
    结束日期
    各级审批人姓名
    各级审批人ITCODE
    部门审批人6 开始日期
    结束日期
    各级审批人姓名
    各级审批人ITCODE
    部门审批人7 开始日期
    结束日期
    各级审批人姓名
    各级审批人ITCODE
    体检定薪 开始日期
    结束日期
    处理人姓名
    处理人ItCode
    招聘调配负责人审核 开始日期
    结束日期
    录用通知确认入职 开始日期
    结束日期
    需求流程 需求ID