Ejemplo n.º 1
0
        protected void btnLast_Click(object sender, EventArgs e)
        {
            string strId        = Request.QueryString.Get("id");
            string strStartMode = ViewState["startmode"].ToString();
            string strFlag      = "";

            if (ViewState["mode"].ToString() == "Insert")
            {
                strFlag = "Edit";
            }
            else if (ViewState["mode"].ToString() == "Edit")
            {
                RandomExamResultBLL reBll = new RandomExamResultBLL();
                IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(Convert.ToInt32(strId));

                if (examResults.Count > 0)
                {
                    strFlag = "ReadOnly";
                }
                else
                {
                    strFlag = ViewState["mode"].ToString();
                }
            }
            else
            {
                strFlag = ViewState["mode"].ToString();
            }

            Response.Redirect("RandomExamManageThird.aspx?startmode=" + strStartMode + "&mode=" + strFlag + "&id=" + strId);
        }
Ejemplo n.º 2
0
        private void DeleteData(int nBookID)
        {
            RandomExamSubjectBLL paperStrategySubjectBLL = new RandomExamSubjectBLL();
            RandomExamSubject    paperStrategySubject    = paperStrategySubjectBLL.GetRandomExamSubject(int.Parse(Request.QueryString.Get("id")));

            if (paperStrategySubject != null)
            {
                RandomExamResultBLL reBll = new RandomExamResultBLL();
                IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(paperStrategySubject.RandomExamId);

                if (Pub.HasPaper(Convert.ToInt32(paperStrategySubject.RandomExamId)))
                {
                    SessionSet.PageMessage = "该考试已生成试卷,取题范围不能被删除!";
                    return;
                }

                if (examResults.Count > 0)
                {
                    SessionSet.PageMessage = "已有考生参加考试,取题范围不能被删除!";
                    return;
                }
            }

            RandomExamStrategyBLL paperStrategyBookChapterBLL = new RandomExamStrategyBLL();

            paperStrategyBookChapterBLL.DeleteRandomExamStrategy(nBookID);

            OracleAccess db     = new OracleAccess();
            string       strSql = "delete from Random_Exam_Strategy where Is_Mother_Item=1 and Mother_ID=" + nBookID;

            db.ExecuteNonQuery(strSql);

            strSql = "delete from Random_Exam_Item_Select where  RANDOM_EXAM_STRATEGY_ID=" + nBookID;
            db.ExecuteNonQuery(strSql);
        }
Ejemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string orgID = Request.QueryString.Get("orgid");
            string strId = Request.QueryString.Get("id");

            ViewState["NowOrgID"] = Convert.ToInt32(ConfigurationManager.AppSettings["StationID"]);

            if (!string.IsNullOrEmpty(strId))
            {
                FillHeading(strId, orgID);
            }

            if (!IsPostBack)
            {
                if (PrjPub.CurrentLoginUser != null)
                {
                    hfLoginEmployeeID.Value = PrjPub.CurrentLoginUser.EmployeeID.ToString();
                }
                else
                {
                    RandomExamResultBLL bll    = new RandomExamResultBLL();
                    RandomExamResult    result = bll.GetRandomExamResult(Convert.ToInt32(strId));
                    hfLoginEmployeeID.Value = result.ExamineeId.ToString();

                    if (hfLoginEmployeeID.Value == "0")
                    {
                        RandomExamResult result1 = bll.GetRandomExamResultTemp(Convert.ToInt32(strId));
                        hfLoginEmployeeID.Value = result1.ExamineeId.ToString();
                    }
                }
            }
        }
Ejemplo n.º 4
0
        private void HasExamId()
        {
            string strExamId = Request.QueryString.Get("id");

            //已经参加考试的考生自动填充上

            RandomExamResultBLL reBll = new RandomExamResultBLL();
            IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(int.Parse(strExamId));
            string strId = "";

            for (int i = 0; i < examResults.Count; i++)
            {
                string strEmId = examResults[i].ExamineeId.ToString();

                if (strId.Length == 0)
                {
                    strId += strEmId;
                }
                else
                {
                    strId += "," + strEmId;
                }
            }
            ViewState["HasExamId"] = strId;;
        }
Ejemplo n.º 5
0
        private void ReplyExam(string strId)
        {
            RandomExamResultBLL objResultBll = new RandomExamResultBLL();
            RandomExamResult    result       = objResultBll.GetRandomExamResult(Convert.ToInt32(strId));

            RandomExamResultCurrentBLL objBll = new RandomExamResultCurrentBLL();

            objBll.ReplyRandomExamResultCurrentByResultID(result.ExamineeId, Convert.ToInt32(strId));
            examsGrid.DataSource = objBll.GetRandomExamResultInfoByExamID(result.RandomExamId, GetSql());
            examsGrid.DataBind();
        }
        protected void btnLast_Click(object sender, ImageClickEventArgs e)
        {
            string strId        = Request.QueryString.Get("id");
            string strStartMode = ViewState["startmode"].ToString();
            string strFlag      = "";

            if (ViewState["mode"].ToString() == "Insert")
            {
                strFlag = "Edit";
            }
            else if (ViewState["mode"].ToString() == "Edit")
            {
                RandomExamResultBLL reBll = new RandomExamResultBLL();
                IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(Convert.ToInt32(strId));

                if (examResults.Count > 0)
                {
                    strFlag = "ReadOnly";
                }
                else
                {
                    strFlag = ViewState["mode"].ToString();
                }
            }
            else
            {
                strFlag = ViewState["mode"].ToString();
            }

            if (PrjPub.IsWuhan())
            {
                Response.Redirect("RandomExamManageThird.aspx?startmode=" + strStartMode + "&mode=" + strFlag + "&id=" + strId);
            }
            else
            {
                string strItemType = "";
                RandomExamSubjectBLL      objSubjectBll  = new RandomExamSubjectBLL();
                IList <RandomExamSubject> objSubjectList = objSubjectBll.GetRandomExamSubjectByRandomExamId(Convert.ToInt32(strId));
                foreach (RandomExamSubject subject in objSubjectList)
                {
                    if (strItemType == "")
                    {
                        strItemType = subject.ItemTypeId.ToString();
                    }
                    else
                    {
                        strItemType = strItemType + "|" + subject.ItemTypeId;
                    }
                }
                Response.Redirect("/RailExamBao/RandomExamOther/RandomExamStrategyInfo.aspx?startmode=" + strStartMode + "&mode=" + strFlag + "&itemType=" + strItemType + "&id=" + strId);
            }
        }
Ejemplo n.º 7
0
        protected void btnSelect_Click(object sender, EventArgs e)
        {
            int employeeID = Convert.ToInt32(ViewState["EmployeeID"].ToString());

            DateTime begin, end;

            try
            {
                begin         = Convert.ToDateTime(ddlYearSmall.SelectedValue + "-" + ddlMonthSmall.SelectedValue + "-" + "01");
                end           = Convert.ToDateTime(ddlYearBig.SelectedValue + "-" + ddlMonthBig.SelectedValue + "-" + "01").AddMonths(1);
                hfBegin.Value = begin.ToString("yyyy-MM-dd");
                hfEnd.Value   = end.ToString("yyyy-MM-dd");
            }
            catch
            {
                SessionSet.PageMessage = "日期选择不正确!";
                return;
            }

            if (employeeID == 0)
            {
                SessionSet.PageMessage = "请选择学员!";
                return;
            }

            RandomExamResultBLL objBll = new RandomExamResultBLL();

            string str = "and a.Begin_Time>to_date('" + hfBegin.Value + "','yyyy-MM-dd') and a.Begin_Time<=to_date('" + hfEnd.Value + "','yyyy-MM-dd') and a.EXAMINEE_ID=" + employeeID;

            if (ddlExamMode.SelectedValue != "0")
            {
                str += " and c.EXAM_STYLE=" + ddlExamMode.SelectedValue;
            }
            IList <RailExam.Model.RandomExamResult> objList = objBll.GetRandomExamResults(str);

            foreach (RandomExamResult randomExamResult in objList)
            {
                randomExamResult.ExamTimeName = randomExamResult.ExamTime / 60 + "分" + randomExamResult.ExamTime % 60 + "秒";
            }

            examsGrid.DataSource = objList;
            examsGrid.DataBind();

            if (examsGrid.DataSource != null)
            {
                Session["StudentExamInfo"] = examsGrid.DataSource;
                hfIsRef.Value = "true";
            }
        }
        protected void Grid1_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            string strID = Grid1.DataKeys[e.RowIndex].Values[0].ToString();

            if (strID == "0")
            {
                SessionSet.PageMessage = "删除成功!";
            }
            else
            {
                RandomExamResultBLL objResultBll = new RandomExamResultBLL();
                objResultBll.DeleteRandomExamResult(Convert.ToInt32(strID));
                SessionSet.PageMessage = "删除成功!";
            }
            BindGrid();
        }
Ejemplo n.º 9
0
        protected void Callback1_Callback(object sender, CallBackEventArgs e)
        {
            try
            {
                string strId = ViewState["ExamID"].ToString();
                RandomExamResultCurrentBLL             objResultCurrentBll = new RandomExamResultCurrentBLL();
                RailExam.Model.RandomExamResultCurrent objResultCurrent    =
                    objResultCurrentBll.GetRandomExamResult(Convert.ToInt32(ViewState["RandomExamResultID"].ToString()));

                if (objResultCurrent.RandomExamId == 0)
                {
                    hfStart.Value = "2";
                }
                else
                {
                    objResultCurrent.ExamTime = Convert.ToInt32(ViewState["LastExamTime"].ToString()) + GetSecondBetweenTwoDate(DateTime.Now, DateTime.Parse(ViewState["BeginTime"].ToString()));
                    objResultCurrentBll.UpdateRandomExamResultCurrent(objResultCurrent);

                    RandomExamBLL             objBll        = new RandomExamBLL();
                    RailExam.Model.RandomExam objRandomExam = objBll.GetExam(Convert.ToInt32(strId));
                    hfStart.Value = objRandomExam.IsStart.ToString();
                }

                if (hfStart.Value == "2")
                {
                    RandomExamResultBLL objResultBll = new RandomExamResultBLL();
                    RandomExamResult    objResult    =
                        objResultBll.GetNewRandomExamResultByExamineeID(Convert.ToInt32(ViewState["EmployeeID"].ToString()),
                                                                        Convert.ToInt32(strId));

                    hfResultID.Value = objResult.RandomExamResultId.ToString();
                }
            }
            catch
            {
                hfStart.Value = "-1";
            }

            hfResultID.RenderControl(e.Output);
            hfStart.RenderControl(e.Output);
        }
        protected void Grid1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            string resultID   = ((HiddenField)Grid1.Rows[e.RowIndex].FindControl("hfID")).Value;
            string employeeID = ((HiddenField)Grid1.Rows[e.RowIndex].FindControl("hfExamineeID")).Value;
            string score      = ((TextBox)Grid1.Rows[e.RowIndex].FindControl("txtScore")).Text;

            RandomExamResultBLL objResultBll = new RandomExamResultBLL();

            if (resultID == "0")
            {
                RandomExamResult objResult = new RandomExamResult();
                objResult.OrganizationId  = Convert.ToInt32(ViewState["ExamOrgID"]);
                objResult.RandomExamId    = Convert.ToInt32(ViewState["ExamID"]);
                objResult.ExamineeId      = Convert.ToInt32(employeeID);
                objResult.BeginDateTime   = DateTime.Now;
                objResult.EndDateTime     = DateTime.Now;
                objResult.CurrentDateTime = DateTime.Now;
                objResult.ExamTime        = 0;
                objResult.AutoScore       = 0;
                objResult.Score           = Convert.ToDecimal(score);
                objResult.CorrectRate     = Convert.ToDecimal(score);
                objResult.IsPass          = Convert.ToDecimal(score) >= 60 ? true : false;
                objResult.StatusId        = 2;
                objResultBll.AddRandomExamResult(objResult);
            }
            else
            {
                RandomExamResult objResult = objResultBll.GetRandomExamResult(Convert.ToInt32(resultID));
                objResult.Score       = Convert.ToDecimal(score);
                objResult.CorrectRate = Convert.ToDecimal(score);
                objResult.IsPass      = Convert.ToDecimal(score) >= 60 ? true : false;
                objResultBll.UpdateRandomExamResultOther(objResult);
            }

            Grid1.EditIndex = -1;
            BindGrid();
        }
