/// <summary> /// 考试报表 /// </summary> /// <returns></returns> public ActionResult ExamReport(ExamReportModels examReportModels, ExamReportOptions examReportOptions) { /* 操作类型 */ string 操作类型 = LKExamURLQueryKey.GetString("HandleType"); bool iSWord版 = 操作类型 == "2"; #region 考试报表属性 /* 考试设置ID */ Guid g考试设置ID = examReportModels.TestID; /* 部门ID */ Guid g部门ID = examReportModels.DepartmentID; /* 考试报表选项初始化值 */ examReportOptions = new ExamReportOptions(examReportOptions); /* 考试报表选项 */ examReportModels.ExamReportOptions = examReportOptions; /* 是否导出Word */ examReportModels.ISWord版 = iSWord版; /* 分数段 */ int i分数段 = examReportOptions.ScoreSection; #endregion #region 考试分析数据 考试设置 c考试设置 = null; List<考试分析> list考试分析 = 考试分析.得到某场考试分析数据(g考试设置ID, i分数段, g部门ID, out c考试设置); examReportModels.考试分析 = list考试分析; examReportModels.考试设置 = c考试设置; examReportModels.DataTable = 导出考试分析.得到考试分析信息(g考试设置ID, g部门ID); #endregion /* *操作类型 * (1)1表示查询 * (2)2表示导出Word */ if (iSWord版) { string s部门名称 = "部门"; string sFileName = c考试设置.试卷内容.名称 + (string.IsNullOrEmpty(s部门名称) ? "" : "(" + s部门名称 + ")"); new LKExamOffice().导出考试报表到Word(examReportModels, sFileName); } else { #region 考试报表Models if (list考试分析 != null && list考试分析.Count != 0) { /* 将考试报表Models存放在Session中 */ Session["考试报表Models"] = examReportModels; Session.Timeout = 1; } #endregion } return View("~/Views/Examiner/Analysis/ExamReport.aspx", examReportModels); }
public ExamReportOptions(ExamReportOptions examReportOptions) { int chartTypeCount = AnalysisSelect.Dictionary图形类型.Count; ChartType = LKPageRetainOrReplace.GetInt32(examReportOptions.ChartType, 0, chartTypeCount); ScoreSection = LKPageRetainOrReplace.GetInt32(examReportOptions.ScoreSection, 5, 60); Width = LKPageRetainOrReplace.GetInt32(examReportOptions.Width, 600, 1000); Height = LKPageRetainOrReplace.GetInt32(examReportOptions.Height, 200, 400); }