MAXIMO研究成果

創建主菜單

這個關係只有2張表:MAXMODULES和MAXMENU.

MAXMENU中,屬性MENUTYPE插入時應該選擇MODULE ,MODULEAPP指代屬性組件應用名稱這個很重要是需要和MAXMODULES中相關聯的,POSITION指代菜單的位置,感覺是隨便填寫。。。SUBPOSITION也是基本研究出來是寫0就OK。然後是ELEMENTTYPE,指代元素類型時,插入爲MODULE。KEYVALUE插入和MODULEAPP相同的名稱,只有添加在下面的應用,這裏纔是應用的名稱,後面的可以直接無視。。。最多改下圖標名稱。

 

Insert into       MAXMENU(MENUTYPE,MODULEAPP,POSITION,SUBPOSITION,ELEMENTTYPE,KEYVALUE,HEADERDESCRIPTION,URL,VISIBLE,IMAGE,ACCESSKEY,TABDISPLAY,MAXMENUID)
VALUES ('MODULE','TEST',13177,0,'MODULE','TEST','','',1,'modimg_wo.gif','','',maxmenuseq.nextval);

 

接下來是MAXMODULES,因爲新設計一個應用程式的時候,需要選擇模塊 所以在這裏添加數據,能我們能選到那個模塊。注意這裏的module和MAXMENU中的MODULEAPP是想關聯的

insert intoMAXMODULES(module,Description,Maxmodulesid) values('TEST','XX管理','77')

刪除一個應用程序

MAXIMO,設計一個測試的程序就不能在界面上找到刪除應用,爛東西。

下面MOC指代應用的名稱。。

delete from maxapps where app='MOC';

delete from maxpresentation whereapp='MOC';

delete from sigoption where app='MOC';

delete from applicationauth whereapp='MOC';

delete from maxlabels where app='MOC';

delete from maxmenu where moduleapp='MOC';

delete from maxmenu where keyvalue = 'MOC';

delete from appdoctype where app = 'MOC';

 

 

創建彈出列表選項框

1、  進入MAXIMO的應用程序設計器功能,在工具欄上點擊選擇操作,選擇導出系統XML,在彈出的列表中導出LOOKUPS的XML,如下圖:

 

2、  點擊LOOKUPS後的導出後,將在新窗口中看到LOOKUPS的配置。將XML保存到本地,並在該文件中加入自己的彈出列表配置信息。

參考:

         <table id="assetyd" inputmode="readonly"selectmode="single">

                   <tablebodydisplayrowsperpage="20" filterable="true"filterexpanded="true" id="assetyd_lookup_tablebody">

                            <tablecoldataattribute="assetydid"id="assetyd_lookup_tablebody_col_1" mxevent="selectrecord"mxevent_desc="Go To %1" sortable="true"type="link"/>

                            <tablecoldataattribute="description"id="assetyd_lookup_tablebody_col_2" mxevent="selectrecord"mxevent_desc="Go To %1" sortable="false"type="link"/>

                   </tablebody>

         </table>

 

1)        Xml節點table的id不可重複

2)        Xml節點tablebody的id前綴都應爲table的id,tablebody的id後綴都應爲列數,從1開始遞增。

3)        Tablebody中的dataattribute屬性應爲主對象的屬性。

 

3、  將配置完成後的XML上傳到服務器上,進入應用程序設計器,隨意選擇一個應用程序,進入應用程序設計工作空間,選擇工具欄上的導入應用程序定義,上傳LOOKUPS.XML文件。

4、  XML導入完成後,我們可以重新進行步驟1導出XML文件,確認我們添加的內容已成功。

應用配置的彈出列表:

1)        在需要引用彈出列表項的字段的屬性中配置,將查找配置爲我們在Lookups.xml文件中創建的table的id屬性:

2)        配置完成後如下圖:

5、  完成第4步後,就需要編寫具體的數據查詢類綁定到屬性上。這裏我們指定的屬性爲DDR_SCJSCFCZ.

參照類:

Package person.test;

/**

 * @author 蔣偉

 */

public class PersonChooseFld extends MAXTableDomain {

 

    public PersonChooseFld(MboValue mbv) {

       super(mbv);

       setRelationship("PERSONGROUP", ""); // PERSONGROUP 爲主對象

       String attriname = getMboValue().getAttributeName();

       String[] as = { attriname };

       String[] as1 = { "PERSONGROUPID" }; // 條件字段

       setLookupKeyMapInOrder(as, as1);

    }

 

    public MboSetRemote getList() throws MXException, RemoteException {

       MboSetRemote list = super.getList();

       MboValue thisValue = getMboValue();

       String where = "1=1"; //表示查詢出所有的記錄

       list.reset();

       return list;

    }

}

6、將類編譯打包並綁定到對象的屬性上。

 

 

在Mbo中取得數據庫連接

    /**

     * 取得Mbo類,如果super.getThisMboSet().getMbo()返回對象爲Null那麼就取得當前Mbo(this)

     * @author 蔣偉

     * @return

     */

    public final Mbo getMbo() {

       Mbo mbo = null;

       try {

           mbo = (Mbo) super.getThisMboSet().getMbo();

       } catch (Exception e) {

       }

       return mbo == null ? this : null;

    }

 

    /**

     * 取得數據庫連接對象

     * @author 蔣偉

     * @return

     */

    public final Connection getConnection() {

       Mbo mbo = this.getMbo();

       Connection conn = null;

       ConnectionKey connectionKey;

       try {

           connectionKey = mbo.getUserInfo().getConnectionKey();

           conn = mbo.getMboServer().getDBConnection(connectionKey);

       } catch (RemoteException e) {

           e.printStackTrace();

       }

       return conn;

    }

 

 

 

設置文本框的詳細屬性

在對應表中的添加一個新的字段,格式爲  屬性_longdescription.例如INTRODUCTION_LONGDESCRIPTION

.

在設計器裏面該字段的查找綁定上LONGDESC:

帶值返回

在需要帶值返回的應用中創建一個相同的字段,並且將轉到應用程序中填入相關的應用

 

關於RowStamp

RowStamp列是利用Maximo在建立數據表時系統自動添加的字段,其值是由maximo系統自動填充,填充方式爲觸發器.

每個表都對應有自己的觸發器,其命名規則爲:表明_T

如果RowStamp不能正學輸入,那麼需查看錶所對應的trigger是否正常。

 

主表,從表傳值:

1.MboRemote owner=getOwner();

在從表的MBO中使用此方法可以得到主表對象,並使用主表屬性。

2.如圖:在BEAN類中綁定一個類繼承DataBean,在類的addrow()方法中也可以實現主從表關係。


(未完,待修改……)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章