maximo二次开发
Maxio7.1应用二次开发指南

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,如果不是工作流表,请不要选中主对象,存储分区,是你的分区表空间。
基于动态链接库的FAMOS二次开发方法研究

FAMOS提供了包括FFT、积分、微分、曲线图、直方 图、相位互相关、数字运算等复杂的实时分析功能。用户可 定义的实时测量功能可在线进行测量公式编辑。测量、分析 等工作能在不同的窗口中与波形同时显示并随波形变化 而更新。它可读取多家公司的文件格式,如:SONY、TEAC、 YOKOGAWA?NEC?HIOKIjBOSCH?Tektronix?OROS?HP? Nicolet等,也可通过文件助理(File Assistant)读取其他 文件格式。其内部的数据转换快速而方便,使用时可将采 集到的数据转换为Microsoft Office格式,如Word、Excel 或其他流行的数据处理软件格式,以供进一步的分析和 编写测试报告。测试者在测试现场即可作出最准确的判断 和完美的测试报告。
//函数返回存放生成波形的内存块对应的旬柄值
extern”掣一declspec(dllelport)HANDLE RetSine(float a,
int n1
f
DLL—WAVE far}hpCurve;
HANDLE
hCurve;
double
PI=3.14159,dx=0.001,NoOfPoints=2¥P1,
Project”新建一个工程DLLTEST,包含2个输出函数。
//DI,I,TES一1.cpp
//波形乘2函数 extern”c”一一decl叩。c(dllelport)void Mult2(DLL—WAVE
FAR{P11
//函数的输出有2种方法:①可采用包含导出函数表的对应 //模块定义文件+def,即通过赋一个数值(序号)给链接程序
MAXIMO系统开发和实施方法

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,使其达到每个用户/合作伙伴的特定需求相关的任务。
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文件将被生成为密文。
maximo学习文档大全

3、验证 ——启用 ——激活 ——添加工作流到应用程序 4、在应用程序中(模仿需求计划的应用程序)
5、在数据库配置中加关系(模仿需求计划的关系)
关系:PR_W FTRANSACTION 子对象:W FTRANSACTION w here子句:ow nertable = 'PR' and ow nerid = :prid and transtype in('W FASSIGNCOMP','REJECT','ACCEPT') PR 是当前表名,prid 是当前表的id名 ,只要改这两个地方即可,下面的也一样
不需要 八、常用关键代码
1、数据库操作 Connection con= MXSe rve r.getMXServer().g e tDBMa n a g e r().g e tSys te mC o n n e ctio n (); private String getSAMPLEMACHID(Connection con){//随机获取取样机编号 ResultSet rs = null; try{ //第一种方法 Java.sql.Statement stat = null; //statement stat = con.createStatement(); rs = stat.executeQuery("select SAMPLEMACHID from ( select SAMPLEMACHID from FUELTB030 order by dbms_random.value ) w here row num <2 "); java.sql.PreparedStatement stat = null; ResultSet rs = null; try { //第二种方法 java.sql.PreparedStatement stat = null; // PreparedStatement stat = con.prepareStatement("select SAMPLEMACHID from ( select SAMPLEMACHID from FUELTB030 order by dbms_random.value ) w here row num <?"); stat.setInt(1, 2); rs = stat.executeQuery(); if (rs.next()) { return rs.getString(1); } }catch(Exception ex){ e x.p rin tSta ckTra ce (); }finally{ try{ if(rs !=null)rs .clo s e (); if(s ta t!=null)s ta t.clo s e (); }catch(Exception ex){ e x.p rin tSta ckTra ce (); } } return ""; }
ZML165N20A 智能混合信号处理芯片 (二次开发) User Manual

1.1 存器 表中 用 缩写 表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2
表 ................................................... 1
4.3.4
模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.5
模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2 存储器和总线构架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1 系统构架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.3 内置 SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 闪存存储器
.............................................. 5
基于MAXIMO的房屋资产管理信息系统BIRT插件的应用

IBM资产管理系统 MAXIMO平台之上进行房产资产管理 、对房产采暖 务是完成提取格式化后的服务器端数据 。它通过定义应用中不同数据
收费等部分进行深度二次开发的管理信息系统。该 系统结合铁路房屋 格式,为报表提供格式化的数据。通过此接 口的定义 ,使 BIRT与外部数
资产管理及相关收费业务 ,旨在通过优势整合 ,而搭建的房屋资产管理 据源之间,使用上更力I1透明、更加方便。(3)设计输出模版。层设计器是
2.1 BIRT基 本概 念 。在 了解 BIRT应用 之前 ,首先需 要理 解一 些关 模版导入,然后就可使用 BIRT强大的功能了。
于 BIRT的应用的基本概念 :BIRT中报表 由四大部分组成 :数据 ,数据 BIRT数据模 版与 MAXIMO应用过 滤条件进行组合 筛选数据 。
转换 ,业务逻辑和表现形式。
BIRT允许将完全异构的数据源进行结合。数据转换 :报表中的数据是 版在 MAXIMO中,提高了丰富输 出格式 ,包 括 :打印输 出、PDF格式 、
经过分类 ,统计 ,过滤和分组加工处理的,从而符合用户的需要 。虽然数 PPT格式、EXCEL格式 WORD格式等输出功能 ,它为更有效地展现和
信息系统平台。系统由房屋资产信息管理 、采暖收费管理 、水费收费管 BIRT所提供的所见即所得的设计漠版工具。它主要通过提供强大的标
理等子系统组成 ,各个模块以房屋资产为核心 ,以房产相关业务为依 签及动态数据绑定来实现层的概念。它包括文本 、图片 、数据表格 、列表
托 ,以提供高效服务并提高经济及社会效益为 目的 ,而进行研发的房屋 标签等。其中:数据绑定标签中,提供大量的 BIRT定制的数据 、文本等
关键词 :MAXIMO;报表 统计 ;BIRT插件 ;信息 系统
maximo二次开发指南1

11
Exercise 13- Steps
Set up MAXIMO low the document:
S:\TRAINING\Java Training\webLgic-noear-setup
initValue()
validate()
© 2005 MRO Software, Inc. CONFIDENTIAL
19
Exercise 13
Hints:
Tool to generate the template for field Validation Classes
Unzip the
S:\TRAINING\JavaTraining\MXgenerate52\Generate52.zip
Add the field IN1 from ITEM table to the ITEM screen. Create field validation for IN1: 1- Initialize field to “IT1” for new records 2- Allow values that start only with “I” 3- If valid make it upper case 4- If invalid display your own error
© 2005 MRO Software, Inc. CONFIDENTIAL
4
Error message - Woolies Could happen if customisation hasn’t been done properly
• update maxsyscolscfg • set customclassname • ='pany.solution.CustFldCompanyParentCompany' • where tbname='COMPANIES' • and name = 'PARENTCOMPANY'; • update maxsyscolumns2 • set customclassname • ='pany.solution.CustFldCompanyParentCompany' • where tbname='COMPANIES' • and name = 'PARENTCOMPANY';
- 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() 初始化工作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{。