diff --git a/mmpac/src/private/nc/bs/pub/action/N_55A4_APPROVE.java b/mmpac/src/private/nc/bs/pub/action/N_55A4_APPROVE.java new file mode 100644 index 00000000..23e7c8c7 --- /dev/null +++ b/mmpac/src/private/nc/bs/pub/action/N_55A4_APPROVE.java @@ -0,0 +1,55 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package nc.bs.pub.action; + +import java.util.Arrays; +import nc.bs.mmpac.wr.bp.WrAuditAndApplyCheckForNccBP; +import nc.bs.mmpac.wr.bp.WrAuditAndBackFlushForNccBP; +import nc.bs.mmpac.wr.plugin.WrPluginPoint; +import nc.bs.pubapp.pf.action.AbstractPfAction; +import nc.bs.uif2.validation.ValidationException; +import nc.bs.uif2.validation.ValidationFailure; +import nc.impl.pubapp.pattern.rule.processer.CompareAroundProcesser; +import nc.util.mmf.framework.base.MMCollectionUtil; +import nc.vo.mmpac.wr.entity.AggWrVO; +import nc.vo.pub.BusinessException; +import nc.vo.pubapp.pattern.exception.ExceptionUtils; +import nccloud.vo.mmpub.utils.power.MMDataPermissionUtil; + +public class N_55A4_APPROVE extends AbstractPfAction { + public N_55A4_APPROVE() { + } + + protected CompareAroundProcesser getCompareAroundProcesserWithRules(Object userObj) { + CompareAroundProcesser processer = new CompareAroundProcesser(WrPluginPoint.APPROVE); + return processer; + } + + protected AggWrVO[] processBP(Object userObj, AggWrVO[] clientFullVOs, AggWrVO[] originBills) { + try { + if (super.m_tmpVo.isCloudEntry) { + if (clientFullVOs[0].getParentVO().getFprodmode() == 2) { + MMDataPermissionUtil.checkPermission(clientFullVOs, "55C4", "WrAuditBP", "vbillcode"); + } else { + MMDataPermissionUtil.checkPermission(clientFullVOs, "55A4", "WrAuditBP", "vbillcode"); + } + } + + AggWrVO[] vos = (new WrAuditAndBackFlushForNccBP()).auditAndBackFlush((AggWrVO[])Arrays.asList(clientFullVOs).toArray(new AggWrVO[0])); + vos = (new WrAuditAndApplyCheckForNccBP()).auditAndApplyCheck(vos); + if (super.m_tmpVo.isCloudEntry && MMCollectionUtil.isNotEmpty(vos[0].getParentVO().getExcpMsgList())) { + ValidationException validationException = new ValidationException(); + validationException.addValidationFailure((ValidationFailure)vos[0].getParentVO().getExcpMsgList().get(0)); + ExceptionUtils.wrappException(validationException); + } + + return vos; + } catch (BusinessException e) { + ExceptionUtils.wrappException(e); + return null; + } + } +}