• 做公文流转的具体思路


    新建公文处理流程:   
      1、 建新流程,首先指定流程步骤,未正式启用的流程可以修改步骤。   
      2、 指定每个流程步骤的处理方法:会签或签署(会签指的是由多个人同时分别审批,签署则是按顺序审批后由流程的下一签署人审批)   
      3、 指定每个步骤的签署人(一个或多个人)   
      4、 将流程保存在流程数据库中。数据库结构如下:   
      流程库   
      字段名称 类型 key 说明   
      PROC_ID VARCHAR(6) Primary   key 流程编号   
      PROC_NAME Varchar   (255) 流程名称   
      ISVALID CHAR(1) 生效标志:   
      0:未生效   
      1:已生效   
        
      流程步骤库   
      PROC_ID VARCHAR   (6) Primary   key 流程编号   
      STEP_ID VARCHAR   (6) 步骤编号   
      USRID VARCHAR   (6) 签署人用户号   
      FLAG CHAR(1) 签署标志   
      :0--签署   
      :1—会签     
      举例:   
      流程表   
      流程编号 流程名称   
      000001 A流程   
      000002 B流程   
      000003 C流程   
      流程步骤表   
      流程编号 步骤编号 用户编号 (说明)   
      000001 1 000003 用户编号可以是真正的“用户编号”(来自USERS),也可以是“职务编号(来自TASK)”,视编程时如何处理而定,   
      1、如果按用户编号处理,编程时少一道处理过程,但设置步骤不灵活,一旦人员调动,流程则需重新设置;   
      2、按职务编号处理,无论人员如何变动,流程不需重新设置,只是在编程时,需按职务将工作分配给签署人   
      3、一般说来,一个流程中,同一个用户不可能签署两次。   
      5、 如果时间允许,建议按职务编号处理。   
      6、 职务设置在系统设置中已作好。   
      000001 2 000004   
      000001 2 000002   
      000001 2 000009   
      000001 3 000008   
      000001 4 000001   
      000002 1 000001   
      000002 1 000100   
      000002 2 002102   
      000002 2 000009   
      000002 3 000002   
      000003 1 000005   
      000003 2 000008   
      5、确定流程是否生效(生效后的流程不能修改)   
      公文流程步骤   
      1、 新建一个公文(拟文)   
      2、 输入公文必要的信息(3、 选择合适的流程   
      4、 保存公文   
      5、 按照流程所涉及的步骤及用户(如果按职务处理,则需要转换为用户编号),生成公文审批表,如下表所示   
      公文审批过程表   
      字段名称 类型 key 说明   
      ID Varchar     (12) Primary   key 流水号   
      DOCUMENT_ID VARCHAR(6) 公文号   
      PROC_ID VARCHAR   (6) 审批流程号   
      STEP_ID VARCHAR   (6) 步骤号   
      USER_ID VARCHAR   (6) 用户编号   
      OPINION Varchar   (255) 签署意见   
      OPINFLAG CHAR(1) 意见   
      0:不同意   
      1:同意   
      2:需进一步研究   
      FLAG CHAR(1) 签署标志   
      0:未开始   
      1:进入审批流程   
      2:审批完成   
      PROCFLAG CHAR(1) 流程进展标志   
      0:审批完成   
      1:否定   
      2:发回重审   
        
      6、 拟文完成后,用“进入审批流程”处理,将流程中序号为1的流程标志设为“正在审批”状态。每个流程步骤完成后,自动将下一审批过程(其公文号、审批流程号、审批步骤号完全相同,而且流程进展标志不为2)的FLAG设为1,进入审批流程。如果没有下一流程,将流程进展标志设置为 0,表示审批完成,然后发回VARCHAR   (6)拟稿人或办公室,按审批意见决定是否发文。   
      7、 如果决定发回重审,则将原审批过程表中的流程进展标志设为2,然后在审批过程表中重新建一个审批过程,重新审批。   
      8、 当审批过程的签署标志为1(进入审批流程)时,在用户提醒栏中显示用户有文件要签署。(在用户登录时显示提醒栏)


    当用户审批后的状态要用触发器实现   
      具体的代码如下:   
      CREATE   TRIGGER   tr_complete_proc   ON   [dbo].[proc_audit]     
      FOR     UPDATE     
      as   
      declare   @all_proc   int,@completed_proc   int,@del_proc_id   varchar(6),@del_document_id   varchar(6)   
      if   update(flag)   
      begin   
              select   @del_proc_id=proc_id,@del_document_id=document_id   from   deleted   
              select   @all_proc=count(*)     
              from   proc_audit   
              where   proc_id=@del_proc_id   and   document_id=@del_document_id   
              select   @completed_proc=count(*)   
              from   proc_audit   
              where   proc_id=@del_proc_id   and   document_id=@del_document_id   and   flag=2   
              if   @all_proc=@completed_proc   
                      update   proc_audit   
                      set   procflag=0   
                      where   proc_id=@del_proc_id   and   document_id=@del_document_id   
      end   

  • 相关阅读:
    Python图形图像处理库的介绍之Image模块
    python re.sub
    eclipse 安装git插件
    一组神奇的 3D Gif 动图
    互联网颠覆房地产
    一位IT行业高收入者的理财规划方案
    阿里核心系统团队介绍
    大规模SNS中兴趣圈子的自动挖掘
    关于 MySQL LEFT JOIN 你可能需要了解的三点
    Could not connect to SMTP host: localhost, port: 25;
  • 原文地址:https://www.cnblogs.com/zxtceq/p/5633479.html
Copyright © 2020-2023  润新知