/// <summary> /// 部门用能统计报表 /// 根据建筑ID和日期,获取能源按钮列表,部门列表,以及用能数据天报表 /// </summary> /// <param name="buildId">建筑ID</param> /// <param name="date">时间</param> /// <returns>返回完整的数据:能源按钮列表,部门列表,以及用能数据天报表</returns> public DepartmentReportViewModel GetViewModel(string buildId, string date, string type) { type = type.ToUpper(); List <EnergyItemDict> energys = reportContext.GetEnergyItemDictByBuild(buildId); string energyCode; if (energys.Count > 0) { energyCode = energys.First().EnergyItemCode; } else { energyCode = ""; } ITreeViewDbContext treeViewDb = new TreeViewDbContext(); List <TreeViewModel> treeView = treeViewDb.GetDepartmentTreeViewList(buildId, energyCode); string[] departmentIDs = treeViewDb.GetDepartmentIDs(buildId, energyCode); List <ReportValue> reportValue = context.GetReportValueList(energyCode, departmentIDs, date, type); DepartmentReportViewModel reportView = new DepartmentReportViewModel(); reportView.Energys = energys; reportView.TreeView = treeView; reportView.Data = reportValue; reportView.ReportType = type; return(reportView); }
public void TestGetDepartmentReportViewModelByBuild_Date_YY() { DateTime today = DateTime.Now; DepartmentReportService service = new DepartmentReportService(); DepartmentReportViewModel reportViewModel = service.GetViewModel("000001G001", "2018", "YY"); Console.WriteLine(UtilTest.GetJson(reportViewModel)); }
public void TestGetDepartmentReportViewModelByUser() { DateTime today = DateTime.Now; DepartmentReportService service = new DepartmentReportService(); DepartmentReportViewModel reportViewModel = service.GetViewModel("admin"); Console.WriteLine(UtilTest.GetJson(reportViewModel)); }
public void TestGetDepartmentReportViewModelByBuild_Date_YY2() { DateTime today = DateTime.Now; string[] departmentIDs = { "D000001G001001", "D000001G001002", "D000001G001003" }; DepartmentReportService service = new DepartmentReportService(); DepartmentReportViewModel reportViewModel = service.GetViewModel("01000", departmentIDs, today.ToString(), "YY"); Console.WriteLine(UtilTest.GetJson(reportViewModel)); }
public ActionResult GetMonthlyDepartmentReport(DateTime FromDate, DateTime ToDate) { var data = db.BillServices.Where(p => p.Paid == true && p.PaidDate >= FromDate && p.PaidDate <= ToDate).ToList(); var allDepartments = db.Departments.ToList(); var CrystalReportData = new List <DepartmentReportViewModel>(); foreach (var item in allDepartments) { var singleDept = new DepartmentReportViewModel(); singleDept.DepartmentName = item.DepartmentName; singleDept.Amount = data.Where(p => p.DepartmentId == item.Id).Sum(x => x.Quatity * x.Price); CrystalReportData.Add(singleDept); } BillPaymentsDataSet billPayments = new BillPaymentsDataSet(); foreach (var item in CrystalReportData) { billPayments.BillPayments.AddBillPaymentsRow(item.DepartmentName, item.Amount); } ReportDocument rd = new ReportDocument(); rd.Load(Path.Combine(Server.MapPath("~/CrystalReports/Finance/BillPyments.rpt"))); rd.SetDataSource(billPayments); rd.Subreports["RptReportHeader.rpt"].SetDataSource(HeaderAndFooterForReports.GetAllReportHeader()); rd.SetParameterValue("fromDate", FromDate); rd.SetParameterValue("toDate", ToDate); Response.Buffer = false; Response.ClearContent(); Response.ClearHeaders(); Stream stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); stream.Seek(0, SeekOrigin.Begin); string fileName = " - " + DateTime.Today + ".pdf"; return(File(stream, "application/pdf", fileName)); }
public DepartmentReportViewModel GetViewModel(string buildId, string date, string energyCode, string type) { type = type.ToUpper(); ITreeViewDbContext treeViewDb = new TreeViewDbContext(); List <TreeViewModel> treeView = treeViewDb.GetDepartmentTreeViewList(buildId, energyCode); string[] departmentIDs = treeViewDb.GetDepartmentIDs(buildId, energyCode); List <ReportValue> reportValue = context.GetReportValueList(energyCode, departmentIDs, date, type); DepartmentReportViewModel reportView = new DepartmentReportViewModel(); reportView.TreeView = treeView; reportView.Data = reportValue; reportView.ReportType = type; return(reportView); }
public ActionResult Index() { // Get department from login var currentYear = DateTime.Now.Year.ToString() + "-" + (DateTime.Now.Year + 1).ToString(); var result = budgetEntities.BudgetExpenditures.Where(c => c.Year == currentYear && c.DepartmentId == 1).ToList(); List <DepartmentReportViewModel> departmentViewModels = new List <DepartmentReportViewModel>(); foreach (var budgetEntity in result) { var departmentReportViewModel = new DepartmentReportViewModel(); departmentReportViewModel.Head = budgetEntities.Heads.Where(c => c.Id == budgetEntity.HeadId).FirstOrDefault().Name; departmentReportViewModel.EstimatedBudget = budgetEntity.EstimatedBudget.Value; departmentReportViewModel.ActualExpenditureTillQuarter = budgetEntity.ExpenditureQ1.Value; departmentReportViewModel.BalanceLeftTillQuarter = budgetEntity.TotalExpenditure.Value; departmentViewModels.Add(departmentReportViewModel); } return(View("DepartmentReport", departmentViewModels)); }
/// <summary> /// 部门用能统计报表 /// 根据部门,时间,报表类型,获取指定的用能概况 /// </summary> /// <param name="departmentIDs">部门ID</param> /// <param name="date">时间</param> /// <param name="type">报表类型:DD:日报 /// MM:月报 /// YY:年报 /// </param> /// <returns>返回:指定部门,时间,报表类型的用能数据</returns> public DepartmentReportViewModel GetViewModel(string energyCode, string[] departmentIDs, string date, string type) { //if (type == "MM") //{ // date += "-01"; //} //else if (type == "YY") //{ // date += "-01-01"; //} type = type.ToUpper(); List <ReportValue> reportValue = context.GetReportValueList(energyCode, departmentIDs, date, type); DepartmentReportViewModel reportView = new DepartmentReportViewModel(); reportView.Data = reportValue; reportView.ReportType = type; return(reportView); }
public ActionResult DrawDepartmentwiseHeadwiseChart(int?departmentId, int?headId) { // if departmentid is null then get department of logged in user if (departmentId == null) { departmentId = 1; } if (headId == null) { headId = 1; } var currentYear = DateTime.Now.Year.ToString() + "-" + (DateTime.Now.Year + 1).ToString(); var result = budgetEntities.BudgetExpenditures.Where(c => c.Year == currentYear && c.DepartmentId == departmentId).ToList(); var headResult = result.Where(c => c.HeadId == headId).FirstOrDefault(); var departmentReportViewModel = new DepartmentReportViewModel(); departmentReportViewModel.Head = budgetEntities.Heads.Where(c => c.Id == 1).FirstOrDefault().Name; departmentReportViewModel.EstimatedBudget = headResult.EstimatedBudget.Value; departmentReportViewModel.ActualExpenditureTillQuarter = headResult.ExpenditureQ1.Value; departmentReportViewModel.BalanceLeftTillQuarter = headResult.TotalExpenditure.Value; departmentReportViewModel.ExpenditureQ1 = headResult.ExpenditureQ1.Value; departmentReportViewModel.ExpenditureQ2 = headResult.ExpenditureQ1.Value + headResult.ExpenditureQ2.Value; departmentReportViewModel.ExpenditureQ3 = headResult.ExpenditureQ1.Value + headResult.ExpenditureQ2.Value + headResult.ExpenditureQ3.Value; departmentReportViewModel.ExpenditureQ4 = headResult.ExpenditureQ1.Value + headResult.ExpenditureQ2.Value + headResult.ExpenditureQ3.Value + headResult.ExpenditureQ4.Value; //var departmentReportViewModel = new DepartmentReportViewModel(); ////departmentReportViewModel.Head = budgetEntities.Heads.Where(c => c.Id == 1).FirstOrDefault().Name; //departmentReportViewModel.EstimatedBudget = 40000; //departmentReportViewModel.ActualExpenditureTillQuarter = 1000; //departmentReportViewModel.BalanceLeftTillQuarter = 2000; //departmentReportViewModel.ExpenditureQ1 = 1000; //departmentReportViewModel.ExpenditureQ2 = 2000; //departmentReportViewModel.ExpenditureQ3 = 4000; //departmentReportViewModel.ExpenditureQ4 = 5000; return(View("DepartmentwiseHeadwiseChart", departmentReportViewModel)); }
public ActionResult CreateTable(HeadEntry head) { var currentDepartment = budgetEntities.Departments.Where(c => c.Id == head.CurrentDepartmentId).Select(c => c.Name); var currentYear = DateTime.Now.Year.ToString() + "-" + (DateTime.Now.Year + 1).ToString(); var result = budgetEntities.BudgetExpenditures.Where(c => c.Year == currentYear && c.DepartmentId == head.CurrentDepartmentId).ToList(); List <DepartmentReportViewModel> departmentViewModels = new List <DepartmentReportViewModel>(); foreach (var budgetEntity in result) { var departmentReportViewModel = new DepartmentReportViewModel(); departmentReportViewModel.Department = budgetEntities.Departments.Where(c => c.Id == head.CurrentDepartmentId).Select(c => c.Name).SingleOrDefault(); departmentReportViewModel.Head = budgetEntities.Heads.Where(c => c.Id == budgetEntity.HeadId).FirstOrDefault().Name; departmentReportViewModel.EstimatedBudget = budgetEntity.EstimatedBudget.Value; departmentReportViewModel.ActualExpenditureTillQuarter = budgetEntity.ExpenditureQ1.Value; departmentReportViewModel.BalanceLeftTillQuarter = budgetEntity.TotalExpenditure.Value; departmentViewModels.Add(departmentReportViewModel); } return(View("DepartmentalAllHeadsTabularReport", departmentViewModels)); }
/// <summary> /// 部门用能统计报表 /// 初始加载:获取用户名查询建筑列表,第一栋建筑对应的分类,第一个分类对应的所有部门的用能天报表 /// </summary> /// <param name="userName">用户名</param> /// <returns>返回完整的数据:包含建筑列表,能源按钮列表,部门列表,以及用能数据天报表</returns> public DepartmentReportViewModel GetViewModel(string userName) { DateTime today = DateTime.Now; IHomeDbContext homeContext = new HomeDbContext(); List <BuildViewModel> builds = homeContext.GetBuildsByUserName(userName); string buildId = builds.First().BuildID; List <EnergyItemDict> energys = reportContext.GetEnergyItemDictByBuild(buildId); //增加分类能耗过滤信息 //修改方法参数,修改SQL语句 string energyCode; if (energys.Count > 0) { energyCode = energys.First().EnergyItemCode; } else { energyCode = ""; } ITreeViewDbContext treeViewDb = new TreeViewDbContext(); List <TreeViewModel> treeView = treeViewDb.GetDepartmentTreeViewList(buildId, energyCode); string[] departmentIDs = treeViewDb.GetDepartmentIDs(buildId, energyCode); List <ReportValue> reportValue = context.GetReportValueList(energyCode, departmentIDs, today.ToString("yyyy-MM-dd 00:00:00"), "DD"); DepartmentReportViewModel reportView = new DepartmentReportViewModel(); reportView.Builds = builds; reportView.Energys = energys; reportView.TreeView = treeView; reportView.Data = reportValue; reportView.ReportType = "DD"; return(reportView); }