|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622 。
您需要 登录 才可以下载或查看,没有帐号?注册
x
客户要求如果是cm工单, 在关闭前 必须填写 故障类别,问题,原因以及措施,否则不能关闭工单。
实现方法, 改maximo的处理工单状态更改的源文件!
package psdi.app.workorder;
import java.rmi.RemoteException;
import psdi.jsp.util.Util;
import psdi.mbo.MboSetRemote;
import psdi.mbo.StatefulMbo;
import psdi.util.MXApplicationException;
import psdi.util.MXException;
public class CustWOStatusHandler extends WOStatusHandler
{
public CustWOStatusHandler(StatefulMbo statefulmbo)
{
super(statefulmbo);
}
void canClose(String s) throws MXException, RemoteException
{
if (parent.getString("WORKTYPE").equalsIgnoreCase("CM") && !Util.isNull(parent.getString("EQNUM")))
{
MboSetRemote failreport = super.parent.getMboSet("$failreport", "FAILUREREPORT", "wonum='"
+ super.parent.getString("wonum") + "'");
if (null == failreport || failreport.count() < 3)
{
Object aobj1[] = { parent.getString("wonum") };
throw new MXApplicationException("workorder", "NeedFailure", aobj1);
}
}
super.canClose(s);
}
}
别忘记在 自定义的 wo 中指定新的状态处理类。
protected StatusHandler getStatusHandler()
{
return new CustWOStatusHandler(this);
}
当然可以直接拓展wo进行修改,但是这种方式是比较标准的,使用这种方式以后,
不填写故障不能看到关闭工单的选项,工作流推送会出现错误警告。 |
|