Esempio n. 1
0
 /// <summary>
 /// 作废订单收款单(已付款的生成退款信息)
 /// </summary>
 /// <param name="order">订单</param>
 /// <param name="user">操作用户</param>
 /// <param name="autoPay">自动付款</param>
 /// <returns></returns>
 ///<remarks>2013-07-17 朱成果 创建</remarks>
 public void CancelOrderReceipt(SoOrder order, SyUser user, bool autoPay = false)
 {
     if (order != null)
     {
         var entity = Hyt.DataAccess.Finance.IFnReceiptVoucherDao.Instance.GetEntity(sourceFromOrder, order.SysNo);
         if (entity != null && entity.Status != (int)FinanceStatus.收款单状态.作废)
         {
             //已收款,生成新的付款单,否则作废收款单
             if (entity.ReceivedAmount > 0)
             {
                 FnPaymentVoucher pv = new FnPaymentVoucher()
                 {
                     PayableAmount    = entity.ReceivedAmount,
                     CreatedBy        = user == null ? 0 : user.SysNo,
                     CreatedDate      = DateTime.Now,
                     CustomerSysNo    = order.CustomerSysNo,
                     Source           = (int)FinanceStatus.付款来源类型.销售单,
                     TransactionSysNo = entity.TransactionSysNo,
                     SourceSysNo      = order.SysNo,
                     Status           = autoPay?(int)FinanceStatus.付款单状态.已付款:(int)FinanceStatus.付款单状态.待付款,
                     Remarks          = "订单作废",
                     PayDate          = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue,
                     LastUpdateDate   = DateTime.Now
                 };
                 pv.SysNo = Hyt.DataAccess.Finance.IFnPaymentVoucherDao.Instance.Insert(pv);
                 var list = Hyt.DataAccess.Finance.IFnReceiptVoucherItemDao.Instance.GetListByReceiptNo(entity.SysNo);
                 if (list != null)
                 {
                     foreach (FnReceiptVoucherItem m in list)
                     {
                         FnPaymentVoucherItem p = new FnPaymentVoucherItem()
                         {
                             Amount                   = m.Amount,
                             CreatedBy                = user == null ? 0 : user.SysNo,
                             CreatedDate              = DateTime.Now,
                             OriginalVoucherNo        = m.VoucherNo,
                             OriginalPaymentTypeSysNo = m.PaymentTypeSysNo,
                             PaymentType              = GetPaymentType(m.PaymentTypeSysNo),//支付方式对应付款方式
                             PaymentVoucherSysNo      = pv.SysNo,
                             RefundAccount            = m.CreditCardNumber,
                             TransactionSysNo         = entity.TransactionSysNo,
                             Status                   = autoPay? (int)FinanceStatus.付款单明细状态.已付款 : (int)FinanceStatus.付款单明细状态.待付款,
                             PayDate                  = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue,
                             LastUpdateDate           = DateTime.Now
                         };
                         Hyt.DataAccess.Finance.IFnPaymentVoucherDao.Instance.InsertItem(p);
                     }
                 }
             }
             else
             {
                 entity.Remark         = "订单作废";
                 entity.Status         = (int)FinanceStatus.收款单状态.作废;
                 entity.LastUpdateDate = DateTime.Now;
                 entity.LastUpdateBy   = user == null ? 0 : user.SysNo;
                 Hyt.DataAccess.Finance.IFnReceiptVoucherDao.Instance.Update(entity);
             }
         }
     }
 }
 /// <summary>
 /// 更新付款单
 /// </summary>
 /// <param name="entity">付款单</param>
 /// <returns></returns>
 /// <remarks>2013-07-22  黄志勇 创建</remarks>
 public override void UpdateVoucher(FnPaymentVoucher entity)
 {
     Context.Update("FnPaymentVoucher", entity)
     .AutoMap(o => o.SysNo)
     .Where("SysNo", entity.SysNo)
     .Execute();
 }
        /// <summary>
        /// 创建付款单
        /// </summary>
        /// <param name="model">The model.</param>
        /// <returns>付款单系统编号</returns>
        /// <remarks>
        /// 2013/7/12 何方 创建
        /// </remarks>
        public override int Insert(FnPaymentVoucher model)
        {
            var sysNo = Context.Insert("FnPaymentVoucher", model)
                        .AutoMap(o => o.SysNo)
                        .ExecuteReturnLastId <int>("SysNo");

            return(sysNo);
        }
