需求: 区分设备编码与物资编码:在做物资计划,选择库存编码时,由于选项中既有
物料编码又有
设备编码,很容易误将设备编码当作物料编码录入到系统中,这样在最终验收入库时,
造成不能入库,系统提示没有相对应的库存编码;将“周转”选型显示到界面中,
并且做相关验证提示功能
设备编码,很容易误将设备编码当作物料编码录入到系统中,这样在最终验收入库时,
造成不能入库,系统提示没有相对应的库存编码;将“周转”选型显示到界面中,
并且做相关验证提示功能
备注:可以测试确定这个工作是否要做,如果要做,工作如下:
1、确定客户化点
在应用程序设计中没有对应的。
在数据库配置中找到itemnum字段,对应字段类FldPurItemNumCust.java
2、扩展字段类com.wmccn.zn.eam.app.common.purchasing.FldPurItemNumCust
在应用程序设计中没有对应的。
在数据库配置中找到itemnum字段,对应字段类FldPurItemNumCust.java
2、扩展字段类com.wmccn.zn.eam.app.common.purchasing.FldPurItemNumCust
3、代码实现
3.1 获取PR行记录,然后再得到行记录的所得者,这样就可以得到PRNUM
MboRemote popr = getMboValue().getMbo();
MboRemote owner = popr.getOwner();
prnum=owner.getString("prnum");
3.2 从结果集中获取信息 ,可以理解为所选的item的行信息
MboRemote item = getMboSet().getMbo(0);
3.1 获取PR行记录,然后再得到行记录的所得者,这样就可以得到PRNUM
MboRemote popr = getMboValue().getMbo();
MboRemote owner = popr.getOwner();
prnum=owner.getString("prnum");
3.2 从结果集中获取信息 ,可以理解为所选的item的行信息
MboRemote item = getMboSet().getMbo(0);
4\更新(这一步得确认,可能不要做)
update maxattribute set classname = 'com.wmccn.zn.eam.app.common.purchasing.FldPurItemNumCust' where (objectname='PO' or objectname='PR') and attributename='ITEMNUM';
update maxattribute set classname = 'com.wmccn.zn.eam.app.common.purchasing.FldPurItemNumCust' where (objectname='PO' or objectname='PR') and attributename='ITEMNUM';
update maxattributecfg set classname = 'com.wmccn.zn.eam.app.common.purchasing.FldPurItemNumCust' where (objectname='PO' or objectname='PR') and attributename='ITEMNUM';
commit;
commit;
测试数据:新建 1016,新建项目 MOT10,将周转件标志带过来了。
结果:测试成功
------- 附上所有代码---------------
package com.wmccn.zn.eam.app.common.purchasing;
import psdi.util.MXException;
import psdi.mbo.MboRemote;
import psdi.mbo.MboValueAdapter;
import psdi.mbo.MboValue;
import java.rmi.RemoteException;
import psdi.util.logging.MXLogger;
import psdi.util.logging.MXLoggerFactory;
import psdi.app.common.purchasing.*;
import psdi.mbo.MboRemote;
import psdi.mbo.MboValueAdapter;
import psdi.mbo.MboValue;
import java.rmi.RemoteException;
import psdi.util.logging.MXLogger;
import psdi.util.logging.MXLoggerFactory;
import psdi.app.common.purchasing.*;
public class FldPurItemNumCust1 extends FldPurItemNum {
final private String APPLOGGER = "maximo.application.PURCHASING";
private MXLogger log;
private MXLogger log;
public FldPurItemNumCust1(MboValue mboValue0) throws RemoteException, MXException {
super(mboValue0);
log = MXLoggerFactory.getLogger(APPLOGGER);
}
super(mboValue0);
log = MXLoggerFactory.getLogger(APPLOGGER);
}
public void validate() throws MXException, RemoteException {
//TODO Auto-generated method stub
super.validate();
log.debug("FldPurItemNumCust1.validate");
//TODO Auto-generated method stub
super.validate();
log.debug("FldPurItemNumCust1.validate");
}
public void init() throws MXException, RemoteException {
//TODO Auto-generated method stub
super.init();
log.debug("FldPurItemNumCust1.init");
//TODO Auto-generated method stub
super.init();
log.debug("FldPurItemNumCust1.init");
}
public void action() throws MXException, RemoteException {
//TODO Auto-generated method stub
super.action();
String rotating=null;
String prnum=null;
MboRemote popr = getMboValue().getMbo();
MboRemote owner = popr.getOwner();
prnum=owner.getString("prnum");
MboRemote item = getMboSet().getMbo(0);
if (popr.getString("itemnum").equals(""))
{
return;
}
if (item.getBoolean("rotating"))
{
popr.setValue("rotating", true, 11L);
}
else
{
popr.setValue("rotating", false, 11L);
}
//TODO Auto-generated method stub
super.action();
String rotating=null;
String prnum=null;
MboRemote popr = getMboValue().getMbo();
MboRemote owner = popr.getOwner();
prnum=owner.getString("prnum");
MboRemote item = getMboSet().getMbo(0);
if (popr.getString("itemnum").equals(""))
{
return;
}
if (item.getBoolean("rotating"))
{
popr.setValue("rotating", true, 11L);
}
else
{
popr.setValue("rotating", false, 11L);
}
System.out.println("采购申请号"+prnum+"库存项目"+popr.getString("itemnum")+"周转 " + rotating);
log.debug("采购申请号"+prnum+"库存项目"+popr.getString("itemnum")+"周转 " + rotating);
log.debug("FldPurItemNumCust1.action");
log.debug("采购申请号"+prnum+"库存项目"+popr.getString("itemnum")+"周转 " + rotating);
log.debug("FldPurItemNumCust1.action");
}
}//class