签核流程设计

在OA等一些系统中往往要签核,其实签核工作流分好几种,下面的只是一种。

下面是关于模拟签核WF的表的设计以及实现签核过程思路。
            一、指明状态      1:新增 2:修改 3:核准 6:驳回 7:提交
            二、签核表结构设计(CheckProgram )
               1、签核程序表(一个程序一般只有一个签核路线)
                     签核程序编号   签核路线编号   签核程序名称
                    PragramID        CheckRoadID   ProgramName
                2、签核路线表 (CheckRoad)
                    签核路线编号      签核页面路径     签核路线名称   涉及的表   
                    CheckRoadID     CheckPath        RoadName       CheckTable
                3、签核明细(CheckInfo)
                   签核路线编号      签核明细编号      签核明细名称       当前状态    下一Yes状态     下一No状态     串并签核
                   CheckRoadID      CheckInfoID       CheckInfoName   NowStatus  NextYes             NextNo           IsAll
                   注: 当前状态  能审核的状态   下一Yes状态     审核通过状态     下一No状态     审核驳回状态   
                            串并签核  串签核:同一签核明细需要能签核该明细的所有人都签核通过才能流到下一Yes状态并且可以不分顺序显示给这些用户,如果分顺序加签核明细就行了
                   当前状态    下一Yes状态   下一No状态
                        7                  8                     6
                        8                  9                     6
                        9                  3                     6
                    注:用户提交即进入签核状态(7:签核开始  3:签核完成核准  6:签核结束驳回)
                 4、签核人明细表(CheckInfoUser)
                     签核路线编号        签核明细编号      签核人      
                     CheckRoadID      CheckInfoID        CheckUser
                 5、审核记录(CheckLog)
                      签核程序编号   联合主键    签核明细编号        签核人          签核意见        签核状态
                       PragramID      CoMKey    CheckInfoID      CheckUser       CheckView   CheckStatus
           三、如何显示本人要签核的记录?
               1、根据该用户 CheckUser查出涉及的表CheckTable    当前状态NowStatus 
               2、根据用户  CheckUser和上步查出涉及的表CheckTable 中的ComKey 和  CheckPath 和串并 IsAll
               3、将查出数据显示页面上以便签核
               4、根据 ComKey和CheckTable 查出要签核记录
               5、审核通过时判断是串还是并签核,如果是串则从审核记录(CheckLog)中找出已经审核通过的该签核明细编号CheckInfoID下的所有用户与签核人明细表(CheckInfoUser)中的该签核明细编号下的 签核人比较,如果就剩下自己没审核通过,则将涉及的表CheckTable 的状态该为下一Yes状态并添加审核记录,如果还有其他人,则只添加审核记录.   
一般这些操作过程比较繁琐,通过存储过程比较方便,编写代码时只需调用存储过程传入审核人CheckUser签核程序编号PragramID联合主键 等关键参数。

时间: 2024-10-25 17:28:03

签核流程设计的相关文章

表单签核的审批思考

再工作开发中,遇到了问题是如何配置签核,公司开发的业务签核引擎,是基于工厂模式的签核,配置不同的签核历程,发起人发起签核的时候,会根据发起人的角色或者职位,部门确认签核历程, 关于签核的思考和认知(部分来源与工作,部分来源于钉钉)工作中接触到了钉钉的配置和公司ERP与钉钉的对接工作: 签核分为: 指定签,会签,任意签,等级签,条件签 指定签:使用场景, 表单发起人发起送签的时候,指定表单由谁签核:当指定的人签核同意之后,代表表单内容通过领导审核.可以执行表单的业务内容: 会签:发起人发起审核之后

流程设计(抽象节点法)

如何设计一个配置灵活的流程? 要做到以下几点 1.节点状态.节点按钮可以动态的配置,不会影响流程的运行,可以在现有的流程中更改流程的走向 2.节点可以对应多个按钮,即流程进入某一节点的时候可以显示多个按钮 FlowNode 流程节点状态,流程节点状态用于表达流程的状态 那么NodeState和ButtonState分别代表什么意思呢? 为什么需要两种状态?举个简单的例子,以一个外卖员接单为例,当外卖员接单后,可能会有两个按钮供他选择,受理订单和拒绝受理(假如超出了他的配送范围),假如受理订单,我

jQuery+jsPlumb简易流程设计

