EOS实际开发流程

<!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:仿宋_GB2312; panose-1:2 1 6 9 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:modern; mso-font-pitch:fixed; mso-font-signature:1 135135232 16 0 262144 0;} @font-face {font-family:楷体_GB2312; panose-1:2 1 6 9 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:modern; mso-font-pitch:fixed; mso-font-signature:1 135135232 16 0 262144 0;} @font-face {font-family:"/@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:"/@仿宋_GB2312"; panose-1:2 1 6 9 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:modern; mso-font-pitch:fixed; mso-font-signature:1 135135232 16 0 262144 0;} @font-face {font-family:"/@楷体_GB2312"; panose-1:2 1 6 9 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:modern; mso-font-pitch:fixed; mso-font-signature:1 135135232 16 0 262144 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:595.3pt 841.9pt; margin:72.0pt 87.65pt 72.0pt 87.65pt; mso-header-margin:42.55pt; mso-footer-margin:49.6pt; mso-paper-source:0; layout-grid:15.6pt;} div.Section1 {page:Section1;} -->

EOS 流程开发实例

一、任务要求

    徐州管道操作系统申请流程管理,首先由申请人填写申请表,然后将申请表提交给信息部门负责人审批,最后由信息部门负责人转派系统管理员为此申请人分配操作系统登录的账号与密码。表 1 为操作系统用户申请表。

 

操作系统用户申请表

 

单位/ 部门

 

申请人

 

申请时间

 

服务器名称

 

IP 地址

 

申请账号原因/ 用途

 

用户名

 

密码

 

系统管理员

 

信息部审批

 

1

二、开发步骤

1 、数据库表的开发

A 、新建业务流程表

    每个流程都应该具有四张表: IPTWF_****_DUPLICATE IPTWF_****_LINK IPTWF_****_TASK IPTWF_****_MAIN 。它们的建表语句如下:

create table IPTWF_****_DUPLICATE

(

  DUPLICATE_ID       NUMBER(12) not null,

  MAIN_ID             NUMBER(12),

  PROCESS_INST_ID    NUMBER(12),

  FROM_USER_ID      VARCHAR2(32),

  FROM_USER_NAME    VARCHAR2(32),

  TO_USER_ID        VARCHAR2(32),

  TO_USER_TYPE      VARCHAR2(32),

  TO_USER_NAME      VARCHAR2(32),

  SEND_TIME         DATE,

  ACTIVITY_DEF_ID   VARCHAR2(32),

  ACTIVITY_DEF_NAME VARCHAR2(32),

  ACCEPT_FLAG       NUMBER(1),

  ACCEPT_TIME       DATE,

  DELETED_FLAG      NUMBER(1)

);

comment on column IPTWF_****_DUPLICATE.DUPLICATE_ID

  is ' 抄送表 ID';

comment on column IPTWF_****_DUPLICATE.MAIN_ID

  is ' 工单 ID';

comment on column IPTWF_****_DUPLICATE.PROCESS_INST_ID

  is ' 流程实例 ID';

comment on column IPTWF_****_DUPLICATE.FROM_USER_ID

  is ' 发送者 ID';

comment on column IPTWF_****_DUPLICATE.FROM_USER_NAME

  is ' 发送者名称 ';

comment on column IPTWF_****_DUPLICATE.TO_USER_ID

  is ' 接收抄送人 ID';

comment on column IPTWF_****_DUPLICATE.TO_USER_TYPE

  is ' 接收抄送人类型 ';

comment on column IPTWF_****_DUPLICATE.TO_USER_NAME

  is ' 接收抄送人中文名 ';

comment on column IPTWF_****_DUPLICATE.SEND_TIME

  is ' 发送时间 ';

comment on column IPTWF_****_DUPLICATE.ACTIVITY_DEF_ID

  is ' 发送所处的环节 ID';

comment on column IPTWF_****_DUPLICATE.ACTIVITY_DEF_NAME

  is ' 发送所处的环节名称 ';

comment on column IPTWF_****_DUPLICATE.ACCEPT_FLAG

  is ' 是否已打开查看 ';

comment on column IPTWF_****_DUPLICATE.ACCEPT_TIME

  is ' 第一次打开时间 ';

comment on column IPTWF_****_DUPLICATE.DELETED_FLAG

  is ' 是否已删除 ';

alter table IPTWF_****_DUPLICATE

  add constraint PK_****_DUPLICATE_ID primary key (DUPLICATE_ID);

 

create table IPTWF_****_LINK

(

  LINK_ID             NUMBER(12) not null,

  PHASE_ADVICE_FLAG   NUMBER(1),

  MAIN_ID             NUMBER(12),

  PROCESS_INST_ID     NUMBER(12),

  ACTIVITY_DEF_ID     VARCHAR2(64),

  ACTIVITY_INST_NAME  VARCHAR2(64),

  ACTIVITY_INST_ID    NUMBER(12),

  OPERATE_TYPE        NUMBER(12),

  OPERATE_TIME        DATE,

  OPERATE_USER_ID     VARCHAR2(50),

  OPERATE_DEPT_ID     NUMBER(12),

  OPERATE_CONTACT     VARCHAR2(32),

  OPERATE_ROLE_ID     VARCHAR2(32),

  NEXT_ACCEPT_LIMIT   DATE,

  NEXT_COMPLETE_LIMIT DATE,

  ACCEPT_TIME         DATE,

  ACCEPT_FLAG         NUMBER(12),

  COMPLETE_TIME       DATE,

  COMPLETE_FLAG       NUMBER(12),

  SHEET_ACCESSORIES   VARCHAR2(256),

  REMARK              VARCHAR2(256),

  WORKITEM_ID         NUMBER(12),

  OPERATE_USER_NAME   VARCHAR2(50),

  NEXTSTEPPROCESSOR   VARCHAR2(256),

  DESCRIPTION         VARCHAR2(256)

);

comment on column IPTWF_****_LINK.LINK_ID

  is 'link 表主键 ';

comment on column IPTWF_****_LINK.PHASE_ADVICE_FLAG

  is ' 阶段建议标志,默认为空, 1 :阶段建议 ';

comment on column IPTWF_****_LINK.MAIN_ID

  is 'main 表主键 ';

comment on column IPTWF_****_LINK.PROCESS_INST_ID

  is ' 流程实例 id';

comment on column IPTWF_****_LINK.ACTIVITY_DEF_ID

  is ' 活动定义 id';

comment on column IPTWF_****_LINK.ACTIVITY_INST_NAME

  is ' 活动项名称 ';

comment on column IPTWF_****_LINK.ACTIVITY_INST_ID

  is ' 活动实例 id';

comment on column IPTWF_****_LINK.OPERATE_TYPE

  is ' 操作类型: 1. 普通处理 ,2 转派 ,3 驳回 ,4 直接提交 ,5 阶段回复 ,6 终止流程 ';

comment on column IPTWF_****_LINK.OPERATE_TIME

  is ' 操作时间 ';

comment on column IPTWF_****_LINK.OPERATE_USER_ID

  is ' 操作人 ';

comment on column IPTWF_****_LINK.OPERATE_DEPT_ID

  is ' 操作部门 ';

comment on column IPTWF_****_LINK.OPERATE_CONTACT

  is ' 操作人联系方式   ';

comment on column IPTWF_****_LINK.OPERATE_ROLE_ID

  is ' 操作人角色 ';

comment on column IPTWF_****_LINK.NEXT_ACCEPT_LIMIT

  is ' 当前操作人对下一环节的接单时限要求:接单时限 ( 派单操作专用 ) 回复时限 ';

comment on column IPTWF_****_LINK.NEXT_COMPLETE_LIMIT

  is ' 当前操作人对下一环节的完成时限要求:回复时限 ( 派单操作专用 )';

comment on column IPTWF_****_LINK.ACCEPT_TIME

  is ' 接单时间 ( 接单操作专用 )';

comment on column IPTWF_****_LINK.ACCEPT_FLAG

  is ' 接单及时标志 ( 接单操作专用 )';

comment on column IPTWF_****_LINK.COMPLETE_TIME

  is ' 回复时间 ( 回单操作专用 )';

comment on column IPTWF_****_LINK.COMPLETE_FLAG

  is ' 回复及时标志 ( 回单操作专用 )';

comment on column IPTWF_****_LINK.SHEET_ACCESSORIES

  is ' 附件,如果在一个页面中有多个附件分组,那么就建立多个字段,分别记录 ';

comment on column IPTWF_****_LINK.REMARK

  is ' 处理意见 ';

comment on column IPTWF_****_LINK.WORKITEM_ID

  is ' 工作项 id';

comment on column IPTWF_****_LINK.OPERATE_USER_NAME

  is ' 操作中文名 ';

comment on column IPTWF_****_LINK.NEXTSTEPPROCESSOR

  is ' 下一步处理者 ';

comment on column IPTWF_****_LINK.DESCRIPTION

  is ' 处理描述 ';

alter table IPTWF_****_LINK

  add constraint PK_****_LINK_ID primary key (LINK_ID);

 

create table IPTWF_****_TASK

(

  TASK_ID                 NUMBER(12) not null,

  PROCESS_INST_ID         NUMBER(12),

  ACTIVITY_DEF_ID         VARCHAR2(64),

  ACTIVITY_INST_NAME      VARCHAR2(64),

  ACTIVITY_INST_ID        NUMBER(12),

  WORKITEM_ID             NUMBER(12),

  TASK_ACCEPT_LIMIT       DATE,

  FROM_USER_ID            VARCHAR2(50),

  FROM_USER_NAME          VARCHAR2(64),

  ACCEPT_FLAG             NUMBER(12),

  TASK_COMPLETE_LIMIT     DATE,

  COMPLETE_TIME           DATE,

  COMPLETE_FLAG           NUMBER(12),

  TASK_TYPE                NUMBER(12),

  CREATE_TIME             DATE,

  OPERATE_TIME            DATE,

  MAIN_ID                 NUMBER(12),

  ROOT_PROCESS_INST_ID    NUMBER(12),

  ROOT_ACTIVITY_INST_ID   NUMBER(12),

  ROOT_WORKITEM_ID        NUMBER(12),

  PARENT_PROCESS_INST_ID  NUMBER(12),

  PARENT_ACTIVITY_INST_ID NUMBER(12),

  PARENT_WORKITEM_ID      NUMBER(12),

  DRAW_FLAG               NUMBER(12),

  READ_FLAG               VARCHAR2(10),

  ACCEPT_TIME             DATE,

  LOCKOWNER               VARCHAR2(32)

);

comment on column IPTWF_****_TASK.TASK_ID

  is 'task 表主键 ';

comment on column IPTWF_****_TASK.PROCESS_INST_ID

  is ' 流程实例 id';

comment on column IPTWF_****_TASK.ACTIVITY_DEF_ID

  is ' 活动定义 id';

comment on column IPTWF_****_TASK.ACTIVITY_INST_NAME

  is ' 活动项名称 ';

comment on column IPTWF_****_TASK.ACTIVITY_INST_ID

  is ' 活动实例 id';

comment on column IPTWF_****_TASK.WORKITEM_ID

  is ' 工作项 id';

comment on column IPTWF_****_TASK.TASK_ACCEPT_LIMIT

  is ' 接单时限 ';

comment on column IPTWF_****_TASK.FROM_USER_ID

  is ' 上一步处理人 ID';

comment on column IPTWF_****_TASK.FROM_USER_NAME

  is ' 上一步处理人名称 ';

comment on column IPTWF_****_TASK.ACCEPT_FLAG

  is ' 接单及时标志 ';

comment on column IPTWF_****_TASK.TASK_COMPLETE_LIMIT

  is ' 回复时限 ';

comment on column IPTWF_****_TASK.COMPLETE_TIME

  is ' 回复时间 ';

comment on column IPTWF_****_TASK.COMPLETE_FLAG

  is ' 回复及时标志 ';

comment on column IPTWF_****_TASK.TASK_TYPE

  is 'task 类型: 2008-11-18 添加:主工单( 1 )、子工单( 2 )、抄送任务产生的( 3 ';

comment on column IPTWF_****_TASK.CREATE_TIME

  is 'task 记录生成时间 ';

comment on column IPTWF_****_TASK.OPERATE_TIME

  is ' 操作时间 ';

comment on column IPTWF_****_TASK.MAIN_ID

  is ' main 表工单主键 ';

comment on column IPTWF_****_TASK.ROOT_PROCESS_INST_ID

  is ' 发起子流程的根流程实例 ID';

comment on column IPTWF_****_TASK.ROOT_ACTIVITY_INST_ID

  is ' 发起子流程的根活动实例 id';

comment on column IPTWF_****_TASK.ROOT_WORKITEM_ID

  is ' 发起子流程的根工作项 id';

comment on column IPTWF_****_TASK.PARENT_PROCESS_INST_ID

  is ' 发起子流程的父流程实例 id';

comment on column IPTWF_****_TASK.PARENT_ACTIVITY_INST_ID

  is ' 发起子流程的父活动实例 id';

comment on column IPTWF_****_TASK.PARENT_WORKITEM_ID

  is ' 发起子流程的父工作项 id';

comment on column IPTWF_****_TASK.DRAW_FLAG

  is ' 是否已领取 ,1 :领取, 0 :未领取 ';

comment on column IPTWF_****_TASK.READ_FLAG

  is ' 是否查看抄送: 1 表式已查看;对应的 task_type 3';

comment on column IPTWF_****_TASK.ACCEPT_TIME

  is ' 接单时间 ';

comment on column IPTWF_****_TASK.LOCKOWNER

  is ' 上锁人 UESR_ID';

alter table IPTWF_****_TASK

  add constraint PK_****_TASK_ID primary key (TASK_ID);

 

create table IPTWF_****_MAIN

(

  MAIN_ID                NUMBER(12) not null,

  PROCESS_INST_ID        NUMBER(12),

  SHEET_ID               VARCHAR2(128),

  TITLE                  VARCHAR2(128),

  DETAIL                 VARCHAR2(1024),

  ANNEX                  VARCHAR2(256),

  STATUS                 NUMBER(12),

  SEND_TIME              DATE,

  SEND_USER_ID           VARCHAR2(50),

  SEND_USER_NAME         VARCHAR2(32),

  SEND_DEPT_ID           NUMBER(12),

  SEND_CONTACT           VARCHAR2(32),

  SEND_ROLE_ID           VARCHAR2(32),

  END_TIME               DATE,

  END_USER_ID            NUMBER(12),

  END_USER_NAME          VARCHAR2(32),

  END_DEPT_ID            NUMBER(12),

  END_CONTACT            VARCHAR2(32),

  END_ROLE_ID            VARCHAR2(32),

  DELETED                NUMBER(12),

  PARENT_MAIN_ID         NUMBER(12),

  PARENT_PROCESS_INST_ID NUMBER(12),

  PARENT_ACTIVITY_ID      NUMBER(12),

  PARENT_WORKITEM_ID     NUMBER(12),

  MAIN_

);

comment on column IPTWF_****_MAIN.MAIN_ID

  is 'main 表主键 ';

comment on column IPTWF_****_MAIN.PROCESS_INST_ID

  is ' 流程实例 id';

comment on column IPTWF_****_MAIN.SHEET_ID

  is ' 工单流水号 ';

comment on column IPTWF_****_MAIN.TITLE

  is ' 工单标题 ';

comment on column IPTWF_****_MAIN.DETAIL

  is ' 工单信息的详细描述 ';

comment on column IPTWF_****_MAIN.ANNEX

  is ' 新建工单附件,如果有多个附件,用逗号区分(如: 111 112 ';

comment on column IPTWF_****_MAIN.STATUS

  is ' 工单状态: 0: 草稿   1 新建 2 :已分配、 3 :退回、 4 :处理中、 5 :已解决、 6 :已关闭 ';

comment on column IPTWF_****_MAIN.SEND_TIME

  is ' 派单时间,流程第一个环节的生成时间 ';

comment on column IPTWF_****_MAIN.SEND_USER_ID

  is ' 建单 id';

comment on column IPTWF_****_MAIN.SEND_USER_NAME

  is ' 建单人 ';

comment on column IPTWF_****_MAIN.SEND_DEPT_ID

    is ' 建单人部门 ';

comment on column IPTWF_****_MAIN.SEND_CONTACT

  is ' 建单人联系方式 ';

comment on column IPTWF_****_MAIN.SEND_ROLE_ID

  is ' 建单人角色 ';

comment on column IPTWF_****_MAIN.END_TIME

  is ' 结束时间 ';

comment on column IPTWF_****_MAIN.END_USER_ID

  is ' 结束人 ID';

comment on column IPTWF_****_MAIN.END_USER_NAME

  is ' 结束人 ';

comment on column IPTWF_****_MAIN.END_DEPT_ID

  is ' 结束人部门 ';

comment on column IPTWF_****_MAIN.END_CONTACT

  is ' 结束人联系方式 ';

comment on column IPTWF_****_MAIN.END_ROLE_ID

  is ' 结束人角色 ';

comment on column IPTWF_****_MAIN.DELETED

  is ' 是否有效: 0 :有效、 1 无效 ';

comment on column IPTWF_****_MAIN.PARENT_MAIN_ID

  is 'a 工单触发 b 工单, a 工单的主键,父子流程,记录在子流程中。 ';

comment on column IPTWF_****_MAIN.PARENT_PROCESS_INST_ID

  is 'a 工单触发 b 工单, a 工单的流程实例 ';

comment on column IPTWF_****_MAIN.PARENT_ACTIVITY_ID

  is 'a 工单触发 b 工单, a 工单的活动实例 ';

comment on column IPTWF_****_MAIN.PARENT_WORKITEM_ID

  is 'a 工单触发 b 工单, a 工单的工作项 ';

alter table IPTWF_****_MAIN

add constraint FK_****_MAIN_ID primary key (MAIN_ID);

B 、表说明

    其中 **** 由具体的项目名称和流程以及业务名称组成,例如:徐州管道的操作系统用户申请流程对应的表为 IPTWF_XZGD_OSUSERAPPLY_MAIN IPTWF_XZGD_OSUSERAPPLY_LINK IPTWF_XZGD_OSUSERAPPLY_TASK IPTWF_XZGD_OSUSERAPPLY_DUPLICATE 。只有 MAIN 表需要修改,其余的三张表不需要改变,根据操作系统用户申请表单中的信息在 MAIN 表中添加相应的字段信息,字段的命名方式为“ MAIN_ 能表示实际字段意思的字母或英文单词缩写”。

2 EOS 配置

A 、新建流程构件包

    流程构件包的命名方式:项目名 + 流程名,例如:xzgdOSUserApply

B 、定制流程图

    根据具体的业务逻辑,画出此业务的流程图,流程图命名方式:构件包名 +Workflow 。徐州管道操作系统用户申请的流程图如下:

 

                               1

C 、定制数据模型

    将刚开始建立的四张表定制成相应的数据模型,如图 2 所示:

2

3 Web 配置

A 、流程业务字典配置

    root 账户登录,进行 Web 配置,如图 3 是在业务字典类型中添加此流程的状态字典,如图 4 是徐州管道操作系统申请管理流程的业务字典的添加。

3

4

B 、流程配置

    添加流程配置信息,如图 5 所示:

                                   5

    点击流程配置信息的录入主表,进入图 6 所示,将要用到的字段添加到已入库,以便在页面显示。点击完录入主表后,字段定义配置就自动完成了。

6

C 、组定义配置

    页面上有可能需要将主表字段分组显示,所以要建立几个组配置以便页面上有效地控制各字段的显示。如图 7 添加组定义配置。

7

D 、连线配置

    添加连线定义配置,如图 8 所示,选择起始环节和结束环节确定一条唯一的连线,根据要求填写其他信息。

8

    添加完连线配置后,为此连线配置连线操作人,如图 9 所示

9

E 、活动定义配置

    添加活动定义配置,如图 10 所示:

10

再为此活动配置组关系如图 11 和配置字段信息如图 12

11

    选中的组可以在进行此活动时显示此组的信息

12

    选中的字段在进行此活动时是可编辑的

4 EOS 开发

    完成前三步后,就可以开发其他功能了,如 JSP 的开发、页面流的开发、逻辑流的开发、逻辑构件、命名 SQL 等等。如徐州管道操作系统申请流程管理中的页面流的开发,如图 13 所示:

13

    14 为徐州管道操作系统申请流程管理中的命名 SQL 的开发

14

三、功能测试

    15 和图 16 分别是流程走完之后的工单信息和打印效果

 

 

 

 

15

 

16

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值