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; } }
private void UploadPaper() { // 根据 ProgressBar.htm 显示进度条界面 string templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm"); StreamReader reader = new StreamReader(@templateFileName, System.Text.Encoding.GetEncoding("gb2312")); string html = reader.ReadToEnd(); reader.Close(); Response.Write(html); Response.Flush(); System.Threading.Thread.Sleep(200); string strId = Request.QueryString.Get("RandomExamID"); //获取当前考试的生成试卷的状态和次数 RandomExamBLL objBll = new RandomExamBLL(); RailExam.Model.RandomExam obj = objBll.GetExam(Convert.ToInt32(strId)); string typeid = Request.QueryString.Get("typeid"); string strSql, strKey = "0"; OracleAccess db = new OracleAccess(); int orgId = Convert.ToInt32(ConfigurationManager.AppSettings["StationID"]); try { RandomExamResultBLL objResultBll = new RandomExamResultBLL(); strSql = "select SYNCHRONIZE_LOG_SEQ.NextVal@link_sf from dual"; DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; strKey = dr[0].ToString(); strSql = "insert into SYNCHRONIZE_LOG@link_sf values(" + strKey + "," + orgId + ",6,sysdate,null,1," + PrjPub.ServerNo + ")"; db.ExecuteNonQuery(strSql); strSql = @"select Examinee_ID,Random_Exam_Result_ID from Random_Exam_Result@link_sf where Random_Exam_ID=" + obj.RandomExamId + @" and org_id=" + PrjPub.StationID + @" and examinee_id in (select employee_Id from Random_Exam_Result_Detail a inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID inner join Computer_Server c on b.Computer_Server_ID=c.Computer_Server_ID where to_number(c.Computer_Server_No)=" + PrjPub.ServerNo + @" and a.Random_Exam_ID=" + obj.RandomExamId + ")"; DataSet dsResult = db.RunSqlDataSet(strSql); IList <RandomExamResult> randomExamResults = objResultBll.GetRandomExamResultByExamID(obj.RandomExamId); int count = randomExamResults.Count + dsResult.Tables[0].Rows.Count + 1; System.Threading.Thread.Sleep(10); string jsBlock = "<script>SetPorgressBar('正在上传考试答卷,请等待......','" + ((1 * 100) / ((double)count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); string strUrl = "ftp://" + PrjPub.ServerIP + "/Photo"; Uri directoryToDownload = new Uri(strUrl); FtpClient ftpSession = FtpClient.GetFtpClient(directoryToDownload.Host); if (ftpSession == null) { Pub.AddFtp(); ftpSession = FtpClient.GetFtpClient(directoryToDownload.Host); } ftpSession.MakeDirectory("/Photo/" + obj.RandomExamId); int progressNum = 2; foreach (DataRow drResult in dsResult.Tables[0].Rows) { ftpSession.DeleteFile(new Uri(strUrl + "/" + obj.RandomExamId + "/" + drResult["Examinee_ID"] + "_" + drResult["Random_Exam_Result_ID"] + "_00.jpg")); ftpSession.DeleteFile(new Uri(strUrl + "/" + obj.RandomExamId + "/" + drResult["Examinee_ID"] + "_" + drResult["Random_Exam_Result_ID"] + "_01.jpg")); ftpSession.DeleteFile(new Uri(strUrl + "/" + obj.RandomExamId + "/" + drResult["Examinee_ID"] + "_" + drResult["Random_Exam_Result_ID"] + "_02.jpg")); ftpSession.DeleteFile(new Uri(strUrl + "/" + obj.RandomExamId + "/" + drResult["Examinee_ID"] + "_" + drResult["Random_Exam_Result_ID"] + "_03.jpg")); System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('正在上传考试答卷,请等待......','" + ((progressNum * 100) / ((double)count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); progressNum++; } //先删除路局的考试成绩和答卷 objResultBll.DeleteRandomExamResultServer(obj.RandomExamId); foreach (RandomExamResult randomExamResult in randomExamResults) { if (randomExamResult.IsTemp == 1) { //从中间提交表到正式表 objResultBll.RemoveResultAnswerTemp(randomExamResult.RandomExamResultId); } //获取路局的主键ID strSql = "select Random_Exam_Result_Seq.Nextval@link_sf from dual"; DataRow drSeq = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; int serverId = Convert.ToInt32(drSeq[0]); //将成绩插入路局 objResultBll.InsertRandomExamResultServer(randomExamResult.RandomExamResultId, serverId, obj.RandomExamId); if (typeid == "2") { //将答卷插入路局 objResultBll.InsertRandomExamResultAnswerServer(obj.RandomExamId, randomExamResult.RandomExamResultId, serverId); } strSql = "select * from Random_Exam_Result_Photo where Random_Exam_ID=" + obj.RandomExamId + " and Random_Exam_Result_ID=" + randomExamResult.RandomExamResultId; DataSet ds = db.RunSqlDataSet(strSql); if (ds.Tables[0].Rows.Count > 0) { DataRow drPhoto = ds.Tables[0].Rows[0]; int employeeId = Convert.ToInt32(drPhoto["Employee_ID"]); Uri ftpUri = new Uri(strUrl + "/" + obj.RandomExamId + "/"); if (drPhoto["FingerPrint"] != DBNull.Value) { SavePhotoToServer(employeeId, (byte[])drPhoto["FingerPrint"], 0, serverId, ftpSession, ftpUri); } if (drPhoto["Photo1"] != DBNull.Value) { SavePhotoToServer(employeeId, (byte[])drPhoto["Photo1"], 1, serverId, ftpSession, ftpUri); } if (drPhoto["Photo2"] != DBNull.Value) { SavePhotoToServer(employeeId, (byte[])drPhoto["Photo2"], 2, serverId, ftpSession, ftpUri); } if (drPhoto["Photo3"] != DBNull.Value) { SavePhotoToServer(employeeId, (byte[])drPhoto["Photo3"], 3, serverId, ftpSession, ftpUri); } } System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('正在上传考试答卷,请等待......','" + ((progressNum * 100) / ((double)count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); progressNum++; } if (typeid == "1") { //只上传成绩须更新时间 strSql = "update Random_Exam_Computer_Server@link_sf set " + "Last_Upload_Date=sysdate where random_exam_id=" + obj.RandomExamId + " and Computer_server_no=" + PrjPub.ServerNo; db.ExecuteNonQuery(strSql); } else { //如果考试已经结束上传,将上传标志置为已经上传 if (obj.IsStart == 2) { objBll.UpdateIsUpload(obj.RandomExamId, PrjPub.ServerNo, 1); } else { objBll.UpdateIsUpload(obj.RandomExamId, PrjPub.ServerNo, 0); } } strSql = "update SYNCHRONIZE_LOG@link_sf set SYNCHRONIZE_STATUS_ID=2,End_Time=sysdate where SYNCHRONIZE_LOG_ID=" + strKey; db.ExecuteNonQuery(strSql); } catch (Exception ex) { strSql = "update SYNCHRONIZE_LOG@link_sf set SYNCHRONIZE_STATUS_ID=3,End_Time=sysdate where SYNCHRONIZE_LOG_ID=" + strKey; db.ExecuteNonQuery(strSql); Response.Write("<script>alert('" + ex.Message.Replace("\n", "\r\n") + "');window.close();</script>"); return; } Response.Write("<script>top.returnValue='true';window.close();</script>"); }
private void BindGrid() { string strIDPath = Request.QueryString["id"]; CoursewareBLL coursewareBLL = new CoursewareBLL(); IList <RailExam.Model.Courseware> coursewares = new List <RailExam.Model.Courseware>(); OrganizationBLL orgBll = new OrganizationBLL(); int orgID = orgBll.GetStationOrgID(PrjPub.CurrentLoginUser.OrgID); if (Request.QueryString.Get("type") == "Courseware") { coursewares = coursewareBLL.GetCoursewaresByCoursewareTypeID(Convert.ToInt32(strIDPath), orgID); } else { coursewares = coursewareBLL.GetCoursewaresByTrainTypeID(Convert.ToInt32(strIDPath), orgID); } OracleAccess oa = new OracleAccess(); int railSystemid = PrjPub.RailSystemId(); if (railSystemid != 0) { IList <RailExam.Model.Courseware> coursewaresVia = new List <RailExam.Model.Courseware>(); string sql = String.Format( @"select courseware_id from courseware_RANGE_ORG t where org_Id in (select org_id from org where rail_System_Id={0} and level_num=2) ", railSystemid ); DataSet dscoursewareIDs = oa.RunSqlDataSet(sql); if (dscoursewareIDs != null && dscoursewareIDs.Tables.Count > 0) { foreach (RailExam.Model.Courseware courseware in coursewares) { DataRow[] drs = dscoursewareIDs.Tables[0].Select("courseware_id=" + courseware.CoursewareID); if (drs.Length > 0) { coursewaresVia.Add(courseware); } } coursewares.Clear(); coursewares = coursewaresVia; } } if (coursewares != null) { foreach (RailExam.Model.Courseware obj in coursewares) { if (obj.CoursewareName.Length <= 20) { obj.CoursewareName = "<a onclick=OpenIndex('" + obj.CoursewareID + "') href=# title=" + obj.CoursewareName + " > " + obj.CoursewareName + " </a>"; } else { obj.CoursewareName = "<a onclick=OpenIndex('" + obj.CoursewareID + "') href=# title=" + obj.CoursewareName + " > " + obj.CoursewareName.Substring(0, 20) + "...</a>"; } } Grid1.DataSource = coursewares; Grid1.DataBind(); } }
protected void Page_Load(object sender, EventArgs e) { if (PrjPub.CurrentLoginUser == null) { Response.Redirect("../Common/Error.aspx?error=Session过期请重新登录本系统!"); return; } if (!IsPostBack) { hfLoginID.Value = PrjPub.CurrentLoginUser.EmployeeID.ToString(); if (PrjPub.HasEditRight("职员管理") && PrjPub.IsServerCenter) { HfUpdateRight.Value = "True"; } else { HfUpdateRight.Value = "False"; } if (PrjPub.HasDeleteRight("职员管理") && PrjPub.IsServerCenter) { HfDeleteRight.Value = "True"; } else { HfDeleteRight.Value = "False"; } string strQuery = Request.QueryString.Get("strQuery"); if (!string.IsNullOrEmpty(strQuery)) { string[] str = strQuery.Split('|'); txtName.Text = str[0]; ddlSex.SelectedValue = str[1]; ddlStatus.SelectedValue = str[2]; txtPinYin.Text = str[3]; txtTechnicalCode.Text = str[4]; hfPostID.Value = str[5]; } gridBind(); } string strRefresh = Request.Form.Get("Refresh"); if (!string.IsNullOrEmpty(strRefresh)) { gridBind(); } string strUpdate = Request.Form.Get("UpdatePsw"); if (!string.IsNullOrEmpty(strUpdate)) { SystemUserBLL objBll = new SystemUserBLL(); SystemUser obj = objBll.GetUserByEmployeeID(Convert.ToInt32(strUpdate)); if (obj != null) { obj.Password = "******"; if (PrjPub.IsServerCenter) { objBll.UpdateUser(obj); } else { objBll.UpdateUserPsw(obj.UserID, "111111"); } SessionSet.PageMessage = "初始化密码成功!"; } else { SessionSet.PageMessage = "该员工登录帐户不存在,初始化密码失败!"; } gridBind(); } string strDelete = Request.Form.Get("Delete"); if (!string.IsNullOrEmpty(strDelete)) { try { OracleAccess db = new OracleAccess(); if (PrjPub.CurrentLoginUser.EmployeeID != 0) { //判断该员工是否参加过考试 string strIsArrange = string.Format( "select count(1) from random_exam_arrange where ','||user_ids||',' like '%,{0},%'", strDelete); if (Convert.ToInt32(db.RunSqlDataSet(strIsArrange).Tables[0].Rows[0][0]) > 0) { ClientScript.RegisterStartupScript(GetType(), "NO", "alert('该员工已参加考试,不能删除!');", true); return; } string strSql = "delete from Employee where Employee_ID=" + strDelete; db.ExecuteNonQuery(strSql); } else { string strSql = "select * from Employee where Employee_ID=" + strDelete; DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; EmployeeBLL employeebll = new EmployeeBLL(); employeebll.DeleteEmployee(Convert.ToInt32(strDelete)); SystemLogBLL systemLogBLL = new SystemLogBLL(); systemLogBLL.WriteLog("删除员工:" + dr["Employee_Name"] + "(" + dr["Work_No"] + ")基本信息"); } gridBind(); } catch { SessionSet.PageMessage = "该员工已被引用,不能删除!"; } } if (!string.IsNullOrEmpty(hfPostID.Value)) { PostBLL post = new PostBLL(); txtPost.Text = post.GetPost(Convert.ToInt32(hfPostID.Value)).PostName; } }
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 btnSave_Click(object sender, EventArgs e) { int time; try { time = Convert.ToInt32(txtTime.Text); if (time < 0) { SessionSet.PageMessage = "模拟考试时间请输入正整数!"; return; } if (time > 99) { SessionSet.PageMessage = "模拟考试时间请输入小于99的正整数!"; return; } } catch { SessionSet.PageMessage = "模拟考试时间请输入正整数!"; return; } int number; try { number = Convert.ToInt32(txtNumber.Text); if (number < 0) { SessionSet.PageMessage = "模拟考试题数请输入正整数!"; return; } if (number > 99) { SessionSet.PageMessage = "模拟考试题数请输入小于99的正整数!"; return; } } catch { SessionSet.PageMessage = "模拟考试题数请输入正整数!"; return; } string strSql = "select * from System_Exam where System_Exam_ID=1"; OracleAccess db = new OracleAccess(); DataTable dt = db.RunSqlDataSet(strSql).Tables[0]; if (dt.Rows.Count == 0) { strSql = "insert into System_Exam Values(1,'" + txtMesage.Text + "'," + time + "," + number + ")"; } else { strSql = "update System_Exam set Exam_Message='" + txtMesage.Text + "',Exam_Time=" + time + ",Exam_Number=" + number + " where System_Exam_ID=1"; } db.ExecuteNonQuery(strSql); SessionSet.PageMessage = "保存成功!"; }
//绑定一专多能节点下的Post private void BindPleuripotentPost(int employeeID, int postID) { OracleAccess oa = new OracleAccess(); string selectEmployee = String.Format("select * from EMPLOYEE where EMPLOYEE_ID = {0}", employeeID); DataSet dsEmployee = oa.RunSqlDataSet(selectEmployee); if (dsEmployee != null && dsEmployee.Tables.Count > 0) { DataSet dsPosts = new DataSet(); string selectPosts; string couldPostID = Convert.ToString(dsEmployee.Tables[0].Rows[0]["COULD_POST_ID"]); if (String.IsNullOrEmpty(couldPostID)) { string selectPost = String.Format("select * from POST where POST_ID = {0}", postID); DataSet dsPost = oa.RunSqlDataSet(selectPost); if (dsPost != null && dsPost.Tables.Count > 0) { string promotionPostID = Convert.ToString(dsPost.Tables[0].Rows[0]["PROMOTION_POST_ID"]); if (!String.IsNullOrEmpty(promotionPostID)) { selectPosts = String.Format("select * from POST where POST_ID in ({0})", promotionPostID); dsPosts = oa.RunSqlDataSet(selectPosts); } } } else { selectPosts = String.Format("select * from POST where POST_ID in ({0})", couldPostID); dsPosts = oa.RunSqlDataSet(selectPosts); } if (dsPosts != null && dsPosts.Tables.Count > 0) { TreeViewNode node = FindPleuripotentNode(); if (node != null) { int orgID = PrjPub.CurrentStudent.OrgID; foreach (DataRow row in dsPosts.Tables[0].Rows) { TreeViewNode newNode = new TreeViewNode(); newNode.Text = Convert.ToString(row["POST_NAME"]); newNode.Value = Convert.ToString(row["POST_ID"]); newNode.ID = Convert.ToString(row["POST_ID"]); node.Nodes.Add(newNode); } //string selectCount = "select max(level_num) from knowledge"; //DataSet dsLevelNumCount = oa.RunSqlDataSet(selectCount); //if (dsLevelNumCount != null & dsLevelNumCount.Tables.Count > 0) //{ // int maxLevelNum = Convert.ToInt32(dsLevelNumCount.Tables[0].Rows[0][0]); // foreach (TreeViewNode postNode in node.Nodes) // { // BindKnowledgeByLevelNum(1, 0, postNode, postID); // } //} foreach (TreeViewNode postNode in node.Nodes) { KnowledgeTreeNodeBind(postID, "is_promotion = 1", postNode); } } } } }
protected void btnShowMother_Click(object sender, EventArgs e) { #region 原母题 //改变教材章节,清空母题 string strSql = "delete from random_exam_strategy " + " where random_exam_strategy_id in (" + " select random_exam_strategy_id from " + " random_exam_strategy a " + " inner join Book_Chapter b on a.Range_ID =b.Chapter_ID " + " where a.Is_Mother_Item = 1 "; if (HfRangeType.Value == "3") { strSql += " and b.Book_ID=" + HfChapterId.Value; } else { strSql += " and b.ID_Path ||'/' like (select ID_Path from Book_Chapter where Chapter_ID=" + HfChapterId.Value + ") ||'/%' "; } //有屏蔽章节 if (!string.IsNullOrEmpty(HfExCludeChaptersId.Value)) { strSql += " and b.Chapter_ID not in (" + HfExCludeChaptersId.Value + ") "; } strSql += ")"; OracleAccess db = new OracleAccess(); db.ExecuteNonQuery(strSql); ItemBLL item = new ItemBLL(); BookChapterBLL bookChapterBll = new BookChapterBLL(); strSql = "select GetBookChapterName(Chapter_ID) ChapterName, Chapter_ID as ChapterId,ID_Path as IDPath" + " from Book_Chapter " + " where Is_Mother_Item=1"; int sumTotalCount = 0; if (HfRangeType.Value == "3") { strSql += " and Book_ID='" + HfChapterId.Value + "'"; sumTotalCount = item.GetItemsByBookID(Convert.ToInt32(HfChapterId.Value), Convert.ToInt32(hfItemType.Value)); } else { BookChapter bookChapter = bookChapterBll.GetBookChapter(Convert.ToInt32(HfChapterId.Value)); strSql += " and ID_Path||'/' like '" + bookChapter.IdPath + "/%'"; sumTotalCount = item.GetItemsByBookChapterIdPath(bookChapter.IdPath, Convert.ToInt32(hfItemType.Value)); } //有屏蔽章节 if (!string.IsNullOrEmpty(HfExCludeChaptersId.Value)) { strSql += " and Chapter_ID not in (" + HfExCludeChaptersId.Value + ")"; } DataSet ds = db.RunSqlDataSet(strSql); if (ds.Tables[0].Rows.Count == 0) { mother1.Visible = false; mother2.Visible = false; } else { mother1.Visible = true; mother2.Visible = true; DataColumn dc1 = ds.Tables[0].Columns.Add("MaxItemCount"); DataColumn dc2 = ds.Tables[0].Columns.Add("ItemCount"); DataColumn dc3 = ds.Tables[0].Columns.Add("RandomExamStrategyId"); int i = 1; int sumCount = 0; foreach (DataRow dr in ds.Tables[0].Rows) { dr["MaxItemCount"] = item.GetItemsByBookChapterIdPath(dr["IDPath"].ToString(), Convert.ToInt32(hfItemType.Value)); dr["ItemCount"] = ""; dr["RandomExamStrategyId"] = -i; sumCount += Convert.ToInt32(dr["MaxItemCount"]); i++; } Grid1.DataSource = ds; Grid1.DataBind(); lblMotherInfo.Text = "其中子题最大题数:" + (sumTotalCount - sumCount) + ";母题最大题数:" + sumCount; } #endregion }
public void FillAnswer() { RandomExamBLL objbll = new RandomExamBLL(); RailExam.Model.RandomExam obj = objbll.GetExam(Convert.ToInt32(ViewState["ExamID"])); int year = obj.BeginTime.Year; string strSql = "select * from Random_Exam_Item_" + year + " where Random_Exam_Item_ID=" + ViewState["RandomExamItemID"]; OracleAccess db = new OracleAccess(); DataSet ds = db.RunSqlDataSet(strSql); if (ds.Tables[0].Rows.Count == 0) { return; } DataRow dr = ds.Tables[0].Rows[0]; Response.Write("<table class='contentTable'>"); if (Convert.ToInt32(dr["Type_ID"].ToString()) == 2) //¶àÑ¡ { string[] strAnswer = dr["Select_Answer"].ToString().Split(new char[] { '|' }); for (int n = 0; n < strAnswer.Length; n++) { string strN = intToString(n + 1); string strij = n.ToString(); string strName = n.ToString(); if (("|" + dr["Standard_Answer"] + "|").IndexOf("|" + n + "|") != -1) { Response.Write( "<tr><td> <input type='checkbox' checked='checked' id='Answer" + strij + "' name='Answer" + strName + "' disabled='disabled' > " + strN + "." + strAnswer[n] + "</td></tr>"); lblAnswer.Text = lblAnswer.Text + strN; } else { Response.Write( "<tr><td> <input type='checkbox' id='Answer" + strij + "' name='Answer" + strName + "' disabled='disabled' > " + strN + "." + strAnswer[n] + "</td></tr>"); } } } else //µ¥Ñ¡ { string[] strAnswer = dr["Select_Answer"].ToString().Split(new char[] { '|' }); for (int n = 0; n < strAnswer.Length; n++) { string strN = intToString(n + 1); string strij = n.ToString(); string strName = n.ToString(); if (dr["Standard_Answer"].ToString() == n.ToString()) { Response.Write( "<tr><td> <input type='Radio' checked='checked' id='RAnswer" + strij + "' name='RAnswer" + strName + "' disabled='disabled'> " + strN + "." + strAnswer[n] + "</td></tr>"); lblAnswer.Text = strN; } else { Response.Write( "<tr><td> <input type='Radio' id='RAnswer" + strij + "' name='RAnswer" + strName + "' disabled='disabled'> " + strN + "." + strAnswer[n] + "</td></tr>"); } } } Response.Write("</table>"); }
private void FillPage(int nID) { RandomExamStrategyBLL paperStrategyBookChapterBLL = new RandomExamStrategyBLL(); RandomExamStrategy paperStrategyBookChapter = paperStrategyBookChapterBLL.GetRandomExamStrategy(nID); if (paperStrategyBookChapter != null) { txtMemo.Text = paperStrategyBookChapter.Memo; txtChapterName.Text = paperStrategyBookChapter.RangeName; HfRangeName.Value = paperStrategyBookChapter.RangeName; hfSubjectId.Value = paperStrategyBookChapter.SubjectId.ToString(); HfRangeType.Value = paperStrategyBookChapter.RangeType.ToString(); HfChapterId.Value = paperStrategyBookChapter.RangeId.ToString(); ddlType.SelectedValue = paperStrategyBookChapter.ItemTypeId.ToString(); txtNDR.Text = paperStrategyBookChapter.ItemCount.ToString(); RandomExamSubjectBLL paperStrategySubjectBLL = new RandomExamSubjectBLL(); RandomExamSubject paperStrategySubject = paperStrategySubjectBLL.GetRandomExamSubject(int.Parse(hfSubjectId.Value)); if (paperStrategySubject != null) { hfExamID.Value = paperStrategySubject.RandomExamId.ToString(); txtSubjectName.Text = paperStrategySubject.SubjectName; labelTotalCount.Text = paperStrategySubject.ItemCount.ToString(); IList <RailExam.Model.RandomExamStrategy> RandomExamStrategys = paperStrategyBookChapterBLL.GetRandomExamStrategys(paperStrategySubject.RandomExamSubjectId); int hasCount = 0; foreach (RailExam.Model.RandomExamStrategy randomExamStrategy in RandomExamStrategys) { if (randomExamStrategy.RandomExamStrategyId != nID) { hasCount += randomExamStrategy.ItemCount; } } labelLeaveCount.Text = (paperStrategySubject.ItemCount - hasCount).ToString(); RandomExamResultBLL reBll = new RandomExamResultBLL(); IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(paperStrategySubject.RandomExamId); if (examResults.Count > 0) { ViewState["mode"] = "ReadOnly"; } } string strSql = "select a.random_exam_strategy_id as RandomExamStrategyId,a.Item_Count as ItemCount," + "GetBookChapterName(b.Chapter_ID) ChapterName, b.Chapter_ID as ChapterId,b.ID_Path as IDPath " + "from random_exam_strategy a" + " inner join Book_Chapter b on a.Range_ID=b.Chapter_ID " + " where a.Is_Mother_Item=1 and a.Mother_ID=" + nID; OracleAccess db = new OracleAccess(); DataSet ds = db.RunSqlDataSet(strSql); if (paperStrategyBookChapter.RangeType == 3 && ds.Tables[0].Rows.Count == 0) { txtExCludeChapters.Text = paperStrategyBookChapter.ExcludeChapterId; if (string.IsNullOrEmpty(paperStrategyBookChapter.ExcludeChapterId) == false) { FillExcludeCategorysID(paperStrategyBookChapter.ExcludeChapterId); } } int sumTotalCount = 0; ItemBLL itembll = new ItemBLL(); if (HfRangeType.Value == "3") { sumTotalCount = itembll.GetItemsByBookID(Convert.ToInt32(HfChapterId.Value), Convert.ToInt32(hfItemType.Value)); } else { BookChapterBLL bookChapterBll = new BookChapterBLL(); BookChapter bookChapter = bookChapterBll.GetBookChapter(Convert.ToInt32(HfChapterId.Value)); sumTotalCount = itembll.GetItemsByBookChapterIdPath(bookChapter.IdPath, Convert.ToInt32(hfItemType.Value)); } if (ds.Tables[0].Rows.Count == 0) { mother1.Visible = false; mother2.Visible = false; } else { mother1.Visible = true; mother2.Visible = true; DataColumn dc1 = ds.Tables[0].Columns.Add("MaxItemCount"); ItemBLL item = new ItemBLL(); int sumCount = 0; int sumMaxCount = 0; foreach (DataRow dr in ds.Tables[0].Rows) { dr["MaxItemCount"] = item.GetItemsByBookChapterIdPath(dr["IDPath"].ToString(), Convert.ToInt32(hfItemType.Value)); sumCount += Convert.ToInt32(dr["ItemCount"].ToString()); sumMaxCount += Convert.ToInt32(dr["MaxItemCount"].ToString()); } txtNDR.Text = (paperStrategyBookChapter.ItemCount + sumCount).ToString(); Grid1.DataSource = ds; Grid1.DataBind(); lblMotherInfo.Text = "其中子题最大题数:" + (sumTotalCount - sumMaxCount) + ";母题最大题数:" + sumMaxCount; } strSql = "select * from Item a inner join Book_Chapter b on a.Chapter_ID=b.Chapter_ID " + GetSelectSql(); lblTotalCount.Text = db.RunSqlDataSet(strSql).Tables[0].Rows.Count.ToString(); strSql = " select * from Random_Exam_Item_Select where RANDOM_EXAM_STRATEGY_ID=" + nID; lblSelectCount.Text = db.RunSqlDataSet(strSql).Tables[0].Rows.Count.ToString(); } if (ViewState["mode"].ToString() == "ReadOnly") { SaveButton.Visible = false; CancelButton.Visible = true; ddlType.Enabled = false; txtMemo.Enabled = false; } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string strID = Request.QueryString.Get("id"); ViewState["mode"] = Request.QueryString.Get("mode"); hfItemType.Value = Request.QueryString.Get("itemTypeID"); ddlType.SelectedValue = hfItemType.Value; if (ViewState["mode"].ToString() == "Insert") { string subjectId = Request.QueryString.Get("subjectid"); hfSubjectId.Value = subjectId; if (!string.IsNullOrEmpty(subjectId)) { RandomExamSubjectBLL paperStrategySubjectBLL = new RandomExamSubjectBLL(); RandomExamSubject paperStrategySubject = paperStrategySubjectBLL.GetRandomExamSubject(int.Parse(subjectId)); if (paperStrategySubject != null) { hfExamID.Value = paperStrategySubject.RandomExamId.ToString(); txtSubjectName.Text = paperStrategySubject.SubjectName; ddlType.SelectedValue = paperStrategySubject.ItemTypeId.ToString(); labelTotalCount.Text = paperStrategySubject.ItemCount.ToString(); RandomExamStrategyBLL randomExamStrategyBLL = new RandomExamStrategyBLL(); IList <RailExam.Model.RandomExamStrategy> RandomExamStrategys = randomExamStrategyBLL.GetRandomExamStrategys(paperStrategySubject.RandomExamSubjectId); int hasCount = 0; foreach (RailExam.Model.RandomExamStrategy randomExamStrategy in RandomExamStrategys) { hasCount += randomExamStrategy.ItemCount; } labelLeaveCount.Text = (paperStrategySubject.ItemCount - hasCount).ToString(); txtNDR.Text = labelLeaveCount.Text; RandomExamResultBLL reBll = new RandomExamResultBLL(); IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(paperStrategySubject.RandomExamId); if (examResults.Count > 0) { SaveButton.Visible = false; } } hfSubjectId.Value = subjectId; mother1.Visible = false; mother2.Visible = false; } OracleAccess db = new OracleAccess(); string strSql = "select RANDOM_EXAM_STRATEGY_SEQ.nextval from dual"; DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0]; hfKeyID.Value = dr[0].ToString(); } else { hfKeyID.Value = strID; FillPage(int.Parse(strID)); } } if (!string.IsNullOrEmpty(HfChapterId.Value)) { if (HfRangeType.Value == "4") { BookChapterBLL chapterBll = new BookChapterBLL(); BookChapter chapter = chapterBll.GetBookChapter(Convert.ToInt32(HfChapterId.Value)); txtChapterName.Text = chapter.ChapterName; } else { BookBLL bookBll = new BookBLL(); RailExam.Model.Book book = bookBll.GetBook(Convert.ToInt32(HfChapterId.Value)); txtChapterName.Text = book.bookName; } } if (!string.IsNullOrEmpty(HfExCludeChaptersId.Value)) { string strSql = "select * from Book_Chapter where Chapter_ID in (" + HfExCludeChaptersId.Value + ")"; OracleAccess db = new OracleAccess(); DataSet ds = db.RunSqlDataSet(strSql); string strName = string.Empty; foreach (DataRow dr in ds.Tables[0].Rows) { if (strName == string.Empty) { strName += dr["Chapter_Name"].ToString(); } else { strName += "," + dr["Chapter_Name"].ToString(); } } txtExCludeChapters.Text = strName; } }
protected void 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 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(); }
private void BindChoosedGrid(string strId) { HasExamId(); //string[] str = ViewState["HasExamId"].ToString().Split(','); //for (int i = 0; i < str.Length; i++) //{ // string strEmId = str[i]; // string strOldAllId = "," + strId + ","; // if (strOldAllId.IndexOf("," + strEmId + ",") == -1) // { // if (strId.Length == 0) // { // strId += strEmId; // } // else // { // strId = strEmId + "," + strId; // } // } //} EmployeeBLL psBLL = new EmployeeBLL(); DataSet ds = new DataSet(); IList <Employee> objList = new List <Employee>(); //str = strId.Split(','); //if (str[0] != "") //{ // int n = 0; // for (int i = str.Length-1; i >=0 ; i--) // { // Employee obj = psBLL.GetChooseEmployeeInfo(str[i]); // obj.RowNum = n+1; // objList.Add(obj); // n++; // } // ds.Tables.Add(ConvertToDataTable((IList)objList)); // gvChoose.DataSource = objList; // gvChoose.DataBind(); //} //else //{ // BindEmptyGrid2(); //} string[] str1 = strId.Split(','); if (str1[0] != "") { OracleAccess db = new OracleAccess(); string strSql; for (int i = 0; i < str1.Length; i++) { if (string.IsNullOrEmpty(str1[i])) { continue; } Employee obj = psBLL.GetChooseEmployeeInfo(str1[i]); obj.RowNum = i + 1; //if (string.IsNullOrEmpty(obj.WorkNo)) //{ // strSql = "select identity_cardno from Employee where Employee_ID=" + str1[i]; // obj.WorkNo = db.RunSqlDataSet(strSql).Tables[0].Rows[0][0].ToString(); //} objList.Add(obj); } 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='" + ViewState["ExamID"] + "'"; DataSet dsDetail = db.RunSqlDataSet(strSql); foreach (DataRow dr in ds.Tables[0].Rows) { string strUser = "******" + dr["EmployeeID"] + ","; DataRow[] drs = dsDetail.Tables[0].Select("','+User_Ids+',' like '%" + strUser + "%'"); if (drs.Length > 0) { dr["ComputeRoom"] = drs[0]["ComputeRoom"].ToString(); } else { dr["ComputeRoom"] = string.Empty; } } gvChoose.DataSource = ds; gvChoose.DataBind(); } else { BindEmptyGrid2(); } }
private void BindGrid() { BookBLL bookBLL = new BookBLL(); IList <RailExam.Model.Book> books = new List <RailExam.Model.Book>(); IList <RailExam.Model.Book> booksViaPosts = new List <RailExam.Model.Book>(); OrganizationBLL orgBll = new OrganizationBLL(); int orgID = orgBll.GetStationOrgID(PrjPub.CurrentLoginUser.OrgID); string strKnowledgeIDPath = Request.QueryString.Get("id"); if (!string.IsNullOrEmpty(strKnowledgeIDPath)) { if (strKnowledgeIDPath != "0") { books = bookBLL.GetBookByKnowledgeID(Convert.ToInt32(strKnowledgeIDPath), orgID); } else { if (PrjPub.CurrentLoginUser.SuitRange == 1) { books = bookBLL.GetAllBookInfo(0); } else { books = bookBLL.GetAllBookInfo(orgID); } } } string strTrainTypeIDPath = Request.QueryString.Get("id1"); if (!string.IsNullOrEmpty(strTrainTypeIDPath)) { if (strTrainTypeIDPath != "0") { books = bookBLL.GetBookByTrainTypeID(Convert.ToInt32(strTrainTypeIDPath), orgID); } else { if (PrjPub.CurrentLoginUser.SuitRange == 1) { books = bookBLL.GetAllBookInfo(0); } else { books = bookBLL.GetAllBookInfo(orgID); } } } OracleAccess oa = new OracleAccess(); if (!string.IsNullOrEmpty(txtPost.Text.Trim()) || !string.IsNullOrEmpty(hfPostID.Value)) { string postID = this.hfPostID.Value; string sql = String.Format( @"select book_id from BOOK_RANGE_POST t where post_id = {0} or post_id in (select post_id from POST t where parent_id = {0})", postID ); DataSet dsBookIDs = oa.RunSqlDataSet(sql); if (dsBookIDs != null && dsBookIDs.Tables.Count > 0) { foreach (RailExam.Model.Book book in books) { DataRow[] drs = dsBookIDs.Tables[0].Select("book_id=" + book.bookId); if (drs.Length > 0) { booksViaPosts.Add(book); } } books.Clear(); books = booksViaPosts; } } int railSystemid = PrjPub.RailSystemId(); if (railSystemid != 0) { string sql = String.Format( @"select book_id from BOOK_RANGE_ORG t where org_Id in (select org_id from org where rail_System_Id={0} and level_num=2) ", railSystemid ); DataSet dsBookIDs = oa.RunSqlDataSet(sql); if (dsBookIDs != null && dsBookIDs.Tables.Count > 0) { foreach (RailExam.Model.Book book in books) { DataRow[] drs = dsBookIDs.Tables[0].Select("book_id=" + book.bookId); if (drs.Length > 0) { booksViaPosts.Add(book); } } books.Clear(); books = booksViaPosts; } } if (books.Count > 0) { foreach (RailExam.Model.Book book in books) { if (book.authors == null) { book.authors = "-1"; } if (book.bookName.Length <= 30) { book.bookName = "<a onclick=OpenIndex('" + book.bookId + "') href=# title=" + book.bookName + " > " + book.bookName + " </a>"; } else { book.bookName = "<a onclick=OpenIndex('" + book.bookId + "') href=# title=" + book.bookName + " > " + book.bookName.Substring(0, 15) + "...</a>"; } } Grid1.DataSource = books; Grid1.DataBind(); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ViewState["RandomExamItemID"] = Request.QueryString.Get("RandomExamItemID"); ViewState["BookID"] = Request.QueryString.Get("BookID"); ViewState["ChapterID"] = Request.QueryString.Get("ChapterID"); ViewState["RangeType"] = Request.QueryString.Get("RangeType"); ViewState["Begin"] = Request.QueryString.Get("BeginDate"); ViewState["End"] = Request.QueryString.Get("EndDate"); ViewState["ExamID"] = Request.QueryString.Get("ExamID"); ViewState["EmployeeID"] = Request.QueryString.Get("EmployeeID"); RandomExamBLL objbll = new RandomExamBLL(); RailExam.Model.RandomExam objRandomExam = objbll.GetExam(Convert.ToInt32(ViewState["ExamID"])); int year = objRandomExam.BeginTime.Year; string strSql = "select a.*,GetBookChapterName(Chapter_ID) ChapterName from Random_Exam_Item_" + year + @" a where Random_Exam_Item_ID=" + ViewState["RandomExamItemID"]; OracleAccess db = new OracleAccess(); DataSet ds = db.RunSqlDataSet(strSql); if (ds.Tables[0].Rows.Count > 0) { lblBookChapter.Text = ds.Tables[0].Rows[0]["ChapterName"].ToString(); } int itemID = Convert.ToInt32(ViewState["RandomExamItemID"].ToString()); int bookID = Convert.ToInt32(ViewState["BookID"].ToString()); int chapterID = Convert.ToInt32(ViewState["ChapterID"].ToString()); int typeID = Convert.ToInt32(ViewState["RangeType"].ToString()); int examID = Convert.ToInt32(ViewState["ExamID"].ToString()); int employeeID = Convert.ToInt32(ViewState["EmployeeID"].ToString()); RandomExamStatisticBLL objBll = new RandomExamStatisticBLL(); IList <RailExam.Model.RandomExamStatistic> objList = null; if (typeID != 0 && employeeID == 0) { int orgID = -1; if (PrjPub.CurrentLoginUser.SuitRange == 1) { orgID = -1; } else { orgID = PrjPub.CurrentLoginUser.StationOrgID; } DateTime begin = Convert.ToDateTime(ViewState["Begin"].ToString()); DateTime end = Convert.ToDateTime(ViewState["End"].ToString()); objList = objBll.GetErrorItemInfoByItemID(bookID, chapterID, typeID, examID, begin, end, orgID, -1, itemID); } else if (typeID == 0 && employeeID == 0) { objList = objBll.GetErrorItemInfoByItemID(bookID, chapterID, typeID, examID, DateTime.Today, DateTime.Today, -1, -1, itemID); } else if (employeeID != 0) { objList = objBll.GetErrorItemInfoByItemID(bookID, chapterID, typeID, examID, DateTime.Today, DateTime.Today, -1, employeeID, itemID); } foreach (RailExam.Model.RandomExamStatistic statistic in objList) { if (statistic.Answer != "") { string[] str = statistic.Answer.Split('|'); string strAnswer = string.Empty; for (int i = 0; i < str.Length; i++) { strAnswer += strAnswer == string.Empty ? intToString(Convert.ToInt32(str[i]) + 1) : "|" + intToString(Convert.ToInt32(str[i]) + 1); } statistic.Answer = strAnswer; } if (statistic.StandardAnswer != "") { string[] str = statistic.StandardAnswer.Split('|'); string strAnswer = string.Empty; for (int i = 0; i < str.Length; i++) { strAnswer += strAnswer == string.Empty ? intToString(Convert.ToInt32(str[i]) + 1) : "|" + intToString(Convert.ToInt32(str[i]) + 1); } statistic.StandardAnswer = strAnswer; } } examsGrid.DataSource = objList; examsGrid.DataBind(); } }
protected void btnQuery_Click(object sender, EventArgs e) { BookBLL bookBLL = new BookBLL(); IList <RailExam.Model.Book> books = new List <RailExam.Model.Book>(); IList <RailExam.Model.Book> booksViaPosts = new List <RailExam.Model.Book>(); OrganizationBLL orgBll = new OrganizationBLL(); int orgID = orgBll.GetStationOrgID(PrjPub.CurrentLoginUser.OrgID); string strKnowledgeID = Request.QueryString.Get("id"); if (!string.IsNullOrEmpty(strKnowledgeID)) { if (strKnowledgeID != "0") { string[] str1 = strKnowledgeID.Split(new char[] { '/' }); int nKnowledgeId = int.Parse(str1[str1.LongLength - 1].ToString()); books = bookBLL.GetBookByKnowledgeID(nKnowledgeId, txtBookName.Text, txtKeyWords.Text, txtAuthors.Text, orgID); } else { books = bookBLL.GetBookByKnowledgeID(0, txtBookName.Text, txtKeyWords.Text, txtAuthors.Text, orgID); } } string strTrainTypeID = Request.QueryString.Get("id1"); if (!string.IsNullOrEmpty(strTrainTypeID)) { if (strTrainTypeID != "0") { string[] str2 = strTrainTypeID.Split(new char[] { '/' }); int nTrainTypeID = int.Parse(str2[str2.LongLength - 1].ToString()); books = bookBLL.GetBookByTrainTypeID(nTrainTypeID, txtBookName.Text, txtKeyWords.Text, txtAuthors.Text, orgID); } else { books = bookBLL.GetBookByTrainTypeID(0, txtBookName.Text, txtKeyWords.Text, txtAuthors.Text, orgID); } } if (string.IsNullOrEmpty(hfPostID.Value)) { txtPost.Text = string.Empty; } OracleAccess oa = new OracleAccess(); if (this.txtPost.Text.Trim().Length > 0) { string postID = this.hfPostID.Value; string sql = String.Format( @"select book_id from BOOK_RANGE_POST t where post_id = {0} or post_id in (select post_id from POST t where parent_id = {0})", postID ); DataSet dsBookIDs = oa.RunSqlDataSet(sql); if (dsBookIDs != null && dsBookIDs.Tables.Count > 0) { foreach (RailExam.Model.Book book in books) { DataRow[] drs = dsBookIDs.Tables[0].Select("book_id=" + book.bookId); if (drs.Length > 0) { booksViaPosts.Add(book); } } books.Clear(); books = booksViaPosts; } } int railSystemid = PrjPub.RailSystemId(); if (railSystemid != 0) { string sql = String.Format( @"select book_id from BOOK_RANGE_ORG t where org_Id in (select org_id from org where rail_System_Id={0} and level_num=2) ", railSystemid ); DataSet dsBookIDs = oa.RunSqlDataSet(sql); if (dsBookIDs != null && dsBookIDs.Tables.Count > 0) { foreach (RailExam.Model.Book book in books) { DataRow[] drs = dsBookIDs.Tables[0].Select("book_id=" + book.bookId); if (drs.Length > 0) { booksViaPosts.Add(book); } } books.Clear(); books = booksViaPosts; } } if (books != null) { foreach (RailExam.Model.Book book in books) { if (book.bookName.Length <= 15) { book.bookName = "<a onclick=OpenIndex('" + book.bookId + "') href=# title=" + book.bookName + " > " + book.bookName + " </a>"; } else { book.bookName = "<a onclick=OpenIndex('" + book.bookId + "') href=# title=" + book.bookName + " > " + book.bookName.Substring(0, 15) + "...</a>"; } } Grid1.DataSource = books; Grid1.DataBind(); } }
public void FillPaper() { string strId = Request.QueryString.Get("id"); RandomExamBLL randomExamBLL = new RandomExamBLL(); RailExam.Model.RandomExam randomExam = randomExamBLL.GetExam(int.Parse(strId)); ViewState["Year"] = randomExam.BeginTime.Year.ToString(); RandomExamResultCurrentBLL objResultCurrentBll = new RandomExamResultCurrentBLL(); RailExam.Model.RandomExamResultCurrent randomExamResult = objResultCurrentBll.GetNowRandomExamResultInfo(Convert.ToInt32(Request.QueryString.Get("employeeID")), Convert.ToInt32(strId)); int RandomExamId = Convert.ToInt32(strId); int randomExamResultId = randomExamResult.RandomExamResultId; RandomExamItemBLL randomItemBLL = new RandomExamItemBLL(); RandomExamSubjectBLL subjectBLL = new RandomExamSubjectBLL(); IList <RandomExamSubject> randomExamSubjects = subjectBLL.GetRandomExamSubjectByRandomExamId(RandomExamId); RandomExamResultAnswerCurrentBLL randomExamResultAnswerBLL = new RandomExamResultAnswerCurrentBLL(); IList <RandomExamResultAnswerCurrent> examResultAnswers = new List <RandomExamResultAnswerCurrent>(); examResultAnswers = randomExamResultAnswerBLL.GetExamResultAnswersCurrent(randomExamResultId); OracleAccess db = new OracleAccess(); if (randomExamSubjects != null) { for (int i = 0; i < randomExamSubjects.Count; i++) { RandomExamSubject paperSubject = randomExamSubjects[i]; IList <RandomExamItem> PaperItems = new List <RandomExamItem>(); PaperItems = randomItemBLL.GetItemsCurrent(paperSubject.RandomExamSubjectId, randomExamResultId, Convert.ToInt32(ViewState["Year"].ToString())); Response.Write("<br>"); Response.Write("<span class='StudentLeftInfo'><b> 第" + GetNo(i) + "大题:" + paperSubject.SubjectName + "</b></span>"); Response.Write("<br>"); if (PaperItems != null) { Response.Write("<table width='100%' border='1'>"); int z = 1; int tempK = 0; int count = 1; for (int j = 0; j < PaperItems.Count; j++) { RandomExamItem paperItem = PaperItems[j]; int k = j + 1; if (paperItem.TypeId != PrjPub.ITEMTYPE_FILLBLANKDETAIL && paperItem.TypeId != PrjPub.ITEMTYPE_FILLBLANK) { z = 1; if (k % 5 == 1) { Response.Write("</tr >"); Response.Write("<tr><td class='StudentTableInfo' id='Item" + i + j + "' >" + "<a href='AttendExamNew.aspx?id=" + strId + "&employeeID=" + Request.QueryString.Get("employeeID") + "#Test" + i + j + "' target='ifExamInfo' style='cursor: hand;'><b>" + k + "</b></a></td>"); } else { Response.Write("<td class='StudentTableInfo' id='Item" + i + j + "' >" + "<a href='AttendExamNew.aspx?id=" + strId + "&employeeID=" + Request.QueryString.Get("employeeID") + "#Test" + i + j + "' target='ifExamInfo' style='cursor: hand;'><b>" + k + "</b></a></td>"); } } else { if (paperItem.TypeId == PrjPub.ITEMTYPE_FILLBLANK) { z = 1; tempK++; } if (count % 3 == 1) { Response.Write("</tr >"); Response.Write("<tr><td class='StudentTableInfo' id='Item" + i + j + "' >" + "<a href='AttendExamNew.aspx?id=" + strId + "&employeeID=" + Request.QueryString.Get("employeeID") + "#Test" + i + j + "' target='ifExamInfo' style='cursor: hand;'><b>" + tempK + "-(" + z + ")</b></a></td>"); } else { Response.Write("<td class='StudentTableInfo' id='Item" + i + j + "' >" + "<a href='AttendExamNew.aspx?id=" + strId + "&employeeID=" + Request.QueryString.Get("employeeID") + "#Test" + i + j + "' target='ifExamInfo' style='cursor: hand;'><b>" + tempK + "-(" + z + ")</b></a></td>"); } z++; count++; } } Response.Write("</tr >"); Response.Write("</table>"); } } //ClientScript.RegisterStartupScript(GetType(), "StartStyle", "<script>StartStyle()</script>"); } else { SessionSet.PageMessage = "未找到记录!"; } }
private void updateExam() { // 根据 ProgressBar.htm 显示进度条界面 string templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm"); StreamReader reader = new StreamReader(@templateFileName, System.Text.Encoding.GetEncoding("gb2312")); string html = reader.ReadToEnd(); reader.Close(); Response.Write(html); Response.Flush(); System.Threading.Thread.Sleep(200); string jsBlock; try { string strId = Request.QueryString.Get("RandomExamID"); RandomExamBLL examBll = new RandomExamBLL(); RailExam.Model.RandomExam exam = examBll.GetExam(Convert.ToInt32(strId)); IList <RandomExamResult> examResults = null; RandomExamResultBLL bllExamResult = new RandomExamResultBLL(); examResults = bllExamResult.GetRandomExamResults(int.Parse(strId), "", "", "", "", 0, 1000, Convert.ToInt32(Request.QueryString.Get("OrgID"))); string strChooseID = string.Empty; foreach (RandomExamResult randomExamResult in examResults) { if (string.IsNullOrEmpty(strChooseID)) { strChooseID += randomExamResult.ExamineeId; } else { strChooseID += "," + randomExamResult.ExamineeId; } } OracleAccess access = new OracleAccess(); string strSql = @"select ER.Begin_Time,E.Is_Computerexam,ER.Examinee_ID, case when z.computer_room_seat=0 then GetOrgName(ER.org_ID)||CR.Computer_Room_Name||'微机教室' else GetOrgName(ER.org_ID)||CR.Computer_Room_Name||'微机教室-'||z.computer_room_seat||'机位' end Computer_Room_Name, case when y.subject_name is not null then y.subject_name else case when MT.RANDOM_EXAM_MODULAR_TYPE_NAME is not null then (MT.RANDOM_EXAM_MODULAR_TYPE_NAME||'-'|| E.EXAM_NAME) else E.EXAM_NAME end end as subject, ER.Score,ER.Is_Pass,E.RANDOM_EXAM_ID from random_exam_result ER inner join random_exam_result_detail z on ER.Random_Exam_Result_Id=z.Random_Exam_Result_Id and z.is_remove=1 left join random_exam E on E.RANDOM_EXAM_ID=ER.RANDOM_EXAM_ID left join random_exam_train_class x on E.Random_Exam_ID=x.Random_Exam_ID left join Zj_Train_Class_Subject y on x.train_class_subject_id=y.train_class_subject_id left join computer_room CR on CR.COMPUTER_ROOM_ID=z.Computer_Room_Id left join random_exam_modular_type MT on MT.RANDOM_EXAM_MODULAR_TYPE_ID=E.Random_Exam_Modular_Type_Id Inner join ( select b.*,min(a.end_time) end_time from Random_Exam_Result a inner join (select distinct max(a.score) score, a.examinee_id, a.Random_Exam_Id from Random_EXAM_RESULT a where a.status_id > 0. group by a.examinee_id, a.Random_Exam_Id) b on a.examinee_id =b.examinee_id and a.score =b.score and a.Random_Exam_Id = b.Random_Exam_Id group by b.examinee_id, b.Random_Exam_Id,b.score ) F on ER.examinee_id = f.examinee_id and ER.score = f.score and ER.Random_Exam_Id = f.Random_Exam_Id and ER.end_time=f.end_time where ER.Random_Exam_ID=" + strId; DataTable dtSel = access.RunSqlDataSet(strSql).Tables[0]; if (dtSel != null && dtSel.Rows.Count > 0) { int i = 1; foreach (DataRow r in dtSel.Rows) { if (("," + strChooseID + ",").IndexOf("," + r["Examinee_ID"] + ",") < 0) { System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('更新考生考试档案','" + ((i * 100) / ((double)dtSel.Rows.Count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); i++; continue; } access.ExecuteNonQuery(" delete from zj_employee_exam where Random_Exam_ID=" + strId + " and employee_id=" + r["Examinee_ID"]); string exam_date = r["Begin_Time"].ToString(); int exam_style = Convert.ToInt32(r["Is_Computerexam"]); string exam_address = r["Computer_Room_Name"].ToString(); string exam_subject = r["subject"].ToString(); double exam_score = Convert.ToDouble(r["Score"]); int exam_result = Convert.ToInt32(r["Is_Pass"]); int random_exam_id = Convert.ToInt32(r["RANDOM_EXAM_ID"]); StringBuilder sqlInsert = new StringBuilder(); sqlInsert.Append( "insert into zj_employee_exam(employee_exam_id,employee_id,exam_date,exam_style,exam_address,"); sqlInsert.Append("exam_subject,exam_score ,exam_result,create_date,create_person,random_exam_id"); sqlInsert.Append(") values(employee_exam_seq.nextval,{0},to_date('{1}','yyyy-mm-dd hh24:mi:ss'),{2},"); sqlInsert.Append(" '{3}','{4}','{5}',{6},to_date('{7}','yyyy-mm-dd hh24:mi:ss'),'{8}',{9})"); string sqlIns = string.Format(sqlInsert.ToString(), r["Examinee_ID"], exam_date, exam_style, exam_address, exam_subject, exam_score, exam_result, DateTime.Now, PrjPub.CurrentLoginUser.EmployeeName, random_exam_id); access.ExecuteNonQuery(sqlIns); System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('更新考生考试档案','" + ((i * 100) / ((double)dtSel.Rows.Count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); i++; } } if (exam.HasTrainClass) { jsBlock = string.Empty; RandomExamTrainClassBLL objBll = new RandomExamTrainClassBLL(); IList <RandomExamTrainClass> objList = objBll.GetRandomExamTrainClassByRandomExamID(Convert.ToInt32(strId)); string strClassID = ""; foreach (RandomExamTrainClass trainClass in objList) { strClassID += (strClassID == string.Empty) ? trainClass.TrainClassID.ToString() : "," + trainClass.TrainClassID; } StringBuilder sqlClass = new StringBuilder(); sqlClass.Append(" select C.TRAIN_CLASS_ID,begin_date,end_date,TP.TRAIN_PLAN_TYPE_ID,TP.Location,C.Employee_ID "); sqlClass.Append(" from zj_train_class TC right join (select train_plan_id, train_class_id,Employee_ID from zj_train_plan_employee"); sqlClass.AppendFormat(" where train_class_id in ({0}) ", strClassID); sqlClass.Append(" ) C on C.TRAIN_CLASS_ID=TC.TRAIN_CLASS_ID "); sqlClass.Append(" left join zj_train_plan TP on TP.TRAIN_PLAN_ID=C.TRAIN_PLAN_ID"); access = new OracleAccess(); DataTable dtClass = access.RunSqlDataSet(sqlClass.ToString()).Tables[0]; if (dtClass != null && dtClass.Rows.Count > 0) { int i = 1; foreach (DataRow r in dtClass.Rows) { if (("," + strChooseID + ",").IndexOf("," + r["Employee_ID"] + ",") < 0) { System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('更新考生培训档案','" + ((i * 100) / ((double)dtClass.Rows.Count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); i++; continue; } access.ExecuteNonQuery(" delete from zj_employee_train where Train_class_ID in (" + strClassID + ") and employee_id=" + r["Employee_ID"]); int trainClassID = Convert.ToInt32(r["TRAIN_CLASS_ID"]); string beginDate = r["begin_date"].ToString(); string endDate = r["end_date"].ToString(); int trainPlanTypeID = Convert.ToInt32(r["TRAIN_PLAN_TYPE_ID"]); string location = r["Location"].ToString(); int hour = 0; string classSubject = string.Empty; DataTable dtSubject = access.RunSqlDataSet( "select subject_name,class_hour from zj_train_class_subject where train_class_id=" + trainClassID).Tables[0]; if (dtSubject != null && dtSubject.Rows.Count > 0) { List <string> lst = new List <string>(); foreach (DataRow rhour in dtSubject.Rows) { lst.Add(rhour["subject_name"].ToString()); if (rhour["class_hour"].ToString() != "") { hour += Convert.ToInt32(rhour["class_hour"]); } } classSubject = string.Join(",", lst.ToArray()); } StringBuilder sqlInsert = new StringBuilder(); sqlInsert.Append("insert into zj_employee_train values(EMPLOYEE_TRAIN_SEQ.NEXTVAL,"); sqlInsert.Append("{0},{1},to_date('{2}','yyyy-mm-dd hh24:mi:ss'),to_date('{3}','yyyy-mm-dd hh24:mi:ss'),"); sqlInsert.Append("{4},'{5}',{6},'{7}',to_date('{8}','yyyy-mm-dd hh24:mi:ss'),'{9}')"); string sqlIns = string.Format(sqlInsert.ToString(), r["Employee_ID"], trainClassID, beginDate, endDate, trainPlanTypeID, location, hour, classSubject, DateTime.Now, PrjPub.CurrentLoginUser.EmployeeName); access.ExecuteNonQuery(sqlIns); jsBlock = "<script>SetPorgressBar('更新考生培训档案','" + ((i * 100) / ((double)dtClass.Rows.Count)).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); i++; } } } Response.Write("<script>top.returnValue='true';top.close();</script>"); } catch (Exception) { Response.Write("<script>top.returnValue='false';top.close();</script>"); } }
protected void FillPage(int nExamID) { RandomExamBLL examBLL = new RandomExamBLL(); RailExam.Model.RandomExam exam = examBLL.GetExam(nExamID); if (exam != null) { if (ViewState["startmode"].ToString() == "Edit") { if (Pub.HasPaper(exam.RandomExamId)) { Response.Write("<script>alert('该考试已生成试卷,不能被编辑!');window.close();</script>"); return; } } hfHasTrainClass.Value = exam.HasTrainClass.ToString(); txtCategoryName.Text = exam.CategoryName; hfCategoryId.Value = exam.CategoryId.ToString(); ddlType.SelectedValue = exam.ExamTypeId.ToString(); txtExamName.Text = exam.ExamName; txtExamTime.Text = exam.ExamTime.ToString(); dateBeginTime.DateValue = exam.BeginTime.ToString("yyyy-MM-dd HH:mm:ss"); dateEndTime.DateValue = exam.EndTime.ToString("yyyy-MM-dd HH:mm:ss"); txtPassScore.Text = exam.PassScore.ToString(); if (exam.IsComputerExam) { rbnExamMode1.Checked = true; rbnExamMode2.Checked = false; } else { rbnExamMode1.Checked = false; rbnExamMode2.Checked = true; rbnExamMode1.Enabled = false; rbnExamMode2.Enabled = false; } if (exam.StartMode == 1) { rbnStartMode1.Checked = true; } else { rbnStartMode2.Checked = true; } if (exam.ExamStyle == 1) { rbnStyle1.Checked = true; } else { rbnStyle2.Checked = true; } if (exam.AutoSaveInterval == 1) { chkAllItem.Checked = true; } else { chkAllItem.Checked = false; } txtMET2.Text = exam.MaxExamTimes.ToString(); chUD.Checked = exam.IsUnderControl; chAutoScore.Checked = exam.IsAutoScore; chkCanSeeAnswer.Checked = exam.CanSeeAnswer; chSeeScore.Checked = exam.CanSeeScore; chPublicScore.Checked = exam.IsPublicScore; txtDescription.Text = exam.Description; txtMemo.Text = exam.Memo; ddlModularType.SelectedValue = exam.RandomExamModularTypeID.ToString(); chkIsReduceScore.Checked = exam.IsReduceError; //存档考试 if (exam.ExamStyle == 2) { rbnStyle2.Checked = true; saveTd.Visible = true; ddlDate.SelectedValue = exam.SaveStatus.ToString(); if (exam.SaveStatus == 2) { dateSaveDate.Visible = true; dateSaveDate.DateValue = Convert.ToDateTime(exam.SaveDate).ToString("yyyy-MM-dd"); } else { dateSaveDate.Visible = false; } } else { rbnStyle1.Checked = true; saveTd.Visible = false; } lblCreatePerson.Text = exam.CreatePerson; lblCreateTime.Text = exam.CreateTime.ToString("yyyy-MM-dd HH:mm"); if (ViewState["startmode"].ToString() == "Edit") { RandomExamResultBLL reBll = new RandomExamResultBLL(); IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(exam.RandomExamId); if (examResults.Count > 0) { ViewState["mode"] = "ReadOnly"; } } chkHasTrainClass.Checked = exam.HasTrainClass; ViewState["HasTrainClass"] = chkHasTrainClass.Checked.ToString(); SetTrainClassVisible(chkHasTrainClass.Checked); if (chkHasTrainClass.Checked) { RandomExamTrainClassBLL objTrainClassBll = new RandomExamTrainClassBLL(); IList <RandomExamTrainClass> objTrainClassList = objTrainClassBll.GetRandomExamTrainClassByRandomExamID(exam.RandomExamId); DataTable dataTable = new DataTable(); dataTable.Columns.Add(new DataColumn("RandomExamTrainClassID", typeof(int))); dataTable.Columns.Add(new DataColumn("RandomExamID", typeof(int))); dataTable.Columns.Add(new DataColumn("TrainClassID", typeof(int))); dataTable.Columns.Add(new DataColumn("TrainClassName", typeof(string))); dataTable.Columns.Add(new DataColumn("TrainClassSubjectID", typeof(int))); dataTable.Columns.Add(new DataColumn("TrainClassSubjectName", typeof(string))); string strSql = ""; foreach (RandomExamTrainClass trainClass in objTrainClassList) { DataRow newRow = dataTable.NewRow(); newRow[0] = trainClass.RandomExamTrainClassID; newRow[1] = trainClass.RandomExamID; newRow[2] = trainClass.TrainClassID; OracleAccess db = new OracleAccess(); strSql = "select * from ZJ_Train_Class where Train_Class_ID=" + trainClass.TrainClassID; newRow[3] = db.RunSqlDataSet(strSql).Tables[0].Rows[0]["Train_Class_Name"].ToString(); newRow[4] = trainClass.TrainClassSubjectID; strSql = "select * from ZJ_Train_Class_Subject where Train_Class_Subject_ID=" + trainClass.TrainClassSubjectID; newRow[5] = db.RunSqlDataSet(strSql).Tables[0].Rows[0]["Subject_Name"].ToString(); dataTable.Rows.Add(newRow); if (hfTrainClassID.Value == "") { hfTrainClassID.Value = trainClass.TrainClassID.ToString(); } else { hfTrainClassID.Value = hfTrainClassID.Value + "," + trainClass.TrainClassID.ToString(); } } ViewState["TrainClass"] = hfTrainClassID.Value; Grid1.DataSource = dataTable; Grid1.DataBind(); //当考试为补考的时候,不能修改培训班信息 if (exam.IsReset) { chkHasTrainClass.Enabled = false; Grid1.Enabled = false; btnAddTrainClass.Visible = false; } hfIsReset.Value = exam.IsReset.ToString(); } else { ViewState["TrainClass"] = ""; ViewState["PostID"] = ""; } hfPostID.Value = exam.PostID; ViewState["PostID"] = hfPostID.Value; if (!string.IsNullOrEmpty(exam.PostID)) { PostBLL postBLL = new PostBLL(); string[] strPostID = exam.PostID.Split(','); for (int i = 0; i < strPostID.Length; i++) { if (i == 0) { txtPost.Text = postBLL.GetPost(Convert.ToInt32(strPostID[i])).PostName; } else { txtPost.Text = txtPost.Text + "," + postBLL.GetPost(Convert.ToInt32(strPostID[i])).PostName; } } hfPostName.Value = txtPost.Text; } } if (ViewState["mode"].ToString() == "ReadOnly") { txtExamName.Enabled = false; dateBeginTime.Enabled = false; dateEndTime.Enabled = false; ddlType.Enabled = false; txtExamTime.Enabled = false; rbnExamMode1.Enabled = false; rbnExamMode2.Enabled = false; txtMET2.Enabled = false; chUD.Enabled = false; chAutoScore.Enabled = false; chkCanSeeAnswer.Enabled = false; chSeeScore.Enabled = false; chPublicScore.Enabled = false; txtDescription.Enabled = false; txtMemo.Enabled = false; rbnStartMode1.Enabled = false; rbnStartMode2.Enabled = false; txtPassScore.Enabled = false; chkHasTrainClass.Enabled = false; Grid1.Enabled = false; } }
private string GetSql() { string id = Request.QueryString.Get("ID"); string employeename = this.txtName.Text.Trim().ToString(); string sex = this.ddlSex.SelectedValue.ToString(); string strPath = Request.QueryString.Get("idpath"); DataSet ds = new DataSet(); OracleAccess ora = new OracleAccess(); string strSql = string.Empty; if (id == "1" || id == "0") { strSql = "select a.EMPLOYEE_ID,EMPLOYEE_NAME,SEX,a.POST_ID,ISONPOST,a.MEMO,c.Post_Name,d.FingerNum," + " (case when IsONPost=1 then '是' else '否' end) as IsOnPostName," + " (case when o.photo is not null then 1 else 0 end ) as isPhoto " + " from Employee a " + " inner join Post c on a.Post_ID=c.Post_ID " + " inner join Org b on a.Org_ID=b.Org_ID " + " left join employee_photo o on o.EMPLOYEE_ID=a.EMPLOYEE_ID " + " left join (select employee_id,count(*) FingerNum from Employee_FingerPrint group by Employee_ID) d " + " on a.Employee_ID=d.Employee_ID " + " where 1=1"; if (string.IsNullOrEmpty(employeename)) { strSql += " and 1=2"; } if (!PrjPub.IsServerCenter) { strSql += " and GetStationOrgID(a.org_ID)=" + ConfigurationManager.AppSettings["StationID"]; } } else { strSql = "select a.EMPLOYEE_ID,EMPLOYEE_NAME,SEX,a.POST_ID,ISONPOST,a.MEMO,c.Post_Name,d.FingerNum," + " (case when IsONPost=1 then '是' else '否' end) as IsOnPostName ," + " (case when o.photo is not null then 1 else 0 end ) as isPhoto " + " from Employee a " + " inner join Post c on a.Post_ID=c.Post_ID " + " inner join Org b on a.Org_ID=b.Org_ID " + " left join employee_photo o on o.EMPLOYEE_ID=a.EMPLOYEE_ID " + " left join (select a.employee_id,count(*) FingerNum from Employee_FingerPrint a " + " inner join Employee b on a.Employee_ID=b.Employee_ID " + " inner join Org c on b.Org_ID=c.Org_ID " + " where c.id_Path||'/' like '%" + strPath + "/%' " + " group by a.Employee_ID) d " + " on a.Employee_ID=d.Employee_ID " + " where b.id_Path||'/' like '%" + strPath + "/%' "; } if (PrjPub.CurrentLoginUser.EmployeeID != 0) { strSql += " and a.Employee_ID != 0"; } if (!string.IsNullOrEmpty(txtPost.Text) || !string.IsNullOrEmpty(hfPostID.Value)) { strSql += " and (a.Post_ID=" + hfPostID.Value + " or a.Post_ID in (select Post_ID from Post where Parent_ID=" + hfPostID.Value + "))"; } if (!string.IsNullOrEmpty(txtPinYin.Text)) { strSql += " and Upper(a.PinYin_Code) like '%" + txtPinYin.Text.ToUpper() + "%'"; } if (!string.IsNullOrEmpty(txtTechnicalCode.Text)) { strSql += " and a.Technical_Code like '%" + txtTechnicalCode.Text + "%'"; } if (!string.IsNullOrEmpty(employeename)) { strSql += " and a.Employee_Name like '%" + employeename + "%'"; } if (ddlSex.SelectedValue != "") { strSql += " and Sex='" + sex + "'"; } if (ddlFinger.SelectedValue == "1") { strSql += " and d.FingerNum>0"; } else if (ddlFinger.SelectedValue == "0") { strSql += " and d.FingerNum is null"; } if (ddlStatus.SelectedValue != "-1") { strSql += " and IsOnPost=" + ddlStatus.SelectedValue; } strSql += " order by b.Level_Num,b.Order_Index"; return(strSql); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { hfOrgID.Value = PrjPub.CurrentLoginUser.StationOrgID.ToString(); ViewState["mode"] = Request.QueryString.Get("mode"); ViewState["startmode"] = Request.QueryString.Get("startmode"); hfMode.Value = ViewState["mode"].ToString(); _isWuhan = PrjPub.IsWuhan(); _isWuhanOnly = PrjPub.IsWuhanOnly(); dateBeginTime.DateValue = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); dateEndTime.DateValue = DateTime.Now.AddDays(7).ToString("yyyy-MM-dd HH:mm:ss"); string ExamCategoryID = Request.QueryString.Get("ExamCategoryIDPath"); if (ExamCategoryID == "0") { ExamCategoryID = ""; } if (!string.IsNullOrEmpty(ExamCategoryID)) { string[] str1 = ExamCategoryID.Split(new char[] { '/' }); int nID = int.Parse(str1[str1.LongLength - 1].ToString()); hfCategoryId.Value = nID.ToString(); ExamCategoryBLL pcl = new ExamCategoryBLL(); RailExam.Model.ExamCategory pc = pcl.GetExamCategory(nID); txtCategoryName.Text = pc.CategoryName; } OracleAccess db = new OracleAccess(); string strSql = "select * from Random_Exam_Modular_Type order by Level_Num"; DataSet ds = db.RunSqlDataSet(strSql); ListItem item = new ListItem(); item.Text = "--请选择--"; item.Value = "0"; ddlModularType.Items.Add(item); foreach (DataRow dr in ds.Tables[0].Rows) { item = new ListItem(); item.Text = dr["Random_Exam_Modular_Type_Name"].ToString(); item.Value = dr["Random_Exam_Modular_Type_ID"].ToString(); ddlModularType.Items.Add(item); } string strExamID = Request.QueryString.Get("id"); if (!string.IsNullOrEmpty(strExamID)) { FillPage(int.Parse(strExamID)); } else { rbnStyle2.Checked = true; saveTd.Visible = true; ddlDate.SelectedValue = "1"; dateSaveDate.Visible = false; SetTrainClassVisible(false); } } if (hfPostID.Value != "") { txtPost.Text = hfPostName.Value; } if (hfCategoryId.Value != "") { ExamCategoryBLL pcl = new ExamCategoryBLL(); RailExam.Model.ExamCategory pc = pcl.GetExamCategory(Convert.ToInt32(hfCategoryId.Value)); txtCategoryName.Text = pc.CategoryName; } chkHasTrainClass.Attributes.Add("onclick", "chkHasTrainClassOnchange();"); }
private void BindGrid() { OracleAccess oracle = new OracleAccess(); string strwhere = "where 1=1"; if (hfOrgID.Value != "0") { strwhere += " and getstationorgid(e.org_id)=" + hfOrgID.Value; } else { int railSystemId = PrjPub.GetRailSystemId(); if (railSystemId != 0) { strwhere += " and (GetRailSystemId(e.org_id)=" + railSystemId + " or getstationorgid(e.org_id)=" + PrjPub.CurrentLoginUser.StationOrgID + ")"; } } string sql = string.Format(@"select a.* from ( select rownum row_index,w.* from ( select o.order_index, o.parent_id, to_char(o.full_name) as full_name, count(*) as amount, sum(case when e.isonpost=1 then 1 else 0 end) as is_on_post, sum(case when e.isonpost=0 then 1 else 0 end) as is_not_on_post, sum(case when e.ISREGISTERED=1 then 1 else 0 end) as ISREGISTERED, sum(case when e.ISREGISTERED=0 then 1 else 0 end) as IS_not_REGISTERED, sum(case when e.isonpost=1 and e.Employee_Type_ID=0 then 1 else 0 end) as Is_on_post_worker, sum(case when e.isonpost=1 and e.Employee_Type_ID=0 and a.photo is null then 1 else 0 end) as Is_on_post_worker_no_photo, sum(case when e.isonpost=1 and e.Employee_Type_ID=0 and b.fingernum is null then 1 else 0 end) as Is_on_post_worker_no_finger from employee e inner join org o on getstationorgid(e.org_id)=o.org_id left join employee_photo a on a.Employee_id=e.Employee_ID left join (select employee_id,count(*) fingernum from employee_fingerprint group by employee_id) b on e.Employee_ID=b.Employee_ID {0} group by o.full_name,o.order_index, o.parent_id order by o.parent_id,o.order_index) w union select 0,0,0, '总数', count(e.employee_id), sum(case when e.isonpost = 1 then 1 else 0 end), sum(case when e.isonpost = 0 then 1 else 0 end), sum(case when e.ISREGISTERED=1 then 1 else 0 end) as ISREGISTERED, sum(case when e.ISREGISTERED=0 then 1 else 0 end) as IS_not_REGISTERED, sum(case when e.isonpost=1 and e.Employee_Type_ID=0 then 1 else 0 end) as Is_on_post_worker, sum(case when e.isonpost=1 and e.Employee_Type_ID=0 and a.photo is null then 1 else 0 end) as Is_on_post_worker_no_photo, sum(case when e.isonpost=1 and e.Employee_Type_ID=0 and b.fingernum is null then 1 else 0 end) as Is_on_post_worker_no_finger from employee e left join employee_photo a on a.Employee_id=e.Employee_ID left join (select employee_id,count(*) fingernum from employee_fingerprint group by employee_id) b on e.Employee_ID=b.Employee_ID {0} ) a order by a.row_index", strwhere); try { this.grid1.DataSource = oracle.RunSqlDataSet(sql); this.grid1.DataBind(); ViewState["dt"] = grid1.DataSource; } catch { } }
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>"); }
protected void Grid1_RowUpdating(object sender, GridViewUpdateEventArgs e) { DataTable dataTable = BindGrid(); string strSql = ""; DropDownList ddlTrainClass = (DropDownList)Grid1.Rows[e.RowIndex].FindControl("ddlTrainClass"); DropDownList ddlTrainClassSubject = (DropDownList)Grid1.Rows[Grid1.EditIndex].FindControl("ddlTrainClassSubject"); if (ddlTrainClass.SelectedValue == "0") { SessionSet.PageMessage = "请选择培训班!"; return; } if (ddlTrainClassSubject.SelectedValue == "0") { SessionSet.PageMessage = "请选择培训班科目!"; return; } if (dataTable.Select("TrainClassID=" + ddlTrainClass.SelectedValue + " and TrainClassSubjectID=" + ddlTrainClassSubject.SelectedValue).Length > 0) { SessionSet.PageMessage = "不能重复添加培训班科目!"; return; } OracleAccess db = new OracleAccess(); if (dataTable.Rows.Count > 1) { strSql = "select Pass_Result from ZJ_Train_Class_Subject where Train_Class_Subject_ID=" + ddlTrainClassSubject.SelectedValue; if (Convert.ToDecimal(txtPassScore.Text) != Convert.ToDecimal(db.RunSqlDataSet(strSql).Tables[0].Rows[0][0].ToString())) { SessionSet.PageMessage = "该培训班及格分数与已存在培训班及格分数不一样,不能添加在同一个考试中!"; return; } } strSql = "select Employee_ID " + "from ZJ_Train_Plan_Employee a " + " where a.Train_Class_ID=" + ddlTrainClass.SelectedValue; DataSet dsEmployee = db.RunSqlDataSet(strSql); if (dsEmployee.Tables[0].Rows.Count == 0) { SessionSet.PageMessage = "当前培训班的考试科目未添加学员,请在职教系统中核实!"; return; } if ((bool)ViewState["IsNewGoods"]) { ViewState["IsNewGoods"] = false; } dataTable.Rows[e.RowIndex]["TrainClassID"] = Convert.ToInt32(ddlTrainClass.SelectedValue); dataTable.Rows[e.RowIndex]["TrainClassName"] = ddlTrainClass.SelectedItem.Text; dataTable.Rows[e.RowIndex]["TrainClassSubjectID"] = Convert.ToInt32(ddlTrainClassSubject.SelectedValue); dataTable.Rows[e.RowIndex]["TrainClassSubjectName"] = ddlTrainClassSubject.SelectedItem.Text; if (dataTable.Rows.Count == 1) { strSql = "select Pass_Result from ZJ_Train_Class_Subject where Train_Class_Subject_ID=" + ddlTrainClassSubject.SelectedValue; txtPassScore.Text = db.RunSqlDataSet(strSql).Tables[0].Rows[0][0].ToString(); } hfTrainClassID.Value = ""; foreach (DataRow dr in dataTable.Rows) { if (hfTrainClassID.Value == "") { hfTrainClassID.Value = dr["TrainClassID"].ToString(); } else { hfTrainClassID.Value = hfTrainClassID.Value + "," + dr["TrainClassID"].ToString(); } } hfPostID.Value = ""; txtPost.Text = ""; hfPostName.Value = ""; Grid1.EditIndex = -1; Grid1.DataSource = dataTable; Grid1.DataBind(); }
public void FillPaper() { RandomExamItemBLL randomItemBLL = new RandomExamItemBLL(); OracleAccess db = new OracleAccess(); IList <RandomExamItem> PaperItems = new List <RandomExamItem>(); PaperItems = randomItemBLL.GetItemsCurrentCheck(); string strSql = "select * from System_Exam where System_Exam_ID=1"; DataTable dt = db.RunSqlDataSet(strSql).Tables[0]; int examNumber; if (dt.Rows.Count > 0) { examNumber = Convert.ToInt32(dt.Rows[0]["Exam_Number"]); } else { examNumber = 10; } int totalCount = examNumber; int otherCount = totalCount / 4; int singleCount = totalCount - otherCount * 3; int m = 4; if (otherCount == 0) { m = 1; } for (int i = 0; i < m; i++) { int itemCount = 0; int b = 0, e = 0; string typeName = string.Empty; if (i == 0) { itemCount = singleCount; typeName = "第一大题:单选"; b = 0; e = singleCount; } else if (i == 1) { itemCount = otherCount; typeName = "第二大题:多选"; b = singleCount; e = singleCount + otherCount; } else if (i == 2) { itemCount = otherCount; typeName = "第三大题:判断"; b = singleCount + otherCount; e = singleCount + otherCount * 2; } else if (i == 3) { itemCount = otherCount; typeName = "第四大题:综合选择题"; b = singleCount + otherCount * 2; e = singleCount + otherCount * 3; } Response.Write("<br>"); Response.Write("<span class='StudentLeftInfo'><b> " + typeName + "</b></span>"); Response.Write("<br>"); if (PaperItems != null) { Response.Write("<table width='100%' border='1' style='background-color:#ffffff'>"); int z = 1; int tempK = 0; int count = 1; for (int j = b; j < e; j++) { if (j >= PaperItems.Count) { continue; } RandomExamItem paperItem = PaperItems[j]; int k = j + 1 - b; if (paperItem.TypeId != PrjPub.ITEMTYPE_FILLBLANKDETAIL && paperItem.TypeId != PrjPub.ITEMTYPE_FILLBLANK) { z = 1; if (k % 5 == 1) { Response.Write("</tr >"); Response.Write("<tr><td class='StudentTableInfo' id='Item" + i + j + "' >" + "<a href='CheckAttendExamNew.aspx?employeeID=" + Request.QueryString.Get("employeeID") + "#Test" + i + j + "' target='ifExamInfo' style='cursor: hand;'><b>" + k + "</b></a></td>"); } else { Response.Write("<td class='StudentTableInfo' id='Item" + i + j + "' >" + "<a href='CheckAttendExamNew.aspx?employeeID=" + Request.QueryString.Get("employeeID") + "#Test" + i + j + "' target='ifExamInfo' style='cursor: hand;'><b>" + k + "</b></a></td>"); } } else { if (paperItem.TypeId == PrjPub.ITEMTYPE_FILLBLANK) { z = 1; tempK++; string str = "select * from Random_Exam_Item_" + DateTime.Today.Year + " where Random_Exam_ID=" + paperItem.RandomExamId + " and Parent_Item_ID=" + paperItem.ItemId + " order by Item_Index"; DataSet ds = db.RunSqlDataSet(str); foreach (DataRow dr in ds.Tables[0].Rows) { if (count % 3 == 1) { Response.Write("</tr >"); Response.Write("<tr><td class='StudentTableInfo' id='Item" + i + j + z + "' >" + "<a href='CheckAttendExamNew.aspx?employeeID=" + Request.QueryString.Get("employeeID") + "#Test" + i + j + z + "' target='ifExamInfo' style='cursor: hand;'><b>" + tempK + "-(" + z + ")</b></a></td>"); } else { Response.Write("<td class='StudentTableInfo' id='Item" + i + j + z + "' >" + "<a href='CheckAttendExamNew.aspx?employeeID=" + Request.QueryString.Get("employeeID") + "#Test" + i + j + z + "' target='ifExamInfo' style='cursor: hand;'><b>" + tempK + "-(" + z + ")</b></a></td>"); } z++; count++; } } } } Response.Write("</tr >"); Response.Write("</table>"); } else { SessionSet.PageMessage = "未找到记录!"; } } }
private void DownLoadData() { string templateFileName = Server.MapPath("/RailExamBao/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; DateTime beginTime = DateTime.Now; SynchronizeLog obj = new SynchronizeLog(); SynchronizeLogBLL objlogdal = new SynchronizeLogBLL(); RefreshSnapShotBLL refreshbll = new RefreshSnapShotBLL(); try { string strInfo = string.Empty; string proName = string.Empty; int num = 5; int selectType = Convert.ToInt32(Request.QueryString.Get("selectType")); if (selectType == 0) { strInfo = "下载考试试卷"; proName = "USP_Refresh_SnapShot_Exam"; num = 6; } else if (selectType == 1) { strInfo = "下载教材与试题"; proName = "USP_Refresh_SnapShot_Book"; num = 5; } else if (selectType == 2) { strInfo = "下载职员基本信息和档案信息"; proName = "USP_Refresh_SnapShot_Employee"; num = 4; } else if (selectType == 3) { strInfo = "下载基础数据"; proName = "USP_Refresh_SnapShot_All"; num = 9; } if (selectType == 0 || selectType == 3) { for (int i = 1; i <= num - 1; i++) { refreshbll.RefreshSnapShot(proName, i); System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('正在" + strInfo + "','" + ((double)(i * 100) / (double)num).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); } string strSql = @"select a.User_Ids from Random_Exam_Arrange_Detail a where a.Random_Exam_ID in (select Random_Exam_ID from Random_Exam_Computer_Server a where Computer_Server_No='" + PrjPub.ServerNo + "' and (Has_Paper=0 or Is_Start<2))"; OracleAccess dbCenter = new OracleAccess(System.Configuration.ConfigurationManager.ConnectionStrings["OracleCenter"].ConnectionString); string strwhere = string.Empty; DataSet ds = dbCenter.RunSqlDataSet(strSql); foreach (DataRow dr in ds.Tables[0].Rows) { string[] struserIds = dr["User_Ids"].ToString().Split(','); for (int i = 0; i < struserIds.Length; i++) { if (struserIds[i] == string.Empty) { continue; } if ((" or " + strwhere + " or ").IndexOf(" or Employee_ID=" + struserIds[i] + " or ") <= 0) { strwhere += strwhere == string.Empty ? "Employee_ID=" + struserIds[i] : " or Employee_ID=" + struserIds[i]; } } } OracleAccess db = new OracleAccess(); if (db.GetCount("EMPLOYEE_FINGERPRINT", "MATERIALIZED VIEW") > 0) { strSql = "drop materialized view Employee_FingerPrint"; db.ExecuteNonQuery(strSql); } if (strwhere == string.Empty) { strSql = "create materialized view Employee_FingerPrint refresh force on demand as select * from Employee_FingerPrint@link_sf where 1=2"; db.ExecuteNonQuery(strSql); } else { strSql = "create materialized view Employee_FingerPrint refresh force on demand as select * from Employee_FingerPrint@link_sf where " + strwhere; db.ExecuteNonQuery(strSql); } System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('正在" + strInfo + "','" + ((double)(num * 100) / (double)num).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); } else { for (int i = 1; i <= num; i++) { refreshbll.RefreshSnapShot(proName, i); System.Threading.Thread.Sleep(10); jsBlock = "<script>SetPorgressBar('正在" + strInfo + "','" + ((double)(i * 100) / (double)num).ToString("0.00") + "'); </script>"; Response.Write(jsBlock); Response.Flush(); } } obj.OrgID = PrjPub.CurrentLoginUser.StationOrgID; obj.SynchronizeTypeID = PrjPub.DownloadData; obj.SynchronizeStatusID = PrjPub.DownloadSuccess; obj.BeginTime = beginTime; obj.EndTime = DateTime.Now; objlogdal.AddSynchronizeLog(obj); Response.Write("<script>alert('下载成功!');top.close();</script>"); } catch { obj.OrgID = PrjPub.CurrentLoginUser.StationOrgID; obj.SynchronizeTypeID = PrjPub.DownloadData; obj.SynchronizeStatusID = PrjPub.DownloadFailed; obj.BeginTime = beginTime; obj.EndTime = DateTime.Now; objlogdal.AddSynchronizeLog(obj); Response.Write("<script>alert('同步数据失败!请检查站段服务器网络连接是否正常!');top.close();</script>"); } }
/// <summary> /// 修改的申请预订记录 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSave_Click(object sender, ImageClickEventArgs e) { if (Request.QueryString["mode"] != null) { string state = Request.QueryString["mode"].ToString(); if (isBlock()) { return; } int orgID = PrjPub.CurrentLoginUser.StationOrgID; int APPLY_ORG_ID = int.Parse(this.DDLOrg.SelectedValue); int COMPUTER_ROOM_ID = int.Parse(this.DDLComputerRoom.SelectedValue); int APPLY_COMPUTER_NUMBER = int.Parse(this.txtAPPLY_COMPUTER_NUMBER.Text.Trim().ToString()); string strBegin = dateBeginTime.DateValue.ToString() + " " + ddlBeginHour.SelectedValue + ":00:00"; string strEnd = dateEndTime.DateValue.ToString() + " " + ddlEndHour.SelectedValue + ":00:00"; try { DateTime nowBegin = Convert.ToDateTime(strBegin); DateTime nowEnd = Convert.ToDateTime(strEnd); if (nowEnd <= nowBegin) { this.ClientScript.RegisterStartupScript(GetType(), "NO", "alert('申请结束时间不能小于等于开始时间!')", true); return; } } catch (Exception ex) { OxMessageBox.MsgBox3(ex.Message); return; } OracleAccess ora = new OracleAccess(); try { if (state == "Insert") { //判断被申请微机教室是否被占用 //string strSql = "select * from Computer_Room_Apply a " // + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID " // + " where a.REPLY_STATUS=1 and a.Computer_Room_ID=" + DDLComputerRoom.SelectedValue // + " and ((a.Apply_Start_Time >= to_date('" + strBegin + "','YYYY-MM-DD HH24:MI:SS')" // + " and a.Apply_Start_Time <= to_date('" + strEnd + "','YYYY-MM-DD HH24:MI:SS'))" // + " or (a.Apply_End_Time >= to_date('" + strBegin + "','YYYY-MM-DD HH24:MI:SS')" // + " and a.Apply_End_Time <= to_date('" + strEnd + "','YYYY-MM-DD HH24:MI:SS')))"; //if(ora.RunSqlDataSet(strSql).Tables[0].Rows.Count > 0) //{ // this.ClientScript.RegisterStartupScript(GetType(), "NO", "alert('该微机教室已被本单位或其他单位占用,不能申请使用该微机教室!')", true); // return; //} DataSet ds = new DataSet(); ds = ora.RunSqlDataSet("select * from COMPUTER_ROOM_APPLY where ORG_ID=" + orgID + " and APPLY_ORG_ID=" + int.Parse(this.DDLOrg.SelectedValue) + " and COMPUTER_ROOM_ID=" + int.Parse(this.DDLComputerRoom.SelectedValue) + " and REPLY_STATUS=" + 0); if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { this.ClientScript.RegisterStartupScript(GetType(), "NO", "alert('当前单位已向该教室提出申请但未回复,不能重复申请!')", true); return; } ora = new OracleAccess(); ora.ExecuteNonQuery(string.Format("insert into computer_room_apply(COMPUTER_ROOM_APPLY_ID,ORG_ID," + "apply_org_id,computer_room_id,apply_start_time,apply_end_time,apply_computer_number,REPLY_STATUS) " + " values({0},{1},{2},{3},to_date('{4}','yyyy-mm-dd hh24:mi:ss'),to_date('{5}','yyyy-mm-dd hh24:mi:ss'),{6},{7})", "COMPUTER_ROOM_APPLY_SEQ.NEXTVAL", orgID, APPLY_ORG_ID, COMPUTER_ROOM_ID, strBegin, strEnd, APPLY_COMPUTER_NUMBER, 0)); } else if (state == "EditOne" || state == "EditTwo") { if (Request.QueryString["id"] != null) { string strSql = string.Empty; int _ComputerRoomApplyID = Convert.ToInt32(Request.QueryString["id"]); int REPLY_STATUS = this.DDLREPLY_STATUS.SelectedIndex; string REJECT_REASON = this.txtREJECT_REASON.Text.Trim().ToString(); if (state == "EditOne") { //判断被申请微机教室是否被占用 //strSql = "select * from Computer_Room_Apply a " // + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID " // + " where a.REPLY_STATUS=1 and a.Computer_Room_ID=" + DDLComputerRoom.SelectedValue // + " and ((a.Apply_Start_Time >= to_date('" + strBegin + "','YYYY-MM-DD HH24:MI:SS')" // + " and a.Apply_Start_Time <= to_date('" + strEnd + "','YYYY-MM-DD HH24:MI:SS'))" // + " or (a.Apply_End_Time >= to_date('" + strBegin + "','YYYY-MM-DD HH24:MI:SS')" // + " and a.Apply_End_Time <= to_date('" + strEnd + "','YYYY-MM-DD HH24:MI:SS')))"; //if (ora.RunSqlDataSet(strSql).Tables[0].Rows.Count > 0) //{ // this.ClientScript.RegisterStartupScript(GetType(), "NO", "alert('该微机教室已被本单位或其他单位占用,不能申请使用该微机教室!')", true); // return; //} ora.ExecuteNonQuery(string.Format("update computer_room_apply SET ORG_ID={0},APPLY_ORG_ID={1},COMPUTER_ROOM_ID={2},APPLY_START_TIME=to_date('{3}','yyyy-mm-dd hh24:mi:ss'),APPLY_END_TIME=to_date('{4}','yyyy-mm-dd hh24:mi:ss'),APPLY_COMPUTER_NUMBER={5},REPLY_STATUS={6},REJECT_REASON='{7}' where COMPUTER_ROOM_APPLY_ID={8}", orgID, APPLY_ORG_ID, COMPUTER_ROOM_ID, strBegin, strEnd, APPLY_COMPUTER_NUMBER, REPLY_STATUS, REJECT_REASON, _ComputerRoomApplyID)); } else { //只需要修回复状态与回复原因 switch (REPLY_STATUS) { case 0: strSql = "update computer_room_apply SET REPLY_STATUS=0 where COMPUTER_ROOM_APPLY_ID=" + _ComputerRoomApplyID; break; case 1: //strSql = "select * from Computer_Room_Apply a " //+ " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID " //+ " where a.REPLY_STATUS=1 and a.Computer_Room_ID=" + DDLComputerRoom.SelectedValue //+ " and ((a.Apply_Start_Time >= to_date('" + strBegin + "','YYYY-MM-DD HH24:MI:SS')" //+ " and a.Apply_Start_Time <= to_date('" + strEnd + "','YYYY-MM-DD HH24:MI:SS'))" //+ " or (a.Apply_End_Time >= to_date('" + strBegin + "','YYYY-MM-DD HH24:MI:SS')" //+ " and a.Apply_End_Time <= to_date('" + strEnd + "','YYYY-MM-DD HH24:MI:SS')))"; //if (ora.RunSqlDataSet(strSql).Tables[0].Rows.Count > 0) //{ // this.ClientScript.RegisterStartupScript(GetType(), "NO", "alert('该微机教室已被本单位或其他单位占用,不能回复通过该微机教室的申请!')", true); // return; //} strSql = "update computer_room_apply SET REPLY_STATUS=1 where COMPUTER_ROOM_APPLY_ID=" + _ComputerRoomApplyID; break; case 2: if (string.IsNullOrEmpty(this.txtREJECT_REASON.Text.Trim().ToString())) { this.ClientScript.RegisterStartupScript(GetType(), "NO", "alert('请填写回复原因!')", true); this.txtREJECT_REASON.Focus(); return; } strSql = "update computer_room_apply SET REPLY_STATUS=2,REJECT_REASON='" + this.txtREJECT_REASON.Text.Trim().ToString() + "' where COMPUTER_ROOM_APPLY_ID=" + _ComputerRoomApplyID; break; } ora.ExecuteNonQuery(strSql); if (REPLY_STATUS == 1) { ora.ExecuteNonQuery("update Computer_Room set Is_Use=1 where Computer_Room_ID=" + DDLComputerRoom.SelectedValue); } } } } } catch (Exception ex) { Response.Write("<script>alert('" + ex.Message + "')</script>"); throw ex; } ClientScript.RegisterStartupScript(GetType(), "OK", "alert('保存成功!');top.returnValue='true';top.close();", true); //Response.Write("<script>top.returnValue='true';top.close();</script>"); } }
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()); } } }