目标:通过Oracle Workflow做一个简单的请假申请工作流,效果:经理接到流程后,可以Approve,也可以Reject。

File > Quick Start Wizard

Item Type名字取得不好,让人不好理解,实际上Item Type可以就理解为工作流程序,一个Item Type下边,有一个或者多个Process,Process是工作流的核心。

Persistence Type:

Permanent:产生工作流信息永久性的保存,不会被清除掉,很少有流程要设置成permanent
Temporary:工作流信息允许被清除,对于工作流的信息一般都没有必要长期保存,记录将来被清除掉,一般情况我们都会把这个选项设置为Temporary,并且可以在Number Of Days中设置多少天后可以清除信息。

Oracle提供了一个Concurrent Program "Oracle Workflow Purge Obsolete Data"用于清除过期的Workflow数据。

定义一个Notification,这个Notification是给老板看的,让老板知道我们的请假申请。

定义一个Message,里边协商我们想请假的原因

这个Message默认是给Notification'Leave Request'用的,所以我们最好把Message的名字和Notification的名字保持一致,这样一眼就能看出之间的对应关系。

Message的Priority类似于邮件的优先级,可以Normal,High,Low

然后切换到Message的Body页签,输入通知内容的信息。

然后再重新打开‘Leave Request’ Notfication的属性面板,在Message项上关联刚才新定义的Message

定义一个Attribute,用于指定我们的Manager

Attribute相当于全局变量。因为我们的请假流程需要老板审批,我们需要告诉工作流,老板是谁。

接下来,双击Default Process,就能看到下边的工作流图

刚开始就会有'Start',‘End’两个基本组件被包含进来(这两个组件实际上是从‘Standard’ Item Type中继承过来的)

接下来,在流程中新增一个Notification图标

在Node页签中,指定Performer为Manager,这里Performer指的就是谁来查看或者处理这条notification

鼠标右键拖拽,连接Start -> Leave Request -> End

这样一个最简单的请假通知工作流就做完了。保存成wft文件,并上传到Server上。并执行工作流命令来把wft文件上传到数据库中。

WFLOAD apps/apps 0 Y UPLOAD PTLEAVE.wft

(在真实运行过程中,系统是不会读取wft文件的,只会读取数据库中的工作流定义)

接着登陆到系统,职责:Workflow Administrator Web Applications,功能:Developer Studio,'Type Internal Name'为工作流的Item Type的Internal Name,找到后点击‘Run’按钮(如果你看不到这个按钮,需要切换到sysadmin用户)

Run之后,指定Manager,这样Manager用户登录后在Notification下就能看到消息了

OK之后,工作流就变成Closed状态

这就是一个最简单的请假工作流通知的做法

接下来对现有的工作流稍作改动,给Manager增加允许或者拒绝的选项。

1.增加一个lookup,用于表明同意请假,拒绝请假

2.增加两个Message,用于标明,同意,或拒绝
3.相应的增加两个Notification,注意OK和NO的通知,需要选择Employee Role,这样manager在审批后,Employees可以看到

在流程图中连接各个Activities

为了让Manager看到更丰富的信息,可以在Leave Approval Message中,增加若干个Attributes.

比如经理的名字,员工的名字,请假的起始日期,结束日期...

在Message Body中,用&Attribute的样式引用上边定义的私有属性

上传wft文件到服务器上,并加载到数据库中,同样以sysadmin用户登录,Run

在下表中填入入口Attribute,Manager的姓名,员工的姓名,请假起始日期,结束日期

Administration > Notification Search,在To栏位搜索Manager的名字

就能看到经理Brown, Casey下的通知,经理就可以审批这个工作流了

这个案例的工作流文件已经上传到了新浪微盘上了,有兴趣可以参考下

TPLEAVE_Sample.wft

