• 我设计的工作流


    参考了网上的一些东西,以前做的一些东西,然后加上了自己的一些想法,便有了下面的东西。

    第一步:

    流程配置表:这里用xml表示,有人会用if ... else ...,switch... case,表示,但是状态少了还可以,要是一堆的状态,可读性会大大降低,所以我用xml表示,直观,

    可读性强。

    xml如下:

    <state name="领料审核" value="LLSH">

           <first_step name="组长审核' value="ZZSH">

              <pass name="审核通过" value="PASS"/>

               <pass name="审核不通过" value="NOPASS"/>

                <is_end name="是否结束" value="NOEND"/>

            </first_step>

     <second_step name="主任审核' value="ZRSH">

               <pass name="审核通过" value="PASS"/>

               <pass name="审核不通过" value="NOPASS"/>

               <is_end name="是否结束" value="END"/>

            </second_step>

    </state>

    第二步:

    数据库设计:

    column          filed

    state_name    char(10)

    step_name      char(10)

    pass_result      char(10)

    next_step       char(10)

    user_id          tinyint

    第三步:

    程序实现

    首先读取数据审核表,如果记录数为0,则从xml文件开始读取第一步的审核种类,然后用户开始审批,最后记录。如果记录数不为0,则取相应审核种类的最大记录。

    不管是审核通过,还是不通过,都必须增加一条新的记录,不能更新原先的记录,以保证出现问题时,有剧可查。当开始第二步审核时,如果xml利用数据库中记录的

    next_step先去获取上一步状态,如果没有上一步,则获取第一步的状态,看是否,以被结束,如没有则允许审核。

    xml读取的数据应该用链表做记录:

     current 当前状态,next 下一步的状态 back 上一步的状态

     这只是一个最简单的实现,没有涉及到权限判断

  • 相关阅读:
    Unity3D保护资源管理文件的AssetBundle包加密!
    untiy Kinect SDK 的默认BUG 修改方法
    Android 插件扩展系列之 封装与应用
    datagridview 单击单元格获取单元格的内容
    winform 显示动态图片 Gif
    Unity 漫游相机脚本
    Unity3D教程:c#脚本yield的用法
    Unity 脚本实现CoverFlow效果
    删除 treeview Node节点 循环删除子节点 存储过程
    Unity 怪物AI
  • 原文地址:https://www.cnblogs.com/chenleinet/p/1686631.html
Copyright © 2020-2023  润新知