protected void btnLast_Click(object sender, EventArgs e) { string strId = Request.QueryString.Get("id"); string strStartMode = ViewState["startmode"].ToString(); string strFlag = ""; if (ViewState["mode"].ToString() == "Insert") { strFlag = "Edit"; } else if (ViewState["mode"].ToString() == "Edit") { RandomExamResultBLL reBll = new RandomExamResultBLL(); IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(Convert.ToInt32(strId)); if (examResults.Count > 0) { strFlag = "ReadOnly"; } else { strFlag = ViewState["mode"].ToString(); } } else { strFlag = ViewState["mode"].ToString(); } Response.Redirect("RandomExamManageThird.aspx?startmode=" + strStartMode + "&mode=" + strFlag + "&id=" + strId); }
private void DeleteData(int nBookID) { RandomExamSubjectBLL paperStrategySubjectBLL = new RandomExamSubjectBLL(); RandomExamSubject paperStrategySubject = paperStrategySubjectBLL.GetRandomExamSubject(int.Parse(Request.QueryString.Get("id"))); if (paperStrategySubject != null) { RandomExamResultBLL reBll = new RandomExamResultBLL(); IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(paperStrategySubject.RandomExamId); if (Pub.HasPaper(Convert.ToInt32(paperStrategySubject.RandomExamId))) { SessionSet.PageMessage = "该考试已生成试卷,取题范围不能被删除!"; return; } if (examResults.Count > 0) { SessionSet.PageMessage = "已有考生参加考试,取题范围不能被删除!"; return; } } RandomExamStrategyBLL paperStrategyBookChapterBLL = new RandomExamStrategyBLL(); paperStrategyBookChapterBLL.DeleteRandomExamStrategy(nBookID); OracleAccess db = new OracleAccess(); string strSql = "delete from Random_Exam_Strategy where Is_Mother_Item=1 and Mother_ID=" + nBookID; db.ExecuteNonQuery(strSql); strSql = "delete from Random_Exam_Item_Select where RANDOM_EXAM_STRATEGY_ID=" + nBookID; db.ExecuteNonQuery(strSql); }
protected void Page_Load(object sender, EventArgs e) { string orgID = Request.QueryString.Get("orgid"); string strId = Request.QueryString.Get("id"); ViewState["NowOrgID"] = Convert.ToInt32(ConfigurationManager.AppSettings["StationID"]); if (!string.IsNullOrEmpty(strId)) { FillHeading(strId, orgID); } if (!IsPostBack) { if (PrjPub.CurrentLoginUser != null) { hfLoginEmployeeID.Value = PrjPub.CurrentLoginUser.EmployeeID.ToString(); } else { RandomExamResultBLL bll = new RandomExamResultBLL(); RandomExamResult result = bll.GetRandomExamResult(Convert.ToInt32(strId)); hfLoginEmployeeID.Value = result.ExamineeId.ToString(); if (hfLoginEmployeeID.Value == "0") { RandomExamResult result1 = bll.GetRandomExamResultTemp(Convert.ToInt32(strId)); hfLoginEmployeeID.Value = result1.ExamineeId.ToString(); } } } }
private void HasExamId() { string strExamId = Request.QueryString.Get("id"); //已经参加考试的考生自动填充上 RandomExamResultBLL reBll = new RandomExamResultBLL(); IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(int.Parse(strExamId)); string strId = ""; for (int i = 0; i < examResults.Count; i++) { string strEmId = examResults[i].ExamineeId.ToString(); if (strId.Length == 0) { strId += strEmId; } else { strId += "," + strEmId; } } ViewState["HasExamId"] = strId;; }
private void ReplyExam(string strId) { RandomExamResultBLL objResultBll = new RandomExamResultBLL(); RandomExamResult result = objResultBll.GetRandomExamResult(Convert.ToInt32(strId)); RandomExamResultCurrentBLL objBll = new RandomExamResultCurrentBLL(); objBll.ReplyRandomExamResultCurrentByResultID(result.ExamineeId, Convert.ToInt32(strId)); examsGrid.DataSource = objBll.GetRandomExamResultInfoByExamID(result.RandomExamId, GetSql()); examsGrid.DataBind(); }
protected void btnLast_Click(object sender, ImageClickEventArgs e) { string strId = Request.QueryString.Get("id"); string strStartMode = ViewState["startmode"].ToString(); string strFlag = ""; if (ViewState["mode"].ToString() == "Insert") { strFlag = "Edit"; } else if (ViewState["mode"].ToString() == "Edit") { RandomExamResultBLL reBll = new RandomExamResultBLL(); IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(Convert.ToInt32(strId)); if (examResults.Count > 0) { strFlag = "ReadOnly"; } else { strFlag = ViewState["mode"].ToString(); } } else { strFlag = ViewState["mode"].ToString(); } if (PrjPub.IsWuhan()) { Response.Redirect("RandomExamManageThird.aspx?startmode=" + strStartMode + "&mode=" + strFlag + "&id=" + strId); } else { string strItemType = ""; RandomExamSubjectBLL objSubjectBll = new RandomExamSubjectBLL(); IList <RandomExamSubject> objSubjectList = objSubjectBll.GetRandomExamSubjectByRandomExamId(Convert.ToInt32(strId)); foreach (RandomExamSubject subject in objSubjectList) { if (strItemType == "") { strItemType = subject.ItemTypeId.ToString(); } else { strItemType = strItemType + "|" + subject.ItemTypeId; } } Response.Redirect("/RailExamBao/RandomExamOther/RandomExamStrategyInfo.aspx?startmode=" + strStartMode + "&mode=" + strFlag + "&itemType=" + strItemType + "&id=" + strId); } }
protected void btnSelect_Click(object sender, EventArgs e) { int employeeID = Convert.ToInt32(ViewState["EmployeeID"].ToString()); DateTime begin, end; try { begin = Convert.ToDateTime(ddlYearSmall.SelectedValue + "-" + ddlMonthSmall.SelectedValue + "-" + "01"); end = Convert.ToDateTime(ddlYearBig.SelectedValue + "-" + ddlMonthBig.SelectedValue + "-" + "01").AddMonths(1); hfBegin.Value = begin.ToString("yyyy-MM-dd"); hfEnd.Value = end.ToString("yyyy-MM-dd"); } catch { SessionSet.PageMessage = "日期选择不正确!"; return; } if (employeeID == 0) { SessionSet.PageMessage = "请选择学员!"; return; } RandomExamResultBLL objBll = new RandomExamResultBLL(); string str = "and a.Begin_Time>to_date('" + hfBegin.Value + "','yyyy-MM-dd') and a.Begin_Time<=to_date('" + hfEnd.Value + "','yyyy-MM-dd') and a.EXAMINEE_ID=" + employeeID; if (ddlExamMode.SelectedValue != "0") { str += " and c.EXAM_STYLE=" + ddlExamMode.SelectedValue; } IList <RailExam.Model.RandomExamResult> objList = objBll.GetRandomExamResults(str); foreach (RandomExamResult randomExamResult in objList) { randomExamResult.ExamTimeName = randomExamResult.ExamTime / 60 + "分" + randomExamResult.ExamTime % 60 + "秒"; } examsGrid.DataSource = objList; examsGrid.DataBind(); if (examsGrid.DataSource != null) { Session["StudentExamInfo"] = examsGrid.DataSource; hfIsRef.Value = "true"; } }
protected void Grid1_RowDeleting(object sender, GridViewDeleteEventArgs e) { string strID = Grid1.DataKeys[e.RowIndex].Values[0].ToString(); if (strID == "0") { SessionSet.PageMessage = "删除成功!"; } else { RandomExamResultBLL objResultBll = new RandomExamResultBLL(); objResultBll.DeleteRandomExamResult(Convert.ToInt32(strID)); SessionSet.PageMessage = "删除成功!"; } BindGrid(); }
protected void Callback1_Callback(object sender, CallBackEventArgs e) { try { string strId = ViewState["ExamID"].ToString(); RandomExamResultCurrentBLL objResultCurrentBll = new RandomExamResultCurrentBLL(); RailExam.Model.RandomExamResultCurrent objResultCurrent = objResultCurrentBll.GetRandomExamResult(Convert.ToInt32(ViewState["RandomExamResultID"].ToString())); if (objResultCurrent.RandomExamId == 0) { hfStart.Value = "2"; } else { objResultCurrent.ExamTime = Convert.ToInt32(ViewState["LastExamTime"].ToString()) + GetSecondBetweenTwoDate(DateTime.Now, DateTime.Parse(ViewState["BeginTime"].ToString())); objResultCurrentBll.UpdateRandomExamResultCurrent(objResultCurrent); RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam objRandomExam = objBll.GetExam(Convert.ToInt32(strId)); hfStart.Value = objRandomExam.IsStart.ToString(); } if (hfStart.Value == "2") { RandomExamResultBLL objResultBll = new RandomExamResultBLL(); RandomExamResult objResult = objResultBll.GetNewRandomExamResultByExamineeID(Convert.ToInt32(ViewState["EmployeeID"].ToString()), Convert.ToInt32(strId)); hfResultID.Value = objResult.RandomExamResultId.ToString(); } } catch { hfStart.Value = "-1"; } hfResultID.RenderControl(e.Output); hfStart.RenderControl(e.Output); }
protected void Grid1_RowUpdating(object sender, GridViewUpdateEventArgs e) { string resultID = ((HiddenField)Grid1.Rows[e.RowIndex].FindControl("hfID")).Value; string employeeID = ((HiddenField)Grid1.Rows[e.RowIndex].FindControl("hfExamineeID")).Value; string score = ((TextBox)Grid1.Rows[e.RowIndex].FindControl("txtScore")).Text; RandomExamResultBLL objResultBll = new RandomExamResultBLL(); if (resultID == "0") { RandomExamResult objResult = new RandomExamResult(); objResult.OrganizationId = Convert.ToInt32(ViewState["ExamOrgID"]); objResult.RandomExamId = Convert.ToInt32(ViewState["ExamID"]); objResult.ExamineeId = Convert.ToInt32(employeeID); objResult.BeginDateTime = DateTime.Now; objResult.EndDateTime = DateTime.Now; objResult.CurrentDateTime = DateTime.Now; objResult.ExamTime = 0; objResult.AutoScore = 0; objResult.Score = Convert.ToDecimal(score); objResult.CorrectRate = Convert.ToDecimal(score); objResult.IsPass = Convert.ToDecimal(score) >= 60 ? true : false; objResult.StatusId = 2; objResultBll.AddRandomExamResult(objResult); } else { RandomExamResult objResult = objResultBll.GetRandomExamResult(Convert.ToInt32(resultID)); objResult.Score = Convert.ToDecimal(score); objResult.CorrectRate = Convert.ToDecimal(score); objResult.IsPass = Convert.ToDecimal(score) >= 60 ? true : false; objResultBll.UpdateRandomExamResultOther(objResult); } Grid1.EditIndex = -1; BindGrid(); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string strExamId = Request.QueryString.Get("id"); ViewState["StudentID"] = Request.QueryString.Get("employeeID"); ViewState["ExamID"] = strExamId; if (strExamId != null && strExamId != "") { RandomExamBLL randomExamBLL = new RandomExamBLL(); RailExam.Model.RandomExam randomExam = randomExamBLL.GetExam(int.Parse(strExamId)); OracleAccess db = new OracleAccess(); string strSql = @"select * from Random_Exam_Result_Answer_Cur where Random_Exam_Result_ID in ( select Random_Exam_Result_ID from Random_Exam_Result_Current where Examinee_ID=" + ViewState["StudentID"] + " and Random_Exam_ID=" + strExamId + ")"; DataSet dsAnswer = db.RunSqlDataSet(strSql); strSql = "select * from Random_Exam_Result_Current where Examinee_ID=" + ViewState["StudentID"] + " and Random_Exam_ID=" + strExamId; DataSet dsCurrent = db.RunSqlDataSet(strSql); if (dsAnswer.Tables[0].Rows.Count == 0 && dsCurrent.Tables[0].Rows.Count > 0) { Response.Write("<script>alert('您的考试试卷生成有误,请联系监考老师删除您的考试试卷后重新生成!'); top.close();</script>"); return; } strSql = "select * from Random_Exam_Computer_Server where Random_Exam_ID=" + ViewState["ExamID"].ToString() + " and Computer_Server_No=" + PrjPub.ServerNo; DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; //如果当前考试为手动控制,则需判断考试是否开始 if (randomExam.StartMode == 2 && dr["Is_Start"].ToString() == "0") { Response.Write("<script>alert('该考试还没有开始,请耐心等待!'); top.close();</script>"); return; } if (randomExam.StartMode == 2 && dr["Is_Start"].ToString() == "2") { Response.Write("<script>alert('该考试已经结束!'); top.close();</script>"); return; } RandomExamResultBLL RandomExamResultBLL = new RandomExamResultBLL(); int nowCount; IList <RandomExamResult> RandomExamResults = RandomExamResultBLL.GetRandomExamResultByExamineeID( Convert.ToInt32(Request.QueryString.Get("employeeID")), int.Parse(strExamId)); nowCount = RandomExamResults.Count; if (nowCount > (randomExam.MaxExamTimes - 1)) { Response.Write("<script>alert('您参加考试的次数已经达到考试设定的最大次数!'); top.close();</script>"); return; } RandomExamResultCurrentBLL objResultCurrentBll = new RandomExamResultCurrentBLL(); RailExam.Model.RandomExamResultCurrent randomExamResult = objResultCurrentBll.GetNowRandomExamResultInfo( Convert.ToInt32(Request.QueryString.Get("employeeID")), Convert.ToInt32(strExamId)); if (randomExamResult.RandomExamResultId == 0) { Response.Write("<script>alert('该考试已经结束!'); top.close();</script>"); return; } } FillPage(); } }
private void UploadPaper() { // 根据 ProgressBar.htm 显示进度条界面 string templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm"); StreamReader reader = new StreamReader(@templateFileName, System.Text.Encoding.GetEncoding("gb2312")); string html = reader.ReadToEnd(); reader.Close(); Response.Write(html); Response.Flush(); System.Threading.Thread.Sleep(200); string strId = Request.QueryString.Get("RandomExamID"); //获取当前考试的生成试卷的状态和次数 RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam obj = objBll.GetExam(Convert.ToInt32(strId)); string typeid = Request.QueryString.Get("typeid"); string strSql, strKey = "0"; OracleAccess db = new OracleAccess(); int orgId = Convert.ToInt32(ConfigurationManager.AppSettings["StationID"]); try { RandomExamResultBLL objResultBll = new RandomExamResultBLL(); strSql = "select SYNCHRONIZE_LOG_SEQ.NextVal@link_sf from dual"; DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; strKey = dr[0].ToString(); strSql = "insert into SYNCHRONIZE_LOG@link_sf values(" + strKey + "," + orgId + ",6,sysdate,null,1," + PrjPub.ServerNo + ")"; db.ExecuteNonQuery(strSql); strSql = @"select Examinee_ID,Random_Exam_Result_ID from Random_Exam_Result@link_sf where Random_Exam_ID=" + obj.RandomExamId + @" and org_id=" + PrjPub.StationID + @" and examinee_id in (select employee_Id from Random_Exam_Result_Detail a inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID inner join Computer_Server c on b.Computer_Server_ID=c.Computer_Server_ID where to_number(c.Computer_Server_No)=" + PrjPub.ServerNo + @" and a.Random_Exam_ID=" + obj.RandomExamId + ")"; DataSet dsResult = db.RunSqlDataSet(strSql); IList <RandomExamResult> randomExamResults = objResultBll.GetRandomExamResultByExamID(obj.RandomExamId); int count = randomExamResults.Count + dsResult.Tables[0].Rows.Count + 1; System.Threading.Thread.Sleep(10); string jsBlock = "<script>SetPorgressBar('正在上传考试答卷,请等待......','" + ((1 * 100) / ((double)count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); string strUrl = "ftp://" + PrjPub.ServerIP + "/Photo"; Uri directoryToDownload = new Uri(strUrl); FtpClient ftpSession = FtpClient.GetFtpClient(directoryToDownload.Host); if (ftpSession == null) { Pub.AddFtp(); ftpSession = FtpClient.GetFtpClient(directoryToDownload.Host); } ftpSession.MakeDirectory("/Photo/" + obj.RandomExamId); int progressNum = 2; foreach (DataRow drResult in dsResult.Tables[0].Rows) { ftpSession.DeleteFile(new Uri(strUrl + "/" + obj.RandomExamId + "/" + drResult["Examinee_ID"] + "_" + drResult["Random_Exam_Result_ID"] + "_00.jpg")); ftpSession.DeleteFile(new Uri(strUrl + "/" + obj.RandomExamId + "/" + drResult["Examinee_ID"] + "_" + drResult["Random_Exam_Result_ID"] + "_01.jpg")); ftpSession.DeleteFile(new Uri(strUrl + "/" + obj.RandomExamId + "/" + drResult["Examinee_ID"] + "_" + drResult["Random_Exam_Result_ID"] + "_02.jpg")); ftpSession.DeleteFile(new Uri(strUrl + "/" + obj.RandomExamId + "/" + drResult["Examinee_ID"] + "_" + drResult["Random_Exam_Result_ID"] + "_03.jpg")); System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('正在上传考试答卷,请等待......','" + ((progressNum * 100) / ((double)count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); progressNum++; } //先删除路局的考试成绩和答卷 objResultBll.DeleteRandomExamResultServer(obj.RandomExamId); foreach (RandomExamResult randomExamResult in randomExamResults) { if (randomExamResult.IsTemp == 1) { //从中间提交表到正式表 objResultBll.RemoveResultAnswerTemp(randomExamResult.RandomExamResultId); } //获取路局的主键ID strSql = "select Random_Exam_Result_Seq.Nextval@link_sf from dual"; DataRow drSeq = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; int serverId = Convert.ToInt32(drSeq[0]); //将成绩插入路局 objResultBll.InsertRandomExamResultServer(randomExamResult.RandomExamResultId, serverId, obj.RandomExamId); if (typeid == "2") { //将答卷插入路局 objResultBll.InsertRandomExamResultAnswerServer(obj.RandomExamId, randomExamResult.RandomExamResultId, serverId); } strSql = "select * from Random_Exam_Result_Photo where Random_Exam_ID=" + obj.RandomExamId + " and Random_Exam_Result_ID=" + randomExamResult.RandomExamResultId; DataSet ds = db.RunSqlDataSet(strSql); if (ds.Tables[0].Rows.Count > 0) { DataRow drPhoto = ds.Tables[0].Rows[0]; int employeeId = Convert.ToInt32(drPhoto["Employee_ID"]); Uri ftpUri = new Uri(strUrl + "/" + obj.RandomExamId + "/"); if (drPhoto["FingerPrint"] != DBNull.Value) { SavePhotoToServer(employeeId, (byte[])drPhoto["FingerPrint"], 0, serverId, ftpSession, ftpUri); } if (drPhoto["Photo1"] != DBNull.Value) { SavePhotoToServer(employeeId, (byte[])drPhoto["Photo1"], 1, serverId, ftpSession, ftpUri); } if (drPhoto["Photo2"] != DBNull.Value) { SavePhotoToServer(employeeId, (byte[])drPhoto["Photo2"], 2, serverId, ftpSession, ftpUri); } if (drPhoto["Photo3"] != DBNull.Value) { SavePhotoToServer(employeeId, (byte[])drPhoto["Photo3"], 3, serverId, ftpSession, ftpUri); } } System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('正在上传考试答卷,请等待......','" + ((progressNum * 100) / ((double)count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); progressNum++; } if (typeid == "1") { //只上传成绩须更新时间 strSql = "update Random_Exam_Computer_Server@link_sf set " + "Last_Upload_Date=sysdate where random_exam_id=" + obj.RandomExamId + " and Computer_server_no=" + PrjPub.ServerNo; db.ExecuteNonQuery(strSql); } else { //如果考试已经结束上传,将上传标志置为已经上传 if (obj.IsStart == 2) { objBll.UpdateIsUpload(obj.RandomExamId, PrjPub.ServerNo, 1); } else { objBll.UpdateIsUpload(obj.RandomExamId, PrjPub.ServerNo, 0); } } strSql = "update SYNCHRONIZE_LOG@link_sf set SYNCHRONIZE_STATUS_ID=2,End_Time=sysdate where SYNCHRONIZE_LOG_ID=" + strKey; db.ExecuteNonQuery(strSql); } catch (Exception ex) { strSql = "update SYNCHRONIZE_LOG@link_sf set SYNCHRONIZE_STATUS_ID=3,End_Time=sysdate where SYNCHRONIZE_LOG_ID=" + strKey; db.ExecuteNonQuery(strSql); Response.Write("<script>alert('" + ex.Message.Replace("\n", "\r\n") + "');window.close();</script>"); return; } Response.Write("<script>top.returnValue='true';window.close();</script>"); }
private void updateExam() { // 根据 ProgressBar.htm 显示进度条界面 string templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm"); StreamReader reader = new StreamReader(@templateFileName, System.Text.Encoding.GetEncoding("gb2312")); string html = reader.ReadToEnd(); reader.Close(); Response.Write(html); Response.Flush(); System.Threading.Thread.Sleep(200); string jsBlock; try { string strId = Request.QueryString.Get("RandomExamID"); RandomExamBLL examBll = new RandomExamBLL(); RailExam.Model.RandomExam exam = examBll.GetExam(Convert.ToInt32(strId)); IList <RandomExamResult> examResults = null; RandomExamResultBLL bllExamResult = new RandomExamResultBLL(); examResults = bllExamResult.GetRandomExamResults(int.Parse(strId), "", "", "", "", 0, 1000, Convert.ToInt32(Request.QueryString.Get("OrgID"))); string strChooseID = string.Empty; foreach (RandomExamResult randomExamResult in examResults) { if (string.IsNullOrEmpty(strChooseID)) { strChooseID += randomExamResult.ExamineeId; } else { strChooseID += "," + randomExamResult.ExamineeId; } } OracleAccess access = new OracleAccess(); string strSql = @"select ER.Begin_Time,E.Is_Computerexam,ER.Examinee_ID, case when z.computer_room_seat=0 then GetOrgName(ER.org_ID)||CR.Computer_Room_Name||'微机教室' else GetOrgName(ER.org_ID)||CR.Computer_Room_Name||'微机教室-'||z.computer_room_seat||'机位' end Computer_Room_Name, case when y.subject_name is not null then y.subject_name else case when MT.RANDOM_EXAM_MODULAR_TYPE_NAME is not null then (MT.RANDOM_EXAM_MODULAR_TYPE_NAME||'-'|| E.EXAM_NAME) else E.EXAM_NAME end end as subject, ER.Score,ER.Is_Pass,E.RANDOM_EXAM_ID from random_exam_result ER inner join random_exam_result_detail z on ER.Random_Exam_Result_Id=z.Random_Exam_Result_Id and z.is_remove=1 left join random_exam E on E.RANDOM_EXAM_ID=ER.RANDOM_EXAM_ID left join random_exam_train_class x on E.Random_Exam_ID=x.Random_Exam_ID left join Zj_Train_Class_Subject y on x.train_class_subject_id=y.train_class_subject_id left join computer_room CR on CR.COMPUTER_ROOM_ID=z.Computer_Room_Id left join random_exam_modular_type MT on MT.RANDOM_EXAM_MODULAR_TYPE_ID=E.Random_Exam_Modular_Type_Id Inner join ( select b.*,min(a.end_time) end_time from Random_Exam_Result a inner join (select distinct max(a.score) score, a.examinee_id, a.Random_Exam_Id from Random_EXAM_RESULT a where a.status_id > 0. group by a.examinee_id, a.Random_Exam_Id) b on a.examinee_id =b.examinee_id and a.score =b.score and a.Random_Exam_Id = b.Random_Exam_Id group by b.examinee_id, b.Random_Exam_Id,b.score ) F on ER.examinee_id = f.examinee_id and ER.score = f.score and ER.Random_Exam_Id = f.Random_Exam_Id and ER.end_time=f.end_time where ER.Random_Exam_ID=" + strId; DataTable dtSel = access.RunSqlDataSet(strSql).Tables[0]; if (dtSel != null && dtSel.Rows.Count > 0) { int i = 1; foreach (DataRow r in dtSel.Rows) { if (("," + strChooseID + ",").IndexOf("," + r["Examinee_ID"] + ",") < 0) { System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('更新考生考试档案','" + ((i * 100) / ((double)dtSel.Rows.Count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); i++; continue; } access.ExecuteNonQuery(" delete from zj_employee_exam where Random_Exam_ID=" + strId + " and employee_id=" + r["Examinee_ID"]); string exam_date = r["Begin_Time"].ToString(); int exam_style = Convert.ToInt32(r["Is_Computerexam"]); string exam_address = r["Computer_Room_Name"].ToString(); string exam_subject = r["subject"].ToString(); double exam_score = Convert.ToDouble(r["Score"]); int exam_result = Convert.ToInt32(r["Is_Pass"]); int random_exam_id = Convert.ToInt32(r["RANDOM_EXAM_ID"]); StringBuilder sqlInsert = new StringBuilder(); sqlInsert.Append( "insert into zj_employee_exam(employee_exam_id,employee_id,exam_date,exam_style,exam_address,"); sqlInsert.Append("exam_subject,exam_score ,exam_result,create_date,create_person,random_exam_id"); sqlInsert.Append(") values(employee_exam_seq.nextval,{0},to_date('{1}','yyyy-mm-dd hh24:mi:ss'),{2},"); sqlInsert.Append(" '{3}','{4}','{5}',{6},to_date('{7}','yyyy-mm-dd hh24:mi:ss'),'{8}',{9})"); string sqlIns = string.Format(sqlInsert.ToString(), r["Examinee_ID"], exam_date, exam_style, exam_address, exam_subject, exam_score, exam_result, DateTime.Now, PrjPub.CurrentLoginUser.EmployeeName, random_exam_id); access.ExecuteNonQuery(sqlIns); System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('更新考生考试档案','" + ((i * 100) / ((double)dtSel.Rows.Count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); i++; } } if (exam.HasTrainClass) { jsBlock = string.Empty; RandomExamTrainClassBLL objBll = new RandomExamTrainClassBLL(); IList <RandomExamTrainClass> objList = objBll.GetRandomExamTrainClassByRandomExamID(Convert.ToInt32(strId)); string strClassID = ""; foreach (RandomExamTrainClass trainClass in objList) { strClassID += (strClassID == string.Empty) ? trainClass.TrainClassID.ToString() : "," + trainClass.TrainClassID; } StringBuilder sqlClass = new StringBuilder(); sqlClass.Append(" select C.TRAIN_CLASS_ID,begin_date,end_date,TP.TRAIN_PLAN_TYPE_ID,TP.Location,C.Employee_ID "); sqlClass.Append(" from zj_train_class TC right join (select train_plan_id, train_class_id,Employee_ID from zj_train_plan_employee"); sqlClass.AppendFormat(" where train_class_id in ({0}) ", strClassID); sqlClass.Append(" ) C on C.TRAIN_CLASS_ID=TC.TRAIN_CLASS_ID "); sqlClass.Append(" left join zj_train_plan TP on TP.TRAIN_PLAN_ID=C.TRAIN_PLAN_ID"); access = new OracleAccess(); DataTable dtClass = access.RunSqlDataSet(sqlClass.ToString()).Tables[0]; if (dtClass != null && dtClass.Rows.Count > 0) { int i = 1; foreach (DataRow r in dtClass.Rows) { if (("," + strChooseID + ",").IndexOf("," + r["Employee_ID"] + ",") < 0) { System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('更新考生培训档案','" + ((i * 100) / ((double)dtClass.Rows.Count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); i++; continue; } access.ExecuteNonQuery(" delete from zj_employee_train where Train_class_ID in (" + strClassID + ") and employee_id=" + r["Employee_ID"]); int trainClassID = Convert.ToInt32(r["TRAIN_CLASS_ID"]); string beginDate = r["begin_date"].ToString(); string endDate = r["end_date"].ToString(); int trainPlanTypeID = Convert.ToInt32(r["TRAIN_PLAN_TYPE_ID"]); string location = r["Location"].ToString(); int hour = 0; string classSubject = string.Empty; DataTable dtSubject = access.RunSqlDataSet( "select subject_name,class_hour from zj_train_class_subject where train_class_id=" + trainClassID).Tables[0]; if (dtSubject != null && dtSubject.Rows.Count > 0) { List <string> lst = new List <string>(); foreach (DataRow rhour in dtSubject.Rows) { lst.Add(rhour["subject_name"].ToString()); if (rhour["class_hour"].ToString() != "") { hour += Convert.ToInt32(rhour["class_hour"]); } } classSubject = string.Join(",", lst.ToArray()); } StringBuilder sqlInsert = new StringBuilder(); sqlInsert.Append("insert into zj_employee_train values(EMPLOYEE_TRAIN_SEQ.NEXTVAL,"); sqlInsert.Append("{0},{1},to_date('{2}','yyyy-mm-dd hh24:mi:ss'),to_date('{3}','yyyy-mm-dd hh24:mi:ss'),"); sqlInsert.Append("{4},'{5}',{6},'{7}',to_date('{8}','yyyy-mm-dd hh24:mi:ss'),'{9}')"); string sqlIns = string.Format(sqlInsert.ToString(), r["Employee_ID"], trainClassID, beginDate, endDate, trainPlanTypeID, location, hour, classSubject, DateTime.Now, PrjPub.CurrentLoginUser.EmployeeName); access.ExecuteNonQuery(sqlIns); jsBlock = "<script>SetPorgressBar('更新考生培训档案','" + ((i * 100) / ((double)dtClass.Rows.Count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); i++; } } } Response.Write("<script>top.returnValue='true';top.close();</script>"); } catch (Exception) { Response.Write("<script>top.returnValue='false';top.close();</script>"); } }
private IList <Employee> BindGrid() { string RandomExamID = Request.QueryString.Get("eid"); string OrgID = Request.QueryString.Get("OrgID"); string OrganizationName = ""; string strExamineeName = ""; decimal dScoreLower = -1000; decimal dScoreUpper = 1000; IList <RandomExamResult> examResults = null; RandomExamResultBLL bllExamResult = new RandomExamResultBLL(); examResults = bllExamResult.GetRandomExamResults(Convert.ToInt32(RandomExamID), OrganizationName, string.Empty, strExamineeName, string.Empty, dScoreLower, dScoreUpper, Convert.ToInt32(OrgID)); string strID = string.Empty; foreach (RandomExamResult result in examResults) { if (strID == string.Empty) { strID = result.ExamineeId.ToString(); } else { strID = strID + "," + result.ExamineeId; } } RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam objExam = objBll.GetExam(Convert.ToInt32(RandomExamID)); RandomExamArrangeBLL objArrangebll = new RandomExamArrangeBLL(); IList <RandomExamArrange> objArrangeList = objArrangebll.GetRandomExamArranges(Convert.ToInt32(RandomExamID)); string strChooseID = string.Empty; if (objArrangeList.Count > 0) { if (PrjPub.IsServerCenter && Convert.ToInt32(OrgID) == objExam.OrgId) { strChooseID = objArrangeList[0].UserIds; } else if (PrjPub.IsServerCenter && Convert.ToInt32(OrgID) != objExam.OrgId) { string[] strEmployee = objArrangeList[0].UserIds.Split(','); OrganizationBLL orgBll = new OrganizationBLL(); EmployeeBLL employeeBll = new EmployeeBLL(); int count = 0; for (int i = 0; i < strEmployee.Length; i++) { Employee employee = employeeBll.GetChooseEmployeeInfo(strEmployee[i]); int stationOrgID = orgBll.GetStationOrgID(employee.OrgID); if (stationOrgID == Convert.ToInt32(OrgID)) { if (strChooseID == string.Empty) { strChooseID = strEmployee[i]; } else { strChooseID += "," + strEmployee[i]; } } } } else { string strSql = "select a.* from Random_Exam_Arrange_Detail a " + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID " + " inner join Computer_Server c on b.Computer_Server_ID=c.Computer_Server_ID " + " where c.Computer_Server_No='" + PrjPub.ServerNo + "'" + " and a.Random_Exam_ID=" + RandomExamID; OracleAccess db = new OracleAccess(); DataSet dsArrange = db.RunSqlDataSet(strSql); foreach (DataRow dr in dsArrange.Tables[0].Rows) { if (strChooseID == string.Empty) { strChooseID = dr["User_Ids"].ToString(); } else { strChooseID += "," + dr["User_Ids"].ToString(); } } } } string[] str = strChooseID.Split(','); string strNoResult = ""; for (int i = 0; i < str.Length; i++) { if (str[i] == string.Empty) { continue; } if (("," + strID + ",").IndexOf(("," + str[i] + ",")) < 0) { if (strNoResult == string.Empty) { strNoResult = str[i]; } else { strNoResult = strNoResult + "," + str[i]; } } } EmployeeBLL objbll = new EmployeeBLL(); IList <Employee> objList = new List <Employee>(); if (strNoResult != string.Empty) { string[] strNo = strNoResult.Split(','); for (int i = 0; i < strNo.Length; i++) { Employee employee = objbll.GetChooseEmployeeInfo(strNo[i]); if (employee.EmployeeID != 0) { objList.Add(employee); } } } Session["NoExamInfo"] = objList; return(objList); }
private void BindGrid() { RandomExamResultBLL objResultBll = new RandomExamResultBLL(); IList <RandomExamResult> objResultList = objResultBll.GetRandomExamResultByExamID(Convert.ToInt32(ViewState["ExamID"])); Hashtable htResult = new Hashtable(); foreach (RandomExamResult result in objResultList) { htResult.Add(result.ExamineeId, result.ExamineeName); } DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("RandomExamResultID", typeof(int))); dt.Columns.Add(new DataColumn("ExamineeID", typeof(int))); dt.Columns.Add(new DataColumn("ExamineeName", typeof(string))); dt.Columns.Add(new DataColumn("WorkNo", typeof(string))); dt.Columns.Add(new DataColumn("PostName", typeof(string))); dt.Columns.Add(new DataColumn("OrganizationName", typeof(string))); dt.Columns.Add(new DataColumn("ExamOrgName", typeof(string))); dt.Columns.Add(new DataColumn("Score", typeof(string))); RandomExamArrangeBLL objArrangeBll = new RandomExamArrangeBLL(); IList <RandomExamArrange> objArrangeList = objArrangeBll.GetRandomExamArranges(Convert.ToInt32(ViewState["ExamID"])); if (objArrangeList.Count == 0) { Grid1.DataSource = dt; Grid1.DataBind(); return; } RandomExamArrange objArrange = objArrangeList[0]; string[] str = objArrange.UserIds.Split(','); EmployeeBLL objEmployeeBll = new EmployeeBLL(); for (int i = 0; i < str.Length; i++) { Employee objEmployee = objEmployeeBll.GetEmployee(Convert.ToInt32(str[i])); if (!htResult.ContainsKey(Convert.ToInt32(str[i]))) { DataRow dr = dt.NewRow(); dr["RandomExamResultID"] = 0; dr["ExamineeID"] = Convert.ToInt32(str[i]); dr["ExamineeName"] = objEmployee.EmployeeName; dr["WorkNo"] = objEmployee.WorkNo; dr["PostName"] = objEmployee.PostName; dr["OrganizationName"] = objEmployee.OrgName; dr["ExamOrgName"] = ViewState["ExamOrgName"].ToString(); dr["Score"] = ""; dt.Rows.Add(dr); } else { RandomExamResult objResult = objResultBll.GetRandomExamResultByExamineeID(Convert.ToInt32(str[i]), Convert.ToInt32(ViewState["ExamID"]))[0]; DataRow dr = dt.NewRow(); dr["RandomExamResultID"] = objResult.RandomExamResultId; dr["ExamineeID"] = Convert.ToInt32(str[i]); dr["ExamineeName"] = objResult.ExamineeName; dr["WorkNo"] = objResult.WorkNo; dr["PostName"] = objEmployee.PostName; dr["OrganizationName"] = objEmployee.OrgName; dr["ExamOrgName"] = ViewState["ExamOrgName"].ToString(); dr["Score"] = objResult.Score; dt.Rows.Add(dr); } } Grid1.DataSource = dt; Grid1.DataBind(); }
protected void FillHeading(string strId, string orgid) { RandomExamResultBLL randomExamResultBLL = new RandomExamResultBLL(); RandomExamResult randomExamResult = new RandomExamResult(); if (ViewState["NowOrgID"].ToString() != orgid) { randomExamResult = randomExamResultBLL.GetRandomExamResultByOrgID(int.Parse(strId), int.Parse(orgid)); } else { randomExamResult = randomExamResultBLL.GetRandomExamResult(int.Parse(strId)); } string strOrgName = randomExamResult.OrganizationName; string strStationName = ""; string strOrgName1 = ""; int n = strOrgName.IndexOf("-"); if (n != -1) { strStationName = strOrgName.Substring(0, n); strOrgName1 = strOrgName.Substring(n + 1); } else { strStationName = strOrgName; strOrgName1 = ""; } lblOrg.Text = strStationName; lblWorkShop.Text = strOrgName1; lblPost.Text = randomExamResult.PostName; lblName.Text = randomExamResult.ExamineeName; lblTime.Text = randomExamResult.BeginDateTime.ToString("yyyy-MM-dd HH:mm"); lblScore.Text = System.String.Format("{0:0.##}", randomExamResult.Score); int RandomExamId = randomExamResult.RandomExamId; RandomExamBLL randomExamBLL = new RandomExamBLL(); RailExam.Model.RandomExam randomExam = randomExamBLL.GetExam(RandomExamId); if (randomExam != null) { lblTitle.Text = randomExam.ExamName; } RandomExamSubjectBLL randomExamSubjectBLL = new RandomExamSubjectBLL(); IList <RailExam.Model.RandomExamSubject> RandomExamSubjects = randomExamSubjectBLL.GetRandomExamSubjectByRandomExamId(RandomExamId); int nItemCount = 0; decimal nTotalScore = 0; for (int i = 0; i < RandomExamSubjects.Count; i++) { nItemCount += RandomExamSubjects[i].ItemCount; nTotalScore += RandomExamSubjects[i].ItemCount * RandomExamSubjects[i].UnitScore; } lblTitleRight.Text = "总共" + nItemCount + "题,共" + System.String.Format("{0:0.##}", nTotalScore) + "分"; }
protected void btnOK_Click(object sender, EventArgs e) { try { string examId = Request.QueryString.Get("examID"); RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam objRandomExam = objBll.GetExam(Convert.ToInt32(examId)); if (objRandomExam.IsStart != 2) { SessionSet.PageMessage = "考试还未结束不能生成补考试卷!"; return; } //OrganizationBLL OrgBll = new OrganizationBLL(); //Organization org = OrgBll.GetOrganization(objRandomExam.OrgId); //if (org.SuitRange != 1 && !objRandomExam.IsUpload) //{ // Grid1.DataBind(); // SessionSet.PageMessage = "考试为站段考试,还未上传考试成绩不能生成补考试卷!"; // return; //} if (objRandomExam.HasTrainClass) { string strTrainClassID = ""; RandomExamTrainClassBLL trainClassBLL = new RandomExamTrainClassBLL(); IList <RandomExamTrainClass> trainClasses = trainClassBLL.GetRandomExamTrainClassByRandomExamID(Convert.ToInt32(examId)); foreach (RandomExamTrainClass trainClass in trainClasses) { if (strTrainClassID == "") { strTrainClassID = "'" + trainClass.TrainClassID + "'"; } else { strTrainClassID = strTrainClassID + ",'" + trainClass.TrainClassID + "'"; } } } string OrganizationName = ""; string strExamineeName = ""; decimal dScoreLower = 0; decimal dScoreUpper = 1000; IList <RandomExamResult> examResults = null; RandomExamResultBLL bllExamResult = new RandomExamResultBLL(); examResults = bllExamResult.GetRandomExamResults(objRandomExam.RandomExamId, OrganizationName, "", strExamineeName, string.Empty, dScoreLower, dScoreUpper, objRandomExam.OrgId); string strID = string.Empty; string strNoPass = string.Empty; foreach (RandomExamResult result in examResults) { if (strID == string.Empty) { strID = result.ExamineeId.ToString(); } else { strID = strID + "," + result.ExamineeId; } //当补考考生不为未参加考试考生时 if (ddlSelect.SelectedValue != "2") { if (result.Score < objRandomExam.PassScore) { if (strNoPass == string.Empty) { strNoPass = result.ExamineeId.ToString(); } else { strNoPass = strNoPass + "," + result.ExamineeId; } } } } RandomExamArrangeBLL objArrangebll = new RandomExamArrangeBLL(); IList <RandomExamArrange> objArrangeList = objArrangebll.GetRandomExamArranges(objRandomExam.RandomExamId); string strChooseID = string.Empty; if (objArrangeList.Count > 0) { strChooseID = objArrangeList[0].UserIds; } string[] str = strChooseID.Split(','); string strNoResult = string.Empty; //当补考考生不为不及格考生时 if (ddlSelect.SelectedValue != "1") { for (int i = 0; i < str.Length; i++) { if (("," + strID + ",").IndexOf(("," + str[i] + ",")) < 0) { if (strNoResult == string.Empty) { strNoResult = str[i]; } else { strNoResult = strNoResult + "," + str[i]; } } } } string strTotal = string.Empty; if (strNoResult == string.Empty && strNoPass == string.Empty) { strTotal = string.Empty; } else if (strNoResult == string.Empty && strNoPass != string.Empty) { strTotal = strNoPass; } else if (strNoResult != string.Empty && strNoPass == string.Empty) { strTotal = strNoResult; } else if (strNoResult != string.Empty && strNoPass != string.Empty) { strTotal = strNoPass + "," + strNoResult; } if (strTotal == string.Empty) { SessionSet.PageMessage = "所选考试无考试不及格和未参加考试学员,不需生成补考考试!"; return; } int nowExamID = objBll.AddResetRandomExam(objRandomExam.RandomExamId); if (nowExamID == 0) { SessionSet.PageMessage = "复制失败!"; return; } RandomExamArrange objArrange = new RandomExamArrange(); objArrange.RandomExamId = nowExamID; objArrange.UserIds = strTotal; objArrange.Memo = string.Empty; int newArrangeId = objArrangebll.AddRandomExamArrange(objArrange); OracleAccess db = new OracleAccess(); string strSql = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + objRandomExam.RandomExamId; DataSet ds = db.RunSqlDataSet(strSql); str = strTotal.Split(','); foreach (DataRow dr in ds.Tables[0].Rows) { string strArrange = string.Empty; for (int i = 0; i < str.Length; i++) { if (("," + dr["User_Ids"] + ",").IndexOf("," + str[i] + ",") >= 0) { if (strArrange == string.Empty) { strArrange = str[i]; } else { strArrange += "," + str[i]; } } } if (strArrange != string.Empty) { XmlDocument doc = new XmlDocument(); //Request.PhysicalApplicationPath取得config文件路径 doc.Load(Path.Combine(HttpContext.Current.Request.PhysicalApplicationPath, "web.config")); XmlNode node = doc.SelectSingleNode("configuration/dataConfiguration/@defaultDatabase"); string value = node.Value; int id = 0; if (value == "Oracle") { OracleParameter para1 = new OracleParameter("p_User_Ids", OracleType.Clob); OracleParameter para2 = new OracleParameter("p_random_exam_arrange_de_id", OracleType.Number); para2.Direction = ParameterDirection.Output; OracleParameter para3 = new OracleParameter("p_random_exam_arrange_Id", OracleType.Number); para3.Value = newArrangeId; OracleParameter para4 = new OracleParameter("p_random_Exam_ID", OracleType.Number); para4.Value = nowExamID; OracleParameter para5 = new OracleParameter("p_computer_room_id", OracleType.Number); para5.Value = Convert.ToInt32(dr["Computer_Room_ID"].ToString()); IDataParameter[] paras = new IDataParameter[] { para1, para2, para3, para4, para5 }; id = Pub.RunAddProcedure(false, "USP_RANDOM_EXAM_ARRANGE_DE_I", paras, System.Text.Encoding.Unicode.GetBytes(strArrange)); } } } //向Random_Exam_Computer_Server 机房考试状态表 插入记录 strSql = "select c.Computer_Server_No from Random_Exam_Arrange_Detail a " + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID " + " inner join Computer_Server c on c.Computer_Server_ID=b.Computer_Server_ID " + " where a.Random_Exam_ID=" + nowExamID; DataSet dsComputer = db.RunSqlDataSet(strSql); string serverNo = ""; foreach (DataRow dr in dsComputer.Tables[0].Rows) { if (serverNo != dr["Computer_Server_No"].ToString()) { serverNo = dr["Computer_Server_No"].ToString(); strSql = "insert into Random_Exam_Computer_Server" + "(Random_Exam_ID,Computer_Server_No,Status_ID,Is_Start,Has_Paper," + "Random_Exam_Code,Is_Upload,DownLoaded) " + "values (" + nowExamID + "," + serverNo + ",0,0,0,'',0,0)"; db.ExecuteNonQuery(strSql); } } Response.Write("<script>top.returnValue='true';top.close();</script>"); } catch { SessionSet.PageMessage = "复制失败!"; } }
private void SaveAnswerToDB(string strAnswer) { try { string strId = Request.QueryString.Get("ExamID"); RandomExamResultCurrentBLL objResultCurrentBll = new RandomExamResultCurrentBLL(); RailExam.Model.RandomExamResultCurrent objResultCurrent = objResultCurrentBll.GetNowRandomExamResultInfo(Convert.ToInt32(Request.QueryString["StudentID"].ToString()), Convert.ToInt32(strId)); //更新考试成绩表时传入的主键应为站段的成绩表的主键ID objResultCurrent.RandomExamResultId = int.Parse(Request.QueryString["RandomExamResultID"].ToString()); objResultCurrent.RandomExamId = int.Parse(strId); objResultCurrent.AutoScore = 0; objResultCurrent.CurrentDateTime = DateTime.Parse(ViewState["EndTime"].ToString()); objResultCurrent.ExamTime = Convert.ToInt32(Request.QueryString["ExamTime"]); objResultCurrent.EndDateTime = DateTime.Parse(ViewState["EndTime"].ToString()); objResultCurrent.Score = 0; objResultCurrent.OrganizationId = int.Parse(Request.QueryString["OrgID"].ToString()); objResultCurrent.Memo = ""; objResultCurrent.StatusId = 2; objResultCurrent.AutoScore = 0; objResultCurrent.CorrectRate = 0; objResultCurrent.ExamineeId = int.Parse(Request.QueryString["StudentID"].ToString()); string[] str1 = strAnswer.Split(new char[] { '$' }); RandomExamResultAnswerCurrentBLL randomExamResultAnswerBLL = new RandomExamResultAnswerCurrentBLL(); //randomExamResultAnswerBLL.DeleteExamResultAnswerCurrent(Convert.ToInt32(ViewState["RandomExamResultID"].ToString())); IList <RandomExamResultAnswerCurrent> randomExamResultAnswers = new List <RandomExamResultAnswerCurrent>(); int randomExamResultId = int.Parse(Request.QueryString["RandomExamResultID"].ToString()); for (int n = 0; n < str1.Length; n++) { string str2 = str1[n].ToString(); string[] str3 = str2.Split(new char[] { '|' }); string strPaperItemId = str3[0].ToString(); string strTrueAnswer = str2.ToString().Substring(strPaperItemId.Length + 1); RandomExamResultAnswerCurrent randomExamResultAnswer = new RandomExamResultAnswerCurrent(); randomExamResultAnswer.RandomExamResultId = randomExamResultId; randomExamResultAnswer.RandomExamItemId = int.Parse(strPaperItemId); randomExamResultAnswer.JudgeStatusId = 0; randomExamResultAnswer.JudgeRemark = string.Empty; randomExamResultAnswer.ExamTime = 0; randomExamResultAnswer.Answer = strTrueAnswer; randomExamResultAnswers.Add(randomExamResultAnswer); } //将实时考试答卷删除,将最终考试答卷插入 randomExamResultAnswerBLL.AddExamResultAnswerCurrentSave(randomExamResultId, randomExamResultAnswers); //更新实时考试记录 objResultCurrentBll.UpdateRandomExamResultCurrent(objResultCurrent); //将实时考试记录(临时表)转存到正式考试成绩表和答卷表 RandomExamResultBLL objResultBll = new RandomExamResultBLL(); int randomExamResultID = objResultBll.RemoveResultAnswer(Convert.ToInt32(Request.QueryString["RandomExamResultID"].ToString())); //如果在站段是随到随考考试,成绩自动上传至路局 //if(ViewState["NowStartMode"].ToString() == PrjPub.START_MODE_NO_CONTROL.ToString() && !PrjPub.IsServerCenter) //{ // objResultBll.RemoveRandomExamResultToServer(Convert.ToInt32(strId), Convert.ToInt32(ConfigurationManager.AppSettings["StationID"])); //} Response.Write( "<script>window.dialogArguments.parent.location = '/RailExamBao/Online/Exam/ExamSuccess.aspx?ExamType=1&ExamResultID=" + randomExamResultID + "';window.close();</script>"); } catch { SessionSet.PageMessage = "提交失败!"; btnUpload.Visible = true; btnClose.Visible = true; } }
private void BindChoosedGrid(string strId, string strOrderBy) { HasExamId(); string strExamId = Request.QueryString.Get("id"); //已经参加考试的考生自动填充上 RandomExamResultBLL reBll = new RandomExamResultBLL(); IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(int.Parse(strExamId)); for (int i = 0; i < examResults.Count; i++) { string strEmId = examResults[i].ExamineeId.ToString(); string strOldAllId = "," + strId + ","; if (strOldAllId.IndexOf("," + strEmId + ",") == -1) { if (strId.Length == 0) { strId += strEmId; } else { strId += "," + strEmId; } } } EmployeeBLL psBLL = new EmployeeBLL(); DataSet ds = new DataSet(); string strIDs = "," + strId + ","; if (strIDs.Length > 2000) { ds = psBLL.GetEmployeesByEmployeeIdS(strIDs); if (ds.Tables[0].Rows.Count > 0) { //DataView dv = ds.Tables[0].DefaultView; //dv.Sort = strOrderBy; Grid2.DataSource = ds; Grid2.DataBind(); } else { BindEmptyGrid2(); } } else { IList <Employee> objList = psBLL.GetEmployeesByEmployeeId(strIDs); if (objList.Count > 0) { ds.Tables.Add(ConvertToDataTable((IList)objList)); Grid2.DataSource = ds; Grid2.DataBind(); } else { BindEmptyGrid2(); } } }
protected void btnExam_Click(object sender, EventArgs e) { string strId = Request.QueryString.Get("eid"); RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam obj = objBll.GetExam(Convert.ToInt32(strId)); OracleAccess db = new OracleAccess(); IList <RandomExamResult> examResults = null; RandomExamResultBLL bllExamResult = new RandomExamResultBLL(); examResults = bllExamResult.GetRandomExamResults(int.Parse(strId), "", "", "", "", 0, 1000, Convert.ToInt32(Request.QueryString.Get("OrgID"))); string strChooseID = string.Empty; foreach (RandomExamResult randomExamResult in examResults) { if (string.IsNullOrEmpty(strChooseID)) { strChooseID += randomExamResult.ExamineeId; } else { strChooseID += "," + randomExamResult.ExamineeId; } } int beginYear = obj.BeginTime.Year; string strSql = @"select a.*,b.Employee_Name,b.Employee_ID from Random_Exam_Result a inner join Employee b on a.Examinee_ID=b.Employee_ID where Random_Exam_Result_ID not in ( select distinct a.Random_Exam_Result_ID from Random_Exam_Result_Answer a inner join Random_Exam_Result b on a.Random_Exam_Result_ID=b.Random_Exam_Result_ID where Random_Exam_ID=" + strId + @" union all select distinct a.Random_Exam_Result_ID from Random_Exam_Result_Answer_" + beginYear + @" a inner join Random_Exam_Result b on a.Random_Exam_Result_ID=b.Random_Exam_Result_ID where Random_Exam_ID=" + strId + @") and Random_Exam_ID=" + strId; DataSet dsAnswer = db.RunSqlDataSet(strSql); if (dsAnswer.Tables[0].Rows.Count > 0) { string strIDs = string.Empty; foreach (DataRow dr in dsAnswer.Tables[0].Rows) { if (("," + strChooseID + ",").IndexOf("," + dr["Employee_ID"] + ",") >= 0) { if (string.IsNullOrEmpty(strIDs)) { strIDs += dr["Employee_Name"].ToString(); } else { strIDs += "," + dr["Employee_Name"]; } } } if (string.IsNullOrEmpty(strIDs)) { SessionSet.PageMessage = "所有考生试卷完整!"; } else { SessionSet.PageMessage = "下列考生在路局服务器无考试试卷:" + strIDs; } } else { SessionSet.PageMessage = "所有考生试卷完整!"; } }
protected DataSet GetDataSet(bool isFirst) { string qsExamId = Request.QueryString.Get("eid"); int orgID = Convert.ToInt32(Request.QueryString.Get("OrgID")); DataSet ds = new DataSet(); if (!string.IsNullOrEmpty(qsExamId)) { string OrganizationName = txtOrganizationName.Text; string workShopName = txtWorkShop.Text; string strExamineeName = txtExamineeName.Text; string strWorkNo = txtWorkNo.Text; decimal dScoreLower = string.IsNullOrEmpty(txtScoreLower.Text) ? -1000 : decimal.Parse(txtScoreLower.Text); decimal dScoreUpper = string.IsNullOrEmpty(txtScoreUpper.Text) ? 1000 : decimal.Parse(txtScoreUpper.Text); IList <RandomExamResult> examResults = null; RandomExamResultBLL bllExamResult = new RandomExamResultBLL(); try { //RandomExamBLL objBll = new RandomExamBLL(); //RailExam.Model.RandomExam obj = objBll.GetExam(Convert.ToInt32(qsExamId)); //如果在站段是随到随考,需要综合路局和本地考试情况。 //if(obj.StartMode == PrjPub.START_MODE_NO_CONTROL && !PrjPub.IsServerCenter) //{ // examResults = bllExamResult.GetRandomExamResultsFromServer(int.Parse(qsExamId), OrganizationName, strExamineeName, dScoreLower, // dScoreUpper, orgID); //} //else //{ // examResults = bllExamResult.GetRandomExamResults(int.Parse(qsExamId), OrganizationName, strExamineeName, dScoreLower, // dScoreUpper, orgID); //} examResults = bllExamResult.GetRandomExamResults(int.Parse(qsExamId), OrganizationName, workShopName, strExamineeName, strWorkNo, dScoreLower, dScoreUpper, orgID); if (isFirst) { lblNowCount.Text = examResults.Count.ToString(); } } catch { Pub.ShowErrorPage("无法连接站段服务器,请检查站段服务器是否打开以及网络连接是否正常!"); } ExamResultStatusBLL bllExamResultStatus = new ExamResultStatusBLL(); IList <ExamResultStatus> examResultStatuses = bllExamResultStatus.GetExamResultStatuses(); DataTable dtExamResults = ConvertToDataTable((IList)examResults); DataTable dtExamResultStatuses = ConvertToDataTable((IList)examResultStatuses); if (dtExamResults != null) { ds.Tables.Add(dtExamResults); } else { ds.Tables.Add(ConvertToDataTable(typeof(RandomExamResult))); } ds.Tables.Add(dtExamResultStatuses); ds.Relations.Add(ds.Tables["ExamResultStatus"].Columns["ExamResultStatusId"], ds.Tables["RandomExamResult"].Columns["StatusId"]); } return(ds); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //if (PrjPub.IsWuhan()) //{ // gradesGrid.Levels[0].Columns[3].HeadingText = "员工编码"; // lblWorkNo.Text = "上岗证号"; //} //else //{ // gradesGrid.Levels[0].Columns[3].HeadingText = "工资编号"; // lblWorkNo.Text = "工资编号"; //} hfRoleID.Value = PrjPub.CurrentLoginUser.RoleID.ToString(); if (PrjPub.HasEditRight("成绩查询")) { HfUpdateRight.Value = "True"; } else { HfUpdateRight.Value = "False"; } if (!PrjPub.IsServerCenter) { btnExam.Visible = false; } lblWorkNo.Text = "上岗证号"; hfOrganizationId.Value = ConfigurationManager.AppSettings["StationID"].ToString(); string qsExamId = Request.QueryString.Get("eid"); int orgID = Convert.ToInt32(Request.QueryString.Get("OrgID")); string OrganizationName = ""; string strExamineeName = ""; decimal dScoreLower = 0; decimal dScoreUpper = 1000; IList <RandomExamResult> examResults = null; RandomExamResultBLL bllExamResult = new RandomExamResultBLL(); string strSql = ""; OracleAccess db = new OracleAccess(); //examResults = bllExamResult.GetRandomExamResults(Convert.ToInt32(qsExamId), OrganizationName,string.Empty, // strExamineeName, string.Empty, dScoreLower, // dScoreUpper, Convert.ToInt32(orgID)); RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam objExam = objBll.GetExam(Convert.ToInt32(qsExamId)); RandomExamArrangeBLL objArrangebll = new RandomExamArrangeBLL(); IList <RandomExamArrange> objArrangeList = objArrangebll.GetRandomExamArranges(Convert.ToInt32(qsExamId)); string strChooseID = string.Empty; if (objArrangeList.Count > 0) { if (PrjPub.IsServerCenter && orgID == objExam.OrgId) { strChooseID = objArrangeList[0].UserIds; int count = 0; EmployeeBLL objEmployeeBll = new EmployeeBLL(); string[] str = strChooseID.Split(','); for (int i = 0; i < str.Length; i++) { if (str[i] == string.Empty) { continue; } Employee employee = objEmployeeBll.GetChooseEmployeeInfo(str[i]); if (employee.EmployeeID == 0) { continue; } count++; } lblMaxCount.Text = count.ToString(); } else if (PrjPub.IsServerCenter && orgID != objExam.OrgId) { string[] strEmployee = objArrangeList[0].UserIds.Split(','); OrganizationBLL orgBll = new OrganizationBLL(); EmployeeBLL employeeBll = new EmployeeBLL(); int count = 0; for (int i = 0; i < strEmployee.Length; i++) { Employee employee = employeeBll.GetChooseEmployeeInfo(strEmployee[i]); int stationOrgID = orgBll.GetStationOrgID(employee.OrgID); if (stationOrgID == orgID) { count++; } } lblMaxCount.Text = count.ToString(); } else { strSql = "select a.* from Random_Exam_Arrange_Detail a " + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID " + " inner join Computer_Server c on b.Computer_Server_ID=c.Computer_Server_ID " + " where c.Computer_Server_No='" + PrjPub.ServerNo + "'" + " and a.Random_Exam_ID=" + qsExamId; DataSet dsArrange = db.RunSqlDataSet(strSql); foreach (DataRow dr in dsArrange.Tables[0].Rows) { if (strChooseID == string.Empty) { strChooseID = dr["User_Ids"].ToString(); } else { strChooseID += "," + dr["User_Ids"].ToString(); } } int count = 0; EmployeeBLL objEmployeeBll = new EmployeeBLL(); string[] str = strChooseID.Split(','); for (int i = 0; i < str.Length; i++) { if (str[i] == string.Empty) { continue; } Employee employee = objEmployeeBll.GetChooseEmployeeInfo(str[i]); if (employee.EmployeeID == 0) { continue; } count++; } lblMaxCount.Text = count.ToString(); } } DataSet ds = GetDataSet(true); if (ds != null && ds.Tables.Count == 2) { //foreach (DataRow dr in ds.Tables[0].Rows) //{ // if(dr["OrganizationId"].ToString() != hfOrganizationId.Value) // { // btnOutPutWord.Enabled = false; // break; // } //} gradesGrid.DataSource = ds; gradesGrid.DataBind(); BindGrid(); } else { SessionSet.PageMessage = "数据错误!"; return; } hfIsServer.Value = PrjPub.IsServerCenter.ToString(); //当是路局服务器时,屏蔽上传按钮 if (PrjPub.IsServerCenter) { btnUpload.Visible = false; } } else { if (Request.Form.Get("OutPut") != null && Request.Form.Get("OutPut") != "") { OutputWord(Request.Form.Get("OutPut")); } if (Request.Form.Get("Refresh") != null && Request.Form.Get("Refresh") != "") { DownloadAll(Request.Form.Get("Refresh")); } if (Request.Form.Get("RefreshExcel") != null && Request.Form.Get("RefreshExcel") != "") { DownloadExcel(); } if (Request.Form.Get("IsUpload") != null && Request.Form.Get("IsUpload") != "") { DataSet ds = GetDataSet(false); gradesGrid.DataSource = ds; gradesGrid.DataBind(); BindGrid(); //string strId = Request.QueryString.Get("eid"); //RandomExamBLL objBll = new RandomExamBLL(); //RailExam.Model.RandomExam obj = objBll.GetExam(Convert.ToInt32(strId)); //SystemLogBLL objLogBll = new SystemLogBLL(); //objLogBll.WriteLog("“" + obj.ExamName + "”上传考试成绩和答卷"); SessionSet.PageMessage = "上传成功!"; } if (Request.Form.Get("RefreshList") != null && Request.Form.Get("RefreshList") != "") { DataSet ds = GetDataSet(false); gradesGrid.DataSource = ds; gradesGrid.DataBind(); BindGrid(); } } btnUpload.Visible = false; // 包神这里用不著上传 2014-03-18 }
protected void FillPaper() { // QueryString id stands for EXAM_RESULT_ID string strId = Request.QueryString.Get("id"); string orgid = Request.QueryString.Get("orgid"); // Not pass id if (string.IsNullOrEmpty(strId)) { SessionSet.PageMessage = "参数错误!"; return; } RandomExamResultBLL randomExamResultBLL = new RandomExamResultBLL(); RandomExamResult randomExamResult = new RandomExamResult(); randomExamResult = randomExamResultBLL.GetRandomExamResultStation(int.Parse(strId)); int RandomExamId = randomExamResult.RandomExamId; int randomExamResultId = int.Parse(strId); RandomExamBLL objBll = new RandomExamBLL(); int year = objBll.GetExam(RandomExamId).BeginTime.Year; RandomExamItemBLL randomItemBLL = new RandomExamItemBLL(); RandomExamSubjectBLL subjectBLL = new RandomExamSubjectBLL(); IList <RandomExamSubject> randomExamSubjects = subjectBLL.GetRandomExamSubjectByRandomExamId(RandomExamId); //RandomExamResultAnswerBLL randomExamResultAnswerBLL = new RandomExamResultAnswerBLL(); //IList<RandomExamResultAnswer> examResultAnswers = new List<RandomExamResultAnswer>(); //if (ViewState["NowOrgID"].ToString() != orgid) //{ // examResultAnswers = randomExamResultAnswerBLL.GetExamResultAnswersStation(randomExamResultId); //} //else //{ // examResultAnswers = randomExamResultAnswerBLL.GetExamResultAnswers(randomExamResultId); //} IList <RandomExamItem> TotalItems = new List <RandomExamItem>(); //按年取出每张试卷的Random_Exam_Item_Year 表中的记录 if (ViewState["NowOrgID"].ToString() != orgid) { TotalItems = randomItemBLL.GetItemsStation(0, randomExamResultId, year); } else { TotalItems = randomItemBLL.GetItems(0, randomExamResultId, year); } OracleAccess db = new OracleAccess(); //按考试取出每张试卷的完形填空子题 string strSql = "select * from Random_Exam_Item_" + year + " where Type_ID=" + PrjPub.ITEMTYPE_FILLBLANKDETAIL + " and Random_Exam_ID=" + RandomExamId; DataTable dtDetail = db.RunSqlDataSet(strSql).Tables[0]; //按考试取出每张试卷的完形填空主题 //strSql = "select * from Random_Exam_Item_" + year + " where Type_ID="+ PrjPub.ITEMTYPE_FILLBLANK +" and Random_Exam_ID=" + RandomExamId; //DataTable dt= db.RunSqlDataSet(strSql).Tables[0]; int z = 1; int hasyear = 0; if (randomExamSubjects != null) { for (int i = 0; i < randomExamSubjects.Count; i++) { RandomExamSubject paperSubject = randomExamSubjects[i]; IList <RandomExamItem> PaperItems = new List <RandomExamItem>(); PaperItems = GetSubjectItems(TotalItems, paperSubject.RandomExamSubjectId); if (ViewState["NowOrgID"].ToString() != orgid) { //PaperItems = randomItemBLL.GetItemsStation(paperSubject.RandomExamSubjectId, randomExamResultId, year); hasyear = 1; } else { //PaperItems = randomItemBLL.GetItems(paperSubject.RandomExamSubjectId, randomExamResultId, year); hasyear = 0; } Response.Write("<table width='100%'>"); Response.Write(" <tr > <td class='ExamBigTitle' >"); Response.Write(" " + GetNo(i) + ""); Response.Write(". " + paperSubject.SubjectName + ""); Response.Write(" (共" + paperSubject.ItemCount + "题,共" + System.String.Format("{0:0.##}", paperSubject.ItemCount * paperSubject.UnitScore) + "分)</td></tr >"); if (PaperItems != null) { int x = 1; for (int j = 0; j < PaperItems.Count; j++) { RandomExamItem paperItem = PaperItems[j]; int k = j + 1; if (paperItem.TypeId != 5) { if (paperItem.TypeId == 4) { k = x; x++; } z = 1; Response.Write("<tr > <td class='ExamResultItem'><a name='Test" + i + j + "' id='Test" + i + j + "'></a> " + k + ". " + paperItem.Content + " (" + System.String.Format("{0:0.##}", paperSubject.UnitScore) + "分)</td></tr >"); } else { //string strSql = "select * from Random_Exam_Item_" + year + " where Item_ID='" + // paperItem.ItemId + "' and Random_Exam_ID=" + RandomExamId; //DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; //IList<RandomExamItem> randomExamItems = randomItemBLL.GetItemsByParentItemID(Convert.ToInt32(dr["Parent_Item_ID"]), RandomExamId, year); //查找当前完型子题的主题ID DataRow[] drsDetail = dtDetail.Select("Item_ID=" + paperItem.ItemId); int detailCount = 0; if (drsDetail.Length > 0) { //通过完形填空的主题ID查找完形填空的子题个数,为计算每个子题分数做准备 DataRow[] drs = dtDetail.Select("Parent_Item_ID=" + drsDetail[0]["Parent_Item_ID"]); detailCount = drs.Length; } Response.Write("<tr > <td class='ExamResultItem'><a name='Test" + i + j + "' id='Test" + i + j + "'></a> "//+ z + "). " + paperItem.Content + " (" + System.String.Format("{0:0.##}", (decimal)paperSubject.UnitScore / (decimal)detailCount) + "分)</td></tr >"); z++; } string[] strUserAnswers = new string[0]; string strUserAnswer = string.Empty; // 组织用户答案 //RandomExamResultAnswer theExamResultAnswer = null; //foreach (RandomExamResultAnswer resultAnswer in examResultAnswers) //{ // if (resultAnswer.RandomExamItemId == paperItem.RandomExamItemId) // { // theExamResultAnswer = resultAnswer; // break; // } //} //// 若子表无记录,结束页面输出 //if (theExamResultAnswer == null) //{ // SessionSet.PageMessage = "数据错误!"; //} //// 否则组织考生答案 //if (theExamResultAnswer.Answer != null || theExamResultAnswer.Answer == string.Empty) //{ // strUserAnswers = theExamResultAnswer.Answer.Split(new char[] { '|' }); //} if (paperItem.Answer == null) { SessionSet.PageMessage = "数据错误!"; } if (!string.IsNullOrEmpty(paperItem.Answer)) { strUserAnswers = paperItem.Answer.Split(new char[] { '|' }); } for (int n = 0; n < strUserAnswers.Length; n++) { string strN = intToString(int.Parse(strUserAnswers[n]) + 1); if (n == 0) { strUserAnswer += strN; } else { strUserAnswer += "," + strN; } } //多选 if (paperSubject.ItemTypeId == PrjPub.ITEMTYPE_MULTICHOOSE) { string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' }); for (int n = 0; n < strAnswer.Length; n++) { string strN = intToString(n + 1); string strij = "-" + paperItem.RandomExamItemId + "-" + i.ToString() + "-" + j.ToString() + "-" + n.ToString(); string strName = i.ToString() + j.ToString(); Response.Write(" <tr ><td class='ExamItemAnswer'> " + strN + "." + strAnswer[n] + "</td></tr >"); } } else if (paperSubject.ItemTypeId == PrjPub.ITEMTYPE_JUDGE || paperSubject.ItemTypeId == PrjPub.ITEMTYPE_SINGLECHOOSE || paperItem.TypeId == 5) { //单选 string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' }); for (int n = 0; n < strAnswer.Length; n++) { string strN = intToString(n + 1); Response.Write("<tr > <td class='ExamItemAnswer'> " + strN + "." + strAnswer[n] + "</td></tr >"); } } if (paperSubject.ItemTypeId == 1 || paperSubject.ItemTypeId == 2 || paperSubject.ItemTypeId == 3 || paperItem.TypeId == 5) { // 组织正确答案 string[] strRightAnswers = paperItem.StandardAnswer.Split(new char[] { '|' }); string strRightAnswer = ""; for (int n = 0; n < strRightAnswers.Length; n++) { string strN = intToString(int.Parse(strRightAnswers[n]) + 1); if (n == 0) { strRightAnswer += strN; } else { strRightAnswer += "," + strN; } } string strScore = "0"; string couldScore = "0"; if (paperItem.TypeId == 5) { if (strRightAnswer == strUserAnswer) { strScore = System.String.Format("{0:0.##}", paperItem.Score); } couldScore = paperItem.Score.ToString(); } else { if (strRightAnswer == strUserAnswer) { strScore = System.String.Format("{0:0.##}", paperSubject.UnitScore); } couldScore = paperSubject.UnitScore.ToString(); } if (strScore == "0") { if (hfLoginEmployeeID.Value == "0") { string strFirst = @""""; Response.Write(" <tr><td id='span-" + paperItem.RandomExamItemId + "' class='ExamAnswerZero'> ★标准答案:" + "<span id='span-" + paperItem.RandomExamItemId + "-0' name='span-" + paperItem.RandomExamItemId + "'>" + strRightAnswer + "</span> 考生答案:" + "<span id='span-" + paperItem.RandomExamItemId + "-1' name='span-" + paperItem.RandomExamItemId + "'>" + strUserAnswer + "</span> 得分:" + "<span id='span-" + paperItem.RandomExamItemId + "-2'>" + strScore + "</span>" + " <a id='a-" + paperItem.RandomExamItemId + "' onclick=" + strFirst + "updateScore(" + randomExamResultId + "," + paperItem.RandomExamItemId + "," + couldScore + ",'" + paperItem.StandardAnswer + "'," + hasyear + ")" + strFirst + " href='#Test" + i + j + "' style='cursor: hand;'>更改考生答案</a></td></tr>"); } else { Response.Write(" <tr><td class='ExamAnswerZero'> ★标准答案:" + "<span id='span-" + paperItem.RandomExamItemId + "-0' name='span-" + paperItem.RandomExamItemId + "'>" + strRightAnswer + "</span> 考生答案:" + "<span id='span-" + paperItem.RandomExamItemId + "-1' name='span-" + paperItem.RandomExamItemId + "'>" + strUserAnswer + "</span> 得分:" + "<span id='span-" + paperItem.RandomExamItemId + "-2'>" + strScore + "</span></td></tr>"); } } else { Response.Write(" <tr><td class='ExamAnswer'> ★标准答案:" + "<span id='span-" + paperItem.RandomExamItemId + "-0' name='span-" + paperItem.RandomExamItemId + "'>" + strRightAnswer + "</span> 考生答案:" + "<span id='span-" + paperItem.RandomExamItemId + "-1' name='span-" + paperItem.RandomExamItemId + "'>" + strUserAnswer + "</span> 得分:" + strScore + "</td></tr>"); } } } } Response.Write(" </table> "); } } else { SessionSet.PageMessage = "数据错误!"; return; } }
private void FillPage(int nID) { RandomExamStrategyBLL paperStrategyBookChapterBLL = new RandomExamStrategyBLL(); RandomExamStrategy paperStrategyBookChapter = paperStrategyBookChapterBLL.GetRandomExamStrategy(nID); if (paperStrategyBookChapter != null) { txtMemo.Text = paperStrategyBookChapter.Memo; txtChapterName.Text = paperStrategyBookChapter.RangeName; HfRangeName.Value = paperStrategyBookChapter.RangeName; hfSubjectId.Value = paperStrategyBookChapter.SubjectId.ToString(); HfRangeType.Value = paperStrategyBookChapter.RangeType.ToString(); HfChapterId.Value = paperStrategyBookChapter.RangeId.ToString(); ddlType.SelectedValue = paperStrategyBookChapter.ItemTypeId.ToString(); txtNDR.Text = paperStrategyBookChapter.ItemCount.ToString(); RandomExamSubjectBLL paperStrategySubjectBLL = new RandomExamSubjectBLL(); RandomExamSubject paperStrategySubject = paperStrategySubjectBLL.GetRandomExamSubject(int.Parse(hfSubjectId.Value)); if (paperStrategySubject != null) { hfExamID.Value = paperStrategySubject.RandomExamId.ToString(); txtSubjectName.Text = paperStrategySubject.SubjectName; labelTotalCount.Text = paperStrategySubject.ItemCount.ToString(); IList <RailExam.Model.RandomExamStrategy> RandomExamStrategys = paperStrategyBookChapterBLL.GetRandomExamStrategys(paperStrategySubject.RandomExamSubjectId); int hasCount = 0; foreach (RailExam.Model.RandomExamStrategy randomExamStrategy in RandomExamStrategys) { if (randomExamStrategy.RandomExamStrategyId != nID) { hasCount += randomExamStrategy.ItemCount; } } labelLeaveCount.Text = (paperStrategySubject.ItemCount - hasCount).ToString(); RandomExamResultBLL reBll = new RandomExamResultBLL(); IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(paperStrategySubject.RandomExamId); if (examResults.Count > 0) { ViewState["mode"] = "ReadOnly"; } } string strSql = "select a.random_exam_strategy_id as RandomExamStrategyId,a.Item_Count as ItemCount," + "GetBookChapterName(b.Chapter_ID) ChapterName, b.Chapter_ID as ChapterId,b.ID_Path as IDPath " + "from random_exam_strategy a" + " inner join Book_Chapter b on a.Range_ID=b.Chapter_ID " + " where a.Is_Mother_Item=1 and a.Mother_ID=" + nID; OracleAccess db = new OracleAccess(); DataSet ds = db.RunSqlDataSet(strSql); if (paperStrategyBookChapter.RangeType == 3 && ds.Tables[0].Rows.Count == 0) { txtExCludeChapters.Text = paperStrategyBookChapter.ExcludeChapterId; if (string.IsNullOrEmpty(paperStrategyBookChapter.ExcludeChapterId) == false) { FillExcludeCategorysID(paperStrategyBookChapter.ExcludeChapterId); } } int sumTotalCount = 0; ItemBLL itembll = new ItemBLL(); if (HfRangeType.Value == "3") { sumTotalCount = itembll.GetItemsByBookID(Convert.ToInt32(HfChapterId.Value), Convert.ToInt32(hfItemType.Value)); } else { BookChapterBLL bookChapterBll = new BookChapterBLL(); BookChapter bookChapter = bookChapterBll.GetBookChapter(Convert.ToInt32(HfChapterId.Value)); sumTotalCount = itembll.GetItemsByBookChapterIdPath(bookChapter.IdPath, Convert.ToInt32(hfItemType.Value)); } if (ds.Tables[0].Rows.Count == 0) { mother1.Visible = false; mother2.Visible = false; } else { mother1.Visible = true; mother2.Visible = true; DataColumn dc1 = ds.Tables[0].Columns.Add("MaxItemCount"); ItemBLL item = new ItemBLL(); int sumCount = 0; int sumMaxCount = 0; foreach (DataRow dr in ds.Tables[0].Rows) { dr["MaxItemCount"] = item.GetItemsByBookChapterIdPath(dr["IDPath"].ToString(), Convert.ToInt32(hfItemType.Value)); sumCount += Convert.ToInt32(dr["ItemCount"].ToString()); sumMaxCount += Convert.ToInt32(dr["MaxItemCount"].ToString()); } txtNDR.Text = (paperStrategyBookChapter.ItemCount + sumCount).ToString(); Grid1.DataSource = ds; Grid1.DataBind(); lblMotherInfo.Text = "其中子题最大题数:" + (sumTotalCount - sumMaxCount) + ";母题最大题数:" + sumMaxCount; } strSql = "select * from Item a inner join Book_Chapter b on a.Chapter_ID=b.Chapter_ID " + GetSelectSql(); lblTotalCount.Text = db.RunSqlDataSet(strSql).Tables[0].Rows.Count.ToString(); strSql = " select * from Random_Exam_Item_Select where RANDOM_EXAM_STRATEGY_ID=" + nID; lblSelectCount.Text = db.RunSqlDataSet(strSql).Tables[0].Rows.Count.ToString(); } if (ViewState["mode"].ToString() == "ReadOnly") { SaveButton.Visible = false; CancelButton.Visible = true; ddlType.Enabled = false; txtMemo.Enabled = false; } }
protected void FillHeading(string strId, string orgid) { RandomExamResultBLL randomExamResultBLL = new RandomExamResultBLL(); RandomExamResult randomExamResult = new RandomExamResult(); randomExamResult = randomExamResultBLL.GetRandomExamResultStation(int.Parse(strId)); OracleAccess db = new OracleAccess(); string strSql = "select a.*" + " from Random_Exam_Result_Detail a" + " where a.Random_Exam_Result_ID=" + randomExamResult.RandomExamResultId + " and Employee_ID=" + randomExamResult.ExamineeId + " and Random_Exam_ID=" + randomExamResult.RandomExamId; DataTable dtExam = db.RunSqlDataSet(strSql).Tables[0]; if (dtExam.Rows.Count == 0) { strSql = "select a.*" + " from Random_Exam_Result_Detail_Temp a" + " where a.Random_Exam_Result_ID=" + randomExamResult.RandomExamResultId + " and Employee_ID=" + randomExamResult.ExamineeId + " and Random_Exam_ID=" + randomExamResult.RandomExamId; dtExam = db.RunSqlDataSet(strSql).Tables[0]; } if (dtExam.Rows.Count > 0) { bool isExists = Directory.Exists(Server.MapPath("/RailExamBao/Online/Photo/" + randomExamResult.RandomExamId + "/")); DataRow drExam = dtExam.Rows[0]; lblFignerDate.Text = drExam["FingerPrint_Date"] == DBNull.Value ? string.Empty : Convert.ToDateTime(drExam["FingerPrint_Date"]).ToString("yyyy-MM-dd HH:mm"); lblPhotoDate1.Text = drExam["Photo1_Date"] == DBNull.Value ? string.Empty : Convert.ToDateTime(drExam["Photo1_Date"]).ToString("yyyy-MM-dd HH:mm"); lblPhotoDate2.Text = drExam["Photo2_Date"] == DBNull.Value ? string.Empty : Convert.ToDateTime(drExam["Photo2_Date"]).ToString("yyyy-MM-dd HH:mm"); lblPhotoDate3.Text = drExam["Photo3_Date"] == DBNull.Value ? string.Empty : Convert.ToDateTime(drExam["Photo3_Date"]).ToString("yyyy-MM-dd HH:mm"); string filepath = Server.MapPath("/RailExamBao/Online/Photo/" + randomExamResult.RandomExamId + "/") + randomExamResult.ExamineeId + "_" + randomExamResult.RandomExamResultId + "_"; string path = "../Online/Photo/" + randomExamResult.RandomExamId + "/" + randomExamResult.ExamineeId + "_" + randomExamResult.RandomExamResultId + "_"; if (PrjPub.IsServerCenter && isExists) { if (File.Exists(filepath + "00.jpg")) { fignerImage.ImageUrl = path + "00.jpg"; } else { fignerImage.ImageUrl = "../images/empty.jpg"; } } else { if (drExam["FingerPrint"] != DBNull.Value) { fignerImage.ImageUrl = "ShowResultImage.aspx?resultDetailID=" + drExam["Random_Exam_Result_Detail_ID"] + "&typeID=0"; } else { fignerImage.ImageUrl = "../images/empty.jpg"; } } DataSet ds = Pub.GetPhotoDateSet(randomExamResult.ExamineeId.ToString()); if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0][0] != DBNull.Value) { picImage.ImageUrl = "../RandomExamTai/ShowImage.aspx?EmployeeID=" + randomExamResult.ExamineeId; } else { picImage.ImageUrl = "../images/empty.jpg"; } } else { picImage.ImageUrl = "../images/empty.jpg"; } if (PrjPub.IsServerCenter && isExists) { if (File.Exists(filepath + "01.jpg")) { photoImage1.ImageUrl = path + "01.jpg"; } else { photoImage1.ImageUrl = "../images/empty.jpg"; } } else { if (drExam["Photo1"] != DBNull.Value) { photoImage1.ImageUrl = "ShowResultImage.aspx?resultDetailID=" + drExam["Random_Exam_Result_Detail_ID"] + "&typeID=1"; } else { photoImage1.ImageUrl = "../images/empty.jpg"; } } if (PrjPub.IsServerCenter && isExists) { if (File.Exists(filepath + "02.jpg")) { photoImage2.ImageUrl = path + "02.jpg"; } else { photoImage2.ImageUrl = "../images/empty.jpg"; } } else { if (drExam["Photo2"] != DBNull.Value) { photoImage2.ImageUrl = "ShowResultImage.aspx?resultDetailID=" + drExam["Random_Exam_Result_Detail_ID"] + "&typeID=2"; } else { photoImage2.ImageUrl = "../images/empty.jpg"; } } if (PrjPub.IsServerCenter && isExists) { if (File.Exists(filepath + "03.jpg")) { photoImage3.ImageUrl = path + "03.jpg"; } else { photoImage3.ImageUrl = "../images/empty.jpg"; } } else { if (drExam["Photo3"] != DBNull.Value) { photoImage3.ImageUrl = "ShowResultImage.aspx?resultDetailID=" + drExam["Random_Exam_Result_Detail_ID"] + "&typeID=3"; } else { photoImage3.ImageUrl = "../images/empty.jpg"; } } } else { fignerImage.ImageUrl = "../images/empty.jpg"; DataSet ds = Pub.GetPhotoDateSet(randomExamResult.ExamineeId.ToString()); if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0][0] != DBNull.Value) { picImage.ImageUrl = "../RandomExamTai/ShowImage.aspx?EmployeeID=" + randomExamResult.ExamineeId; } else { picImage.ImageUrl = "../images/empty.jpg"; } } else { picImage.ImageUrl = "../images/empty.jpg"; } photoImage1.ImageUrl = "../images/empty.jpg"; photoImage2.ImageUrl = "../images/empty.jpg"; photoImage3.ImageUrl = "../images/empty.jpg"; } string strOrgName = randomExamResult.OrganizationName; string strStationName = ""; string strOrgName1 = ""; int n = strOrgName.IndexOf("-"); if (n != -1) { strStationName = strOrgName.Substring(0, n); strOrgName1 = strOrgName.Substring(n + 1); } else { strStationName = strOrgName; strOrgName1 = ""; } lblOrg.Text = strStationName; lblWorkShop.Text = strOrgName1; lblPost.Text = randomExamResult.PostName; lblName.Text = randomExamResult.ExamineeName; lblTime.Text = randomExamResult.BeginDateTime.ToString("yyyy-MM-dd HH:mm"); lblScore.Text = System.String.Format("{0:0.##}", randomExamResult.Score); int RandomExamId = randomExamResult.RandomExamId; RandomExamBLL randomExamBLL = new RandomExamBLL(); RailExam.Model.RandomExam randomExam = randomExamBLL.GetExam(RandomExamId); if (randomExam != null) { lblTitle.Text = randomExam.ExamName; } RandomExamSubjectBLL randomExamSubjectBLL = new RandomExamSubjectBLL(); IList <RailExam.Model.RandomExamSubject> RandomExamSubjects = randomExamSubjectBLL.GetRandomExamSubjectByRandomExamId(RandomExamId); int nItemCount = 0; decimal nTotalScore = 0; for (int i = 0; i < RandomExamSubjects.Count; i++) { nItemCount += RandomExamSubjects[i].ItemCount; nTotalScore += RandomExamSubjects[i].ItemCount * RandomExamSubjects[i].UnitScore; } lblTitleRight.Text = "总共" + nItemCount + "题,共" + System.String.Format("{0:0.##}", nTotalScore) + "分"; }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string strID = Request.QueryString.Get("id"); ViewState["mode"] = Request.QueryString.Get("mode"); hfItemType.Value = Request.QueryString.Get("itemTypeID"); ddlType.SelectedValue = hfItemType.Value; if (ViewState["mode"].ToString() == "Insert") { string subjectId = Request.QueryString.Get("subjectid"); hfSubjectId.Value = subjectId; if (!string.IsNullOrEmpty(subjectId)) { RandomExamSubjectBLL paperStrategySubjectBLL = new RandomExamSubjectBLL(); RandomExamSubject paperStrategySubject = paperStrategySubjectBLL.GetRandomExamSubject(int.Parse(subjectId)); if (paperStrategySubject != null) { hfExamID.Value = paperStrategySubject.RandomExamId.ToString(); txtSubjectName.Text = paperStrategySubject.SubjectName; ddlType.SelectedValue = paperStrategySubject.ItemTypeId.ToString(); labelTotalCount.Text = paperStrategySubject.ItemCount.ToString(); RandomExamStrategyBLL randomExamStrategyBLL = new RandomExamStrategyBLL(); IList <RailExam.Model.RandomExamStrategy> RandomExamStrategys = randomExamStrategyBLL.GetRandomExamStrategys(paperStrategySubject.RandomExamSubjectId); int hasCount = 0; foreach (RailExam.Model.RandomExamStrategy randomExamStrategy in RandomExamStrategys) { hasCount += randomExamStrategy.ItemCount; } labelLeaveCount.Text = (paperStrategySubject.ItemCount - hasCount).ToString(); txtNDR.Text = labelLeaveCount.Text; RandomExamResultBLL reBll = new RandomExamResultBLL(); IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(paperStrategySubject.RandomExamId); if (examResults.Count > 0) { SaveButton.Visible = false; } } hfSubjectId.Value = subjectId; mother1.Visible = false; mother2.Visible = false; } OracleAccess db = new OracleAccess(); string strSql = "select RANDOM_EXAM_STRATEGY_SEQ.nextval from dual"; DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; hfKeyID.Value = dr[0].ToString(); } else { hfKeyID.Value = strID; FillPage(int.Parse(strID)); } } if (!string.IsNullOrEmpty(HfChapterId.Value)) { if (HfRangeType.Value == "4") { BookChapterBLL chapterBll = new BookChapterBLL(); BookChapter chapter = chapterBll.GetBookChapter(Convert.ToInt32(HfChapterId.Value)); txtChapterName.Text = chapter.ChapterName; } else { BookBLL bookBll = new BookBLL(); RailExam.Model.Book book = bookBll.GetBook(Convert.ToInt32(HfChapterId.Value)); txtChapterName.Text = book.bookName; } } if (!string.IsNullOrEmpty(HfExCludeChaptersId.Value)) { string strSql = "select * from Book_Chapter where Chapter_ID in (" + HfExCludeChaptersId.Value + ")"; OracleAccess db = new OracleAccess(); DataSet ds = db.RunSqlDataSet(strSql); string strName = string.Empty; foreach (DataRow dr in ds.Tables[0].Rows) { if (strName == string.Empty) { strName += dr["Chapter_Name"].ToString(); } else { strName += "," + dr["Chapter_Name"].ToString(); } } txtExCludeChapters.Text = strName; } }
protected void FillPaper() { // QueryString id stands for EXAM_RESULT_ID string strId = Request.QueryString.Get("id"); string orgid = Request.QueryString.Get("orgid"); // Not pass id if (string.IsNullOrEmpty(strId)) { SessionSet.PageMessage = "参数错误!"; return; } RandomExamResultBLL randomExamResultBLL = new RandomExamResultBLL(); RandomExamResult randomExamResult = new RandomExamResult(); if (ViewState["NowOrgID"].ToString() != orgid) { randomExamResult = randomExamResultBLL.GetRandomExamResultByOrgID(int.Parse(strId), int.Parse(orgid)); } else { randomExamResult = randomExamResultBLL.GetRandomExamResultTemp(int.Parse(strId)); } int RandomExamId = randomExamResult.RandomExamId; int randomExamResultId = int.Parse(strId); OracleAccess db = new OracleAccess(); RandomExamBLL objBll = new RandomExamBLL(); int year = objBll.GetExam(RandomExamId).BeginTime.Year; RandomExamItemBLL randomItemBLL = new RandomExamItemBLL(); RandomExamSubjectBLL subjectBLL = new RandomExamSubjectBLL(); RandomExamResultAnswerBLL randomExamResultAnswerBLL = new RandomExamResultAnswerBLL(); IList <RandomExamSubject> randomExamSubjects = subjectBLL.GetRandomExamSubjectByRandomExamId(RandomExamId); IList <RandomExamResultAnswer> examResultAnswers = new List <RandomExamResultAnswer>(); if (ViewState["NowOrgID"].ToString() != orgid) { examResultAnswers = randomExamResultAnswerBLL.GetExamResultAnswersByOrgID(int.Parse(strId), int.Parse(orgid)); } else { examResultAnswers = randomExamResultAnswerBLL.GetExamResultAnswers(randomExamResultId); } int z = 1; if (randomExamSubjects != null) { for (int i = 0; i < randomExamSubjects.Count; i++) { RandomExamSubject paperSubject = randomExamSubjects[i]; IList <RandomExamItem> PaperItems = new List <RandomExamItem>(); if (ViewState["NowOrgID"].ToString() != orgid) { PaperItems = randomItemBLL.GetItemsByOrgID(paperSubject.RandomExamSubjectId, randomExamResultId, int.Parse(orgid), year); } else { PaperItems = randomItemBLL.GetItems(paperSubject.RandomExamSubjectId, randomExamResultId, year); } Response.Write("<table width='100%'>"); Response.Write(" <tr > <td class='ExamBigTitle' >"); Response.Write(" " + GetNo(i) + ""); Response.Write(". " + paperSubject.SubjectName + ""); Response.Write(" (共" + paperSubject.ItemCount + "题,共" + System.String.Format("{0:0.##}", paperSubject.ItemCount * paperSubject.UnitScore) + "分)</td></tr >"); if (PaperItems != null) { for (int j = 0; j < PaperItems.Count; j++) { RandomExamItem paperItem = PaperItems[j]; int k = j + 1; if (paperItem.TypeId != 5) { z = 1; Response.Write("<tr > <td class='ExamResultItem'> " + k + ". " + paperItem.Content + " (" + System.String.Format("{0:0.##}", paperSubject.UnitScore) + "分)</td></tr >"); } else { string strSql = "select * from Random_Exam_Item_" + year + " where Item_ID='" + paperItem.ItemId + "' and Random_Exam_ID=" + RandomExamId; DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; IList <RandomExamItem> randomExamItems = randomItemBLL.GetItemsByParentItemID(Convert.ToInt32(dr["Parent_Item_ID"]), RandomExamId, year); Response.Write("<tr > <td class='ExamResultItem'> (" + z + "). " + paperItem.Content + " (" + System.String.Format("{0:0.##}", (decimal)paperSubject.UnitScore / (decimal)randomExamItems.Count) + "分)</td></tr >"); z++; } // 组织用户答案 RandomExamResultAnswer theExamResultAnswer = null; string[] strUserAnswers = new string[0]; string strUserAnswer = string.Empty; foreach (RandomExamResultAnswer resultAnswer in examResultAnswers) { if (resultAnswer.RandomExamItemId == paperItem.RandomExamItemId) { theExamResultAnswer = resultAnswer; break; } } // 若子表无记录,结束页面输出 if (theExamResultAnswer == null) { SessionSet.PageMessage = "数据错误!"; } // 否则组织考生答案 if (theExamResultAnswer.Answer != null || theExamResultAnswer.Answer == string.Empty) { strUserAnswers = theExamResultAnswer.Answer.Split(new char[] { '|' }); } for (int n = 0; n < strUserAnswers.Length; n++) { string strN = intToString(int.Parse(strUserAnswers[n]) + 1); if (n == 0) { strUserAnswer += strN; } else { strUserAnswer += "," + strN; } } //多选 if (paperSubject.ItemTypeId == 2) { string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' }); for (int n = 0; n < strAnswer.Length; n++) { string strN = intToString(n + 1); Response.Write(" <tr ><td class='ExamItemAnswer'> " + strN + "." + strAnswer[n] + "</td></tr >"); } } else if (paperSubject.ItemTypeId == 1 || paperSubject.ItemTypeId == 3 || paperItem.TypeId == 5) { //单选 string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' }); for (int n = 0; n < strAnswer.Length; n++) { string strN = intToString(n + 1); Response.Write("<tr > <td class='ExamItemAnswer'> " + strN + "." + strAnswer[n] + "</td></tr >"); } } if (paperSubject.ItemTypeId == 1 || paperSubject.ItemTypeId == 2 || paperSubject.ItemTypeId == 3 || paperItem.TypeId == 5) { // 组织正确答案 string[] strRightAnswers = paperItem.StandardAnswer.Split(new char[] { '|' }); string strRightAnswer = ""; for (int n = 0; n < strRightAnswers.Length; n++) { string strN = intToString(int.Parse(strRightAnswers[n]) + 1); if (n == 0) { strRightAnswer += strN; } else { strRightAnswer += "," + strN; } } string strScore = "0"; if (paperItem.TypeId == 5) { if (strRightAnswer == strUserAnswer) { strScore = System.String.Format("{0:0.##}", paperItem.Score); } } else { if (strRightAnswer == strUserAnswer) { strScore = System.String.Format("{0:0.##}", paperSubject.UnitScore); } } if (strScore == "0") { Response.Write(" <tr><td class='ExamAnswerZero'> ★标准答案:" + "<span id='span-" + paperItem.RandomExamItemId + "-0' name='span-" + paperItem.RandomExamItemId + "'>" + strRightAnswer + "</span> 考生答案:" + "<span id='span-" + paperItem.RandomExamItemId + "-1' name='span-" + paperItem.RandomExamItemId + "'>" + strUserAnswer + "</span> 得分:" + strScore + "</td></tr>"); } else { Response.Write(" <tr><td class='ExamAnswer'> ★标准答案:" + "<span id='span-" + paperItem.RandomExamItemId + "-0' name='span-" + paperItem.RandomExamItemId + "'>" + strRightAnswer + "</span> 考生答案:" + "<span id='span-" + paperItem.RandomExamItemId + "-1' name='span-" + paperItem.RandomExamItemId + "'>" + strUserAnswer + "</span> 得分:" + strScore + "</td></tr>"); } } } } Response.Write(" </table> "); } } else { SessionSet.PageMessage = "数据错误!"; return; } }
protected void FillPage(int nExamID) { RandomExamBLL examBLL = new RandomExamBLL(); RailExam.Model.RandomExam exam = examBLL.GetExam(nExamID); if (exam != null) { if (ViewState["startmode"].ToString() == "Edit") { if (Pub.HasPaper(exam.RandomExamId)) { Response.Write("<script>alert('该考试已生成试卷,不能被编辑!');window.close();</script>"); return; } } hfHasTrainClass.Value = exam.HasTrainClass.ToString(); txtCategoryName.Text = exam.CategoryName; hfCategoryId.Value = exam.CategoryId.ToString(); ddlType.SelectedValue = exam.ExamTypeId.ToString(); txtExamName.Text = exam.ExamName; txtExamTime.Text = exam.ExamTime.ToString(); dateBeginTime.DateValue = exam.BeginTime.ToString("yyyy-MM-dd HH:mm:ss"); dateEndTime.DateValue = exam.EndTime.ToString("yyyy-MM-dd HH:mm:ss"); txtPassScore.Text = exam.PassScore.ToString(); if (exam.IsComputerExam) { rbnExamMode1.Checked = true; rbnExamMode2.Checked = false; } else { rbnExamMode1.Checked = false; rbnExamMode2.Checked = true; rbnExamMode1.Enabled = false; rbnExamMode2.Enabled = false; } if (exam.StartMode == 1) { rbnStartMode1.Checked = true; } else { rbnStartMode2.Checked = true; } if (exam.ExamStyle == 1) { rbnStyle1.Checked = true; } else { rbnStyle2.Checked = true; } if (exam.AutoSaveInterval == 1) { chkAllItem.Checked = true; } else { chkAllItem.Checked = false; } txtMET2.Text = exam.MaxExamTimes.ToString(); chUD.Checked = exam.IsUnderControl; chAutoScore.Checked = exam.IsAutoScore; chkCanSeeAnswer.Checked = exam.CanSeeAnswer; chSeeScore.Checked = exam.CanSeeScore; chPublicScore.Checked = exam.IsPublicScore; txtDescription.Text = exam.Description; txtMemo.Text = exam.Memo; ddlModularType.SelectedValue = exam.RandomExamModularTypeID.ToString(); chkIsReduceScore.Checked = exam.IsReduceError; //存档考试 if (exam.ExamStyle == 2) { rbnStyle2.Checked = true; saveTd.Visible = true; ddlDate.SelectedValue = exam.SaveStatus.ToString(); if (exam.SaveStatus == 2) { dateSaveDate.Visible = true; dateSaveDate.DateValue = Convert.ToDateTime(exam.SaveDate).ToString("yyyy-MM-dd"); } else { dateSaveDate.Visible = false; } } else { rbnStyle1.Checked = true; saveTd.Visible = false; } lblCreatePerson.Text = exam.CreatePerson; lblCreateTime.Text = exam.CreateTime.ToString("yyyy-MM-dd HH:mm"); if (ViewState["startmode"].ToString() == "Edit") { RandomExamResultBLL reBll = new RandomExamResultBLL(); IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(exam.RandomExamId); if (examResults.Count > 0) { ViewState["mode"] = "ReadOnly"; } } chkHasTrainClass.Checked = exam.HasTrainClass; ViewState["HasTrainClass"] = chkHasTrainClass.Checked.ToString(); SetTrainClassVisible(chkHasTrainClass.Checked); if (chkHasTrainClass.Checked) { RandomExamTrainClassBLL objTrainClassBll = new RandomExamTrainClassBLL(); IList <RandomExamTrainClass> objTrainClassList = objTrainClassBll.GetRandomExamTrainClassByRandomExamID(exam.RandomExamId); DataTable dataTable = new DataTable(); dataTable.Columns.Add(new DataColumn("RandomExamTrainClassID", typeof(int))); dataTable.Columns.Add(new DataColumn("RandomExamID", typeof(int))); dataTable.Columns.Add(new DataColumn("TrainClassID", typeof(int))); dataTable.Columns.Add(new DataColumn("TrainClassName", typeof(string))); dataTable.Columns.Add(new DataColumn("TrainClassSubjectID", typeof(int))); dataTable.Columns.Add(new DataColumn("TrainClassSubjectName", typeof(string))); string strSql = ""; foreach (RandomExamTrainClass trainClass in objTrainClassList) { DataRow newRow = dataTable.NewRow(); newRow[0] = trainClass.RandomExamTrainClassID; newRow[1] = trainClass.RandomExamID; newRow[2] = trainClass.TrainClassID; OracleAccess db = new OracleAccess(); strSql = "select * from ZJ_Train_Class where Train_Class_ID=" + trainClass.TrainClassID; newRow[3] = db.RunSqlDataSet(strSql).Tables[0].Rows[0]["Train_Class_Name"].ToString(); newRow[4] = trainClass.TrainClassSubjectID; strSql = "select * from ZJ_Train_Class_Subject where Train_Class_Subject_ID=" + trainClass.TrainClassSubjectID; newRow[5] = db.RunSqlDataSet(strSql).Tables[0].Rows[0]["Subject_Name"].ToString(); dataTable.Rows.Add(newRow); if (hfTrainClassID.Value == "") { hfTrainClassID.Value = trainClass.TrainClassID.ToString(); } else { hfTrainClassID.Value = hfTrainClassID.Value + "," + trainClass.TrainClassID.ToString(); } } ViewState["TrainClass"] = hfTrainClassID.Value; Grid1.DataSource = dataTable; Grid1.DataBind(); //当考试为补考的时候,不能修改培训班信息 if (exam.IsReset) { chkHasTrainClass.Enabled = false; Grid1.Enabled = false; btnAddTrainClass.Visible = false; } hfIsReset.Value = exam.IsReset.ToString(); } else { ViewState["TrainClass"] = ""; ViewState["PostID"] = ""; } hfPostID.Value = exam.PostID; ViewState["PostID"] = hfPostID.Value; if (!string.IsNullOrEmpty(exam.PostID)) { PostBLL postBLL = new PostBLL(); string[] strPostID = exam.PostID.Split(','); for (int i = 0; i < strPostID.Length; i++) { if (i == 0) { txtPost.Text = postBLL.GetPost(Convert.ToInt32(strPostID[i])).PostName; } else { txtPost.Text = txtPost.Text + "," + postBLL.GetPost(Convert.ToInt32(strPostID[i])).PostName; } } hfPostName.Value = txtPost.Text; } } if (ViewState["mode"].ToString() == "ReadOnly") { txtExamName.Enabled = false; dateBeginTime.Enabled = false; dateEndTime.Enabled = false; ddlType.Enabled = false; txtExamTime.Enabled = false; rbnExamMode1.Enabled = false; rbnExamMode2.Enabled = false; txtMET2.Enabled = false; chUD.Enabled = false; chAutoScore.Enabled = false; chkCanSeeAnswer.Enabled = false; chSeeScore.Enabled = false; chPublicScore.Enabled = false; txtDescription.Enabled = false; txtMemo.Enabled = false; rbnStartMode1.Enabled = false; rbnStartMode2.Enabled = false; txtPassScore.Enabled = false; chkHasTrainClass.Enabled = false; Grid1.Enabled = false; } }
//查找已生成试卷的人员信息 private void HasExamId() { string strExamId = ViewState["ExamID"].ToString(); if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType"))) { //RandomExamResultCurrentBLL objResultCurrentBll = new RandomExamResultCurrentBLL(); //IList<RandomExamResultCurrent> examResults = objResultCurrentBll.GetRandomExamResultInfo(Convert.ToInt32(strExamId)); //string strId = ""; //for (int i = 0; i < examResults.Count; i++) //{ // string strEmId = examResults[i].ExamineeId.ToString(); // if (("," + strId + ",").IndexOf("," + strEmId + ",") < 0) // { // if (strId.Length == 0) // { // strId += strEmId; // } // else // { // strId += "," + strEmId; // } // } //} //ViewState["HasExamId"] = strId; string strSql = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strExamId; OracleAccess db = new OracleAccess(); DataSet ds = db.RunSqlDataSet(strSql); string strId = ""; foreach (DataRow dr in ds.Tables[0].Rows) { if (strId == "") { strId = dr["User_Ids"].ToString(); } else { strId += "," + dr["User_Ids"]; } } ViewState["HasExamId"] = strId; } else { RandomExamResultBLL reBll = new RandomExamResultBLL(); IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(int.Parse(strExamId)); string strId = ""; for (int i = 0; i < examResults.Count; i++) { string strEmId = examResults[i].ExamineeId.ToString(); if (strId.Length == 0) { strId += strEmId; } else { strId += "," + strEmId; } } ViewState["HasExamId"] = strId;; } }
private void BindChoosedGrid(string strId) { HasExamId(); string strExamId = Request.QueryString.Get("id"); //已经参加考试的考生自动填充上 RandomExamResultBLL reBll = new RandomExamResultBLL(); IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(int.Parse(strExamId)); for (int i = 0; i < examResults.Count; i++) { string strEmId = examResults[i].ExamineeId.ToString(); string strOldAllId = "," + strId + ","; if (strOldAllId.IndexOf("," + strEmId + ",") == -1) { if (strId.Length == 0) { strId += strEmId; } else { strId = strEmId + "," + strId; } } } EmployeeBLL psBLL = new EmployeeBLL(); DataSet ds = new DataSet(); //string strIDs = "," + strId + ","; //if (strIDs.Length > 2000) //{ // ds = psBLL.GetEmployeesByEmployeeIdS(strIDs); // if (ds.Tables[0].Rows.Count > 0) // { // gvChoose.DataSource = ds; // gvChoose.DataBind(); // } // else // { // BindEmptyGrid2(); // } //} //else //{ // IList<Employee> objList = psBLL.GetEmployeesByEmployeeId(strIDs); // if (objList.Count > 0) // { // ds.Tables.Add(ConvertToDataTable((IList)objList)); // gvChoose.DataSource = objList; // gvChoose.DataBind(); // } // else // { // BindEmptyGrid2(); // } //} string[] str = strId.Split(','); IList <Employee> objList = new List <Employee>(); if (str[0] != "") { OracleAccess db = new OracleAccess(); string strSql; string strQuery = GetSql(); ArrayList objEmloyeeList = new ArrayList(); if (!string.IsNullOrEmpty(strQuery)) { IList <Employee> objSelectList = psBLL.GetEmployeeByWhereClause("1=1" + strQuery); foreach (Employee employee in objSelectList) { objEmloyeeList.Add(employee.EmployeeID.ToString()); } } for (int i = 0; i < str.Length; i++) { if (string.IsNullOrEmpty(str[i])) { continue; } Employee obj = psBLL.GetChooseEmployeeInfo(str[i]); obj.RowNum = i + 1; //if(string.IsNullOrEmpty(obj.WorkNo)) //{ // strSql = "select identity_cardno from Employee where Employee_ID=" + str[i]; // obj.WorkNo = db.RunSqlDataSet(strSql).Tables[0].Rows[0][0].ToString(); //} if (!string.IsNullOrEmpty(strQuery)) { if (objEmloyeeList.IndexOf(str[i]) >= 0) { objList.Add(obj); } } else { objList.Add(obj); } } if (objList.Count > 0) { ds.Tables.Add(ConvertToDataTable((IList)objList)); if (ViewState["Sort"] != null) { try { ds.Tables[0].DefaultView.Sort = ViewState["Sort"].ToString(); } catch { } } DataColumn dc = ds.Tables[0].Columns.Add("ComputeRoom"); strSql = "select a.*,c.Short_Name||'-'||b.Computer_Room_Name as ComputeRoom " + " from Random_Exam_Arrange_Detail a " + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID" + " inner join Org c on b.Org_ID=c.Org_ID" + " where Random_Exam_ID='" + strExamId + "'"; DataSet dsDetail = db.RunSqlDataSet(strSql); foreach (DataRow dr in ds.Tables[0].Rows) { string strUser = "******" + dr["EmployeeID"] + ","; DataRow[] drs = dsDetail.Tables[0].Select("','+User_Ids+',' like '%" + strUser + "%'"); if (drs.Length > 0) { dr["ComputeRoom"] = drs[0]["ComputeRoom"].ToString(); } else { dr["ComputeRoom"] = string.Empty; } } gvChoose.DataSource = ds; gvChoose.DataBind(); } else { BindEmptyGrid2(); } } else { BindEmptyGrid2(); } }