Activiti6.0实战-目录

目录

  • 一.画图工具选择
  • 二.Activiti-App下载启动
  • 三.画一个工作流
  • 扩展

一.画图工具选择

  • Activiti-App(官网推荐)

    我是选的这个

  • Activiti Designer Eclipse插件(官网推荐)

    我用idea,不选择这个

  • camunda-modeler

    不推荐,变量属性不支持

  • Activiti BPMN visualizer(idea 插件)

    直接在线安装,这个也不错哦

  • Flowable BPMN visualizer(idea 插件)

    直接在线安装

二.Activiti-App下载启动

1.下载tomcat

本文用的是tomcat8

2.下载Activiti-App

官网地址

https://github.com/Activiti/Activiti/releases/download/activiti-6.0.0/activiti-6.0.0.zip
目录:activiti-6.0.0\activiti-6.0.0\wars\activiti-app.war
下载地址:链接: https://pan.baidu.com/s/1CHSttlkBT2CnnY1nFyQbSw 提取码: 2yba ,既然你下载到了,怎么也礼节性的感谢一下哈

3.tomcat放入war包并启动tomcat服务

注意tomcat路径不要有中文否则容易裂开。

4.访问网址:http://localhost:8080/activiti-app,进行登录

用户名:admin

密码:test

三.画一个工作流

1.选择Kickstart App进行流程构建

主界面的三个菜单主要承担以下功能:

  • Kickstart App:主要用于流程模型管理、表单管理及应用(App)管理,一个应用
    可以包含多个流程模型,应用可发布给其他用户使用。
  • Task App:用于管理整个 activiti-app 的任务,在该功能里面也可以启动流程。
  • Idenity management:身份信息管理,可以管理用户、用户组等数据。

2.点击“Create Process”按钮,弹出新建流程模型界面

3.新建模型后,会进入流程模型设计界面,在流程设计界面中,只需要普通的鼠标拖拉操作,即可完成流程模型的定义,拖拖拽拽即可完成。

以请假流程为例:

