package nc.ui.pu.m25.action; import java.awt.event.ActionEvent; import nc.bs.framework.common.NCLocator; import nc.itf.arap.payablebill.IPayablebillItf; import nc.itf.scmpub.reference.uap.group.SysInitGroupQuery; import nc.ui.pubapp.pub.common.context.PFlowContext; import nc.ui.pubapp.uif2app.actions.pflow.ScriptPFlowAction; import nc.ui.scmpub.action.SCMActionInitializer; import nc.ui.uif2.UIState; import nc.vo.ml.NCLangRes4VoTransl; import nc.vo.pu.m25.entity.InvoiceVO; import nc.vo.pu.m25.enumeration.InvoiceBillAction; import nc.vo.pu.m25.env.InvoiceUIToBSEnv; import nc.vo.pub.AggregatedValueObject; import nc.vo.pub.lang.UFBoolean; import nc.vo.pubapp.pattern.exception.ExceptionUtils; import nc.vo.pubapp.pflow.PfUserObject; import org.apache.commons.lang.ArrayUtils; public class InvoiceCancelSendApAction extends ScriptPFlowAction { private static final long serialVersionUID = 4553662148501234750L; public InvoiceCancelSendApAction() { SCMActionInitializer.initializeAction(this, "CancelToAP"); } public void doAction(ActionEvent e) throws Exception { if (!SysInitGroupQuery.isAPEnabled()) { ExceptionUtils.wrappBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("4004050_0", "04004050-0001")); } super.doAction(e); //add [email protected]陈志锋 2015-12-26 取消应付单时更新中间表状态字段 begin InvoiceVO vo = (InvoiceVO)getModel().getSelectedData(); Object[] vos = getModel().getSelectedOperaDatas(); IPayablebillItf itf = NCLocator.getInstance().lookup(IPayablebillItf.class); for (int i = 0; i < vos.length; i++) { InvoiceVO objVO = (InvoiceVO) vos[i]; if(objVO != null){ String pk = objVO.getParent().getPrimaryKey(); itf.deteleInfoMiddle(pk); } } //add [email protected]陈志锋 2015-12-26 取消应付单时更新中间表状态字段 end } protected void beforeCheck(Object vo) { super.beforeCheck(vo); } protected void fillUpContext(PFlowContext context) { super.fillUpContext(context); AggregatedValueObject[] vos = context.getBillVos(); if (ArrayUtils.isEmpty(vos)) { return; } PfUserObject[] usrObjs = new PfUserObject[vos.length]; PfUserObject usrObj = new PfUserObject(); InvoiceUIToBSEnv env = new InvoiceUIToBSEnv(); env.setTrigger(InvoiceBillAction.CANCELSENDAP); env.setBManual(UFBoolean.TRUE); usrObj.setUserObject(env); for (int i = 0; i < usrObjs.length; i++) { usrObjs[i] = usrObj; } context.setUserObjs(usrObjs); } protected boolean isActionEnable() { boolean isEnable = true; isEnable &= ((UIState.NOT_EDIT == getModel().getUiState()) && (null != getModel().getSelectedData())); if (isEnable) { InvoiceVO vo = (InvoiceVO)getModel().getSelectedData(); Object[] vos = getModel().getSelectedOperaDatas(); isEnable &= ((vo.getParentVO().getBapflag().booleanValue()) || ((null != vos) && (1 < vos.length))); } return isEnable; } }
时间: 2024-12-14 11:23:40