zoukankan      html  css  js  c++  java
  • InvoiceCancelSendApAction

    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 by@陈志锋 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 by@陈志锋  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;
      }
    }
    

      

    ---- 动动手指关注我!或许下次你又能在我这里找到你需要的答案!ZZZZW与你一起学习,一起进步!
  • 相关阅读:
    合并两个有序数组
    删除排序数组中的重复项 II
    对称二叉树
    相同的树
    二叉树的最大深度
    从前序与中序遍历序列构造二叉树
    vue简单案例_动态添加删除用户数据
    对vue的初步学习(一)
    关于java for循环常见练习题
    关于java中循环的学习
  • 原文地址:https://www.cnblogs.com/zzzzw/p/5078685.html
Copyright © 2011-2022 走看看