예제 #1
0
        /// <summary>
        /// 新增财务实收实付
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public int Add(FinancePayEntity entity)
        {
            using (TransactionScope ts = new TransactionScope())
            {
                entity.SnNum      = ConvertHelper.NewGuid();
                entity.PayNum     = new SequenceProvider(this.CompanyID).GetSequence(typeof(FinancePayEntity));
                entity.CreateTime = DateTime.Now;
                entity.CompanyID  = this.CompanyID;
                entity.IncludeAll();
                int line = this.FinancePay.Add(entity);


                FinancePayEntity pay = new FinancePayEntity();
                pay.IncludeAll();
                pay.Where(a => a.BillSnNum == entity.BillSnNum)
                .And(a => a.IsDelete == (int)EIsDelete.NotDelete)
                .And(a => a.CompanyID == this.CompanyID)
                ;
                List <FinancePayEntity> listResult = this.FinancePay.GetList(pay);
                if (!listResult.IsNullOrEmpty())
                {
                    int    RealPayCount = listResult.Count();
                    double TotalAmount  = listResult.Sum(a => a.Amount);

                    FinanceBillEntity bill = new FinanceBillEntity();
                    bill.IncludeAll();
                    bill.Where(a => a.SnNum == entity.BillSnNum)
                    .And(a => a.CompanyID == this.CompanyID)
                    ;
                    bill = this.FinanceBill.GetSingle(bill);

                    if (bill != null)
                    {
                        FinanceBillEntity finance = new FinanceBillEntity();
                        finance.RealPayCount  = RealPayCount;
                        finance.RealPayAmount = TotalAmount;
                        if (TotalAmount == 0)
                        {
                            finance.Status = (int)EFinanceStatus.InProgress;
                        }
                        else if (TotalAmount > 0 && TotalAmount < bill.Amount)
                        {
                            finance.Status = (int)EFinanceStatus.PayPart;
                        }
                        else if (TotalAmount >= bill.Amount)
                        {
                            finance.Status = (int)EFinanceStatus.PayFull;
                        }
                        finance.Where(a => a.SnNum == bill.SnNum)
                        .And(a => a.CompanyID == this.CompanyID)
                        ;
                        finance.Include(a => new { a.RealPayAmount, a.RealPayCount, a.Status });
                        line += this.FinanceBill.Update(finance);
                    }
                }
                ts.Complete();

                return(line);
            }
        }
예제 #2
0
        /// <summary>
        /// 查询实收实付
        /// </summary>
        /// <param name="SnNum"></param>
        /// <returns></returns>
        public FinancePayEntity GetSingle(string SnNum)
        {
            FinancePayEntity entity = new FinancePayEntity();

            entity.IncludeAll();
            entity.Where(a => a.SnNum == SnNum)
            .And(a => a.CompanyID == this.CompanyID)
            .And(a => a.IsDelete == (int)EIsDelete.NotDelete)
            ;
            entity = this.FinancePay.GetSingle(entity);
            return(entity);
        }
예제 #3
0
        /// <summary>
        /// 查询应收应付对应的实收实付
        /// </summary>
        /// <param name="BillSnNum"></param>
        /// <returns></returns>
        public List <FinancePayEntity> GetList(string BillSnNum)
        {
            FinancePayEntity entity = new FinancePayEntity();

            entity.IncludeAll();
            entity.Where(a => a.BillSnNum == BillSnNum)
            .And(a => a.IsDelete == (int)EIsDelete.NotDelete)
            .And(a => a.CompanyID == this.CompanyID)
            ;
            List <FinancePayEntity> listResult = this.FinancePay.GetList(entity);

            return(listResult);
        }
예제 #4
0
        /// <summary>
        /// 查询财务实收实付
        /// </summary>
        /// <returns></returns>
        public ActionResult GetSingle()
        {
            string                        CompanyID = WebUtil.GetFormValue <string>("CompanyID");
            string                        SnNum     = WebUtil.GetFormValue <string>("SnNum");
            FinancePayProvider            provider  = new FinancePayProvider(CompanyID);
            FinancePayEntity              entity    = provider.GetSingle(SnNum);
            DataResult <FinancePayEntity> result    = new DataResult <FinancePayEntity>()
            {
                Code    = (int)EResponseCode.Success,
                Message = "响应成功",
                Result  = entity
            };

            return(Content(JsonHelper.SerializeObject(result)));
        }
