314 lines
12 KiB
C#
314 lines
12 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;
|
||
|
||
namespace VRS.Management.VSAT
|
||
{
|
||
public partial class ExamBatchResultDetail : 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.admin_user bll_admin_User = new DataService.BLL.admin_user();
|
||
DataService.BLL.pro_exam_batch_result bll_batch_result = new DataService.BLL.pro_exam_batch_result();
|
||
DataService.BLL.pro_exam_batch_result_detail bll_batch_result_detail = new DataService.BLL.pro_exam_batch_result_detail();
|
||
|
||
DataService.BLL.pro_file bll_file = new DataService.BLL.pro_file();
|
||
|
||
protected override void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (!IsPostBack)
|
||
{
|
||
DataLoad();
|
||
}
|
||
}
|
||
|
||
protected override void DataLoad()
|
||
{
|
||
string Id = Request.Params["Id"];
|
||
var data = bll_batch_result_detail.GetModelList(" result_id='" + Id + "' ").OrderBy(s => s.no).ToList();
|
||
foreach (var item in data)
|
||
{
|
||
if (item.is_right == 1)
|
||
{
|
||
item.result_desc = "对";
|
||
}
|
||
else if (item.is_right == 0)
|
||
{
|
||
item.result_desc = "错";
|
||
}
|
||
else if (item.is_right == 2)
|
||
{
|
||
item.result_desc = "缺";
|
||
}
|
||
|
||
}
|
||
hidden_result_id.Value = Id;
|
||
var result = bll_batch_result.GetModel(Id);
|
||
var user = bll_admin_User.GetModel(result.user_id);
|
||
|
||
//span_name.InnerHtml = " 姓名:"+user.real_name + ",场次:" + result.batch_name + ",总得分:" + result.score ;
|
||
span_name.InnerHtml = " 姓名:" + result.real_name + ",场次:" + result.batch_name + ",总得分:" + result.score;
|
||
|
||
var data1 = data.Where(s => s.kind == "判断题").OrderBy(s => s.no).ToList();
|
||
dataList_panduan.DataSource = data1;
|
||
dataList_panduan.Rebind();
|
||
span_panduan.InnerHtml = " 得分:" + data1.Sum(s => s.score);
|
||
|
||
var data2 = data.Where(s => s.kind == "单选题").OrderBy(s => s.no).ToList();
|
||
dataList_Danxuan.DataSource = data2;
|
||
dataList_Danxuan.Rebind();
|
||
span_danxuan.InnerHtml = " 得分:" + data2.Sum(s => s.score);
|
||
|
||
var data3 = data.Where(s => s.kind == "多选题").OrderBy(s => s.no).ToList();
|
||
dataList_Duoxuan.DataSource = data3;
|
||
dataList_Duoxuan.Rebind();
|
||
span_duoxuan.InnerHtml = " 得分:" + data3.Sum(s => s.score);
|
||
|
||
var data5 = data.Where(s => s.kind == "填空题").OrderBy(s => s.no).ToList();
|
||
dataList_tiankong.DataSource = data5;
|
||
dataList_tiankong.Rebind();
|
||
span_tiankong.InnerHtml = " 得分:" + data5.Sum(s => s.score);
|
||
|
||
var data4 = data.Where(s => s.kind == "简答题").OrderBy(s => s.no).ToList();
|
||
dataList_jianda.DataSource = data4;
|
||
dataList_jianda.Rebind();
|
||
span_jianda.InnerHtml = " 得分:" + data4.Sum(s => s.score);
|
||
}
|
||
|
||
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";
|
||
}
|
||
*/
|
||
}
|
||
}
|
||
|
||
#region ==============旧有的方法=============
|
||
protected void dataList_Jianda_ItemDataBound_old(object sender, GridItemEventArgs e)
|
||
{
|
||
if (e.Item is GridDataItem)
|
||
{
|
||
GridDataItem item = e.Item as GridDataItem;
|
||
var r1 = item.GetDataKeyValue("r1").ToString();
|
||
var r2 = item.GetDataKeyValue("r2").ToString();
|
||
var r3 = item.GetDataKeyValue("r3").ToString();
|
||
|
||
var image1 = e.Item.FindControl("imgTopic1") as Image;//考生答案
|
||
var image2 = e.Item.FindControl("imgTopic2") as Image;//正确答案
|
||
if (null != image1 && null != image2)
|
||
{
|
||
if (r3 == "1")
|
||
{
|
||
image1.ImageUrl = r1;
|
||
image2.ImageUrl = r2;
|
||
}
|
||
else
|
||
{
|
||
image1.Visible = false;
|
||
image2.Visible = false;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
protected void dataList_Jianda_ItemDataBound(object sender, GridItemEventArgs e)
|
||
{
|
||
if (e.Item is GridDataItem)
|
||
{
|
||
//result_id,theory_base_id
|
||
GridDataItem item = e.Item as GridDataItem;
|
||
var detail = item.DataItem as DataService.Model.pro_exam_batch_result_detail;
|
||
if (null == detail)
|
||
{
|
||
return;
|
||
}
|
||
var result_id = detail.result_id;
|
||
var theory_base_id = detail.theory_base_id;
|
||
/*
|
||
var result_id = item.GetDataKeyValue("result_id").ToString();
|
||
var theory_base_id = item.GetDataKeyValue("theory_base_id").ToString();
|
||
*/
|
||
|
||
var txt = e.Item.FindControl("option_name") as RadTextBox;
|
||
if (null != txt)
|
||
{
|
||
txt.Text = detail.score.ToString();
|
||
}
|
||
|
||
var imgRight1 = e.Item.FindControl("imgRight1") as Image;//正确答案1
|
||
var imgRight2 = e.Item.FindControl("imgRight2") as Image;//正确答案2
|
||
var imgRight3 = e.Item.FindControl("imgRight3") as Image;//正确答案3
|
||
|
||
var imgUser1 = e.Item.FindControl("imgUser1") as Image;//用户答案1
|
||
var imgUser2 = e.Item.FindControl("imgUser2") as Image;//用户答案2
|
||
var imgUser3 = e.Item.FindControl("imgUser3") as Image;//用户答案3
|
||
|
||
var query_right = string.Format(" theory_base_id ='{0}' and out_id='{1}' ", theory_base_id, "answer");
|
||
var list_right = bll_file.GetModelList(query_right).OrderBy(s => s.create_time).ToList();
|
||
|
||
for (int i = 0; i < list_right.Count; i++)
|
||
{
|
||
var obj = list_right[i];
|
||
try
|
||
{
|
||
var file = Server.MapPath(obj.file_url);
|
||
if (!File.Exists(file))
|
||
{
|
||
continue;
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
continue;
|
||
}
|
||
if (i == 0)
|
||
{
|
||
imgRight1.ImageUrl = obj.file_url;
|
||
}
|
||
else if (i == 1)
|
||
{
|
||
imgRight2.ImageUrl = obj.file_url;
|
||
}
|
||
else if (i == 2)
|
||
{
|
||
imgRight3.ImageUrl = obj.file_url;
|
||
}
|
||
}
|
||
|
||
var query_user = string.Format(" theory_base_id ='{0}' and out_id='{1}' ", theory_base_id, result_id);
|
||
var user_list = bll_file.GetModelList(query_user).OrderBy(s => s.create_time).ToList();
|
||
|
||
for (int i = 0; i < user_list.Count; i++)
|
||
{
|
||
var obj = user_list[i];
|
||
try
|
||
{
|
||
var file = Server.MapPath(obj.file_url);
|
||
if (!File.Exists(file))
|
||
{
|
||
continue;
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
continue;
|
||
}
|
||
|
||
if (i == 0)
|
||
{
|
||
imgUser1.ImageUrl = obj.file_url;
|
||
}
|
||
else if (i == 1)
|
||
{
|
||
imgUser2.ImageUrl = obj.file_url;
|
||
}
|
||
else if (i == 2)
|
||
{
|
||
imgUser3.ImageUrl = obj.file_url;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
protected void btnSaveOneJianda_Click(object sender, EventArgs e)
|
||
{
|
||
var btn = sender as Button;
|
||
var cell = btn.Parent as GridTableCell;
|
||
var item = cell.Parent as GridDataItem;
|
||
RadTextBox txt = item.FindControl("option_name") as RadTextBox;
|
||
var theory_base_id = item.GetDataKeyValue("theory_base_id").ToString();
|
||
var result_id = item.GetDataKeyValue("result_id").ToString();
|
||
var id = item.GetDataKeyValue("id").ToString();
|
||
var detail = bll_batch_result_detail.GetModel(id);
|
||
|
||
var result = bll_batch_result.GetModel(result_id);
|
||
if (string.IsNullOrWhiteSpace(txt.Text))
|
||
{
|
||
RadAjaxManager1.ResponseScripts.Add("alert('分值不能为空!');");
|
||
return;
|
||
}
|
||
decimal crtScore = decimal.Parse(txt.Text);
|
||
if (crtScore > detail.total)
|
||
{
|
||
RadAjaxManager1.ResponseScripts.Add(string.Format("alert('分值不能大于{0}!');",detail.total));
|
||
return;
|
||
}
|
||
decimal addScore = crtScore - detail.score;
|
||
|
||
result.score = result.score + addScore;
|
||
if (bll_batch_result.Update(result))
|
||
{
|
||
detail.score = crtScore;
|
||
bll_batch_result_detail.Update(detail);
|
||
DataLoad();
|
||
}
|
||
}
|
||
}
|
||
} |