1. 程式人生 > >MAXIMO開發總結(二)

MAXIMO開發總結(二)

使用MAXIMO平臺做開發,對很多東西都迷迷糊糊的,在這裡一點一點總結,理清思路。

一、虛擬表

顧名思義就是不存在的表,它實際上只是被配置在MAXIMO的表資訊中,但在物理中是不存在的,是虛擬的。

虛擬表,主要用來儲存臨時資料,因為maximo用的都是物件或者說是物件集,如果你想臨時儲存一些資料,那麼你就要構造這個虛表。一般是在頁面程式碼中呼叫。


1、最常見的虛擬表就是修改狀態的表,例如WOChangeStatus、WOChangeStatusSet。

1)這種類的程式碼基本大同小異,

publicclass WOChangeStatusSet extends ChangeStatusSet
    
implements NonPersistentMboSetRemote
{

    
public WOChangeStatusSet(MboServerInterface mboserverinterface)
        
throws MXException, RemoteException
    
{
        
super(mboserverinterface);
    }


    
protected Mbo getMboInstance(MboSet mboset)
        
throws MXException, RemoteException
    
{
        
returnnew WOChangeStatus(mboset);
    }


    
public String getName()
    
{
        
return"WOChangeStatus";
    }


    
protected MboSetRemote getMboIntoSet(MboRemote mboremote)
        
throws MXException, RemoteException
    
{
        MboSetRemote mbosetremote 
= getMboServer().getMboSet("WORKORDER", getUserInfo());
        SqlFormat sqlformat 
=new SqlFormat(mboremote, "wonum = :wonum");
        mbosetremote.setWhere(sqlformat.format());
        mbosetremote.setApp(getApp());
        
return mbosetremote;
    }

}
publicclass WOChangeStatus extends NonPersistentMbo
    
implements NonPersistentMboRemote
{

    
public WOChangeStatus(MboSet mboset)
        
throws MXException, RemoteException
    
{
        
super(mboset);
    }


    
publicvoid 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"011L);
    }

}

2)需要在WOService 中建立聯絡

publicclass WOService extends AppService    implements WOServiceRemote
{
  。。。
    
publicvoid createRelationList(RelationList relationlist) {
      。。。
     relationlist.addRelation(
new RelationInfo("WOChangeStatus""WORKORDER""WOChangeStatus"""));
  }

  。。。
  
}

二、還有另外一種,如AssignLabor、AssignLaborSet。