Esempio n. 4
0
        /// <summary>
        /// 创建付款单
        /// </summary>
        /// <param name="paymentVoucher">付款单主表.</param>
        /// <param name="items">明细列表列表.</param>
        /// <returns></returns>
        /// <remarks>
        /// 2013-07-12 何方 创建
        /// </remarks>
        public int CreatePaymentVoucher(FnPaymentVoucher paymentVoucher, IList <FnPaymentVoucherItem> items)
        {
            var paymentVoucherSysNo = IFnPaymentVoucherDao.Instance.Insert(paymentVoucher);

            if (items != null)
            {
                foreach (var item in items)
                {
                    item.PaymentVoucherSysNo = paymentVoucherSysNo;
                    var itemSysNo = IFnPaymentVoucherDao.Instance.InsertItem(item);
                    item.SysNo = itemSysNo; //给明细付款单编号赋值 余勇 2014-07-22
                }
            }
            return(paymentVoucherSysNo);
        }
Esempio n. 5
0
        /// <summary>
        /// 二期业务数据1段 财务
        /// </summary>
        /// <param name="listObject"></param>
        private void AddBaseTaskObject2ToList2(List <BaseTask> listObject)
        {
            BaseTask fninvoice = new FnInvoice();

            BaseTask fnpv = new FnReceiptVoucher();
            BaseTask fnReceiptVoucherItem = new FnReceiptVoucherItem();
            BaseTask fnop                 = new FnOnlinePayment();
            BaseTask fnPaymentVoucher     = new FnPaymentVoucher();
            BaseTask fnPaymentVoucherItem = new FnPaymentVoucherItem();



            listObject.Add(fninvoice);
            listObject.Add(fnpv);
            listObject.Add(fnReceiptVoucherItem);
            listObject.Add(fnop);


            listObject.Add(fnPaymentVoucher);
            listObject.Add(fnPaymentVoucherItem);
        }
