流风ASP.NET框架商业版-工作流1.0简介

工作流简介

在流风ASP.NET框架商业版1.0推出后,就有集成工作流的想法,但是由于工作繁忙和其他事情的耽搁,时隔半年之久工作流1.0的版本才姗姗来迟,采用sliverlight开发了流程设计器,能够实现基本的工作流程的控制,并集成邮件和短信通知的功能,还有诸多不完善的地方,在以后版本中会根据大家的意见完善不足之处,以下将1.0的版本做一个大概的介绍

流程设计器简介

在线流程设计器采用sliverlight开发,如下图,流程控件分为【开始】,【活动】,【条件】,【转移线】,【标签】,【结束】

在属性区域展示的是整个流程的属性,其中关联程序是在框架中程序管理中定义的

【活动节点】介绍

活动节点就是流程流转的任务节点,主要处理流转到这个节点的定义的动作,如下图,活动类型分为【审核】和【通知】,【审核】主要是该步骤指定的审批人执行审批动作,【通知】类型为自动任务,在1.0的版本中定义为向流程发起人发送邮件或者短信通知,如果是审核类型,需要指定该步骤的审批人,审批类型和向审批人发送通知的方式。

审批人的选择是集成框架中的用户,类型分为流程发起人和指定审批人

【条件节点】介绍

条件节点类型分为【审核结果】和【条件跳转】2个类型,如果类型为【审核结果】,则根据上个活动节点的审批结果来自动判断下个步骤节点,如果是【条件跳转】类型,则会根据设置的条件来判断下个流转步骤节点。

导出流程数据

流程实例

以下我们将演示一个流程实例来讲述流程的使用步骤,流程实例:考勤申请

1.设置使用流程的程序模块,如下图,勾选【流程开关】和设置条件参数,这里设置的流程参数是考勤申请的申请天数

2.创建设计流程,如下流程图,这是一个稍微有点复杂的审核流程,
【部门经理审核】指定的审批人为w02,
【行政主管审批】的节点的审批类型是【并签】,指定的审批人账号是w03和w04,
【总经理审核】指定审批人账号为w05,
【申请人销假】指定的审批人为流程发起人,即申请人处理销假动作,
【通知】节点类型为通知,是系统自动处理,发送邮件或者短信给申请人

2.设置流程使用人,一个程序可能有多个流程,因为不同部门针对同一个程序可能有不同的审批节点和审批人,因此一个程序模块可能存在多个流程,因此需要为流程设置使用人

3.发起【考勤申请】流程,这里是以w01登录并发起考勤申请,天数为2天,保存申请后需要提交审核后才开始流程,如下图

提交审核后可以查看审核,可以查看审核的进度情况,这里审批人为w02,在这个节点设置了邮件通知,w02用户的邮箱就会收到一个审核信息的邮件通知,如下图

w02用户登录系统,在【我的待办工作】中就能看到用户w01提交的申请审核信息,点击处理进入处理审批动作

在流程设计器中设置活动节点的属性时,如果没有显式指定审核处理页面,则审批时进入默认的审批界面进行处理,如下图

w02处理完以后,能在【我的已办工作】中查询已办的工作情况,

申请人可以在【工作流程查询】中查询流程的处理情况,根据设计的流程,请假天数小于3天,则流程下个步骤为【申请人销假】

申请人w01登录系统,处理【申请人销假】动作,在流程中,这一步骤指定了处理页面,在【我的待办工作】中点击【处理】进入指定的页面,进行销假

申请人处理完【申请人销假】步骤后,流程自动流转到下个节点【通知】,这个步骤类型为【通知】,是系统自动处理任务,发送短信或者邮件给申请人,完成后结束整个流程

至此一个完整的【考勤申请】流程就完成了,通过流程设计,我们可以灵活设计流程各种处理方式,可以邮件和短信通知流程的每个审批人和添加自动处理任务通知流程发起人,在以后的版本中将增加更多的细节功能!