예제 #5
0
        /// <summary>
        /// 查询流水记录
        /// </summary>
        /// <returns></returns>
        public ActionResult GeAgencyBilltList()
        {
            string CompanyID = WebUtil.GetFormValue <string>("CompanyID");
            int    PageIndex = WebUtil.GetFormValue <int>("PageIndex", 1);
            int    PageSize  = WebUtil.GetFormValue <int>("PageSize", 10);

            string BillNum     = WebUtil.GetFormValue <string>("BillNum");
            string CateNum     = WebUtil.GetFormValue <string>("CateNum");
            string ToName      = WebUtil.GetFormValue <string>("ToName");
            string Title       = WebUtil.GetFormValue <string>("Title");
            int    PayType     = WebUtil.GetFormValue <int>("PayType");
            string BankName    = WebUtil.GetFormValue <string>("BankName");
            string BeginTime   = WebUtil.GetFormValue <string>("BeginTime");
            string EndTime     = WebUtil.GetFormValue <string>("EndTime");
            string ContractNum = WebUtil.GetFormValue <string>("ContractNum");
            string AgencyNum   = WebUtil.GetFormValue <string>("AgencyNum");

            FinancePayEntity entity = new FinancePayEntity();

            entity.CompanyID   = CompanyID;
            entity.PayType     = PayType;
            entity.BankName    = BankName;
            entity.BeginTime   = BeginTime;
            entity.EndTime     = EndTime;
            entity.PayNum      = BillNum;
            entity.CateNum     = CateNum;
            entity.ToName      = ToName;
            entity.Title       = Title;
            entity.ContractNum = ContractNum;

            PageInfo pageInfo = new PageInfo()
            {
                PageIndex = PageIndex, PageSize = PageSize
            };
            FinancePayProvider                provider   = new FinancePayProvider(CompanyID);
            List <FinancePayEntity>           listResult = provider.GeAgencyBilltList(entity, ref pageInfo);
            DataListResult <FinancePayEntity> result     = new DataListResult <FinancePayEntity>()
            {
                Code     = (int)EResponseCode.Success,
                Message  = "响应成功",
                PageInfo = pageInfo,
                Result   = listResult
            };

            return(Content(JsonHelper.SerializeObject(result)));
        }
예제 #6
0
        /// <summary>
        /// 编辑财务实收实付
        /// </summary>
        /// <returns></returns>
        public ActionResult Edit()
        {
            string             CompanyID = WebUtil.GetFormValue <string>("CompanyID");
            FinancePayEntity   entity    = WebUtil.GetFormObject <FinancePayEntity>("Entity");
            FinancePayProvider provider  = new FinancePayProvider(CompanyID);
            int line = provider.Edit(entity);

            DataResult result = new DataResult();

            if (line > 0)
            {
                result.Code    = (int)EResponseCode.Success;
                result.Message = "编辑成功";
            }
            else
            {
                result.Code    = (int)EResponseCode.Exception;
                result.Message = "编辑失败";
            }
            return(Content(JsonHelper.SerializeObject(result)));
        }
예제 #7
0
        public ActionResult AddPay()
        {
            string   SnNum     = WebUtil.GetFormValue <string>("SnNum");
            string   BillNum   = WebUtil.GetFormValue <string>("BillNum");
            string   BillSnNum = WebUtil.GetFormValue <string>("BillSnNum");
            int      PayType   = WebUtil.GetFormValue <int>("PayType");
            string   BankName  = WebUtil.GetFormValue <string>("BankName");
            double   Amount    = WebUtil.GetFormValue <double>("Amount");
            DateTime PayTime   = WebUtil.GetFormValue <DateTime>("PayTime", DateTime.Now);

            FinancePayEntity entity = new FinancePayEntity();

            entity.SnNum     = SnNum;
            entity.BillSnNum = BillSnNum;
            entity.PayType   = PayType;
            entity.BankName  = BankName;
            entity.Amount    = Amount;
            entity.PayTime   = PayTime;
            entity.CompanyID = this.CompanyID;

            Dictionary <string, string> dic = new Dictionary <string, string>();

            dic.Add("CompanyID", this.CompanyID);
            dic.Add("Entity", JsonConvert.SerializeObject(entity));

            ITopClient client  = new TopClientDefault();
            string     ApiName = FinancePayApiName.FinancePayApiName_Add;

            if (!SnNum.IsEmpty())
            {
                ApiName = FinancePayApiName.FinancePayApiName_Edit;
            }
            string result = client.Execute(ApiName, dic);

            return(Content(result));
        }