Ejemplo n.º 11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string strExamId = Request.QueryString.Get("id");
                ViewState["StudentID"] = Request.QueryString.Get("employeeID");
                ViewState["ExamID"]    = strExamId;

                if (strExamId != null && strExamId != "")
                {
                    RandomExamBLL             randomExamBLL = new RandomExamBLL();
                    RailExam.Model.RandomExam randomExam    = randomExamBLL.GetExam(int.Parse(strExamId));

                    OracleAccess db     = new OracleAccess();
                    string       strSql =
                        @"select * from Random_Exam_Result_Answer_Cur where Random_Exam_Result_ID in (
                        select Random_Exam_Result_ID from Random_Exam_Result_Current 
                        where Examinee_ID=" +
                        ViewState["StudentID"] + " and  Random_Exam_ID=" + strExamId + ")";
                    DataSet dsAnswer = db.RunSqlDataSet(strSql);

                    strSql = "select * from Random_Exam_Result_Current  where Examinee_ID=" +
                             ViewState["StudentID"] + " and  Random_Exam_ID=" + strExamId;
                    DataSet dsCurrent = db.RunSqlDataSet(strSql);

                    if (dsAnswer.Tables[0].Rows.Count == 0 && dsCurrent.Tables[0].Rows.Count > 0)
                    {
                        Response.Write("<script>alert('您的考试试卷生成有误,请联系监考老师删除您的考试试卷后重新生成!'); top.close();</script>");
                        return;
                    }

                    strSql = "select * from Random_Exam_Computer_Server where Random_Exam_ID=" + ViewState["ExamID"].ToString()
                             + " and Computer_Server_No=" + PrjPub.ServerNo;
                    DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0];

                    //如果当前考试为手动控制,则需判断考试是否开始
                    if (randomExam.StartMode == 2 && dr["Is_Start"].ToString() == "0")
                    {
                        Response.Write("<script>alert('该考试还没有开始,请耐心等待!'); top.close();</script>");
                        return;
                    }
                    if (randomExam.StartMode == 2 && dr["Is_Start"].ToString() == "2")
                    {
                        Response.Write("<script>alert('该考试已经结束!'); top.close();</script>");
                        return;
                    }

                    RandomExamResultBLL RandomExamResultBLL = new RandomExamResultBLL();
                    int nowCount;

                    IList <RandomExamResult> RandomExamResults =
                        RandomExamResultBLL.GetRandomExamResultByExamineeID(
                            Convert.ToInt32(Request.QueryString.Get("employeeID")), int.Parse(strExamId));
                    nowCount = RandomExamResults.Count;

                    if (nowCount > (randomExam.MaxExamTimes - 1))
                    {
                        Response.Write("<script>alert('您参加考试的次数已经达到考试设定的最大次数!'); top.close();</script>");
                        return;
                    }

                    RandomExamResultCurrentBLL             objResultCurrentBll = new RandomExamResultCurrentBLL();
                    RailExam.Model.RandomExamResultCurrent randomExamResult    =
                        objResultCurrentBll.GetNowRandomExamResultInfo(
                            Convert.ToInt32(Request.QueryString.Get("employeeID")), Convert.ToInt32(strExamId));

                    if (randomExamResult.RandomExamResultId == 0)
                    {
                        Response.Write("<script>alert('该考试已经结束!'); top.close();</script>");
                        return;
                    }
                }
                FillPage();
            }
        }
Ejemplo n.º 12
0
        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>");
        }
Ejemplo n.º 13
0
        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>");
            }
        }
Ejemplo n.º 14
0
        private IList <Employee> BindGrid()
        {
            string RandomExamID = Request.QueryString.Get("eid");
            string OrgID        = Request.QueryString.Get("OrgID");

            string  OrganizationName = "";
            string  strExamineeName  = "";
            decimal dScoreLower      = -1000;
            decimal dScoreUpper      = 1000;

            IList <RandomExamResult> examResults   = null;
            RandomExamResultBLL      bllExamResult = new RandomExamResultBLL();

            examResults = bllExamResult.GetRandomExamResults(Convert.ToInt32(RandomExamID), OrganizationName, string.Empty, strExamineeName, string.Empty, dScoreLower,
                                                             dScoreUpper, Convert.ToInt32(OrgID));

            string strID = string.Empty;

            foreach (RandomExamResult result in examResults)
            {
                if (strID == string.Empty)
                {
                    strID = result.ExamineeId.ToString();
                }
                else
                {
                    strID = strID + "," + result.ExamineeId;
                }
            }

            RandomExamBLL objBll = new RandomExamBLL();

            RailExam.Model.RandomExam objExam = objBll.GetExam(Convert.ToInt32(RandomExamID));

            RandomExamArrangeBLL      objArrangebll  = new RandomExamArrangeBLL();
            IList <RandomExamArrange> objArrangeList = objArrangebll.GetRandomExamArranges(Convert.ToInt32(RandomExamID));
            string strChooseID = string.Empty;

            if (objArrangeList.Count > 0)
            {
                if (PrjPub.IsServerCenter && Convert.ToInt32(OrgID) == objExam.OrgId)
                {
                    strChooseID = objArrangeList[0].UserIds;
                }
                else if (PrjPub.IsServerCenter && Convert.ToInt32(OrgID) != objExam.OrgId)
                {
                    string[] strEmployee = objArrangeList[0].UserIds.Split(',');

                    OrganizationBLL orgBll      = new OrganizationBLL();
                    EmployeeBLL     employeeBll = new EmployeeBLL();
                    int             count       = 0;
                    for (int i = 0; i < strEmployee.Length; i++)
                    {
                        Employee employee     = employeeBll.GetChooseEmployeeInfo(strEmployee[i]);
                        int      stationOrgID = orgBll.GetStationOrgID(employee.OrgID);

                        if (stationOrgID == Convert.ToInt32(OrgID))
                        {
                            if (strChooseID == string.Empty)
                            {
                                strChooseID = strEmployee[i];
                            }
                            else
                            {
                                strChooseID += "," + strEmployee[i];
                            }
                        }
                    }
                }
                else
                {
                    string strSql = "select a.* from Random_Exam_Arrange_Detail a "
                                    + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID "
                                    + " inner join Computer_Server c on b.Computer_Server_ID=c.Computer_Server_ID "
                                    + " where c.Computer_Server_No='" + PrjPub.ServerNo + "'"
                                    + " and a.Random_Exam_ID=" + RandomExamID;
                    OracleAccess db        = new OracleAccess();
                    DataSet      dsArrange = db.RunSqlDataSet(strSql);

                    foreach (DataRow dr in dsArrange.Tables[0].Rows)
                    {
                        if (strChooseID == string.Empty)
                        {
                            strChooseID = dr["User_Ids"].ToString();
                        }
                        else
                        {
                            strChooseID += "," + dr["User_Ids"].ToString();
                        }
                    }
                }
            }

            string[] str         = strChooseID.Split(',');
            string   strNoResult = "";

            for (int i = 0; i < str.Length; i++)
            {
                if (str[i] == string.Empty)
                {
                    continue;
                }

                if (("," + strID + ",").IndexOf(("," + str[i] + ",")) < 0)
                {
                    if (strNoResult == string.Empty)
                    {
                        strNoResult = str[i];
                    }
                    else
                    {
                        strNoResult = strNoResult + "," + str[i];
                    }
                }
            }

            EmployeeBLL      objbll  = new EmployeeBLL();
            IList <Employee> objList = new List <Employee>();

            if (strNoResult != string.Empty)
            {
                string[] strNo = strNoResult.Split(',');
                for (int i = 0; i < strNo.Length; i++)
                {
                    Employee employee = objbll.GetChooseEmployeeInfo(strNo[i]);
                    if (employee.EmployeeID != 0)
                    {
                        objList.Add(employee);
                    }
                }
            }

            Session["NoExamInfo"] = objList;

            return(objList);
        }
        private void BindGrid()
        {
            RandomExamResultBLL      objResultBll  = new RandomExamResultBLL();
            IList <RandomExamResult> objResultList = objResultBll.GetRandomExamResultByExamID(Convert.ToInt32(ViewState["ExamID"]));
            Hashtable htResult = new Hashtable();

            foreach (RandomExamResult result in objResultList)
            {
                htResult.Add(result.ExamineeId, result.ExamineeName);
            }

            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("RandomExamResultID", typeof(int)));
            dt.Columns.Add(new DataColumn("ExamineeID", typeof(int)));
            dt.Columns.Add(new DataColumn("ExamineeName", typeof(string)));
            dt.Columns.Add(new DataColumn("WorkNo", typeof(string)));
            dt.Columns.Add(new DataColumn("PostName", typeof(string)));
            dt.Columns.Add(new DataColumn("OrganizationName", typeof(string)));
            dt.Columns.Add(new DataColumn("ExamOrgName", typeof(string)));
            dt.Columns.Add(new DataColumn("Score", typeof(string)));

            RandomExamArrangeBLL      objArrangeBll  = new RandomExamArrangeBLL();
            IList <RandomExamArrange> objArrangeList = objArrangeBll.GetRandomExamArranges(Convert.ToInt32(ViewState["ExamID"]));

            if (objArrangeList.Count == 0)
            {
                Grid1.DataSource = dt;
                Grid1.DataBind();
                return;
            }
            RandomExamArrange objArrange = objArrangeList[0];

            string[] str = objArrange.UserIds.Split(',');


            EmployeeBLL objEmployeeBll = new EmployeeBLL();

            for (int i = 0; i < str.Length; i++)
            {
                Employee objEmployee = objEmployeeBll.GetEmployee(Convert.ToInt32(str[i]));
                if (!htResult.ContainsKey(Convert.ToInt32(str[i])))
                {
                    DataRow dr = dt.NewRow();
                    dr["RandomExamResultID"] = 0;
                    dr["ExamineeID"]         = Convert.ToInt32(str[i]);
                    dr["ExamineeName"]       = objEmployee.EmployeeName;
                    dr["WorkNo"]             = objEmployee.WorkNo;
                    dr["PostName"]           = objEmployee.PostName;
                    dr["OrganizationName"]   = objEmployee.OrgName;
                    dr["ExamOrgName"]        = ViewState["ExamOrgName"].ToString();
                    dr["Score"] = "";
                    dt.Rows.Add(dr);
                }
                else
                {
                    RandomExamResult objResult =
                        objResultBll.GetRandomExamResultByExamineeID(Convert.ToInt32(str[i]), Convert.ToInt32(ViewState["ExamID"]))[0];
                    DataRow dr = dt.NewRow();
                    dr["RandomExamResultID"] = objResult.RandomExamResultId;
                    dr["ExamineeID"]         = Convert.ToInt32(str[i]);
                    dr["ExamineeName"]       = objResult.ExamineeName;
                    dr["WorkNo"]             = objResult.WorkNo;
                    dr["PostName"]           = objEmployee.PostName;
                    dr["OrganizationName"]   = objEmployee.OrgName;
                    dr["ExamOrgName"]        = ViewState["ExamOrgName"].ToString();
                    dr["Score"] = objResult.Score;
                    dt.Rows.Add(dr);
                }
            }

            Grid1.DataSource = dt;
            Grid1.DataBind();
        }
Ejemplo n.º 16
0
        protected void FillHeading(string strId, string orgid)
        {
            RandomExamResultBLL randomExamResultBLL = new RandomExamResultBLL();
            RandomExamResult    randomExamResult    = new RandomExamResult();

            if (ViewState["NowOrgID"].ToString() != orgid)
            {
                randomExamResult = randomExamResultBLL.GetRandomExamResultByOrgID(int.Parse(strId), int.Parse(orgid));
            }
            else
            {
                randomExamResult = randomExamResultBLL.GetRandomExamResult(int.Parse(strId));
            }

            string strOrgName     = randomExamResult.OrganizationName;
            string strStationName = "";
            string strOrgName1    = "";
            int    n = strOrgName.IndexOf("-");

            if (n != -1)
            {
                strStationName = strOrgName.Substring(0, n);
                strOrgName1    = strOrgName.Substring(n + 1);
            }
            else
            {
                strStationName = strOrgName;
                strOrgName1    = "";
            }

            lblOrg.Text      = strStationName;
            lblWorkShop.Text = strOrgName1;
            lblPost.Text     = randomExamResult.PostName;
            lblName.Text     = randomExamResult.ExamineeName;
            lblTime.Text     = randomExamResult.BeginDateTime.ToString("yyyy-MM-dd HH:mm");
            lblScore.Text    = System.String.Format("{0:0.##}", randomExamResult.Score);

            int           RandomExamId  = randomExamResult.RandomExamId;
            RandomExamBLL randomExamBLL = new RandomExamBLL();

            RailExam.Model.RandomExam randomExam = randomExamBLL.GetExam(RandomExamId);

            if (randomExam != null)
            {
                lblTitle.Text = randomExam.ExamName;
            }

            RandomExamSubjectBLL randomExamSubjectBLL = new RandomExamSubjectBLL();
            IList <RailExam.Model.RandomExamSubject> RandomExamSubjects = randomExamSubjectBLL.GetRandomExamSubjectByRandomExamId(RandomExamId);

            int     nItemCount  = 0;
            decimal nTotalScore = 0;

            for (int i = 0; i < RandomExamSubjects.Count; i++)
            {
                nItemCount  += RandomExamSubjects[i].ItemCount;
                nTotalScore += RandomExamSubjects[i].ItemCount * RandomExamSubjects[i].UnitScore;
            }

            lblTitleRight.Text = "总共" + nItemCount + "题,共" + System.String.Format("{0:0.##}", nTotalScore) + "分";
        }
