258 lines
9.7 KiB
C#
258 lines
9.7 KiB
C#
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";
|
|
}
|
|
*/
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 导出excel
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
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();
|
|
}
|
|
}
|
|
} |