/// <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); } }
/// <summary> /// 批量删除 /// </summary> /// <param name="list"></param> /// <returns></returns> public int Delete(IEnumerable <string> list) { FinanceBillEntity entity = new FinanceBillEntity(); entity.IsDelete = (int)EIsDelete.Deleted; entity.IncludeIsDelete(true); entity.Where <FinanceBillEntity>("SnNum", ECondition.In, list.ToArray()) .And(a => a.CompanyID == this.CompanyID); int line = this.FinanceBill.Update(entity); return(line); }
/// <summary> /// 审核 /// </summary> /// <param name="SnNum"></param> /// <param name="Status"></param> /// <returns></returns> public int Audite(string SnNum, int Status) { FinanceBillEntity entity = new FinanceBillEntity(); entity.Status = Status; entity.IncludeStatus(true); entity.Where <FinanceBillEntity>(a => a.SnNum == SnNum) .And(a => a.CompanyID == this.CompanyID); int line = this.FinanceBill.Update(entity); return(line); }
/// <summary> /// 删除应收应付 /// </summary> /// <param name="SnNum"></param> /// <returns></returns> public int Delete(string SnNum) { FinanceBillEntity entity = new FinanceBillEntity(); entity.IsDelete = (int)EIsDelete.Deleted; entity.IncludeIsDelete(true); entity.Where(a => a.SnNum == SnNum) .And(a => a.CompanyID == this.CompanyID) ; int line = this.FinanceBill.Update(entity); return(line); }
/// <summary> /// 查询财务应收应付分页列表 /// </summary> /// <returns></returns> public ActionResult GetList() { 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"); int BillType = WebUtil.GetFormValue <int>("BillType", 0); string FromNum = WebUtil.GetFormValue <string>("FromNum"); string FromName = WebUtil.GetFormValue <string>("FromName"); string ToNum = WebUtil.GetFormValue <string>("ToNum"); string ToName = WebUtil.GetFormValue <string>("ToName"); string ContractNum = WebUtil.GetFormValue <string>("ContractNum"); int Status = WebUtil.GetFormValue <int>("Status"); string BeginTime = WebUtil.GetFormValue <string>("BeginTime"); string EndTime = WebUtil.GetFormValue <string>("EndTime"); string Title = WebUtil.GetFormValue <string>("Title"); FinanceBillEntity entity = new FinanceBillEntity(); entity.CompanyID = CompanyID; entity.BillNum = BillNum; entity.CateNum = CateNum; entity.BillType = BillType; entity.FromNum = FromNum; entity.FromName = FromName; entity.ToNum = ToNum; entity.ToName = ToName; entity.ContractNum = ContractNum; entity.Status = Status; entity.BeginTime = BeginTime; entity.EndTime = EndTime; entity.Title = Title; PageInfo pageInfo = new PageInfo() { PageIndex = PageIndex, PageSize = PageSize }; FinanceBillProvider provider = new FinanceBillProvider(CompanyID); List <FinanceBillEntity> listResult = provider.GetList(entity, ref pageInfo); DataListResult <FinanceBillEntity> result = new DataListResult <FinanceBillEntity>() { Code = (int)EResponseCode.Success, Message = "响应成功", PageInfo = pageInfo, Result = listResult }; return(Content(JsonHelper.SerializeObject(result))); }
/// <summary> /// 查询财务应收应付 /// </summary> /// <returns></returns> public ActionResult GetSingle() { string CompanyID = WebUtil.GetFormValue <string>("CompanyID"); string SnNum = WebUtil.GetFormValue <string>("SnNum"); FinanceBillProvider provider = new FinanceBillProvider(CompanyID); FinanceBillEntity entity = provider.GetSingle(SnNum); DataResult <FinanceBillEntity> result = new DataResult <FinanceBillEntity>() { Code = (int)EResponseCode.Success, Message = "响应成功", Result = entity }; return(Content(JsonHelper.SerializeObject(result))); }
/// <summary> /// 根据采购订单转化财务账目记录 /// 1000: 账务记录生成成功 /// 1001:采购订单不存在 /// 1002:已经生成账务记录,不要重复操作 /// 1003:账务记录生成异常 /// </summary> /// <param name="SnNum"></param> /// <returns></returns> public string ToFiance(string SnNum) { PurchaseEntity entity = new PurchaseEntity(); entity.SnNum = SnNum; entity = this.GetOrder(entity); if (entity == null) { return("1001"); } if (entity.AuditeStatus == (int)EBool.Yes) { return("1002"); } FinanceBillEntity bill = new FinanceBillEntity(); bill.SnNum = ConvertHelper.NewGuid(); bill.CateNum = ""; bill.CateName = ""; bill.BillType = (int)EFinanceType.Payable; bill.FromNum = ""; bill.FromName = "公司"; bill.ToName = entity.SupName; bill.ToNum = entity.SupSnNum; bill.Amount = entity.Amount; bill.Title = string.Format("[采购][{0}]{1}", entity.CreateTime.ToString("yyyy-MM-dd"), entity.SupName); bill.ContractSn = entity.SnNum; bill.ContractNum = entity.OrderNum; bill.Status = (int)EAudite.Wait; bill.IsDelete = (int)EIsDelete.NotDelete; bill.CreateTime = DateTime.Now; bill.CreateUser = entity.CreateUser; bill.Remark = string.Empty; bill.CompanyID = this.CompanyID; FinanceBillProvider provider = new FinanceBillProvider(this.CompanyID); int line = provider.Add(bill); if (line > 0) { entity.AuditeStatus = (int)EBool.Yes; entity.IncludeAuditeStatus(true); entity.Where(a => a.SnNum == entity.SnNum); line += this.Purchase.Update(entity); } return(line > 0 ? "1000" : "1003"); }
/// <summary> /// 编辑财务应收应付 /// </summary> /// <param name="entity"></param> /// <returns></returns> public int Edit(FinanceBillEntity entity) { if (entity.CateNum.IsNotEmpty()) { List <FinanceCateEntity> listCate = new FinanceCateProvider(this.CompanyID).GetList(); if (!listCate.IsNullOrEmpty()) { FinanceCateEntity cate = listCate.FirstOrDefault(a => a.SnNum == entity.CateNum); entity.CateName = cate != null ? cate.CateName : string.Empty; } } entity.Include(a => new { a.CateNum, a.CateName, a.BillType, a.FromNum, a.FromName, a.ToNum, a.ToName, a.Amount, a.PrePayCount, a.PrePayRate, a.RealPayCount, a.LastTime, a.Title, a.ContractSn, a.ContractNum, a.Remark }); entity.Where(a => a.SnNum == entity.SnNum).And(a => a.CompanyID == this.CompanyID); int line = this.FinanceBill.Update(entity); return(line); }
/// <summary> /// 编辑财务应收应付 /// </summary> /// <returns></returns> public ActionResult Edit() { string CompanyID = WebUtil.GetFormValue <string>("CompanyID"); FinanceBillEntity entity = WebUtil.GetFormObject <FinanceBillEntity>("Entity"); FinanceBillProvider provider = new FinanceBillProvider(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))); }
public ActionResult AddRec() { string CompanyID = this.CompanyID; string SnNum = WebUtil.GetQueryStringValue <string>("SnNum", string.Empty); FinanceBillEntity 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(FinanceBillApiName.FinanceBillApiName_Single, dic); if (!result.IsEmpty()) { DataResult <FinanceBillEntity> dataResult = JsonConvert.DeserializeObject <DataResult <FinanceBillEntity> >(result); entity = dataResult.Result; } } if (entity.IsNull()) { entity = new FinanceBillEntity(); entity.CreateTime = DateTime.Now; entity.CreateUser = this.LoginUser.UserNum; entity.CreateUserName = this.LoginUser.UserName; entity.LastTime = DateTime.Now.AddMonths(2); } entity.FromName = entity.FromName.IsEmpty() ? "公司" : entity.FromName; ViewBag.Entity = entity; string CateList = DropDownHelper.GetFinanceCate(entity.CateNum, this.CompanyID); ViewBag.CateList = CateList; return(View()); }
/// <summary> /// 新增应收应付 /// </summary> /// <param name="entity"></param> /// <returns></returns> public int Add(FinanceBillEntity entity) { entity.SnNum = ConvertHelper.NewGuid(); entity.BillNum = entity.BillNum.IsEmpty() ? DateTime.Now.ToString("yyyyMMdd") + new TNumProvider(this.CompanyID).GetSwiftNumByDay(typeof(FinanceBillEntity), 4) : entity.BillNum; entity.CreateTime = DateTime.Now; entity.IsDelete = (int)EIsDelete.NotDelete; entity.Status = (int)EFinanceStatus.Wait; entity.CompanyID = this.CompanyID; if (entity.CateNum.IsNotEmpty()) { List <FinanceCateEntity> listCate = new FinanceCateProvider(this.CompanyID).GetList(); if (!listCate.IsNullOrEmpty()) { FinanceCateEntity cate = listCate.FirstOrDefault(a => a.SnNum == entity.CateNum); entity.CateName = cate != null ? cate.CateName : string.Empty; } } entity.IncludeAll(); int line = this.FinanceBill.Add(entity); return(line); }
/// <summary> /// 查询财务应收应付 /// </summary> /// <param name="SnNum"></param> /// <returns></returns> public FinanceBillEntity GetSingle(string SnNum) { FinanceBillEntity entity = new FinanceBillEntity(); entity.IncludeAll(); entity.Where(a => a.SnNum == SnNum) .And(a => a.CompanyID == this.CompanyID) .And(a => a.IsDelete == (int)EIsDelete.NotDelete) ; AdminEntity admin = new AdminEntity(); admin.Include(a => new { CreateUserName = a.UserName }); entity.Left <AdminEntity>(admin, new Params <string, string>() { Item1 = "CreateUser", Item2 = "UserNum" }); entity = this.FinanceBill.GetSingle(entity); entity.LeavAmount = entity.Amount - entity.RealPayAmount; return(entity); }
public ActionResult AddRec() { string SnNum = WebUtil.GetFormValue <string>("SnNum"); string BillNum = WebUtil.GetFormValue <string>("BillNum"); string CateNum = WebUtil.GetFormValue <string>("CateNum"); string CateName = WebUtil.GetFormValue <string>("CateName"); int BillType = (int)EFinanceType.BillReceivable; string FromNum = WebUtil.GetFormValue <string>("FromNum"); string FromName = WebUtil.GetFormValue <string>("FromName"); string ToNum = WebUtil.GetFormValue <string>("ToNum"); string ToName = WebUtil.GetFormValue <string>("ToName"); double Amount = WebUtil.GetFormValue <double>("Amount"); int PrePayCount = WebUtil.GetFormValue <int>("PrePayCount"); string PrePayRate = WebUtil.GetFormValue <string>("PrePayRate"); int RealPayCount = WebUtil.GetFormValue <int>("RealPayCount"); DateTime LastTime = WebUtil.GetFormValue <DateTime>("LastTime"); string Title = WebUtil.GetFormValue <string>("Title"); string ContractSn = WebUtil.GetFormValue <string>("ContractSn"); string ContractNum = WebUtil.GetFormValue <string>("ContractNum"); string Remark = WebUtil.GetFormValue <string>("Remark"); string CompanyID = this.CompanyID; FinanceBillEntity entity = new FinanceBillEntity(); entity.SnNum = SnNum; entity.BillNum = BillNum; entity.CateNum = CateNum; entity.CateName = CateName; entity.BillType = BillType; entity.FromNum = FromNum; entity.FromName = FromName; entity.ToNum = ToNum; entity.ToName = ToName; entity.Amount = Amount; entity.PrePayCount = PrePayCount; entity.PrePayRate = PrePayRate; entity.RealPayCount = RealPayCount; entity.RealPayAmount = 0; entity.LastTime = LastTime; entity.Title = Title; entity.ContractNum = ContractNum; entity.ContractSn = ContractSn; entity.CreateUser = this.LoginUser.UserNum;; entity.Remark = Remark; entity.CompanyID = this.CompanyID; Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("Entity", JsonConvert.SerializeObject(entity)); dic.Add("CompanyID", CompanyID); ITopClient client = new TopClientDefault(); string ApiName = FinanceBillApiName.FinanceBillApiName_Add; if (!SnNum.IsEmpty()) { ApiName = FinanceBillApiName.FinanceBillApiName_Edit; } string result = client.Execute(ApiName, dic); return(Content(result)); }
/// <summary> /// 查询财务应收应付分页列表 /// </summary> /// <param name="entity"></param> /// <param name="pageInfo"></param> /// <returns></returns> public List <FinanceBillEntity> GetList(FinanceBillEntity entity, ref PageInfo pageInfo) { entity.IncludeAll(); entity.OrderBy(a => a.ID, EOrderBy.DESC); AdminEntity admin = new AdminEntity(); admin.Include(a => new { CreateUserName = a.UserName }); entity.Left <AdminEntity>(admin, new Params <string, string>() { Item1 = "CreateUser", Item2 = "UserNum" }); entity.Where(a => a.IsDelete == (int)EIsDelete.NotDelete) .And(a => a.CompanyID == this.CompanyID) ; if (entity.BillNum.IsNotEmpty()) { entity.Where("BillNum", ECondition.Like, "%" + entity.BillNum + "%"); } if (entity.BillType > 0) { entity.And(a => a.BillType == entity.BillType); } if (entity.CateNum.IsNotEmpty()) { entity.And(a => a.CateNum == entity.CateNum); } if (entity.Title.IsNotEmpty()) { entity.And("Title", ECondition.Like, "%" + entity.Title + "%"); } if (entity.ContractNum.IsNotEmpty()) { entity.And("ContractNum", ECondition.Like, "%" + entity.ContractNum + "%"); } if (entity.Status > 0) { entity.And(a => a.Status == entity.Status); } if (entity.BeginTime.IsNotEmpty()) { DateTime dateTime = ConvertHelper.ToType <DateTime>(entity.BeginTime, DateTime.Now.AddDays(-1)); entity.And(a => a.CreateTime >= dateTime); } if (entity.EndTime.IsNotEmpty()) { DateTime dateTime = ConvertHelper.ToType <DateTime>(entity.EndTime, DateTime.Now).AddDays(1).Date; entity.And(a => a.CreateTime < dateTime); } if (entity.FromNum.IsNotEmpty()) { entity.And(item => item.FromNum == entity.FromNum); } if (entity.FromName.IsNotEmpty()) { entity.And("FromName", ECondition.Like, "%" + entity.FromName + "%"); } if (entity.ToNum.IsNotEmpty()) { entity.And(item => item.ToNum == entity.ToNum); } if (entity.ToName.IsNotEmpty()) { entity.And("ToName", ECondition.Like, "%" + entity.ToName + "%"); } int rowCount = 0; List <FinanceBillEntity> listResult = this.FinanceBill.GetList(entity, pageInfo.PageSize, pageInfo.PageIndex, out rowCount); pageInfo.RowCount = rowCount; if (!listResult.IsNullOrEmpty()) { listResult.ForEach(a => { a.LeavAmount = a.Amount - a.RealPayAmount; }); } return(listResult); }
/// <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); } }
/// <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); }
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()); }