gyhlw_dotnet/网站项目/VRS/Management/VSAT/FaultExamPaperMark.aspx.cs

226 lines
8.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
namespace VRS.Management.VSAT
{
public partial class FaultExamMark : BaseListPage
{
DataService.BLL.pro_fault_exam bll = new DataService.BLL.pro_fault_exam();
DataService.BLL.pro_fault_exam_paper_item bll_paper_item = new DataService.BLL.pro_fault_exam_paper_item();
DataService.BLL.pro_fault_exam_paper bll_paper = new DataService.BLL.pro_fault_exam_paper();
DataService.BLL.admin_log log = new DataService.BLL.admin_log();
DataService.BLL.pro_result bll_result = new DataService.BLL.pro_result();
DataService.BLL.pro_subject bll_subject = new DataService.BLL.pro_subject();
protected override void Page_Load(object sender, EventArgs e)
{
base.Page_Load(sender, e);
if (!IsPostBack)
{
DataLoad();
}
}
protected override void DataLoad()
{
string paper_id = Request.Params["Id"];
string result_id = Request.Params["result_id"];
if (!string.IsNullOrEmpty(result_id))
{
var model = bll_result.GetModel(result_id);
//从科目成绩查询页面进来
if (null != model)
{
paper_id = model.r3;
score.ReadOnly = true;
score_dsc.ReadOnly = true;
tr_add.Visible = false;
}
}
if (!string.IsNullOrWhiteSpace(paper_id))
{
var list = bll_paper_item.GetModelList(" paper_id='" + paper_id + "'");
dataList.DataSource = list;
dataList.Rebind();
var paper = bll_paper.GetModel(paper_id);
var desc = string.Format("姓名:" + paper.real_name + " 、 学号:" + paper.login_name + "、 批次:" + paper.batch_name);
span_batch.InnerHtml = desc;
score.Text = paper.score.ToString();
score_dsc.Text = paper.score_dsc;
fault_count.InnerHtml = list.Count.ToString();
}
else
{
OnError(null);
}
}
protected void btnSelect_Click(object sender, EventArgs e)
{
DataLoad();
}
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 btnSure_Click(object sender, EventArgs e)
{
string paper_id = Request.Params["Id"];
var id = Request.Params["Id"];
if (string.IsNullOrEmpty(score.Text))
{
RadAjaxManager1.Alert("分数不能为空!");
return;
}
var score_value = decimal.Parse(score.Text);
if (score_value < 0)
{
RadAjaxManager1.Alert("分数不能为负值!");
return;
}
var model = bll_paper.GetModel(paper_id);
model.score = score_value;
model.score_dsc = score_dsc.Text.Trim();
model.state = 2;
if (bll_paper.Update(model))
{
save_paper_item_result();
save_pro_result(model);
log.write_log("故障现象打分成功。" + " 分数:" + score_value + " 姓名:" + model.real_name + " 学号:" + model.login_name + " 批次:" + model.batch_name + "id" + model.paper_id);
RadAjaxManager1.ResponseScripts.Add("alert('打分成功!');CloseAndRebind();");
}
else
RadAjaxManager1.Alert("故障现象打分失败!");
}
public void save_pro_result(DataService.Model.pro_fault_exam_paper paper)
{
DataService.BLL.pro_result bll = new DataService.BLL.pro_result();
var result = bll.GetModelList(" subject_id='00003' and batch_id='" + paper.batch_id + "' and user_id='" + paper.user_id + "'").FirstOrDefault();
if (null != result)
{
result.total_result = paper.score;
bll.Update(result);
return;
}
var model = new DataService.Model.pro_result();
model.result_id = GetNewId();
var dt_time = DateTime.Now;
model.examine_time = paper.examine_time;
var subject_id = "00003";
model.subject_id = subject_id;
var subject = bll_subject.GetModel(subject_id);
model.subject_name = subject.subject_name; //故障现象考试$$$$
model.batch_id = paper.batch_id;
model.batch_name = paper.batch_name;
model.sjms = paper.sjms;
model.user_id = paper.user_id;
model.login_name = paper.login_name;
model.real_name = paper.real_name;
model.grade = paper.grade;
model.major = paper.major;
model.exam_year = DateTime.Now.Year;
model.exam_month = DateTime.Now.Month;
model.total_result = paper.score;
model.r3 = paper.paper_id;
bll.Add(model);
}
public void save_paper_item_result()
{
var count = dataList.MasterTableView.Items.Count;
for (var i = 0; i < count; i++)
{
var item = dataList.MasterTableView.Items[i];
var textbox = item.DetailTemplateItemDataCell.FindControl("score") as RadNumericTextBox;
if (null != textbox)
{
var item_id = item.GetDataKeyValue("item_id").ToString(); //,item_id,score
var model = bll_paper_item.GetModel(item_id);
model.score = decimal.Parse(textbox.Text);
bll_paper_item.Update(model);
}
}
}
protected void dataList_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem item = e.Item as GridDataItem;
var textbox = item.DetailTemplateItemDataCell.FindControl("score") as RadNumericTextBox;
//exam_id,item_id,score
var score = item.GetDataKeyValue("score").ToString();
var exam_id = item.GetDataKeyValue("exam_id").ToString();
if (null != textbox)
{
textbox.Enabled = tr_add.Visible;
textbox.Text = score;
}
}
}
protected void btnCompute_Click(object sender, EventArgs e)
{
double total = 0;
var count = dataList.MasterTableView.Items.Count;
for (var i = 0; i < count; i++)
{
var item = dataList.MasterTableView.Items[i];
var textbox = item.DetailTemplateItemDataCell.FindControl("score") as RadNumericTextBox;
if (null != textbox)
{
var value = textbox.Value.HasValue ? textbox.Value.Value : 0;
total += value;
}
}
score.Value = total;
}
}
}