Exemplo n.º 1
0
        public StatisticCharWindow(List <RecordChart> records, StatisticModel Model)
        {
            this.Model = Model;

            InitializeComponent();


            this.Text = Model.Title;


            Assembly asm = Assembly.LoadFrom(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Res.dll"));

            this.Icon = new Icon(asm.GetManifestResourceStream(@"Oybab.Res.Resources.Images.PC.Statistic.ico"));



            Model.DataSource = records;



            ChartReport report = new ChartReport(Model.Parameters["PriceSymbol"].ToString());



            webBrowser1.ScrollBarsEnabled = false;
            webBrowser1.Refresh();
            string htmlContent = report.ProcessHTMLContent(Model);

            webBrowser1.DocumentText = htmlContent;

            webBrowser1.DocumentCompleted -= WebBrowser1_DocumentCompleted;
            webBrowser1.DocumentCompleted += WebBrowser1_DocumentCompleted;
        }
Exemplo n.º 2
0
        internal void Initial(List <RecordChart> records, StatisticModel statisticModel)
        {
            statisticModel.DataSource = records;
            ChartReport report = new ChartReport(statisticModel.Parameters["PriceSymbol"].ToString());

            string htmlContent = report.ProcessHTMLContent(statisticModel);

            var htmlSource = new HtmlWebViewSource();

            htmlSource.Html = htmlContent;

            _browser.Source = htmlSource;
        }
Exemplo n.º 3
0
        private void ReportForm_Load(object sender, EventArgs e)
        {
            WindowState = FormWindowState.Maximized;

            LibraryDataSet dataSet = new LibraryDataSet();

            switch (reportType)
            {
            case BOOK_ASSESSMENT_REPORT:
                var bookAdapter = new LibraryDataSetTableAdapters.BookAssessmentListTableAdapter();
                bookAdapter.Fill(dataSet.BookAssessmentList);

                BookAssessmentReport bookReport = new BookAssessmentReport();
                bookReport.SetDataSource(dataSet);
                reportViewer.ReportSource = bookReport;
                break;

            case MEMBER_DETAIL_REPORT:
                var memberAdapter = new LibraryDataSetTableAdapters.MemberDetailListTableAdapter();
                memberAdapter.Fill(dataSet.MemberDetailList);

                MemberDetailReport memberReport = new MemberDetailReport();
                memberReport.SetDataSource(dataSet);
                reportViewer.ReportSource = memberReport;
                break;

            case CHART_REPORT:
                var subjectAdapter = new LibraryDataSetTableAdapters.BooksBySubjectTableAdapter();
                subjectAdapter.Fill(dataSet.BooksBySubject);

                ChartReport chartReport = new ChartReport();
                chartReport.SetDataSource(dataSet);
                reportViewer.ReportSource = chartReport;
                break;

            default:
                break;
            }
        }
Exemplo n.º 4
0
        public async Task <ChartReport> GetChartReport(Report report, int userID, bool includeData = false)
        {
            var rp = new ChartReport {
                ReportID    = report.ID,
                ReportType  = report.ReportType.ReportTypeCode,
                Title       = report.Title,
                Name        = report.Name,
                Series      = string.IsNullOrWhiteSpace(report.SeriesColumns) ? null : report.SeriesColumns.Split(','),
                Description = report.Description,
                Priority    = report.Priority,
                Width       = report.Width
            };

            if (includeData)
            {
                if (!_innerFilterDictionaryMap.Keys.Any())
                {
                    var user = await _userService.GetAsync(userID);

                    var userAgent = (await _userAgentService.FindByAsync(ur => ur.UserID == userID && ur.IsActive)).FirstOrDefault();
                    PopulateInnerFiltersDictionaryMap(user, userAgent?.AgentID);
                }

                var filters = report.FilterColumns.Select(s => s.ToObject <Filter> ()).ToList();

                //Populate default inner filter values
                foreach (var innerFilter in filters.Where(f => f.IsInnerFilter))
                {
                    var defaultFilterValue = _innerFilterDictionaryMap[innerFilter.FieldName];
                    innerFilter.Value = defaultFilterValue;
                }

                var reportData = _dataProvider.GetData(report.Query, filters);
                rp.Data = reportData;
            }

            return(rp);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 保存一个chart报表
        /// </summary>
        /// <param name="childrReport"></param>
        /// <param name="reportId"></param>
        /// <param name="code"></param>
        public void SaveChartReport(ChildReportModel childrReport, long reportId, string code)
        {
            if (childrReport.ChildReportJson != null && childrReport.ChildReportJson.Length > 0)
            {
                var chartReport = JSON.EncodeToEntity <ChartReportModel>(childrReport.ChildReportJson);
                if (chartReport != null)
                {
                    #region 基础信息修改,得到chartReportId
                    ChartReport chart = AutoMapper.Mapper.Map <ChartReport>(chartReport);
                    chart.ReportId        = reportId;
                    chart.ApplicationType = childrReport.ApplicationType;
                    chart.IsOpen          = childrReport.IsOpen;
                    chart.Id      = childrReport.ChildReportId;
                    chart.MakeWay = 1;                                                        //自定义

                    var chartReportId = _chartReportRepository.InsertOrUpdateAndGetId(chart); //修改chart报表并获得ID
                    #endregion
                    SaveChartInEventList(chartReport, reportId, chartReportId, code);         //保存内置事件

                    SaveRpFilterList(chartReport, chartReportId);                             //保存筛选条件信息
                }
            }
        }
        public DataTable CarregaRelatorio(int idEmpresa, string statusFiltro)
        {
            DataTable dt = new DataTable();
            //Instância de ChamadosBLL
            ChamadosBLL chamadosBLL = new ChamadosBLL();

            //Chama método BLL GetNumeroChamados
            dt = chamadosBLL.GetNumeroChamados(idEmpresa, statusFiltro);

            //Se o objeto dt não estiver vazio
            if (dt.Rows.Count > 0)
            {
                ChartReport.DataSource = dt;

                ChartReport.ChartAreas["ChartAreaReport"].AxisY.Title           = "Número de Chamados";
                ChartReport.ChartAreas["ChartAreaReport"].AxisX.Title           = "Categoria do Chamado";
                ChartReport.ChartAreas["ChartAreaReport"].AxisY.TitleFont       = new System.Drawing.Font("Verdana, Geneva, sans-serif", 9.50F, System.Drawing.FontStyle.Bold);
                ChartReport.ChartAreas["ChartAreaReport"].AxisX.TitleFont       = new System.Drawing.Font("Verdana, Geneva, sans-serif", 9.50F, System.Drawing.FontStyle.Bold);
                ChartReport.ChartAreas["ChartAreaReport"].AxisY.LabelStyle.Font = new System.Drawing.Font("Verdana, Geneva, sans-serif;", 9.05F, System.Drawing.FontStyle.Regular);
                ChartReport.ChartAreas["ChartAreaReport"].AxisX.LabelStyle.Font = new System.Drawing.Font("Verdana, Geneva, sans-serif;", 9.05F, System.Drawing.FontStyle.Regular);

                ChartReport.Series["SeriesReport"].YValueMembers = "NumeroOcorrencias";
                ChartReport.Series["SeriesReport"].XValueMember  = "CategoriaDoChamado";

                ChartReport.DataBind();
            }

            else
            {
                //Exibe mensagem
                LblMsgmChamados.Text    = "Existem" + " " + Convert.ToString(dt.Rows.Count.ToString()) + " " + "chamados abertos no momento";
                LblMsgmChamados.Visible = true;
            }

            return(dt);
        }
Exemplo n.º 7
0
        public ApiMessage GetResourceAndAgentReports()
        {
            this.IniRequest();
            ApiMessage      message  = new ApiMessage();
            OrderManagement orderMgr = new OrderManagement(User.Identity.Name);
            DateTime        sDate    = DateTime.MinValue;
            DateTime        eDate    = DateTime.MinValue;

            if (!string.IsNullOrEmpty(request["startTime"]))
            {
                DateTime.TryParse(request["startTime"], out sDate);
            }
            if (!string.IsNullOrEmpty(request["endTime"]))
            {
                DateTime.TryParse(request["endTime"], out eDate);
            }
            long        sintDate = sDate != DateTime.MinValue ? DateTimeUtil.ConvertDateTimeToInt(sDate) : 0;
            long        eintDate = eDate != DateTime.MinValue ? DateTimeUtil.ConvertDateTimeToInt(eDate) : 0;
            ChartReport report   = orderMgr.SearchResourceAndAgentReport(sintDate, eintDate);

            message.Status = "OK";
            message.Item   = report;
            return(message);
        }
Exemplo n.º 8
0
        public ChartReport SearchResourceAndAgentReport(long startTime, long endTime)
        {
            ChartReport           report         = new ChartReport();
            int                   total          = 0;
            List <BOrder>         orders         = FindOrders(0, 0, 0, 0, 0, null, null, null, startTime, endTime, out total);
            List <ReportTemplate> resourceReport = new List <ReportTemplate>();
            List <ReportTemplate> agentReport    = new List <ReportTemplate>();
            var                   rp             = from order in orders
                                                   group order by order.ResourceId into gOrders
                                                   orderby gOrders.Key
                                                   select new
            {
                ResourceId   = gOrders.Key,
                ResourceName = gOrders.FirstOrDefault <BOrder>().ReseouceName,
                SalesAmount  = gOrders.Sum(o => o.PurchasePrice),
                CostAmount   = gOrders.Sum(o => o.PlatformCostPrice),
                Revenue      = gOrders.Sum(o => o.Revenue)
            };

            foreach (var rpt in rp)
            {
                ReportTemplate temp = new ReportTemplate()
                {
                    CostAmount = rpt.CostAmount, Id = rpt.ResourceId, Name = rpt.ResourceName, Revenue = rpt.Revenue, SalesAmount = rpt.SalesAmount
                };
                resourceReport.Add(temp);
            }
            report.ResourceReport = resourceReport;
            var rp2 = from order in orders
                      where order.AgentId > 0 && order.Operator == 0
                      group order by order.AgentId into gOrders
                      orderby gOrders.Key
                      select new
            {
                AgentId     = gOrders.Key,
                AgentName   = gOrders.FirstOrDefault <BOrder>().AgentName,
                SalesAmount = gOrders.Sum(o => o.PurchasePrice),
                CostAmount  = gOrders.Sum(o => o.PlatformCostPrice),
                Revenue     = gOrders.Sum(o => o.Revenue)
            };

            foreach (var rpt in rp2)
            {
                ReportTemplate temp = new ReportTemplate()
                {
                    CostAmount = rpt.CostAmount, Id = rpt.AgentId, Name = rpt.AgentName, Revenue = rpt.Revenue, SalesAmount = rpt.SalesAmount
                };
                agentReport.Add(temp);
            }

            var rp3 = from order in orders
                      where order.AgentId == 0
                      group order by order.ChargeType into gOrders
                      orderby gOrders.Key
                      select new
            {
                Type        = gOrders.Key,
                Name        = gOrders.FirstOrDefault <BOrder>().Operator == 0?"前台直冲":"后台直冲",
                SalesAmount = gOrders.Sum(o => o.PurchasePrice),
                CostAmount  = gOrders.Sum(o => o.PlatformCostPrice),
                Revenue     = gOrders.Sum(o => o.Revenue)
            };

            foreach (var rpt in rp3)
            {
                ReportTemplate temp = new ReportTemplate()
                {
                    CostAmount = rpt.CostAmount, Id = rpt.Type, Name = rpt.Name, Revenue = rpt.Revenue, SalesAmount = rpt.SalesAmount
                };
                agentReport.Add(temp);
            }
            report.UserReport = agentReport;
            return(report);
        }