maximo二次开发
- 格式:doc
- 大小:152.00 KB
- 文档页数:9
Maxio7.1应用二次开发指南1、文档描述本文档是根据我个人的经验和网上收索的资料整理出来,哈哈~~2、命名规则2.1 基本准则(1)总体说来,按照Maximo的包结构,存放相应的类,将psid改为power即可。
(2)公司开发的类,统一放在power包中。
(3)应用程序业务逻辑类,请放在power.app包中。
(4)应用程序的页面操作类,请放在power.webclient.beans.包中。
(5)工作流过程名,一般为应用程序的名字。
(6)主表与子表之间的联系名,请直接使用子表的名称。
2.2 类名的命名规则以下的规则,按优先级,从高到低排列,如果有冲突,请按优先级高的方式命名。
(1)关于类名的命名规则,请多多熟悉Maximo本身源码类名的命名规则。
(2)扩展原有的类,请不要使用相同的名字,最好加上“CU”关键字。
(3)直接从Mbo或StatefulMbo继承的类,最好使用表名作为类名。
(4)直接从MboSet继承的类,最好使用表名加上“Set”作为类名。
(5)远程接口的名称,最好都加上Remote。
(6)字段的类名,最好以Fld开头。
3、开发说明3.1 搭建开发环境········3.2 配置Eclipse集成开发环境········4 第一个应用程序4.1 业务描述做一个单表的增、删、改、查业务,以下业务为开封电厂实际程序。
4.2 应用设计应用程序名:CUTASK(点检任务)应用程序模块名:CUTASK应用程序表:CUROUTES_TASK (主对象)应用程序关联表:4.3 数据表设计主列:CUROUTES_TASKID4.4 开发步骤4.4.1 第一步建立数据表(1)启动Maximo,转到配置,数据库配置。
(2)点击新建对象。
(3)输入相关信息,如下图:注意这里对象即是表名CUROUTES_TASK、服务输入CUSTAPP、级别选择SITE,如果不是工作流表,请不要选中主对象,存储分区,是你的分区表空间。
MAXIMO系统开发和实施方法MAXIMO系统开发和实施方法 (1)简介 (2)I. 项目启动阶段 (2)II. 设计和开发阶段 (2)III. 系统实施/投产阶段 (3)阶段1:项目启动 (4)1.0 项目定位 (4)2.0 技术环境/架构计划 (4)3.0 软件安装和调试 (4)4.0 实施项目组定位和培训 (5)5.0 需求分析/用户点评估 (5)阶段2:设计和开发 (5)6.0 详细说明开发 (5)7.0 应用设计和开发 (6)8.0 系统测试 (6)阶段3:系统实施/投产 (6)9.0 用户和系统培训 (6)10.0 数据转换/数据导入和系统投产 (7)11.0 实施评估和计划 (7)简介MRO Software公司采用一种“闭环”的系统开发和实施方法,以确保及时、高效的、统一的、成功的实施结果。
这种方法基于每个用户的需求是独特的和重要的这个概念。
通过与我们的用户/合作伙伴的协商,MRO SOFTWARE将实施计划进行剪裁,将MAXIMO进行客户化以达到每个用户/合作伙伴的特定的要求。
无论我们的客户/合作伙伴的实施目标和预算情况如何,MRO SOFTWARE 的实施方法都是灵活的和可衡量的,它提供了最合适的解决方案。
MRO SOFTWARE系统实施方法由三个独特的实施阶段组成:项目启动,设计和开发,以及系统实施和投产。
下面是对组成每个阶段的主要任务或活动的描述。
I. 项目启动阶段实施启动阶段通过定义或进一步精炼项目的工作范围和业务目标,建立技术环境,以及维项目组成员提供产品培训,奠定了一个成功项目的基础。
项目启动阶段的主要任务或活动包括:∙适用性评估/成本估算(Fit Assessment/Cost Estimates)∙项目组织机构(Project Organization)∙技术环境/架构计划(Technical Environment/Infrastructure Planning)∙软件安装和调试(Software Installation and Tuning)∙实施队伍的产品定位和培训(Implementation Team Product Orientation and Training)∙需求分析/各用户点评估(Requirement Analysis/Site Assessment)∙实施计划开发(Implementation Plan Development)II. 设计和开发阶段设计和开发阶段包括了所有与开发和/或剪裁MAXIMO,使其达到每个用户/合作伙伴的特定需求相关的任务。
1.安装weblogic服务器点击下一步:协议容,同意,然后点击下一步,设置Weblogic bea 的主目录为D:\bea,然后下一步:2.maximo数据库的配置首先开始创建数据库,开始—>程序—>Oracle - OraDb10g_home1—>配置和移植工具—> Database Configuration Assistant点击下一步,创建数据库然后输入数据库访问密码。
然后一直下一步,最后点击完成,开始创建数据库,进入确认页面,点击确认。
点击退出,创建数据库完成。
然后用pl-sql访问数据库,用户名system 密码是刚才创建数据库时设置的。
登录后创建表空间,和用户,执行以下脚本。
Create tablespace MAXIMO_DATA datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\MAXIMO\MAXIMO_DATA.DBF' size 1200M autoextend然后导入maximo.dpm文件。
(根据发给的dmp文件和命令导入maximo库)修改数据库连接在{D:\ibm\SMP}\maximo\applications\maximo\properties目录下有两个文件maximo.properties_orig 和maximo.properties,分别为明文和密文数据库配置文件。
Maxmio的数据库连接文件必须使用密文。
可采用以下方式来生成密文属性文件(建议在操作之前备份maximo.properties_orig 和maximo.properties文件)。
1、删除maximo.properties文件。
2、另存maximo.properties_orig文件,名为maximo.properties,并修改其中的数据库连接信息。
3、执行{D:\ibm\SMP}\maximo\tools\maximo目录下encryptproperties.bat文件,如果没有错误发生,那么{D:\ibm\SMP}\maximo\applications\maximo\properties\maximo.properties文件将被生成为密文。
目录第一章引言4第二章系统概述52.1系统设计理念52.2系统设计原则52.2.1 先进性原则52.2.2 系统适用性62.2.3 系统安全性:62.2.4 系统易用性:62.2.5 系统灵活性:62.3实现系统目标的手段72.3.1 引入先进的专业系统72.3.2 规范基础数据与相关档案的管理72.3.3 规范作业流程82.3.4 加强备品备件管理82.3.5 加强对维护和维修计划的控制82.3.6 加强设备管理82.3.7 提高现代化管理的思想和意识92.4系统体系结构92.4.1 系统拓扑结构102.4.2 系统软件结构11第三章系统功能概述123.1采购管理子系统123.1.1 合同管理123.1.2 采购周期管理123.2设备台帐管理子系统133.2.1 在用设备管理133.2.2 备件管理133.2.3 耗材管理133.2.4 捐赠、丢失、报废管理133.2.5 设备折旧管理143.2.6 支行验货管理143.3库存管理子系统143.3.1 入库管理143.3.2 出库管理143.3.3 库存管理143.4维修工单管理子系统153.4.1 维修申请管理153.4.2 作业计划管理153.4.3 作业成本管理153.4.4 维修安排管理153.4.5 维修记录(报告)管理153.4.6 维修核算管理163.5预防性维护管理子系统163.5.1 设备巡检管理163.5.2 维护设备预警管理163.6资源管理子系统163.6.1 服务商管理163.6.2 供应商管理173.6.3 人员管理173.7条码设备巡查子系统173.8综合查询/统计分析子系统17第四章系统实施规划184.1实施目标184.2实施过程184.2.1 项目实施依据的标准和技术:184.2.2 项目组织184.2.3 需求提出整理阶段194.2.4 总体规划194.2.5 系统开发过程194.2.6 系统安装调试测试194.2.7 培训服务204.3设备要求(建议)204.4软件环境214.5人员组织224.6项目估算224.6.1 工作细分结构(WBS)224.6.2 工作量估算224.7系统远期展望23第五章客户服务和技术支持245.1客户支持服务体系245.1.1 客户支持体系245.1.2 客户项目各个阶段的服务255.1.3 项目组织管理255.2售后服务265.2.1 技术支持热线265.2.2 技术再培训协议26第一章引言现代企业管理越来越强调利用有形资产来提供优质服务的能力,即通过资产管理来确保有形资产物尽其用、安全运行,在希望的时间和地点提供需要的设备,同时尽可能地降低运行和维护成本。
COMIS库存管理与条形码系统集成方法探索摘要:首先介绍了COMIS库存管理基本概念和功能;然后介绍了条形码系统,包括条形码打印子系统和条形码扫描数据上传、下载子系统;最后详细探讨了这两个子系统与COMIS库存管理的集成方法。
关键词:COMIS;条形码打印;条形码扫描0引言COMIS是大亚湾核电站生产运营和维修管理系统,是在MAXIMO基础上进行客户二次开发而形成的。
MAXIMO主要通过工作票、库存管理、采购管理、设备管理、预防维修、标准包、人力资源、日程管理等8个功能模块来实现管理功能。
为了提高管理效率,在库存管理过程中,采用条形码扫描方式替代手工输入编码及批次等数据方式,是一个有效的方案。
为了实现该方案,需要了解和选择条形码打印、条形码扫描数据上传和下载以及它们与COMIS系统的接口方式。
1概念和术语本文的主要目的是探索COMIS系统与条形码系统的接口集成方法,因此不会详细说明COMIS系统的各模块功能,仅对涉及到的概念或术语作简单描述,如果读者需详细了解,可参考MAXIMO标准文档。
本文将定义的概念和术语有:COMIS库存管理、条形码打印、条形码扫描。
(1)COMIS库存管理。
COMIS库存管理包括物资验收、发料、退料、物资转移、盘点及库存调整、物资保养、货位管理、交易查询等功能。
大亚湾核电站的库存物资全部启用了批次管理,根据批次可以方便跟踪物资的寿期,也用于对物资进行周期性的保养。
因此,需要对物资的每个批次打印标签以利于识别。
(2)条形码打印。
如果企业启用了条形码管理,条形码打印会发生在许多环节。
一般来说,在物资验收入库时会要求打印好条形码,将条形码粘贴在实物上或货架上;在发料或库存转储时,如果条形码已不可识别,需重新打印;在盘点时有可能需打印条形码。
总之,有可能需要在业务的一些环节根据入库单、转储单进行条形码打印,也有可能根据库存地点、仓库号、物资编码、批次号等库存参数查询出库存数据后进行条形码打印。
《基于XML的数控系统人机界面二次开发平台的设计与实现》一、引言随着工业自动化技术的不断发展,数控系统在制造业中的应用越来越广泛。
人机界面作为数控系统的重要组成部分,其性能和易用性直接影响到操作人员的工作效率和设备运行效率。
为了提高数控系统的人机交互性能,本文提出了一种基于XML的数控系统人机界面二次开发平台的设计与实现方案。
该平台通过XML技术实现界面的灵活配置和快速开发,提高了系统的可维护性和扩展性。
二、平台设计1. 总体设计本平台采用模块化设计思想,将系统分为界面设计模块、界面生成模块、交互逻辑处理模块和数据库管理模块。
其中,界面设计模块采用XML技术实现界面的灵活配置;界面生成模块负责将XML配置文件转换为实际的界面;交互逻辑处理模块负责处理用户操作和系统响应;数据库管理模块负责存储和管理系统数据。
2. 界面设计模块界面设计模块采用XML技术实现界面的灵活配置。
XML文件采用分层结构,定义了界面元素的类型、属性和布局等信息。
通过XML文件,用户可以方便地定制和修改界面,而无需编写复杂的代码。
此外,XML文件还支持自定义标签,以满足特定需求。
3. 界面生成模块界面生成模块负责将XML配置文件转换为实际的界面。
该模块采用XML解析技术,读取XML文件中的配置信息,生成相应的界面元素和布局。
同时,该模块还支持皮肤和主题的切换,以满足不同用户的需求。
4. 交互逻辑处理模块交互逻辑处理模块负责处理用户操作和系统响应。
该模块通过监听器机制实现与界面的交互,当用户进行操作时,监听器会捕获事件并调用相应的处理方法。
此外,该模块还支持自定义逻辑处理函数,以满足特定需求。
5. 数据库管理模块数据库管理模块负责存储和管理系统数据。
该模块采用关系型数据库管理系统(RDBMS),通过SQL语句实现数据的增删改查等操作。
同时,该模块还支持数据的备份和恢复功能,以保证数据的安全性。
三、平台实现1. 技术选型本平台采用Java语言进行开发,使用Spring框架实现系统的架构设计和业务逻辑处理。
版本和4版本的比较如下:1.系统架构Maximo 7.1产品为B/S架构,基于J2EE平台进行开发,由网页访问。
2.概述ØMaximo适用行业能源、石油、公共事业等。
ØMaximo软件组成部分核心组件,包括工作过程管理、预防性维护管理、设备台帐管理、采购管理、合同管理、仓储管理、服务管理等,并增加了核电相差的隔离管理等。
3.Maximo 7.1核电版与Maximo4.1的改进处Ø手持终端支持手机登录系统,支持PDA操作,可在手机上进行业务操作。
Ø增加了预防性维护的结构化管理可通过预防性维护的结构设置,生成结构化的工单。
Ø备件包支持备件包管理,优化备件操作。
Ø工具管理实现了工具管理的常用业务,如借出、归还、定期检验、报废、盘点等,与OAMS功能有所相似。
Ø实现了工作流管理功能类似UPM,可实现流程的可视化定制。
Ø消息通知因采用了B/S架构,在用户登录新版本的网页界面时,可实时收到工作提醒。
Ø增加了较多的接口标准此功能在一定程度上支持了Maximo与其它系统的接口,实现接口的技术也增加了,包括数据层接口、应用层接口(Web Services).Ø增加了验收入库的功能Ø增加了入库检验的功能Ø增加了上传文档的功能Ø增加了合同管理模块Ø增加了工作流管理的功能Ø核电版融入了SNPM(核电管理规范)的内容IBM结合国际核电标准,制定了核电五级业务流程,并完全符合SNPM规范,相差理念融入到核电版的产品中,体现在隔离管理、群堆管理及部分开发的报表上面。
4.纠正行动和设备管理本次培训因时间的关系,针对性地讲了纠正行动和设备管理的业务,思路和4.1版本差异不大,主要是细节上进行了改进,操作上更方便了,细节的功能更完善了。
并增加了仪表校验、设备参数定制、资产关联、风险分析的功能。
三个EAM软件比较2009-09-29 21:58产品概况:IFS 源自瑞典,1983;INFOR源自美国,1986;COSWIN源自法国,1989IFS属于EAM国内领导地位,INFOR是国内主要EAM厂商之一,COSWIN尚不太有名技术架构:IFS以C/S架构为主。
IFS也有B/S版,但不很成熟。
实施的时候仍是以C/S为主,特别需要B/S的时候才提供B/S功能INFOR和COSWIN都是纯B/S架构开发语言:IFS的开发环境是系统自带的,centraru,这种语言很少在其它地方使用。
INFOR和COSWIN都是基于JAVA/J2EE架构支持的数据库:IFS好像只使用ORACLE,因为没听过用其它数据库的情况INFOR和COSWIN可以用ORACLE和SQLServer二次开发能力:IFS自带开发平台,所以开发功能很强。
基本想要的功能都可以开发出来,而且集成性好,区别于外挂的程序。
有时IFS会做大规模的开发,比如电厂的运行管理功能,正常的EAM系统都不带这个功能,但IFS很多电厂项目做过这方面开发,甚至已经可以成为标准模块。
而其它的EAM基本不会做这方面的开发。
国内很多项目都喜欢进行开发,这样IFS的二次开发能力就成为一个很大的优势。
INFOR和COSWIN也相似,客户化方便,基本不需编程。
但客户化能力有限,就是有些需求无法在系统内实现。
图形化导航:这是COSWIN系统的一个亮点。
可以通过图像链接的方式来查找设备,直观,上手快。
IFS 和INFOR没有这个功能操作方便性:COSWIN最好,IFS一般,INFOR不太好KPI:kpi是用图示的方式在一个页面内显示一些常用的统计指标。
INFOR和coswin都很好,IFS 也有KPI功能,不在标准的功能中,用的不多。
设备结构图:都支持无限层级的设备结构图。
IFS的设备结构图最漂亮,功能也最强。
INFOR的一般,但比COSWIN的要好一点。
设备类型:IFS和COSWIN相似,有两类设备类型,而DATASTEAM有四类。
MAXIMO与SAP系统的接口技术研究近年来,国内许多资产密集性企业引进并实施了企业资产管理系统(enterprise asset management,EAM ),对于已经使用了EAM产品进行资产管理的公司而言,很显然,经过一段时间的发展,已经对设备管理形成了自己的管理方式。
而随着现代管理的需要,许多企业又同时实施了SAP,两套系统同时存在,功能互不相同,又不能相互替换。
于是对于这两种产品的系统之间如何进行数据共享,相互之间如何进行分工协作,从而各自发挥最大价值成为了最大的问题,要解决此问题,就需要在这两个系统之间做接口,本文将就EAM 的典型产品——MAXIMO与SAP系统接口展开研究。
1.研究背景ERP是集财务、进销存、制造、人力资源、设备维护和其他业务功能的管理系统于一体的,面向组织甚至跨组织业务过程的集成企业应用软件系统,是采用先进计算机技术来满足企业不同层次管理人员和业务人员需要的集成管理的应用,支持战略计划、市场营销、供应链、制造、财务会计、人力资源等企业经营管理职能。
ERP不仅适合于制造业,也适合于服务业。
其主要具备4个特点:1).集成性。
ERP对企业财务会计系统、人力资源系统、供应链系统、制造系统、市场营销系统、设备系统等方面的信息进行无缝集成于链接。
这种无缝集成,要求对ERP系统中的子系统模块或组件之间的接口进行合理设计。
例如,通过系统的数据仓库把事务处理子系统中的数据直接应用于决策支持管理系统。
2).重构性。
ERP的基本要素是对应于企业业务的,所以,ERP中的要素一直可以细分到企业业务流程中的具体活动。
企业是一个开放系统,企业组织会随环境的变化而变化,企业的业务流程也会随组织的变化而发生相应的变化。
因此ERP系统需要进行重构,ERP系统的支撑应能适应这种变化。
3).配置性。
ERP不仅可以通过重构适应企业的变化,而且通过参数配置以适应不同的需求。
这样,不仅可以适应不同行业的企业的变化,而且可以针对企业的情况进行设置。
1.如何在webLogic下创建域第一步,选择Configuration Wizard。
点击下一步继续点击一下步,如下User name里默认,password跟User name里最好一致,便于忘记,点击下一步。
域名自己任意取,在点击创建。
然后完成。
在User Projects里可以看的到你创建的域名文件。
如gzg_domain第二步,在IE浏览器输入:http://localhost:7001/console,等待几秒钟,进入如下界面;(账号:gzg_maximo,密码:gzg_maximo)然后在输入你开始创建的管理员用户和密码,点击登录。
进入如下界面。
点击部署,右下面就会显示出部署概要,然后点击安装。
选择你要发布的工程,点击下一步。
点击下一步,完后完成。
启动ok,无错误,即可在浏览器上,输入http://localhost:7001/maximo2.如何搭建开发环境第一步,创建web工程。
右键工程,选择Build Path,点击Confiuger Build Path,弹出如下界面。
点击Add Class Folder添加一个文件New Folder。
输入bo_class,然后点击Advanced按钮,找到D:\work\maximo_gzg101\maximogzg\businessobjects.jar,点击OK。
然后在如上继续添加web_class然后点击Advanced按钮,找到D:\work\maximo_gzg101\maximogzg\maximouiweb.war\WEB-INF\classes,点击OK。
界面如下;然后右键工程Properties 输入RMI;把User non-standard tools.jar location勾上,找到你的jdk所在路径D:\ProgramFiles\Java\jdk1.5.0_04\lib\tools.jar。
RMI就配置好了,然后在创建类实现Mbo接口,测试一下能自动生成2个Test.class和Test_Stub.class,找到你所做的java工程D:\workspaces\gzg_maximo\WebRoot\WEB-INF\classes \kangtangdata看界面如下有没有这两个类文件。
一,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() 初始化工作initV alue() 初始化值时的工作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)继承WOSetpublic class MyWOSet extends WOSet implements MyWOSetRemote...{private static Logger logger = Logger.getLogger(MyWOSet.class);/** *//*** 构造函数一定要有的* @param mboserverinterface MboServerInterface* @throws MXException* @throws Rem oteException*/public MyWOSet(MboServerInterface mboserverinterface) throws MXException, Rem oteException ...{super(mboserverinterface);/** *//*** 采用自己定义的类* @param ms MboSet* @return Mbo* @throws MXException* @throws RemoteException*/public Mbo getMboInstance(MboSet ms) throws MXException, RemoteException ...{return new MyWO(ms);}}2)继承WOpublic class MyWO extends WO implements WoRemote ...{/** *//*** 一定要有的东东** @param ms* MboSet* @throws MXException* @throws Rem oteException*/public MyWO(MboSet ms) throws MXException, RemoteException ...{super(ms);}public void save() throws MXException, RemoteException ...{super.save();customMethod();}public void customMethod() throws MXException, RemoteException ...{.......}3)修改数据库update maxtables2 set classname='com.app.workorder.MyWOSet' where tbn ame='WORKORDER';update maxtablescfg set set classname='com.app.workorder.MyWOSet' wher e tbname='WORKORDER';commit;MAXIMO开发总结(二)使用MAXIMO平台做开发,对很多东西都迷迷糊糊的,在这里一点一点总结,理清思路。
一、虚拟表顾名思义就是不存在的表,它实际上只是被配置在MAXIMO的表信息中,但在物理中是不存在的,是虚拟的。
虚拟表,主要用来存储临时数据,因为maximo用的都是对象或者说是对象集,如果你想临时存储一些数据,那么你就要构造这个虚表。
一般是在页面代码中调用。
1、最常见的虚拟表就是修改状态的表,例如WOChangeStatus、WOChangeStatusSe t。
1)这种类的代码基本大同小异,public class WOChangeStatusSet extends ChangeStatusSetimplements NonPersistentMboSetRemote{public WOChangeStatusSet(MboServerInterface mboserverinterface)throws MXException, RemoteException{super(mboserverinterface);}protected Mbo getMboInstance(MboSet mboset)throws MXException, RemoteException{return new WOChangeStatus(mboset);}public String getName(){return "WOChangeStatus";}protected MboSetRemote getMboIntoSet(MboRemote mboremote)throws MXException, RemoteException{MboSetRemote mbosetremote = getMboServer().getMboSet("WORKORDER", getUs erInfo());SqlFormat sqlformat = new SqlFormat(mboremote, "wonum = :wonum");mbosetremote.setWhere(sqlformat.format());mbosetremote.setApp(getApp());return mbosetremote;}}public class WOChangeStatus extends NonPersistentMboimplements NonPersistentMboRemote{public WOChangeStatus(MboSet mboset)throws MXException, RemoteException{super(mboset);}public void add()throws MXException, RemoteException{super.add();java.util.Date date = MXServer.getMXServer().getDate();setValue("AsOfDate", date, 11L);setValue("ChildStatus", getOwner().getBoolean("ChangeChildStatus"), 11L);setValue("SINGLEWO", 0, 11L);}}2)需要在WOService 中建立联系public class WOService extends AppService implements WOServiceRemote{。