Пример #1
0
        /// <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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        public void TestGetDepartmentReportViewModelByUser()
        {
            DateTime today = DateTime.Now;
            DepartmentReportService   service         = new DepartmentReportService();
            DepartmentReportViewModel reportViewModel = service.GetViewModel("admin");

            Console.WriteLine(UtilTest.GetJson(reportViewModel));
        }
Пример #4
0
        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));
        }
Пример #5
0
        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));
        }
Пример #6
0
        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);
        }
Пример #7
0
        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));
        }
Пример #8
0
        /// <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);
        }
Пример #9
0
        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));
        }
Пример #10
0
        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));
        }
Пример #11
0
        /// <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);
        }