Esempio n. 6
0
        private void AddBaseTaskObjectToList(List <BaseTask> listObject)
        {
            BaseTask bsAT                    = new BsArea();
            BaseTask bsDP                    = new BsDeliveryPayment();
            BaseTask bsPT                    = new BsPaymentType();
            BaseTask bsCode                  = new BsCode();
            BaseTask bsOrganization          = new BsOrganization();
            BaseTask bsOrganizationWarehouse = new BsOrganizationWarehouse();

            BaseTask crCustomer = new CrCustomer();
            BaseTask crCL       = new CrCustomerLevel();
            BaseTask crCQ       = new CrCustomerQuestion();
            BaseTask crRA       = new CrReceiveAddress();

            BaseTask dsMallType      = new DsMallType();
            BaseTask dsDealerLevel   = new DsDealerLevel();
            BaseTask feArticle       = new FeArticle();
            BaseTask feAC            = new FeArticleCategory();
            BaseTask feCS            = new FeCommentSupport();
            BaseTask fepc            = new FeProductComment();
            BaseTask fePCI           = new FeProductCommentImage();
            BaseTask fePCR           = new FeProductCommentReply();
            BaseTask feSearchKeyword = new FeSearchKeyword();
            BaseTask feadvertgroup   = new FeAdvertGroup();
            BaseTask feadvertitem    = new FeAdvertItem();
            BaseTask feproductgroup  = new FeProductGroup();
            BaseTask feproductitem   = new FeProductItem();

            BaseTask fnIT      = new FnInvoiceType();
            BaseTask fninvoice = new FnInvoice();

            BaseTask fnpv = new  FnReceiptVoucher();
            BaseTask fnReceiptVoucherItem = new FnReceiptVoucherItem();
            BaseTask fnop                 = new FnOnlinePayment();
            BaseTask fnPaymentVoucher     = new FnPaymentVoucher();
            BaseTask fnPaymentVoucherItem = new FnPaymentVoucherItem();

            BaseTask lgDelivery              = new LgDelivery();
            BaseTask lgDI                    = new LgDeliveryItem();
            BaseTask lgDS                    = new LgDeliveryScope();
            BaseTask lgDT                    = new LgDeliveryType();
            BaseTask lgDUC                   = new LgDeliveryUserCredit();
            BaseTask lgPT                    = new LgPickupType();
            BaseTask lgsettlement            = new LgSettlement();
            BaseTask lgSI                    = new LgSettlementItem();
            BaseTask lgDeliveryPrintTemplate = new LgDeliveryPrintTemplate();
            BaseTask pdAttribute             = new PdAttribute();
            BaseTask pdAG                    = new PdAttributeGroup();
            BaseTask pdAGA                   = new PdAttributeGroupAssociation();
            BaseTask pdAO                    = new PdAttributeOption();
            BaseTask pdBrand                 = new PdBrand();
            BaseTask pdCGA                   = new PdCatAttributeGroupAso();
            BaseTask pdCategory              = new PdCategory();
            BaseTask pdCA                    = new PdCategoryAssociation();
            BaseTask pdPrice                 = new PdPrice();
            BaseTask pdProduct               = new PdProduct();
            BaseTask pdPA                    = new PdProductAssociation();
            BaseTask pdProductAttribute      = new PdProductAttribute();
            BaseTask pdPI                    = new PdProductImage();
            BaseTask pdTemplate              = new PdTemplate();
            BaseTask pdProductStatistics     = new PdProductStatistics();

            BaseTask soOrder         = new SoOrder();
            BaseTask soOrderItem     = new SoOrderItem();
            BaseTask soRA            = new SoReceiveAddress();
            BaseTask SyUG            = new SyUserGroup();
            BaseTask syGU            = new SyGroupUser();
            BaseTask syMenu          = new SyMenu();
            BaseTask syMenuPrivilege = new SyMenuPrivilege();
            BaseTask syPrivilege     = new SyPrivilege();
            BaseTask syRole          = new SyRole();
            BaseTask syRoleMenu      = new SyRoleMenu();
            BaseTask syRolePrivilege = new SyRolePrivilege();
            BaseTask syPermission    = new SyPermission();
            BaseTask syUser          = new SyUser();
            BaseTask syUW            = new SyUserWarehouse();
            BaseTask syMyMenu        = new SyMyMenu();

            BaseTask spcombo                  = new SpCombo();
            BaseTask spComboItem              = new SpComboItem();
            BaseTask spcopon                  = new spcoupon();
            BaseTask sqpromotion              = new SPpromotion();
            BaseTask spromotiongift           = new SPpromotiongift();
            BaseTask sppromotionoverlay       = new SPpromotionoverlay();
            BaseTask sppromotionrule          = new SPpromotionrule();
            BaseTask sppromotionrulecondition = new SPpromotionrulecondition();
            BaseTask sppromotionrulekeyvalue  = new SPpromotionrulekeyvalue();
            BaseTask syTaskConfig             = new SyTaskConfig();

            BaseTask whStockOut     = new WhStockOut();
            BaseTask whStockOutItem = new WhstockOutItem();
            BaseTask whwarehouse    = new WhWarehouse();
            BaseTask whwa           = new WHwarehousearea();
            BaseTask whwdy          = new WHwarehouseDeliveryType();
            BaseTask whWPT          = new WhWarehousePickupType();
            BaseTask whstockin      = new WhStockIn();
            BaseTask whstockinItem  = new WHStockinItem();
            BaseTask rcReturn       = new RCReturn();
            BaseTask rcReturnItem   = new RcReturnItem();

            listObject.Add(bsAT);
            listObject.Add(bsDP);
            listObject.Add(bsPT);
            listObject.Add(bsCode);
            listObject.Add(bsOrganization);
            listObject.Add(bsOrganizationWarehouse);

            listObject.Add(crCustomer);
            listObject.Add(crCL);
            listObject.Add(crCQ);
            listObject.Add(crRA);
            listObject.Add(dsMallType);
            listObject.Add(dsDealerLevel);
            listObject.Add(feArticle);
            listObject.Add(feAC);
            listObject.Add(feCS);
            listObject.Add(fePCI);
            listObject.Add(fePCR);
            listObject.Add(fepc);
            listObject.Add(feSearchKeyword);
            listObject.Add(feadvertgroup);
            listObject.Add(feadvertitem);
            listObject.Add(feproductgroup);
            listObject.Add(feproductitem);

            listObject.Add(fnIT);
            listObject.Add(fnpv);
            listObject.Add(fnReceiptVoucherItem);
            listObject.Add(fnop);
            listObject.Add(fninvoice);

            listObject.Add(fnPaymentVoucher);
            listObject.Add(fnPaymentVoucherItem);

            listObject.Add(lgDelivery);
            listObject.Add(lgDI);
            listObject.Add(lgDS);
            listObject.Add(lgDT);
            listObject.Add(lgPT);
            listObject.Add(lgsettlement);
            listObject.Add(lgSI);
            listObject.Add(lgDeliveryPrintTemplate);

            listObject.Add(pdAttribute);
            listObject.Add(pdAG);
            listObject.Add(pdAGA);
            listObject.Add(pdAO);
            listObject.Add(pdBrand);
            listObject.Add(pdCGA);
            listObject.Add(pdCategory);
            listObject.Add(pdCA);
            listObject.Add(pdPrice);
            listObject.Add(pdProduct);
            listObject.Add(pdPA);
            listObject.Add(pdProductAttribute);
            listObject.Add(pdTemplate);
            listObject.Add(pdProductStatistics);

            listObject.Add(soOrder);
            listObject.Add(soOrderItem);

            listObject.Add(spcombo);
            listObject.Add(spComboItem);
            listObject.Add(spcopon);
            listObject.Add(sqpromotion);
            listObject.Add(spromotiongift);
            //listObject.Add(sppromotionoverlay);
            listObject.Add(sppromotionrule);
            listObject.Add(sppromotionrulecondition);
            listObject.Add(sppromotionrulekeyvalue);

            listObject.Add(syGU);
            listObject.Add(syUW);
            listObject.Add(SyUG);
            listObject.Add(syMenu);
            listObject.Add(syUser);
            listObject.Add(syPermission);

            listObject.Add(syMenuPrivilege);
            listObject.Add(syPrivilege);
            listObject.Add(syRole);
            listObject.Add(syRoleMenu);
            listObject.Add(syRolePrivilege);
            listObject.Add(syMyMenu);
            listObject.Add(syTaskConfig);

            listObject.Add(whStockOut);
            listObject.Add(whStockOutItem);
            listObject.Add(whwarehouse);
            listObject.Add(whwa);
            listObject.Add(whwdy);
            listObject.Add(whWPT);
            listObject.Add(whstockin);
            listObject.Add(whstockinItem);
            listObject.Add(rcReturn);
            listObject.Add(rcReturnItem);
            listObject.Add(lgDUC);
            listObject.Add(pdPI);
            listObject.Add(soRA);
        }
