public JsonResult QueryExternalDepartmentStatistics()
        {
            QF_Report filter = BuildQueryFilterEntity <QF_Report>();
            var       list   = ReportBigService.ExternalDepartmentStatisticsList(filter);

            return(AjaxGridJson(list));
        }
        public JsonResult QueryProductVendorStatistics()
        {
            QF_Report filter = BuildQueryFilterEntity <QF_Report>();
            var       list   = ReportBigService.ProductVendorStatisticsList(filter);

            return(AjaxGridJson(list));
        }
        public JsonResult QueryArticleInterviewStatistics(QF_Report filter)
        {
            var chartList = ReportBigService.ArticleInterviewStatisticsChart(filter);

            return(Json(new AjaxResult()
            {
                Success = true,
                Data = chartList
            }));
        }
        public ActionResult SearchExportExternalDepartmentStatistics()
        {
            var filter = SerializeHelper.JsonDeserializeFixed <QF_Report>(Request.Form["queryString"]);

            filter.PageIndex = 0;
            filter.PageSize  = int.MaxValue;

            var list = ReportBigService.ExternalDepartmentStatisticsList(filter);

            list.data.ForEach(p => { p.Id = list.data.IndexOf(p) + 1; });
            var tables = new List <DataTable>
            {
                DataMapper.ListToDataTable(list.data)
            };
            var columns = new List <List <ColumnData> >
            {
                new List <ColumnData>
                {
                    new ColumnData {
                        FieldName = "Id", Width = 20, Title = "序号", HorizontalAlignment = HorizAlignments.Centered
                    },
                    new ColumnData {
                        FieldName = "SubjectDepartmentName", Width = 20, Title = "主题所属公司", HorizontalAlignment = HorizAlignments.Left
                    },
                    new ColumnData {
                        FieldName = "CreateSubjectUserName", Width = 20, Title = "主题发表人", HorizontalAlignment = HorizAlignments.Left
                    },
                    new ColumnData {
                        FieldName = "ParseTitle", Width = 20, Title = "主题标题", HorizontalAlignment = HorizAlignments.Left
                    },
                    new ColumnData {
                        FieldName = "ExternalUserName", Width = 20, Title = "外协人员", HorizontalAlignment = HorizAlignments.Left
                    },
                    new ColumnData {
                        FieldName = "ExternalDepartmentName", Width = 20, Title = "外协部门", HorizontalAlignment = HorizAlignments.Left
                    },
                    new ColumnData {
                        FieldName = "AssignmentTime", Width = 40, Title = "分派时间", ValueFormat = "yyyy-MM-dd HH:mm:ss", HorizontalAlignment = HorizAlignments.Left
                    },
                    new ColumnData {
                        FieldName = "Stat", Width = 10, Title = "完结评星数", HorizontalAlignment = HorizAlignments.Left
                    }
                }
            };
            var excelExport = new ExcelFileExporter();
            var fileName    = string.Empty;
            var excelByte   = excelExport.CreateFile(tables, new List <string>()
            {
                "外部门协助统计"
            }, columns, null, out fileName, "外部门协助统计");

            fileName = "外部门协助统计.xls";
            return(File(new MemoryStream(excelByte), "application/ms-excel", fileName));
        }
        public JsonResult QueryComplaintStatistics(QF_Report filter)
        {
            var list      = ReportBigService.ComplaintStatisticsList(filter);
            var chartList = ReportBigService.ComplaintStatisticsChart(filter);

            return(Json(new AjaxResult()
            {
                Success = true,
                Data = new
                {
                    chartList,
                    list
                }
            }));
        }
        public ActionResult SearchExportActivityStatistics()
        {
            var filter = SerializeHelper.JsonDeserializeFixed <QF_Report>(Request.Form["queryString"]);
            var list   = ReportBigService.ActivityStatisticsList(filter);

            list.ForEach(p => { p.SerialNumber = list.IndexOf(p) + 1; });
            var tables = new List <DataTable>
            {
                DataMapper.ListToDataTable(list)
            };
            var columns = new List <List <ColumnData> >
            {
                new List <ColumnData>
                {
                    new ColumnData {
                        FieldName = "SerialNumber", Width = 10, Title = "序号", HorizontalAlignment = HorizAlignments.Centered
                    },
                    new ColumnData {
                        FieldName = "DepartmentName", Width = 20, Title = "公司名称", HorizontalAlignment = HorizAlignments.Left
                    },
                    new ColumnData {
                        FieldName = "ActivityCount", Width = 10, Title = "活跃度", HorizontalAlignment = HorizAlignments.Left
                    },
                    new ColumnData {
                        FieldName = "LastYearActivityCount", Width = 20, Title = "去年同期活跃度", HorizontalAlignment = HorizAlignments.Left
                    },
                    new ColumnData {
                        FieldName = "LastYearActivityCountProportion", Width = 10, Title = "同比", HorizontalAlignment = HorizAlignments.Left
                    },
                    new ColumnData {
                        FieldName = "LastMonthActivityCount", Width = 20, Title = "上月同期活跃度", HorizontalAlignment = HorizAlignments.Left
                    },
                    new ColumnData {
                        FieldName = "LastMonthComplaintCountProportion", Width = 10, Title = "环比", HorizontalAlignment = HorizAlignments.Left
                    }
                }
            };
            var excelExport = new ExcelFileExporter();
            var fileName    = string.Empty;
            var excelByte   = excelExport.CreateFile(tables, new List <string>()
            {
                "活跃度统计"
            }, columns, null, out fileName, "活跃度统计");

            fileName = "活跃度统计.xls";
            return(File(new MemoryStream(excelByte), "application/ms-excel", fileName));
        }
        public ActionResult SearchExportProductVendorStatistics()
        {
            var filter = SerializeHelper.JsonDeserializeFixed <QF_Report>(Request.Form["queryString"]);

            filter.PageIndex = 0;
            filter.PageSize  = int.MaxValue;

            var list = ReportBigService.ProductVendorStatisticsList(filter);

            list.data.ForEach(p => { p.SerialNumber = list.data.IndexOf(p) + 1; });
            var tables = new List <DataTable>
            {
                DataMapper.ListToDataTable(list.data)
            };
            var dynamicTitle = filter.StatisticsObject == StatisticsObject.Product ? "产品名称" : "供应商名称";
            var columns      = new List <List <ColumnData> >
            {
                new List <ColumnData>
                {
                    new ColumnData {
                        FieldName = "SerialNumber", Width = 10, Title = "序号", HorizontalAlignment = HorizAlignments.Centered
                    },
                    new ColumnData {
                        FieldName = "Name", Width = 20, Title = dynamicTitle, HorizontalAlignment = HorizAlignments.Left
                    },
                    new ColumnData {
                        FieldName = "ComplaintCount", Width = 10, Title = "	投诉量", HorizontalAlignment = HorizAlignments.Left
                    },
                    new ColumnData {
                        FieldName = "FinishCount", Width = 10, Title = "完结数量", HorizontalAlignment = HorizAlignments.Left
                    },
                    new ColumnData {
                        FieldName = "FinishCountProportion", Width = 10, Title = "完结率", HorizontalAlignment = HorizAlignments.Left
                    }
                }
            };
            var excelExport = new ExcelFileExporter();
            var fileName    = string.Empty;
            var excelByte   = excelExport.CreateFile(tables, new List <string>()
            {
                "产品供应商统计"
            }, columns, null, out fileName, "产品供应商统计");

            fileName = "产品供应商统计.xls";
            return(File(new MemoryStream(excelByte), "application/ms-excel", fileName));
        }