NC审批后操作 扩展开发

单据审批后 进行拓展开发 NC中有两种方式:

  1. Client 端 通过XML文件配置
  2. 在public端进行拓展开发,需要从数据库中插入脚本
  3. SELECT * FROM pub_pluginitem ORDER BY ts DESC;,注册审批后执行的操作类
  4. 特别注意:
    VMODULENAME 列注意大小写 例如:销售的都是so,但是仓库的都是IC 如果这里配置不对 会导致找不到相关的规则。
/*注意:opcnc,m30,so 大小写 否则会不执行该拦截类*/
INSERT INTO PUB_PLUGINITEM
  (DR,
   INDUSTRYTYPE,
   IORDER,
   LOCALTYPE,
   PK_PLUGINITEM,
   TS,
   VCOMPONENTNAME,
   VDESCRIPTION,
   VEVENTTYPE,
   VEXTENDMODULE,
   VEXTENDPOINTNAME,
   VEXTENDTYPE,
   VMODULENAME,
   VRULECLASS,
   VTARGETCLASS)
VALUES
  (0,
   '~',
   1,
   '~',
   '1001Z81000000000PMS1',
   '2021-05-07 10:54:58',
   'm30',
   '销售订单删除后同步至PMS',
   'after',
   'opcnc',
   'nc.bs.so.m30.maintain.InsertSaleOrderBP',
   'addAfter',
   'so',
   'nc.pubimpl.so.m30.pms.rule.M30_DEL2PMS',
   NULL);
  1. 操作类实现:
package nc.pubitf.pu.m21.pub.yc.listener;
import nc.bs.businessevent.IBusinessEvent;
import nc.bs.businessevent.IBusinessListener;
import nc.bs.dao.BaseDAO;
import nc.bs.framework.common.NCLocator;
import nc.vo.yuncai.mall.util.OrderCheckUtil;
import nc.pubitf.pu.m21.pub.IOrderPubCpuService;
import nc.vo.pu.m21.entity.OrderVO;
import nc.vo.pub.BusinessException;
import org.apache.commons.lang.StringUtils;

public class AfterSCMPurorderApprovedPassForYC implements IBusinessListener {

	@Override
	public void doAction(IBusinessEvent arg0) throws BusinessException {
		Object objArray = ((nc.bs.businessevent.BusinessEvent) arg0).getObject();
		if(objArray instanceof Object[]){
			String pk_order_h = null;
			OrderVO ordObj = null;
			if(((Object[])objArray)[0] instanceof OrderVO){
				ordObj = (OrderVO) ((Object[])objArray)[0];
        if(!OrderCheckUtil.yucaiMallFilter(ordObj.getHVO())){
          if( (ordObj.getHVO().getForderstatus()==3) 
              || (ordObj.getHVO().getForderstatus()==4) ){  //审批通过3,审批不通过4,采购方确认 
            pk_order_h = ordObj.getPrimaryKey();
          }
        }
			}
			if(!StringUtils.isEmpty(pk_order_h)){//审批后,同步到云采的数据更新为 订单已确认
				NCLocator.getInstance().lookup(IOrderPubCpuService.class).approveOrderToYuncai(ordObj);
			}
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值