Esempio n. 7
0
        /// <summary>
        /// 创建付款单
        /// </summary>
        /// <param name="paymentVoucher"></param>
        /// <returns></returns>
        /// <remarks>2016-06-02 杨云奕 添加</remarks>
        public int CreatePaymentVoucher(FnPaymentVoucher paymentVoucher)
        {
            var paymentVoucherSysNo = IFnPaymentVoucherDao.Instance.Insert(paymentVoucher);

            return(paymentVoucherSysNo);
        }
Esempio n. 8
0
 /// <summary>
 /// 更新付款单
 /// </summary>
 /// <param name="paymentVoucher"></param>
 /// <returns></returns>
 /// <remarks>2016-06-02 杨云奕 添加</remarks>
 public void UpdatePaymentVoucher(FnPaymentVoucher paymentVoucher)
 {
     IFnPaymentVoucherDao.Instance.UpdateVoucher(paymentVoucher);
 }
Esempio n. 9
0
 /// <summary>
 /// 创建付款单
 /// </summary>
 /// <param name="paymentVoucher">府库单主表.</param>
 /// <param name="item">付款单明细.</param>
 /// <returns>付款单号</returns>
 /// <remarks>
 /// 2013-07-12 何方 创建
 /// </remarks>
 public int CreatePaymentVoucher(FnPaymentVoucher paymentVoucher, FnPaymentVoucherItem item)
 {
     return(CreatePaymentVoucher(paymentVoucher, new List <FnPaymentVoucherItem> {
         item
     }));
 }