#mermaid-svg-8d01JepHR7b9ZWun .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-8d01JepHR7b9ZWun .label text{fill:#333}#mermaid-svg-8d01JepHR7b9ZWun .node rect,#mermaid-svg-8d01JepHR7b9ZWun .node circle,#mermaid-svg-8d01JepHR7b9ZWun .node ellipse,#mermaid-svg-8d01JepHR7b9ZWun .node polygon,#mermaid-svg-8d01JepHR7b9ZWun .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-8d01JepHR7b9ZWun .node .label{text-align:center;fill:#333}#mermaid-svg-8d01JepHR7b9ZWun .node.clickable{cursor:pointer}#mermaid-svg-8d01JepHR7b9ZWun .arrowheadPath{fill:#333}#mermaid-svg-8d01JepHR7b9ZWun .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-8d01JepHR7b9ZWun .flowchart-link{stroke:#333;fill:none}#mermaid-svg-8d01JepHR7b9ZWun .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-8d01JepHR7b9ZWun .edgeLabel rect{opacity:0.9}#mermaid-svg-8d01JepHR7b9ZWun .edgeLabel span{color:#333}#mermaid-svg-8d01JepHR7b9ZWun .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-8d01JepHR7b9ZWun .cluster text{fill:#333}#mermaid-svg-8d01JepHR7b9ZWun div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-8d01JepHR7b9ZWun .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-8d01JepHR7b9ZWun text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-8d01JepHR7b9ZWun .actor-line{stroke:grey}#mermaid-svg-8d01JepHR7b9ZWun .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-8d01JepHR7b9ZWun .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-8d01JepHR7b9ZWun #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-8d01JepHR7b9ZWun .sequenceNumber{fill:#fff}#mermaid-svg-8d01JepHR7b9ZWun #sequencenumber{fill:#333}#mermaid-svg-8d01JepHR7b9ZWun #crosshead path{fill:#333;stroke:#333}#mermaid-svg-8d01JepHR7b9ZWun .messageText{fill:#333;stroke:#333}#mermaid-svg-8d01JepHR7b9ZWun .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-8d01JepHR7b9ZWun .labelText,#mermaid-svg-8d01JepHR7b9ZWun .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-8d01JepHR7b9ZWun .loopText,#mermaid-svg-8d01JepHR7b9ZWun .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-8d01JepHR7b9ZWun .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-8d01JepHR7b9ZWun .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-8d01JepHR7b9ZWun .noteText,#mermaid-svg-8d01JepHR7b9ZWun .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-8d01JepHR7b9ZWun .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-8d01JepHR7b9ZWun .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-8d01JepHR7b9ZWun .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-8d01JepHR7b9ZWun .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-8d01JepHR7b9ZWun .section{stroke:none;opacity:0.2}#mermaid-svg-8d01JepHR7b9ZWun .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-8d01JepHR7b9ZWun .section2{fill:#fff400}#mermaid-svg-8d01JepHR7b9ZWun .section1,#mermaid-svg-8d01JepHR7b9ZWun .section3{fill:#fff;opacity:0.2}#mermaid-svg-8d01JepHR7b9ZWun .sectionTitle0{fill:#333}#mermaid-svg-8d01JepHR7b9ZWun .sectionTitle1{fill:#333}#mermaid-svg-8d01JepHR7b9ZWun .sectionTitle2{fill:#333}#mermaid-svg-8d01JepHR7b9ZWun .sectionTitle3{fill:#333}#mermaid-svg-8d01JepHR7b9ZWun .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-8d01JepHR7b9ZWun .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-8d01JepHR7b9ZWun .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-8d01JepHR7b9ZWun .grid path{stroke-width:0}#mermaid-svg-8d01JepHR7b9ZWun .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-8d01JepHR7b9ZWun .task{stroke-width:2}#mermaid-svg-8d01JepHR7b9ZWun .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-8d01JepHR7b9ZWun .taskText:not([font-size]){font-size:11px}#mermaid-svg-8d01JepHR7b9ZWun .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-8d01JepHR7b9ZWun .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-8d01JepHR7b9ZWun .task.clickable{cursor:pointer}#mermaid-svg-8d01JepHR7b9ZWun .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-8d01JepHR7b9ZWun .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-8d01JepHR7b9ZWun .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-8d01JepHR7b9ZWun .taskText0,#mermaid-svg-8d01JepHR7b9ZWun .taskText1,#mermaid-svg-8d01JepHR7b9ZWun .taskText2,#mermaid-svg-8d01JepHR7b9ZWun .taskText3{fill:#fff}#mermaid-svg-8d01JepHR7b9ZWun .task0,#mermaid-svg-8d01JepHR7b9ZWun .task1,#mermaid-svg-8d01JepHR7b9ZWun .task2,#mermaid-svg-8d01JepHR7b9ZWun .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-8d01JepHR7b9ZWun .taskTextOutside0,#mermaid-svg-8d01JepHR7b9ZWun .taskTextOutside2{fill:#000}#mermaid-svg-8d01JepHR7b9ZWun .taskTextOutside1,#mermaid-svg-8d01JepHR7b9ZWun .taskTextOutside3{fill:#000}#mermaid-svg-8d01JepHR7b9ZWun .active0,#mermaid-svg-8d01JepHR7b9ZWun .active1,#mermaid-svg-8d01JepHR7b9ZWun .active2,#mermaid-svg-8d01JepHR7b9ZWun .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-8d01JepHR7b9ZWun .activeText0,#mermaid-svg-8d01JepHR7b9ZWun .activeText1,#mermaid-svg-8d01JepHR7b9ZWun .activeText2,#mermaid-svg-8d01JepHR7b9ZWun .activeText3{fill:#000 !important}#mermaid-svg-8d01JepHR7b9ZWun .done0,#mermaid-svg-8d01JepHR7b9ZWun .done1,#mermaid-svg-8d01JepHR7b9ZWun .done2,#mermaid-svg-8d01JepHR7b9ZWun .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-8d01JepHR7b9ZWun .doneText0,#mermaid-svg-8d01JepHR7b9ZWun .doneText1,#mermaid-svg-8d01JepHR7b9ZWun .doneText2,#mermaid-svg-8d01JepHR7b9ZWun .doneText3{fill:#000 !important}#mermaid-svg-8d01JepHR7b9ZWun .crit0,#mermaid-svg-8d01JepHR7b9ZWun .crit1,#mermaid-svg-8d01JepHR7b9ZWun .crit2,#mermaid-svg-8d01JepHR7b9ZWun .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-8d01JepHR7b9ZWun .activeCrit0,#mermaid-svg-8d01JepHR7b9ZWun .activeCrit1,#mermaid-svg-8d01JepHR7b9ZWun .activeCrit2,#mermaid-svg-8d01JepHR7b9ZWun .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-8d01JepHR7b9ZWun .doneCrit0,#mermaid-svg-8d01JepHR7b9ZWun .doneCrit1,#mermaid-svg-8d01JepHR7b9ZWun .doneCrit2,#mermaid-svg-8d01JepHR7b9ZWun .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-8d01JepHR7b9ZWun .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-8d01JepHR7b9ZWun .milestoneText{font-style:italic}#mermaid-svg-8d01JepHR7b9ZWun .doneCritText0,#mermaid-svg-8d01JepHR7b9ZWun .doneCritText1,#mermaid-svg-8d01JepHR7b9ZWun .doneCritText2,#mermaid-svg-8d01JepHR7b9ZWun .doneCritText3{fill:#000 !important}#mermaid-svg-8d01JepHR7b9ZWun .activeCritText0,#mermaid-svg-8d01JepHR7b9ZWun .activeCritText1,#mermaid-svg-8d01JepHR7b9ZWun .activeCritText2,#mermaid-svg-8d01JepHR7b9ZWun .activeCritText3{fill:#000 !important}#mermaid-svg-8d01JepHR7b9ZWun .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-8d01JepHR7b9ZWun g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-8d01JepHR7b9ZWun g.classGroup text .title{font-weight:bolder}#mermaid-svg-8d01JepHR7b9ZWun g.clickable{cursor:pointer}#mermaid-svg-8d01JepHR7b9ZWun g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-8d01JepHR7b9ZWun g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-8d01JepHR7b9ZWun .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-8d01JepHR7b9ZWun .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-8d01JepHR7b9ZWun .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-8d01JepHR7b9ZWun .dashed-line{stroke-dasharray:3}#mermaid-svg-8d01JepHR7b9ZWun #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-8d01JepHR7b9ZWun #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-8d01JepHR7b9ZWun #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-8d01JepHR7b9ZWun #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-8d01JepHR7b9ZWun #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-8d01JepHR7b9ZWun #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-8d01JepHR7b9ZWun #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-8d01JepHR7b9ZWun #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-8d01JepHR7b9ZWun .commit-id,#mermaid-svg-8d01JepHR7b9ZWun .commit-msg,#mermaid-svg-8d01JepHR7b9ZWun .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-8d01JepHR7b9ZWun .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-8d01JepHR7b9ZWun .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-8d01JepHR7b9ZWun g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-8d01JepHR7b9ZWun g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-8d01JepHR7b9ZWun g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-8d01JepHR7b9ZWun g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-8d01JepHR7b9ZWun g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-8d01JepHR7b9ZWun g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-8d01JepHR7b9ZWun .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-8d01JepHR7b9ZWun .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-8d01JepHR7b9ZWun .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-8d01JepHR7b9ZWun .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-8d01JepHR7b9ZWun .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-8d01JepHR7b9ZWun .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-8d01JepHR7b9ZWun .edgeLabel text{fill:#333}#mermaid-svg-8d01JepHR7b9ZWun .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-8d01JepHR7b9ZWun .node circle.state-start{fill:black;stroke:black}#mermaid-svg-8d01JepHR7b9ZWun .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-8d01JepHR7b9ZWun #statediagram-barbEnd{fill:#9370db}#mermaid-svg-8d01JepHR7b9ZWun .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-8d01JepHR7b9ZWun .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-8d01JepHR7b9ZWun .statediagram-state .divider{stroke:#9370db}#mermaid-svg-8d01JepHR7b9ZWun .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-8d01JepHR7b9ZWun .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-8d01JepHR7b9ZWun .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-8d01JepHR7b9ZWun .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-8d01JepHR7b9ZWun .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-8d01JepHR7b9ZWun .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-8d01JepHR7b9ZWun .note-edge{stroke-dasharray:5}#mermaid-svg-8d01JepHR7b9ZWun .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-8d01JepHR7b9ZWun .error-icon{fill:#522}#mermaid-svg-8d01JepHR7b9ZWun .error-text{fill:#522;stroke:#522}#mermaid-svg-8d01JepHR7b9ZWun .edge-thickness-normal{stroke-width:2px}#mermaid-svg-8d01JepHR7b9ZWun .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-8d01JepHR7b9ZWun .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-8d01JepHR7b9ZWun .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-8d01JepHR7b9ZWun .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-8d01JepHR7b9ZWun .marker{fill:#333}#mermaid-svg-8d01JepHR7b9ZWun .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;} #mermaid-svg-8d01JepHR7b9ZWun {color: rgba(0, 0, 0, 0.75);font: ;}

