MAXIMO開發總結(二)
阿新 • • 發佈:2019-02-11
使用MAXIMO平臺做開發,對很多東西都迷迷糊糊的,在這裡一點一點總結,理清思路。
一、虛擬表
顧名思義就是不存在的表,它實際上只是被配置在MAXIMO的表資訊中,但在物理中是不存在的,是虛擬的。
虛擬表,主要用來儲存臨時資料,因為maximo用的都是物件或者說是物件集,如果你想臨時儲存一些資料,那麼你就要構造這個虛表。一般是在頁面程式碼中呼叫。
1、最常見的虛擬表就是修改狀態的表,例如WOChangeStatus、WOChangeStatusSet。
1)這種類的程式碼基本大同小異,
publicclass WOChangeStatusSet extends ChangeStatusSet{
public WOChangeStatusSet(MboServerInterface mboserverinterface)
throws MXException, RemoteException
{
super(mboserverinterface);
}
protected Mbo getMboInstance(MboSet mboset)
throws MXException, RemoteException
{
}
public String getName()
{
return"WOChangeStatus";
}
protected MboSetRemote getMboIntoSet(MboRemote mboremote)
throws MXException, RemoteException
{
MboSetRemote mbosetremote = getMboServer().getMboSet("WORKORDER", getUserInfo());
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", 0, 11L);
}
}
2)需要在WOService 中建立聯絡
{
。。。
publicvoid createRelationList(RelationList relationlist) {
。。。
relationlist.addRelation(new RelationInfo("WOChangeStatus", "WORKORDER", "WOChangeStatus", ""));
}
。。。
}
二、還有另外一種,如AssignLabor、AssignLaborSet。