Esempio n. 10
0
        public JsonResult Audit(int SysNo, int Status)
        {
            var result = new Result
            {
                Status = false
            };

            try
            {
                string IsSellBusiness = "";
                result.Status = true;
                //更新状态
                DsDealerBailOrderBo.Instance.UpdateStatus(SysNo, 0, Status);
                DsDealerBailOrder Model = DsDealerBailOrderBo.Instance.GetModel(SysNo);
                //更新会员是否为分销商的状态
                if (Status == (int)Hyt.Model.WorkflowStatus.StoresStatus.保证金订单状态.待审核)
                {
                    IsSellBusiness = "0";
                    Hyt.BLL.CRM.CrCustomerBo.Instance.UpdateIsSellBusiness(Model.CustomerSysNo, IsSellBusiness);
                }
                if (Status == (int)Hyt.Model.WorkflowStatus.StoresStatus.保证金订单状态.已审核)
                {
                    IsSellBusiness = "1";
                    Hyt.BLL.CRM.CrCustomerBo.Instance.UpdateIsSellBusiness(Model.CustomerSysNo, IsSellBusiness);
                    string OutTradeNo = "DsDealerBailOrder_" + Model.SysNo;
                    int    Recharge   = BLL.Balance.CrRechargeBo.Instance.IsDealerCrRecharge(Model.CustomerSysNo, OutTradeNo);
                    if (Recharge == 0)
                    {
                        decimal    amount = 10;
                        CrRecharge model  = new CrRecharge();
                        model.TradeNo       = "RechargeWX_" + DateTime.Now.ToString("yyyyMMddHHmmss");
                        model.OutTradeNo    = "DsDealerBailOrder_" + Model.SysNo;
                        model.CustomerSysNo = Model.CustomerSysNo;
                        model.ReAmount      = amount;
                        model.RePaymentName = "保证金返回";
                        model.RePaymentId   = Hyt.Model.SystemPredefined.PaymentType.分销商预存;
                        model.ReAddTime     = DateTime.Now;
                        model.ReMark        = "分销商审核通过返回:" + amount + "元";
                        model.State         = 1;
                        Hyt.BLL.Balance.CrRechargeBo.Instance.CreateCrRecharge(model);
                        int isb = Hyt.BLL.Balance.CrRechargeBo.Instance.IsExistenceABalance(Model.CustomerSysNo);
                        if (isb == 0)
                        {
                            CrAccountBalance balance = new CrAccountBalance();
                            balance.CustomerSysNo    = Model.CustomerSysNo;
                            balance.AvailableBalance = 10;
                            balance.FrozenBalance    = 0M;
                            balance.TolBlance        = 10;
                            balance.Remark           = "";
                            balance.State            = 0;
                            balance.AddTime          = DateTime.Now;
                            Hyt.BLL.Balance.CrRechargeBo.Instance.CreateCrAccountBalance(balance);
                        }
                        else
                        {
                            Hyt.BLL.Balance.CrRechargeBo.Instance.UpdateAccountBalance(amount, Model.CustomerSysNo);
                        }
                    }
                }
                if (Status == (int)Hyt.Model.WorkflowStatus.StoresStatus.保证金订单状态.作废)
                {
                    //插入记录到付款单
                    FnPaymentVoucher paymentVoucher = new FnPaymentVoucher();
                    paymentVoucher.Source         = 20;
                    paymentVoucher.SourceSysNo    = SysNo;
                    paymentVoucher.PayableAmount  = Model.Money;
                    paymentVoucher.PaidAmount     = 0;
                    paymentVoucher.CustomerSysNo  = Model.CustomerSysNo;
                    paymentVoucher.Status         = 10;
                    paymentVoucher.Remarks        = "保证金作废";
                    paymentVoucher.CreatedDate    = DateTime.Now;
                    paymentVoucher.CreatedBy      = CurrentUser.Base.SysNo;
                    paymentVoucher.PayerSysNo     = 0;
                    paymentVoucher.PayDate        = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue;;
                    paymentVoucher.LastUpdateDate = DateTime.Now;
                    paymentVoucher.LastUpdateBy   = CurrentUser.Base.SysNo;
                    paymentVoucher.PaymentType    = 0;
                    int vSysNo = FinanceBo.Instance.InsertPaymentVoucher(paymentVoucher);
                }
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Esempio n. 11
0
        /// <summary>
        /// 审核提现订单
        /// </summary>
        /// <param name="sysNo">提现订单系统编号</param>
        /// <returns></returns>
        /// <remarks>2016-1-10 杨浩 创建</remarks>
        public bool AduitPredepositCash(int sysNo)
        {
            using (var tran = new TransactionScope())
            {
                ICrPredepositCashDao.Instance.UpdateStatus(sysNo, 1);
                #region 付款单

                var predepositCashInfo = GetModel(sysNo);
                var pvEntity           = new FnPaymentVoucher();
                pvEntity.Source            = (int)FinanceStatus.付款来源类型.会员提现单;
                pvEntity.SourceSysNo       = sysNo;
                pvEntity.PayableAmount     = predepositCashInfo.PdcAmount;
                pvEntity.PaidAmount        = 0;
                pvEntity.CustomerSysNo     = predepositCashInfo.PdcUserId;
                pvEntity.RefundBank        = predepositCashInfo.PdcToBank;
                pvEntity.RefundAccountName = predepositCashInfo.PdcToName;
                pvEntity.RefundAccount     = predepositCashInfo.PdcCashAccount;
                pvEntity.Status            = (int)FinanceStatus.付款单状态.待付款;
                pvEntity.CreatedDate       = DateTime.Now;
                pvEntity.PayDate           = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue;
                pvEntity.LastUpdateDate    = DateTime.Now;
                pvEntity.PaymentType       = predepositCashInfo.PdcPaymentId;
                var paymentVoucherItem = new List <FnPaymentVoucherItem>();

                #region 提现到余额
                if (predepositCashInfo.PdcPaymentId == (int)FinanceStatus.付款单付款方式.余额)
                {
                    var customerInfo = BLL.CRM.CrCustomerBo.Instance.GetModel(pvEntity.CustomerSysNo);

                    pvEntity.Status        = (int)FinanceStatus.付款单状态.已付款;
                    pvEntity.PayDate       = DateTime.Now;
                    pvEntity.PayableAmount = 0;
                    pvEntity.PaidAmount    = predepositCashInfo.PdcAmount;

                    var item = new FnPaymentVoucherItem();
                    item.PaymentType       = pvEntity.PaymentType;
                    item.Amount            = pvEntity.PayableAmount;
                    item.VoucherNo         = Guid.NewGuid().ToString("N");
                    item.Status            = (int)FinanceStatus.付款单状态.已付款;
                    item.RefundBank        = "转为商城余额";
                    item.RefundAccountName = customerInfo.NickName;
                    item.RefundAccount     = customerInfo.Account;
                    item.CreatedDate       = DateTime.Now;
                    item.PayDate           = DateTime.Now;
                    item.LastUpdateDate    = DateTime.Now;
                    paymentVoucherItem.Add(item);

                    //充值记录
                    var model = new CrRecharge();
                    model.TradeNo       = Guid.NewGuid().ToString("N"); //"RechargeWX_" + dtNow.ToString("yyMMddHHmmssfff");
                    model.OutTradeNo    = predepositCashInfo.PdcOutTradeNo;
                    model.CustomerSysNo = customerInfo.SysNo;
                    model.ReAmount      = predepositCashInfo.PdcAmount;
                    model.RePaymentName = "佣金转余额";
                    model.RePaymentId   = Hyt.Model.SystemPredefined.PaymentType.转账;
                    model.ReAddTime     = DateTime.Now;
                    model.State         = 1;
                    model.ReMark        = "佣金:" + predepositCashInfo.PdcAmount + "元,转为余额";

                    int res = Hyt.BLL.Balance.CrRechargeBo.Instance.CreateCrRecharge(model);

                    //更新余额
                    int isb = Hyt.BLL.Balance.CrRechargeBo.Instance.IsExistenceABalance(customerInfo.SysNo);
                    if (isb == 0)
                    {
                        var balance = new CrAccountBalance();
                        balance.CustomerSysNo    = customerInfo.SysNo;
                        balance.AvailableBalance = predepositCashInfo.PdcAmount;
                        balance.FrozenBalance    = 0M;
                        balance.TolBlance        = predepositCashInfo.PdcAmount;
                        balance.Remark           = "";
                        balance.State            = 0;
                        balance.AddTime          = DateTime.Now;
                        int ba = Hyt.BLL.Balance.CrRechargeBo.Instance.CreateCrAccountBalance(balance);
                    }
                    else
                    {
                        //更新会员余额
                        Hyt.BLL.Balance.CrRechargeBo.Instance.UpdateAccountBalance(predepositCashInfo.PdcAmount, customerInfo.SysNo);
                    }

                    BLL.CRM.CrCustomerBo.Instance.UpdateCustomerBrokerageFreeze(customerInfo.SysNo, predepositCashInfo.PdcAmount);
                }
                #endregion

                int voucher = Hyt.BLL.Finance.FinanceBo.Instance.CreatePaymentVoucher(pvEntity, paymentVoucherItem);
                tran.Complete();

                #endregion

                return(true);
            }
        }
Esempio n. 12
0
        /// <summary>
        /// 作废收款单
        /// </summary>
        /// <param name="sysNo">收款单编号</param>
        /// <param name="syUser">操作用户</param>
        /// <returns></returns>
        ///<remarks>2013-07-08 朱成果 创建</remarks>
        public void CancelReceiptVoucher(int sysNo, SyUser user)
        {
            var entity = Hyt.DataAccess.Finance.IFnReceiptVoucherDao.Instance.GetEntity(sysNo);

            if (entity == null)
            {
                throw new Exception("该收款单不存在");
            }

            if (entity.Status != (int)FinanceStatus.收款单状态.作废 && entity.ReceivedAmount > 0)
            {
                SoOrder order = SoOrderBo.Instance.GetEntity(entity.SourceSysNo);
                if (order != null)
                {
                    var orderItems =
                        Hyt.DataAccess.Order.ISoOrderItemDao.Instance.GetOrderItemsByOrderSysNo(order.SysNo).ToList();
                    if (orderItems.Exists(o => o.RealStockOutQuantity > 0))
                    {
                        throw new Exception("该订单存在已经出库的商品不能作废");
                    }
                    FnPaymentVoucher pv = new FnPaymentVoucher()
                    {
                        PayableAmount    = entity.ReceivedAmount,
                        CreatedBy        = user == null ? 0 : user.SysNo,
                        CreatedDate      = DateTime.Now,
                        CustomerSysNo    = order.CustomerSysNo,
                        Source           = (int)FinanceStatus.付款来源类型.销售单,
                        TransactionSysNo = entity.TransactionSysNo,
                        SourceSysNo      = order.SysNo,
                        Status           = (int)FinanceStatus.付款单状态.待付款,
                        Remarks          = "订单作废"
                    };
                    //保存付款单
                    pv.SysNo = Hyt.DataAccess.Finance.IFnPaymentVoucherDao.Instance.Insert(pv);
                    var list = Hyt.DataAccess.Finance.IFnReceiptVoucherItemDao.Instance.GetListByReceiptNo(entity.SysNo);
                    if (list != null)
                    {
                        foreach (FnReceiptVoucherItem m in list)
                        {
                            FnPaymentVoucherItem p = new FnPaymentVoucherItem()
                            {
                                Amount                   = m.Amount,
                                CreatedBy                = user == null ? 0 : user.SysNo,
                                CreatedDate              = DateTime.Now,
                                OriginalVoucherNo        = m.VoucherNo,
                                OriginalPaymentTypeSysNo = m.PaymentTypeSysNo,
                                PaymentType              = GetPaymentType(m.PaymentTypeSysNo),//支付方式对应付款方式
                                PaymentVoucherSysNo      = pv.SysNo,
                                RefundAccount            = m.CreditCardNumber,
                                TransactionSysNo         = entity.TransactionSysNo,
                                Status                   = (int)FinanceStatus.付款单明细状态.待付款
                            };
                            //保存付款单明细
                            Hyt.DataAccess.Finance.IFnPaymentVoucherDao.Instance.InsertItem(p);
                        }
                    }
                    var payType = PaymentTypeBo.Instance.GetPaymentTypeFromMemory(order.PayTypeSysNo).PaymentType;
                    //修改订单状态为待支付
                    if (payType == (int)BasicStatus.支付方式类型.预付)
                    {
                        order.PayStatus    = (int)Hyt.Model.WorkflowStatus.OrderStatus.销售单支付状态.未支付;
                        order.Status       = (int)Hyt.Model.WorkflowStatus.OrderStatus.销售单状态.待支付;
                        order.OnlineStatus = Constant.OlineStatusType.待支付;
                        SoOrderBo.Instance.UpdateOrder(order); //更新订单 余勇修改为调用业务层方法
                        //Hyt.DataAccess.Order.ISoOrderDao.Instance.Update(order);
                    }
                }
            }
            entity.Status         = (int)FinanceStatus.收款单状态.作废;
            entity.LastUpdateDate = DateTime.Now;
            entity.LastUpdateBy   = user.SysNo;
            Hyt.DataAccess.Finance.IFnReceiptVoucherDao.Instance.Update(entity);
        }
Esempio n. 13
0
 /// <summary>
 /// 更新付款单
 /// </summary>
 /// <param name="entity">付款单</param>
 /// <returns></returns>
 /// <remarks>2013-07-22  黄志勇 创建</remarks>
 public abstract void UpdateVoucher(FnPaymentVoucher entity);
Esempio n. 14
0
 /// <summary>
 /// 添加付款單
 /// </summary>
 /// <param name="model">付款單實體.</param>
 /// <returns></returns>
 /// <remarks>
 /// 2013/7/12 何方 创建
 /// </remarks>
 public abstract int Insert(FnPaymentVoucher model);
Esempio n. 15
0
        /// <summary>
        /// 审核采购单
        /// </summary>
        /// <param name="sysNo">采购单编号</param>
        /// <remarks>2016-6-18 杨浩 创建</remarks>
        public bool AuditPurchase(int sysNo)
        {
            var purchase = IPrPurchaseDao.Instance.GetPrPurchaseInfo(sysNo);

            if (purchase == null)
            {
                return(false);
            }
            if (purchase.Status != (int)PurchaseStatus.采购单状态.待审核)
            {
                return(false);
            }

            if (UpdateStatus(sysNo, 0, (int)PurchaseStatus.采购单状态.待入库))
            {
                var paymentVoucherMod = new FnPaymentVoucher();
                paymentVoucherMod.CreatedBy         = BLL.Authentication.AdminAuthenticationBo.Instance.Current.Base.SysNo;
                paymentVoucherMod.CreatedDate       = DateTime.Now;
                paymentVoucherMod.CustomerSysNo     = 0;
                paymentVoucherMod.LastUpdateBy      = paymentVoucherMod.CreatedBy;
                paymentVoucherMod.LastUpdateDate    = DateTime.Now;
                paymentVoucherMod.PayableAmount     = purchase.TotalMoney;
                paymentVoucherMod.PayDate           = new DateTime(1753, 1, 1);
                paymentVoucherMod.PayerSysNo        = 0;
                paymentVoucherMod.RefundAccount     = "";
                paymentVoucherMod.RefundAccountName = "";
                paymentVoucherMod.RefundBank        = "";
                paymentVoucherMod.Source            = (int)Hyt.Model.WorkflowStatus.FinanceStatus.付款来源类型.采购单;
                paymentVoucherMod.SourceSysNo       = sysNo;
                paymentVoucherMod.Status            = (int)Hyt.Model.WorkflowStatus.FinanceStatus.付款单状态.待付款;
                paymentVoucherMod.Remarks           = "";
                BLL.Finance.FinanceBo.Instance.CreatePaymentVoucher(paymentVoucherMod);

                //创建入库单
                WhStockIn inEntity = new WhStockIn
                {
                    CreatedBy        = paymentVoucherMod.CreatedBy,
                    CreatedDate      = DateTime.Now,
                    DeliveryType     = 20,
                    IsPrinted        = (int)WarehouseStatus.是否已经打印拣货单.否,
                    SourceSysNO      = sysNo,
                    SourceType       = (int)WarehouseStatus.入库单据类型.采购单,
                    Status           = (int)WarehouseStatus.入库单状态.待入库,
                    TransactionSysNo = purchase.PurchaseCode,
                    WarehouseSysNo   = purchase.WarehouseSysNo,
                    Stamp            = (DateTime)System.Data.SqlTypes.SqlDateTime.MinValue,
                    LastUpdateBy     = paymentVoucherMod.CreatedBy,
                    LastUpdateDate   = DateTime.Now
                };

                inEntity.ItemList = new List <WhStockInItem>();
                var purchaseDetails = BLL.Purchase.PrPurchaseDetailsBo.Instance.GetPurchaseDetailsList(sysNo);
                //入库明细
                foreach (var item in purchaseDetails)
                {
                    inEntity.ItemList.Add(new WhStockInItem
                    {
                        CreatedBy           = paymentVoucherMod.CreatedBy,
                        CreatedDate         = DateTime.Now,
                        ProductName         = item.ProductName,
                        ProductSysNo        = item.ProductSysNo,
                        StockInQuantity     = item.Quantity,
                        RealStockInQuantity = 0,
                        LastUpdateBy        = paymentVoucherMod.CreatedBy,
                        LastUpdateDate      = DateTime.Now,
                        SourceItemSysNo     = item.SysNo //记录入库单明细来源单号(采购单明细编号)
                    });
                }

                var inSysNo = InStockBo.Instance.CreateStockIn(inEntity); //保存入库单数据
            }
            return(true);
        }