Ejemplo n.º 17
0
        protected void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                string                    examId        = Request.QueryString.Get("examID");
                RandomExamBLL             objBll        = new RandomExamBLL();
                RailExam.Model.RandomExam objRandomExam = objBll.GetExam(Convert.ToInt32(examId));
                if (objRandomExam.IsStart != 2)
                {
                    SessionSet.PageMessage = "考试还未结束不能生成补考试卷!";
                    return;
                }

                //OrganizationBLL OrgBll = new OrganizationBLL();
                //Organization org = OrgBll.GetOrganization(objRandomExam.OrgId);
                //if (org.SuitRange != 1 && !objRandomExam.IsUpload)
                //{
                //    Grid1.DataBind();
                //    SessionSet.PageMessage = "考试为站段考试,还未上传考试成绩不能生成补考试卷!";
                //    return;
                //}

                if (objRandomExam.HasTrainClass)
                {
                    string strTrainClassID = "";
                    RandomExamTrainClassBLL      trainClassBLL = new RandomExamTrainClassBLL();
                    IList <RandomExamTrainClass> trainClasses  =
                        trainClassBLL.GetRandomExamTrainClassByRandomExamID(Convert.ToInt32(examId));
                    foreach (RandomExamTrainClass trainClass in trainClasses)
                    {
                        if (strTrainClassID == "")
                        {
                            strTrainClassID = "'" + trainClass.TrainClassID + "'";
                        }
                        else
                        {
                            strTrainClassID = strTrainClassID + ",'" + trainClass.TrainClassID + "'";
                        }
                    }
                }

                string  OrganizationName = "";
                string  strExamineeName  = "";
                decimal dScoreLower      = 0;
                decimal dScoreUpper      = 1000;

                IList <RandomExamResult> examResults   = null;
                RandomExamResultBLL      bllExamResult = new RandomExamResultBLL();

                examResults = bllExamResult.GetRandomExamResults(objRandomExam.RandomExamId, OrganizationName, "", strExamineeName, string.Empty, dScoreLower,
                                                                 dScoreUpper, objRandomExam.OrgId);


                string strID     = string.Empty;
                string strNoPass = string.Empty;
                foreach (RandomExamResult result in examResults)
                {
                    if (strID == string.Empty)
                    {
                        strID = result.ExamineeId.ToString();
                    }
                    else
                    {
                        strID = strID + "," + result.ExamineeId;
                    }

                    //当补考考生不为未参加考试考生时
                    if (ddlSelect.SelectedValue != "2")
                    {
                        if (result.Score < objRandomExam.PassScore)
                        {
                            if (strNoPass == string.Empty)
                            {
                                strNoPass = result.ExamineeId.ToString();
                            }
                            else
                            {
                                strNoPass = strNoPass + "," + result.ExamineeId;
                            }
                        }
                    }
                }

                RandomExamArrangeBLL      objArrangebll  = new RandomExamArrangeBLL();
                IList <RandomExamArrange> objArrangeList =
                    objArrangebll.GetRandomExamArranges(objRandomExam.RandomExamId);
                string strChooseID = string.Empty;
                if (objArrangeList.Count > 0)
                {
                    strChooseID = objArrangeList[0].UserIds;
                }
                string[] str = strChooseID.Split(',');

                string strNoResult = string.Empty;
                //当补考考生不为不及格考生时
                if (ddlSelect.SelectedValue != "1")
                {
                    for (int i = 0; i < str.Length; i++)
                    {
                        if (("," + strID + ",").IndexOf(("," + str[i] + ",")) < 0)
                        {
                            if (strNoResult == string.Empty)
                            {
                                strNoResult = str[i];
                            }
                            else
                            {
                                strNoResult = strNoResult + "," + str[i];
                            }
                        }
                    }
                }

                string strTotal = string.Empty;
                if (strNoResult == string.Empty && strNoPass == string.Empty)
                {
                    strTotal = string.Empty;
                }
                else if (strNoResult == string.Empty && strNoPass != string.Empty)
                {
                    strTotal = strNoPass;
                }
                else if (strNoResult != string.Empty && strNoPass == string.Empty)
                {
                    strTotal = strNoResult;
                }
                else if (strNoResult != string.Empty && strNoPass != string.Empty)
                {
                    strTotal = strNoPass + "," + strNoResult;
                }

                if (strTotal == string.Empty)
                {
                    SessionSet.PageMessage = "所选考试无考试不及格和未参加考试学员,不需生成补考考试!";
                    return;
                }

                int nowExamID = objBll.AddResetRandomExam(objRandomExam.RandomExamId);

                if (nowExamID == 0)
                {
                    SessionSet.PageMessage = "复制失败!";
                    return;
                }

                RandomExamArrange objArrange = new RandomExamArrange();
                objArrange.RandomExamId = nowExamID;
                objArrange.UserIds      = strTotal;
                objArrange.Memo         = string.Empty;
                int newArrangeId = objArrangebll.AddRandomExamArrange(objArrange);

                OracleAccess db     = new OracleAccess();
                string       strSql = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + objRandomExam.RandomExamId;
                DataSet      ds     = db.RunSqlDataSet(strSql);

                str = strTotal.Split(',');

                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    string strArrange = string.Empty;
                    for (int i = 0; i < str.Length; i++)
                    {
                        if (("," + dr["User_Ids"] + ",").IndexOf("," + str[i] + ",") >= 0)
                        {
                            if (strArrange == string.Empty)
                            {
                                strArrange = str[i];
                            }
                            else
                            {
                                strArrange += "," + str[i];
                            }
                        }
                    }

                    if (strArrange != string.Empty)
                    {
                        XmlDocument doc = new XmlDocument();
                        //Request.PhysicalApplicationPath取得config文件路径
                        doc.Load(Path.Combine(HttpContext.Current.Request.PhysicalApplicationPath, "web.config"));
                        XmlNode node  = doc.SelectSingleNode("configuration/dataConfiguration/@defaultDatabase");
                        string  value = node.Value;
                        int     id    = 0;
                        if (value == "Oracle")
                        {
                            OracleParameter para1 = new OracleParameter("p_User_Ids", OracleType.Clob);
                            OracleParameter para2 = new OracleParameter("p_random_exam_arrange_de_id", OracleType.Number);
                            para2.Direction = ParameterDirection.Output;
                            OracleParameter para3 = new OracleParameter("p_random_exam_arrange_Id", OracleType.Number);
                            para3.Value = newArrangeId;
                            OracleParameter para4 = new OracleParameter("p_random_Exam_ID", OracleType.Number);
                            para4.Value = nowExamID;
                            OracleParameter para5 = new OracleParameter("p_computer_room_id", OracleType.Number);
                            para5.Value = Convert.ToInt32(dr["Computer_Room_ID"].ToString());


                            IDataParameter[] paras = new IDataParameter[] { para1, para2, para3, para4, para5 };
                            id =
                                Pub.RunAddProcedure(false, "USP_RANDOM_EXAM_ARRANGE_DE_I", paras,
                                                    System.Text.Encoding.Unicode.GetBytes(strArrange));
                        }
                    }
                }

                //向Random_Exam_Computer_Server 机房考试状态表 插入记录
                strSql = "select c.Computer_Server_No from Random_Exam_Arrange_Detail a "
                         + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID "
                         + " inner join Computer_Server c on c.Computer_Server_ID=b.Computer_Server_ID "
                         + " where a.Random_Exam_ID=" + nowExamID;
                DataSet dsComputer = db.RunSqlDataSet(strSql);

                string serverNo = "";
                foreach (DataRow dr in dsComputer.Tables[0].Rows)
                {
                    if (serverNo != dr["Computer_Server_No"].ToString())
                    {
                        serverNo = dr["Computer_Server_No"].ToString();
                        strSql   = "insert into Random_Exam_Computer_Server"
                                   + "(Random_Exam_ID,Computer_Server_No,Status_ID,Is_Start,Has_Paper,"
                                   + "Random_Exam_Code,Is_Upload,DownLoaded) "
                                   + "values (" + nowExamID + "," + serverNo + ",0,0,0,'',0,0)";
                        db.ExecuteNonQuery(strSql);
                    }
                }

                Response.Write("<script>top.returnValue='true';top.close();</script>");
            }
            catch
            {
                SessionSet.PageMessage = "复制失败!";
            }
        }
Ejemplo n.º 18
0
        private void SaveAnswerToDB(string strAnswer)
        {
            try
            {
                string strId = Request.QueryString.Get("ExamID");

                RandomExamResultCurrentBLL             objResultCurrentBll = new RandomExamResultCurrentBLL();
                RailExam.Model.RandomExamResultCurrent objResultCurrent    =
                    objResultCurrentBll.GetNowRandomExamResultInfo(Convert.ToInt32(Request.QueryString["StudentID"].ToString()),
                                                                   Convert.ToInt32(strId));

                //更新考试成绩表时传入的主键应为站段的成绩表的主键ID
                objResultCurrent.RandomExamResultId = int.Parse(Request.QueryString["RandomExamResultID"].ToString());
                objResultCurrent.RandomExamId       = int.Parse(strId);
                objResultCurrent.AutoScore          = 0;
                objResultCurrent.CurrentDateTime    = DateTime.Parse(ViewState["EndTime"].ToString());
                objResultCurrent.ExamTime           = Convert.ToInt32(Request.QueryString["ExamTime"]);
                objResultCurrent.EndDateTime        = DateTime.Parse(ViewState["EndTime"].ToString());
                objResultCurrent.Score          = 0;
                objResultCurrent.OrganizationId = int.Parse(Request.QueryString["OrgID"].ToString());
                objResultCurrent.Memo           = "";
                objResultCurrent.StatusId       = 2;
                objResultCurrent.AutoScore      = 0;
                objResultCurrent.CorrectRate    = 0;
                objResultCurrent.ExamineeId     = int.Parse(Request.QueryString["StudentID"].ToString());

                string[] str1 = strAnswer.Split(new char[] { '$' });
                RandomExamResultAnswerCurrentBLL randomExamResultAnswerBLL = new RandomExamResultAnswerCurrentBLL();
                //randomExamResultAnswerBLL.DeleteExamResultAnswerCurrent(Convert.ToInt32(ViewState["RandomExamResultID"].ToString()));
                IList <RandomExamResultAnswerCurrent> randomExamResultAnswers = new List <RandomExamResultAnswerCurrent>();
                int randomExamResultId = int.Parse(Request.QueryString["RandomExamResultID"].ToString());
                for (int n = 0; n < str1.Length; n++)
                {
                    string   str2           = str1[n].ToString();
                    string[] str3           = str2.Split(new char[] { '|' });
                    string   strPaperItemId = str3[0].ToString();
                    string   strTrueAnswer  = str2.ToString().Substring(strPaperItemId.Length + 1);

                    RandomExamResultAnswerCurrent randomExamResultAnswer = new RandomExamResultAnswerCurrent();
                    randomExamResultAnswer.RandomExamResultId = randomExamResultId;
                    randomExamResultAnswer.RandomExamItemId   = int.Parse(strPaperItemId);
                    randomExamResultAnswer.JudgeStatusId      = 0;
                    randomExamResultAnswer.JudgeRemark        = string.Empty;
                    randomExamResultAnswer.ExamTime           = 0;
                    randomExamResultAnswer.Answer             = strTrueAnswer;
                    randomExamResultAnswers.Add(randomExamResultAnswer);
                }
                //将实时考试答卷删除,将最终考试答卷插入
                randomExamResultAnswerBLL.AddExamResultAnswerCurrentSave(randomExamResultId, randomExamResultAnswers);

                //更新实时考试记录
                objResultCurrentBll.UpdateRandomExamResultCurrent(objResultCurrent);

                //将实时考试记录(临时表)转存到正式考试成绩表和答卷表
                RandomExamResultBLL objResultBll = new RandomExamResultBLL();
                int randomExamResultID           =
                    objResultBll.RemoveResultAnswer(Convert.ToInt32(Request.QueryString["RandomExamResultID"].ToString()));

                //如果在站段是随到随考考试,成绩自动上传至路局
                //if(ViewState["NowStartMode"].ToString() == PrjPub.START_MODE_NO_CONTROL.ToString() && !PrjPub.IsServerCenter)
                //{
                //    objResultBll.RemoveRandomExamResultToServer(Convert.ToInt32(strId), Convert.ToInt32(ConfigurationManager.AppSettings["StationID"]));
                //}

                Response.Write(
                    "<script>window.dialogArguments.parent.location = '/RailExamBao/Online/Exam/ExamSuccess.aspx?ExamType=1&ExamResultID=" +
                    randomExamResultID + "';window.close();</script>");
            }
            catch
            {
                SessionSet.PageMessage = "提交失败!";
                btnUpload.Visible      = true;
                btnClose.Visible       = true;
            }
        }