开始
发起请假
经理审批
人事归档

注意每个节点的 分配人填写情况

  • 发起请假 submitter

  • 经理审核 leader

  • 人事归档 hr

4.导出画出的工作流


扩展

画流程图其实就是通过可视化工具,构造符合BPMN2.0规范的xml文档。

其中我们来看下常用的组件

  • 事件(开始事件、结束事件)
  • 任务(用户任务、定时任务)
  • 顺序流
  • 网关(排他网关、并行网关)

参考:

  • Activiti实战
  • Activiti权威指南
  • 疯狂工作流讲义
  • https://github.com/Activiti/activiti-examples
  • https://github.com/henryyan/kft-activiti-demo

分享 Activiti工作流高级视频教程 全套视频
关注公众号【Java大厂面试官】,回复 :工作流
即可免费下载

QQ群【837324215
关注我的公众号【Java大厂面试官】,回复:架构资源等关键词(更多关键词,关注后注意提示信息)获取更多免费资料。

公众号也会持续输出高质量文章,和大家共同进步。

Activiti6.0实战-画流程图(1)相关推荐

  1. Activiti6.0版本如何显示在线流程图

    Activiti6.0版本如何显示在线流程图 Activiti6.0在线显示流程图和Activiti5.X有点差别,6.0版本去除了pvm包 5.X版本中的pvm包,但是在6.0版本并没有该包了,因此 ...

  2. activiti前端画图转化_activiti在线画流程图

    springboot2.2 activiti6.0 activiti-modeler 5.22.0 注明:版本不一样会导致报错 效果图 代码分享: 链接:https://pan.baidu.com/s ...

  3. G6实现标签拖动连线画流程图

    需求描述 列出所有的task标签,拖动task标签在一旁画流程图,打包task的任务名及id和任务的执行流程以json的格式发给后端. 技术栈 G6,vue,h5自带的draggable实现拖动.也稍 ...

  4. 在Markdown中用mermaid画流程图和ER图

    # 在Markdown中用mermaid画流程图 mermaid支持三种图形的绘制, 分别是流程图, 时序图和甘特图, 本篇文章只介绍了mermaid中流程图在markdown的使用. 流程图方向有下 ...

  5. cad画流程图的插件_盘一盘,那些提效/创意的 vscode 插件

    作者:晒兜斯 原文:https://juejin.im/post/6870428510041833480 在前端开发中,vscode 是最常用的编辑器,而 vscode 有着各种实用插件,有些可以帮助 ...

  6. plantuml 流程图_画流程图你还在用鼠标拖吗

    本文微信公众号「AndroidTraveler」首发. 背景 我们知道,在开发前期,画流程图是必不可少的一环. 有时候可能是为了后续维护:  有时候可能是为了同步需求:  有时候可能是为了-- 不管是 ...

  7. markdown 流程图js_如何在Markdown中画流程图

    如何在Markdown中画流程图呢?当然是用mermaid了,mermaid支持三种图形的绘制, 分别是流程图, 时序图和甘特图, 本篇文章只介绍了mermaid中流程图在markdown的使用(现在 ...

  8. activiti6.0(二)节点处理人

    1. 候选人和处理人 候选人:candidateUser            处理人,指派人:assignee 一个task可以有多个候选人,但是只能有一个处理人 activiti6.0的数据库表结 ...

  9. activiti工作流研究——画流程图

    起因:由于工作是要使用工作流解决稿件审核流程,不得不采用工作流,近3年的定制化流程已经让我们体会到修改审核流程的带来的不便.这次也是痛下决心要引入工作流,由于公司里另一套产品采用的是jbpm,orm层 ...

最新文章

  1. (原創) Altera Technology Roadshow 2011 Taipei (SOC) (Quartus II) (Nios II) (Qsys)
  2. 基于OpenSSL自建CA和颁发SSL证书
  3. 在Qt工程文件中根据不同版本号使用不同源码
  4. java的css的块_CSS块宽度不大于前一个块
  5. Android 节日短信送祝福(功能篇:2-短信历史记录Fragment的编写)
  6. 计算机刻录光盘不显示,为什么我的CD刻录光盘的容量在
  7. GitHub使用.md
  8. python和vba哪个难_VBA和Python到底哪个比较难学?
  9. AppDynamic自定义统计异常reportError,实时显示结果
  10. 已经被废弃的 tcp_tw_recycle
  11. Spring Boot 自定义注解实现AOP切面织入
  12. C# 计算农历日期方法(2021版)
  13. Html的基本操作简介
  14. 笔记本装服务器系统 无线网卡无法驱动,笔记本无线驱动,小编教你无线网卡驱动怎么安装...
  15. Gos —— 搭建基础环境
  16. 百度地图API V2.0 离线版本
  17. tkinter在Mac下运行主界面显示黑色
  18. java利用Scanner获取键盘输入
  19. SharpDevelop的安装与配置
  20. 拿下阿里三面是后,面试官问我:你是怎么学习Redis的?

热门文章

  1. MySQL常用查询(查行数、列数、表数、字段数)和常用函数
  2. 痞子衡单片机排行榜(2022Q4)
  3. 鸿蒙处理器985相当于内核多少,骁龙750g相当于麒麟多少?骁龙750g、麒麟985及麒麟980详细对比...
  4. emd 函数 matlab 中文备注
  5. .Net6 JsonResult 格式化时间数据
  6. app字体大小会随着系统字体大小变化
  7. linux rss 内存分析,Linux进程内存分析pmap命令
  8. 有关vue源码的简单实现 实现一个属于自己的min-vue
  9. 女生学UI还是软件测试好?
  10. 6.物体的几何表示——参数曲面+参数曲线