protected void RadCostInvoiceMoney_NeedDataSource(object source, GridNeedDataSourceEventArgs e) { IList <CostInvoiceMoneyInfo> list1 = _costInvoiceMoneyDao.GetCostInvoiceMoneyList(DateYear, DateMonth); DateTime startTime = Convert.ToDateTime(string.Format("{0}-{1}-01 00:00:00", DateYear, DateMonth)); DateTime endTime = startTime.AddMonths(1); IList <CostReportInfo> costReportList = _costReport.GetReportList(startTime, endTime).Where(ent => ent.InvoiceType == (int)CostReportInvoiceType.Invoice).OrderByDescending(r => r.ReportDate).ToList(); var filialeList = CacheCollection.Filiale.GetHeadList(); IList <CostInvoiceMoneyInfo> list2 = new List <CostInvoiceMoneyInfo>(); if (list1.Count > 0) { foreach (var filialeInfo in filialeList) { var info = new CostInvoiceMoneyInfo(); var item = list1.FirstOrDefault(ent => ent.FilialeId == filialeInfo.ID); if (item != null) { info.FilialeId = filialeInfo.ID; info.FilialeName = filialeInfo.Name; info.Limit = item.Limit; } else { info.FilialeId = filialeInfo.ID; info.FilialeName = filialeInfo.Name; info.Limit = Convert.ToDecimal("0.00"); } var list = costReportList.Where(ent => ent.AssumeFilialeId == filialeInfo.ID).ToList(); info.WaitCollect = GetWaitCollect(list); info.WaitChargeOff = GetWaitChargeOff(list); info.AlreadyChargeOff = GetAlreadyChargeOff(list); list2.Add(info); } RadGridCostInvoiceMoney.DataSource = list2; } else { IList <CostInvoiceMoneyInfo> list3 = (from filialeInfo in filialeList let list = costReportList.Where(ent => ent.AssumeFilialeId == filialeInfo.ID).ToList() select new CostInvoiceMoneyInfo { FilialeId = filialeInfo.ID, FilialeName = filialeInfo.Name, Limit = Convert.ToDecimal("0.00"), DateYear = DateYear, DateMonth = DateMonth, WaitCollect = GetWaitCollect(list), WaitChargeOff = GetWaitChargeOff(list), AlreadyChargeOff = GetAlreadyChargeOff(list) }).ToList(); RadGridCostInvoiceMoney.DataSource = list3; } }
/// <summary> /// /// </summary> /// <param name="startTime"></param> /// <param name="endTime"></param> /// <param name="auditingBranchIdList"></param> /// <param name="invoiceType"></param> /// <param name="states"></param> /// <returns></returns> public IList <CostReportInfo> GetReportList(DateTime startTime, DateTime endTime, IList <Guid> auditingBranchIdList, IList <int> invoiceType, IList <int> states) { var typeString = string.Join(",", invoiceType.ToArray()); string stateString; switch (states[0]) { case 0: stateString = " IN(0,3) "; //票据待受理,审核不通过 break; case 10: stateString = " =10 "; //票据待选 typeString = "1,2,3,4"; break; default: stateString = " NOT IN(0,3) "; break; } return(_costReport.GetReportList(startTime, endTime, string.Empty, typeString, stateString)); }
//Grid数据源 protected void GridDataBind() { IList <CostReportInfo> list; var reportId = Request.QueryString["ReportId"]; if (string.IsNullOrEmpty(reportId)) { list = new List <CostReportInfo>(); } else { DateTime startTime = DateTime.Now.AddDays(-30); DateTime endTime = DateTime.Now; CostReportInfo reportInfo = _costReport.GetReportByReportId(new Guid(reportId)); list = _costReport.GetReportList(); if (list.Count > 0) { list = list.Where(p => (p.ReportPersonnelId == reportInfo.ReportPersonnelId || p.AssumeBranchId == reportInfo.AssumeBranchId) && p.ReportDate >= startTime && p.ReportDate <= endTime && p.State != (int)CostReportState.Auditing && p.ReportId != reportInfo.ReportId && p.AuditingMan == Personnel.PersonnelId).ToList(); } } RG_Report.DataSource = list.OrderByDescending(c => c.ReportDate); }
//Grid数据源 protected void GridDataBind() { var states = new List <int>(); switch (ddl_State.SelectedValue) { case "0": //已处理 states.Add((int)CostReportState.AlreadyAuditing); states.Add((int)CostReportState.WaitVerify); states.Add((int)CostReportState.NoAuditing); break; case "1": //未处理 states.Add((int)CostReportState.Auditing); break; } var costReportList = _costReport.GetReportList(states); var query = costReportList.AsQueryable(); #region 查询条件 if (!string.IsNullOrEmpty(txt_ReportNo.Text)) { query = query.Where(p => p.ReportNo.Equals(txt_ReportNo.Text.Trim())); } if (Hid_TimeType.Value.Equals("1")) { if (!string.IsNullOrEmpty(txt_DateTimeStart.Text)) { var startTime = DateTime.Parse(txt_DateTimeStart.Text); query = query.Where(p => p.ReportDate >= startTime); } if (!string.IsNullOrEmpty(txt_DateTimeEnd.Text)) { var endtime = DateTime.Parse(txt_DateTimeEnd.Text); query = query.Where(p => p.ReportDate < endtime.AddDays(1)); } } else { if (!string.IsNullOrEmpty(txt_DateTimeStart.Text)) { var startTime = DateTime.Parse(txt_DateTimeStart.Text); query = query.Where(p => p.AuditingDate >= startTime); } if (!string.IsNullOrEmpty(txt_DateTimeEnd.Text)) { var endtime = DateTime.Parse(txt_DateTimeEnd.Text); query = query.Where(p => p.AuditingDate < endtime.AddDays(1)); } } if (!string.IsNullOrEmpty(txt_ReportName.Text)) { query = query.Where(p => p.ReportName.Contains(txt_ReportName.Text.Trim())); } if (!string.IsNullOrEmpty(rcb_ReportPersonnel.SelectedValue) && !rcb_ReportPersonnel.SelectedValue.Equals(Guid.Empty.ToString())) { query = query.Where(p => p.ReportPersonnelId.Equals(new Guid(rcb_ReportPersonnel.SelectedValue))); } if (!string.IsNullOrEmpty(txt_ReportCostStart.Text)) { query = query.Where(p => p.ReportCost >= decimal.Parse(txt_ReportCostStart.Text)); } if (!string.IsNullOrEmpty(txt_ReportCostEnd.Text)) { query = query.Where(p => p.ReportCost <= decimal.Parse(txt_ReportCostEnd.Text)); } if (!string.IsNullOrEmpty(ddl_AssumeFiliale.SelectedValue)) { query = query.Where(p => p.AssumeFilialeId.Equals(new Guid(ddl_AssumeFiliale.SelectedValue))); } query = query.Where(p => p.UrgentOrDefer.Equals(int.Parse(rbl_UrgentOrDefer.SelectedValue))); #endregion #region 获取权限数据集 #region 获取数据集中所有申报人的部门集合 var reportPersonnelIdList = query.Select(act => act.ReportPersonnelId).Distinct().ToList(); var branchIds = MISService.GetBranchIdsByPersonnelIds(reportPersonnelIdList); #endregion #region 费用申报审批权限 var costReportAuditingList = _costReportAuditingPower.GetCanAuditingInfo(Personnel.FilialeId, Personnel.BranchId, Personnel.PositionId).Where(p => p.Kind == (int)CostReportAuditingType.Auditing); #endregion foreach (CostReportAuditingInfo info in costReportAuditingList) { //筛选该部门中在相应“审批金额范围”内的数据 var branchAuditingList = query.Where(p => info.MinAmount <= p.ReportCost + p.PayCost && p.ReportCost + p.PayCost <= info.MaxAmount).ToList(); foreach (var item in branchAuditingList) { //此筛选条件没有放到where中的原因:因为有些用户缺少部门信息,所以有些“ReportPersonnelId”在branchIds中不存在,如果放到where中筛选会报错 if (branchIds.ContainsKey(item.ReportPersonnelId) && info.ReportBranchId.Contains(branchIds[item.ReportPersonnelId].ToString())) { if (ReportList.Count(p => p.ReportId.Equals(item.ReportId)).Equals(0)) { ReportList.Add(item); } } } } #endregion #region 合计 var totalName = RG_Report.MasterTableView.Columns.FindByUniqueName("TotalName"); var reportCost = RG_Report.MasterTableView.Columns.FindByUniqueName("ReportCost"); var payCost = RG_Report.MasterTableView.Columns.FindByUniqueName("PayCost"); if (query.Any()) { var sumReportCost = query.Sum(p => Math.Abs(p.ReportCost)); var sumPayCost = query.Sum(p => Math.Abs(p.PayCost)); totalName.FooterText = "合计:"; reportCost.FooterText = string.Format("{0}", ERP.UI.Web.Common.WebControl.NumberSeparator(sumReportCost)); payCost.FooterText = string.Format("{0}", ERP.UI.Web.Common.WebControl.NumberSeparator(sumPayCost)); } else { totalName.FooterText = string.Empty; reportCost.FooterText = string.Empty; payCost.FooterText = string.Empty; } #endregion RG_Report.DataSource = query.OrderByDescending(r => r.ReportDate).ToList(); }
//Grid数据源 protected void GridDataBind() { var states = new List <int>(); switch (ddl_State.SelectedValue) { case "0": //已处理 states.Add((int)CostReportState.Pay); states.Add((int)CostReportState.Complete); break; case "1": //未处理 //CostReportState.WaitVerify 此状态对于“个人”是【待付款确认】,对于“公司”是【待收款确认】 states.Add((int)CostReportState.AlreadyAuditing); states.Add((int)CostReportState.WaitVerify); break; } var costReportList = _costReport.GetReportList(states); var query = costReportList.AsQueryable(); #region 查询条件 if (!string.IsNullOrEmpty(txt_ReportNo.Text)) { query = query.Where(p => p.ReportNo.Equals(txt_ReportNo.Text.Trim())); } if (Hid_TimeType.Value.Equals("1")) { if (!string.IsNullOrEmpty(txt_DateTimeStart.Text)) { var startTime = DateTime.Parse(txt_DateTimeStart.Text); query = query.Where(p => p.ReportDate >= startTime); } if (!string.IsNullOrEmpty(txt_DateTimeEnd.Text)) { var endtime = DateTime.Parse(txt_DateTimeEnd.Text); query = query.Where(p => p.ReportDate < endtime.AddDays(1)); } } else { if (!string.IsNullOrEmpty(txt_DateTimeStart.Text)) { var startTime = DateTime.Parse(txt_DateTimeStart.Text); query = query.Where(p => p.ExecuteDate >= startTime); } if (!string.IsNullOrEmpty(txt_DateTimeEnd.Text)) { var endtime = DateTime.Parse(txt_DateTimeEnd.Text); query = query.Where(p => p.ExecuteDate < endtime.AddDays(1)); } } if (!string.IsNullOrEmpty(txt_ReportName.Text)) { query = query.Where(p => p.ReportName.Contains(txt_ReportName.Text.Trim())); } if (!string.IsNullOrEmpty(rcb_ReportPersonnel.SelectedValue) && !rcb_ReportPersonnel.SelectedValue.Equals(Guid.Empty.ToString())) { query = query.Where(p => p.ReportPersonnelId.Equals(new Guid(rcb_ReportPersonnel.SelectedValue))); } if (!string.IsNullOrEmpty(txt_PayCompany.Text)) { query = query.Where(p => p.PayCompany.Equals(txt_PayCompany.Text.Trim())); } if (!string.IsNullOrEmpty(ddl_PayBankAccount.SelectedValue)) { query = query.Where(p => p.PayBankAccountId.Equals(new Guid(ddl_PayBankAccount.SelectedValue))); } if (!string.IsNullOrEmpty(ddl_AssumeFiliale.SelectedValue)) { query = query.Where(p => p.AssumeFilialeId.Equals(new Guid(ddl_AssumeFiliale.SelectedValue))); } #endregion #region 合计 var totalName = RG_Report.MasterTableView.Columns.FindByUniqueName("TotalName"); var reportCost = RG_Report.MasterTableView.Columns.FindByUniqueName("ReportCost"); var payCost = RG_Report.MasterTableView.Columns.FindByUniqueName("PayCost"); if (query.Any()) { var sumReportCost = query.Sum(p => Math.Abs(p.ReportCost)); var sumPayCost = query.Sum(p => Math.Abs(p.PayCost)); totalName.FooterText = "合计:"; reportCost.FooterText = string.Format("{0}", ERP.UI.Web.Common.WebControl.NumberSeparator(sumReportCost)); payCost.FooterText = string.Format("{0}", ERP.UI.Web.Common.WebControl.NumberSeparator(sumPayCost)); } else { totalName.FooterText = string.Empty; reportCost.FooterText = string.Empty; payCost.FooterText = string.Empty; } #endregion var list = query.ToList(); RG_Report.DataSource = list; LoadPayBankAccountData(list); }
//Grid数据源 protected void GridDataBind() { var states = new List <int>(); switch (ddl_State.SelectedValue) { case "0": //已处理 states.Add((int)CostReportState.AlreadyAuditing); states.Add((int)CostReportState.CompletedMayApply); //states.Add((int)CostReportState.Auditing); states.Add((int)CostReportState.WaitVerify); states.Add((int)CostReportState.Complete); break; case "1": //未处理 states.Add((int)CostReportState.NoAuditing); break; } var costReportList = _costReport.GetReportList(states); var query = costReportList.AsQueryable(); #region 查询条件 if (!string.IsNullOrEmpty(txt_ReportNo.Text)) { query = query.Where(p => p.ReportNo.Equals(txt_ReportNo.Text.Trim())); } if (Hid_TimeType.Value.Equals("1")) { if (!string.IsNullOrEmpty(txt_DateTimeStart.Text)) { var startTime = DateTime.Parse(txt_DateTimeStart.Text); query = query.Where(p => p.ReportDate >= startTime); } if (!string.IsNullOrEmpty(txt_DateTimeEnd.Text)) { var endtime = DateTime.Parse(txt_DateTimeEnd.Text); query = query.Where(p => p.ReportDate < endtime.AddDays(1)); } } else { if (!string.IsNullOrEmpty(txt_DateTimeStart.Text)) { var startTime = DateTime.Parse(txt_DateTimeStart.Text); query = query.Where(p => p.AcceptDate >= startTime); } if (!string.IsNullOrEmpty(txt_DateTimeEnd.Text)) { var endtime = DateTime.Parse(txt_DateTimeEnd.Text); query = query.Where(p => p.AcceptDate < endtime.AddDays(1)); } } if (!string.IsNullOrEmpty(txt_ReportName.Text)) { query = query.Where(p => p.ReportName.Contains(txt_ReportName.Text.Trim())); } if (!string.IsNullOrEmpty(rcb_ReportPersonnel.SelectedValue) && !rcb_ReportPersonnel.SelectedValue.Equals(Guid.Empty.ToString())) { query = query.Where(p => p.ReportPersonnelId.Equals(new Guid(rcb_ReportPersonnel.SelectedValue))); } if (!string.IsNullOrEmpty(txt_InvoiceAndReceiptNo.Text)) { query = query.Where(p => p.InvoiceNo.Equals(txt_InvoiceAndReceiptNo.Text) || p.ReceiptNo.Equals(txt_InvoiceAndReceiptNo.Text)); } if (!string.IsNullOrEmpty(ddl_AssumeFiliale.SelectedValue)) { query = query.Where(p => p.AssumeFilialeId.Equals(new Guid(ddl_AssumeFiliale.SelectedValue))); } if (!string.IsNullOrEmpty(ddl_ReportKind.SelectedValue)) { query = query.Where(p => p.ReportKind.Equals(int.Parse(ddl_ReportKind.SelectedValue))); } query = query.Where(p => p.InvoiceType.Equals((int)CostReportInvoiceType.Invoice) || p.InvoiceType.Equals((int)CostReportInvoiceType.VatInvoice) || p.InvoiceType.Equals((int)CostReportInvoiceType.Voucher)); #endregion #region 获取权限数据集 #region 获取数据集中所有申报人的部门集合 var reportPersonnelIdList = query.Select(act => act.ReportPersonnelId).Distinct().ToList(); var branchIds = MISService.GetBranchIdsByPersonnelIds(reportPersonnelIdList); #endregion #region 费用申报受理权限 var costReportAuditingList = _costReportAuditingPower.GetCanAuditingInfo(Personnel.FilialeId, Personnel.BranchId, Personnel.PositionId).Where(p => p.Kind == (int)CostReportAuditingType.Invoice); #endregion foreach (CostReportAuditingInfo info in costReportAuditingList) { foreach (var item in query) { if (branchIds.ContainsKey(item.ReportPersonnelId) && info.ReportBranchId.Contains(branchIds[item.ReportPersonnelId].ToString())) { if (ReportList.Count(p => p.ReportId.Equals(item.ReportId)).Equals(0)) { ReportList.Add(item); } } } } #endregion #region 合计 var totalName = RG_Report.MasterTableView.Columns.FindByUniqueName("TotalName"); var reportCost = RG_Report.MasterTableView.Columns.FindByUniqueName("ReportCost"); if (query.Any()) { var sumReportCost = query.Sum(p => Math.Abs(p.ReportCost)); totalName.FooterText = "合计:"; reportCost.FooterText = string.Format("{0}", ERP.UI.Web.Common.WebControl.NumberSeparator(sumReportCost)); } else { totalName.FooterText = string.Empty; reportCost.FooterText = string.Empty; } #endregion RG_Report.DataSource = query.OrderByDescending(r => r.ReportDate).ToList(); }
//Grid数据源 protected void GridDataBind() { var costReportList = _costReport.GetReportList(Personnel.PersonnelId).OrderByDescending(r => r.ReportDate); var query = costReportList.AsQueryable(); #region 查询条件 if (!string.IsNullOrEmpty(txt_ReportNo.Text)) { query = query.Where(p => p.ReportNo.Equals(txt_ReportNo.Text.Trim())); } if (!string.IsNullOrEmpty(txt_ReportDateStart.Text)) { var startTime = DateTime.Parse(txt_ReportDateStart.Text); query = query.Where(p => p.ReportDate >= startTime); } if (!string.IsNullOrEmpty(txt_ReportDateEnd.Text)) { var endtime = DateTime.Parse(txt_ReportDateEnd.Text); query = query.Where(p => p.ReportDate < endtime.AddDays(1)); } if (!string.IsNullOrEmpty(txt_ReportName.Text)) { query = query.Where(p => p.ReportName.Contains(txt_ReportName.Text.Trim())); } switch (ddl_State.SelectedValue) { case "0": //已处理 query = query.Where(p => p.State == (int)CostReportState.AuditingNoPass || p.State == (int)CostReportState.InvoiceNoPass || p.State == (int)CostReportState.Complete); break; case "1": //未处理 query = query.Where(p => p.State == (int)CostReportState.Auditing || p.State == (int)CostReportState.NoAuditing || p.State == (int)CostReportState.AlreadyAuditing || p.State == (int)CostReportState.WaitVerify || p.State == (int)CostReportState.Pay || p.State == (int)CostReportState.CompletedMayApply); break; case "-1": //全部 break; default: query = query.Where(p => p.State != (int)CostReportState.Complete); break; } #endregion #region 合计 var totalName = RG_Report.MasterTableView.Columns.FindByUniqueName("TotalName"); var reportCost = RG_Report.MasterTableView.Columns.FindByUniqueName("ReportCost"); var payCost = RG_Report.MasterTableView.Columns.FindByUniqueName("PayCost"); if (query.Any()) { var sumReportCost = query.Sum(p => Math.Abs(p.ReportCost)); var sumPayCost = query.Sum(p => Math.Abs(p.PayCost)); totalName.FooterText = "合计:"; reportCost.FooterText = string.Format("{0}", WebControl.NumberSeparator(sumReportCost)); payCost.FooterText = string.Format("{0}", WebControl.NumberSeparator(sumPayCost)); } else { totalName.FooterText = string.Empty; reportCost.FooterText = string.Empty; payCost.FooterText = string.Empty; } #endregion RG_Report.DataSource = query.ToList(); }