Example #1
0
        protected virtual bool ValidateSOIncome()
        {
            bool result = true;

            if (IsAuditNetPay)
            {
                ValidateSONetPay();
                ExternalDomainBroker.AuditNetPay(CurrentSONetPayInfo.SysNo.Value);
            }
            BizEntity.Invoice.SOIncomeInfo incomeInfo = CurrentSOIncomeInfo;
            if (incomeInfo == null)
            {
                result = false;
                BizExceptionHelper.Throw("SO_Audit_SOIncomeIsNull");
            }
            else
            {
                //Nick.Y.Zheng 金额不相等,并且误差在1分钱以上则不通过,否则通过
                //使用了余额支付或礼品卡支付需要强制审核
                decimal incomeAmount = incomeInfo.IncomeAmt.HasValue ? incomeInfo.IncomeAmt.Value : 0m;
                if (incomeInfo.IncomeAmt != CurrentSO.BaseInfo.ReceivableAmount &&
                    Math.Abs(incomeAmount - CurrentSO.BaseInfo.ReceivableAmount) > 0.01m &&
                    !IsForce)
                {
                    result = false;
                    //支付金额不足
                    BizExceptionHelper.Throw("SO_Audit_IncomeUnequalSOAmount");
                }
            }
            return(result);
        }