业务系统里边会有很多不一样的业务流程,目前不是工作流的形式,都是有固定状态流转的,在一个业务流程的某些节点是需要 审批的,
反正就需要等另 “一个人或者团体”来处理后,流程才能继续往后流转。
所以在这些节点需要产生“待办任务”,生成待办任务是简单的。复杂的是当这个节点处理了之后,反向维护“待办任务”的状态,可能变为“已完成”或者“撤销”等,
因为某个待办节点,可能是多人同时复核,一个拒绝,所有拒绝的。假如待多人同时复核时(假如三人),系统同时生成了三条“待办任务”,那么有一人驳回时,另外两个任务要自动变为“撤销”,是被动的。 除此外,业务人员处理任务的 入口不一定是从 “待办任务”里窗口进入的,可能是直接找到业务菜单直接处理了。所以是拿不到 “待办任务” id的。得按照业务类型 反查相关的待办任务。
系统里边业务流程待办的节点也比较多,每个点固定的写 反向维护 “待办任务”状态的代码,也比较多,主要是感觉容易漏掉,导致“待办任务”其实已经无效了,“待办任务”窗口还显示着。
想请教有经验的大佬,这种情况怎么设计好点。生成“待办任务”简单,反向维护“待办任务”状态麻烦,
“待办任务”可能是范围式的,比如到某个企业范围、某个部门范围、某个岗位范围、某个人 可处理。大家给点建议呀!!!
待办任务表 T_TASK,字段:id,状态(代办,撤销,已完成),业务id(用于在业务菜单处理时锁定该任务);
任务关联表T_TASK_RELATED,字段:id,范围类型( 企业,部门,岗位,个人),task_id(任务表id);
用户进来后查询任务关联表,看看有没有自己的代办任务,有则显示;这样的话,无论多少人都只是一条记录。
生成代办任务时,要把业务id也插进来,不然到时候业务菜单处理了这边没办法更新。
https://blog.csdn.net/weixin_42959207/article/details/88823107