zoukankan      html  css  js  c++  java
  • 14-部署流程定义方式

    部署信息和流程定义针对的表不一样,部署信息针对的是act_re_deployment,流程定义针对的是act_re_procdef。每部署一次都会往act_re_deployment插入一条信息,而且还会往act_re_procdef插入一条信息,并且act_re_procdef的信息还有外键DEPLOYMENT_ID_。所以它们之间有区别也有联系,有一个外键关联。

    部署可以认为是添加的操作,没有修改的功能,只有增删查,为什么框架没有提供修改功能?因为修改功能会产生一系列的问题。

    如果把流程定义的项目经理审批删除了,那么意味着从提交请假申请直接走到了部门经理审批。那么原先已经启动的正在执行的流程你让它怎么走?可能有一些流程走到第一个节点,有一些流程走到第二个节点,有一些流程走到第三个节点,那样就会产生问题了。所以这个时候如果提供修改功能的话,你清洗原文之后,可能原因由很多流程之外执行,他们还按照老的流程执行,这样会产生很多问题。所以框架并没有这样设计,没有提供修改功能。那我这个图就是画错了要修改,你可以重新部署一个。这个框架做的还是比较智能的,你原先在这个流程修改之前已经提供的那个流程,还按照老的流程去执行。而现在最新的是最下面的版本最高的流程,它会自动按照最新的去执行。如果这个流程图你画错了,你可以重新去设计一个新的或者重新部署一下,后面的人再使用这个流程的时候,会自动选择最新的。而这个流程修改之前已经启动的那些流程,还是按照原先的流程去执行,大概是这么一个效果啊。

    所以这边没有修改流程定义这个代码。

    有输入流就可以做文件下载了。只要得到输入流就有办法把它下载下来。

     * 启动流程实例
      * 方式一:根据流程定义的id启动
      * 方式二:根据流程定义的Key启动(自动选择最新版本的流程定义启动流程实例)

    如果流程定义有很多个版本(同一个流程定义被修改之后(或者不被修改)启动了很多次流程实例),那么按照流程定义的Key值(Key值都是一样的)启动流程实例会自动按照最新的版本(VERSION_最大的那个)启动。如果后面你又部署了一个请假流程,它还是按照最新的那个启动流程实例。所以按照流程定义的Key启动流程实例更加实用一点,框架会自动帮助我们选择最新的流程定义来启动流程实例。

    直接将流程向下执行一步  张三将请假申请提交给李四,李四不在公司,那就意味着李四没有办法登录我们这个系统去审批,李四不审批后面王五也审批不了,这个时候我们可以告诉管理员让他登录一下系统,管理员登录系统不是让他把这个任务办了,是手动去干预一下这个任务,让这个流程继续向下执行一步,走到下一个节点,那就意味着我们跳过了李四这一步,就是这么一个需求。那么一般我们知道,我们在分配权限的时候,只有管理员可以做这个事情,要是谁都能做这个事情那就完了,自己给自己全都走完了所有流程了。所以这个功能我们是需要控制的,一般人不可以做这个事情的。我们可以告诉管理员让他去手动地干预一下这个流程的执行。

    虽然读取的是zip压缩文件,但是框架把资源文件写入数据库的时候把压缩文件给解开了

  • 相关阅读:
    客户端模块化的精益求精
    从风控的角度解析如何防止客户刷单
    ubuntu 安装 codelite
    使用curl在命令行中下载文件
    awk的使用
    优秀web资源
    Asp.net 生成静态页面
    提高ASP.NET首页性能的十大方法
    ASP.NET伪静态
    URLRewriter.dll的使用
  • 原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/6404145.html
Copyright © 2011-2022 走看看