Ejemplo n.º 19
0
        private void BindChoosedGrid(string strId, string strOrderBy)
        {
            HasExamId();

            string strExamId = Request.QueryString.Get("id");
            //已经参加考试的考生自动填充上

            RandomExamResultBLL reBll = new RandomExamResultBLL();
            IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(int.Parse(strExamId));

            for (int i = 0; i < examResults.Count; i++)
            {
                string strEmId     = examResults[i].ExamineeId.ToString();
                string strOldAllId = "," + strId + ",";
                if (strOldAllId.IndexOf("," + strEmId + ",") == -1)
                {
                    if (strId.Length == 0)
                    {
                        strId += strEmId;
                    }
                    else
                    {
                        strId += "," + strEmId;
                    }
                }
            }

            EmployeeBLL psBLL = new EmployeeBLL();
            DataSet     ds    = new DataSet();

            string strIDs = "," + strId + ",";

            if (strIDs.Length > 2000)
            {
                ds = psBLL.GetEmployeesByEmployeeIdS(strIDs);
                if (ds.Tables[0].Rows.Count > 0)
                {
                    //DataView dv = ds.Tables[0].DefaultView;
                    //dv.Sort = strOrderBy;
                    Grid2.DataSource = ds;
                    Grid2.DataBind();
                }
                else
                {
                    BindEmptyGrid2();
                }
            }
            else
            {
                IList <Employee> objList = psBLL.GetEmployeesByEmployeeId(strIDs);
                if (objList.Count > 0)
                {
                    ds.Tables.Add(ConvertToDataTable((IList)objList));
                    Grid2.DataSource = ds;
                    Grid2.DataBind();
                }
                else
                {
                    BindEmptyGrid2();
                }
            }
        }
Ejemplo n.º 20
0
        protected void btnExam_Click(object sender, EventArgs e)
        {
            string        strId  = Request.QueryString.Get("eid");
            RandomExamBLL objBll = new RandomExamBLL();

            RailExam.Model.RandomExam obj = objBll.GetExam(Convert.ToInt32(strId));

            OracleAccess db = new OracleAccess();

            IList <RandomExamResult> examResults   = null;
            RandomExamResultBLL      bllExamResult = new RandomExamResultBLL();

            examResults = bllExamResult.GetRandomExamResults(int.Parse(strId), "", "", "", "", 0, 1000, Convert.ToInt32(Request.QueryString.Get("OrgID")));
            string strChooseID = string.Empty;

            foreach (RandomExamResult randomExamResult in examResults)
            {
                if (string.IsNullOrEmpty(strChooseID))
                {
                    strChooseID += randomExamResult.ExamineeId;
                }
                else
                {
                    strChooseID += "," + randomExamResult.ExamineeId;
                }
            }

            int    beginYear = obj.BeginTime.Year;
            string strSql    =
                @"select a.*,b.Employee_Name,b.Employee_ID from Random_Exam_Result a
                inner join Employee b on a.Examinee_ID=b.Employee_ID
                where Random_Exam_Result_ID not in (
                select distinct  a.Random_Exam_Result_ID from Random_Exam_Result_Answer a
                        inner join  Random_Exam_Result b on a.Random_Exam_Result_ID=b.Random_Exam_Result_ID
                        where Random_Exam_ID=" + strId + @"
                union all 
                select distinct  a.Random_Exam_Result_ID from Random_Exam_Result_Answer_" + beginYear + @" a
                         inner join  Random_Exam_Result b on a.Random_Exam_Result_ID=b.Random_Exam_Result_ID
                        where Random_Exam_ID=" + strId + @")
                and Random_Exam_ID=" + strId;
            DataSet dsAnswer = db.RunSqlDataSet(strSql);

            if (dsAnswer.Tables[0].Rows.Count > 0)
            {
                string strIDs = string.Empty;
                foreach (DataRow dr in dsAnswer.Tables[0].Rows)
                {
                    if (("," + strChooseID + ",").IndexOf("," + dr["Employee_ID"] + ",") >= 0)
                    {
                        if (string.IsNullOrEmpty(strIDs))
                        {
                            strIDs += dr["Employee_Name"].ToString();
                        }
                        else
                        {
                            strIDs += "," + dr["Employee_Name"];
                        }
                    }
                }

                if (string.IsNullOrEmpty(strIDs))
                {
                    SessionSet.PageMessage = "所有考生试卷完整!";
                }
                else
                {
                    SessionSet.PageMessage = "下列考生在路局服务器无考试试卷:" + strIDs;
                }
            }
            else
            {
                SessionSet.PageMessage = "所有考生试卷完整!";
            }
        }
Ejemplo n.º 21
0
        protected DataSet GetDataSet(bool isFirst)
        {
            string  qsExamId = Request.QueryString.Get("eid");
            int     orgID    = Convert.ToInt32(Request.QueryString.Get("OrgID"));
            DataSet ds       = new DataSet();

            if (!string.IsNullOrEmpty(qsExamId))
            {
                string  OrganizationName = txtOrganizationName.Text;
                string  workShopName     = txtWorkShop.Text;
                string  strExamineeName  = txtExamineeName.Text;
                string  strWorkNo        = txtWorkNo.Text;
                decimal dScoreLower      = string.IsNullOrEmpty(txtScoreLower.Text) ? -1000 : decimal.Parse(txtScoreLower.Text);
                decimal dScoreUpper      = string.IsNullOrEmpty(txtScoreUpper.Text) ? 1000 : decimal.Parse(txtScoreUpper.Text);

                IList <RandomExamResult> examResults   = null;
                RandomExamResultBLL      bllExamResult = new RandomExamResultBLL();

                try
                {
                    //RandomExamBLL objBll = new RandomExamBLL();
                    //RailExam.Model.RandomExam obj = objBll.GetExam(Convert.ToInt32(qsExamId));

                    //如果在站段是随到随考,需要综合路局和本地考试情况。
                    //if(obj.StartMode == PrjPub.START_MODE_NO_CONTROL && !PrjPub.IsServerCenter)
                    //{
                    //    examResults = bllExamResult.GetRandomExamResultsFromServer(int.Parse(qsExamId), OrganizationName, strExamineeName, dScoreLower,
                    //         dScoreUpper, orgID);
                    //}
                    //else
                    //{
                    //    examResults = bllExamResult.GetRandomExamResults(int.Parse(qsExamId), OrganizationName, strExamineeName, dScoreLower,
                    //             dScoreUpper, orgID);
                    //}

                    examResults = bllExamResult.GetRandomExamResults(int.Parse(qsExamId), OrganizationName, workShopName, strExamineeName, strWorkNo, dScoreLower,
                                                                     dScoreUpper, orgID);

                    if (isFirst)
                    {
                        lblNowCount.Text = examResults.Count.ToString();
                    }
                }
                catch
                {
                    Pub.ShowErrorPage("无法连接站段服务器,请检查站段服务器是否打开以及网络连接是否正常!");
                }

                ExamResultStatusBLL      bllExamResultStatus = new ExamResultStatusBLL();
                IList <ExamResultStatus> examResultStatuses  = bllExamResultStatus.GetExamResultStatuses();

                DataTable dtExamResults        = ConvertToDataTable((IList)examResults);
                DataTable dtExamResultStatuses = ConvertToDataTable((IList)examResultStatuses);

                if (dtExamResults != null)
                {
                    ds.Tables.Add(dtExamResults);
                }
                else
                {
                    ds.Tables.Add(ConvertToDataTable(typeof(RandomExamResult)));
                }
                ds.Tables.Add(dtExamResultStatuses);
                ds.Relations.Add(ds.Tables["ExamResultStatus"].Columns["ExamResultStatusId"],
                                 ds.Tables["RandomExamResult"].Columns["StatusId"]);
            }

            return(ds);
        }
