protected void SaveChoose() { string strId = Request.QueryString.Get("id"); string strEndId = ViewState["ChooseId"].ToString(); //for (int i = 0; i < this.gvChoose.Rows.Count; i++) //{ // string strEmId = ((Label)this.gvChoose.Rows[i].FindControl("LabelEmployeeID")).Text; // if (strEndId.Length == 0) // { // strEndId += strEmId; // } // else // { // if (strEndId == "0") // { // strEndId = strEmId; // } // else // { // strEndId += "," + strEmId; // } // } //} if (strEndId == "") { strEndId = "0"; } if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "0") { RandomExamArrange examArrange = new RandomExamArrange(); examArrange.RandomExamId = int.Parse(strId); examArrange.UserIds = strEndId; examArrange.Memo = ""; RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL(); examArrangeBLL.AddRandomExamArrange(examArrange); ViewState["UpdateMode"] = 1; SessionSet.PageMessage = "保存成功!"; return; } if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "1") { RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL(); examArrangeBLL.UpdateRandomExamArrange(int.Parse(strId), strEndId); SessionSet.PageMessage = "保存成功!"; return; } }
protected void ButtonSave_Click(object sender, ImageClickEventArgs e) { string strId = Request.QueryString.Get("id"); string strEndId = ""; for (int i = 0; i < this.Grid2.Rows.Count; i++) { string strEmId = ((Label)this.Grid2.Rows[i].FindControl("LabelEmployeeID")).Text; if (strEndId.Length == 0) { strEndId += strEmId; } else { strEndId += "," + strEmId; } } if (strEndId == "" || strEndId == "0") { SessionSet.PageMessage = "请选择考生!"; return; } if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "0") { RandomExamArrange examArrange = new RandomExamArrange(); examArrange.RandomExamId = int.Parse(strId); examArrange.UserIds = strEndId; examArrange.Memo = ""; RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL(); examArrangeBLL.AddRandomExamArrange(examArrange); ViewState["UpdateMode"] = 1; SessionSet.PageMessage = "保存成功!"; return; } if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "1") { RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL(); examArrangeBLL.UpdateRandomExamArrange(int.Parse(strId), strEndId); SessionSet.PageMessage = "保存成功!"; return; } }
private void SaveRandomExamArrange(string strExamID, string strTrainClassID, string strPostID) { string strSql = ""; Hashtable htUserID = new Hashtable(); string strUserIDs = string.Empty; OracleAccess db = new OracleAccess(); string[] str = strTrainClassID.Split(','); for (int j = 0; j < str.Length; j++) { strSql = "select a.Employee_ID " + "from ZJ_Train_Plan_Employee a " + " inner join Employee b on a.Employee_ID=b.Employee_ID " + " where a.Train_Class_ID=" + str[j] + " and b.Post_ID in (" + strPostID + ")"; DataSet ds = db.RunSqlDataSet(strSql); foreach (DataRow dr in ds.Tables[0].Rows) { if (!htUserID.ContainsKey(dr["Employee_ID"].ToString())) { if (strUserIDs == string.Empty) { strUserIDs = dr["Employee_ID"].ToString(); } else { strUserIDs = strUserIDs + "," + dr["Employee_ID"]; } htUserID.Add(dr["Employee_ID"].ToString(), dr["Employee_ID"].ToString()); } } } RandomExamArrangeBLL objArrangeBll = new RandomExamArrangeBLL(); RandomExamArrange objArrange = new RandomExamArrange(); objArrange.RandomExamId = Convert.ToInt32(strExamID); objArrange.Memo = ""; objArrange.UserIds = strUserIDs; objArrangeBll.AddRandomExamArrange(objArrange); }
protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { ButtonOutPutAll.Attributes.Add("onclick", "return confirm('您确定要移除全部考生吗 ?');"); ButtonInputAll.Attributes.Add("onclick", "return confirm('加入上面列表显示的全部考生可能需要较长时间,您确认吗 ?');"); ViewState["mode"] = Request.QueryString.Get("mode"); ViewState["startmode"] = Request.QueryString.Get("startmode"); if (ViewState["mode"].ToString() == "ReadOnly") { this.ButtonSave.Visible = false; } BindOrgTree(); BindPostTree(); string strId = Request.QueryString.Get("id"); if (strId != null && strId != "") { RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL(); IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId)); if (ExamArranges.Count > 0) { ViewState["ChooseId"] = ExamArranges[0].UserIds; ViewState["UpdateMode"] = 1; } else { ViewState["ChooseId"] = ""; ViewState["UpdateMode"] = 0; } } ViewState["EmploySortField"] = "a.employee_ID"; ViewState["ChooseEmploySortField"] = "EmployeeID"; BindChoosedGrid(ViewState["ChooseId"].ToString(), ViewState["ChooseEmploySortField"].ToString()); ViewState["StartRow"] = 0; ViewState["EndRow"] = Grid1.PageSize; BindGrid(ViewState["EmploySortField"].ToString()); } }
protected void ButtonOutPut_Click(object sender, EventArgs e) { string strAllId = ViewState["ChooseId"].ToString(); if (strAllId == "") { return; } string strOldAllId = "," + strAllId + ","; string strRemove = string.Empty; for (int i = 0; i < this.gvChoose.Rows.Count; i++) { CheckBox CheckBox1 = (CheckBox)this.gvChoose.Rows[i].FindControl("chkSelect2"); string strEmId = ((Label)this.gvChoose.Rows[i].FindControl("LabelEmployeeID")).Text; if (CheckBox1.Checked) { strOldAllId = strOldAllId.Replace(strEmId + ",", ""); if (strRemove == string.Empty) { strRemove = strEmId; } else { strRemove += "," + strEmId; } } } int n = strOldAllId.Length; if (n == 1) { ViewState["ChooseId"] = ""; } else { ViewState["ChooseId"] = strOldAllId.Substring(1, n - 2); } //移除考生需要清楚考生安排明细 string strID = ViewState["ExamID"].ToString(); OracleAccess db = new OracleAccess(); //查询当前考试所有考生安排明细 string strSql = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strID; DataSet dsOther = db.RunSqlDataSet(strSql); //遍历当前需要移除的考生信息,查询考生安排明细是否存在当前需要移除的考生,如果存在则需修改去除该考生 string[] str = strRemove.ToString().Split(','); for (int i = 0; i < str.Length; i++) { string strReplace = "," + str[i] + ","; DataRow[] drs = dsOther.Tables[0].Select("','+User_Ids+',' like '%" + strReplace + "%'"); if (drs.Length > 0) { strSql = "update Random_Exam_Arrange_Detail " + "set User_ids = substr(Replace(','||User_ids||',','" + strReplace + "',','),2,length(Replace(','||User_ids||',','" + strReplace + "',','))-2) " + "where ','|| User_ids || ',' like '%" + strReplace + "%' and Random_Exam_ID=" + strID; if (PrjPub.IsServerCenter) { db.ExecuteNonQuery(strSql); } else { string strConn = ConfigurationManager.ConnectionStrings["OracleCenter"].ConnectionString; OracleAccess dbCenter = new OracleAccess(strConn); dbCenter.ExecuteNonQuery(strSql); RandomExamArrangeBLL objBll = new RandomExamArrangeBLL(); objBll.RefreshRandomExamArrange(); } } hfAddIds.Value = ("," + (hfAddIds.Value.Replace("|", ",")) + ",").Replace(strReplace, ",").TrimStart(',').TrimEnd(',').Replace(",", "|"); } BindChoosedGrid(ViewState["ChooseId"].ToString()); SaveChoose(); }
protected void btnCancel_Click(object sender, EventArgs e) { //移除考生需要清楚考生安排明细 string strID = ViewState["ExamID"].ToString(); OracleAccess db = new OracleAccess(); //查询当前考试所有考生安排明细 string strSql = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strID; DataSet dsOther = db.RunSqlDataSet(strSql); //遍历当前需要移除的考生信息,查询考生安排明细是否存在当前需要移除的考生,如果存在则需修改去除该考生 string[] str = ViewState["AddIds"].ToString().Split('|'); for (int i = 0; i < str.Length; i++) { string strReplace = "," + str[i] + ","; DataRow[] drs = dsOther.Tables[0].Select("','+User_Ids+',' like '%" + strReplace + "%'"); if (drs.Length > 0) { strSql = "update Random_Exam_Arrange_Detail " + "set User_ids = substr(Replace(','||User_ids||',','" + strReplace + "',','),2,length(Replace(','||User_ids||',','" + strReplace + "',','))-2) " + "where ','|| User_ids || ',' like '%" + strReplace + "%' and Random_Exam_ID=" + strID; if (PrjPub.IsServerCenter) { db.ExecuteNonQuery(strSql); } else { string strConn = ConfigurationManager.ConnectionStrings["OracleCenter"].ConnectionString; OracleAccess dbCenter = new OracleAccess(strConn); dbCenter.ExecuteNonQuery(strSql); RandomExamArrangeBLL objBll = new RandomExamArrangeBLL(); objBll.RefreshRandomExamArrange(); } } } //查询考试在当前站段考试的考生信息 strSql = "select a.* from Random_Exam_Arrange_Detail a " + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID" + " where Random_Exam_ID=" + ViewState["ExamID"]; DataSet ds = db.RunSqlDataSet(strSql); string strEndId = string.Empty; foreach (DataRow dr in ds.Tables[0].Rows) { if (strEndId.Length == 0) { strEndId += dr["User_Ids"].ToString(); } else { strEndId += "," + dr["User_Ids"]; } } RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL(); if (!PrjPub.IsServerCenter) { examArrangeBLL.UpdateRandomExamArrangeToServer(int.Parse(ViewState["ExamID"].ToString()), strEndId); } else { examArrangeBLL.UpdateRandomExamArrange(int.Parse(ViewState["ExamID"].ToString()), strEndId); } Response.Write("<script>top.returnValue ='true';top.close();</script>"); }
protected void btnGetPaper_Click(object sender, EventArgs e) { string strId = Request.QueryString.Get("RandomExamID"); if (string.IsNullOrEmpty(strId)) { SessionSet.PageMessage = "缺少参数!"; return; } //获取当前考试的生成试卷的状态和次数 RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam objExam = objBll.GetExam(Convert.ToInt32(strId)); if (!PrjPub.IsServerCenter) { int nowVersion = objBll.GetExamServer(Convert.ToInt32(strId)).Version; if (nowVersion != objExam.Version) { SessionSet.PageMessage = "当前考试版本与路局不匹配,请重新同步基础数据!"; return; } } if (objExam.EndTime < DateTime.Today) { SessionSet.PageMessage = "当前考试已过期,不能生成考试试卷!"; return; } RandomExamComputerServerBLL serverBll = new RandomExamComputerServerBLL(); RandomExamComputerServer server = serverBll.GetRandomExamComputerServer(objExam.RandomExamId, PrjPub.ServerNo); if (server.HasPaper) { SessionSet.PageMessage = "当前考试已生成试卷!"; return; } //获取当前考试的考生信息 RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL(); IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId)); string strChooseID = ""; if (ExamArranges.Count > 0) { strChooseID = ExamArranges[0].UserIds; } else { strChooseID = ""; } string[] str = strChooseID.Split(','); if (str[0] == "") { SessionSet.PageMessage = "请为该考试添加考生!"; return; } ClientScript.RegisterStartupScript(GetType(), "jsSelectFirstNode", @"GetPaper();", true); }
protected void SaveChoose() { string strId = ViewState["ExamID"].ToString(); string strEndId = ""; //for (int i = 0; i < this.gvChoose.Rows.Count; i++) //{ // string strEmId = ((Label)this.gvChoose.Rows[i].FindControl("LabelEmployeeID")).Text; // if (strEndId.Length == 0) // { // strEndId += strEmId; // } // else // { // if (strEndId == "0") // { // strEndId = strEmId; // } // else // { // strEndId += "," + strEmId; // } // } //} //if (ViewState["HasExamId"].ToString() != "" && strEndId != "") //{ // strEndId = ViewState["HasExamId"].ToString() + "," + strEndId; //} //else //{ // strEndId = ""; //} //if (strEndId == "") //{ // strEndId = "0"; //} OracleAccess db = new OracleAccess(); //查询考试在当前站段考试的考生信息 string strSql = "select a.* from Random_Exam_Arrange_Detail a " + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID" + " where Random_Exam_ID=" + strId; DataSet ds = db.RunSqlDataSet(strSql); foreach (DataRow dr in ds.Tables[0].Rows) { if (strEndId.Length == 0) { strEndId += dr["User_Ids"].ToString(); } else { strEndId += "," + dr["User_Ids"]; } } //新增 if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "0") { RandomExamArrange examArrange = new RandomExamArrange(); examArrange.RandomExamId = int.Parse(strId); examArrange.UserIds = strEndId; examArrange.Memo = ""; RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL(); if (!PrjPub.IsServerCenter) { examArrangeBLL.AddRandomExamArrangeToServer(examArrange); } else { examArrangeBLL.AddRandomExamArrange(examArrange); } ViewState["UpdateMode"] = 1; SessionSet.PageMessage = "保存成功!"; return; } //修改 if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "1") { RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL(); if (!PrjPub.IsServerCenter) { examArrangeBLL.UpdateRandomExamArrangeToServer(int.Parse(strId), strEndId); } else { examArrangeBLL.UpdateRandomExamArrange(int.Parse(strId), strEndId); } SessionSet.PageMessage = "保存成功!"; return; } }
protected void SaveChoose() { string strId = Request.QueryString.Get("id"); string strEndId = ViewState["ChooseId"].ToString(); if (strEndId == "") { strEndId = "0"; } else { RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam random = objBll.GetExam(int.Parse(strId)); if (random.RandomExamModularTypeID > 1) { OracleAccess db = new OracleAccess(); string strSql = "select * from Random_Exam_Modular_Type where Random_Exam_Modular_Type_ID=" + random.RandomExamModularTypeID; DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; strSql = "select * from Random_Exam_Modular_Type where Level_Num=" + (Convert.ToInt32(dr["Level_NUM"]) - 1); DataRow drPre = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; strSql = " select a.* " + "from Random_Exam_Result a " + " inner join Random_Exam b on a.Random_Exam_ID=b.Random_Exam_ID " + " left join Random_Exam_Modular_Type c on b.Random_Exam_Modular_Type_ID=c.Random_Exam_Modular_Type_ID " + " where c.Level_Num=" + (Convert.ToInt32(dr["Level_NUM"]) - 1); DataSet ds = db.RunSqlDataSet(strSql); strSql = "select * from Employee where Employee_ID in (" + strEndId + ")"; DataSet dsEmp = db.RunSqlDataSet(strSql); string[] str = strEndId.Split(','); string strErrorMessage = string.Empty; for (int i = 0; i < str.Length; i++) { DataRow[] drs = ds.Tables[0].Select("EXAMINEE_ID=" + str[i]); if (drs.Length == 0) { DataRow[] drsEmp = dsEmp.Tables[0].Select("Employee_ID=" + str[i]); strErrorMessage = "所选考生【" + drsEmp[0]["Employee_Name"] + "】未能通过【" + drPre["Random_Exam_Modular_Type_Name"] + "】考试,不能参加【" + dr["Random_Exam_Modular_Type_Name"] + "】考试!"; break; } } if (!string.IsNullOrEmpty(strErrorMessage)) { SessionSet.PageMessage = strErrorMessage; return; } } } if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "0") { RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL(); IList <RandomExamArrange> objList = examArrangeBLL.GetRandomExamArranges(int.Parse(strId)); if (objList.Count == 0) { RandomExamArrange examArrange = new RandomExamArrange(); examArrange.RandomExamId = int.Parse(strId); examArrange.UserIds = strEndId; examArrange.Memo = ""; if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType")) && !PrjPub.IsServerCenter) { examArrangeBLL.AddRandomExamArrangeToServer(examArrange); } else { examArrangeBLL.AddRandomExamArrange(examArrange); } ViewState["UpdateMode"] = 1; if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType"))) { Response.Write("<script>alert('添加成功!');window.opener.form1.Refresh.value='true';window.opener.form1.submit();window.close();</script>"); } else { string strSql = ""; OracleAccess db = new OracleAccess(); strSql = "update Random_Exam set Is_All_Arrange = 0 where Random_Exam_ID=" + strId; db.ExecuteNonQuery(strSql); SessionSet.PageMessage = "添加成功!"; return; } } else { ViewState["UpdateMode"] = "1"; } } if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "1") { RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL(); IList <RandomExamArrange> objList = examArrangeBLL.GetRandomExamArranges(int.Parse(strId)); string strNew = objList[0].UserIds; string[] str = strEndId.Split(','); for (int i = 0; i < str.Length; i++) { if (("," + strNew + ",").IndexOf("," + str[i] + ",") < 0) { strNew += strNew == string.Empty ? str[i] : "," + str[i]; } } if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType"))) { //examArrangeBLL.UpdateRandomExamArrangeToServer(int.Parse(strId), strAdd); string strAddIds = string.Empty; for (int i = 0; i < str.Length; i++) { if (("," + objList[0].UserIds + ",").IndexOf("," + str[i] + ",") < 0) { strAddIds += strAddIds == string.Empty ? str[i] : "," + str[i]; } } OracleAccess db = new OracleAccess(); OracleAccess dbCenter = new OracleAccess(System.Configuration.ConfigurationManager.ConnectionStrings["OracleCenter"].ConnectionString); 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; if (value == "Oracle") { OracleParameter para1 = new OracleParameter("p_User_Ids", OracleType.Clob); OracleParameter para2 = new OracleParameter("p_random_Exam_ID", OracleType.Number); para2.Value = int.Parse(strId); IDataParameter[] paras = new IDataParameter[] { para1, para2 }; examArrangeBLL.RunUpdateProcedure(true, "USP_random_Exam_Arrange_U", paras, System.Text.Encoding.Unicode.GetBytes(strEndId)); } 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 c.Computer_server_ID=b.Computer_Server_ID" + " where c.Computer_Server_No='" + PrjPub.ServerNo + "' " + " and Random_Exam_ID=" + strId; DataSet ds = db.RunSqlDataSet(strSql); strSql = "update Random_Exam_Arrange_Detail " + "set User_ids = User_ids || '," + strAddIds + "' " + "where Random_Exam_Arrange_Detail_ID =" + ds.Tables[0].Rows[0]["Random_Exam_Arrange_Detail_ID"]; dbCenter.ExecuteNonQuery(strSql); if (!PrjPub.IsServerCenter) { examArrangeBLL.RefreshRandomExamArrange(); } } else { examArrangeBLL.UpdateRandomExamArrange(int.Parse(strId), strNew); } if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType"))) { //SessionSet.PageMessage = "添加成功!"; Response.Write("<script>alert('添加成功!');window.opener.form1.Refresh.value='true';window.opener.form1.submit();window.close();</script>"); } else { string strSql = ""; OracleAccess db = new OracleAccess(); strSql = "update Random_Exam set Is_All_Arrange = 0 where Random_Exam_ID=" + strId; db.ExecuteNonQuery(strSql); SessionSet.PageMessage = "添加成功!"; return; } } }
protected void btnOK_Click(object sender, EventArgs e) { try { btnOK.Visible = false; if (ddlSeat.SelectedValue == "0") { SessionSet.PageMessage = "请选择机位!"; return; } string id = Request.QueryString.Get("id"); string strSql; OracleAccess db = new OracleAccess(); if (ViewState["Old"].ToString() == "True") { strSql = "select * from Random_Exam_Result_Detail where Random_Exam_Result_Detail_ID=" + id; } else { strSql = "select * from Random_Exam_Result_Detail_Temp where Random_Exam_Result_Detail_ID=" + id; } DataSet ds = db.RunSqlDataSet(strSql); if (ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["FingerPrint"] == DBNull.Value) { SessionSet.PageMessage = "当前学生考试不是指纹考试,无需调整机位!"; return; } } if (hfOldRoomID.Value == ddlRoom.SelectedValue) { if (ViewState["Old"].ToString() == "True") { strSql = "update Random_Exam_Result_Detail " + " set Computer_Room_Seat =" + ddlSeat.SelectedValue + " where Random_Exam_Result_Detail_ID=" + id; } else { strSql = "update Random_Exam_Result_Detail_Temp " + " set Computer_Room_Seat =" + ddlSeat.SelectedValue + " where Random_Exam_Result_Detail_ID=" + id; } db.ExecuteNonQuery(strSql); } else { OracleAccess dbCenter = new OracleAccess( System.Configuration.ConfigurationManager.ConnectionStrings["OracleCenter"].ConnectionString); //从旧机房的安排明细中,删除员工ID string strReplace = "," + hfEmployeeID.Value + ","; strSql = "update Random_Exam_Arrange_Detail " + "set User_ids = substr(Replace(','||User_ids||',','" + strReplace + "',','),2,length(Replace(','||User_ids||',','" + strReplace + "',','))-2) " + "where ','|| User_ids || ',' like '%" + strReplace + "%' and Random_Exam_ID=" + hfExamID.Value + " and Computer_Room_ID=" + hfOldRoomID.Value; dbCenter.ExecuteNonQuery(strSql); //查询新机房是否存在安排明细 strSql = " select * from Random_Exam_Arrange_Detail " + " where Random_Exam_ID=" + hfExamID.Value + " and Computer_Room_ID=" + ddlRoom.SelectedValue; DataSet dsNew = dbCenter.RunSqlDataSet(strSql); if (dsNew.Tables[0].Rows.Count > 0) { //在新机房的安排明细中,添加员工ID strSql = "update Random_Exam_Arrange_Detail set User_Ids=User_Ids||'," + hfEmployeeID.Value + "'" + " where Random_Exam_ID=" + hfExamID.Value + " and Computer_Room_ID=" + ddlRoom.SelectedValue; dbCenter.ExecuteNonQuery(strSql); } else { RandomExamArrangeBLL arrangeBll = new RandomExamArrangeBLL(); RandomExamArrange randomExamArrange = arrangeBll.GetRandomExamArranges(Convert.ToInt32(hfExamID.Value))[0]; 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 = randomExamArrange.RandomExamArrangeId; OracleParameter para4 = new OracleParameter("p_random_Exam_ID", OracleType.Number); para4.Value = Convert.ToInt32(hfExamID.Value); OracleParameter para5 = new OracleParameter("p_computer_room_id", OracleType.Number); para5.Value = Convert.ToInt32(ddlRoom.SelectedValue); IDataParameter[] paras = new IDataParameter[] { para1, para2, para3, para4, para5 }; Pub.RunAddProcedure(true, "USP_RANDOM_EXAM_ARRANGE_DE_I", paras, System.Text.Encoding.Unicode.GetBytes(hfEmployeeID.Value)); } //下载安排明细 strSql = "begin dbms_mview.refresh('Random_Exam_Arrange_Detail','?'); end;"; db.ExecuteNonQuery(strSql); if (ViewState["Old"].ToString() == "True") { strSql = "update Random_Exam_Result_Detail " + " set Computer_Room_ID=" + ddlRoom.SelectedValue + " , Computer_Room_Seat =" + ddlSeat.SelectedValue + " where Random_Exam_Result_Detail_ID=" + id; } else { strSql = "update Random_Exam_Result_Detail_Temp " + " set Computer_Room_ID=" + ddlRoom.SelectedValue + " , Computer_Room_Seat =" + ddlSeat.SelectedValue + " where Random_Exam_Result_Detail_ID=" + id; } db.ExecuteNonQuery(strSql); } Response.Write("<script>window.returnValue = 'true',window.close();</script>"); } catch (Exception) { btnOK.Visible = true; SessionSet.PageMessage = "调整失败!"; return; } }
protected void btnSave_Click(object sender, ImageClickEventArgs e) { DataTable dataTable = BindGrid(); if (txtMET2.Text == "") { txtMET2.Text = "1"; } if (chkHasTrainClass.Checked) { if (hfPostID.Value == "") { SessionSet.PageMessage = "带有培训班的考试,必须选择职名!"; return; } } RandomExamBLL examBLL = new RandomExamBLL(); RailExam.Model.RandomExam exam = new RailExam.Model.RandomExam(); string strID = string.Empty; string strMode = ViewState["mode"].ToString(); string strStartMode = ViewState["startmode"].ToString(); RandomExamTrainClassBLL objTrainClassBll = new RandomExamTrainClassBLL(); string[] strPost = hfPostID.Value.Split(','); string strErrorMessage = ""; OracleAccess db = new OracleAccess(); if (strMode == "Insert") { string strExam = "select * from Random_Exam where Exam_Name='" + txtExamName.Text + "'"; if (db.RunSqlDataSet(strExam).Tables[0].Rows.Count > 0) { SessionSet.PageMessage = "该考试名称在系统中已经存在,请重新输入!"; txtExamName.Focus(); return; } if (chkHasTrainClass.Checked) { foreach (DataRow dr in dataTable.Rows) { for (int i = 0; i < strPost.Length; i++) { IList <RandomExamTrainClass> objList = objTrainClassBll.GetRandomExamTrainClassCount(Convert.ToInt32(dr["TrainClassID"].ToString()), Convert.ToInt32(dr["TrainClassSubjectID"].ToString()), Convert.ToInt32(strPost[i])); if (objList.Count > 0) { strErrorMessage = "培训班“" + dr["TrainClassName"] + "”的考试科目“" + dr["TrainClassSubjectName"] + "”已新增当前所选职名的试卷!"; } } } } if (strErrorMessage != "") { SessionSet.PageMessage = strErrorMessage; return; } exam.CategoryId = int.Parse(hfCategoryId.Value); exam.ExamName = txtExamName.Text; exam.Memo = txtMemo.Text; exam.CreatePerson = PrjPub.CurrentLoginUser.EmployeeName; exam.ExamModeId = 1; exam.PassScore = Convert.ToDecimal(txtPassScore.Text); if (rbnExamMode1.Checked) { exam.IsComputerExam = true; } else { exam.IsComputerExam = false; } if (rbnStartMode1.Checked) { exam.StartMode = 1; } else { exam.StartMode = 2; } if (rbnStyle1.Checked) { exam.ExamStyle = 1; } else { exam.ExamStyle = 2; } exam.IsAutoScore = chAutoScore.Checked; exam.CanSeeAnswer = chkCanSeeAnswer.Checked; exam.CanSeeScore = chSeeScore.Checked; exam.IsPublicScore = chPublicScore.Checked; exam.IsUnderControl = chUD.Checked; exam.MaxExamTimes = int.Parse(txtMET2.Text); exam.MinExamTimes = 1; exam.BeginTime = DateTime.Parse(dateBeginTime.DateValue.ToString()); exam.EndTime = DateTime.Parse(dateEndTime.DateValue.ToString()); exam.ExamTypeId = 1; exam.CreateTime = DateTime.Now; exam.Description = txtDescription.Text; exam.ExamTime = int.Parse(txtExamTime.Text); exam.StatusId = 1; exam.PostID = hfPostID.Value; exam.RandomExamModularTypeID = Convert.ToInt32(ddlModularType.SelectedValue); exam.IsReduceError = chkIsReduceScore.Checked; exam.AutoSaveInterval = chkAllItem.Checked ? 1 : 0; if (saveTd.Visible) { exam.SaveStatus = Convert.ToInt32(ddlDate.SelectedValue); if (dateSaveDate.Visible) { if (dateSaveDate.DateValue == null) { SessionSet.PageMessage = "请选择一个存档时间!"; return; } exam.SaveDate = Convert.ToDateTime(dateSaveDate.DateValue); } } else { exam.SaveStatus = 0; exam.SaveDate = null; } //exam.AutoSaveInterval = 0; exam.OrgId = PrjPub.CurrentLoginUser.StationOrgID; exam.HasTrainClass = chkHasTrainClass.Checked; int id = examBLL.AddExam(exam); strID = id.ToString(); if (_isWuhanOnly) { //当考试来源为培训班时,需自动添加考生。 if (chkHasTrainClass.Checked) { foreach (DataRow dr in dataTable.Rows) { RandomExamTrainClass obj = new RandomExamTrainClass(); obj.RandomExamID = Convert.ToInt32(strID); obj.TrainClassID = Convert.ToInt32(dr["TrainClassID"].ToString()); obj.TrainClassSubjectID = Convert.ToInt32(dr["TrainClassSubjectID"].ToString()); objTrainClassBll.AddRandomExamTrainClass(obj); } //ClientScript.RegisterStartupScript(GetType(), // "jsSelectFirstNode", // @"SaveArrange(" + strID + ",'" + strStartMode + "','" + strMode + "');", // true); //string strClause = strID + "|" + strStartMode + "|" + strMode; //ClientScript.RegisterStartupScript(GetType(), "import", "inputCallback.callback('" + strClause + "');", true); try { SaveRandomExamArrange(strID, hfTrainClassID.Value, hfPostID.Value); } catch { SessionSet.PageMessage = "添加考生失败"; return; } Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID); } else { Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID); } } else { Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID); } } else if (strMode == "Edit") { strID = Request.QueryString.Get("id"); if (Pub.HasPaper(Convert.ToInt32(strID))) { Response.Write("<script>alert('该考试已生成试卷,不能被编辑!');window.close();</script>"); return; } string strExam = "select * from Random_Exam where Random_Exam_ID!=" + strID + " and Exam_Name='" + txtExamName.Text + "'"; if (db.RunSqlDataSet(strExam).Tables[0].Rows.Count > 0) { SessionSet.PageMessage = "该考试名称在系统中已经存在,请重新输入!"; txtExamName.Focus(); return; } string strSql = "select * from Random_Exam_Computer_Server where Has_Paper=1 and Random_Exam_ID=" + strID; DataTable dt = db.RunSqlDataSet(strSql).Tables[0]; if (dt.Rows.Count > 0) { SessionSet.PageMessage = "当前考试已经生成试卷,不能继续编辑!"; return; } if (chkHasTrainClass.Checked && ViewState["TrainClass"].ToString() != hfTrainClassID.Value) { foreach (DataRow dr in dataTable.Rows) { for (int i = 0; i < strPost.Length; i++) { IList <RandomExamTrainClass> objList = objTrainClassBll.GetRandomExamTrainClassCount(Convert.ToInt32(dr["TrainClassID"].ToString()), Convert.ToInt32(dr["TrainClassSubjectID"].ToString()), Convert.ToInt32(strPost[i])); if (objList.Count > 0) { if (objList[0].RandomExamID.ToString() != strID) { strErrorMessage = "培训班“" + dr["TrainClassName"] + "”的考试科目“" + dr["TrainClassSubjectName"] + "”已新增当前所选职名的试卷!"; } } } } } if (strErrorMessage != "") { SessionSet.PageMessage = strErrorMessage; return; } exam.CategoryId = Convert.ToInt32(hfCategoryId.Value); exam.ExamName = txtExamName.Text; exam.Memo = txtMemo.Text; exam.RandomExamId = int.Parse(strID); exam.ExamTime = int.Parse(txtExamTime.Text); exam.ExamModeId = 1; exam.PassScore = Convert.ToDecimal(txtPassScore.Text); if (rbnExamMode1.Checked) { exam.IsComputerExam = true; } else { exam.IsComputerExam = false; } if (rbnStartMode1.Checked) { exam.StartMode = 1; } else { exam.StartMode = 2; } if (rbnStyle1.Checked) { exam.ExamStyle = 1; } else { exam.ExamStyle = 2; } exam.BeginTime = DateTime.Parse(dateBeginTime.DateValue.ToString()); exam.EndTime = DateTime.Parse(dateEndTime.DateValue.ToString()); exam.IsAutoScore = chAutoScore.Checked; exam.CanSeeAnswer = chkCanSeeAnswer.Checked; exam.CanSeeScore = chSeeScore.Checked; exam.IsPublicScore = chPublicScore.Checked; exam.IsUnderControl = chUD.Checked; exam.MaxExamTimes = int.Parse(txtMET2.Text); exam.MinExamTimes = 1; exam.ExamTypeId = 1; exam.Description = txtDescription.Text; //exam.AutoSaveInterval = 0; exam.RandomExamModularTypeID = Convert.ToInt32(ddlModularType.SelectedValue); exam.IsReduceError = chkIsReduceScore.Checked; exam.AutoSaveInterval = chkAllItem.Checked ? 1 : 0; if (saveTd.Visible) { exam.SaveStatus = Convert.ToInt32(ddlDate.SelectedValue); if (dateSaveDate.Visible) { if (dateSaveDate.DateValue == null) { SessionSet.PageMessage = "请选择一个存档时间!"; return; } exam.SaveDate = Convert.ToDateTime(dateSaveDate.DateValue); } } else { exam.SaveStatus = 0; exam.SaveDate = null; } RandomExamArrangeBLL objArrangeBll = new RandomExamArrangeBLL(); //当是否为培训班改变或则培训班改变时,需删除考试安排 if (Convert.ToBoolean(ViewState["HasTrainClass"].ToString()) != chkHasTrainClass.Checked || ViewState["TrainClass"].ToString() != hfTrainClassID.Value || ViewState["PostID"].ToString() != hfPostID.Value) { objArrangeBll.DeleteRandomExamArrangeByRandomExamID(Convert.ToInt32(strID)); } if ((Convert.ToBoolean(ViewState["HasTrainClass"].ToString()) != chkHasTrainClass.Checked && !chkHasTrainClass.Checked) || ViewState["TrainClass"].ToString() != hfTrainClassID.Value) { objTrainClassBll.DeleteRandomExamTrainClassByRandomExamID(Convert.ToInt32(strID)); } exam.HasTrainClass = chkHasTrainClass.Checked; exam.PostID = hfPostID.Value; exam.Version = exam.Version + 1; examBLL.UpdateExam(exam); if (_isWuhanOnly) { if (chkHasTrainClass.Checked) { //当培训班或职名发生变化时,更改考生名单 if (ViewState["TrainClass"].ToString() != hfTrainClassID.Value || ViewState["PostID"].ToString() != hfPostID.Value) { objTrainClassBll.DeleteRandomExamTrainClassByRandomExamID(Convert.ToInt32(strID)); foreach (DataRow dr in dataTable.Rows) { RandomExamTrainClass obj = new RandomExamTrainClass(); obj.RandomExamID = Convert.ToInt32(strID); obj.TrainClassID = Convert.ToInt32(dr["TrainClassID"].ToString()); obj.TrainClassSubjectID = Convert.ToInt32(dr["TrainClassSubjectID"].ToString()); objTrainClassBll.AddRandomExamTrainClass(obj); } //ClientScript.RegisterStartupScript(GetType(), //"jsSelectFirstNode", //@"SaveArrange(" + strID + ",'" + strStartMode + "','" + strMode + "');", //true); //string strClause = strID + "|" + strStartMode + "|" + strMode; //ClientScript.RegisterStartupScript(GetType(), "import", "inputCallback.callback('" + strClause + "');", true); try { SaveRandomExamArrange(strID, hfTrainClassID.Value, hfPostID.Value); } catch { SessionSet.PageMessage = "添加考生失败"; return; } Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID); } else { Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID); } } else { Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID); } } else { Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID); } } else { strID = Request.QueryString.Get("id"); Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID); } }
private void GetPaper() { // 根据 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; ViewState["BeginTime"] = DateTime.Now.ToString(); string strId = Request.QueryString.Get("RandomExamID"); //获取当前考试的生成试卷的状态和次数 RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam obj = objBll.GetExam(Convert.ToInt32(strId)); int year = obj.BeginTime.Year; int ExamCount = obj.MaxExamTimes; RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL(); IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId)); string strChooseID = ""; OracleAccess db = new OracleAccess(); OracleAccess dbCenter = new OracleAccess(System.Configuration.ConfigurationManager.ConnectionStrings["OracleCenter"].ConnectionString); string strSql; if (ExamArranges.Count > 0) { 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 c.Computer_server_ID=b.Computer_Server_ID" + " where c.Computer_Server_No='" + PrjPub.ServerNo + "' " + " and Random_Exam_ID=" + strId; DataSet ds = db.RunSqlDataSet(strSql); foreach (DataRow dr in ds.Tables[0].Rows) { if (string.IsNullOrEmpty(strChooseID)) { strChooseID += dr["User_Ids"].ToString(); } else { strChooseID += "," + dr["User_Ids"]; } } } else { strChooseID = ""; } if (strChooseID == "") { Response.Write("<script>top.returnValue='本场考试未在本单位安排考生!';window.close();</script>"); return; } if (db.GetCount("RANDOM_EXAM_ITEM_TEMP_" + year, "TABLE") == 0) { strSql = "create table RANDOM_EXAM_ITEM_TEMP_" + year + " as select * from RANDOM_EXAM_ITEM_" + year + " where 1=2 "; db.ExecuteNonQuery(strSql); } strSql = "insert into RANDOM_EXAM_ITEM_TEMP_" + year + " select * from RANDOM_EXAM_ITEM_" + year + " where Random_Exam_ID=" + strId; db.ExecuteNonQuery(strSql); if (!PrjPub.IsServerCenter) { if (dbCenter.GetCount("RANDOM_EXAM_ITEM_TEMP_" + year, "TABLE") == 0) { strSql = "create table RANDOM_EXAM_ITEM_TEMP_" + year + " as select * from RANDOM_EXAM_ITEM_" + year + " where 1=2 "; dbCenter.ExecuteNonQuery(strSql); } strSql = "insert into RANDOM_EXAM_ITEM_TEMP_" + year + " select * from RANDOM_EXAM_ITEM_" + year + " where Random_Exam_ID=" + strId; dbCenter.ExecuteNonQuery(strSql); } System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('正在计算生成试卷数量,请等待......','" + ((1 * 100) / ((double)2) + "'); </script>"); Response.Write(jsBlock); Response.Flush(); //每次生成试卷之前删除已生成的考试试卷 RandomExamResultCurrentBLL randomExamResultBLL = new RandomExamResultCurrentBLL(); randomExamResultBLL.DelRandomExamResultCurrent(Convert.ToInt32(strId)); System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('正在计算生成试卷数量,请等待......','" + ((2 * 100) / ((double)2) + "'); </script>"); Response.Write(jsBlock); Response.Flush(); System.Threading.Thread.Sleep(200); jsBlock = string.Empty; string[] str = strChooseID.Split(','); RandomExamResultAnswerCurrentBLL randomExamResultAnswerBLL = new RandomExamResultAnswerCurrentBLL(); //定义全局答卷对象List IList <RandomExamResultAnswerCurrent> randomExamResultAnswersCurrentAll = new List <RandomExamResultAnswerCurrent>(); //定义一个考生一次答卷对象List IList <RandomExamResultAnswerCurrent> randomExamResultAnswers = null; int progressNum = 1; for (int n = 1; n <= ExamCount; n++) { for (int m = 0; m < str.Length; m++) { RandomExamResultCurrent randomExamResult = new RandomExamResultCurrent(); randomExamResult.RandomExamId = int.Parse(strId); randomExamResult.AutoScore = 0; randomExamResult.BeginDateTime = DateTime.Parse(ViewState["BeginTime"].ToString()); randomExamResult.CurrentDateTime = DateTime.Parse(ViewState["BeginTime"].ToString()); randomExamResult.ExamTime = 0; randomExamResult.EndDateTime = DateTime.Parse(ViewState["BeginTime"].ToString()); randomExamResult.Score = 0; randomExamResult.OrganizationId = int.Parse(ConfigurationManager.AppSettings["StationID"]); randomExamResult.Memo = ""; randomExamResult.StatusId = 0; randomExamResult.AutoScore = 0; randomExamResult.CorrectRate = 0; randomExamResult.ExamineeId = int.Parse(str[m]); randomExamResult.ExamSeqNo = n; int nRandomExamResultPK = randomExamResultBLL.AddRandomExamResultCurrent(randomExamResult); ViewState["RandomExamResultPK"] = nRandomExamResultPK; strSql = "select a.* from Random_Exam_Arrange_Detail a " + " where ','||User_Ids||',' like '%," + str[m] + ",%' " + " and Random_Exam_ID=" + strId; DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; //strSql = "insert into Random_Exam_Result_Detail(Random_Exam_Result_Detail_ID," // + "Random_Exam_Result_ID,Random_Exam_ID,Employee_ID,Computer_Room_SEAT,Computer_Room_ID) " // + "values(Random_Exam_Result_Detail_SEQ.NextVal," // + nRandomExamResultPK + "," // + randomExamResult.RandomExamId + "," // + randomExamResult.ExamineeId + "," // + "0," + dr["Computer_Room_ID"] + ") "; //db.ExecuteNonQuery(strSql); strSql = "insert into Random_Exam_Result_Detail_Temp(Random_Exam_Result_Detail_ID," + "Random_Exam_Result_ID,Random_Exam_ID,Employee_ID,Computer_Room_SEAT,Computer_Room_ID,Is_Remove) " + "values(Random_Exam_Result_Detail_SEQ.NextVal," + nRandomExamResultPK + "," + randomExamResult.RandomExamId + "," + randomExamResult.ExamineeId + "," + "0," + dr["Computer_Room_ID"] + ",0) "; db.ExecuteNonQuery(strSql); RandomExamItemBLL randomItemBLL = new RandomExamItemBLL(); RandomExamSubjectBLL subjectBLL = new RandomExamSubjectBLL(); RandomExamStrategyBLL strategyBLL = new RandomExamStrategyBLL(); IList <RandomExamSubject> randomExamSubjects = subjectBLL.GetRandomExamSubjectByRandomExamId(int.Parse(strId)); if (randomExamSubjects != null) { Hashtable hashTableItemIds = new Hashtable(); Hashtable htSubjectItemIds = new Hashtable(); for (int i = 0; i < randomExamSubjects.Count; i++) { RandomExamSubject paperSubject = randomExamSubjects[i]; int nSubjectId = paperSubject.RandomExamSubjectId; // int nItemCount = paperSubject.ItemCount; IList <RandomExamStrategy> strategys = strategyBLL.GetRandomExamStrategys(nSubjectId); for (int j = 0; j < strategys.Count; j++) { int nStrategyId = strategys[j].RandomExamStrategyId; int nItemCount = strategys[j].ItemCount; IList <RandomExamItem> itemList = randomItemBLL.GetItemsByStrategyId(nStrategyId, year); // IList<RandomExamItem> itemList = randomItemBLL.GetItemsBySubjectId(nSubjectId); Random ObjRandom = new Random(); Hashtable hashTable = new Hashtable(); Hashtable hashTableCount = new Hashtable(); int index = 0; while (hashTable.Count < nItemCount) { int k = ObjRandom.Next(itemList.Count); hashTableCount[index] = k; index = index + 1; int itemID = itemList[k].ItemId; int examItemID = itemList[k].RandomExamItemId; if (!hashTableItemIds.ContainsKey(itemID)) { hashTable[examItemID] = examItemID; hashTableItemIds[itemID] = itemID; htSubjectItemIds[examItemID] = examItemID; } //if (hashTableCount.Count == itemList.Count && hashTable.Count < nItemCount) //{ // SessionSet.PageMessage = "随机考试在设定的取题范围内的试题量不够,请重新设置取题范围!"; // return; //} } } } foreach (int key in htSubjectItemIds.Keys) { string strItemId = htSubjectItemIds[key].ToString(); RandomExamItem item = randomItemBLL.GetRandomExamItem(Convert.ToInt32(strItemId), year); string nowSelectAnswer = string.Empty; string nowStandardAnswer = string.Empty; if (item.TypeId != PrjPub.ITEMTYPE_FILLBLANK) { Pub.GetNowAnswer(item, out nowSelectAnswer, out nowStandardAnswer); } RandomExamResultAnswerCurrent randomExamResultAnswer = new RandomExamResultAnswerCurrent(); randomExamResultAnswer.RandomExamResultId = nRandomExamResultPK; randomExamResultAnswer.RandomExamItemId = int.Parse(strItemId); randomExamResultAnswer.JudgeStatusId = 0; randomExamResultAnswer.JudgeRemark = string.Empty; randomExamResultAnswer.ExamTime = 0; randomExamResultAnswer.Answer = string.Empty; randomExamResultAnswer.SelectAnswer = nowSelectAnswer; randomExamResultAnswer.StandardAnswer = nowStandardAnswer; randomExamResultAnswerBLL.AddExamResultAnswerCurrent(randomExamResultAnswer); //完型填空子题 IList <RandomExamItem> randomExamItems = randomItemBLL.GetItemsByParentItemID(item.ItemId, obj.RandomExamId, year); foreach (RandomExamItem randomExamItem in randomExamItems) { Pub.GetNowAnswer(randomExamItem, out nowSelectAnswer, out nowStandardAnswer); randomExamResultAnswer = new RandomExamResultAnswerCurrent(); randomExamResultAnswer.RandomExamResultId = nRandomExamResultPK; randomExamResultAnswer.RandomExamItemId = randomExamItem.RandomExamItemId; randomExamResultAnswer.JudgeStatusId = 0; randomExamResultAnswer.JudgeRemark = string.Empty; randomExamResultAnswer.ExamTime = 0; randomExamResultAnswer.Answer = string.Empty; randomExamResultAnswer.SelectAnswer = nowSelectAnswer; randomExamResultAnswer.StandardAnswer = nowStandardAnswer; randomExamResultAnswerBLL.AddExamResultAnswerCurrent(randomExamResultAnswer); } System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('正在生成试卷,请等待......','" + ((progressNum * 100) / ((double)ExamCount * str.Length * htSubjectItemIds.Count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); progressNum++; } } else { SessionSet.PageMessage = "未找到记录!"; } } } bool isRefresh = true; try { objBll.UpdateHasPaper(Convert.ToInt32(strId), PrjPub.ServerNo, true); } catch { strSql = @" update Random_Exam_Computer_Server set has_paper=1 where random_exam_id=" + strId + @" and Computer_server_no='" + PrjPub.ServerNo + @"'"; dbCenter.ExecuteNonQuery(strSql); strSql = @"select count(*) from Random_Exam_Computer_Server where has_paper=1 and random_exam_id=" + strId; int count = Convert.ToInt32(dbCenter.RunSqlDataSet(strSql).Tables[0].Rows[0][0]); if (count > 0) { strSql = @"update Random_Exam set has_paper=1 where random_exam_id=" + strId; dbCenter.ExecuteNonQuery(strSql); } else { strSql = @"update Random_Exam set has_paper=0 where random_exam_id=" + strId; dbCenter.ExecuteNonQuery(strSql); } } //如果考试是随到随考,考试状态自动变为正在进行 if (obj.StartMode == 1) { try { objBll.UpdateIsStart(Convert.ToInt32(strId), PrjPub.ServerNo, 1); isRefresh = false; } catch { strSql = @" update Random_Exam_Computer_Server set Is_Start=1 where random_exam_id=" + strId + @" and Computer_server_no='" + PrjPub.ServerNo + @"'"; dbCenter.ExecuteNonQuery(strSql); strSql = @"select count(*) from Random_Exam_Computer_Server where random_exam_id=" + strId; int totalcount = Convert.ToInt32(dbCenter.RunSqlDataSet(strSql).Tables[0].Rows[0][0]); strSql = @"select count(*) from Random_Exam_Computer_Server where Is_Start=0 and random_exam_id=" + strId; int count = Convert.ToInt32(dbCenter.RunSqlDataSet(strSql).Tables[0].Rows[0][0]); if (totalcount == count) { strSql = @"update Random_Exam set Is_Start=0 where random_exam_id=" + strId; dbCenter.ExecuteNonQuery(strSql); } else { strSql = @"select count(*) from Random_Exam_Computer_Server where Is_Start=1 and random_exam_id=" + strId; count = Convert.ToInt32(dbCenter.RunSqlDataSet(strSql).Tables[0].Rows[0][0]); if (count > 0) { strSql = @"update Random_Exam set Is_Start=1 where random_exam_id=" + strId; dbCenter.ExecuteNonQuery(strSql); } else { strSql = @"select count(*) from Random_Exam_Computer_Server where Is_Start=2 and random_exam_id=" + strId; count = Convert.ToInt32(dbCenter.RunSqlDataSet(strSql).Tables[0].Rows[0][0]); if (count == totalcount) { strSql = @"update Random_Exam set Is_Start=2 where random_exam_id=" + strId; dbCenter.ExecuteNonQuery(strSql); } } } } } else { isRefresh = false; } if (isRefresh) { objBll.RandomExamRefresh(); } SystemLogBLL objLogBll = new SystemLogBLL(); objLogBll.WriteLog("“" + obj.ExamName + "”生成所有考试试卷"); Response.Write("<script>top.returnValue='true';top.close();</script>"); }
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 Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { ButtonOutPutAll.Attributes.Add("onclick", "return confirm('您确定要移除全部考生吗 ?');"); ViewState["mode"] = Request.QueryString.Get("mode"); ViewState["startmode"] = Request.QueryString.Get("startmode"); if (ViewState["mode"].ToString() == "ReadOnly") { this.btnInput.Visible = false; this.ButtonOutPut.Visible = false; this.ButtonOutPutAll.Visible = false; btnSelectComputeRoom.Visible = false; } string strId = Request.QueryString.Get("id"); if (strId != null && strId != "") { hfExamID.Value = strId; RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL(); IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId)); if (ExamArranges.Count > 0) { ViewState["ChooseId"] = ExamArranges[0].UserIds; ViewState["UpdateMode"] = 1; } else { ViewState["ChooseId"] = ""; ViewState["UpdateMode"] = 0; } string strSql = "select Org_ID,Short_Name from Org where level_num=2 order by Parent_ID,Order_Index"; OracleAccess db = new OracleAccess(); DataSet ds = db.RunSqlDataSet(strSql); ListItem item = new ListItem(); item.Text = "--请选择--"; item.Value = "0"; ddlOrg.Items.Add(item); bool hasOrg = false; foreach (DataRow dr in ds.Tables[0].Rows) { item = new ListItem(); item.Text = dr["Short_Name"].ToString(); item.Value = dr["org_ID"].ToString(); ddlOrg.Items.Add(item); if (PrjPub.CurrentLoginUser.StationOrgID.ToString() == dr["org_ID"].ToString()) { hasOrg = true; } } //if (PrjPub.CurrentLoginUser.RoleID != 1) //{ // if (hasOrg) // { // ddlOrg.SelectedValue = PrjPub.CurrentLoginUser.StationOrgID.ToString(); // //ddlOrg.Enabled = false; // } // else // { // ddlOrg.SelectedValue = "0"; // } //} //else //{ // ddlOrg.SelectedValue = "0"; //} ddlOrg.SelectedValue = "0"; //ddlOrg_SelectedIndexChanged(null, null); RandomExamBLL objBll = new RandomExamBLL(); bool hasTrainClass = objBll.GetExam(Convert.ToInt32(strId)).HasTrainClass; if (hasTrainClass) { ViewState["HasTrainClass"] = "1"; btnInput.Enabled = false; //ButtonOutPut.Enabled = false; ButtonOutPutAll.Enabled = false; } else { ViewState["HasTrainClass"] = "0"; } } BindChoosedGrid(ViewState["ChooseId"].ToString()); } //string strChooseID = Request.Form.Get("ChooseID"); //if (strChooseID != "" && strChooseID != null) //{ // ViewState["ChooseId"] = strChooseID; // BindChoosedGrid(ViewState["ChooseId"].ToString()); // SaveChoose(); //} string strRefresh = Request.Form.Get("Refresh"); if (strRefresh != "" && strRefresh != null) { string strId = Request.QueryString.Get("id"); if (strId != null && strId != "") { RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL(); IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId)); if (ExamArranges.Count > 0) { ViewState["ChooseId"] = ExamArranges[0].UserIds; ViewState["UpdateMode"] = 1; } else { ViewState["ChooseId"] = ""; ViewState["UpdateMode"] = 0; } } BindChoosedGrid(ViewState["ChooseId"].ToString()); } string strChooseExamID = Request.Form.Get("ChooseExamID"); if (strChooseExamID != "" && strChooseExamID != null) { RandomExamArrangeBLL objBll = new RandomExamArrangeBLL(); IList <RailExam.Model.RandomExamArrange> ExamArranges = objBll.GetRandomExamArranges(int.Parse(Request.QueryString.Get("id"))); IList <RailExam.Model.RandomExamArrange> objList = objBll.GetRandomExamArranges(int.Parse(strChooseExamID)); if (ExamArranges.Count > 0) { string[] str = ExamArranges[0].UserIds.Split(','); if (objList.Count > 0) { for (int i = 0; i < str.Length; i++) { if (("," + objList[0].UserIds + ",").IndexOf("," + str[i] + ",") != -1) { objList[0].UserIds = ("," + objList[0].UserIds + ",").Replace("," + str[i] + ",", ","); } } if (ExamArranges[0].UserIds == "") { ViewState["ChooseId"] = objList[0].UserIds.TrimEnd(',').TrimStart(','); } else { if (objList[0].UserIds.TrimEnd(',').TrimStart(',') == "") { ViewState["ChooseId"] = ExamArranges[0].UserIds; } else { ViewState["ChooseId"] = ExamArranges[0].UserIds + "," + objList[0].UserIds.TrimEnd(',').TrimStart(','); } } } else { ViewState["ChooseId"] = ExamArranges[0].UserIds; } ViewState["UpdateMode"] = 1; } else { if (objList.Count > 0) { ViewState["ChooseId"] = objList[0].UserIds; } else { ViewState["ChooseId"] = ""; } ViewState["UpdateMode"] = 0; } BindChoosedGrid(ViewState["ChooseId"].ToString()); SaveChoose(); } string strRefreshArrange = Request.Form.Get("RefreshArrange"); if (strRefreshArrange != "" && strRefreshArrange != null) { BindChoosedGrid(ViewState["ChooseId"].ToString()); if (CheckIsAllArrange()) { string strSql = " update Random_Exam set Is_All_Arrange=1 where Random_Exam_ID=" + Request.QueryString.Get("id"); OracleAccess db = new OracleAccess(); db.ExecuteNonQuery(strSql); } } if (Request.Form.Get("StudentInfo") != null && Request.Form.Get("StudentInfo") != "") { DownloadStudentInfoExcel(); } }
private void ExportArrange() { // 根据 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 strExamId = Request.QueryString.Get("id"); RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL(); IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strExamId)); RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam objRandomExam = objBll.GetExam(Convert.ToInt32(Request.QueryString.Get("id"))); EmployeeBLL psBLL = new EmployeeBLL(); DataSet ds = new DataSet(); string[] str = ExamArranges[0].UserIds.Split(','); IList <Employee> objList = new List <Employee>(); if (str[0] != "") { OracleAccess db = new OracleAccess(); string strSql; OrganizationBLL orgBll = new OrganizationBLL(); for (int i = 0; i < str.Length; i++) { Employee obj = psBLL.GetChooseEmployeeInfo(str[i]); obj.RowNum = i + 1; if (PrjPub.CurrentLoginUser.RoleID != 1) { if (orgBll.GetStationOrgID(obj.OrgID) == PrjPub.CurrentLoginUser.StationOrgID) { objList.Add(obj); } } else { objList.Add(obj); } } if (objList.Count > 0) { ds.Tables.Add(ConvertToDataTable((IList)objList)); if (ViewState["Sort"] != null) { ds.Tables[0].DefaultView.Sort = ViewState["Sort"].ToString(); } 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; } } } System.Threading.Thread.Sleep(10); string jsBlock = "<script>SetPorgressBar('导出考生信息','" + ((1 * 100) / ((double)(ds.Tables[0].Rows.Count + 1))).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); #region OWC11 /* * SpreadsheetClass xlsheet = new SpreadsheetClass(); * Worksheet ws = (Worksheet)xlsheet.Worksheets[1]; * ws.Cells.Font.set_Size(10); * ws.Cells.Font.set_Name("宋体"); * * ws.Cells[1, 1] = objRandomExam.ExamName + " 参加考试学员名单"; * Range range = ws.get_Range(ws.Cells[1, 1], ws.Cells[1, 7]); * range.set_MergeCells(true); * range.set_HorizontalAlignment(XlHAlign.xlHAlignCenter); * range.Font.set_Name("宋体"); * * * //write headertext * ws.Cells[2, 1] = "序号"; * ((Range)ws.Cells[2, 1]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter); * * * ws.Cells[2, 2] = "姓名"; * ws.get_Range(ws.Cells[2, 2], ws.Cells[2, 2]).set_MergeCells(true); * ws.get_Range(ws.Cells[2, 2], ws.Cells[2, 2]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter); * * if (PrjPub.IsWuhan()) * { * ws.Cells[2, 3] = "员工编码"; * } * else * { * ws.Cells[2, 3] = "工资编号"; * } * ws.get_Range(ws.Cells[2, 3], ws.Cells[2, 3]).set_MergeCells(true); * ws.get_Range(ws.Cells[2, 3], ws.Cells[2, 3]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter); * * ws.Cells[2, 4] = "职名"; * ws.get_Range(ws.Cells[2, 4], ws.Cells[2, 4]).set_MergeCells(true); * ws.get_Range(ws.Cells[2, 4], ws.Cells[2, 4]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter); * * ws.Cells[2, 5] = "组织机构"; * ws.get_Range(ws.Cells[2, 5], ws.Cells[2, 7]).set_MergeCells(true); * ws.get_Range(ws.Cells[2, 5], ws.Cells[2, 7]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter); * * ws.Cells[2, 8] = "考试地点"; * ws.get_Range(ws.Cells[2, 8], ws.Cells[2, 10]).set_MergeCells(true); * ws.get_Range(ws.Cells[2, 8], ws.Cells[2, 10]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter); * * int j = 0; * foreach(DataRow dr in ds.Tables[0].Rows) * { * ws.Cells[3 + j, 1] = j + 1; * * ws.Cells[3 + j, 2] = dr["EmployeeName"].ToString(); * ws.get_Range(ws.Cells[3 + j, 2], ws.Cells[3 + j, 2]).set_MergeCells(true); * ws.get_Range(ws.Cells[3 + j, 2], ws.Cells[3 + j, 2]).set_HorizontalAlignment(XlHAlign.xlHAlignLeft); * * ws.Cells[3 + j, 3] = "'" + dr["StrWorkNo"].ToString(); * ws.get_Range(ws.Cells[3 + j, 3], ws.Cells[3 + j, 3]).set_MergeCells(true); * ws.get_Range(ws.Cells[3 + j, 3], ws.Cells[3 + j, 3]).set_HorizontalAlignment(XlHAlign.xlHAlignLeft); * * * ws.Cells[3 + j, 4] = dr["PostName"].ToString(); * ws.get_Range(ws.Cells[3 + j, 4], ws.Cells[3 + j, 4]).set_MergeCells(true); * ws.get_Range(ws.Cells[3 + j, 4], ws.Cells[3 + j, 4]).set_HorizontalAlignment(XlHAlign.xlHAlignLeft); * * ws.Cells[3 + j, 5] = dr["OrgName"].ToString(); * ws.get_Range(ws.Cells[3 + j, 5], ws.Cells[3 + j, 7]).set_MergeCells(true); * ws.get_Range(ws.Cells[3 + j, 5], ws.Cells[3 + j, 7]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter); * * ws.Cells[3 + j, 8] = dr["ComputeRoom"].ToString(); * ws.get_Range(ws.Cells[3 + j, 8], ws.Cells[3 + j, 10]).set_MergeCells(true); * ws.get_Range(ws.Cells[3 + j, 8], ws.Cells[3 + j, 10]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter); * * j++; * * System.Threading.Thread.Sleep(10); * jsBlock = "<script>SetPorgressBar('导出考生信息','" + (((j + 1) * 100) / ((double)(ds.Tables[0].Rows.Count + 1))).ToString("0.00") + "'); </script>"; * Response.Write(jsBlock); * Response.Flush(); * } * * ws.Name = "1-1"; * ws.Cells.Columns.AutoFit(); * * * ((Worksheet)xlsheet.Worksheets[1]).Activate(); * * string path = Server.MapPath("../Excel/Excel.xls"); * if (File.Exists(path)) * File.Delete(path); * xlsheet.Export(path, SheetExportActionEnum.ssExportActionNone, SheetExportFormat.ssExportAsAppropriate); */ #endregion Excel.Application objApp = new Excel.ApplicationClass(); Excel.Workbooks objbooks = objApp.Workbooks; Excel.Workbook objbook = objbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet); Excel.Worksheet objSheet = (Excel.Worksheet)objbook.Worksheets[1]; //取得sheet1 Excel.Range rang1; string filename = ""; try { //生成.xls文件完整路径名 filename = Server.MapPath("/RailExamBao/Excel/Excel.xls"); if (File.Exists(filename.ToString())) { File.Delete(filename.ToString()); } objSheet.Cells.Font.Size = 10; objSheet.Cells.Font.Name = "宋体"; objSheet.Cells[1, 1] = objRandomExam.ExamName + " 参加考试学员名单"; rang1 = objSheet.get_Range(objSheet.Cells[1, 1], objSheet.Cells[1, 6]); rang1.Merge(0); rang1.HorizontalAlignment = XlHAlign.xlHAlignCenter; rang1.Font.Bold = true; objSheet.Cells.Font.Size = 17; objSheet.Cells.Font.Name = "宋体"; objSheet.Cells.Font.Size = 12; objSheet.Cells.Font.Name = "宋体"; //write headertext objSheet.Cells[2, 1] = "序号"; ((Excel.Range)objSheet.Cells[2, 1]).HorizontalAlignment = XlHAlign.xlHAlignCenter; objSheet.Cells[2, 2] = "姓名"; objSheet.get_Range(objSheet.Cells[2, 2], objSheet.Cells[2, 2]).Merge(0); objSheet.get_Range(objSheet.Cells[2, 2], objSheet.Cells[2, 2]).HorizontalAlignment = XlHAlign.xlHAlignCenter; objSheet.Cells[2, 3] = "员工编码"; objSheet.get_Range(objSheet.Cells[2, 3], objSheet.Cells[2, 3]).Merge(0); objSheet.get_Range(objSheet.Cells[2, 3], objSheet.Cells[2, 3]).HorizontalAlignment = XlHAlign.xlHAlignCenter; objSheet.Cells[2, 4] = "职名"; objSheet.get_Range(objSheet.Cells[2, 4], objSheet.Cells[2, 4]).Merge(0); objSheet.get_Range(objSheet.Cells[2, 4], objSheet.Cells[2, 4]).HorizontalAlignment = XlHAlign.xlHAlignCenter; objSheet.Cells[2, 5] = "组织机构(车间)"; objSheet.get_Range(objSheet.Cells[2, 5], objSheet.Cells[2, 5]).Merge(0); objSheet.get_Range(objSheet.Cells[2, 5], objSheet.Cells[2, 5]).HorizontalAlignment = XlHAlign.xlHAlignCenter; objSheet.Cells[2, 6] = "考试地点"; objSheet.get_Range(objSheet.Cells[2, 6], objSheet.Cells[2, 6]).Merge(0); objSheet.get_Range(objSheet.Cells[2, 6], objSheet.Cells[2, 6]).HorizontalAlignment = XlHAlign.xlHAlignCenter; int j = 0; foreach (DataRow dr in ds.Tables[0].Rows) { objSheet.Cells[3 + j, 1] = j + 1; objSheet.Cells[3 + j, 2] = dr["EmployeeName"].ToString(); objSheet.get_Range(objSheet.Cells[6 + j, 2], objSheet.Cells[6 + j, 2]).Merge(0); objSheet.get_Range(objSheet.Cells[6 + j, 2], objSheet.Cells[6 + j, 2]).HorizontalAlignment = XlHAlign.xlHAlignLeft; objSheet.Cells[3 + j, 3] = "'" + dr["StrWorkNo"].ToString(); objSheet.get_Range(objSheet.Cells[3 + j, 3], objSheet.Cells[3 + j, 3]).Merge(0); objSheet.get_Range(objSheet.Cells[3 + j, 3], objSheet.Cells[3 + j, 3]).HorizontalAlignment = XlHAlign.xlHAlignLeft; objSheet.Cells[3 + j, 4] = dr["PostName"].ToString(); objSheet.get_Range(objSheet.Cells[3 + j, 4], objSheet.Cells[3 + j, 4]).Merge(0); objSheet.get_Range(objSheet.Cells[3 + j, 4], objSheet.Cells[3 + j, 4]).HorizontalAlignment = XlHAlign.xlHAlignLeft; objSheet.Cells[3 + j, 5] = dr["OrgName"].ToString(); objSheet.get_Range(objSheet.Cells[3 + j, 5], objSheet.Cells[3 + j, 5]).Merge(0); objSheet.get_Range(objSheet.Cells[3 + j, 5], objSheet.Cells[3 + j, 5]).HorizontalAlignment = XlHAlign.xlHAlignLeft; objSheet.Cells[3 + j, 6] = dr["ComputeRoom"].ToString(); objSheet.get_Range(objSheet.Cells[3 + j, 6], objSheet.Cells[3 + j, 6]).Merge(0); objSheet.get_Range(objSheet.Cells[3 + j, 6], objSheet.Cells[3 + j, 6]).HorizontalAlignment = XlHAlign.xlHAlignLeft; j++; System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('导出考生信息','" + (((j + 1) * 100) / ((double)(ds.Tables[0].Rows.Count + 1))).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); } objSheet.Cells.Columns.AutoFit(); objApp.Visible = false; objbook.Saved = true; objbook.SaveCopyAs(filename); } catch (Exception ex) { throw ex; } finally { objbook.Close(Type.Missing, filename, Type.Missing); objbooks.Close(); objApp.Application.Workbooks.Close(); objApp.Application.Quit(); objApp.Quit(); GC.Collect(); } } Response.Write("<script>top.returnValue='true';window.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); }
protected void btnOK_Click(object sener, EventArgs e) { if (ddlCompute.SelectedValue == "0") { SessionSet.PageMessage = "请选择微机教室!"; return; } string strID = Request.QueryString.Get("id"); string strUserIds = hfUserId.Value; RandomExamArrangeBLL arrangeBll = new RandomExamArrangeBLL(); RandomExamArrange randomExamArrange = arrangeBll.GetRandomExamArranges(Convert.ToInt32(strID))[0]; //查询当前考试在所选微机教室下是否存在考生安排明细,如果存在则需要先删除 string strSql = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strID + " and Computer_Room_ID=" + ddlCompute.SelectedValue; OracleAccess db = new OracleAccess(); DataSet ds = db.RunSqlDataSet(strSql); if (ds.Tables[0].Rows.Count > 0) { //删除前,先记录原已安排在所选危机教室的考生,并与新安排的考生信息拼接起来 string strOldIds = ds.Tables[0].Rows[0]["User_Ids"].ToString(); string[] strOld = strOldIds.Split(','); for (int j = 0; j < strOld.Length; j++) { if (("|" + strUserIds + "|").IndexOf("|" + strOld[j] + "|") < 0) { strUserIds += "|" + strOld[j]; } } //删除 strSql = "delete from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strID + " and Computer_Room_ID=" + ddlCompute.SelectedValue; db.ExecuteNonQuery(strSql); } //查询当前考试不在本危机教室下的考生安排明细 strSql = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strID + " and Computer_Room_ID<>" + ddlCompute.SelectedValue; DataSet dsOther = db.RunSqlDataSet(strSql); //遍历当前需要重新安排的考生信息,查询其他考生安排明细是否存在当前需要重新安排的考生,如果存在则需修改去除该考生 string[] str = strUserIds.Split('|'); for (int i = 0; i < str.Length; i++) { string strReplace = "," + str[i] + ","; DataRow[] drs = dsOther.Tables[0].Select("','+User_Ids+',' like '%" + strReplace + "%'"); if (drs.Length > 0) { strSql = "update Random_Exam_Arrange_Detail " + "set User_ids = substr(Replace(','||User_ids||',','" + strReplace + "',','),2,length(Replace(','||User_ids||',','" + strReplace + "',','))-2) " + "where ','|| User_ids || ',' like '%" + strReplace + "%' and Random_Exam_ID=" + strID + " and Computer_Room_ID<>" + ddlCompute.SelectedValue; db.ExecuteNonQuery(strSql); } } //最后删除User_ids为空的考生安排明细信息 strSql = "delete from Random_Exam_Arrange_Detail where User_ids is null and Random_Exam_ID=" + strID + " and Computer_Room_ID<>" + ddlCompute.SelectedValue; db.ExecuteNonQuery(strSql); //添加 XmlDocument doc = new XmlDocument(); 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 = randomExamArrange.RandomExamArrangeId; OracleParameter para4 = new OracleParameter("p_random_Exam_ID", OracleType.Number); para4.Value = Convert.ToInt32(strID); OracleParameter para5 = new OracleParameter("p_computer_room_id", OracleType.Number); para5.Value = Convert.ToInt32(ddlCompute.SelectedValue); 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(strUserIds.Replace("|", ","))); } //向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=" + strID; DataSet dsComputer = db.RunSqlDataSet(strSql); strSql = "select * from Random_Exam_Computer_Server " + " where Random_Exam_ID=" + strID; DataSet dsServer = db.RunSqlDataSet(strSql); foreach (DataRow dr in dsComputer.Tables[0].Rows) { DataRow[] drs = dsServer.Tables[0].Select("Computer_Server_No ='" + dr["Computer_Server_No"] + "'"); if (drs.Length == 0) { string 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 (" + strID + "," + serverNo + ",0,0,0,'',0,0)"; db.ExecuteNonQuery(strSql); } } //删除没有相关微机教室的Random_Exam_Computer_Server数据 strSql = @"delete from random_exam_computer_server where Random_Exam_ID=" + strID + @" and Computer_Server_No not in (select to_number(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 b.Computer_Server_ID=c.Computer_Server_ID where Random_Exam_ID=" + strID + @")"; db.ExecuteNonQuery(strSql); //判断是否所有考生都被安排微机教室 int totalCount = randomExamArrange.UserIds.Split(',').Length; int nowCount = 0; strSql = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strID; DataSet dsNow = db.RunSqlDataSet(strSql); foreach (DataRow dr in dsNow.Tables[0].Rows) { nowCount += dr["User_Ids"].ToString().Split(',').Length; } if (totalCount == nowCount) { strSql = "update Random_Exam set Is_All_Arrange=1 where Random_Exam_ID=" + strID; db.ExecuteNonQuery(strSql); } //更新一次微机教室,将考试版本提高一级 strSql = "update Random_Exam set version=version+1 where Random_Exam_ID=" + Request.QueryString.Get("id"); db.ExecuteNonQuery(strSql); Response.Write("<script>window.returnValue = 'true',window.close();</script>"); }
protected void btnSave_Click(object sender, ImageClickEventArgs e) { DataTable dataTable = BindGrid(); if (txtMET2.Text == "") { txtMET2.Text = "1"; } if (!rbnSubject1.Checked && !rbnSubject2.Checked) { SessionSet.PageMessage = "请选择考试科目类别!"; return; } RandomExamBLL examBLL = new RandomExamBLL(); RailExam.Model.RandomExam exam = new RailExam.Model.RandomExam(); string strID = string.Empty; string strMode = ViewState["mode"].ToString(); string strStartMode = ViewState["startmode"].ToString(); RandomExamTrainClassHaBLL objTrainClassBll = new RandomExamTrainClassHaBLL(); string[] strPost = hfPostID.Value.Split(','); string strErrorMessage = ""; if (strMode == "Insert") { if (chkHasTrainClass.Checked) { foreach (DataRow dr in dataTable.Rows) { for (int i = 0; i < strPost.Length; i++) { IList <RandomExamTrainClassHa> objList = objTrainClassBll.GetRandomExamTrainClassCount(dr["TrainClassID"].ToString(), rbnSubject1.Checked?1:2, Convert.ToInt32(strPost[i])); if (objList.Count > 0) { strErrorMessage = "培训班“" + dr["TrainClassName"] + "”的考试科目“" + (rbnSubject1.Checked ? "安全" : "理论") + "”已新增当前所选职名的试卷!"; } } } } if (strErrorMessage != "") { SessionSet.PageMessage = strErrorMessage; return; } if (DateTime.Parse(dateBeginTime.DateValue.ToString()) < DateTime.Today) { SessionSet.PageMessage = "开始时间不能小于当前日期!"; return; } exam.CategoryId = int.Parse(hfCategoryId.Value); exam.ExamName = txtExamName.Text; exam.Memo = txtMemo.Text; exam.CreatePerson = PrjPub.CurrentLoginUser.EmployeeName; exam.ExamModeId = 1; exam.PassScore = Convert.ToDecimal(txtPassScore.Text); if (rbnExamMode1.Checked) { exam.IsComputerExam = true; } else { exam.IsComputerExam = false; } if (rbnStartMode1.Checked) { exam.StartMode = 1; } else { exam.StartMode = 2; } if (rbnStyle1.Checked) { exam.ExamStyle = 1; } else { exam.ExamStyle = 2; } exam.IsAutoScore = chAutoScore.Checked; exam.CanSeeAnswer = chSeeAnswer.Checked; exam.CanSeeScore = chSeeScore.Checked; exam.IsPublicScore = chPublicScore.Checked; exam.IsUnderControl = chUD.Checked; exam.MaxExamTimes = int.Parse(txtMET2.Text); if (rbnSubject1.Checked) { exam.MinExamTimes = 1; } else if (rbnSubject2.Checked) { exam.MinExamTimes = 2; } exam.BeginTime = DateTime.Parse(dateBeginTime.DateValue.ToString()); exam.EndTime = DateTime.Parse(dateEndTime.DateValue.ToString()); exam.ExamTypeId = 1; exam.CreateTime = DateTime.Now; exam.Description = txtDescription.Text; exam.ExamTime = int.Parse(txtExamTime.Text); exam.StatusId = 1; exam.PostID = hfPostID.Value; exam.TechnicianTypeID = Convert.ToInt32(ddlTech.SelectedValue); exam.IsGroupLeader = Convert.ToInt32(ddlIsGroup.SelectedValue); exam.AutoSaveInterval = 0; exam.OrgId = PrjPub.CurrentLoginUser.StationOrgID; exam.HasTrainClass = chkHasTrainClass.Checked; int id = examBLL.AddExam(exam); strID = id.ToString(); //当考试来源为培训班时,需自动添加考生。 if (chkHasTrainClass.Checked) { foreach (DataRow dr in dataTable.Rows) { RandomExamTrainClassHa obj = new RandomExamTrainClassHa(); obj.RandomExamID = Convert.ToInt32(strID); obj.ArchivesID = dr["TrainClassID"].ToString(); objTrainClassBll.AddRandomExamTrainClass(obj); } //ClientScript.RegisterStartupScript(GetType(), // "jsSelectFirstNode", // @"SaveArrange(" + strID + ",'" + strStartMode + "','" + strMode + "');", // true); string strClause = strID + "|" + strStartMode + "|" + strMode; ClientScript.RegisterStartupScript(GetType(), "import", "inputCallback.callback('" + strClause + "');", true); } else { Response.Redirect("RandomExamSubjectInfo.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID); } } else if (strMode == "Edit") { strID = Request.QueryString.Get("id"); if (chkHasTrainClass.Checked && (ViewState["TrainClass"].ToString() != hfTrainClassID.Value || ViewState["Subject"].ToString() != (rbnSubject1.Checked ? 1 : 2).ToString())) { foreach (DataRow dr in dataTable.Rows) { for (int i = 0; i < strPost.Length; i++) { IList <RandomExamTrainClassHa> objList = objTrainClassBll.GetRandomExamTrainClassCount(dr["TrainClassID"].ToString(), rbnSubject1.Checked ? 1 : 2, Convert.ToInt32(strPost[i])); if (objList.Count > 0) { if (objList[0].RandomExamID.ToString() != strID) { strErrorMessage = "培训班“" + dr["TrainClassName"] + "”的考试科目“" + (rbnSubject1.Checked ? "安全" : "理论") + "”已新增当前所选职名的试卷!"; } } } } } if (strErrorMessage != "") { SessionSet.PageMessage = strErrorMessage; return; } if (DateTime.Parse(dateBeginTime.DateValue.ToString()) < DateTime.Today && ViewState["BeginTime"].ToString() != dateBeginTime.DateValue.ToString()) { SessionSet.PageMessage = "开始时间不能小于当前日期!"; return; } exam.ExamName = txtExamName.Text; exam.Memo = txtMemo.Text; exam.RandomExamId = int.Parse(strID); exam.ExamTime = int.Parse(txtExamTime.Text); exam.ExamModeId = 1; exam.PassScore = Convert.ToDecimal(txtPassScore.Text); if (rbnExamMode1.Checked) { exam.IsComputerExam = true; } else { exam.IsComputerExam = false; } if (rbnStartMode1.Checked) { exam.StartMode = 1; } else { exam.StartMode = 2; } if (rbnStyle1.Checked) { exam.ExamStyle = 1; } else { exam.ExamStyle = 2; } exam.BeginTime = DateTime.Parse(dateBeginTime.DateValue.ToString()); exam.EndTime = DateTime.Parse(dateEndTime.DateValue.ToString()); exam.IsAutoScore = chAutoScore.Checked; exam.CanSeeAnswer = chSeeAnswer.Checked; exam.CanSeeScore = chSeeScore.Checked; exam.IsPublicScore = chPublicScore.Checked; exam.IsUnderControl = chUD.Checked; exam.MaxExamTimes = int.Parse(txtMET2.Text); if (rbnSubject1.Checked) { exam.MinExamTimes = 1; } else if (rbnSubject2.Checked) { exam.MinExamTimes = 2; } exam.ExamTypeId = 1; exam.Description = txtDescription.Text; exam.AutoSaveInterval = 0; exam.PostID = hfPostID.Value; exam.TechnicianTypeID = Convert.ToInt32(ddlTech.SelectedValue); exam.IsGroupLeader = Convert.ToInt32(ddlIsGroup.SelectedValue); RandomExamArrangeBLL objArrangeBll = new RandomExamArrangeBLL(); //当是否为培训班改变或所选培训班改变时,需删除考试安排 if (Convert.ToBoolean(ViewState["HasTrainClass"].ToString()) != chkHasTrainClass.Checked || ViewState["TrainClass"].ToString() != hfTrainClassID.Value || ViewState["PostID"].ToString() != hfPostID.Value) { objArrangeBll.DeleteRandomExamArrangeByRandomExamID(Convert.ToInt32(strID)); } if ((Convert.ToBoolean(ViewState["HasTrainClass"].ToString()) != chkHasTrainClass.Checked && !chkHasTrainClass.Checked) || ViewState["TrainClass"].ToString() != hfTrainClassID.Value) { objTrainClassBll.DeleteRandomExamTrainClassByRandomExamID(Convert.ToInt32(strID)); } exam.HasTrainClass = chkHasTrainClass.Checked; examBLL.UpdateExam(exam); examBLL.UpdateVersion(Convert.ToInt32(strID)); if (chkHasTrainClass.Checked) { if (ViewState["TrainClass"].ToString() != hfTrainClassID.Value || ViewState["PostID"].ToString() != hfPostID.Value) { foreach (DataRow dr in dataTable.Rows) { RandomExamTrainClassHa obj = new RandomExamTrainClassHa(); obj.RandomExamID = Convert.ToInt32(strID); obj.ArchivesID = dr["TrainClassID"].ToString(); objTrainClassBll.AddRandomExamTrainClass(obj); } //ClientScript.RegisterStartupScript(GetType(), //"jsSelectFirstNode", //@"SaveArrange(" + strID + ",'" + strStartMode + "','" + strMode + "');", //true); string strClause = strID + "|" + strStartMode + "|" + strMode; ClientScript.RegisterStartupScript(GetType(), "import", "inputCallback.callback('" + strClause + "');", true); } else { Response.Redirect("RandomExamSubjectInfo.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID); } } else { Response.Redirect("RandomExamSubjectInfo.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID); } } else { strID = Request.QueryString.Get("id"); Response.Redirect("RandomExamSubjectInfo.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID); } }
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 = "复制失败!"; } }
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 Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ButtonInputAll.Attributes.Add("onclick", "return confirm('加入上面列表显示的全部考生可能需要较长时间,您确认吗 ?');"); if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType"))) { ButtonInputAll.Visible = false; } string strId = Request.QueryString.Get("id"); ViewState["ExamID"] = strId; if (strId != null && strId != "") { RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL(); IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId)); if (ExamArranges.Count > 0) { ViewState["ChooseId"] = ExamArranges[0].UserIds; ViewState["UpdateMode"] = 1; } else { ViewState["ChooseId"] = ""; ViewState["UpdateMode"] = 0; } } BindStationStart(); BindOrgStart(); BindWorkShopStart(); BindSystemStart(); BindTypeStart(); BindPostStart(); ListItem item = new ListItem(); item.Text = "--请选择--"; item.Value = "-1"; ddlSafe.Items.Add(item); OracleAccess db = new OracleAccess(); string strSql = "select * from ZJ_Safe_Level order by Order_Index"; DataSet ds = db.RunSqlDataSet(strSql); foreach (DataRow dr in ds.Tables[0].Rows) { item = new ListItem(); item.Text = dr["Safe_Level_Name"].ToString(); item.Value = dr["Safe_Level_ID"].ToString(); ddlSafe.Items.Add(item); } if (PrjPub.CurrentLoginUser.SuitRange != 1) { ddlStation.SelectedValue = PrjPub.CurrentLoginUser.StationOrgID.ToString(); OrganizationBLL objBll = new OrganizationBLL(); IList <Organization> objList = objBll.GetOrganizationsByParentID(Convert.ToInt32(ddlStation.SelectedValue)); foreach (Organization organization in objList) { item = new ListItem(); item.Value = organization.OrganizationId.ToString(); item.Text = organization.ShortName; ddlWorkShop.Items.Add(item); } } ViewState["StartRow"] = 0; ViewState["EndRow"] = Grid1.PageSize; ViewState["EmploySortField"] = "nlssort(a.employee_name,'NLS_SORT=SCHINESE_PINYIN_M')"; RecordCount = GetCount(); //计算总页数(加上OverPage()函数防止有余数造成显示数据不完整) PageCount = RecordCount / Grid1.PageSize + OverPage(); ViewState["RecordCount"] = RecordCount; //保存总页参数到ViewState(减去ModPage()函数防止SQL语句执行时溢出查询范围,可以用存储过程分页算法来理解这句) ViewState["PageCounts"] = RecordCount / Grid1.PageSize - ModPage(); //保存一个为0的页面索引值到ViewState ViewState["PageIndex"] = 0; //保存PageCount到ViewState,跳页时判断用户输入数是否超出页码范围 ViewState["JumpPages"] = PageCount; //显示LPageCount、LRecordCount的状态 this.lbPageCount.Text = PageCount.ToString(); this.lbRecordCount.Text = RecordCount.ToString(); //判断跳页文本框失效 if (RecordCount <= Grid1.PageSize) { btnJumpPage.Enabled = false; } else { btnJumpPage.Enabled = true; } BindGrid(ViewState["EmploySortField"].ToString()); } }
private void GetPaperAfter() { // 根据 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); ViewState["BeginTime"] = DateTime.Now.ToString(); string strId = Request.QueryString.Get("RandomExamID"); //获取当前考试的生成试卷的状态和次数 RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam obj = objBll.GetExam(Convert.ToInt32(strId)); int year = obj.BeginTime.Year; int ExamCount = obj.MaxExamTimes; System.Threading.Thread.Sleep(10); string jsBlock = "<script>SetPorgressBar('正在计算生成试卷数量,请等待......','" + ((1 * 100) / ((double)1) + "'); </script>"); Response.Write(jsBlock); Response.Flush(); if (!PrjPub.IsServerCenter) { RandomExamArrangeBLL objArrangeBll = new RandomExamArrangeBLL(); objArrangeBll.RefreshRandomExamArrange(); } //RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL(); //IList<RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId)); //string strChooseID = ""; //if (ExamArranges.Count > 0) //{ // strChooseID = ExamArranges[0].UserIds; //} //else //{ // strChooseID = ""; //} //RandomExamResultCurrentBLL objResultCurrentBll = new RandomExamResultCurrentBLL(); //IList<RandomExamResultCurrent> examResults = objResultCurrentBll.GetRandomExamResultInfo(Convert.ToInt32(strId)); //for (int i = 0; i < examResults.Count; i++) //{ // strChooseID = ("," + strChooseID + ",").Replace("," + examResults[i].ExamineeId + ",", ","); //} //strChooseID = strChooseID.TrimStart(',').TrimEnd(','); string strChooseID = Request.QueryString.Get("addIds"); if (strChooseID == string.Empty) { return; } string[] str = strChooseID.Split('|'); System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('正在计算生成试卷数量,请等待......','" + ((2 * 100) / ((double)2) + "'); </script>"); Response.Write(jsBlock); Response.Flush(); OracleAccess db = new OracleAccess(); string strSql; RandomExamResultAnswerCurrentBLL randomExamResultAnswerBLL = new RandomExamResultAnswerCurrentBLL(); //定义全局答卷对象List IList <RandomExamResultAnswerCurrent> randomExamResultAnswersCurrentAll = new List <RandomExamResultAnswerCurrent>(); //定义一个考生一次答卷对象List IList <RandomExamResultAnswerCurrent> randomExamResultAnswers = null; System.Threading.Thread.Sleep(200); jsBlock = string.Empty; int progressNum = 1; for (int n = 1; n <= ExamCount; n++) { for (int m = 0; m < str.Length; m++) { RandomExamResultCurrentBLL randomExamResultBLL = new RandomExamResultCurrentBLL(); RandomExamResultCurrent randomExamResult = new RandomExamResultCurrent(); randomExamResult.RandomExamId = int.Parse(strId); randomExamResult.AutoScore = 0; randomExamResult.BeginDateTime = DateTime.Parse(ViewState["BeginTime"].ToString()); randomExamResult.CurrentDateTime = DateTime.Parse(ViewState["BeginTime"].ToString()); randomExamResult.ExamTime = 0; randomExamResult.EndDateTime = DateTime.Parse(ViewState["BeginTime"].ToString()); randomExamResult.Score = 0; randomExamResult.OrganizationId = int.Parse(ConfigurationManager.AppSettings["StationID"]); randomExamResult.Memo = ""; randomExamResult.StatusId = 0; randomExamResult.AutoScore = 0; randomExamResult.CorrectRate = 0; randomExamResult.ExamineeId = int.Parse(str[m]); randomExamResult.ExamSeqNo = n; int nRandomExamResultPK = randomExamResultBLL.AddRandomExamResultCurrent(randomExamResult); ViewState["RandomExamResultPK"] = nRandomExamResultPK; strSql = "select a.* from Random_Exam_Arrange_Detail a " + " where ','||User_Ids||',' like '%," + str[m] + ",%' " + " and Random_Exam_ID=" + strId; DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; //strSql = "insert into Random_Exam_Result_Detail(Random_Exam_Result_Detail_ID," // + "Random_Exam_Result_ID,Random_Exam_ID,Employee_ID,Computer_Room_SEAT,Computer_Room_ID) " // + "values(Random_Exam_Result_Detail_SEQ.NextVal," // + nRandomExamResultPK + "," // + randomExamResult.RandomExamId + "," // + randomExamResult.ExamineeId + "," // + "0," + dr["Computer_Room_ID"] + ") "; //db.ExecuteNonQuery(strSql); strSql = "insert into Random_Exam_Result_Detail_Temp(Random_Exam_Result_Detail_ID," + "Random_Exam_Result_ID,Random_Exam_ID,Employee_ID,Computer_Room_SEAT,Computer_Room_ID,Is_Remove) " + "values(Random_Exam_Result_Detail_SEQ.NextVal," + nRandomExamResultPK + "," + randomExamResult.RandomExamId + "," + randomExamResult.ExamineeId + "," + "0," + dr["Computer_Room_ID"] + ",0) "; db.ExecuteNonQuery(strSql); RandomExamItemBLL randomItemBLL = new RandomExamItemBLL(); RandomExamSubjectBLL subjectBLL = new RandomExamSubjectBLL(); RandomExamStrategyBLL strategyBLL = new RandomExamStrategyBLL(); IList <RandomExamSubject> randomExamSubjects = subjectBLL.GetRandomExamSubjectByRandomExamId(int.Parse(strId)); if (randomExamSubjects != null) { Hashtable hashTableItemIds = new Hashtable(); Hashtable htSubjectItemIds = new Hashtable(); for (int i = 0; i < randomExamSubjects.Count; i++) { RandomExamSubject paperSubject = randomExamSubjects[i]; int nSubjectId = paperSubject.RandomExamSubjectId; // int nItemCount = paperSubject.ItemCount; IList <RandomExamStrategy> strategys = strategyBLL.GetRandomExamStrategys(nSubjectId); for (int j = 0; j < strategys.Count; j++) { int nStrategyId = strategys[j].RandomExamStrategyId; int nItemCount = strategys[j].ItemCount; IList <RandomExamItem> itemList = randomItemBLL.GetItemsByStrategyId(nStrategyId, year); // IList<RandomExamItem> itemList = randomItemBLL.GetItemsBySubjectId(nSubjectId); Random ObjRandom = new Random(); Hashtable hashTable = new Hashtable(); Hashtable hashTableCount = new Hashtable(); int index = 0; while (hashTable.Count < nItemCount) { int k = ObjRandom.Next(itemList.Count); hashTableCount[index] = k; index = index + 1; int itemID = itemList[k].ItemId; int examItemID = itemList[k].RandomExamItemId; if (!hashTableItemIds.ContainsKey(itemID)) { hashTable[examItemID] = examItemID; hashTableItemIds[itemID] = itemID; htSubjectItemIds[examItemID] = examItemID; } //if (hashTableCount.Count == itemList.Count && hashTable.Count < nItemCount) //{ // SessionSet.PageMessage = "随机考试在设定的取题范围内的试题量不够,请重新设置取题范围!"; // return; //} } } } randomExamResultAnswers = new List <RandomExamResultAnswerCurrent>(); foreach (int key in htSubjectItemIds.Keys) { string strItemId = htSubjectItemIds[key].ToString(); RandomExamItem item = randomItemBLL.GetRandomExamItem(Convert.ToInt32(strItemId), year); string nowSelectAnswer = string.Empty; string nowStandardAnswer = string.Empty; if (item.TypeId != PrjPub.ITEMTYPE_FILLBLANK) { Pub.GetNowAnswer(item, out nowSelectAnswer, out nowStandardAnswer); } RandomExamResultAnswerCurrent randomExamResultAnswer = new RandomExamResultAnswerCurrent(); randomExamResultAnswer.RandomExamResultId = nRandomExamResultPK; randomExamResultAnswer.RandomExamItemId = int.Parse(strItemId); randomExamResultAnswer.JudgeStatusId = 0; randomExamResultAnswer.JudgeRemark = string.Empty; randomExamResultAnswer.ExamTime = 0; randomExamResultAnswer.Answer = string.Empty; randomExamResultAnswer.SelectAnswer = nowSelectAnswer; randomExamResultAnswer.StandardAnswer = nowStandardAnswer; randomExamResultAnswerBLL.AddExamResultAnswerCurrent(randomExamResultAnswer); //完型填空子题 IList <RandomExamItem> randomExamItems = randomItemBLL.GetItemsByParentItemID(item.ItemId, obj.RandomExamId, year); foreach (RandomExamItem randomExamItem in randomExamItems) { Pub.GetNowAnswer(randomExamItem, out nowSelectAnswer, out nowStandardAnswer); randomExamResultAnswer = new RandomExamResultAnswerCurrent(); randomExamResultAnswer.RandomExamResultId = nRandomExamResultPK; randomExamResultAnswer.RandomExamItemId = randomExamItem.RandomExamItemId; randomExamResultAnswer.JudgeStatusId = 0; randomExamResultAnswer.JudgeRemark = string.Empty; randomExamResultAnswer.ExamTime = 0; randomExamResultAnswer.Answer = string.Empty; randomExamResultAnswer.SelectAnswer = nowSelectAnswer; randomExamResultAnswer.StandardAnswer = nowStandardAnswer; randomExamResultAnswerBLL.AddExamResultAnswerCurrent(randomExamResultAnswer); } System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('正在生成试卷,请等待......','" + ((progressNum * 100) / ((double)ExamCount * str.Length * htSubjectItemIds.Count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); progressNum++; } } else { SessionSet.PageMessage = "未找到记录!"; } } } //临时添加考生无需更改考试状态,因为考试状态肯定是正在进行和生成试卷 //objBll.UpdateHasPaper(Convert.ToInt32(strId), PrjPub.ServerNo, true); ////如果考试是随到随考,考试状态自动变为正在进行 //if (obj.StartMode == 1) //{ // objBll.UpdateIsStart(Convert.ToInt32(strId), PrjPub.ServerNo, 1); //} SystemLogBLL objLogBll = new SystemLogBLL(); objLogBll.WriteLog("“" + obj.ExamName + "”生成新增考生试卷"); Response.Write("<script>top.returnValue='true';top.close();</script>"); }
protected void btnInput_Click(object sender, EventArgs e) { if (ViewState["EmptyFlag"].ToString() != null && ViewState["EmptyFlag"].ToString() == "1") { return; } string strId = Request.QueryString.Get("id"); string strAllId = hfrbnID.Value; IList <RailExam.Model.Employee> Employees = null; EmployeeBLL psBLL = new EmployeeBLL(); Employees = psBLL.GetEmployeesSelect(Convert.ToInt32(ddlOrg.SelectedValue), ViewState["PinYin"].ToString(), ViewState["WorkNo"].ToString(), ViewState["EmployeeName"].ToString(), "a.employee_Name"); for (int i = 0; i < Employees.Count; i++) { string strEmId = Employees[i].EmployeeID.ToString(); string strOldAllId = strAllId; if (strOldAllId == strEmId) { strAllId = strEmId; } } ViewState["ChooseId"] = strAllId; if (strAllId == "") { SessionSet.PageMessage = "请选择考生!"; return; } else { RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam random = objBll.GetExam(int.Parse(strId)); if (random.RandomExamModularTypeID > 1) { OracleAccess db = new OracleAccess(); string strSql = "select * from Random_Exam_Modular_Type where Random_Exam_Modular_Type_ID=" + random.RandomExamModularTypeID; DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; strSql = "select * from Random_Exam_Modular_Type where Level_Num=" + (Convert.ToInt32(dr["Level_NUM"]) - 1); DataRow drPre = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; strSql = " select a.* " + "from Random_Exam_Result a " + " inner join Random_Exam b on a.Random_Exam_ID=b.Random_Exam_ID " + " left join Random_Exam_Modular_Type c on b.Random_Exam_Modular_Type_ID=c.Random_Exam_Modular_Type_ID " + " where c.Level_Num=" + (Convert.ToInt32(dr["Level_NUM"]) - 1); DataSet ds = db.RunSqlDataSet(strSql); strSql = "select * from Employee where Employee_ID = " + strAllId; DataRow drEmp = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; string strErrorMessage = string.Empty; DataRow[] drs = ds.Tables[0].Select("EXAMINEE_ID=" + strAllId); if (drs.Length == 0) { strErrorMessage = "所选考生【" + drEmp["Employee_Name"] + "】未能通过【" + drPre["Random_Exam_Modular_Type_Name"] + "】考试,不能参加【" + dr["Random_Exam_Modular_Type_Name"] + "】考试!"; } if (!string.IsNullOrEmpty(strErrorMessage)) { SessionSet.PageMessage = strErrorMessage; return; } } } if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "0") { RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL(); IList <RandomExamArrange> objList = examArrangeBLL.GetRandomExamArranges(int.Parse(strId)); if (objList.Count == 0) { RandomExamArrange examArrange = new RandomExamArrange(); examArrange.RandomExamId = int.Parse(strId); examArrange.UserIds = strAllId; examArrange.Memo = ""; examArrangeBLL.AddRandomExamArrange(examArrange); ViewState["UpdateMode"] = 1; if (txtWorkNo.Text != "") { txtWorkNo.Text = ""; txtWorkNo.Focus(); } if (txtPinYin.Text != "") { txtPinYin.Text = ""; txtPinYin.Focus(); } if (txtEmployeeName.Text != "") { txtEmployeeName.Text = ""; txtEmployeeName.Focus(); } BindEmptyGrid1(); SessionSet.PageMessage = "添加成功!"; return; } else { ViewState["UpdateMode"] = "1"; } } if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "1") { RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL(); string strEndId = examArrangeBLL.GetRandomExamArranges(int.Parse(strId))[0].UserIds; if (("," + strEndId + ",").IndexOf("," + strAllId + ",") >= 0) { SessionSet.PageMessage = "该学员已添加!"; return; } if (strEndId == "") { examArrangeBLL.UpdateRandomExamArrange(int.Parse(strId), strAllId); } else { examArrangeBLL.UpdateRandomExamArrange(int.Parse(strId), strEndId + "," + strAllId); } if (txtWorkNo.Text != "") { txtWorkNo.Text = ""; txtWorkNo.Focus(); } if (txtPinYin.Text != "") { txtPinYin.Text = ""; txtPinYin.Focus(); } if (txtEmployeeName.Text != "") { txtEmployeeName.Text = ""; txtEmployeeName.Focus(); } BindEmptyGrid1(); SessionSet.PageMessage = "添加成功!"; ClientScript.RegisterClientScriptBlock(GetType(), "", " window.opener.form1.Refresh.value = 'true',window.opener.form1.submit();", true); return; } }
private void SaveArrange() { OracleAccess db = new OracleAccess(); // 根据 ProgressBar.htm 显示进度条界面 string templateFileName = Path.Combine(Server.MapPath("../RandomExam/"), "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; string strExamID = Request.QueryString.Get("examID"); string strTrainClassID = Request.QueryString.Get("trainclassID"); string strPostID = Request.QueryString.Get("PostID"); string[] str = strTrainClassID.Split(','); string strArchivesID = string.Empty; for (int j = 0; j < str.Length; j++) { if (strArchivesID == string.Empty) { strArchivesID = "'" + str[j] + "'"; } else { strArchivesID = strArchivesID + ",'" + str[j] + "'"; } } string strSql = ""; Hashtable htUserID = new Hashtable(); string strUserIDs = string.Empty; int i = 1; strSql = "select distinct b.Employee_ID " + "from CheckRoll_Info a " + " inner join Employee@LINK_RAILEXAM b on a.Employee_ID=b.Employee_ID" + " where a.Archives_ID in (" + strArchivesID + ") and b.Post_ID in (" + strPostID + ")"; int count = db.RunSqlDataSet(strSql).Tables[0].Rows.Count; for (int j = 0; j < str.Length; j++) { strSql = "select b.Employee_ID " + "from CheckRoll_Info a " + " inner join Employee@LINK_RAILEXAM b on a.Employee_ID=b.Employee_ID" + " where a.Archives_ID='" + str[j] + "' and b.Post_ID in (" + strPostID + ")"; DataSet ds = db.RunSqlDataSet(strSql); foreach (DataRow dr in ds.Tables[0].Rows) { if (!htUserID.ContainsKey(dr["Employee_ID"].ToString())) { if (strUserIDs == string.Empty) { strUserIDs = dr["Employee_ID"].ToString(); } else { strUserIDs = strUserIDs + "," + dr["Employee_ID"]; } htUserID.Add(dr["Employee_ID"].ToString(), dr["Employee_ID"].ToString()); System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('正在添加考生','" + ((i * 100) / ((double)count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); i++; } } } RandomExamArrangeBLL objArrangeBll = new RandomExamArrangeBLL(); RandomExamArrange objArrange = new RandomExamArrange(); objArrange.RandomExamId = Convert.ToInt32(strExamID); objArrange.Memo = ""; objArrange.UserIds = strUserIDs; objArrangeBll.AddRandomExamArrange(objArrange); jsBlock = "<script>SetCompleted('处理完成。'); </script>"; Response.Write(jsBlock); Response.Flush(); Response.Write("<script>top.returnValue='true';window.close();</script>"); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //if (PrjPub.IsWuhan()) //{ // Grid1.Columns[3].HeaderText = "员工编码"; // lblTitle.Text = "员工编码"; //} //else //{ // Grid1.Columns[3].HeaderText = "工资编号"; // lblTitle.Text = "工资编号"; //} lblTitle.Text = "员工编码"; BindEmptyGrid1(); string strId = Request.QueryString.Get("id"); if (strId != null && strId != "") { RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL(); IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId)); if (ExamArranges.Count > 0) { ViewState["UpdateMode"] = 1; } else { ViewState["UpdateMode"] = 0; } } OrganizationBLL objOrgBll = new OrganizationBLL(); IList <RailExam.Model.Organization> objOrgList = objOrgBll.GetOrganizationsByLevel(2); ListItem item = new ListItem(); item.Text = "--请选择--"; item.Value = "0"; ddlOrg.Items.Add(item); foreach (Organization organization in objOrgList) { if (organization.OrganizationId != 1) { item = new ListItem(); item.Text = organization.ShortName; item.Value = organization.OrganizationId.ToString(); ddlOrg.Items.Add(item); } } string strType = Request.QueryString.Get("type"); if (strType != null && strType != "") { btnOK.Visible = true; btnClose.Visible = true; btnInput.Visible = false; ViewState["title"] = "选择学员"; if (PrjPub.CurrentLoginUser.SuitRange == 0) { ddlOrg.SelectedValue = PrjPub.CurrentLoginUser.StationOrgID.ToString(); ddlOrg.Enabled = false; } } else { btnOK.Visible = false; btnClose.Visible = true; btnInput.Visible = true; ViewState["title"] = "单个添加考生"; } ViewState["StartRow"] = 0; ViewState["EndRow"] = Grid1.PageSize; ViewState["EmploySortField"] = "nlssort(a.employee_name,'NLS_SORT=SCHINESE_PINYIN_M')"; } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string strId = Request.QueryString.Get("id"); if (strId != null && strId != "") { hfExamID.Value = strId; RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL(); IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId)); if (ExamArranges.Count > 0) { ViewState["ChooseId"] = ExamArranges[0].UserIds; ViewState["UpdateMode"] = 1; string strSql = "select Org_ID,Short_Name from Org where level_num=2 order by Order_Index"; OracleAccess db = new OracleAccess(); DataSet ds = db.RunSqlDataSet(strSql); ListItem item = new ListItem(); item.Text = "--请选择--"; item.Value = "0"; ddlOrg.Items.Add(item); bool hasOrg = false; foreach (DataRow dr in ds.Tables[0].Rows) { item = new ListItem(); item.Text = dr["Short_Name"].ToString(); item.Value = dr["org_ID"].ToString(); ddlOrg.Items.Add(item); if (PrjPub.CurrentLoginUser.StationOrgID.ToString() == dr["org_ID"].ToString()) { hasOrg = true; } } if (PrjPub.CurrentLoginUser.RoleID != 1) { if (hasOrg) { ddlOrg.SelectedValue = PrjPub.CurrentLoginUser.StationOrgID.ToString(); ddlOrg.Enabled = false; } else { ddlOrg.SelectedValue = "0"; } } else { ddlOrg.SelectedValue = "0"; } ddlOrg_SelectedIndexChanged(null, null); } else { ViewState["ChooseId"] = ""; ViewState["UpdateMode"] = 0; } RandomExamBLL objBll = new RandomExamBLL(); bool hasTrainClass = objBll.GetExam(Convert.ToInt32(strId)).HasTrainClass; if (hasTrainClass) { ViewState["HasTrainClass"] = "1"; } else { ViewState["HasTrainClass"] = "0"; } } BindChoosedGrid(ViewState["ChooseId"].ToString()); } string strRefreshArrange = Request.Form.Get("RefreshArrange"); if (strRefreshArrange != "" && strRefreshArrange != null) { BindChoosedGrid(ViewState["ChooseId"].ToString()); OracleAccess db = new OracleAccess(); string strSql; if (CheckIsAllArrange()) { strSql = " update Random_Exam set Is_All_Arrange=1 where Random_Exam_ID=" + Request.QueryString.Get("id"); db.ExecuteNonQuery(strSql); } } if (Request.Form.Get("StudentInfo") != null && Request.Form.Get("StudentInfo") != "") { DownloadStudentInfoExcel(); } }
protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { try { OracleAccess db1 = new OracleAccess(ConfigurationManager.ConnectionStrings["OracleCenter"].ConnectionString); db1.RunSqlDataSet("select * from Org where level_num=2"); } catch { Response.Write("<script>alert('当前站段服务器无法访问路局服务器,不能临时添加考生!');window.close();</script>"); return; } ViewState["ExamID"] = Request.QueryString.Get("RandomExamID"); string strId = Request.QueryString.Get("RandomExamID"); if (strId != null && strId != "") { RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL(); IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId)); if (ExamArranges.Count > 0) { 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 c.Computer_server_ID=b.Computer_Server_ID" + " where c.Computer_Server_No='" + PrjPub.ServerNo + "' " + " and Random_Exam_ID=" + strId; OracleAccess db = new OracleAccess(); DataSet ds = db.RunSqlDataSet(strSql); string strChooseID = string.Empty; foreach (DataRow dr in ds.Tables[0].Rows) { if (string.IsNullOrEmpty(strChooseID)) { strChooseID += dr["User_Ids"].ToString(); } else { strChooseID += "," + dr["User_Ids"]; } } GetAddIs(strId, ExamArranges[0].UserIds); ViewState["ChooseId"] = strChooseID; ViewState["UpdateMode"] = 1; } else { ViewState["ChooseId"] = ""; ViewState["UpdateMode"] = 0; } } BindChoosedGrid(ViewState["ChooseId"].ToString()); } string strRefresh = Request.Form.Get("Refresh"); if (strRefresh != "" && strRefresh != null) { string strId = ViewState["ExamID"].ToString(); if (strId != null && strId != "") { RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL(); IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId)); if (ExamArranges.Count > 0) { //string strAddIds = string.Empty; //查询出考试所有考生安排明细 OracleAccess db = new OracleAccess(); /* * string strSql = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strId; * DataSet dsAll = db.RunSqlDataSet(strSql); * * //遍历添加考生后的考生主表,查询出添加了哪些考生 * string[] str = ExamArranges[0].UserIds.Split(','); * for (int i = 0; i < str.Length; i++) * { * string strReplace = "," + str[i] + ","; * DataRow[] drs = dsAll.Tables[0].Select("','+User_Ids+',' like '%" + strReplace + "%'"); * * //如果在所有考生安排明细中,查询不到当前编辑的考生ID,说明该考生为新添加 * if (drs.Length == 0) * { * if (strAddIds == string.Empty) * { * strAddIds += str[i]; * } * else * { * strAddIds += "," + str[i]; * } * } * } * * if(hfAddIds.Value == "") * { * hfAddIds.Value = strAddIds.Replace(",", "|"); * } * else * { * hfAddIds.Value += "|" + strAddIds.Replace(",", "|"); * } * * ViewState["AddIds"] = hfAddIds.Value; * */ //查询考试在当前服务器下当前考试的考生信息 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 c.Computer_server_ID=b.Computer_Server_ID" + " where c.Computer_Server_No='" + PrjPub.ServerNo + "' " + " and Random_Exam_ID=" + strId; DataSet ds = db.RunSqlDataSet(strSql); string strChooseID = string.Empty; foreach (DataRow dr in ds.Tables[0].Rows) { if (string.IsNullOrEmpty(strChooseID)) { strChooseID += dr["User_Ids"].ToString(); } else { strChooseID += "," + dr["User_Ids"]; } } GetAddIs(strId, ExamArranges[0].UserIds); /* * * //如果添加了考生,则默认将该考生的考场安排在本站段的某一个微机教室 * if(ds.Tables[0].Rows.Count > 0 && !string.IsNullOrEmpty(strAddIds)) * { * if(PrjPub.IsServerCenter) * { * strSql = "update Random_Exam_Arrange_Detail " + "set User_ids = User_ids || '," + strAddIds + "' " + "where Random_Exam_Arrange_Detail_ID =" + ds.Tables[0].Rows[0]["Random_Exam_Arrange_Detail_ID"]; + db.ExecuteNonQuery(strSql); + } + else + { + eaBll.UpdateRandomExamArrangeDetailToServer(Convert.ToInt32(ds.Tables[0].Rows[0]["Random_Exam_Arrange_Detail_ID"]), strAddIds); + } + + + strChooseID = strChooseID + "," + strAddIds; + } * */ ViewState["ChooseId"] = strChooseID; ViewState["UpdateMode"] = 1; } else { ViewState["ChooseId"] = ""; ViewState["UpdateMode"] = 0; } BindChoosedGrid(ViewState["ChooseId"].ToString()); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //if (PrjPub.IsServerCenter && PrjPub.CurrentLoginUser.SuitRange != 1) //{ // HfUpdateRight.Value = "False"; // HfDeleteRight.Value = "False"; //} //else //{ // HfUpdateRight.Value = PrjPub.HasEditRight("新增考试").ToString(); // HfDeleteRight.Value = PrjPub.HasDeleteRight("新增考试").ToString(); //} hfRailSystemID.Value = PrjPub.GetRailSystemId().ToString(); if (PrjPub.CurrentLoginUser == null) { Response.Redirect("/RailExamBao/Common/Error.aspx?error=Session过期请重新登录本系统!"); return; } if (PrjPub.CurrentLoginUser.IsAdmin && PrjPub.CurrentLoginUser.UseType == 0) { hfIsAdmin.Value = "True"; } else { hfIsAdmin.Value = "False"; } if (PrjPub.HasEditRight("新增考试") && PrjPub.IsServerCenter) { HfUpdateRight.Value = "True"; } else { HfUpdateRight.Value = "False"; } if (PrjPub.HasDeleteRight("新增考试") && PrjPub.IsServerCenter) { HfDeleteRight.Value = "True"; } else { HfDeleteRight.Value = "False"; } ListItem item = new ListItem(); item.Value = Session["StationOrgID"].ToString(); item.Text = "--请选择--"; ddlOrg.Items.Add(item); if (PrjPub.IsServerCenter && PrjPub.CurrentLoginUser.UseType == 0 && PrjPub.CurrentLoginUser.IsAdmin) { ddlOrg.Visible = true; lblOrg.Visible = true; OrganizationBLL objOrgBll = new OrganizationBLL(); IList <Organization> objList = objOrgBll.GetOrganizationsByLevel(2); foreach (Organization organization in objList) { ListItem litem = new ListItem(); litem.Value = organization.OrganizationId.ToString(); litem.Text = organization.ShortName; ddlOrg.Items.Add(litem); } } else { ddlOrg.Visible = false; lblOrg.Visible = false; } hfOrgID.Value = PrjPub.CurrentLoginUser.StationOrgID.ToString(); HfExamCategoryId.Value = Request.QueryString.Get("id"); Grid1.DataBind(); } else { string strDeleteID = Request.Form.Get("DeleteID"); if (!string.IsNullOrEmpty(strDeleteID)) { //RandomExamResultBLL reBll = new RandomExamResultBLL(); //IList<RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(int.Parse(strDeleteID)); //if (examResults.Count > 0) //{ // SessionSet.PageMessage = "已有考生参加考试,该考试不能被删除!"; // Grid1.DataBind(); // return; //} DeleteData(int.Parse(strDeleteID)); Grid1.DataBind(); } if (Request.Form.Get("Refresh") == "true") { Grid1.DataBind(); } if (Request.Form.Get("OutPut") != null && Request.Form.Get("OutPut") != string.Empty) { OutputWord(Request.Form.Get("OutPut")); } if (Request.Form.Get("ResetID") != null && Request.Form.Get("ResetID") != string.Empty) { Grid1.DataBind(); } if (Request.Form.Get("arrangeID") != null && Request.Form.Get("arrangeID") != string.Empty) { string strId = Request.Form.Get("arrangeID"); RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam objExam = objBll.GetExam(Convert.ToInt32(strId)); //if(objExam.HasPaper) //{ // SessionSet.PageMessage = "该考试已经生成试卷,不能重新安排微机教室!"; // Grid1.DataBind(); // return; //} if (!PrjPub.IsServerCenter) { Grid1.DataBind(); return; } if (PrjPub.CurrentLoginUser.RoleID != 1) { OracleAccess db = new OracleAccess(); RandomExamArrangeBLL arrangeBll = new RandomExamArrangeBLL(); IList <RandomExamArrange> arrangeList = arrangeBll.GetRandomExamArranges(Convert.ToInt32(strId)); if (arrangeList.Count == 0) { SessionSet.PageMessage = "该考试还未选择考生,不能安排微机教室!"; Grid1.DataBind(); return; } RandomExamArrange arrange = arrangeList[0]; bool hasOrg = false; string[] str = arrange.UserIds.Split(','); EmployeeBLL employeebll = new EmployeeBLL(); OrganizationBLL orgBll = new OrganizationBLL(); for (int i = 0; i < str.Length; i++) { Employee obj = employeebll.GetEmployee(Convert.ToInt32(str[i])); if (orgBll.GetStationOrgID(obj.OrgID) == PrjPub.CurrentLoginUser.StationOrgID) { hasOrg = true; break; } } if (!hasOrg) { SessionSet.PageMessage = "该考试没有本站段考生,无须安排微机教室!"; Grid1.DataBind(); return; } } Grid1.DataBind(); ClientScript.RegisterStartupScript(GetType(), "jsSelectFirstNode", @"showArrange(" + strId + ");", true); } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack && !searchExamCallBack.IsCallback) { //如果是系统管理员访问站段服务器则没有权限监控站段考试 if (!PrjPub.IsServerCenter && PrjPub.CurrentLoginUser.IsAdmin && PrjPub.CurrentLoginUser.RoleID == 1) { btnGetPaper.Enabled = false; btnDelPaper.Enabled = false; btnStart.Enabled = false; btnStop.Enabled = false; btnEnd.Enabled = false; btnUpload.Enabled = false; btnUploadScore.Enabled = false; HfUpdateRight.Value = "False"; } //if (PrjPub.IsWuhan()) //{ // examsGrid.Levels[0].Columns[3].HeadingText = "员工编码"; //} //else //{ // examsGrid.Levels[0].Columns[3].HeadingText = "工资编号"; //} if (PrjPub.IsServerCenter) { btnUpload.Enabled = false; btnUploadScore.Enabled = false; } //当前站段有两台服务器并且当前服务器为次服务器时屏蔽“删除所有考生试卷”和“上传考试成绩”按钮 //if(!PrjPub.IsServerCenter && PrjPub.HasTwoServer() && !PrjPub.IsMainServer()) //{ // btnGetPaper.Visible = false; // btnDelPaper.Visible = false; // btnUpload.Visible = false; //} hfOrgID.Value = ConfigurationManager.AppSettings["StationID"].ToString(); string strId = Request.QueryString.Get("RandomExamID"); RandomExamArrangeBLL objArrangeBll = new RandomExamArrangeBLL(); IList <RandomExamArrange> objArrangeList = objArrangeBll.GetRandomExamArranges(Convert.ToInt32(strId)); string[] str = { "0" }; hfNowCount.Value = "0"; if (objArrangeList.Count == 1) { string strSql = "select * 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 b.Org_ID='" + ConfigurationManager.AppSettings["StationID"] + "'" + " and c.Computer_Server_No='" + PrjPub.ServerNo + "'" + " and Random_Exam_ID=" + strId; OracleAccess db = new OracleAccess(); DataSet ds = db.RunSqlDataSet(strSql); string strUserId = ""; foreach (DataRow dr in ds.Tables[0].Rows) { if (string.IsNullOrEmpty(strUserId)) { strUserId += dr["User_Ids"].ToString(); } else { strUserId += "," + dr["User_Ids"]; } } strUserId = ("," + strUserId + ",").Replace(",0,", ","); str = ((strUserId.TrimStart(',')).TrimEnd(',')).Split(','); ExamBLL objexambll = new ExamBLL(); IList <RailExam.Model.Exam> objExamList = objexambll.GetExamsInfoByOrgID(null, -1, Convert.ToDateTime("0001-01-01"), Convert.ToDateTime("0001-01-01"), Convert.ToInt32(hfOrgID.Value), PrjPub.IsServerCenter.ToString()); foreach (RailExam.Model.Exam objExam in objExamList) { if (objExam.ExamId == Convert.ToInt32(strId)) { hfNowCount.Value = (str.Length - objExam.ExamineeCount).ToString(); break; } } } //获取当前考试的生成试卷的状态和次数 RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam objRandomExam = objBll.GetExam(Convert.ToInt32(strId)); RandomExamComputerServerBLL serverBll = new RandomExamComputerServerBLL(); RandomExamComputerServer server = serverBll.GetRandomExamComputerServer(objRandomExam.RandomExamId, PrjPub.ServerNo); if (server.HasPaper && objRandomExam.StartMode == 2 && server.IsStart != 0) { lblTitle.Text = "考试验证码:"; lblCode.Text = server.RandomExamCode; btnApply.Visible = true; } if (server.HasPaper && server.IsStart != 2)// && !objRandomExam.HasTrainClass { btnAddEmployee.Visible = true; } if (PrjPub.CurrentLoginUser.EmployeeID != 0) { examsGrid.Levels[0].Columns[12].Visible = false; } } if (!searchExamCallBack.IsCallback) { hfSql.Value = GetSql(); examsGrid.DataBind(); } if (Request.Form.Get("OutPutRandom") != null && Request.Form.Get("OutPutRandom") != "") { OutputWord(Request.Form.Get("OutPutRandom")); } if (Request.Form.Get("StopExam") != null && Request.Form.Get("StopExam") != "") { StopExam(Request.Form.Get("StopExam")); } if (Request.Form.Get("DeleteExam") != null && Request.Form.Get("DeleteExam") != "") { DeleteExam(Request.Form.Get("DeleteExam")); } if (Request.Form.Get("ClearExam") != null && Request.Form.Get("ClearExam") != "") { ClearExam(Request.Form.Get("ClearExam")); } if (Request.Form.Get("ReplyExam") != null && Request.Form.Get("ReplyExam") != "") { ReplyExam(Request.Form.Get("ReplyExam")); } if (Request.Form.Get("IsGet") != null && Request.Form.Get("IsGet") != "") { hfSql.Value = GetSql(); examsGrid.DataBind(); string strId = Request.QueryString.Get("RandomExamID"); RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam obj = objBll.GetExam(Convert.ToInt32(strId)); //if(!obj.HasTrainClass) //{ btnAddEmployee.Visible = true; //} SessionSet.PageMessage = "生成成功!"; } if (Request.Form.Get("IsEnd") != null && Request.Form.Get("IsEnd") != "") { hfSql.Value = GetSql(); examsGrid.DataBind(); SessionSet.PageMessage = "结束考试成功!"; } if (Request.Form.Get("IsUpload") != null && Request.Form.Get("IsUpload") != "") { hfSql.Value = GetSql(); examsGrid.DataBind(); string strId = Request.QueryString.Get("RandomExamID"); 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("IsStart") != null && Request.Form.Get("IsStart") != "") { hfSql.Value = GetSql(); examsGrid.DataBind(); SessionSet.PageMessage = "开始考试成功!"; string strId = Request.QueryString.Get("RandomExamID"); //获取当前考试的生成试卷的状态和次数 RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam objExam = objBll.GetExam(Convert.ToInt32(strId)); RandomExamComputerServerBLL serverBll = new RandomExamComputerServerBLL(); RandomExamComputerServer server = serverBll.GetRandomExamComputerServer(objExam.RandomExamId, PrjPub.ServerNo); if (server.HasPaper && objExam.StartMode == 2) { lblCode.Text = "考试验证码:" + server.RandomExamCode; btnApply.Visible = true; } ClientScript.RegisterStartupScript(GetType(), "jsSelectFirstNode", @"ApplyExam();", true); } if (Request.Form.Get("StudentInfo") != null && Request.Form.Get("StudentInfo") != "" && !searchExamCallBack.IsCallback) { DownloadStudentInfoExcel(); } refreshGridCallback.RefreshInterval = Convert.ToInt32(ConfigurationManager.AppSettings["RefreshInterval"]); btnUpload.Visible = btnUploadScore.Visible = false; // 包神这里用不著上传 2014-03-18 }