jsPlumb是一个比较强大的绘图组件,它提供了一种方法,主要用于连接网页上的元素. 1.主要三个JS组件:jQuery.jQuery UI.jsPlumb 2.结果展示: 3.源码地址: 源码下载 4.注意 源码中test.jsp中JS和CSS的引入根据自己项目的实际位置引入. String contextPath = request.getContextPath();       if ("/".equals(contextPath))        {            co

佩特来项目经验小集合(5)___系统流程设计

在佩特来项目设计中有一个流程设计问题,虽然.NET 和Java都有工作流,但是考虑到这个项目小,这里就简单的借用一点工作流的思想,设计了几张表,然后通过代码来控制流程.下面以"维修鉴定单业务流程"中的有实物流程为例,谈一下具体的流程设计.有实物的维修鉴定业务流程包含大致步骤:代理商填单.打印二维码.拆包.沟通转办.拆分.故障分析.各角色对费用进行审批.费用提交到费用池(统计各代理商金钱的地方).维修鉴定单流程见下图: 因为系统中不止这一个业务流程,所以系统流程设计的表有任务表(如维修鉴

asp.net 微信企业号办公系统-流程设计--流程步骤设置-策略设置

策略设置包括当前步骤的流转方式,处理人员,退回策略等设置. 流转类型:当前步骤后面有多个步骤时,此类型选择可以决定后续步骤的发送方式. 1.系统控制:由系统根据您在线上设置的流转条件来判断该发送到哪一步(线上的条件设置将在后面说明). 2.单选一个分支流转:后面有多个步骤时当前处理人员只能选择发送到后面的某一个步骤. 3.多选几个分支流转:后面有多个步骤时当前处理人员可以多选发送到后面的某几个或全部步骤. 运行时选择:是否允许该步骤处理人员在发送到下一步的时候选择接收人员,如果设置为不允许则只能

asp.net 微信企业号办公系统-表单及流程设计配置实例

在环境搭建好之后,我们就来学习一下怎样快速创建一个流程,并执行和流转该流程(我们这里讲的只是入门,不涉及到具体流程参数设置). 创建一个流程步骤为:在数据库在创建表-->设计表单-->设置流程-->配置菜单  即可点击新配置的菜单运行该流程. 1.创建业务数据表 根据自己的业务需求我们创建自己的业务表(例如政府部门常用的 文件阅办卡): 建表注意事项: 表必须要有一个主键,主键只能是int型的自增字段或者uniqueidentifier(guid)类型. 2.设计表单 打开表单设计器:

[异步][事务][流程][设计]同步当场处理并返回处理结果,异步后如何返回. 如何解决?

举个例子1: 钱有100,两口子之前有约定要剩下90, 老公看到有100,花10元,花完以后因为事件异步,数据不一致,此时老婆刷新页面也看到100,再花10元.那最终是80元. 不符合用户的预期. 这个问题如何解决? 见http://www.jdon.com/46473#23145064 异步需要一个异步回调.(或者实现一个通知接口. 不如回调实现来的漂亮.) 异步需要事件 异步需要重试机制 昨天咨询了下我们的高T. 他认为是这样实现的: 这个场景在国外银行很常见,国外有夫妻卡. 先说说不用异步

流程设计--页面介绍

上图为流程设计器的主界面,左边栏目为树形结构,提供两种树形,一个为流程定义的分类的树形,另外一个为根据模块菜单的树形. [功能描述] 1.新增:新增功能主要处理定义的工作流程的建立. 2.删除:删除定义的工作流,注意,删除只能删除处于设计状态的工作流,处于发布和停用状态的工作流是不允许删除的. 3.修改:处于设计状态下的工作流是可以继续修改的. 4.复制:提供流程模版的拷贝功能,生成新的工作流程.再继续修改. 5.分组:将设计的工作流程归分到所属的分类目录中去,便于查找和分类. 6.导出:提供工

流程设计器之标签工具

工作流系统中,各种路由节点,顺序流,条件流,流程的设置均在节点属性页中完成. 在节点属性页面中设置节点名称,到达节点自动触发的前置事件,离开节点的后置触发事件.节点上执行的表单等等,都在节点的属性页面中完成. 条件节点的设置也是在属性页面中完成,通过向导引入业务表单中的关键数据,用于控制流转的条件,如请假单中的请假天数,报销单中报销金额,都是业务中的关键数据,用于控制流程的流转.这些条件的设置均在节点的属性页面中设置. 节点设置完成后,用连线连接起各个节点,组成顺序流转,条件跳转,并行执行等等.