maximo二次开发
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一,
MAXIMO源码常用包
MAXIMO源码有很多包,开发经常用到的是下面几个:
psdi.app 每个模块对应的商业逻辑,例如psdi.app.po 下面的类就为采购单对应
的业务逻辑。
psdi.jsp.app 每个模块对应的页面流转代码,例如页面上的菜单及按钮
psdi.jsptags JSP标签
psdi.mbo 最核心的包
psdi.util 工具类
psdi.workflow 工作流对应的类
五,MAXIMO源码常见类
psdi.mbo.Mbo,psdi.mbo.MboRemote 与psdi.mbo.MboSet,psdi.mbo.MboSetRemote
这几个个类是最常见的类,所有带业务逻辑的类都是继承Mbo和MboSet。
例如WO和WOSET、PR和PRSET。
Mbo类是处理单条记录的类。
MboSet类是包含多个Mbo的类,可以看成是Mbo的数组。
一般都是由Mbo调用MboSet,是用getThisMboSet()来得到。
有MboSet得到Mbo是用getMbo()或getMbo(i)得到。
psdi.jsp.beans.MboSetBean 这个类是用于存放JSP上输入的数据的类,例如页面上的mbosetid="rec"就是指的是这个类。
FldXXXX类,是操作字段的类,一般有下面四个方法
Init() 初始化工作
initValue() 初始化值时的工作
validate() 数据校验,一般在光标离开此字段的输入框时校验
action() 当validate执行完时,执行的动作
六,获取外表Mboset,其中红色字体为表名。
MboSetRemote persongroupteam =
MXServer.getMXServer().getMboSet("PERSONGROUPTEAM", getUserInfo());
设置满足条件的数据:
persongroupteam.setWhere("RESPPARTYGROUP = '" + userName + "'"); RESPPARTYGROUP为表PERSONGROUPTEAM中的某一字段,
这句的意思是搜索出满足字段的USERNAME的记录集。
1、MAXIMO源码常用包
MAXIMO源码有很多包,开发经常用到的是下面几个:
psdi.app 每个模块对应的商业逻辑,例如psdi.app.po 下面的类就为采购单对应的业务逻辑。
psdi.jsp.app 每个模块对应的页面流转代码,例如页面上的菜单及按钮。
psdi.jsptags JSP标签
psdi.mbo 最核心的包
psdi.util 工具类
psdi.workflow 工作流对应的类
2、MAXIMO源码常见类
psdi.mbo.Mbo,psdi.mbo.MboRemote 与psdi.mbo.MboSet,psdi.mbo.MboS etRemote
这几个个类是最常见的类,所有带业务逻辑的类都是继承Mbo和MboSet。例如WO 和WOSET、PR和PRSET。
Mbo类是处理单条记录的类。MboSet类是包含多个Mbo的类,可以看成是Mbo的数组。
一般都是由Mbo调用MboSet,是用getThisMboSet()来得到。
有MboSet得到Mbo是用getMbo()或getMbo(i)得到。
例如:
int i=0;
for(MboRemote mboRemote=mboSetRemote.getMbo(i);mboRemote !=null;mboRemote= mboSetRemote.getMbo(i))
.....
i++;
psdi.jsp.beans.MboSetBean 这个类是用于存放JSP上输入的数据的类,例如页面上的mbosetid="rec"就是指的是这个类。
FldXXXX类,是操作字段的类,一般有下面四个方法
Init() 初始化工作
initValue() 初始化值时的工作。
validate() 数据校验,一般在光标离开此字段的输入框时校验。
action() 当validate执行完时,执行的动作
3.客户化修改
在实施MAXIMO经常需要根据客户要求做客户化修改操作,一般我都尽量不改变MA XIMO源码,而是在源码的基础上选择继承或者覆盖。
例如:我要修改工单的save方法,就必须做以下操作:
1)继承WOSet
public class MyWOSet extends WOSet implements MyWOSetRemote...{
private static Logger logger = Logger.getLogger(MyWOSet.class);
/** *//**
* 构造函数一定要有的
* @param mboserverinterface MboServerInterface
* @throws MXException
* @throws RemoteException
*/
public MyWOSet(MboServerInterface mboserverinterface) throws MXException, Rem oteException ...{
super(mboserverinterface);