Ejemplo n.º 1
0
        /// <summary>
        /// 审核通过成本变价单信息
        /// </summary>
        /// <param name="costChangeInfo"></param>
        /// <returns></returns>
        public virtual CostChangeInfo AuditCostChange(CostChangeInfo costChangeInfo)
        {
            TransactionOptions option = new TransactionOptions();

            //option.IsolationLevel = IsolationLevel.ReadUncommitted;
            option.Timeout = TransactionManager.DefaultTimeout;
            using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required, option))
            {
                costChangeInfo.CostChangeBasicInfo.Status = CostChangeStatus.Audited;
                //修改单据状态
                costChangeInfo = CostChangeDA.UpdateCostChangeAuditStatus(costChangeInfo);
                //调用Inventory接口:更新库存成本
                ExternalDomainBroker.UpdateCostInWhenCostChange(costChangeInfo);
                //调用Invoice接口:生成结算单的付款单
                ExternalDomainBroker.CreatePayItem(new PayItemInfo()
                {
                    OrderSysNo  = costChangeInfo.SysNo.Value,
                    PayAmt      = costChangeInfo.CostChangeBasicInfo.TotalDiffAmt,
                    OrderType   = PayableOrderType.CostChange,
                    PayStyle    = PayItemStyle.Normal,
                    CompanyCode = costChangeInfo.CompanyCode
                });

                //记录日志
                ExternalDomainBroker.CreateLog("Audit CostChange"
                                               , BizEntity.Common.BizLogType.CostChange_Audit
                                               , costChangeInfo.SysNo.Value, costChangeInfo.CompanyCode);
                ts.Complete();
            }

            return(costChangeInfo);
        }