基于WPS的工单教程.docx
《基于WPS的工单教程.docx》由会员分享,可在线阅读,更多相关《基于WPS的工单教程.docx(18页珍藏版)》请在冰豆网上搜索。
基于WPS的工单教程
一、开发环境配置:
1.WPS安装和基本配置:
2.MQ配置:
3.流程服务器连接配置
二、WID下的项目配置
1.模块
添加项目应用程序JAR:
eomslib.jar、gpmlib.jar
2.安全性
收集安全性并配置为“所有已认证的用户”
3.部署
将应用程序(gpmEAR、gpm.war)类装入器方式修改为后加载父类方式
4.模块依赖
在模块依赖中选中eomslib.jar和gpmlib.jar
三、业务分析和数据制作
a)业务分析和权限数据制作
1.分析工单需求,确认工单需要定义的角色、资源(功能)、菜单等信息(以生产任务工单为例)。
(1)流程图:
(2)确认工单在导航菜单中的位置
该工单显示为一级目录,如下图:
(3)根据用户需求定义角色
角色名称:
生产任务工单维护
职能:
工单派发、回复等所有操作
(4)定义工单资源
工单链接、派单、未接、已接、待归档、草稿、已派、已处理、已归档、已撤销、工单查询、工单权限查询
(5)定义角色资源关联关系
即某个角色能够使用哪些资源对应的功能。
b)根据确认的信息制作工单链接相关的数据。
数据制作顺序及说明:
(6)业务环节数据(opm_gpm_operationphase):
a.id和code原则上相等,便于维护
b.operationkingcode业务环节类型,工单业务都为20
(7)资源数据(opm_gpm_resource):
a.工单资源数据分2类,一类是菜单所用链接,一类为工单导航页面所用链接(如工单派发、已接、未接、已处理、查询、统计等等)。
b.id每一个业务根据实际情况都需要做一定的预留,已满足后期业务增长
(8)角色数据:
(opm_gpm_role):
a.id也需要为每个业务做预留
b.id和code原则上相等,便于维护
c.operationphaseid为对应的业务环节id
d.accessed为空
e.roletype角色类型字段,根据每个工单进行定义
(9)菜单文件夹数据(opm_gpm_menufolder):
a.displayorder代表该文件夹所处位置
b.如果存在多级菜单,则通过parent字段控制
(10)菜单节点数据(opm_gpm_menuitem):
a.id和资源数据id一致,2者为一对一关系,便于维护
b.resid资源数据id
c.menufolderid所属文件夹id
d.sys值为1
e.accessed值为空
(11)角色资源关联数据(opm_gpm_role_resource):
a.首先给角色分配对应的工单/功能的链接,比如故障工单派单角色,首先我们需要给将故障工单的链接给它。
b.然后根据业务进行分析,哪些角色需要哪些操作资源。
比如工单派发角色,对应的拥有该角色的人需要能够进行派单和归档操作,那么就需要将派单和归档的资源分配给该角色。
(12)权限分配并验证
a.系统管理员登录(用户)->给部门分配业务环节(业务环节)->在部门下创建职位(职位)->给职位分配用户(职位)->给用户分配权限(job_role)
b.权限分配也可以通过数据脚本方式向job_role表插入数据
(13)制作完成的数据脚本
c)工单表结构
(1)基表:
保存工单公有的基本信息
(2)特征表:
保存主工单CLOB、特有信息
(3)步骤表:
工单处理步骤信息(操作人、时间、状态)
(4)子表(子流程表):
子流程操作步骤和处理信息记录
(5)工单建表:
d)短信定制数据
(1)工单短信包含到达提醒和超时提醒
(2)分析确认工单需要包含哪些类型的短信
(3)短信表结构
短信也对应了一个资源数据,所以如果某个工单需要短信功能,必须给该工单的角色制作对应的角色资源数据。
(4)数据脚本:
四、程序开发
a)工单模板创建
工单界面呈现采用XML+XSL方式,因此需要在工单模板中定义每一个工单步骤的表单项等信息:
b)工单实体类以及hibernate映射文件
(1)特征表:
(2)子表:
c)工单导航页面开发
(1)原理说明:
工单导航界面的各项链接和之前定义的资源数据(resource)一一对应,在开发导航界面时需要根据用户当前职位下拥有的角色进行判断,用户无权操作的资源置为不可用状态。
(2)关键代码
定义工单涉及的资源ID:
从session中获取当前用户拥有的所有角色资源关联关系MAP,然后和当前工单资源进行匹配,实现对资源是否可用的控制:
(3)输出结果
d)工单输入界面开发
(1)原理说明
工单的输入界面(需填写工单内容)构建时,首先从工单XML模板中取出对应的步骤,然后根据每个表单项定义的数据来源对表单进行初始化,最后输出到页面上
(2)关键代码
(3)输出结果(以派单为例)
e)工单流转过程中对工单实体的操作
(1)工单派发时创建工单实体并初始化
(2)工单处理时对工单实体进行修改
f)对流程操作的功能开发(派单、撤销工单)
(1)原理说明
工单派发、启动子流程、撤销是针对流程实例的操作。
流程操作:
派单或启动子流程时,首先获取流程模板的信息,然后封装启动流程所需的数据对像,最后调用WPSAPI启动流程实例。
撤销工单时,首先根据业务信息获取工单流程实例的名称,然后调用WPSAPI通过流程实例名称终止流程实例。
流程从业务角度可以分为主流程和子流程,子流程通过parentid和主流程进行关联。
在终止主流程时通常需要将子流程先终止,避免出现错误。
(2)关键代码
派单:
撤销:
g)对任务操作功能的开发(回复、驳回工单等)
(1)原理说明
工单处理(回复、驳回等)是对流程实例中当前活动状态任务(唯一)的操作。
我们需要为当前活动的任务赋值,将它完成并驱使流程往下流转。
我们和任务的交互也是通过数据对象传送的方式来完成的。
(2)关键代码
h)工单输出界面开发(工单查看)
(1)原理说明
工单输出界面同样是XML+XSL方式,需要从工单实体中获取到BODY(CLOB)字段,通过JDOM解析为XML字符串后输出到页面。
对于复杂的一派多工单,主工单的CLOB和子工单的CLOB是分开保存的,在呈现时通过主工单信息加列表的方式呈现:
(2)关键代码
获取子表CLOB并构建列表
将子流程列表和主流程信息结合现实:
i)工单待办相关功能开发(未接、已接、待归档等)
(1)原理说明
工单待办是通过查询WPS提供的一系列视图来实现的,在执行查询时我们需要编写查询语句后调用查询API获取查询结果。
然后将查询结果和业务数据进行匹配,最后以列表的形式呈现出来。
(2)关键代码
构建查询语句
执行查询
j)工单查询相关功能开发(已办、工单查询等)
(1)原理说明
工单查询相关功能只涉及到对业务数据的查询和显示,此处不再做特殊说明。
k)工单短信开发
(1)工单即时短信通过对DAO类的事后拦截实现:
(2)工单超时提醒由流程根据工单时限进行监控,如果满足发送短信条件,则调用工单系统提供的接口发送超时提醒短信:
五、项目交换程序包
六、安装和部署
在WID中安装和部署应用程序时,首先打开“服务器”透视图:
选中WPS服务器,右键选择“添加和除去项目”,弹出项目添加/除去窗口:
将需要部署和启动的项目选中并添加后点击完成即可,在服务器启动状态下,服务器会自动安装并启动项目