Ejemplo n.º 22
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //if (PrjPub.IsWuhan())
                //{
                //    gradesGrid.Levels[0].Columns[3].HeadingText = "员工编码";
                //    lblWorkNo.Text = "上岗证号";
                //}
                //else
                //{
                //    gradesGrid.Levels[0].Columns[3].HeadingText = "工资编号";
                //    lblWorkNo.Text = "工资编号";
                //}

                hfRoleID.Value = PrjPub.CurrentLoginUser.RoleID.ToString();

                if (PrjPub.HasEditRight("成绩查询"))
                {
                    HfUpdateRight.Value = "True";
                }
                else
                {
                    HfUpdateRight.Value = "False";
                }

                if (!PrjPub.IsServerCenter)
                {
                    btnExam.Visible = false;
                }

                lblWorkNo.Text = "上岗证号";

                hfOrganizationId.Value = ConfigurationManager.AppSettings["StationID"].ToString();

                string qsExamId = Request.QueryString.Get("eid");
                int    orgID    = Convert.ToInt32(Request.QueryString.Get("OrgID"));

                string  OrganizationName = "";
                string  strExamineeName  = "";
                decimal dScoreLower      = 0;
                decimal dScoreUpper      = 1000;

                IList <RandomExamResult> examResults   = null;
                RandomExamResultBLL      bllExamResult = new RandomExamResultBLL();
                string       strSql = "";
                OracleAccess db     = new OracleAccess();

                //examResults = bllExamResult.GetRandomExamResults(Convert.ToInt32(qsExamId), OrganizationName,string.Empty,
                //                                                 strExamineeName, string.Empty, dScoreLower,
                //                                                 dScoreUpper, Convert.ToInt32(orgID));


                RandomExamBLL             objBll  = new RandomExamBLL();
                RailExam.Model.RandomExam objExam = objBll.GetExam(Convert.ToInt32(qsExamId));

                RandomExamArrangeBLL      objArrangebll  = new RandomExamArrangeBLL();
                IList <RandomExamArrange> objArrangeList = objArrangebll.GetRandomExamArranges(Convert.ToInt32(qsExamId));
                string strChooseID = string.Empty;
                if (objArrangeList.Count > 0)
                {
                    if (PrjPub.IsServerCenter && orgID == objExam.OrgId)
                    {
                        strChooseID = objArrangeList[0].UserIds;
                        int         count          = 0;
                        EmployeeBLL objEmployeeBll = new EmployeeBLL();
                        string[]    str            = strChooseID.Split(',');
                        for (int i = 0; i < str.Length; i++)
                        {
                            if (str[i] == string.Empty)
                            {
                                continue;
                            }

                            Employee employee = objEmployeeBll.GetChooseEmployeeInfo(str[i]);
                            if (employee.EmployeeID == 0)
                            {
                                continue;
                            }

                            count++;
                        }
                        lblMaxCount.Text = count.ToString();
                    }
                    else if (PrjPub.IsServerCenter && orgID != objExam.OrgId)
                    {
                        string[] strEmployee = objArrangeList[0].UserIds.Split(',');

                        OrganizationBLL orgBll      = new OrganizationBLL();
                        EmployeeBLL     employeeBll = new EmployeeBLL();
                        int             count       = 0;
                        for (int i = 0; i < strEmployee.Length; i++)
                        {
                            Employee employee     = employeeBll.GetChooseEmployeeInfo(strEmployee[i]);
                            int      stationOrgID = orgBll.GetStationOrgID(employee.OrgID);

                            if (stationOrgID == orgID)
                            {
                                count++;
                            }
                        }
                        lblMaxCount.Text = count.ToString();
                    }
                    else
                    {
                        strSql = "select a.* from Random_Exam_Arrange_Detail a "
                                 + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID "
                                 + " inner join Computer_Server c on b.Computer_Server_ID=c.Computer_Server_ID "
                                 + " where c.Computer_Server_No='" + PrjPub.ServerNo + "'"
                                 + " and a.Random_Exam_ID=" + qsExamId;

                        DataSet dsArrange = db.RunSqlDataSet(strSql);
                        foreach (DataRow dr in dsArrange.Tables[0].Rows)
                        {
                            if (strChooseID == string.Empty)
                            {
                                strChooseID = dr["User_Ids"].ToString();
                            }
                            else
                            {
                                strChooseID += "," + dr["User_Ids"].ToString();
                            }
                        }

                        int         count          = 0;
                        EmployeeBLL objEmployeeBll = new EmployeeBLL();
                        string[]    str            = strChooseID.Split(',');
                        for (int i = 0; i < str.Length; i++)
                        {
                            if (str[i] == string.Empty)
                            {
                                continue;
                            }

                            Employee employee = objEmployeeBll.GetChooseEmployeeInfo(str[i]);
                            if (employee.EmployeeID == 0)
                            {
                                continue;
                            }

                            count++;
                        }
                        lblMaxCount.Text = count.ToString();
                    }
                }


                DataSet ds = GetDataSet(true);
                if (ds != null && ds.Tables.Count == 2)
                {
                    //foreach (DataRow dr in ds.Tables[0].Rows)
                    //{
                    //    if(dr["OrganizationId"].ToString() != hfOrganizationId.Value)
                    //    {
                    //        btnOutPutWord.Enabled = false;
                    //        break;
                    //    }
                    //}

                    gradesGrid.DataSource = ds;
                    gradesGrid.DataBind();
                    BindGrid();
                }
                else
                {
                    SessionSet.PageMessage = "数据错误!";
                    return;
                }
                hfIsServer.Value = PrjPub.IsServerCenter.ToString();

                //当是路局服务器时,屏蔽上传按钮
                if (PrjPub.IsServerCenter)
                {
                    btnUpload.Visible = false;
                }
            }
            else
            {
                if (Request.Form.Get("OutPut") != null && Request.Form.Get("OutPut") != "")
                {
                    OutputWord(Request.Form.Get("OutPut"));
                }
                if (Request.Form.Get("Refresh") != null && Request.Form.Get("Refresh") != "")
                {
                    DownloadAll(Request.Form.Get("Refresh"));
                }

                if (Request.Form.Get("RefreshExcel") != null && Request.Form.Get("RefreshExcel") != "")
                {
                    DownloadExcel();
                }

                if (Request.Form.Get("IsUpload") != null && Request.Form.Get("IsUpload") != "")
                {
                    DataSet ds = GetDataSet(false);
                    gradesGrid.DataSource = ds;
                    gradesGrid.DataBind();
                    BindGrid();
                    //string strId = Request.QueryString.Get("eid");
                    //RandomExamBLL objBll = new RandomExamBLL();
                    //RailExam.Model.RandomExam obj = objBll.GetExam(Convert.ToInt32(strId));
                    //SystemLogBLL objLogBll = new SystemLogBLL();
                    //objLogBll.WriteLog("“" + obj.ExamName + "”上传考试成绩和答卷");
                    SessionSet.PageMessage = "上传成功!";
                }

                if (Request.Form.Get("RefreshList") != null && Request.Form.Get("RefreshList") != "")
                {
                    DataSet ds = GetDataSet(false);
                    gradesGrid.DataSource = ds;
                    gradesGrid.DataBind();
                    BindGrid();
                }
            }
            btnUpload.Visible = false;     // 包神这里用不著上传 2014-03-18
        }
