using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Telerik.Web.UI; using static Telerik.Web.UI.OrgChartStyles; namespace VRS.Management.Exam { public partial class ResultDetailConfig : BaseListPage { DataService.BLL.pro_result_detail bll = new DataService.BLL.pro_result_detail(); DataService.BLL.pro_result bll_result = new DataService.BLL.pro_result(); DataService.BLL.exam_result_match bll_exam_result__match = new DataService.BLL.exam_result_match(); DataService.BLL.exam_result_detail_config bll_exam_result_detail_config = new DataService.BLL.exam_result_detail_config(); DataService.BLL.admin_user bll_admin_User = new DataService.BLL.admin_user(); protected override void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataLoad(); } } public DataTable getDataSet() { string Id = Request.Params["Id"]; var query = new StringBuilder(" 1 = 1 "); var match = bll_exam_result__match.GetModel(Id); if (null!= match && match.subject == "炭黑生产制造") { query.AppendFormat(" AND result_id = '{0}' ", Id); } else { query.AppendFormat(" AND result_id >= '{0}' ", Id); } var order = " order by result_id desc"; var data = bll_exam_result_detail_config.QueryResult(query.ToString(), order).Tables[0]; return data ; } protected override void DataLoad() { string Id = Request.Params["Id"]; var data = bll_exam_result_detail_config.GetModelList(" result_id='" + Id + "' ").OrderBy(s => s.id).ToList(); hidden_result_id.Value = Id; var real_name = ""; var result = bll_exam_result__match.GetModel(Id); if (result != null) { var user = bll_admin_User.GetModel(result.user_id); if (user != null) { real_name = user.real_name + "-"; } } // span_name.InnerHtml = real_name + result.subject + "配置-" + (result.pic_score.HasValue ? result.pic_score.Value : 0) + "分"; if (result.subject == "炭黑生产制造") { span_name.InnerHtml = real_name + result.subject + "配置-" + (result.score) + "分"; } else { span_name.InnerHtml = real_name + result.subject + "配置-" + (result.pic_score.HasValue ? result.pic_score.Value : 0) + "分"; } dataList.DataSource = data; foreach (var item in data) { var temp = string.Empty; /* // old 显示方式 if (!string.IsNullOrEmpty(item.field)) { temp = string.Format("属性:{0},正确值:{1},错误值:{2}", item.field, item.field_yes, item.field_no); } else if (!string.IsNullOrEmpty(item.field_no)) { temp = string.Format("属性:{0},正确值:{1},错误值:{2}", item.field, item.field_yes, item.field_no); } */ if (result.subject == "炭黑生产制造") { if (!string.IsNullOrEmpty(item.field)) { temp = string.Format("用户值:{0},正确值:{1}", item.field, item.field_yes); if (!string.IsNullOrEmpty(item.field_no)) { temp = temp+ string.Format(",错误值:{0}", item.field_no); } } } else { if (!string.IsNullOrEmpty(item.field)) { temp = string.Format("属性:{0},正确值:{1},错误值:{2}", item.field, item.field_yes, item.field_no); } else if (!string.IsNullOrEmpty(item.field_no)) { temp = string.Format("属性:{0},正确值:{1},错误值:{2}", item.field, item.field_yes, item.field_no); } } if (!string.IsNullOrEmpty(item.other)) { temp = temp + " " + item.other; } item.r3 = temp; } dataList.Rebind(); } protected override void GridList_PageIndexChanged(object sender, GridPageChangedEventArgs e) { DataLoad(); } protected override void GridList_PageSizeChanged(object sender, GridPageSizeChangedEventArgs e) { DataLoad(); } protected override void GridList_SortCommand(object sender, GridSortCommandEventArgs e) { DataLoad(); } protected override void GrdList_DeleteCommand(object sender, GridCommandEventArgs e) { string Id = (e.Item as GridDataItem).OwnerTableView.DataKeyValues[e.Item.ItemIndex]["Id"].ToString(); bll.Delete(Id); DataLoad(); } protected override void AjaxManager_AjaxRequest(object sender, AjaxRequestEventArgs e) { } protected void btnSelect_Click(object sender, EventArgs e) { DataLoad(); } protected void btnDelete_Click(object sender, EventArgs e) { bll.Delete(IdInput.Value); DataLoad(); } protected void dataList_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem item = e.Item as GridDataItem; var model = item.DataItem as DataService.Model.pro_result_detail; if (null != model) { if (model.score == 0) { e.Item.CssClass = "row_highlight"; } } /* double score = double.Parse(item.GetDataKeyValue("score").ToString()); if (score == 0) { e.Item.CssClass = "row_highlight"; } */ } } /// /// 导出excel /// /// /// protected void btnExport_Click(object sender, EventArgs e) { string Id = Request.Params["Id"]; var data = getDataSet(); string filePath = Server.MapPath("~/Download/"); if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string fileName = string.Format("{0}.xls", "竞赛成绩详情_" + DateTime.Now.ToString("yyyyMMddHHmmss")); filePath = filePath + fileName; //学校 班级 姓名 账号 科目名称 实践模式 总分 得分 考试时间 var table = new DataTable(); //table. table.Columns.Add("模块描述"); table.Columns.Add("分值"); table.Columns.Add("得分"); table.Columns.Add("原因"); //SELECT T1.id,T1.user_id,T1.subject,T1.sjms ,T1.total,T1.score,T1.create_time ,T2.login_name,T2.real_name,T2.school_id,T2.grade,T3.school FROM //var dic = DicKsMode(); for (int i = 0; i < data.Rows.Count; i++) { var row = table.NewRow(); var r = data.Rows[i]; row["模块描述"] = r["topic"].ToString(); row["分值"] = r["total"].ToString(); row["得分"] = r["score"].ToString(); var temp = string.Empty; if (!string.IsNullOrEmpty(r["field"].ToString())) { temp = string.Format("属性:{0},正确值:{1},错误值:{2}", r["field"].ToString(), r["field_yes"].ToString(), r["field_no"].ToString()); } if (!string.IsNullOrEmpty(r["other"].ToString())) { temp = temp + " " + r["other"].ToString(); } row["原因"] = temp; table.Rows.Add(row); } var result = bll_exam_result__match.GetModel(Id); var user = bll_admin_User.GetModel(result.user_id); var title = user.real_name + "-" + result.subject + "配置-" + (result.pic_score.HasValue ? result.pic_score.Value : 0) + "分"; table.Columns[0].Caption = title; VRS.Util.Import.DateTableToExcel(table, filePath); FileInfo fileInfo = new FileInfo(filePath); Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("Content-Disposition", "attachment;filename=" + user.login_name+"_"+user.real_name+"_"+fileName); Response.AddHeader("Content-Length", fileInfo.Length.ToString()); Response.AddHeader("Content-Transfer-Encoding", "binary"); Response.ContentType = "application/octet-stream"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312"); Response.WriteFile(fileInfo.FullName); Response.Flush(); Response.End(); } } }