




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一, 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();l 设置满足条件的数据:persongroupteam.setWhere(RESPPARTYGROUP = + userName + ); RESPPARTYGROUP为表PERSONGROUPTEAM中的某一字段, 这句的意思是搜索出满足字段的USERNAME的记录集。MAXIMO开发总结(一)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.MboSetRemote这几个个类是最常见的类,所有带业务逻辑的类都是继承Mbo和MboSet。例如WO和WOSET、PR和PRSET。Mbo类是处理单条记录的类。MboSet类是包含多个Mbo的类,可以看成是Mbo的数组。一般都是由Mbo调用MboSet,是用getThisMboSet()来得到。有MboSet得到Mbo是用getMbo()或getMbo(i)得到。例如:inti=0;for(MboRemotemboRemote=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经常需要根据客户要求做客户化修改操作,一般我都尽量不改变MAXIMO源码,而是在源码的基础上选择继承或者覆盖。例如:我要修改工单的save方法,就必须做以下操作:1)继承WOSetpublicclassMyWOSetextendsWOSetimplementsMyWOSetRemote.privatestaticLoggerlogger=Logger.getLogger(MyWOSet.class);/*/*/*/*构造函数一定要有的*parammboserverinterfaceMboServerInterface*throwsMXException*throwsRemoteException*/publicMyWOSet(MboServerInterfacemboserverinterface)throwsMXException,RemoteException.super(mboserverinterface);/*/*/*/*采用自己定义的类*parammsMboSet*returnMbo*throwsMXException*throwsRemoteException*/publicMbogetMboInstance(MboSetms)throwsMXException,RemoteException.returnnewMyWO(ms);2)继承WOpublicclassMyWOextendsWOimplementsWoRemote./*/*/*/*一定要有的东东*paramms*MboSet*throwsMXException*throwsRemoteException*/publicMyWO(MboSetms)throwsMXException,RemoteException.super(ms);publicvoidsave()throwsMXException,RemoteException.super.save();customMethod();publicvoidcustomMethod()throwsMXException,RemoteException.3)修改数据库updatemaxtables2setclassname=com.app.workorder.MyWOSetwheretbname=WORKORDER;updatemaxtablescfgsetsetclassname=com.app.workorder.MyWOSetwheretbname=WORKORDER;commit;MAXIMO开发总结(二)使用MAXIMO平台做开发,对很多东西都迷迷糊糊的,在这里一点一点总结,理清思路。一、虚拟表顾名思义就是不存在的表,它实际上只是被配置在MAXIMO的表信息中,但在物理中是不存在的,是虚拟的。虚拟表,主要用来存储临时数据,因为maximo用的都是对象或者说是对象集,如果你想临时存储一些数据,那么你就要构造这个虚表。一般是在页面代码中调用。1、最常见的虚拟表就是修改状态的表,例如WOChangeStatus、WOChangeStatusSet。1)这种类的代码基本大同小异,publicclassWOChangeStatusSetextendsChangeStatusSetimplementsNonPersistentMboSetRemote.publicWOChangeStatusSet(MboServerInterfacemboserverinterface)throwsMXException,RemoteException.super(mboserverinterface);protectedMbogetMboInstance(MboSetmboset)throwsMXException,RemoteException.returnnewWOChangeStatus(mboset);publicStringgetName().returnWOChangeStatus;protectedMboSetRemotegetMboIntoSet(MboRemotemboremote)throwsMXException,RemoteException.MboSetRemotembosetremote=getMboServer().getMboSet(WORKORDER,getUserInfo();SqlFormatsqlformat=newSqlFormat(mboremote,wonum=:wonum);mbosetremote.setWhere(sqlformat.format();mbosetremote.setApp(getApp();returnmbosetremote;publicclassWOChangeStatusextendsNonPersistentMboimplementsNonPersistentMboRemote.publicWOChangeStatus(MboSetmboset)throwsMXException,RemoteException.super(mboset);publicvoidadd()throwsMXException,RemoteException.super.add();java.util.Datedate=MXServer.getMXServer().getDate();setValue(AsOfDate,date,11L);setValue(ChildStatus,getOwner().getBoolean(ChangeChildStatus),11L);setValue(SINGLEWO,0,11L);2)需要在WOService 中建立联系publicclassWOServiceextendsAppServiceimplementsWOServiceRemote.。publicvoidcreateRelationList(RelationListrelationlist).。relationlist.addRelation(newRelationInfo(WOChangeStatus,WORKORDER,WOChangeStatus,);。二、还有另外一种,如AssignLabor、AssignLaborSet。MAXIMO开发总结(三)在这里我主要介绍页面代码吧,写到哪
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安达市2025-2026学年七年级下学期语文月考测试试卷
- 2025 年小升初温州市初一新生分班考试语文试卷(带答案解析)-(部编版)
- Python大模型基础与智能应用(微课版)课件第9章 云服务器微调训练大模型应用案例
- 2025年小学美术教师的教学总结3篇
- 2025数学个人教学任务总结范文
- 陕西省咸阳市三原县2024-2025学年八年级(下)期末物理试卷(含答案)
- 第十三章 三角形 单元试卷(含答案) 2025-2026学年人教版数学八年级上册
- 买卖介绍居间合同范本
- 购买养殖围网合同范本
- 房房出租合同范本
- 学校栏杆工程施工方案
- 餐厅转包合同范本
- 2024年锅炉操作工(技师)职业鉴定理论考试题库(含答案)
- 人力资源许可证制度(服务流程、服务协议、收费标准、信息发布审查和投诉处理)
- 外研版(2024)七年级上册英语Starter教学设计
- 湖南省益阳市安化县古楼乡龙马教学点2023-2024学年五年级下学期7月期末语文试题
- 考研保录取合同
- CJ∕T 453-2014 地铁隧道防淹门
- 2019译林版高中英语全七册单词总表
- 《湖北省安全生产条例》考试复习题库80题(含答案)
- 《义务教育语文课程标准》(2022年版)原文
评论
0/150
提交评论