
package nccloud.bs.ic.ic.aggbusi.ace.bp;


import nccloud.bs.ic.ic.aggbusi.plugin.bpplugin.NccsynergyPluginPoint;
import nc.vo.sap.syproconfig.AggSyProConfigVO;
import nc.impl.pubapp.pattern.data.bill.template.DeleteBPTemplate;
import nc.impl.pubapp.pattern.rule.processer.AroundProcesser;
import nc.impl.pubapp.pattern.rule.IRule;


/**
 * 标准单据删除BP
 */
public class AceNccsynergyDeleteBP {

        public void delete(AggSyProConfigVO[] bills) {

                DeleteBPTemplate<AggSyProConfigVO> bp = new DeleteBPTemplate<AggSyProConfigVO>(
NccsynergyPluginPoint.DELETE);
                // 增加执行前规则
                this.addBeforeRule(bp.getAroundProcesser());
                // 增加执行后业务规则
                this.addAfterRule(bp.getAroundProcesser());
                bp.delete(bills);
        }

        private void addBeforeRule(AroundProcesser<AggSyProConfigVO> processer) {
                // TODO 前规则
//              IRule<AggSyProConfigVO> rule = null;
//              rule = new nc.bs.pubapp.pub.rule.BillDeleteStatusCheckRule();
//              processer.addBeforeRule(rule);
        }

        /**
         * 删除后业务规则
         *
         * @param processer
         */
        private void addAfterRule(AroundProcesser<AggSyProConfigVO> processer) {
                // TODO 后规则

        }
}