流风ASP.NET框架商业版-工作流1.0简介的更多相关文章

  1. 微擎框架商业版 V2.1.2 去后门一键安装版+去除云平台+无附带模块

    下载地址:http://dd.ma/AdVvoDu5 关注微信公众号codervip,点击公众号菜单,获取提取码! 这个是一键安装版本,所以微擎安装比较简单,不用大家手动去改数据库了,而且修复上个2. ...

  2. 程序设计模式浅析(plain framework商业版设计模式)

    程序设计其实对程序开发者来说十分重要,但是在工作中往往我们却忽略了这一块,因为我们所用的都是现有的模式.一个设计模式的好坏,往往能够体现出程序的专业性,还有整个项目的可持续性.这就是为什么有些公司,在 ...

  3. ASP.NET MVC分页组件MvcPager 2.0版发布暨网站全新改版

    MvcPager分页控件是在ASP.NET MVC Web应用程序中实现分页功能的一系列扩展方法,该分页控件的最初的实现方法借鉴了网上流行的部分源代码, 尤其是ScottGu的PagedList< ...

  4. ESASP 业界第一个最为完善的 ASP MVC框架(待续)

    EchoSong 疯狂了,竟然整ASP框架. ASP就是抛弃的孩子,没人养没人疼的, 智力.四肢不全.何谈框架?? 很多ASP的前辈们要么放弃ASP 投入 ASP.net 或者 PHP怀抱.要么直接用 ...

  5. 企业级分布式应用服务EDAS _Dubbo商业版_微服务PaaS平台 【EDAS Serverless 运维 创业】

    企业级分布式应用服务EDAS _Dubbo商业版_微服务PaaS平台_分布式框架 - 阿里云https://www.aliyun.com/product/edas?source_type=yqzb_e ...

  6. atitit.商业版 源码保护 与 java本地原生代码转换 的方案总结

    atitit.商业版 源码保护 与 java本地原生代码转换 的方案总结 1. 为什么虚拟机语言容易被反编译 1 2. 源码泄露的问题问题 1 3. Excelsior JET 1 4. gcj.的流 ...

  7. plain framework 商业版 开发总结1 updated

    每天对着不同的计划,多多少少有一种无形的压力.特别是对技术不好的我来说,过程中遇到的问题实在不少,时常纠结良久.时间慢慢流逝,最后虽然感觉有些不足,但是也不至于差强人意.商业版的PF核心已经升级到1. ...

  8. 深入了解asp.net框架。生命周期以及事件处理机制

    刚接触asp.net框架觉得很好奇.他的快速开发是怎么实现的.控件的状态又是怎么保持的.我们都知道http是无状态的.而且网上很多人都说使用asp.net框架使用服务器框架是非常慢的. 带着这些疑问我 ...

  9. [置顶] Asp.Net底层原理(二、写自己的Asp.Net框架)

    我们介绍过了浏览器和服务器之间的交互过程,接下来介绍Asp.net处理动态请求. 写自己的Asp.Net框架,我们不会引用System.Web这个程序集,我们只需要创建要给自己的类库,所以在接下来的程 ...

随机推荐

  1. java笔记5之逻辑运算符以及&&与&的区别

    1 &逻辑与:有false则false.         |逻辑或:有true则true.         ^逻辑异或:相同为false,不同为true.            举例:情侣关系 ...

  2. SYNATXAHIGHLIGHTER IN WLW HAS PROBLEMS

    System.Reflection.TargetInvocationException: 调用的目标发生了异常. ---> System.ArgumentException: 字体“Consol ...

  3. iOS--创建uiscrollview

    //创建uiscrollview self.PageHeight = self.view.bounds.size.height; self.PageWidth = self.view.bounds.s ...

  4. nginx 配置自签名的ssl证书

    最近要搭一个https的测试环境,使用nginx做反向代理. 网上找过不少资料,但过程不是很完整,吃了不少亏,故把自己的操作过程总结下来.如果你刚好遇到这个问题,希望对你有帮助! ********** ...

  5. Javascript:DOM表格操作

    需求说明: /* *需求说明: *获取元素:tBodies,tHead,tFoot,rows,cells *表格的创建 *数据添加 *隔行变色 *删除操作,剩余表格重新计算,实现隔行变色 */ HTM ...

  6. EditText设置可以编辑和不可编辑状态

    1.首先想到在xml中设置android:editable="false",但是如果想在代码中动态设置可编辑状态,没有找到对应的函数 2.然后尝试使用editText.setFoc ...

  7. Android全局变量使用

    1.通过一个Data.java实例类,能够实现全局数据保存,这里就不多说了,学Java的都知道. 2.Android特有的Application,是应用的入口,执行贯穿整个app执行过程,能够在这个类 ...

  8. linux下mysql的卸载、安装全过程

    卸载mysql 1.查找以前是否装有mysql 命令:rpm -qa|grep -i mysql 可以看到mysql的两个包: mysql-4.1.12-3.RHEL4.1 mysqlclient10 ...

  9. 2d-x中Lua类型强转问题

    在Lua中,使用CCDictionary进行保存CCSprite对象,但是,在CCDictionary取出来的时候,此时是一个CCObject对象,无法调用子类精灵的一些方法.那只能进行强转的. 那么 ...

  10. Layout( 布局)

    一. 加载方式//class 加载方式<div id="box" class="easyui-layout"style="width:600px ...