Ejemplo n.º 23
0
        protected void FillPaper()
        {
            // QueryString id stands for EXAM_RESULT_ID
            string strId = Request.QueryString.Get("id");
            string orgid = Request.QueryString.Get("orgid");

            // Not pass id
            if (string.IsNullOrEmpty(strId))
            {
                SessionSet.PageMessage = "参数错误!";
                return;
            }

            RandomExamResultBLL randomExamResultBLL = new RandomExamResultBLL();
            RandomExamResult    randomExamResult    = new RandomExamResult();

            randomExamResult = randomExamResultBLL.GetRandomExamResultStation(int.Parse(strId));
            int RandomExamId       = randomExamResult.RandomExamId;
            int randomExamResultId = int.Parse(strId);

            RandomExamBLL objBll = new RandomExamBLL();
            int           year   = objBll.GetExam(RandomExamId).BeginTime.Year;

            RandomExamItemBLL         randomItemBLL      = new RandomExamItemBLL();
            RandomExamSubjectBLL      subjectBLL         = new RandomExamSubjectBLL();
            IList <RandomExamSubject> randomExamSubjects = subjectBLL.GetRandomExamSubjectByRandomExamId(RandomExamId);

            //RandomExamResultAnswerBLL randomExamResultAnswerBLL = new RandomExamResultAnswerBLL();
            //IList<RandomExamResultAnswer> examResultAnswers = new List<RandomExamResultAnswer>();
            //if (ViewState["NowOrgID"].ToString() != orgid)
            //{
            //    examResultAnswers = randomExamResultAnswerBLL.GetExamResultAnswersStation(randomExamResultId);
            //}
            //else
            //{
            //    examResultAnswers = randomExamResultAnswerBLL.GetExamResultAnswers(randomExamResultId);
            //}

            IList <RandomExamItem> TotalItems = new List <RandomExamItem>();

            //按年取出每张试卷的Random_Exam_Item_Year 表中的记录
            if (ViewState["NowOrgID"].ToString() != orgid)
            {
                TotalItems = randomItemBLL.GetItemsStation(0, randomExamResultId, year);
            }
            else
            {
                TotalItems = randomItemBLL.GetItems(0, randomExamResultId, year);
            }

            OracleAccess db = new OracleAccess();

            //按考试取出每张试卷的完形填空子题
            string    strSql   = "select * from Random_Exam_Item_" + year + " where Type_ID=" + PrjPub.ITEMTYPE_FILLBLANKDETAIL + " and Random_Exam_ID=" + RandomExamId;
            DataTable dtDetail = db.RunSqlDataSet(strSql).Tables[0];

            //按考试取出每张试卷的完形填空主题
            //strSql = "select * from Random_Exam_Item_" + year + " where Type_ID="+ PrjPub.ITEMTYPE_FILLBLANK +" and Random_Exam_ID=" + RandomExamId;
            //DataTable dt= db.RunSqlDataSet(strSql).Tables[0];

            int z       = 1;
            int hasyear = 0;

            if (randomExamSubjects != null)
            {
                for (int i = 0; i < randomExamSubjects.Count; i++)
                {
                    RandomExamSubject      paperSubject = randomExamSubjects[i];
                    IList <RandomExamItem> PaperItems   = new List <RandomExamItem>();

                    PaperItems = GetSubjectItems(TotalItems, paperSubject.RandomExamSubjectId);

                    if (ViewState["NowOrgID"].ToString() != orgid)
                    {
                        //PaperItems = randomItemBLL.GetItemsStation(paperSubject.RandomExamSubjectId, randomExamResultId,  year);
                        hasyear = 1;
                    }
                    else
                    {
                        //PaperItems = randomItemBLL.GetItems(paperSubject.RandomExamSubjectId, randomExamResultId, year);
                        hasyear = 0;
                    }

                    Response.Write("<table width='100%'>");
                    Response.Write(" <tr > <td class='ExamBigTitle' >");
                    Response.Write(" " + GetNo(i) + "");
                    Response.Write(".&nbsp;" + paperSubject.SubjectName + "");
                    Response.Write("  (共" + paperSubject.ItemCount + "题,共" + System.String.Format("{0:0.##}", paperSubject.ItemCount * paperSubject.UnitScore) + "分)</td></tr >");

                    if (PaperItems != null)
                    {
                        int x = 1;
                        for (int j = 0; j < PaperItems.Count; j++)
                        {
                            RandomExamItem paperItem = PaperItems[j];
                            int            k         = j + 1;

                            if (paperItem.TypeId != 5)
                            {
                                if (paperItem.TypeId == 4)
                                {
                                    k = x;
                                    x++;
                                }

                                z = 1;
                                Response.Write("<tr > <td class='ExamResultItem'><a name='Test" + i + j + "' id='Test" + i + j + "'></a>&nbsp;&nbsp;&nbsp;"
                                               + k + ".&nbsp; " + paperItem.Content + "&nbsp;&nbsp;(" +
                                               System.String.Format("{0:0.##}", paperSubject.UnitScore) +
                                               "分)</td></tr >");
                            }
                            else
                            {
                                //string strSql = "select * from Random_Exam_Item_" + year + " where Item_ID='" +
                                //                paperItem.ItemId + "' and Random_Exam_ID=" + RandomExamId;
                                //DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0];
                                //IList<RandomExamItem> randomExamItems = randomItemBLL.GetItemsByParentItemID(Convert.ToInt32(dr["Parent_Item_ID"]), RandomExamId, year);

                                //查找当前完型子题的主题ID
                                DataRow[] drsDetail = dtDetail.Select("Item_ID=" + paperItem.ItemId);

                                int detailCount = 0;
                                if (drsDetail.Length > 0)
                                {
                                    //通过完形填空的主题ID查找完形填空的子题个数,为计算每个子题分数做准备
                                    DataRow[] drs = dtDetail.Select("Parent_Item_ID=" + drsDetail[0]["Parent_Item_ID"]);
                                    detailCount = drs.Length;
                                }

                                Response.Write("<tr > <td class='ExamResultItem'><a name='Test" + i + j + "' id='Test" + i + j + "'></a>&nbsp;&nbsp;&nbsp;"//+ z + ").&nbsp; "
                                               + paperItem.Content + "&nbsp;&nbsp;(" + System.String.Format("{0:0.##}", (decimal)paperSubject.UnitScore / (decimal)detailCount) +
                                               "分)</td></tr >");
                                z++;
                            }

                            string[] strUserAnswers = new string[0];
                            string   strUserAnswer  = string.Empty;

                            // 组织用户答案
                            //RandomExamResultAnswer theExamResultAnswer = null;
                            //foreach (RandomExamResultAnswer resultAnswer in examResultAnswers)
                            //{
                            //    if (resultAnswer.RandomExamItemId == paperItem.RandomExamItemId)
                            //    {
                            //        theExamResultAnswer = resultAnswer;
                            //        break;
                            //    }
                            //}
                            //// 若子表无记录,结束页面输出
                            //if (theExamResultAnswer == null)
                            //{
                            //    SessionSet.PageMessage = "数据错误!";
                            //}
                            //// 否则组织考生答案
                            //if (theExamResultAnswer.Answer != null || theExamResultAnswer.Answer == string.Empty)
                            //{
                            //    strUserAnswers = theExamResultAnswer.Answer.Split(new char[] { '|' });
                            //}

                            if (paperItem.Answer == null)
                            {
                                SessionSet.PageMessage = "数据错误!";
                            }

                            if (!string.IsNullOrEmpty(paperItem.Answer))
                            {
                                strUserAnswers = paperItem.Answer.Split(new char[] { '|' });
                            }

                            for (int n = 0; n < strUserAnswers.Length; n++)
                            {
                                string strN = intToString(int.Parse(strUserAnswers[n]) + 1);
                                if (n == 0)
                                {
                                    strUserAnswer += strN;
                                }
                                else
                                {
                                    strUserAnswer += "," + strN;
                                }
                            }

                            //多选


                            if (paperSubject.ItemTypeId == PrjPub.ITEMTYPE_MULTICHOOSE)
                            {
                                string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' });
                                for (int n = 0; n < strAnswer.Length; n++)
                                {
                                    string strN  = intToString(n + 1);
                                    string strij = "-" + paperItem.RandomExamItemId + "-" + i.ToString() + "-"
                                                   + j.ToString() + "-" + n.ToString();
                                    string strName = i.ToString() + j.ToString();

                                    Response.Write(" <tr ><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "
                                                   + strN + "." + strAnswer[n] + "</td></tr >");
                                }
                            }
                            else if (paperSubject.ItemTypeId == PrjPub.ITEMTYPE_JUDGE || paperSubject.ItemTypeId == PrjPub.ITEMTYPE_SINGLECHOOSE || paperItem.TypeId == 5)
                            {
                                //单选


                                string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' });
                                for (int n = 0; n < strAnswer.Length; n++)
                                {
                                    string strN = intToString(n + 1);
                                    Response.Write("<tr > <td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "
                                                   + strN + "." + strAnswer[n] + "</td></tr >");
                                }
                            }

                            if (paperSubject.ItemTypeId == 1 || paperSubject.ItemTypeId == 2 || paperSubject.ItemTypeId == 3 || paperItem.TypeId == 5)
                            {
                                // 组织正确答案
                                string[] strRightAnswers = paperItem.StandardAnswer.Split(new char[] { '|' });
                                string   strRightAnswer  = "";
                                for (int n = 0; n < strRightAnswers.Length; n++)
                                {
                                    string strN = intToString(int.Parse(strRightAnswers[n]) + 1);
                                    if (n == 0)
                                    {
                                        strRightAnswer += strN;
                                    }
                                    else
                                    {
                                        strRightAnswer += "," + strN;
                                    }
                                }

                                string strScore   = "0";
                                string couldScore = "0";
                                if (paperItem.TypeId == 5)
                                {
                                    if (strRightAnswer == strUserAnswer)
                                    {
                                        strScore = System.String.Format("{0:0.##}", paperItem.Score);
                                    }

                                    couldScore = paperItem.Score.ToString();
                                }
                                else
                                {
                                    if (strRightAnswer == strUserAnswer)
                                    {
                                        strScore = System.String.Format("{0:0.##}", paperSubject.UnitScore);
                                    }

                                    couldScore = paperSubject.UnitScore.ToString();
                                }

                                if (strScore == "0")
                                {
                                    if (hfLoginEmployeeID.Value == "0")
                                    {
                                        string strFirst = @"""";
                                        Response.Write(" <tr><td id='span-" + paperItem.RandomExamItemId + "' class='ExamAnswerZero'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                                       + "<span id='span-" + paperItem.RandomExamItemId + "-0' name='span-" +
                                                       paperItem.RandomExamItemId
                                                       + "'>" + strRightAnswer +
                                                       "</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;考生答案:"
                                                       + "<span id='span-" + paperItem.RandomExamItemId + "-1' name='span-" +
                                                       paperItem.RandomExamItemId
                                                       + "'>" + strUserAnswer +
                                                       "</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;得分:" +
                                                       "<span id='span-" + paperItem.RandomExamItemId + "-2'>" + strScore +
                                                       "</span>"
                                                       + "&nbsp;&nbsp;&nbsp;<a id='a-" + paperItem.RandomExamItemId + "' onclick=" + strFirst + "updateScore(" + randomExamResultId + "," + paperItem.RandomExamItemId + "," + couldScore + ",'" + paperItem.StandardAnswer + "'," + hasyear + ")" + strFirst
                                                       + " href='#Test" + i + j + "' style='cursor: hand;'>更改考生答案</a></td></tr>");
                                    }
                                    else
                                    {
                                        Response.Write(" <tr><td class='ExamAnswerZero'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                                       + "<span id='span-" + paperItem.RandomExamItemId + "-0' name='span-" +
                                                       paperItem.RandomExamItemId
                                                       + "'>" + strRightAnswer +
                                                       "</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;考生答案:"
                                                       + "<span id='span-" + paperItem.RandomExamItemId + "-1' name='span-" +
                                                       paperItem.RandomExamItemId
                                                       + "'>" + strUserAnswer +
                                                       "</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;得分:" +
                                                       "<span id='span-" + paperItem.RandomExamItemId + "-2'>" + strScore +
                                                       "</span></td></tr>");
                                    }
                                }
                                else
                                {
                                    Response.Write(" <tr><td class='ExamAnswer'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                                   + "<span id='span-" + paperItem.RandomExamItemId + "-0' name='span-" +
                                                   paperItem.RandomExamItemId
                                                   + "'>" + strRightAnswer +
                                                   "</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;考生答案:"
                                                   + "<span id='span-" + paperItem.RandomExamItemId + "-1' name='span-" +
                                                   paperItem.RandomExamItemId
                                                   + "'>" + strUserAnswer +
                                                   "</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;得分:" + strScore +
                                                   "</td></tr>");
                                }
                            }
                        }
                    }
                    Response.Write(" </table> ");
                }
            }
            else
            {
                SessionSet.PageMessage = "数据错误!";

                return;
            }
        }
Ejemplo n.º 24
0
        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;
            }
        }
Ejemplo n.º 25
0
        protected void FillHeading(string strId, string orgid)
        {
            RandomExamResultBLL randomExamResultBLL = new RandomExamResultBLL();
            RandomExamResult    randomExamResult    = new RandomExamResult();

            randomExamResult = randomExamResultBLL.GetRandomExamResultStation(int.Parse(strId));

            OracleAccess db     = new OracleAccess();
            string       strSql = "select a.*"
                                  + " from Random_Exam_Result_Detail a"
                                  + " where a.Random_Exam_Result_ID=" + randomExamResult.RandomExamResultId
                                  + " and Employee_ID=" + randomExamResult.ExamineeId
                                  + " and Random_Exam_ID=" + randomExamResult.RandomExamId;

            DataTable dtExam = db.RunSqlDataSet(strSql).Tables[0];

            if (dtExam.Rows.Count == 0)
            {
                strSql = "select a.*"
                         + " from Random_Exam_Result_Detail_Temp a"
                         + " where a.Random_Exam_Result_ID=" + randomExamResult.RandomExamResultId
                         + " and Employee_ID=" + randomExamResult.ExamineeId
                         + " and Random_Exam_ID=" + randomExamResult.RandomExamId;

                dtExam = db.RunSqlDataSet(strSql).Tables[0];
            }

            if (dtExam.Rows.Count > 0)
            {
                bool isExists =
                    Directory.Exists(Server.MapPath("/RailExamBao/Online/Photo/" + randomExamResult.RandomExamId + "/"));

                DataRow drExam = dtExam.Rows[0];
                lblFignerDate.Text = drExam["FingerPrint_Date"] == DBNull.Value
                                         ? string.Empty
                                         : Convert.ToDateTime(drExam["FingerPrint_Date"]).ToString("yyyy-MM-dd HH:mm");
                lblPhotoDate1.Text = drExam["Photo1_Date"] == DBNull.Value
                                         ? string.Empty
                                         : Convert.ToDateTime(drExam["Photo1_Date"]).ToString("yyyy-MM-dd HH:mm");
                lblPhotoDate2.Text = drExam["Photo2_Date"] == DBNull.Value
                                         ? string.Empty
                                         : Convert.ToDateTime(drExam["Photo2_Date"]).ToString("yyyy-MM-dd HH:mm");
                lblPhotoDate3.Text = drExam["Photo3_Date"] == DBNull.Value
                                         ? string.Empty
                                         : Convert.ToDateTime(drExam["Photo3_Date"]).ToString("yyyy-MM-dd HH:mm");

                string filepath = Server.MapPath("/RailExamBao/Online/Photo/" + randomExamResult.RandomExamId + "/") + randomExamResult.ExamineeId + "_" + randomExamResult.RandomExamResultId + "_";
                string path     = "../Online/Photo/" + randomExamResult.RandomExamId + "/" + randomExamResult.ExamineeId + "_" + randomExamResult.RandomExamResultId + "_";

                if (PrjPub.IsServerCenter && isExists)
                {
                    if (File.Exists(filepath + "00.jpg"))
                    {
                        fignerImage.ImageUrl = path + "00.jpg";
                    }
                    else
                    {
                        fignerImage.ImageUrl = "../images/empty.jpg";
                    }
                }
                else
                {
                    if (drExam["FingerPrint"] != DBNull.Value)
                    {
                        fignerImage.ImageUrl = "ShowResultImage.aspx?resultDetailID=" +
                                               drExam["Random_Exam_Result_Detail_ID"] + "&typeID=0";
                    }
                    else
                    {
                        fignerImage.ImageUrl = "../images/empty.jpg";
                    }
                }

                DataSet ds = Pub.GetPhotoDateSet(randomExamResult.ExamineeId.ToString());
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (ds.Tables[0].Rows[0][0] != DBNull.Value)
                    {
                        picImage.ImageUrl = "../RandomExamTai/ShowImage.aspx?EmployeeID=" + randomExamResult.ExamineeId;
                    }
                    else
                    {
                        picImage.ImageUrl = "../images/empty.jpg";
                    }
                }
                else
                {
                    picImage.ImageUrl = "../images/empty.jpg";
                }

                if (PrjPub.IsServerCenter && isExists)
                {
                    if (File.Exists(filepath + "01.jpg"))
                    {
                        photoImage1.ImageUrl = path + "01.jpg";
                    }
                    else
                    {
                        photoImage1.ImageUrl = "../images/empty.jpg";
                    }
                }
                else
                {
                    if (drExam["Photo1"] != DBNull.Value)
                    {
                        photoImage1.ImageUrl = "ShowResultImage.aspx?resultDetailID=" +
                                               drExam["Random_Exam_Result_Detail_ID"] + "&typeID=1";
                    }
                    else
                    {
                        photoImage1.ImageUrl = "../images/empty.jpg";
                    }
                }

                if (PrjPub.IsServerCenter && isExists)
                {
                    if (File.Exists(filepath + "02.jpg"))
                    {
                        photoImage2.ImageUrl = path + "02.jpg";
                    }
                    else
                    {
                        photoImage2.ImageUrl = "../images/empty.jpg";
                    }
                }
                else
                {
                    if (drExam["Photo2"] != DBNull.Value)
                    {
                        photoImage2.ImageUrl = "ShowResultImage.aspx?resultDetailID=" +
                                               drExam["Random_Exam_Result_Detail_ID"] + "&typeID=2";
                    }
                    else
                    {
                        photoImage2.ImageUrl = "../images/empty.jpg";
                    }
                }

                if (PrjPub.IsServerCenter && isExists)
                {
                    if (File.Exists(filepath + "03.jpg"))
                    {
                        photoImage3.ImageUrl = path + "03.jpg";
                    }
                    else
                    {
                        photoImage3.ImageUrl = "../images/empty.jpg";
                    }
                }
                else
                {
                    if (drExam["Photo3"] != DBNull.Value)
                    {
                        photoImage3.ImageUrl = "ShowResultImage.aspx?resultDetailID=" +
                                               drExam["Random_Exam_Result_Detail_ID"] + "&typeID=3";
                    }
                    else
                    {
                        photoImage3.ImageUrl = "../images/empty.jpg";
                    }
                }
            }
            else
            {
                fignerImage.ImageUrl = "../images/empty.jpg";
                DataSet ds = Pub.GetPhotoDateSet(randomExamResult.ExamineeId.ToString());

                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (ds.Tables[0].Rows[0][0] != DBNull.Value)
                    {
                        picImage.ImageUrl = "../RandomExamTai/ShowImage.aspx?EmployeeID=" + randomExamResult.ExamineeId;
                    }
                    else
                    {
                        picImage.ImageUrl = "../images/empty.jpg";
                    }
                }
                else
                {
                    picImage.ImageUrl = "../images/empty.jpg";
                }
                photoImage1.ImageUrl = "../images/empty.jpg";
                photoImage2.ImageUrl = "../images/empty.jpg";
                photoImage3.ImageUrl = "../images/empty.jpg";
            }

            string strOrgName     = randomExamResult.OrganizationName;
            string strStationName = "";
            string strOrgName1    = "";
            int    n = strOrgName.IndexOf("-");

            if (n != -1)
            {
                strStationName = strOrgName.Substring(0, n);
                strOrgName1    = strOrgName.Substring(n + 1);
            }
            else
            {
                strStationName = strOrgName;
                strOrgName1    = "";
            }


            lblOrg.Text      = strStationName;
            lblWorkShop.Text = strOrgName1;
            lblPost.Text     = randomExamResult.PostName;
            lblName.Text     = randomExamResult.ExamineeName;
            lblTime.Text     = randomExamResult.BeginDateTime.ToString("yyyy-MM-dd HH:mm");
            lblScore.Text    = System.String.Format("{0:0.##}", randomExamResult.Score);

            int           RandomExamId  = randomExamResult.RandomExamId;
            RandomExamBLL randomExamBLL = new RandomExamBLL();

            RailExam.Model.RandomExam randomExam = randomExamBLL.GetExam(RandomExamId);

            if (randomExam != null)
            {
                lblTitle.Text = randomExam.ExamName;
            }

            RandomExamSubjectBLL randomExamSubjectBLL = new RandomExamSubjectBLL();
            IList <RailExam.Model.RandomExamSubject> RandomExamSubjects = randomExamSubjectBLL.GetRandomExamSubjectByRandomExamId(RandomExamId);

            int     nItemCount  = 0;
            decimal nTotalScore = 0;

            for (int i = 0; i < RandomExamSubjects.Count; i++)
            {
                nItemCount  += RandomExamSubjects[i].ItemCount;
                nTotalScore += RandomExamSubjects[i].ItemCount * RandomExamSubjects[i].UnitScore;
            }

            lblTitleRight.Text = "总共" + nItemCount + "题,共" + System.String.Format("{0:0.##}", nTotalScore) + "分";
        }
Ejemplo n.º 26
0
        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;
            }
        }
Ejemplo n.º 27
0
        protected void FillPaper()
        {
            // QueryString id stands for EXAM_RESULT_ID
            string strId = Request.QueryString.Get("id");
            string orgid = Request.QueryString.Get("orgid");

            // Not pass id
            if (string.IsNullOrEmpty(strId))
            {
                SessionSet.PageMessage = "参数错误!";

                return;
            }

            RandomExamResultBLL randomExamResultBLL = new RandomExamResultBLL();
            RandomExamResult    randomExamResult    = new RandomExamResult();

            if (ViewState["NowOrgID"].ToString() != orgid)
            {
                randomExamResult = randomExamResultBLL.GetRandomExamResultByOrgID(int.Parse(strId), int.Parse(orgid));
            }
            else
            {
                randomExamResult = randomExamResultBLL.GetRandomExamResultTemp(int.Parse(strId));
            }
            int RandomExamId       = randomExamResult.RandomExamId;
            int randomExamResultId = int.Parse(strId);

            OracleAccess  db     = new OracleAccess();
            RandomExamBLL objBll = new RandomExamBLL();
            int           year   = objBll.GetExam(RandomExamId).BeginTime.Year;

            RandomExamItemBLL              randomItemBLL             = new RandomExamItemBLL();
            RandomExamSubjectBLL           subjectBLL                = new RandomExamSubjectBLL();
            RandomExamResultAnswerBLL      randomExamResultAnswerBLL = new RandomExamResultAnswerBLL();
            IList <RandomExamSubject>      randomExamSubjects        = subjectBLL.GetRandomExamSubjectByRandomExamId(RandomExamId);
            IList <RandomExamResultAnswer> examResultAnswers         = new List <RandomExamResultAnswer>();

            if (ViewState["NowOrgID"].ToString() != orgid)
            {
                examResultAnswers = randomExamResultAnswerBLL.GetExamResultAnswersByOrgID(int.Parse(strId), int.Parse(orgid));
            }
            else
            {
                examResultAnswers = randomExamResultAnswerBLL.GetExamResultAnswers(randomExamResultId);
            }

            int z = 1;

            if (randomExamSubjects != null)
            {
                for (int i = 0; i < randomExamSubjects.Count; i++)
                {
                    RandomExamSubject      paperSubject = randomExamSubjects[i];
                    IList <RandomExamItem> PaperItems   = new List <RandomExamItem>();
                    if (ViewState["NowOrgID"].ToString() != orgid)
                    {
                        PaperItems = randomItemBLL.GetItemsByOrgID(paperSubject.RandomExamSubjectId, randomExamResultId, int.Parse(orgid), year);
                    }
                    else
                    {
                        PaperItems = randomItemBLL.GetItems(paperSubject.RandomExamSubjectId, randomExamResultId, year);
                    }

                    Response.Write("<table width='100%'>");
                    Response.Write(" <tr > <td class='ExamBigTitle' >");
                    Response.Write(" " + GetNo(i) + "");
                    Response.Write(".&nbsp;" + paperSubject.SubjectName + "");
                    Response.Write("  (共" + paperSubject.ItemCount + "题,共" + System.String.Format("{0:0.##}", paperSubject.ItemCount * paperSubject.UnitScore) + "分)</td></tr >");

                    if (PaperItems != null)
                    {
                        for (int j = 0; j < PaperItems.Count; j++)
                        {
                            RandomExamItem paperItem = PaperItems[j];
                            int            k         = j + 1;

                            if (paperItem.TypeId != 5)
                            {
                                z = 1;
                                Response.Write("<tr > <td class='ExamResultItem'>&nbsp;&nbsp;&nbsp;"
                                               + k + ".&nbsp; " + paperItem.Content + "&nbsp;&nbsp;(" +
                                               System.String.Format("{0:0.##}", paperSubject.UnitScore) +
                                               "分)</td></tr >");
                            }
                            else
                            {
                                string strSql = "select * from Random_Exam_Item_" + year + " where Item_ID='" +
                                                paperItem.ItemId + "' and Random_Exam_ID=" + RandomExamId;
                                DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0];

                                IList <RandomExamItem> randomExamItems = randomItemBLL.GetItemsByParentItemID(Convert.ToInt32(dr["Parent_Item_ID"]), RandomExamId, year);

                                Response.Write("<tr > <td class='ExamResultItem'>&nbsp;&nbsp;&nbsp;("
                                               + z + ").&nbsp; " + paperItem.Content + "&nbsp;&nbsp;(" + System.String.Format("{0:0.##}", (decimal)paperSubject.UnitScore / (decimal)randomExamItems.Count) +
                                               "分)</td></tr >");
                                z++;
                            }

                            // 组织用户答案
                            RandomExamResultAnswer theExamResultAnswer = null;
                            string[] strUserAnswers = new string[0];
                            string   strUserAnswer  = string.Empty;

                            foreach (RandomExamResultAnswer resultAnswer in examResultAnswers)
                            {
                                if (resultAnswer.RandomExamItemId == paperItem.RandomExamItemId)
                                {
                                    theExamResultAnswer = resultAnswer;
                                    break;
                                }
                            }

                            // 若子表无记录,结束页面输出
                            if (theExamResultAnswer == null)
                            {
                                SessionSet.PageMessage = "数据错误!";
                            }

                            // 否则组织考生答案
                            if (theExamResultAnswer.Answer != null || theExamResultAnswer.Answer == string.Empty)
                            {
                                strUserAnswers = theExamResultAnswer.Answer.Split(new char[] { '|' });
                            }


                            for (int n = 0; n < strUserAnswers.Length; n++)
                            {
                                string strN = intToString(int.Parse(strUserAnswers[n]) + 1);
                                if (n == 0)
                                {
                                    strUserAnswer += strN;
                                }
                                else
                                {
                                    strUserAnswer += "," + strN;
                                }
                            }

                            //多选


                            if (paperSubject.ItemTypeId == 2)
                            {
                                string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' });
                                for (int n = 0; n < strAnswer.Length; n++)
                                {
                                    string strN = intToString(n + 1);
                                    Response.Write(" <tr ><td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "
                                                   + strN + "." + strAnswer[n] + "</td></tr >");
                                }
                            }
                            else if (paperSubject.ItemTypeId == 1 || paperSubject.ItemTypeId == 3 || paperItem.TypeId == 5)
                            {
                                //单选


                                string[] strAnswer = paperItem.SelectAnswer.Split(new char[] { '|' });
                                for (int n = 0; n < strAnswer.Length; n++)
                                {
                                    string strN = intToString(n + 1);

                                    Response.Write("<tr > <td class='ExamItemAnswer'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "
                                                   + strN + "." + strAnswer[n] + "</td></tr >");
                                }
                            }

                            if (paperSubject.ItemTypeId == 1 || paperSubject.ItemTypeId == 2 || paperSubject.ItemTypeId == 3 || paperItem.TypeId == 5)
                            {
                                // 组织正确答案
                                string[] strRightAnswers = paperItem.StandardAnswer.Split(new char[] { '|' });
                                string   strRightAnswer  = "";
                                for (int n = 0; n < strRightAnswers.Length; n++)
                                {
                                    string strN = intToString(int.Parse(strRightAnswers[n]) + 1);
                                    if (n == 0)
                                    {
                                        strRightAnswer += strN;
                                    }
                                    else
                                    {
                                        strRightAnswer += "," + strN;
                                    }
                                }

                                string strScore = "0";

                                if (paperItem.TypeId == 5)
                                {
                                    if (strRightAnswer == strUserAnswer)
                                    {
                                        strScore = System.String.Format("{0:0.##}", paperItem.Score);
                                    }
                                }
                                else
                                {
                                    if (strRightAnswer == strUserAnswer)
                                    {
                                        strScore = System.String.Format("{0:0.##}", paperSubject.UnitScore);
                                    }
                                }


                                if (strScore == "0")
                                {
                                    Response.Write(" <tr><td class='ExamAnswerZero'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                                   + "<span id='span-" + paperItem.RandomExamItemId + "-0' name='span-" +
                                                   paperItem.RandomExamItemId
                                                   + "'>" + strRightAnswer + "</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;考生答案:"
                                                   + "<span id='span-" + paperItem.RandomExamItemId + "-1' name='span-" +
                                                   paperItem.RandomExamItemId
                                                   + "'>" + strUserAnswer + "</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;得分:" + strScore + "</td></tr>");
                                }
                                else
                                {
                                    Response.Write(" <tr><td class='ExamAnswer'>&nbsp;&nbsp;&nbsp;★标准答案:"
                                                   + "<span id='span-" + paperItem.RandomExamItemId + "-0' name='span-" +
                                                   paperItem.RandomExamItemId
                                                   + "'>" + strRightAnswer + "</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;考生答案:"
                                                   + "<span id='span-" + paperItem.RandomExamItemId + "-1' name='span-" +
                                                   paperItem.RandomExamItemId
                                                   + "'>" + strUserAnswer + "</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;得分:" + strScore + "</td></tr>");
                                }
                            }
                        }
                    }
                    Response.Write(" </table> ");
                }
            }
            else
            {
                SessionSet.PageMessage = "数据错误!";

                return;
            }
        }
        protected void FillPage(int nExamID)
        {
            RandomExamBLL examBLL = new RandomExamBLL();

            RailExam.Model.RandomExam exam = examBLL.GetExam(nExamID);

            if (exam != null)
            {
                if (ViewState["startmode"].ToString() == "Edit")
                {
                    if (Pub.HasPaper(exam.RandomExamId))
                    {
                        Response.Write("<script>alert('该考试已生成试卷,不能被编辑!');window.close();</script>");
                        return;
                    }
                }
                hfHasTrainClass.Value   = exam.HasTrainClass.ToString();
                txtCategoryName.Text    = exam.CategoryName;
                hfCategoryId.Value      = exam.CategoryId.ToString();
                ddlType.SelectedValue   = exam.ExamTypeId.ToString();
                txtExamName.Text        = exam.ExamName;
                txtExamTime.Text        = exam.ExamTime.ToString();
                dateBeginTime.DateValue = exam.BeginTime.ToString("yyyy-MM-dd HH:mm:ss");
                dateEndTime.DateValue   = exam.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
                txtPassScore.Text       = exam.PassScore.ToString();
                if (exam.IsComputerExam)
                {
                    rbnExamMode1.Checked = true;
                    rbnExamMode2.Checked = false;
                }
                else
                {
                    rbnExamMode1.Checked = false;
                    rbnExamMode2.Checked = true;
                    rbnExamMode1.Enabled = false;
                    rbnExamMode2.Enabled = false;
                }

                if (exam.StartMode == 1)
                {
                    rbnStartMode1.Checked = true;
                }
                else
                {
                    rbnStartMode2.Checked = true;
                }

                if (exam.ExamStyle == 1)
                {
                    rbnStyle1.Checked = true;
                }
                else
                {
                    rbnStyle2.Checked = true;
                }

                if (exam.AutoSaveInterval == 1)
                {
                    chkAllItem.Checked = true;
                }
                else
                {
                    chkAllItem.Checked = false;
                }

                txtMET2.Text                 = exam.MaxExamTimes.ToString();
                chUD.Checked                 = exam.IsUnderControl;
                chAutoScore.Checked          = exam.IsAutoScore;
                chkCanSeeAnswer.Checked      = exam.CanSeeAnswer;
                chSeeScore.Checked           = exam.CanSeeScore;
                chPublicScore.Checked        = exam.IsPublicScore;
                txtDescription.Text          = exam.Description;
                txtMemo.Text                 = exam.Memo;
                ddlModularType.SelectedValue = exam.RandomExamModularTypeID.ToString();
                chkIsReduceScore.Checked     = exam.IsReduceError;

                //存档考试
                if (exam.ExamStyle == 2)
                {
                    rbnStyle2.Checked     = true;
                    saveTd.Visible        = true;
                    ddlDate.SelectedValue = exam.SaveStatus.ToString();

                    if (exam.SaveStatus == 2)
                    {
                        dateSaveDate.Visible   = true;
                        dateSaveDate.DateValue = Convert.ToDateTime(exam.SaveDate).ToString("yyyy-MM-dd");
                    }
                    else
                    {
                        dateSaveDate.Visible = false;
                    }
                }
                else
                {
                    rbnStyle1.Checked = true;
                    saveTd.Visible    = false;
                }

                lblCreatePerson.Text = exam.CreatePerson;
                lblCreateTime.Text   = exam.CreateTime.ToString("yyyy-MM-dd HH:mm");

                if (ViewState["startmode"].ToString() == "Edit")
                {
                    RandomExamResultBLL reBll = new RandomExamResultBLL();
                    IList <RailExam.Model.RandomExamResult> examResults =
                        reBll.GetRandomExamResultByExamID(exam.RandomExamId);

                    if (examResults.Count > 0)
                    {
                        ViewState["mode"] = "ReadOnly";
                    }
                }



                chkHasTrainClass.Checked   = exam.HasTrainClass;
                ViewState["HasTrainClass"] = chkHasTrainClass.Checked.ToString();
                SetTrainClassVisible(chkHasTrainClass.Checked);
                if (chkHasTrainClass.Checked)
                {
                    RandomExamTrainClassBLL      objTrainClassBll  = new RandomExamTrainClassBLL();
                    IList <RandomExamTrainClass> objTrainClassList =
                        objTrainClassBll.GetRandomExamTrainClassByRandomExamID(exam.RandomExamId);
                    DataTable dataTable = new DataTable();
                    dataTable.Columns.Add(new DataColumn("RandomExamTrainClassID", typeof(int)));
                    dataTable.Columns.Add(new DataColumn("RandomExamID", typeof(int)));
                    dataTable.Columns.Add(new DataColumn("TrainClassID", typeof(int)));
                    dataTable.Columns.Add(new DataColumn("TrainClassName", typeof(string)));
                    dataTable.Columns.Add(new DataColumn("TrainClassSubjectID", typeof(int)));
                    dataTable.Columns.Add(new DataColumn("TrainClassSubjectName", typeof(string)));

                    string strSql = "";
                    foreach (RandomExamTrainClass trainClass in objTrainClassList)
                    {
                        DataRow newRow = dataTable.NewRow();

                        newRow[0] = trainClass.RandomExamTrainClassID;
                        newRow[1] = trainClass.RandomExamID;
                        newRow[2] = trainClass.TrainClassID;

                        OracleAccess db = new OracleAccess();
                        strSql    = "select * from ZJ_Train_Class where Train_Class_ID=" + trainClass.TrainClassID;
                        newRow[3] = db.RunSqlDataSet(strSql).Tables[0].Rows[0]["Train_Class_Name"].ToString();

                        newRow[4] = trainClass.TrainClassSubjectID;

                        strSql    = "select * from ZJ_Train_Class_Subject where Train_Class_Subject_ID=" + trainClass.TrainClassSubjectID;
                        newRow[5] = db.RunSqlDataSet(strSql).Tables[0].Rows[0]["Subject_Name"].ToString();

                        dataTable.Rows.Add(newRow);

                        if (hfTrainClassID.Value == "")
                        {
                            hfTrainClassID.Value = trainClass.TrainClassID.ToString();
                        }
                        else
                        {
                            hfTrainClassID.Value = hfTrainClassID.Value + "," + trainClass.TrainClassID.ToString();
                        }
                    }

                    ViewState["TrainClass"] = hfTrainClassID.Value;

                    Grid1.DataSource = dataTable;
                    Grid1.DataBind();

                    //当考试为补考的时候,不能修改培训班信息
                    if (exam.IsReset)
                    {
                        chkHasTrainClass.Enabled = false;
                        Grid1.Enabled            = false;
                        btnAddTrainClass.Visible = false;
                    }
                    hfIsReset.Value = exam.IsReset.ToString();
                }
                else
                {
                    ViewState["TrainClass"] = "";
                    ViewState["PostID"]     = "";
                }

                hfPostID.Value      = exam.PostID;
                ViewState["PostID"] = hfPostID.Value;

                if (!string.IsNullOrEmpty(exam.PostID))
                {
                    PostBLL  postBLL   = new PostBLL();
                    string[] strPostID = exam.PostID.Split(',');
                    for (int i = 0; i < strPostID.Length; i++)
                    {
                        if (i == 0)
                        {
                            txtPost.Text = postBLL.GetPost(Convert.ToInt32(strPostID[i])).PostName;
                        }
                        else
                        {
                            txtPost.Text = txtPost.Text + "," + postBLL.GetPost(Convert.ToInt32(strPostID[i])).PostName;
                        }
                    }
                    hfPostName.Value = txtPost.Text;
                }
            }

            if (ViewState["mode"].ToString() == "ReadOnly")
            {
                txtExamName.Enabled      = false;
                dateBeginTime.Enabled    = false;
                dateEndTime.Enabled      = false;
                ddlType.Enabled          = false;
                txtExamTime.Enabled      = false;
                rbnExamMode1.Enabled     = false;
                rbnExamMode2.Enabled     = false;
                txtMET2.Enabled          = false;
                chUD.Enabled             = false;
                chAutoScore.Enabled      = false;
                chkCanSeeAnswer.Enabled  = false;
                chSeeScore.Enabled       = false;
                chPublicScore.Enabled    = false;
                txtDescription.Enabled   = false;
                txtMemo.Enabled          = false;
                rbnStartMode1.Enabled    = false;
                rbnStartMode2.Enabled    = false;
                txtPassScore.Enabled     = false;
                chkHasTrainClass.Enabled = false;
                Grid1.Enabled            = false;
            }
        }
Ejemplo n.º 29
0
        //查找已生成试卷的人员信息
        private void HasExamId()
        {
            string strExamId = ViewState["ExamID"].ToString();

            if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType")))
            {
                //RandomExamResultCurrentBLL objResultCurrentBll = new RandomExamResultCurrentBLL();
                //IList<RandomExamResultCurrent> examResults = objResultCurrentBll.GetRandomExamResultInfo(Convert.ToInt32(strExamId));
                //string strId = "";
                //for (int i = 0; i < examResults.Count; i++)
                //{
                //    string strEmId = examResults[i].ExamineeId.ToString();

                //    if (("," + strId + ",").IndexOf("," + strEmId + ",") < 0)
                //    {
                //        if (strId.Length == 0)
                //        {
                //            strId += strEmId;
                //        }
                //        else
                //        {
                //            strId += "," + strEmId;
                //        }
                //    }
                //}
                //ViewState["HasExamId"] = strId;

                string       strSql = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strExamId;
                OracleAccess db     = new OracleAccess();
                DataSet      ds     = db.RunSqlDataSet(strSql);

                string strId = "";
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    if (strId == "")
                    {
                        strId = dr["User_Ids"].ToString();
                    }
                    else
                    {
                        strId += "," + dr["User_Ids"];
                    }
                }

                ViewState["HasExamId"] = strId;
            }
            else
            {
                RandomExamResultBLL reBll = new RandomExamResultBLL();
                IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(int.Parse(strExamId));
                string strId = "";
                for (int i = 0; i < examResults.Count; i++)
                {
                    string strEmId = examResults[i].ExamineeId.ToString();

                    if (strId.Length == 0)
                    {
                        strId += strEmId;
                    }
                    else
                    {
                        strId += "," + strEmId;
                    }
                }
                ViewState["HasExamId"] = strId;;
            }
        }
        private void BindChoosedGrid(string strId)
        {
            HasExamId();

            string strExamId = Request.QueryString.Get("id");
            //已经参加考试的考生自动填充上

            RandomExamResultBLL reBll = new RandomExamResultBLL();
            IList <RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(int.Parse(strExamId));

            for (int i = 0; i < examResults.Count; i++)
            {
                string strEmId     = examResults[i].ExamineeId.ToString();
                string strOldAllId = "," + strId + ",";
                if (strOldAllId.IndexOf("," + strEmId + ",") == -1)
                {
                    if (strId.Length == 0)
                    {
                        strId += strEmId;
                    }
                    else
                    {
                        strId = strEmId + "," + strId;
                    }
                }
            }

            EmployeeBLL psBLL = new EmployeeBLL();
            DataSet     ds    = new DataSet();

            //string strIDs = "," + strId + ",";
            //if (strIDs.Length > 2000)
            //{
            //    ds = psBLL.GetEmployeesByEmployeeIdS(strIDs);
            //    if (ds.Tables[0].Rows.Count > 0)
            //    {
            //        gvChoose.DataSource = ds;
            //        gvChoose.DataBind();
            //    }
            //    else
            //    {
            //        BindEmptyGrid2();
            //    }
            //}
            //else
            //{
            //    IList<Employee> objList = psBLL.GetEmployeesByEmployeeId(strIDs);
            //    if (objList.Count > 0)
            //    {
            //        ds.Tables.Add(ConvertToDataTable((IList)objList));
            //        gvChoose.DataSource = objList;
            //        gvChoose.DataBind();
            //    }
            //    else
            //    {
            //        BindEmptyGrid2();
            //    }
            //}

            string[]         str     = strId.Split(',');
            IList <Employee> objList = new List <Employee>();

            if (str[0] != "")
            {
                OracleAccess db = new OracleAccess();
                string       strSql;

                string    strQuery       = GetSql();
                ArrayList objEmloyeeList = new ArrayList();
                if (!string.IsNullOrEmpty(strQuery))
                {
                    IList <Employee> objSelectList = psBLL.GetEmployeeByWhereClause("1=1" + strQuery);

                    foreach (Employee employee in objSelectList)
                    {
                        objEmloyeeList.Add(employee.EmployeeID.ToString());
                    }
                }

                for (int i = 0; i < str.Length; i++)
                {
                    if (string.IsNullOrEmpty(str[i]))
                    {
                        continue;
                    }

                    Employee obj = psBLL.GetChooseEmployeeInfo(str[i]);
                    obj.RowNum = i + 1;
                    //if(string.IsNullOrEmpty(obj.WorkNo))
                    //{
                    //    strSql = "select identity_cardno from Employee where Employee_ID=" + str[i];
                    //    obj.WorkNo = db.RunSqlDataSet(strSql).Tables[0].Rows[0][0].ToString();
                    //}

                    if (!string.IsNullOrEmpty(strQuery))
                    {
                        if (objEmloyeeList.IndexOf(str[i]) >= 0)
                        {
                            objList.Add(obj);
                        }
                    }
                    else
                    {
                        objList.Add(obj);
                    }
                }

                if (objList.Count > 0)
                {
                    ds.Tables.Add(ConvertToDataTable((IList)objList));

                    if (ViewState["Sort"] != null)
                    {
                        try
                        {
                            ds.Tables[0].DefaultView.Sort = ViewState["Sort"].ToString();
                        }
                        catch
                        {
                        }
                    }

                    DataColumn dc = ds.Tables[0].Columns.Add("ComputeRoom");

                    strSql = "select a.*,c.Short_Name||'-'||b.Computer_Room_Name as ComputeRoom "
                             + " from Random_Exam_Arrange_Detail a "
                             + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID"
                             + " inner join Org c on b.Org_ID=c.Org_ID"
                             + " where Random_Exam_ID='" + strExamId + "'";
                    DataSet dsDetail = db.RunSqlDataSet(strSql);
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        string    strUser = "******" + dr["EmployeeID"] + ",";
                        DataRow[] drs     = dsDetail.Tables[0].Select("','+User_Ids+',' like '%" + strUser + "%'");

                        if (drs.Length > 0)
                        {
                            dr["ComputeRoom"] = drs[0]["ComputeRoom"].ToString();
                        }
                        else
                        {
                            dr["ComputeRoom"] = string.Empty;
                        }
                    }

                    gvChoose.DataSource = ds;
                    gvChoose.DataBind();
                }
                else
                {
                    BindEmptyGrid2();
                }
            }
            else
            {
                BindEmptyGrid2();
            }
        }