Oracle Workflow Demo (1) - 一个简单的请假申请工作流相关推荐

  1. oracle制作假数据,Oracle Workflow Demo (一) - 一个简单的请假申请工作流

    Oracle Workflow Demo (1) - 一个简单的请假申请工作流 目标:通过Oracle Workflow做一个简单的请假申请工作流,效果:经理接到流程后,可以Approve,也可以Re ...

  2. Oracle Workflow Demo 1 - 一个简单的请假申请工作流

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 目标:通 ...

  3. 基于 Spring Boot 2.x 使用 Activiti 创建一个简易的请假流程

    文章目录 1 摘要 2 准备工作 3 请假流程图 3 核心代码 3.1 数据库表 3.2 流程管理工具类 3.3 流程的使用 4 推荐参考资料 5 Github 源码 ​ ​ ​ 1 摘要 工作流是需 ...

  4. 路由到另外一个页面_一个简单的Vue按钮级权限方案

    在年初开发一个中后台管理系统,功能涉及到了各个部门(产品.客服.市场等等),在开始的版本中,我和后端配合使用了花裤衩手摸手系列的权限方案,前期非常nice,但是慢慢的随着功能增多.业务越来越复杂,就变 ...

  5. 为什么函数lamda显示权限不足_一个简单的Vue按钮级权限方案

    在年初开发一个中后台管理系统,功能涉及到了各个部门(产品.客服.市场等等),在开始的版本中,我和后端配合使用了花裤衩手摸手系列的权限方案,前期非常nice,但是慢慢的随着功能增多.业务越来越复杂,就变 ...

  6. 一个简单的FastAPI入门项目

    FastAPI Demo项目 一个简单的使用FastAPI框架搭建的服务,包含了基本的数据库链接以及CRUD操作.请求体模式的定义.基本路径操作函数的编写等,非常适合fastapi入门者. 说明: 1 ...

  7. SSH框架连接Oracle的一个简单项目

    SSH框架连接Oracle的一个简单项目 项目准备 知识准备 软件 实操 代码 页面展示 遇到的问题 项目准备 知识准备 下面是我一个新手对于本次项目的了解: 我们是使用spring整合struts2 ...

  8. 一个简单的Webservice的demo(中)_前端页面调用

    首先新建项目,这里有两种调用方式,为了能方便理解,新建页面WebserviceTest如下图: 先引用写好的服务,这里用上次写好的服务.见上次写的一个简单的Webservice的demo,简单模拟服务 ...

  9. java 基础api实现上传,上传文件到7牛云存储的java api一个简单的demo实现

    最近在做一个项目,需要用到云存储,项目用的是七牛云.现在将项目过程中关于调用七牛云平台的java api来上传本地文件到七牛云空间的一个简单的demo展示给大家,希望对同样再用七牛云的童鞋们有所帮助. ...

最新文章

  1. 天猫权益平台如何10倍的提升数据库查询响应时间
  2. 树莓派中找不到/dev/video0的解决方案及RaspberryCam的使用
  3. codevs 3164 质因数分解
  4. php数据结构链表代码,数据结构之线性表——链式存储结构之单链表(php代码实现)...
  5. 记录知识点或技术方案信息
  6. 8万行的insert数据,Ctrl+c、Ctrl+v后心态崩了(如何在Linux下对MySQL数据库执行sql文件)...
  7. matlab fwrite 多字节,单片机多字节串口接收
  8. 取消冒泡的兼容性写法
  9. vs2010安装番茄插件
  10. windows ping 端口
  11. Vue + Spring Boot 项目实战(十):图片上传与项目的打包部署
  12. 东莞:“风暴眼”中的世界工厂
  13. java早餐点餐外卖网站系统
  14. R语言数据可视化-箱线图
  15. 微信小程序真机调试:createEvent is not a function
  16. 【计算机网络】 课程大作业:利用Wireshark抓包并进行分析
  17. BootLoader是什么 转载至百度百科
  18. 坐标变换(平移、旋转与缩放)
  19. PHP商城 商品模块 数据库 表设计
  20. SkipList ----- 跳表

热门文章

  1. Swift throws 处理
  2. CF#333(Div2) C. The Two Routes(最短路)
  3. CF342D Xenia and Dominoes
  4. GooglePlay内购In-app SDK接入
  5. kafka分区无leader
  6. 找到两个字符串重合的部分
  7. 远程登录到Windows
  8. UI一揽子计划 6 (UIControl、UISegmentedControl、UIImageView插入数组图片、UISlider)
  9. java 虚拟机的存储_《深入理解java虚拟机》之内存模型与安全
  10. matlab实现随机攻击网络节点+蓄意攻击网络节点(1)