Maximo二次开发培训.docx
《Maximo二次开发培训.docx》由会员分享,可在线阅读,更多相关《Maximo二次开发培训.docx(23页珍藏版)》请在冰豆网上搜索。
Maximo二次开发培训
二次开发培训
1、二次开发介绍
1.1、对象及属性
设计好表结构后,通过MAXIMO中“数据库配置”应用程序创建表。
创建过程中需要注意以下属性:
1.1.1、对象选项
选项
备注
表名:
18个字符的字母和数字的组合
类:
用于处理对象业务逻辑的Java类。
格式必须是带完整的包名,如:
psdi.app.financial.AccountDefaultsSet。
主对象?
表示是否是工作流程的主对象,如果没有选中该复选框,则在创建工作流时不能选择该对象。
1.1.2、属性选项
选项
备注
属性名:
50个字符的字母和数字的组合
标题:
此处输入的值会在用户查看字段帮助时显示
类型:
MAXIMO提供的字段类型。
长度:
字段长度
域:
该字段可供选择值的域名称
类:
该字段上用于验证和触发的业务逻辑java类名。
格式必须是带完整的包名,如:
psdi.app.site.FldOrganizationID
要求?
是否要求该段必须填写?
1.2、MBO介绍
如果需要在新建的对象中加入特殊的业务逻辑,则需要自己编写MBO,并部署到相应的对象。
操作方法是在数据库配置应用程序中,找到指定的对象,并在“类”字段处输入值。
保存修改后,需要停止服务,执行configdb.bat使更改生效。
如下图所示:
1.2.1、MBO介绍
Mbo可理解为数据库中某一条记录,其方法都是对记录的操作,如:
添加、删除、修改等。
1.2.1.1、MBO中常用的方法
方法名
功能
add
新建mbo
init
初始化mbo
save
保存mbo
delete
删除mbo
getXXX
根据字段类型获取mbo内字段数据,如getString(),getInt(),getDouble()等
setValue
设置mbo内字段的值
1.2.2、MboSet介绍
MboSet可以理解为Mbo的集合,既多个Mbo。
其方法都是对整个Mbo集合的操作。
1.2.2.1、MboSet常用方法
方法名
功能
Save
保存mboSet
count
得到当前MboSet包含的记录数
setWhere
设置对mboset的过滤条件
setOrderBy
设置对mboset的排序条件
getMbo
得到指定的mbo
1.2.3、字段绑定逻辑介绍
如果需要在指定的字段上加入特殊的业务逻辑,则需要自己classes,并部署到相应的字段上。
必须继承psdi.mbo.MboValueAdapter或psdi.mbo.MAXTableDomain。
操作方法是在数据库配置应用程序中,找到指定的对象,并在“类”字段处输入值。
保存修改后,需要停止服务,执行configdb.bat使更改生效。
如下图所示:
1.2.3.1、字段绑定类中常用的方法
方法名
功能
init
初始化字段时触发
action
字段值发生变化时触发
1.3、AppBean介绍
AppBean用于实现MAXIMO6中应用程序的界面操作控制,如界面的新建、保存、发送工作流等。
在HARV-EAM系统中可参考“采购单”应用程序的AppBean,harv.webclient.beans.po.CtmPOAppBean。
1.3.1、AppBean常用方法介绍
方法名
功能
initializeApp
应用程序初始化
SAVE
界面的保存事件
getMboSet
得到当前的MboSet
getMbo
得到当前的Mbo
1.4、DataBean介绍
DataBean用于实现MAXIMO6中特定数据源的界面操作控制,如弹出窗口中按钮的事件等。
在HARV-EAM系统中可参考“采购单”应用程序的DataBean,harv.webclient.beans.pocheck.SelectPoCheckLineBean。
方法名
功能
initializeApp
数据源的初始化
getMboSet
得到当前的MboSet
getMbo
得到当前的Mbo
XXX
对应按钮的事件
2、开发工具配置
2.1、启动eclipse
启动eclipse,File—〉New—〉Project
2.2、新建工程
选择JavaProject
输入工程名称
配置工程所需的JDK,如果生产环境是websphere,则eclipse中的JDK必须配置为WebSphere的jdk。
否则,编译完成的类发布到websphere环境下有可能无法正常使用。
配置过程如下:
配置工程
配置完成。
3、二次开发范例
创建一个应用程序,用于管理代保管库的退库申请。
3.1、编写MBO
编写退库申请业务中两张表需要用到的MBO,编写完成后需用java的rmic进行编译。
1、用javac编译class,将编译好的class文件拷贝到一个MAXIMO环境的相应目录下;
2、通过命令行,设置classpath为MAXIMO环境目录。
如:
setclasspath=C:
\Maximo\applications\maximo\businessobjects\classes
3、在存放ReturnLoc.java的目录下,用以下命令进行编译:
rmic-d.harv.app.inventory.ReturnLoc
4、在该目录的harv\app\inventory目录下会同时产生ReturnLoc_Stub.class文件;
5、将ReturnLoc.class和ReturnLoc_Stub.class文件拷贝到C:
\Maximo\applications\maximo\businessobjects\classes\harv\app\inventory目录下。
源代码,见ReturnlocJAVA.rar
3.2、创建对象及属性
3.2.1、代保管物资入库主表:
HDRETURNLOC
选项
内容
备注
表名:
HDRETURNLOC
代保管物资入库主表
类:
harv.app.inventory.ReturnLocSet
主对象?
Y
No.
字段名
字段描述
类型
长度
域
类
1.
ORGID
组织机构
UPPER
8
Y
2.
SITEID
地点标示
UPPER
10
Y
3.
HDRETURNLOCID
INTEGER
N
4.
REQNUM
申请编号
UPPER
30
N
5.
DESCRIPTION
描述
ALN
50
Y
6.
DEPTNUM
部门
UPPER
30
Y
7.
ENTERBY
创建人
UPPER
10
N
8.
ENTERDATE
创建日期
DATE
N
9.
STATUS
状态
ALN
20
N
10.
STATUSDATE
状态日期
DATETIME
N
3.2.1.1、创建关系
No.
关系名
父表
子表
条件
备注
1、
ENTERBY
HDRETURNLOC
PERSON
personid=:
enterby
2、
HDDEPT
HDRETURNLOC
HDDEPT
deptnum=:
deptnum
3、
HDRETURNLOCLINE
HDRETURNLOC
HDRETURNLOCLINE
reqnum=:
reqnum
3.2.2、代保管物资入库行表:
HDRETURNLOCLINE
选项
内容
备注
表名:
HDRETURNLOCLINE
代保管物资入库行表
类:
harv.app.inventory.ReturnLocLineSe
级别:
SITE
主对象?
N
No.
字段名
字段描述
类型
长度
NULL?
域
类
1.
ORGID
组织机构
UPPER
8
N
2.
SITEID
地点标示
UPPER
10
N
3.
REQNUM
申请编号
UPPER
10
N
4.
LINENUM
申请行号
INTEGER
N
5.
ITEMNUM
库存项目
ALN
30
N
6.
DESCRIPTION
描述
ALN
50
N
7.
LOCATION
仓库
UPPER
30
N
8.
ORDERQTY
数量
DECIMAL
15,2
N
9.
ISSUEUNIT
单位
ALN
30
Y
10.
ENTERBY
申请人
ALN
30
N
11.
ENTERDATE
申请日期
DATE
N
3.2.2.1、创建关系
No.
关系名
父表
子表
条件
备注
1.
ENTERBY
HDRETURNLOCLINE
PERSON
personid=:
enterby
2.
ITEM
HDRETURNLOCLINE
ITEM
itemnum=:
itemnum
3.
LOCATION
HDRETURNLOCLINE
LOCATIONS
type='STOREROOM'andlocation=:
locationandisdbgku=1
停止MAXIMO服务,进入C:
\Maximo\tools\maximo目录,执行configdb.bat,使数据库更改生效。
3.3、创建应用程序
3.3.1、新建应用程序
3.3.2、界面布局
●多行选择
●链接记录详细信息
●子表
●打开明细
●删除行
●子表“新建行”按钮
3.3.3、增加操作
●签名选项:
可以通过授权控制的功能必须首先在该界面中添加。
●选择操作菜单:
“选择操作”中的菜单必须在该界面中添加,并且只能从“签名选项”对话框中已经添加的选项中选择。
●工具栏按钮:
“选择操作”中的菜单必须在该界面中添加,并且只能从“签名选项”对话框中已经添加的选项中选择。