예제 #8
0
        /// <summary>
        /// 查询门店的流水记录
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="pageInfo"></param>
        /// <returns></returns>
        public List <FinancePayEntity> GeAgencyBilltList(FinancePayEntity entity, ref PageInfo pageInfo)
        {
            entity.IncludeAll();
            entity.OrderBy(a => a.ID, EOrderBy.DESC);
            entity.Where(a => a.IsDelete == (int)EIsDelete.NotDelete)
            .And(a => a.CompanyID == this.CompanyID)
            ;

            FinanceBillEntity bill = new FinanceBillEntity();

            bill.Include(a => new
            {
                Title       = a.Title,
                FromName    = a.FromName,
                ToName      = a.ToName,
                TotalAmount = a.Amount,
                LastTime    = a.LastTime,
                ContractSn  = a.ContractSn,
                ContractNum = a.ContractNum,
                BillType    = a.BillType,
                CateName    = a.CateName,
                CateNum     = a.CateNum,
            });

            entity.Left <FinanceBillEntity>(bill, new Params <string, string>()
            {
                Item1 = "BillSnNum", Item2 = "SnNum"
            });


            if (entity.PayType > 0)
            {
                entity.And(a => a.PayType == entity.PayType);
            }
            if (entity.BankName.IsNotEmpty())
            {
                entity.Where("BankName", ECondition.Like, "%" + entity.BankName + "%");
            }
            if (entity.PayNum.IsNotEmpty())
            {
                entity.Where("PayNum", ECondition.Like, "%" + entity.PayNum + "%");
            }
            if (entity.CateNum.IsNotEmpty())
            {
                bill.And(a => a.CateNum == entity.CateNum);
            }
            if (entity.Title.IsNotEmpty())
            {
                bill.And("Title", ECondition.Like, "%" + entity.Title + "%");
            }

            if (entity.BeginTime.IsNotEmpty())
            {
                DateTime time = ConvertHelper.ToType <DateTime>(entity.BeginTime, DateTime.Now.AddDays(-7)).Date;
                entity.And(a => a.PayTime >= time);
            }
            if (entity.EndTime.IsNotEmpty())
            {
                DateTime time = ConvertHelper.ToType <DateTime>(entity.EndTime, DateTime.Now).AddDays(1).Date;
                entity.And(a => a.PayTime < time);
            }
            int rowCount = 0;
            List <FinancePayEntity> listResult = this.FinancePay.GetList(entity, pageInfo.PageSize, pageInfo.PageIndex, out rowCount);

            pageInfo.RowCount = rowCount;
            return(listResult);
        }
