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