예제 #9
0
        /// <summary>
        /// 删除实收实付
        /// </summary>
        /// <param name="SnNum"></param>
        /// <returns></returns>
        public int Delete(string SnNum)
        {
            using (TransactionScope ts = new TransactionScope())
            {
                FinancePayEntity entity = new FinancePayEntity();
                entity.SnNum = SnNum;
                entity.IncludeAll();
                entity.Where(a => a.SnNum == SnNum)
                .And(a => a.CompanyID == this.CompanyID)
                ;
                entity = this.FinancePay.GetSingle(entity);

                FinancePayEntity finEntity = new FinancePayEntity();
                finEntity.IsDelete = (int)EIsDelete.Deleted;
                finEntity.IncludeIsDelete(true);
                finEntity.Where(a => a.SnNum == SnNum)
                .And(a => a.CompanyID == this.CompanyID)
                ;
                int line = this.FinancePay.Update(finEntity);

                FinancePayEntity pay = new FinancePayEntity();
                pay.IncludeAll();
                pay.Where(a => a.BillSnNum == entity.BillSnNum)
                .And(a => a.IsDelete == (int)EIsDelete.NotDelete)
                .And(a => a.CompanyID == this.CompanyID)
                ;
                List <FinancePayEntity> listResult = this.FinancePay.GetList(pay);
                if (!listResult.IsNullOrEmpty())
                {
                    int    RealPayCount = listResult.Count();
                    double TotalAmount  = listResult.Sum(a => a.Amount);

                    FinanceBillEntity bill = new FinanceBillEntity();
                    bill.IncludeAll();
                    bill.Where(a => a.SnNum == entity.BillSnNum)
                    .And(a => a.CompanyID == this.CompanyID)
                    ;
                    bill = this.FinanceBill.GetSingle(bill);

                    if (bill != null)
                    {
                        FinanceBillEntity finance = new FinanceBillEntity();
                        finance.RealPayCount = RealPayCount;

                        if (TotalAmount == 0)
                        {
                            finance.Status = (int)EFinanceStatus.InProgress;
                        }
                        else if (TotalAmount > 0 && TotalAmount < bill.Amount)
                        {
                            finance.Status = (int)EFinanceStatus.PayPart;
                        }
                        else if (TotalAmount >= bill.Amount)
                        {
                            finance.Status = (int)EFinanceStatus.PayFull;
                        }
                        finance.Where(a => a.SnNum == bill.SnNum)
                        .And(a => a.CompanyID == this.CompanyID)
                        ;
                    }
                }

                ts.Complete();

                return(line);
            }
        }
예제 #10
0
        public ActionResult AddPay()
        {
            string CompanyID = this.CompanyID;
            string SnNum     = WebUtil.GetQueryStringValue <string>("SnNum", string.Empty);
            string BillSnNum = WebUtil.GetQueryStringValue <string>("BillSnNum", string.Empty);

            FinancePayEntity entity = null;

            if (!SnNum.IsEmpty())
            {
                ITopClient client = new TopClientDefault();
                Dictionary <string, string> dic = new Dictionary <string, string>();
                dic.Add("CompanyID", CompanyID);
                dic.Add("SnNum", SnNum);
                string result = client.Execute(FinancePayApiName.FinancePayApiName_Single, dic);

                if (!result.IsEmpty())
                {
                    DataResult <FinancePayEntity> dataResult = JsonConvert.DeserializeObject <DataResult <FinancePayEntity> >(result);
                    entity = dataResult.Result;
                }
            }

            if (entity.IsNull())
            {
                entity                = new FinancePayEntity();
                entity.CreateTime     = DateTime.Now;
                entity.CreateUser     = this.LoginUser.UserNum;
                entity.CreateUserName = this.LoginUser.UserName;
                entity.PayTime        = DateTime.Now;
            }
            ViewBag.PayTypeList = EnumHelper.GetOptions <EPayType>(entity.PayType);
            entity.BillSnNum    = BillSnNum;
            ViewBag.Entity      = entity;


            //加载应收数据项
            FinanceBillEntity billEnity = null;

            if (!SnNum.IsEmpty())
            {
                ITopClient client = new TopClientDefault();
                Dictionary <string, string> dic = new Dictionary <string, string>();
                dic.Add("CompanyID", CompanyID);
                dic.Add("SnNum", BillSnNum);
                string result = client.Execute(FinanceBillApiName.FinanceBillApiName_Single, dic);

                if (!result.IsEmpty())
                {
                    DataResult <FinanceBillEntity> dataResult = JsonConvert.DeserializeObject <DataResult <FinanceBillEntity> >(result);
                    billEnity = dataResult.Result;
                }
            }
            if (billEnity.IsNull())
            {
                billEnity                = new FinanceBillEntity();
                billEnity.CreateTime     = DateTime.Now;
                billEnity.CreateUser     = this.LoginUser.UserNum;
                billEnity.CreateUserName = this.LoginUser.UserName;
                billEnity.LastTime       = DateTime.Now.AddMonths(2);
            }
            ViewBag.BillEntity = billEnity;

            return(View());
        }