コード例 #1
0
        protected void SaveChoose()
        {
            string strId = Request.QueryString.Get("id");

            string strEndId = ViewState["ChooseId"].ToString();

            //for (int i = 0; i < this.gvChoose.Rows.Count; i++)
            //{
            //    string strEmId = ((Label)this.gvChoose.Rows[i].FindControl("LabelEmployeeID")).Text;

            //    if (strEndId.Length == 0)
            //    {
            //        strEndId += strEmId;
            //    }
            //    else
            //    {
            //        if (strEndId == "0")
            //        {
            //            strEndId  = strEmId;
            //        }
            //        else
            //        {
            //            strEndId += "," + strEmId;
            //        }
            //    }
            //}

            if (strEndId == "")
            {
                strEndId = "0";
            }

            if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "0")
            {
                RandomExamArrange examArrange = new RandomExamArrange();
                examArrange.RandomExamId = int.Parse(strId);
                examArrange.UserIds      = strEndId;
                examArrange.Memo         = "";
                RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL();
                examArrangeBLL.AddRandomExamArrange(examArrange);
                ViewState["UpdateMode"] = 1;
                SessionSet.PageMessage  = "保存成功!";
                return;
            }

            if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "1")
            {
                RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL();
                examArrangeBLL.UpdateRandomExamArrange(int.Parse(strId), strEndId);
                SessionSet.PageMessage = "保存成功!";
                return;
            }
        }
コード例 #2
0
        protected void ButtonSave_Click(object sender, ImageClickEventArgs e)
        {
            string strId = Request.QueryString.Get("id");

            string strEndId = "";

            for (int i = 0; i < this.Grid2.Rows.Count; i++)
            {
                string strEmId = ((Label)this.Grid2.Rows[i].FindControl("LabelEmployeeID")).Text;

                if (strEndId.Length == 0)
                {
                    strEndId += strEmId;
                }
                else
                {
                    strEndId += "," + strEmId;
                }
            }

            if (strEndId == "" || strEndId == "0")
            {
                SessionSet.PageMessage = "请选择考生!";
                return;
            }

            if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "0")
            {
                RandomExamArrange examArrange = new RandomExamArrange();
                examArrange.RandomExamId = int.Parse(strId);
                examArrange.UserIds      = strEndId;
                examArrange.Memo         = "";
                RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL();
                examArrangeBLL.AddRandomExamArrange(examArrange);
                ViewState["UpdateMode"] = 1;
                SessionSet.PageMessage  = "保存成功!";
                return;
            }

            if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "1")
            {
                RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL();
                examArrangeBLL.UpdateRandomExamArrange(int.Parse(strId), strEndId);
                SessionSet.PageMessage = "保存成功!";
                return;
            }
        }
コード例 #3
0
        private void SaveRandomExamArrange(string strExamID, string strTrainClassID, string strPostID)
        {
            string    strSql     = "";
            Hashtable htUserID   = new Hashtable();
            string    strUserIDs = string.Empty;

            OracleAccess db = new OracleAccess();

            string[] str = strTrainClassID.Split(',');
            for (int j = 0; j < str.Length; j++)
            {
                strSql = "select  a.Employee_ID  "
                         + "from ZJ_Train_Plan_Employee a "
                         + " inner join Employee  b on a.Employee_ID=b.Employee_ID "
                         + " where a.Train_Class_ID=" + str[j] + " and b.Post_ID in (" + strPostID + ")";
                DataSet ds = db.RunSqlDataSet(strSql);

                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    if (!htUserID.ContainsKey(dr["Employee_ID"].ToString()))
                    {
                        if (strUserIDs == string.Empty)
                        {
                            strUserIDs = dr["Employee_ID"].ToString();
                        }
                        else
                        {
                            strUserIDs = strUserIDs + "," + dr["Employee_ID"];
                        }

                        htUserID.Add(dr["Employee_ID"].ToString(), dr["Employee_ID"].ToString());
                    }
                }
            }

            RandomExamArrangeBLL objArrangeBll = new RandomExamArrangeBLL();
            RandomExamArrange    objArrange    = new RandomExamArrange();

            objArrange.RandomExamId = Convert.ToInt32(strExamID);
            objArrange.Memo         = "";
            objArrange.UserIds      = strUserIDs;
            objArrangeBll.AddRandomExamArrange(objArrange);
        }
コード例 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                ButtonOutPutAll.Attributes.Add("onclick", "return confirm('您确定要移除全部考生吗 ?');");
                ButtonInputAll.Attributes.Add("onclick", "return confirm('加入上面列表显示的全部考生可能需要较长时间,您确认吗 ?');");

                ViewState["mode"]      = Request.QueryString.Get("mode");
                ViewState["startmode"] = Request.QueryString.Get("startmode");
                if (ViewState["mode"].ToString() == "ReadOnly")
                {
                    this.ButtonSave.Visible = false;
                }

                BindOrgTree();
                BindPostTree();
                string strId = Request.QueryString.Get("id");
                if (strId != null && strId != "")
                {
                    RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL();
                    IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId));

                    if (ExamArranges.Count > 0)
                    {
                        ViewState["ChooseId"]   = ExamArranges[0].UserIds;
                        ViewState["UpdateMode"] = 1;
                    }
                    else
                    {
                        ViewState["ChooseId"]   = "";
                        ViewState["UpdateMode"] = 0;
                    }
                }
                ViewState["EmploySortField"]       = "a.employee_ID";
                ViewState["ChooseEmploySortField"] = "EmployeeID";
                BindChoosedGrid(ViewState["ChooseId"].ToString(), ViewState["ChooseEmploySortField"].ToString());

                ViewState["StartRow"] = 0;
                ViewState["EndRow"]   = Grid1.PageSize;

                BindGrid(ViewState["EmploySortField"].ToString());
            }
        }
コード例 #5
0
        protected void ButtonOutPut_Click(object sender, EventArgs e)
        {
            string strAllId = ViewState["ChooseId"].ToString();

            if (strAllId == "")
            {
                return;
            }

            string strOldAllId = "," + strAllId + ",";
            string strRemove   = string.Empty;

            for (int i = 0; i < this.gvChoose.Rows.Count; i++)
            {
                CheckBox CheckBox1 = (CheckBox)this.gvChoose.Rows[i].FindControl("chkSelect2");
                string   strEmId   = ((Label)this.gvChoose.Rows[i].FindControl("LabelEmployeeID")).Text;
                if (CheckBox1.Checked)
                {
                    strOldAllId = strOldAllId.Replace(strEmId + ",", "");

                    if (strRemove == string.Empty)
                    {
                        strRemove = strEmId;
                    }
                    else
                    {
                        strRemove += "," + strEmId;
                    }
                }
            }

            int n = strOldAllId.Length;

            if (n == 1)
            {
                ViewState["ChooseId"] = "";
            }
            else
            {
                ViewState["ChooseId"] = strOldAllId.Substring(1, n - 2);
            }

            //移除考生需要清楚考生安排明细
            string       strID = ViewState["ExamID"].ToString();
            OracleAccess db    = new OracleAccess();
            //查询当前考试所有考生安排明细
            string  strSql  = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strID;
            DataSet dsOther = db.RunSqlDataSet(strSql);

            //遍历当前需要移除的考生信息,查询考生安排明细是否存在当前需要移除的考生,如果存在则需修改去除该考生
            string[] str = strRemove.ToString().Split(',');
            for (int i = 0; i < str.Length; i++)
            {
                string    strReplace = "," + str[i] + ",";
                DataRow[] drs        = dsOther.Tables[0].Select("','+User_Ids+',' like '%" + strReplace + "%'");

                if (drs.Length > 0)
                {
                    strSql = "update Random_Exam_Arrange_Detail "
                             + "set User_ids = substr(Replace(','||User_ids||',','" + strReplace +
                             "',','),2,length(Replace(','||User_ids||',','" + strReplace + "',','))-2) "
                             + "where  ','|| User_ids || ',' like '%" + strReplace + "%' and Random_Exam_ID=" +
                             strID;

                    if (PrjPub.IsServerCenter)
                    {
                        db.ExecuteNonQuery(strSql);
                    }
                    else
                    {
                        string       strConn  = ConfigurationManager.ConnectionStrings["OracleCenter"].ConnectionString;
                        OracleAccess dbCenter = new OracleAccess(strConn);
                        dbCenter.ExecuteNonQuery(strSql);

                        RandomExamArrangeBLL objBll = new RandomExamArrangeBLL();
                        objBll.RefreshRandomExamArrange();
                    }
                }

                hfAddIds.Value =
                    ("," + (hfAddIds.Value.Replace("|", ",")) + ",").Replace(strReplace, ",").TrimStart(',').TrimEnd(',').Replace(",", "|");
            }

            BindChoosedGrid(ViewState["ChooseId"].ToString());

            SaveChoose();
        }
コード例 #6
0
        protected void btnCancel_Click(object sender, EventArgs e)
        {
            //移除考生需要清楚考生安排明细
            string       strID = ViewState["ExamID"].ToString();
            OracleAccess db    = new OracleAccess();
            //查询当前考试所有考生安排明细
            string  strSql  = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strID;
            DataSet dsOther = db.RunSqlDataSet(strSql);

            //遍历当前需要移除的考生信息,查询考生安排明细是否存在当前需要移除的考生,如果存在则需修改去除该考生
            string[] str = ViewState["AddIds"].ToString().Split('|');
            for (int i = 0; i < str.Length; i++)
            {
                string    strReplace = "," + str[i] + ",";
                DataRow[] drs        = dsOther.Tables[0].Select("','+User_Ids+',' like '%" + strReplace + "%'");

                if (drs.Length > 0)
                {
                    strSql = "update Random_Exam_Arrange_Detail "
                             + "set User_ids = substr(Replace(','||User_ids||',','" + strReplace +
                             "',','),2,length(Replace(','||User_ids||',','" + strReplace + "',','))-2) "
                             + "where  ','|| User_ids || ',' like '%" + strReplace + "%' and Random_Exam_ID=" + strID;

                    if (PrjPub.IsServerCenter)
                    {
                        db.ExecuteNonQuery(strSql);
                    }
                    else
                    {
                        string       strConn  = ConfigurationManager.ConnectionStrings["OracleCenter"].ConnectionString;
                        OracleAccess dbCenter = new OracleAccess(strConn);
                        dbCenter.ExecuteNonQuery(strSql);

                        RandomExamArrangeBLL objBll = new RandomExamArrangeBLL();
                        objBll.RefreshRandomExamArrange();
                    }
                }
            }

            //查询考试在当前站段考试的考生信息
            strSql = "select a.* from Random_Exam_Arrange_Detail a "
                     + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID"
                     + " where Random_Exam_ID=" + ViewState["ExamID"];
            DataSet ds = db.RunSqlDataSet(strSql);

            string strEndId = string.Empty;

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

            RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL();

            if (!PrjPub.IsServerCenter)
            {
                examArrangeBLL.UpdateRandomExamArrangeToServer(int.Parse(ViewState["ExamID"].ToString()), strEndId);
            }
            else
            {
                examArrangeBLL.UpdateRandomExamArrange(int.Parse(ViewState["ExamID"].ToString()), strEndId);
            }


            Response.Write("<script>top.returnValue ='true';top.close();</script>");
        }
コード例 #7
0
        protected void btnGetPaper_Click(object sender, EventArgs e)
        {
            string strId = Request.QueryString.Get("RandomExamID");

            if (string.IsNullOrEmpty(strId))
            {
                SessionSet.PageMessage = "缺少参数!";
                return;
            }

            //获取当前考试的生成试卷的状态和次数
            RandomExamBLL objBll = new RandomExamBLL();

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

            if (!PrjPub.IsServerCenter)
            {
                int nowVersion = objBll.GetExamServer(Convert.ToInt32(strId)).Version;
                if (nowVersion != objExam.Version)
                {
                    SessionSet.PageMessage = "当前考试版本与路局不匹配,请重新同步基础数据!";
                    return;
                }
            }

            if (objExam.EndTime < DateTime.Today)
            {
                SessionSet.PageMessage = "当前考试已过期,不能生成考试试卷!";
                return;
            }

            RandomExamComputerServerBLL serverBll = new RandomExamComputerServerBLL();
            RandomExamComputerServer    server    = serverBll.GetRandomExamComputerServer(objExam.RandomExamId,
                                                                                          PrjPub.ServerNo);

            if (server.HasPaper)
            {
                SessionSet.PageMessage = "当前考试已生成试卷!";
                return;
            }

            //获取当前考试的考生信息
            RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL();
            IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId));
            string strChooseID = "";

            if (ExamArranges.Count > 0)
            {
                strChooseID = ExamArranges[0].UserIds;
            }
            else
            {
                strChooseID = "";
            }
            string[] str = strChooseID.Split(',');
            if (str[0] == "")
            {
                SessionSet.PageMessage = "请为该考试添加考生!";
                return;
            }

            ClientScript.RegisterStartupScript(GetType(),
                                               "jsSelectFirstNode",
                                               @"GetPaper();",
                                               true);
        }
コード例 #8
0
        protected void SaveChoose()
        {
            string strId = ViewState["ExamID"].ToString();

            string strEndId = "";

            //for (int i = 0; i < this.gvChoose.Rows.Count; i++)
            //{
            //    string strEmId = ((Label)this.gvChoose.Rows[i].FindControl("LabelEmployeeID")).Text;

            //    if (strEndId.Length == 0)
            //    {
            //        strEndId += strEmId;
            //    }
            //    else
            //    {
            //        if (strEndId == "0")
            //        {
            //            strEndId = strEmId;
            //        }
            //        else
            //        {
            //            strEndId += "," + strEmId;
            //        }
            //    }
            //}
            //if (ViewState["HasExamId"].ToString() != "" && strEndId != "")
            //{
            //    strEndId = ViewState["HasExamId"].ToString() + "," + strEndId;
            //}
            //else
            //{
            //    strEndId = "";
            //}

            //if (strEndId == "")
            //{
            //    strEndId = "0";
            //}

            OracleAccess db = new OracleAccess();
            //查询考试在当前站段考试的考生信息
            string strSql = "select a.* from Random_Exam_Arrange_Detail a "
                            + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID"
                            + " where Random_Exam_ID=" + strId;
            DataSet ds = db.RunSqlDataSet(strSql);

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


            //新增
            if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "0")
            {
                RandomExamArrange examArrange = new RandomExamArrange();
                examArrange.RandomExamId = int.Parse(strId);
                examArrange.UserIds      = strEndId;
                examArrange.Memo         = "";
                RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL();
                if (!PrjPub.IsServerCenter)
                {
                    examArrangeBLL.AddRandomExamArrangeToServer(examArrange);
                }
                else
                {
                    examArrangeBLL.AddRandomExamArrange(examArrange);
                }
                ViewState["UpdateMode"] = 1;
                SessionSet.PageMessage  = "保存成功!";
                return;
            }

            //修改
            if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "1")
            {
                RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL();
                if (!PrjPub.IsServerCenter)
                {
                    examArrangeBLL.UpdateRandomExamArrangeToServer(int.Parse(strId), strEndId);
                }
                else
                {
                    examArrangeBLL.UpdateRandomExamArrange(int.Parse(strId), strEndId);
                }
                SessionSet.PageMessage = "保存成功!";
                return;
            }
        }
コード例 #9
0
        protected void SaveChoose()
        {
            string strId = Request.QueryString.Get("id");

            string strEndId = ViewState["ChooseId"].ToString();


            if (strEndId == "")
            {
                strEndId = "0";
            }
            else
            {
                RandomExamBLL             objBll = new RandomExamBLL();
                RailExam.Model.RandomExam random = objBll.GetExam(int.Parse(strId));

                if (random.RandomExamModularTypeID > 1)
                {
                    OracleAccess db     = new OracleAccess();
                    string       strSql = "select * from Random_Exam_Modular_Type where Random_Exam_Modular_Type_ID=" +
                                          random.RandomExamModularTypeID;
                    DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0];

                    strSql = "select * from Random_Exam_Modular_Type where Level_Num=" + (Convert.ToInt32(dr["Level_NUM"]) - 1);
                    DataRow drPre = db.RunSqlDataSet(strSql).Tables[0].Rows[0];

                    strSql = " select a.* "
                             + "from Random_Exam_Result a "
                             + " inner join Random_Exam b on a.Random_Exam_ID=b.Random_Exam_ID "
                             + " left join Random_Exam_Modular_Type c on b.Random_Exam_Modular_Type_ID=c.Random_Exam_Modular_Type_ID "
                             + " where c.Level_Num=" + (Convert.ToInt32(dr["Level_NUM"]) - 1);
                    DataSet ds = db.RunSqlDataSet(strSql);

                    strSql = "select * from Employee where Employee_ID in (" + strEndId + ")";
                    DataSet dsEmp = db.RunSqlDataSet(strSql);

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

                    string strErrorMessage = string.Empty;
                    for (int i = 0; i < str.Length; i++)
                    {
                        DataRow[] drs = ds.Tables[0].Select("EXAMINEE_ID=" + str[i]);

                        if (drs.Length == 0)
                        {
                            DataRow[] drsEmp = dsEmp.Tables[0].Select("Employee_ID=" + str[i]);

                            strErrorMessage = "所选考生【" + drsEmp[0]["Employee_Name"] + "】未能通过【" +
                                              drPre["Random_Exam_Modular_Type_Name"] + "】考试,不能参加【" +
                                              dr["Random_Exam_Modular_Type_Name"] + "】考试!";
                            break;
                        }
                    }

                    if (!string.IsNullOrEmpty(strErrorMessage))
                    {
                        SessionSet.PageMessage = strErrorMessage;
                        return;
                    }
                }
            }

            if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "0")
            {
                RandomExamArrangeBLL      examArrangeBLL = new RandomExamArrangeBLL();
                IList <RandomExamArrange> objList        = examArrangeBLL.GetRandomExamArranges(int.Parse(strId));

                if (objList.Count == 0)
                {
                    RandomExamArrange examArrange = new RandomExamArrange();
                    examArrange.RandomExamId = int.Parse(strId);
                    examArrange.UserIds      = strEndId;
                    examArrange.Memo         = "";
                    if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType")) && !PrjPub.IsServerCenter)
                    {
                        examArrangeBLL.AddRandomExamArrangeToServer(examArrange);
                    }
                    else
                    {
                        examArrangeBLL.AddRandomExamArrange(examArrange);
                    }
                    ViewState["UpdateMode"] = 1;

                    if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType")))
                    {
                        Response.Write("<script>alert('添加成功!');window.opener.form1.Refresh.value='true';window.opener.form1.submit();window.close();</script>");
                    }
                    else
                    {
                        string       strSql = "";
                        OracleAccess db     = new OracleAccess();
                        strSql = "update Random_Exam set Is_All_Arrange = 0 where Random_Exam_ID=" + strId;
                        db.ExecuteNonQuery(strSql);

                        SessionSet.PageMessage = "添加成功!";
                        return;
                    }
                }
                else
                {
                    ViewState["UpdateMode"] = "1";
                }
            }

            if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "1")
            {
                RandomExamArrangeBLL      examArrangeBLL = new RandomExamArrangeBLL();
                IList <RandomExamArrange> objList        = examArrangeBLL.GetRandomExamArranges(int.Parse(strId));

                string strNew = objList[0].UserIds;

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

                for (int i = 0; i < str.Length; i++)
                {
                    if (("," + strNew + ",").IndexOf("," + str[i] + ",") < 0)
                    {
                        strNew += strNew == string.Empty ? str[i] : "," + str[i];
                    }
                }

                if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType")))
                {
                    //examArrangeBLL.UpdateRandomExamArrangeToServer(int.Parse(strId), strAdd);
                    string strAddIds = string.Empty;

                    for (int i = 0; i < str.Length; i++)
                    {
                        if (("," + objList[0].UserIds + ",").IndexOf("," + str[i] + ",") < 0)
                        {
                            strAddIds += strAddIds == string.Empty ? str[i] : "," + str[i];
                        }
                    }

                    OracleAccess db = new OracleAccess();

                    OracleAccess dbCenter = new OracleAccess(System.Configuration.ConfigurationManager.ConnectionStrings["OracleCenter"].ConnectionString);
                    XmlDocument  doc      = new XmlDocument();
                    //Request.PhysicalApplicationPath取得config文件路径
                    doc.Load(Path.Combine(HttpContext.Current.Request.PhysicalApplicationPath, "web.config"));
                    XmlNode node  = doc.SelectSingleNode("configuration/dataConfiguration/@defaultDatabase");
                    string  value = node.Value;
                    if (value == "Oracle")
                    {
                        OracleParameter para1 = new OracleParameter("p_User_Ids", OracleType.Clob);
                        OracleParameter para2 = new OracleParameter("p_random_Exam_ID", OracleType.Number);
                        para2.Value = int.Parse(strId);
                        IDataParameter[] paras = new IDataParameter[] { para1, para2 };
                        examArrangeBLL.RunUpdateProcedure(true, "USP_random_Exam_Arrange_U", paras, System.Text.Encoding.Unicode.GetBytes(strEndId));
                    }

                    string strSql = "select a.* from Random_Exam_Arrange_Detail a "
                                    + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID"
                                    + " inner join Computer_Server c on c.Computer_server_ID=b.Computer_Server_ID"
                                    + " where c.Computer_Server_No='" + PrjPub.ServerNo + "' "
                                    + " and Random_Exam_ID=" + strId;
                    DataSet ds = db.RunSqlDataSet(strSql);

                    strSql = "update Random_Exam_Arrange_Detail "
                             + "set User_ids = User_ids || '," + strAddIds + "' "
                             + "where   Random_Exam_Arrange_Detail_ID =" + ds.Tables[0].Rows[0]["Random_Exam_Arrange_Detail_ID"];
                    dbCenter.ExecuteNonQuery(strSql);

                    if (!PrjPub.IsServerCenter)
                    {
                        examArrangeBLL.RefreshRandomExamArrange();
                    }
                }
                else
                {
                    examArrangeBLL.UpdateRandomExamArrange(int.Parse(strId), strNew);
                }

                if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType")))
                {
                    //SessionSet.PageMessage = "添加成功!";
                    Response.Write("<script>alert('添加成功!');window.opener.form1.Refresh.value='true';window.opener.form1.submit();window.close();</script>");
                }
                else
                {
                    string       strSql = "";
                    OracleAccess db     = new OracleAccess();
                    strSql = "update Random_Exam set Is_All_Arrange = 0 where Random_Exam_ID=" + strId;
                    db.ExecuteNonQuery(strSql);

                    SessionSet.PageMessage = "添加成功!";
                    return;
                }
            }
        }
コード例 #10
0
        protected void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                btnOK.Visible = false;

                if (ddlSeat.SelectedValue == "0")
                {
                    SessionSet.PageMessage = "请选择机位!";
                    return;
                }

                string id = Request.QueryString.Get("id");
                string strSql;

                OracleAccess db = new OracleAccess();
                if (ViewState["Old"].ToString() == "True")
                {
                    strSql = "select * from Random_Exam_Result_Detail where Random_Exam_Result_Detail_ID=" + id;
                }
                else
                {
                    strSql = "select * from Random_Exam_Result_Detail_Temp where Random_Exam_Result_Detail_ID=" + id;
                }
                DataSet ds = db.RunSqlDataSet(strSql);
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (ds.Tables[0].Rows[0]["FingerPrint"] == DBNull.Value)
                    {
                        SessionSet.PageMessage = "当前学生考试不是指纹考试,无需调整机位!";
                        return;
                    }
                }

                if (hfOldRoomID.Value == ddlRoom.SelectedValue)
                {
                    if (ViewState["Old"].ToString() == "True")
                    {
                        strSql = "update Random_Exam_Result_Detail "
                                 + " set Computer_Room_Seat =" + ddlSeat.SelectedValue
                                 + " where Random_Exam_Result_Detail_ID=" + id;
                    }
                    else
                    {
                        strSql = "update Random_Exam_Result_Detail_Temp "
                                 + " set Computer_Room_Seat =" + ddlSeat.SelectedValue
                                 + " where Random_Exam_Result_Detail_ID=" + id;
                    }

                    db.ExecuteNonQuery(strSql);
                }
                else
                {
                    OracleAccess dbCenter =
                        new OracleAccess(
                            System.Configuration.ConfigurationManager.ConnectionStrings["OracleCenter"].ConnectionString);

                    //从旧机房的安排明细中,删除员工ID
                    string strReplace = "," + hfEmployeeID.Value + ",";
                    strSql = "update Random_Exam_Arrange_Detail "
                             + "set User_ids = substr(Replace(','||User_ids||',','" + strReplace +
                             "',','),2,length(Replace(','||User_ids||',','" + strReplace + "',','))-2) "
                             + "where  ','|| User_ids || ',' like '%" + strReplace + "%' and Random_Exam_ID=" +
                             hfExamID.Value +
                             " and Computer_Room_ID=" + hfOldRoomID.Value;
                    dbCenter.ExecuteNonQuery(strSql);

                    //查询新机房是否存在安排明细
                    strSql = " select * from  Random_Exam_Arrange_Detail "
                             + " where Random_Exam_ID=" + hfExamID.Value + " and Computer_Room_ID=" + ddlRoom.SelectedValue;
                    DataSet dsNew = dbCenter.RunSqlDataSet(strSql);

                    if (dsNew.Tables[0].Rows.Count > 0)
                    {
                        //在新机房的安排明细中,添加员工ID
                        strSql = "update Random_Exam_Arrange_Detail set User_Ids=User_Ids||'," + hfEmployeeID.Value + "'"
                                 + " where Random_Exam_ID=" + hfExamID.Value + " and Computer_Room_ID=" + ddlRoom.SelectedValue;
                        dbCenter.ExecuteNonQuery(strSql);
                    }
                    else
                    {
                        RandomExamArrangeBLL arrangeBll        = new RandomExamArrangeBLL();
                        RandomExamArrange    randomExamArrange = arrangeBll.GetRandomExamArranges(Convert.ToInt32(hfExamID.Value))[0];

                        OracleParameter para1 = new OracleParameter("p_User_Ids", OracleType.Clob);
                        OracleParameter para2 = new OracleParameter("p_random_exam_arrange_de_id", OracleType.Number);
                        para2.Direction = ParameterDirection.Output;
                        OracleParameter para3 = new OracleParameter("p_random_exam_arrange_Id", OracleType.Number);
                        para3.Value = randomExamArrange.RandomExamArrangeId;
                        OracleParameter para4 = new OracleParameter("p_random_Exam_ID", OracleType.Number);
                        para4.Value = Convert.ToInt32(hfExamID.Value);
                        OracleParameter para5 = new OracleParameter("p_computer_room_id", OracleType.Number);
                        para5.Value = Convert.ToInt32(ddlRoom.SelectedValue);


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


                    //下载安排明细

                    strSql = "begin dbms_mview.refresh('Random_Exam_Arrange_Detail','?'); end;";
                    db.ExecuteNonQuery(strSql);

                    if (ViewState["Old"].ToString() == "True")
                    {
                        strSql = "update Random_Exam_Result_Detail "
                                 + " set Computer_Room_ID=" + ddlRoom.SelectedValue + " , Computer_Room_Seat =" +
                                 ddlSeat.SelectedValue
                                 + " where Random_Exam_Result_Detail_ID=" + id;
                    }
                    else
                    {
                        strSql = "update Random_Exam_Result_Detail_Temp "
                                 + " set Computer_Room_ID=" + ddlRoom.SelectedValue + " , Computer_Room_Seat =" +
                                 ddlSeat.SelectedValue
                                 + " where Random_Exam_Result_Detail_ID=" + id;
                    }
                    db.ExecuteNonQuery(strSql);
                }

                Response.Write("<script>window.returnValue = 'true',window.close();</script>");
            }
            catch (Exception)
            {
                btnOK.Visible          = true;
                SessionSet.PageMessage = "调整失败!";
                return;
            }
        }
コード例 #11
0
        protected void btnSave_Click(object sender, ImageClickEventArgs e)
        {
            DataTable dataTable = BindGrid();

            if (txtMET2.Text == "")
            {
                txtMET2.Text = "1";
            }

            if (chkHasTrainClass.Checked)
            {
                if (hfPostID.Value == "")
                {
                    SessionSet.PageMessage = "带有培训班的考试,必须选择职名!";
                    return;
                }
            }

            RandomExamBLL examBLL = new RandomExamBLL();

            RailExam.Model.RandomExam exam = new RailExam.Model.RandomExam();

            string strID        = string.Empty;
            string strMode      = ViewState["mode"].ToString();
            string strStartMode = ViewState["startmode"].ToString();

            RandomExamTrainClassBLL objTrainClassBll = new RandomExamTrainClassBLL();

            string[] strPost         = hfPostID.Value.Split(',');
            string   strErrorMessage = "";

            OracleAccess db = new OracleAccess();

            if (strMode == "Insert")
            {
                string strExam = "select * from Random_Exam where Exam_Name='" + txtExamName.Text + "'";
                if (db.RunSqlDataSet(strExam).Tables[0].Rows.Count > 0)
                {
                    SessionSet.PageMessage = "该考试名称在系统中已经存在,请重新输入!";
                    txtExamName.Focus();
                    return;
                }

                if (chkHasTrainClass.Checked)
                {
                    foreach (DataRow dr in dataTable.Rows)
                    {
                        for (int i = 0; i < strPost.Length; i++)
                        {
                            IList <RandomExamTrainClass> objList =
                                objTrainClassBll.GetRandomExamTrainClassCount(Convert.ToInt32(dr["TrainClassID"].ToString()),
                                                                              Convert.ToInt32(dr["TrainClassSubjectID"].ToString()),
                                                                              Convert.ToInt32(strPost[i]));
                            if (objList.Count > 0)
                            {
                                strErrorMessage = "培训班“" + dr["TrainClassName"] + "”的考试科目“" + dr["TrainClassSubjectName"] + "”已新增当前所选职名的试卷!";
                            }
                        }
                    }
                }

                if (strErrorMessage != "")
                {
                    SessionSet.PageMessage = strErrorMessage;
                    return;
                }

                exam.CategoryId   = int.Parse(hfCategoryId.Value);
                exam.ExamName     = txtExamName.Text;
                exam.Memo         = txtMemo.Text;
                exam.CreatePerson = PrjPub.CurrentLoginUser.EmployeeName;
                exam.ExamModeId   = 1;
                exam.PassScore    = Convert.ToDecimal(txtPassScore.Text);
                if (rbnExamMode1.Checked)
                {
                    exam.IsComputerExam = true;
                }
                else
                {
                    exam.IsComputerExam = false;
                }

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

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

                exam.IsAutoScore    = chAutoScore.Checked;
                exam.CanSeeAnswer   = chkCanSeeAnswer.Checked;
                exam.CanSeeScore    = chSeeScore.Checked;
                exam.IsPublicScore  = chPublicScore.Checked;
                exam.IsUnderControl = chUD.Checked;
                exam.MaxExamTimes   = int.Parse(txtMET2.Text);
                exam.MinExamTimes   = 1;
                exam.BeginTime      = DateTime.Parse(dateBeginTime.DateValue.ToString());
                exam.EndTime        = DateTime.Parse(dateEndTime.DateValue.ToString());
                exam.ExamTypeId     = 1;
                exam.CreateTime     = DateTime.Now;
                exam.Description    = txtDescription.Text;
                exam.ExamTime       = int.Parse(txtExamTime.Text);
                exam.StatusId       = 1;
                exam.PostID         = hfPostID.Value;

                exam.RandomExamModularTypeID = Convert.ToInt32(ddlModularType.SelectedValue);
                exam.IsReduceError           = chkIsReduceScore.Checked;

                exam.AutoSaveInterval = chkAllItem.Checked ? 1 : 0;

                if (saveTd.Visible)
                {
                    exam.SaveStatus = Convert.ToInt32(ddlDate.SelectedValue);

                    if (dateSaveDate.Visible)
                    {
                        if (dateSaveDate.DateValue == null)
                        {
                            SessionSet.PageMessage = "请选择一个存档时间!";
                            return;
                        }

                        exam.SaveDate = Convert.ToDateTime(dateSaveDate.DateValue);
                    }
                }
                else
                {
                    exam.SaveStatus = 0;
                    exam.SaveDate   = null;
                }

                //exam.AutoSaveInterval = 0;
                exam.OrgId = PrjPub.CurrentLoginUser.StationOrgID;

                exam.HasTrainClass = chkHasTrainClass.Checked;

                int id = examBLL.AddExam(exam);
                strID = id.ToString();

                if (_isWuhanOnly)
                {
                    //当考试来源为培训班时,需自动添加考生。
                    if (chkHasTrainClass.Checked)
                    {
                        foreach (DataRow dr in dataTable.Rows)
                        {
                            RandomExamTrainClass obj = new RandomExamTrainClass();
                            obj.RandomExamID        = Convert.ToInt32(strID);
                            obj.TrainClassID        = Convert.ToInt32(dr["TrainClassID"].ToString());
                            obj.TrainClassSubjectID = Convert.ToInt32(dr["TrainClassSubjectID"].ToString());
                            objTrainClassBll.AddRandomExamTrainClass(obj);
                        }
                        //ClientScript.RegisterStartupScript(GetType(),
                        //    "jsSelectFirstNode",
                        //    @"SaveArrange(" + strID + ",'" + strStartMode + "','" + strMode + "');",
                        //    true);

                        //string strClause = strID + "|" + strStartMode + "|" + strMode;
                        //ClientScript.RegisterStartupScript(GetType(), "import", "inputCallback.callback('" + strClause + "');", true);

                        try
                        {
                            SaveRandomExamArrange(strID, hfTrainClassID.Value, hfPostID.Value);
                        }
                        catch
                        {
                            SessionSet.PageMessage = "添加考生失败";
                            return;
                        }

                        Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID);
                    }
                    else
                    {
                        Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID);
                    }
                }
                else
                {
                    Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID);
                }
            }
            else if (strMode == "Edit")
            {
                strID = Request.QueryString.Get("id");

                if (Pub.HasPaper(Convert.ToInt32(strID)))
                {
                    Response.Write("<script>alert('该考试已生成试卷,不能被编辑!');window.close();</script>");
                    return;
                }

                string strExam = "select * from Random_Exam where Random_Exam_ID!=" + strID + " and Exam_Name='" + txtExamName.Text + "'";
                if (db.RunSqlDataSet(strExam).Tables[0].Rows.Count > 0)
                {
                    SessionSet.PageMessage = "该考试名称在系统中已经存在,请重新输入!";
                    txtExamName.Focus();
                    return;
                }

                string    strSql = "select * from Random_Exam_Computer_Server where Has_Paper=1 and Random_Exam_ID=" + strID;
                DataTable dt     = db.RunSqlDataSet(strSql).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    SessionSet.PageMessage = "当前考试已经生成试卷,不能继续编辑!";
                    return;
                }


                if (chkHasTrainClass.Checked && ViewState["TrainClass"].ToString() != hfTrainClassID.Value)
                {
                    foreach (DataRow dr in dataTable.Rows)
                    {
                        for (int i = 0; i < strPost.Length; i++)
                        {
                            IList <RandomExamTrainClass> objList =
                                objTrainClassBll.GetRandomExamTrainClassCount(Convert.ToInt32(dr["TrainClassID"].ToString()),
                                                                              Convert.ToInt32(dr["TrainClassSubjectID"].ToString()),
                                                                              Convert.ToInt32(strPost[i]));
                            if (objList.Count > 0)
                            {
                                if (objList[0].RandomExamID.ToString() != strID)
                                {
                                    strErrorMessage = "培训班“" + dr["TrainClassName"] + "”的考试科目“" + dr["TrainClassSubjectName"] + "”已新增当前所选职名的试卷!";
                                }
                            }
                        }
                    }
                }

                if (strErrorMessage != "")
                {
                    SessionSet.PageMessage = strErrorMessage;
                    return;
                }

                exam.CategoryId   = Convert.ToInt32(hfCategoryId.Value);
                exam.ExamName     = txtExamName.Text;
                exam.Memo         = txtMemo.Text;
                exam.RandomExamId = int.Parse(strID);
                exam.ExamTime     = int.Parse(txtExamTime.Text);
                exam.ExamModeId   = 1;
                exam.PassScore    = Convert.ToDecimal(txtPassScore.Text);
                if (rbnExamMode1.Checked)
                {
                    exam.IsComputerExam = true;
                }
                else
                {
                    exam.IsComputerExam = false;
                }

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

                if (rbnStyle1.Checked)
                {
                    exam.ExamStyle = 1;
                }
                else
                {
                    exam.ExamStyle = 2;
                }
                exam.BeginTime = DateTime.Parse(dateBeginTime.DateValue.ToString());
                exam.EndTime   = DateTime.Parse(dateEndTime.DateValue.ToString());

                exam.IsAutoScore    = chAutoScore.Checked;
                exam.CanSeeAnswer   = chkCanSeeAnswer.Checked;
                exam.CanSeeScore    = chSeeScore.Checked;
                exam.IsPublicScore  = chPublicScore.Checked;
                exam.IsUnderControl = chUD.Checked;
                exam.MaxExamTimes   = int.Parse(txtMET2.Text);
                exam.MinExamTimes   = 1;
                exam.ExamTypeId     = 1;
                exam.Description    = txtDescription.Text;
                //exam.AutoSaveInterval = 0;

                exam.RandomExamModularTypeID = Convert.ToInt32(ddlModularType.SelectedValue);
                exam.IsReduceError           = chkIsReduceScore.Checked;
                exam.AutoSaveInterval        = chkAllItem.Checked ? 1 : 0;

                if (saveTd.Visible)
                {
                    exam.SaveStatus = Convert.ToInt32(ddlDate.SelectedValue);

                    if (dateSaveDate.Visible)
                    {
                        if (dateSaveDate.DateValue == null)
                        {
                            SessionSet.PageMessage = "请选择一个存档时间!";
                            return;
                        }

                        exam.SaveDate = Convert.ToDateTime(dateSaveDate.DateValue);
                    }
                }
                else
                {
                    exam.SaveStatus = 0;
                    exam.SaveDate   = null;
                }

                RandomExamArrangeBLL objArrangeBll = new RandomExamArrangeBLL();
                //当是否为培训班改变或则培训班改变时,需删除考试安排
                if (Convert.ToBoolean(ViewState["HasTrainClass"].ToString()) != chkHasTrainClass.Checked ||
                    ViewState["TrainClass"].ToString() != hfTrainClassID.Value || ViewState["PostID"].ToString() != hfPostID.Value)
                {
                    objArrangeBll.DeleteRandomExamArrangeByRandomExamID(Convert.ToInt32(strID));
                }

                if ((Convert.ToBoolean(ViewState["HasTrainClass"].ToString()) != chkHasTrainClass.Checked && !chkHasTrainClass.Checked) || ViewState["TrainClass"].ToString() != hfTrainClassID.Value)
                {
                    objTrainClassBll.DeleteRandomExamTrainClassByRandomExamID(Convert.ToInt32(strID));
                }

                exam.HasTrainClass = chkHasTrainClass.Checked;
                exam.PostID        = hfPostID.Value;
                exam.Version       = exam.Version + 1;
                examBLL.UpdateExam(exam);

                if (_isWuhanOnly)
                {
                    if (chkHasTrainClass.Checked)
                    {
                        //当培训班或职名发生变化时,更改考生名单
                        if (ViewState["TrainClass"].ToString() != hfTrainClassID.Value || ViewState["PostID"].ToString() != hfPostID.Value)
                        {
                            objTrainClassBll.DeleteRandomExamTrainClassByRandomExamID(Convert.ToInt32(strID));
                            foreach (DataRow dr in dataTable.Rows)
                            {
                                RandomExamTrainClass obj = new RandomExamTrainClass();
                                obj.RandomExamID        = Convert.ToInt32(strID);
                                obj.TrainClassID        = Convert.ToInt32(dr["TrainClassID"].ToString());
                                obj.TrainClassSubjectID = Convert.ToInt32(dr["TrainClassSubjectID"].ToString());
                                objTrainClassBll.AddRandomExamTrainClass(obj);
                            }

                            //ClientScript.RegisterStartupScript(GetType(),
                            //"jsSelectFirstNode",
                            //@"SaveArrange(" + strID + ",'" + strStartMode + "','" + strMode + "');",
                            //true);

                            //string strClause = strID + "|" + strStartMode + "|" + strMode;
                            //ClientScript.RegisterStartupScript(GetType(), "import", "inputCallback.callback('" + strClause + "');", true);

                            try
                            {
                                SaveRandomExamArrange(strID, hfTrainClassID.Value, hfPostID.Value);
                            }
                            catch
                            {
                                SessionSet.PageMessage = "添加考生失败";
                                return;
                            }

                            Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID);
                        }
                        else
                        {
                            Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID);
                        }
                    }
                    else
                    {
                        Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID);
                    }
                }
                else
                {
                    Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID);
                }
            }
            else
            {
                strID = Request.QueryString.Get("id");
                Response.Redirect("RandomExamManageSecond.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID);
            }
        }
コード例 #12
0
        private void GetPaper()
        {
            // 根据 ProgressBar.htm 显示进度条界面
            string       templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm");
            StreamReader reader           = new StreamReader(@templateFileName, System.Text.Encoding.GetEncoding("gb2312"));
            string       html             = reader.ReadToEnd();

            reader.Close();
            Response.Write(html);
            Response.Flush();
            System.Threading.Thread.Sleep(200);

            string jsBlock;

            ViewState["BeginTime"] = DateTime.Now.ToString();
            string strId = Request.QueryString.Get("RandomExamID");

            //获取当前考试的生成试卷的状态和次数
            RandomExamBLL objBll = new RandomExamBLL();

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

            int year      = obj.BeginTime.Year;
            int ExamCount = obj.MaxExamTimes;

            RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL();
            IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId));
            string       strChooseID = "";
            OracleAccess db          = new OracleAccess();
            OracleAccess dbCenter    = new OracleAccess(System.Configuration.ConfigurationManager.ConnectionStrings["OracleCenter"].ConnectionString);

            string strSql;

            if (ExamArranges.Count > 0)
            {
                strSql = "select a.* from Random_Exam_Arrange_Detail a "
                         + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID"
                         + " inner join Computer_Server c on c.Computer_server_ID=b.Computer_Server_ID"
                         + " where c.Computer_Server_No='" + PrjPub.ServerNo + "' "
                         + " and Random_Exam_ID=" + strId;

                DataSet ds = db.RunSqlDataSet(strSql);

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

            if (strChooseID == "")
            {
                Response.Write("<script>top.returnValue='本场考试未在本单位安排考生!';window.close();</script>");
                return;
            }

            if (db.GetCount("RANDOM_EXAM_ITEM_TEMP_" + year, "TABLE") == 0)
            {
                strSql = "create table RANDOM_EXAM_ITEM_TEMP_" + year + "  as select * from RANDOM_EXAM_ITEM_" + year + " where 1=2 ";
                db.ExecuteNonQuery(strSql);
            }
            strSql = "insert into RANDOM_EXAM_ITEM_TEMP_" + year + " select * from RANDOM_EXAM_ITEM_" + year + " where Random_Exam_ID=" + strId;
            db.ExecuteNonQuery(strSql);

            if (!PrjPub.IsServerCenter)
            {
                if (dbCenter.GetCount("RANDOM_EXAM_ITEM_TEMP_" + year, "TABLE") == 0)
                {
                    strSql = "create table RANDOM_EXAM_ITEM_TEMP_" + year + "  as select * from RANDOM_EXAM_ITEM_" + year + " where 1=2 ";
                    dbCenter.ExecuteNonQuery(strSql);
                }
                strSql = "insert into RANDOM_EXAM_ITEM_TEMP_" + year + " select * from RANDOM_EXAM_ITEM_" + year + " where Random_Exam_ID=" + strId;
                dbCenter.ExecuteNonQuery(strSql);
            }

            System.Threading.Thread.Sleep(10);
            jsBlock = "<script>SetPorgressBar('正在计算生成试卷数量,请等待......','" + ((1 * 100) / ((double)2) + "'); </script>");
            Response.Write(jsBlock);
            Response.Flush();


            //每次生成试卷之前删除已生成的考试试卷
            RandomExamResultCurrentBLL randomExamResultBLL = new RandomExamResultCurrentBLL();

            randomExamResultBLL.DelRandomExamResultCurrent(Convert.ToInt32(strId));
            System.Threading.Thread.Sleep(10);
            jsBlock = "<script>SetPorgressBar('正在计算生成试卷数量,请等待......','" + ((2 * 100) / ((double)2) + "'); </script>");
            Response.Write(jsBlock);
            Response.Flush();

            System.Threading.Thread.Sleep(200);
            jsBlock = string.Empty;

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

            RandomExamResultAnswerCurrentBLL randomExamResultAnswerBLL = new RandomExamResultAnswerCurrentBLL();
            //定义全局答卷对象List
            IList <RandomExamResultAnswerCurrent> randomExamResultAnswersCurrentAll = new List <RandomExamResultAnswerCurrent>();
            //定义一个考生一次答卷对象List
            IList <RandomExamResultAnswerCurrent> randomExamResultAnswers = null;

            int progressNum = 1;

            for (int n = 1; n <= ExamCount; n++)
            {
                for (int m = 0; m < str.Length; m++)
                {
                    RandomExamResultCurrent randomExamResult = new RandomExamResultCurrent();

                    randomExamResult.RandomExamId    = int.Parse(strId);
                    randomExamResult.AutoScore       = 0;
                    randomExamResult.BeginDateTime   = DateTime.Parse(ViewState["BeginTime"].ToString());
                    randomExamResult.CurrentDateTime = DateTime.Parse(ViewState["BeginTime"].ToString());
                    randomExamResult.ExamTime        = 0;
                    randomExamResult.EndDateTime     = DateTime.Parse(ViewState["BeginTime"].ToString());
                    randomExamResult.Score           = 0;
                    randomExamResult.OrganizationId  = int.Parse(ConfigurationManager.AppSettings["StationID"]);
                    randomExamResult.Memo            = "";
                    randomExamResult.StatusId        = 0;
                    randomExamResult.AutoScore       = 0;
                    randomExamResult.CorrectRate     = 0;
                    randomExamResult.ExamineeId      = int.Parse(str[m]);
                    randomExamResult.ExamSeqNo       = n;

                    int nRandomExamResultPK = randomExamResultBLL.AddRandomExamResultCurrent(randomExamResult);
                    ViewState["RandomExamResultPK"] = nRandomExamResultPK;

                    strSql = "select a.* from Random_Exam_Arrange_Detail a "
                             + " where ','||User_Ids||',' like '%," + str[m] + ",%' "
                             + " and Random_Exam_ID=" + strId;
                    DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0];

                    //strSql = "insert into Random_Exam_Result_Detail(Random_Exam_Result_Detail_ID,"
                    //         + "Random_Exam_Result_ID,Random_Exam_ID,Employee_ID,Computer_Room_SEAT,Computer_Room_ID) "
                    //         + "values(Random_Exam_Result_Detail_SEQ.NextVal,"
                    //         + nRandomExamResultPK + ","
                    //         + randomExamResult.RandomExamId + ","
                    //         + randomExamResult.ExamineeId + ","
                    //         + "0," + dr["Computer_Room_ID"] + ") ";
                    //db.ExecuteNonQuery(strSql);

                    strSql = "insert into Random_Exam_Result_Detail_Temp(Random_Exam_Result_Detail_ID,"
                             + "Random_Exam_Result_ID,Random_Exam_ID,Employee_ID,Computer_Room_SEAT,Computer_Room_ID,Is_Remove) "
                             + "values(Random_Exam_Result_Detail_SEQ.NextVal,"
                             + nRandomExamResultPK + ","
                             + randomExamResult.RandomExamId + ","
                             + randomExamResult.ExamineeId + ","
                             + "0," + dr["Computer_Room_ID"] + ",0) ";
                    db.ExecuteNonQuery(strSql);

                    RandomExamItemBLL     randomItemBLL = new RandomExamItemBLL();
                    RandomExamSubjectBLL  subjectBLL    = new RandomExamSubjectBLL();
                    RandomExamStrategyBLL strategyBLL   = new RandomExamStrategyBLL();

                    IList <RandomExamSubject> randomExamSubjects =
                        subjectBLL.GetRandomExamSubjectByRandomExamId(int.Parse(strId));

                    if (randomExamSubjects != null)
                    {
                        Hashtable hashTableItemIds = new Hashtable();
                        Hashtable htSubjectItemIds = new Hashtable();
                        for (int i = 0; i < randomExamSubjects.Count; i++)
                        {
                            RandomExamSubject paperSubject = randomExamSubjects[i];
                            int nSubjectId = paperSubject.RandomExamSubjectId;
                            //  int nItemCount = paperSubject.ItemCount;

                            IList <RandomExamStrategy> strategys = strategyBLL.GetRandomExamStrategys(nSubjectId);
                            for (int j = 0; j < strategys.Count; j++)
                            {
                                int nStrategyId = strategys[j].RandomExamStrategyId;
                                int nItemCount  = strategys[j].ItemCount;
                                IList <RandomExamItem> itemList = randomItemBLL.GetItemsByStrategyId(nStrategyId, year);

                                // IList<RandomExamItem> itemList = randomItemBLL.GetItemsBySubjectId(nSubjectId);

                                Random    ObjRandom      = new Random();
                                Hashtable hashTable      = new Hashtable();
                                Hashtable hashTableCount = new Hashtable();
                                int       index          = 0;
                                while (hashTable.Count < nItemCount)
                                {
                                    int k = ObjRandom.Next(itemList.Count);
                                    hashTableCount[index] = k;
                                    index = index + 1;
                                    int itemID     = itemList[k].ItemId;
                                    int examItemID = itemList[k].RandomExamItemId;
                                    if (!hashTableItemIds.ContainsKey(itemID))
                                    {
                                        hashTable[examItemID]        = examItemID;
                                        hashTableItemIds[itemID]     = itemID;
                                        htSubjectItemIds[examItemID] = examItemID;
                                    }
                                    //if (hashTableCount.Count == itemList.Count && hashTable.Count < nItemCount)
                                    //{
                                    //    SessionSet.PageMessage = "随机考试在设定的取题范围内的试题量不够,请重新设置取题范围!";
                                    //    return;
                                    //}
                                }
                            }
                        }


                        foreach (int key in htSubjectItemIds.Keys)
                        {
                            string         strItemId = htSubjectItemIds[key].ToString();
                            RandomExamItem item      = randomItemBLL.GetRandomExamItem(Convert.ToInt32(strItemId), year);

                            string nowSelectAnswer   = string.Empty;
                            string nowStandardAnswer = string.Empty;
                            if (item.TypeId != PrjPub.ITEMTYPE_FILLBLANK)
                            {
                                Pub.GetNowAnswer(item, out nowSelectAnswer, out nowStandardAnswer);
                            }

                            RandomExamResultAnswerCurrent randomExamResultAnswer = new RandomExamResultAnswerCurrent();
                            randomExamResultAnswer.RandomExamResultId = nRandomExamResultPK;
                            randomExamResultAnswer.RandomExamItemId   = int.Parse(strItemId);
                            randomExamResultAnswer.JudgeStatusId      = 0;
                            randomExamResultAnswer.JudgeRemark        = string.Empty;
                            randomExamResultAnswer.ExamTime           = 0;
                            randomExamResultAnswer.Answer             = string.Empty;
                            randomExamResultAnswer.SelectAnswer       = nowSelectAnswer;
                            randomExamResultAnswer.StandardAnswer     = nowStandardAnswer;
                            randomExamResultAnswerBLL.AddExamResultAnswerCurrent(randomExamResultAnswer);

                            //完型填空子题
                            IList <RandomExamItem> randomExamItems = randomItemBLL.GetItemsByParentItemID(item.ItemId, obj.RandomExamId, year);
                            foreach (RandomExamItem randomExamItem in randomExamItems)
                            {
                                Pub.GetNowAnswer(randomExamItem, out nowSelectAnswer, out nowStandardAnswer);

                                randomExamResultAnswer = new RandomExamResultAnswerCurrent();
                                randomExamResultAnswer.RandomExamResultId = nRandomExamResultPK;
                                randomExamResultAnswer.RandomExamItemId   = randomExamItem.RandomExamItemId;
                                randomExamResultAnswer.JudgeStatusId      = 0;
                                randomExamResultAnswer.JudgeRemark        = string.Empty;
                                randomExamResultAnswer.ExamTime           = 0;
                                randomExamResultAnswer.Answer             = string.Empty;
                                randomExamResultAnswer.SelectAnswer       = nowSelectAnswer;
                                randomExamResultAnswer.StandardAnswer     = nowStandardAnswer;
                                randomExamResultAnswerBLL.AddExamResultAnswerCurrent(randomExamResultAnswer);
                            }

                            System.Threading.Thread.Sleep(10);
                            jsBlock = "<script>SetPorgressBar('正在生成试卷,请等待......','" + ((progressNum * 100) / ((double)ExamCount * str.Length * htSubjectItemIds.Count)).ToString("0.00") + "'); </script>";
                            Response.Write(jsBlock);
                            Response.Flush();

                            progressNum++;
                        }
                    }
                    else
                    {
                        SessionSet.PageMessage = "未找到记录!";
                    }
                }
            }

            bool isRefresh = true;

            try
            {
                objBll.UpdateHasPaper(Convert.ToInt32(strId), PrjPub.ServerNo, true);
            }
            catch
            {
                strSql =
                    @"  update Random_Exam_Computer_Server set  has_paper=1
                      where random_exam_id=" + strId + @" and Computer_server_no='" + PrjPub.ServerNo + @"'";
                dbCenter.ExecuteNonQuery(strSql);
                strSql = @"select count(*)  from Random_Exam_Computer_Server where has_paper=1 and  random_exam_id=" + strId;
                int count = Convert.ToInt32(dbCenter.RunSqlDataSet(strSql).Tables[0].Rows[0][0]);
                if (count > 0)
                {
                    strSql = @"update Random_Exam set has_paper=1 where random_exam_id=" + strId;
                    dbCenter.ExecuteNonQuery(strSql);
                }
                else
                {
                    strSql = @"update Random_Exam set has_paper=0 where random_exam_id=" + strId;
                    dbCenter.ExecuteNonQuery(strSql);
                }
            }


            //如果考试是随到随考,考试状态自动变为正在进行
            if (obj.StartMode == 1)
            {
                try
                {
                    objBll.UpdateIsStart(Convert.ToInt32(strId), PrjPub.ServerNo, 1);
                    isRefresh = false;
                }
                catch
                {
                    strSql =
                        @"  update Random_Exam_Computer_Server set  Is_Start=1
                      where random_exam_id=" + strId + @" and Computer_server_no='" + PrjPub.ServerNo + @"'";
                    dbCenter.ExecuteNonQuery(strSql);
                    strSql = @"select count(*)  from Random_Exam_Computer_Server where random_exam_id=" + strId;
                    int totalcount = Convert.ToInt32(dbCenter.RunSqlDataSet(strSql).Tables[0].Rows[0][0]);
                    strSql = @"select count(*)  from Random_Exam_Computer_Server where Is_Start=0 and  random_exam_id=" + strId;
                    int count = Convert.ToInt32(dbCenter.RunSqlDataSet(strSql).Tables[0].Rows[0][0]);
                    if (totalcount == count)
                    {
                        strSql = @"update Random_Exam set Is_Start=0 where random_exam_id=" + strId;
                        dbCenter.ExecuteNonQuery(strSql);
                    }
                    else
                    {
                        strSql = @"select count(*)  from Random_Exam_Computer_Server where Is_Start=1 and  random_exam_id=" + strId;
                        count  = Convert.ToInt32(dbCenter.RunSqlDataSet(strSql).Tables[0].Rows[0][0]);
                        if (count > 0)
                        {
                            strSql = @"update Random_Exam set Is_Start=1 where random_exam_id=" + strId;
                            dbCenter.ExecuteNonQuery(strSql);
                        }
                        else
                        {
                            strSql = @"select count(*)  from Random_Exam_Computer_Server where Is_Start=2 and  random_exam_id=" + strId;
                            count  = Convert.ToInt32(dbCenter.RunSqlDataSet(strSql).Tables[0].Rows[0][0]);
                            if (count == totalcount)
                            {
                                strSql = @"update Random_Exam set Is_Start=2 where random_exam_id=" + strId;
                                dbCenter.ExecuteNonQuery(strSql);
                            }
                        }
                    }
                }
            }
            else
            {
                isRefresh = false;
            }

            if (isRefresh)
            {
                objBll.RandomExamRefresh();
            }

            SystemLogBLL objLogBll = new SystemLogBLL();

            objLogBll.WriteLog("“" + obj.ExamName + "”生成所有考试试卷");

            Response.Write("<script>top.returnValue='true';top.close();</script>");
        }
コード例 #13
0
        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();
        }
コード例 #14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                ButtonOutPutAll.Attributes.Add("onclick", "return confirm('您确定要移除全部考生吗 ?');");

                ViewState["mode"]      = Request.QueryString.Get("mode");
                ViewState["startmode"] = Request.QueryString.Get("startmode");
                if (ViewState["mode"].ToString() == "ReadOnly")
                {
                    this.btnInput.Visible        = false;
                    this.ButtonOutPut.Visible    = false;
                    this.ButtonOutPutAll.Visible = false;
                    btnSelectComputeRoom.Visible = false;
                }

                string strId = Request.QueryString.Get("id");
                if (strId != null && strId != "")
                {
                    hfExamID.Value = strId;
                    RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL();
                    IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId));

                    if (ExamArranges.Count > 0)
                    {
                        ViewState["ChooseId"]   = ExamArranges[0].UserIds;
                        ViewState["UpdateMode"] = 1;
                    }
                    else
                    {
                        ViewState["ChooseId"]   = "";
                        ViewState["UpdateMode"] = 0;
                    }

                    string       strSql = "select Org_ID,Short_Name from Org where level_num=2 order by Parent_ID,Order_Index";
                    OracleAccess db     = new OracleAccess();
                    DataSet      ds     = db.RunSqlDataSet(strSql);
                    ListItem     item   = new ListItem();
                    item.Text  = "--请选择--";
                    item.Value = "0";
                    ddlOrg.Items.Add(item);
                    bool hasOrg = false;
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        item       = new ListItem();
                        item.Text  = dr["Short_Name"].ToString();
                        item.Value = dr["org_ID"].ToString();
                        ddlOrg.Items.Add(item);

                        if (PrjPub.CurrentLoginUser.StationOrgID.ToString() == dr["org_ID"].ToString())
                        {
                            hasOrg = true;
                        }
                    }

                    //if (PrjPub.CurrentLoginUser.RoleID != 1)
                    //{
                    //    if (hasOrg)
                    //    {
                    //        ddlOrg.SelectedValue = PrjPub.CurrentLoginUser.StationOrgID.ToString();
                    //        //ddlOrg.Enabled = false;
                    //    }
                    //    else
                    //    {
                    //        ddlOrg.SelectedValue = "0";
                    //    }
                    //}
                    //else
                    //{
                    //    ddlOrg.SelectedValue = "0";
                    //}

                    ddlOrg.SelectedValue = "0";

                    //ddlOrg_SelectedIndexChanged(null, null);

                    RandomExamBLL objBll        = new RandomExamBLL();
                    bool          hasTrainClass = objBll.GetExam(Convert.ToInt32(strId)).HasTrainClass;
                    if (hasTrainClass)
                    {
                        ViewState["HasTrainClass"] = "1";
                        btnInput.Enabled           = false;
                        //ButtonOutPut.Enabled = false;
                        ButtonOutPutAll.Enabled = false;
                    }
                    else
                    {
                        ViewState["HasTrainClass"] = "0";
                    }
                }
                BindChoosedGrid(ViewState["ChooseId"].ToString());
            }

            //string strChooseID = Request.Form.Get("ChooseID");
            //if (strChooseID != "" && strChooseID != null)
            //{
            //    ViewState["ChooseId"] = strChooseID;
            //    BindChoosedGrid(ViewState["ChooseId"].ToString());
            //    SaveChoose();
            //}

            string strRefresh = Request.Form.Get("Refresh");

            if (strRefresh != "" && strRefresh != null)
            {
                string strId = Request.QueryString.Get("id");
                if (strId != null && strId != "")
                {
                    RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL();
                    IList <RailExam.Model.RandomExamArrange> ExamArranges =
                        eaBll.GetRandomExamArranges(int.Parse(strId));

                    if (ExamArranges.Count > 0)
                    {
                        ViewState["ChooseId"]   = ExamArranges[0].UserIds;
                        ViewState["UpdateMode"] = 1;
                    }
                    else
                    {
                        ViewState["ChooseId"]   = "";
                        ViewState["UpdateMode"] = 0;
                    }
                }
                BindChoosedGrid(ViewState["ChooseId"].ToString());
            }

            string strChooseExamID = Request.Form.Get("ChooseExamID");

            if (strChooseExamID != "" && strChooseExamID != null)
            {
                RandomExamArrangeBLL objBll = new RandomExamArrangeBLL();
                IList <RailExam.Model.RandomExamArrange> ExamArranges = objBll.GetRandomExamArranges(int.Parse(Request.QueryString.Get("id")));
                IList <RailExam.Model.RandomExamArrange> objList      = objBll.GetRandomExamArranges(int.Parse(strChooseExamID));
                if (ExamArranges.Count > 0)
                {
                    string[] str = ExamArranges[0].UserIds.Split(',');
                    if (objList.Count > 0)
                    {
                        for (int i = 0; i < str.Length; i++)
                        {
                            if (("," + objList[0].UserIds + ",").IndexOf("," + str[i] + ",") != -1)
                            {
                                objList[0].UserIds = ("," + objList[0].UserIds + ",").Replace("," + str[i] + ",", ",");
                            }
                        }

                        if (ExamArranges[0].UserIds == "")
                        {
                            ViewState["ChooseId"] = objList[0].UserIds.TrimEnd(',').TrimStart(',');
                        }
                        else
                        {
                            if (objList[0].UserIds.TrimEnd(',').TrimStart(',') == "")
                            {
                                ViewState["ChooseId"] = ExamArranges[0].UserIds;
                            }
                            else
                            {
                                ViewState["ChooseId"] = ExamArranges[0].UserIds + "," + objList[0].UserIds.TrimEnd(',').TrimStart(',');
                            }
                        }
                    }
                    else
                    {
                        ViewState["ChooseId"] = ExamArranges[0].UserIds;
                    }
                    ViewState["UpdateMode"] = 1;
                }
                else
                {
                    if (objList.Count > 0)
                    {
                        ViewState["ChooseId"] = objList[0].UserIds;
                    }
                    else
                    {
                        ViewState["ChooseId"] = "";
                    }
                    ViewState["UpdateMode"] = 0;
                }
                BindChoosedGrid(ViewState["ChooseId"].ToString());
                SaveChoose();
            }

            string strRefreshArrange = Request.Form.Get("RefreshArrange");

            if (strRefreshArrange != "" && strRefreshArrange != null)
            {
                BindChoosedGrid(ViewState["ChooseId"].ToString());

                if (CheckIsAllArrange())
                {
                    string strSql = " update Random_Exam set Is_All_Arrange=1 where Random_Exam_ID=" +
                                    Request.QueryString.Get("id");
                    OracleAccess db = new OracleAccess();
                    db.ExecuteNonQuery(strSql);
                }
            }

            if (Request.Form.Get("StudentInfo") != null && Request.Form.Get("StudentInfo") != "")
            {
                DownloadStudentInfoExcel();
            }
        }
コード例 #15
0
        private void ExportArrange()
        {
            // 根据 ProgressBar.htm 显示进度条界面
            string       templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm");
            StreamReader reader           = new StreamReader(@templateFileName, System.Text.Encoding.GetEncoding("gb2312"));
            string       html             = reader.ReadToEnd();

            reader.Close();
            Response.Write(html);
            Response.Flush();
            System.Threading.Thread.Sleep(200);

            string strExamId = Request.QueryString.Get("id");

            RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL();
            IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strExamId));

            RandomExamBLL objBll = new RandomExamBLL();

            RailExam.Model.RandomExam objRandomExam = objBll.GetExam(Convert.ToInt32(Request.QueryString.Get("id")));

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

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

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

                OrganizationBLL orgBll = new OrganizationBLL();
                for (int i = 0; i < str.Length; i++)
                {
                    Employee obj = psBLL.GetChooseEmployeeInfo(str[i]);
                    obj.RowNum = i + 1;

                    if (PrjPub.CurrentLoginUser.RoleID != 1)
                    {
                        if (orgBll.GetStationOrgID(obj.OrgID) == PrjPub.CurrentLoginUser.StationOrgID)
                        {
                            objList.Add(obj);
                        }
                    }
                    else
                    {
                        objList.Add(obj);
                    }
                }

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

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

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

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

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

                System.Threading.Thread.Sleep(10);
                string jsBlock = "<script>SetPorgressBar('导出考生信息','" + ((1 * 100) / ((double)(ds.Tables[0].Rows.Count + 1))).ToString("0.00") + "'); </script>";
                Response.Write(jsBlock);
                Response.Flush();

                #region OWC11

                /*
                 * SpreadsheetClass xlsheet = new SpreadsheetClass();
                 * Worksheet ws = (Worksheet)xlsheet.Worksheets[1];
                 * ws.Cells.Font.set_Size(10);
                 * ws.Cells.Font.set_Name("宋体");
                 *
                 * ws.Cells[1, 1] = objRandomExam.ExamName + " 参加考试学员名单";
                 * Range range = ws.get_Range(ws.Cells[1, 1], ws.Cells[1, 7]);
                 * range.set_MergeCells(true);
                 * range.set_HorizontalAlignment(XlHAlign.xlHAlignCenter);
                 * range.Font.set_Name("宋体");
                 *
                 *
                 * //write headertext
                 * ws.Cells[2, 1] = "序号";
                 * ((Range)ws.Cells[2, 1]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter);
                 *
                 *
                 * ws.Cells[2, 2] = "姓名";
                 * ws.get_Range(ws.Cells[2, 2], ws.Cells[2, 2]).set_MergeCells(true);
                 * ws.get_Range(ws.Cells[2, 2], ws.Cells[2, 2]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter);
                 *
                 * if (PrjPub.IsWuhan())
                 * {
                 *  ws.Cells[2, 3] = "员工编码";
                 * }
                 * else
                 * {
                 *  ws.Cells[2, 3] = "工资编号";
                 * }
                 * ws.get_Range(ws.Cells[2, 3], ws.Cells[2, 3]).set_MergeCells(true);
                 * ws.get_Range(ws.Cells[2, 3], ws.Cells[2, 3]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter);
                 *
                 * ws.Cells[2, 4] = "职名";
                 * ws.get_Range(ws.Cells[2, 4], ws.Cells[2, 4]).set_MergeCells(true);
                 * ws.get_Range(ws.Cells[2, 4], ws.Cells[2, 4]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter);
                 *
                 * ws.Cells[2, 5] = "组织机构";
                 * ws.get_Range(ws.Cells[2, 5], ws.Cells[2, 7]).set_MergeCells(true);
                 * ws.get_Range(ws.Cells[2, 5], ws.Cells[2, 7]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter);
                 *
                 * ws.Cells[2, 8] = "考试地点";
                 * ws.get_Range(ws.Cells[2, 8], ws.Cells[2, 10]).set_MergeCells(true);
                 * ws.get_Range(ws.Cells[2, 8], ws.Cells[2, 10]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter);
                 *
                 * int j = 0;
                 * foreach(DataRow dr in ds.Tables[0].Rows)
                 * {
                 *  ws.Cells[3 + j, 1] = j + 1;
                 *
                 *  ws.Cells[3 + j, 2] = dr["EmployeeName"].ToString();
                 *  ws.get_Range(ws.Cells[3 + j, 2], ws.Cells[3 + j, 2]).set_MergeCells(true);
                 *  ws.get_Range(ws.Cells[3 + j, 2], ws.Cells[3 + j, 2]).set_HorizontalAlignment(XlHAlign.xlHAlignLeft);
                 *
                 *  ws.Cells[3 + j, 3] = "'" + dr["StrWorkNo"].ToString();
                 *  ws.get_Range(ws.Cells[3 + j, 3], ws.Cells[3 + j, 3]).set_MergeCells(true);
                 *  ws.get_Range(ws.Cells[3 + j, 3], ws.Cells[3 + j, 3]).set_HorizontalAlignment(XlHAlign.xlHAlignLeft);
                 *
                 *
                 *  ws.Cells[3 + j, 4] = dr["PostName"].ToString();
                 *  ws.get_Range(ws.Cells[3 + j, 4], ws.Cells[3 + j, 4]).set_MergeCells(true);
                 *  ws.get_Range(ws.Cells[3 + j, 4], ws.Cells[3 + j, 4]).set_HorizontalAlignment(XlHAlign.xlHAlignLeft);
                 *
                 *  ws.Cells[3 + j, 5] = dr["OrgName"].ToString();
                 *  ws.get_Range(ws.Cells[3 + j, 5], ws.Cells[3 + j, 7]).set_MergeCells(true);
                 *  ws.get_Range(ws.Cells[3 + j, 5], ws.Cells[3 + j, 7]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter);
                 *
                 *  ws.Cells[3 + j, 8] = dr["ComputeRoom"].ToString();
                 *  ws.get_Range(ws.Cells[3 + j, 8], ws.Cells[3 + j, 10]).set_MergeCells(true);
                 *  ws.get_Range(ws.Cells[3 + j, 8], ws.Cells[3 + j, 10]).set_HorizontalAlignment(XlHAlign.xlHAlignCenter);
                 *
                 *  j++;
                 *
                 *  System.Threading.Thread.Sleep(10);
                 *  jsBlock = "<script>SetPorgressBar('导出考生信息','" + (((j + 1) * 100) / ((double)(ds.Tables[0].Rows.Count + 1))).ToString("0.00") + "'); </script>";
                 *  Response.Write(jsBlock);
                 *  Response.Flush();
                 * }
                 *
                 * ws.Name = "1-1";
                 * ws.Cells.Columns.AutoFit();
                 *
                 *
                 * ((Worksheet)xlsheet.Worksheets[1]).Activate();
                 *
                 * string path = Server.MapPath("../Excel/Excel.xls");
                 * if (File.Exists(path))
                 *  File.Delete(path);
                 * xlsheet.Export(path, SheetExportActionEnum.ssExportActionNone, SheetExportFormat.ssExportAsAppropriate);
                 */
                #endregion

                Excel.Application objApp   = new Excel.ApplicationClass();
                Excel.Workbooks   objbooks = objApp.Workbooks;
                Excel.Workbook    objbook  = objbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
                Excel.Worksheet   objSheet = (Excel.Worksheet)objbook.Worksheets[1];              //取得sheet1
                Excel.Range       rang1;
                string            filename = "";

                try
                {
                    //生成.xls文件完整路径名
                    filename = Server.MapPath("/RailExamBao/Excel/Excel.xls");

                    if (File.Exists(filename.ToString()))
                    {
                        File.Delete(filename.ToString());
                    }
                    objSheet.Cells.Font.Size = 10;
                    objSheet.Cells.Font.Name = "宋体";

                    objSheet.Cells[1, 1] = objRandomExam.ExamName + " 参加考试学员名单";
                    rang1 = objSheet.get_Range(objSheet.Cells[1, 1], objSheet.Cells[1, 6]);
                    rang1.Merge(0);
                    rang1.HorizontalAlignment = XlHAlign.xlHAlignCenter;
                    rang1.Font.Bold           = true;
                    objSheet.Cells.Font.Size  = 17;
                    objSheet.Cells.Font.Name  = "宋体";


                    objSheet.Cells.Font.Size = 12;
                    objSheet.Cells.Font.Name = "宋体";

                    //write headertext
                    objSheet.Cells[2, 1] = "序号";
                    ((Excel.Range)objSheet.Cells[2, 1]).HorizontalAlignment = XlHAlign.xlHAlignCenter;


                    objSheet.Cells[2, 2] = "姓名";
                    objSheet.get_Range(objSheet.Cells[2, 2], objSheet.Cells[2, 2]).Merge(0);
                    objSheet.get_Range(objSheet.Cells[2, 2], objSheet.Cells[2, 2]).HorizontalAlignment = XlHAlign.xlHAlignCenter;

                    objSheet.Cells[2, 3] = "员工编码";
                    objSheet.get_Range(objSheet.Cells[2, 3], objSheet.Cells[2, 3]).Merge(0);
                    objSheet.get_Range(objSheet.Cells[2, 3], objSheet.Cells[2, 3]).HorizontalAlignment = XlHAlign.xlHAlignCenter;

                    objSheet.Cells[2, 4] = "职名";
                    objSheet.get_Range(objSheet.Cells[2, 4], objSheet.Cells[2, 4]).Merge(0);
                    objSheet.get_Range(objSheet.Cells[2, 4], objSheet.Cells[2, 4]).HorizontalAlignment = XlHAlign.xlHAlignCenter;

                    objSheet.Cells[2, 5] = "组织机构(车间)";
                    objSheet.get_Range(objSheet.Cells[2, 5], objSheet.Cells[2, 5]).Merge(0);
                    objSheet.get_Range(objSheet.Cells[2, 5], objSheet.Cells[2, 5]).HorizontalAlignment = XlHAlign.xlHAlignCenter;

                    objSheet.Cells[2, 6] = "考试地点";
                    objSheet.get_Range(objSheet.Cells[2, 6], objSheet.Cells[2, 6]).Merge(0);
                    objSheet.get_Range(objSheet.Cells[2, 6], objSheet.Cells[2, 6]).HorizontalAlignment = XlHAlign.xlHAlignCenter;

                    int j = 0;
                    foreach (DataRow dr in ds.Tables[0].Rows)
                    {
                        objSheet.Cells[3 + j, 1] = j + 1;

                        objSheet.Cells[3 + j, 2] = dr["EmployeeName"].ToString();
                        objSheet.get_Range(objSheet.Cells[6 + j, 2], objSheet.Cells[6 + j, 2]).Merge(0);
                        objSheet.get_Range(objSheet.Cells[6 + j, 2], objSheet.Cells[6 + j, 2]).HorizontalAlignment =
                            XlHAlign.xlHAlignLeft;

                        objSheet.Cells[3 + j, 3] = "'" + dr["StrWorkNo"].ToString();
                        objSheet.get_Range(objSheet.Cells[3 + j, 3], objSheet.Cells[3 + j, 3]).Merge(0);
                        objSheet.get_Range(objSheet.Cells[3 + j, 3], objSheet.Cells[3 + j, 3]).HorizontalAlignment =
                            XlHAlign.xlHAlignLeft;

                        objSheet.Cells[3 + j, 4] = dr["PostName"].ToString();
                        objSheet.get_Range(objSheet.Cells[3 + j, 4], objSheet.Cells[3 + j, 4]).Merge(0);
                        objSheet.get_Range(objSheet.Cells[3 + j, 4], objSheet.Cells[3 + j, 4]).HorizontalAlignment = XlHAlign.xlHAlignLeft;


                        objSheet.Cells[3 + j, 5] = dr["OrgName"].ToString();
                        objSheet.get_Range(objSheet.Cells[3 + j, 5], objSheet.Cells[3 + j, 5]).Merge(0);
                        objSheet.get_Range(objSheet.Cells[3 + j, 5], objSheet.Cells[3 + j, 5]).HorizontalAlignment = XlHAlign.xlHAlignLeft;

                        objSheet.Cells[3 + j, 6] = dr["ComputeRoom"].ToString();
                        objSheet.get_Range(objSheet.Cells[3 + j, 6], objSheet.Cells[3 + j, 6]).Merge(0);
                        objSheet.get_Range(objSheet.Cells[3 + j, 6], objSheet.Cells[3 + j, 6]).HorizontalAlignment =
                            XlHAlign.xlHAlignLeft;

                        j++;

                        System.Threading.Thread.Sleep(10);
                        jsBlock = "<script>SetPorgressBar('导出考生信息','" + (((j + 1) * 100) / ((double)(ds.Tables[0].Rows.Count + 1))).ToString("0.00") + "'); </script>";
                        Response.Write(jsBlock);
                        Response.Flush();
                    }

                    objSheet.Cells.Columns.AutoFit();

                    objApp.Visible = false;

                    objbook.Saved = true;
                    objbook.SaveCopyAs(filename);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    objbook.Close(Type.Missing, filename, Type.Missing);
                    objbooks.Close();
                    objApp.Application.Workbooks.Close();
                    objApp.Application.Quit();
                    objApp.Quit();
                    GC.Collect();
                }
            }

            Response.Write("<script>top.returnValue='true';window.close();</script>");
        }
コード例 #16
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);
        }
コード例 #17
0
        protected void btnOK_Click(object sener, EventArgs e)
        {
            if (ddlCompute.SelectedValue == "0")
            {
                SessionSet.PageMessage = "请选择微机教室!";
                return;
            }

            string strID = Request.QueryString.Get("id");

            string strUserIds = hfUserId.Value;

            RandomExamArrangeBLL arrangeBll        = new RandomExamArrangeBLL();
            RandomExamArrange    randomExamArrange = arrangeBll.GetRandomExamArranges(Convert.ToInt32(strID))[0];

            //查询当前考试在所选微机教室下是否存在考生安排明细,如果存在则需要先删除
            string strSql = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strID +
                            " and Computer_Room_ID=" + ddlCompute.SelectedValue;
            OracleAccess db = new OracleAccess();
            DataSet      ds = db.RunSqlDataSet(strSql);

            if (ds.Tables[0].Rows.Count > 0)
            {
                //删除前,先记录原已安排在所选危机教室的考生,并与新安排的考生信息拼接起来
                string   strOldIds = ds.Tables[0].Rows[0]["User_Ids"].ToString();
                string[] strOld    = strOldIds.Split(',');
                for (int j = 0; j < strOld.Length; j++)
                {
                    if (("|" + strUserIds + "|").IndexOf("|" + strOld[j] + "|") < 0)
                    {
                        strUserIds += "|" + strOld[j];
                    }
                }

                //删除
                strSql = "delete from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strID +
                         " and Computer_Room_ID=" + ddlCompute.SelectedValue;
                db.ExecuteNonQuery(strSql);
            }


            //查询当前考试不在本危机教室下的考生安排明细
            strSql = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strID +
                     " and Computer_Room_ID<>" + ddlCompute.SelectedValue;
            DataSet dsOther = db.RunSqlDataSet(strSql);

            //遍历当前需要重新安排的考生信息,查询其他考生安排明细是否存在当前需要重新安排的考生,如果存在则需修改去除该考生
            string[] str = strUserIds.Split('|');
            for (int i = 0; i < str.Length; i++)
            {
                string    strReplace = "," + str[i] + ",";
                DataRow[] drs        = dsOther.Tables[0].Select("','+User_Ids+',' like '%" + strReplace + "%'");

                if (drs.Length > 0)
                {
                    strSql = "update Random_Exam_Arrange_Detail "
                             + "set User_ids = substr(Replace(','||User_ids||',','" + strReplace + "',','),2,length(Replace(','||User_ids||',','" + strReplace + "',','))-2) "
                             + "where  ','|| User_ids || ',' like '%" + strReplace + "%' and Random_Exam_ID=" + strID +
                             " and Computer_Room_ID<>" + ddlCompute.SelectedValue;

                    db.ExecuteNonQuery(strSql);
                }
            }

            //最后删除User_ids为空的考生安排明细信息
            strSql = "delete from Random_Exam_Arrange_Detail where User_ids is null  and Random_Exam_ID=" + strID
                     + " and Computer_Room_ID<>" + ddlCompute.SelectedValue;
            db.ExecuteNonQuery(strSql);


            //添加
            XmlDocument doc = new XmlDocument();

            doc.Load(Path.Combine(HttpContext.Current.Request.PhysicalApplicationPath, "web.config"));
            XmlNode node  = doc.SelectSingleNode("configuration/dataConfiguration/@defaultDatabase");
            string  value = node.Value;
            int     id    = 0;

            if (value == "Oracle")
            {
                OracleParameter para1 = new OracleParameter("p_User_Ids", OracleType.Clob);
                OracleParameter para2 = new OracleParameter("p_random_exam_arrange_de_id", OracleType.Number);
                para2.Direction = ParameterDirection.Output;
                OracleParameter para3 = new OracleParameter("p_random_exam_arrange_Id", OracleType.Number);
                para3.Value = randomExamArrange.RandomExamArrangeId;
                OracleParameter para4 = new OracleParameter("p_random_Exam_ID", OracleType.Number);
                para4.Value = Convert.ToInt32(strID);
                OracleParameter para5 = new OracleParameter("p_computer_room_id", OracleType.Number);
                para5.Value = Convert.ToInt32(ddlCompute.SelectedValue);


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


            //向Random_Exam_Computer_Server 机房考试状态表 插入记录,每个相关的服务器都有一条记录
            strSql = "select c.Computer_Server_No from Random_Exam_Arrange_Detail a "
                     + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID "
                     + " inner join Computer_Server c on c.Computer_Server_ID=b.Computer_Server_ID "
                     + " where a.Random_Exam_ID=" + strID;
            DataSet dsComputer = db.RunSqlDataSet(strSql);

            strSql = "select * from Random_Exam_Computer_Server "
                     + " where Random_Exam_ID=" + strID;
            DataSet dsServer = db.RunSqlDataSet(strSql);

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

            //删除没有相关微机教室的Random_Exam_Computer_Server数据
            strSql =
                @"delete from random_exam_computer_server 
                    where Random_Exam_ID=" + strID + @"
                    and Computer_Server_No not in (select  to_number(c.Computer_Server_No)
                    from Random_Exam_Arrange_Detail a
                    inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID
                    inner join Computer_Server c on b.Computer_Server_ID=c.Computer_Server_ID
                    where Random_Exam_ID=" + strID + @")";
            db.ExecuteNonQuery(strSql);

            //判断是否所有考生都被安排微机教室
            int totalCount = randomExamArrange.UserIds.Split(',').Length;
            int nowCount   = 0;

            strSql = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strID;
            DataSet dsNow = db.RunSqlDataSet(strSql);

            foreach (DataRow dr in dsNow.Tables[0].Rows)
            {
                nowCount += dr["User_Ids"].ToString().Split(',').Length;
            }
            if (totalCount == nowCount)
            {
                strSql = "update Random_Exam set Is_All_Arrange=1 where Random_Exam_ID=" + strID;
                db.ExecuteNonQuery(strSql);
            }

            //更新一次微机教室,将考试版本提高一级
            strSql = "update Random_Exam set version=version+1 where Random_Exam_ID=" +
                     Request.QueryString.Get("id");
            db.ExecuteNonQuery(strSql);


            Response.Write("<script>window.returnValue = 'true',window.close();</script>");
        }
コード例 #18
0
        protected void btnSave_Click(object sender, ImageClickEventArgs e)
        {
            DataTable dataTable = BindGrid();

            if (txtMET2.Text == "")
            {
                txtMET2.Text = "1";
            }

            if (!rbnSubject1.Checked && !rbnSubject2.Checked)
            {
                SessionSet.PageMessage = "请选择考试科目类别!";
                return;
            }

            RandomExamBLL examBLL = new RandomExamBLL();

            RailExam.Model.RandomExam exam = new RailExam.Model.RandomExam();

            string strID        = string.Empty;
            string strMode      = ViewState["mode"].ToString();
            string strStartMode = ViewState["startmode"].ToString();

            RandomExamTrainClassHaBLL objTrainClassBll = new RandomExamTrainClassHaBLL();

            string[] strPost         = hfPostID.Value.Split(',');
            string   strErrorMessage = "";

            if (strMode == "Insert")
            {
                if (chkHasTrainClass.Checked)
                {
                    foreach (DataRow dr in dataTable.Rows)
                    {
                        for (int i = 0; i < strPost.Length; i++)
                        {
                            IList <RandomExamTrainClassHa> objList =
                                objTrainClassBll.GetRandomExamTrainClassCount(dr["TrainClassID"].ToString(),
                                                                              rbnSubject1.Checked?1:2,
                                                                              Convert.ToInt32(strPost[i]));
                            if (objList.Count > 0)
                            {
                                strErrorMessage = "培训班“" + dr["TrainClassName"] + "”的考试科目“" + (rbnSubject1.Checked ? "安全" : "理论") + "”已新增当前所选职名的试卷!";
                            }
                        }
                    }
                }

                if (strErrorMessage != "")
                {
                    SessionSet.PageMessage = strErrorMessage;
                    return;
                }

                if (DateTime.Parse(dateBeginTime.DateValue.ToString()) < DateTime.Today)
                {
                    SessionSet.PageMessage = "开始时间不能小于当前日期!";
                    return;
                }

                exam.CategoryId   = int.Parse(hfCategoryId.Value);
                exam.ExamName     = txtExamName.Text;
                exam.Memo         = txtMemo.Text;
                exam.CreatePerson = PrjPub.CurrentLoginUser.EmployeeName;
                exam.ExamModeId   = 1;
                exam.PassScore    = Convert.ToDecimal(txtPassScore.Text);

                if (rbnExamMode1.Checked)
                {
                    exam.IsComputerExam = true;
                }
                else
                {
                    exam.IsComputerExam = false;
                }

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

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

                exam.IsAutoScore    = chAutoScore.Checked;
                exam.CanSeeAnswer   = chSeeAnswer.Checked;
                exam.CanSeeScore    = chSeeScore.Checked;
                exam.IsPublicScore  = chPublicScore.Checked;
                exam.IsUnderControl = chUD.Checked;
                exam.MaxExamTimes   = int.Parse(txtMET2.Text);
                if (rbnSubject1.Checked)
                {
                    exam.MinExamTimes = 1;
                }
                else if (rbnSubject2.Checked)
                {
                    exam.MinExamTimes = 2;
                }

                exam.BeginTime        = DateTime.Parse(dateBeginTime.DateValue.ToString());
                exam.EndTime          = DateTime.Parse(dateEndTime.DateValue.ToString());
                exam.ExamTypeId       = 1;
                exam.CreateTime       = DateTime.Now;
                exam.Description      = txtDescription.Text;
                exam.ExamTime         = int.Parse(txtExamTime.Text);
                exam.StatusId         = 1;
                exam.PostID           = hfPostID.Value;
                exam.TechnicianTypeID = Convert.ToInt32(ddlTech.SelectedValue);
                exam.IsGroupLeader    = Convert.ToInt32(ddlIsGroup.SelectedValue);

                exam.AutoSaveInterval = 0;
                exam.OrgId            = PrjPub.CurrentLoginUser.StationOrgID;
                exam.HasTrainClass    = chkHasTrainClass.Checked;

                int id = examBLL.AddExam(exam);
                strID = id.ToString();

                //当考试来源为培训班时,需自动添加考生。
                if (chkHasTrainClass.Checked)
                {
                    foreach (DataRow dr in dataTable.Rows)
                    {
                        RandomExamTrainClassHa obj = new RandomExamTrainClassHa();
                        obj.RandomExamID = Convert.ToInt32(strID);
                        obj.ArchivesID   = dr["TrainClassID"].ToString();
                        objTrainClassBll.AddRandomExamTrainClass(obj);
                    }
                    //ClientScript.RegisterStartupScript(GetType(),
                    //    "jsSelectFirstNode",
                    //    @"SaveArrange(" + strID + ",'" + strStartMode + "','" + strMode + "');",
                    //    true);

                    string strClause = strID + "|" + strStartMode + "|" + strMode;
                    ClientScript.RegisterStartupScript(GetType(), "import", "inputCallback.callback('" + strClause + "');", true);
                }
                else
                {
                    Response.Redirect("RandomExamSubjectInfo.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID);
                }
            }
            else if (strMode == "Edit")
            {
                strID = Request.QueryString.Get("id");

                if (chkHasTrainClass.Checked && (ViewState["TrainClass"].ToString() != hfTrainClassID.Value || ViewState["Subject"].ToString() != (rbnSubject1.Checked ? 1 : 2).ToString()))
                {
                    foreach (DataRow dr in dataTable.Rows)
                    {
                        for (int i = 0; i < strPost.Length; i++)
                        {
                            IList <RandomExamTrainClassHa> objList =
                                objTrainClassBll.GetRandomExamTrainClassCount(dr["TrainClassID"].ToString(),
                                                                              rbnSubject1.Checked ? 1 : 2,
                                                                              Convert.ToInt32(strPost[i]));
                            if (objList.Count > 0)
                            {
                                if (objList[0].RandomExamID.ToString() != strID)
                                {
                                    strErrorMessage = "培训班“" + dr["TrainClassName"] + "”的考试科目“" + (rbnSubject1.Checked ? "安全" : "理论") + "”已新增当前所选职名的试卷!";
                                }
                            }
                        }
                    }
                }

                if (strErrorMessage != "")
                {
                    SessionSet.PageMessage = strErrorMessage;
                    return;
                }

                if (DateTime.Parse(dateBeginTime.DateValue.ToString()) < DateTime.Today && ViewState["BeginTime"].ToString() != dateBeginTime.DateValue.ToString())
                {
                    SessionSet.PageMessage = "开始时间不能小于当前日期!";
                    return;
                }


                exam.ExamName     = txtExamName.Text;
                exam.Memo         = txtMemo.Text;
                exam.RandomExamId = int.Parse(strID);
                exam.ExamTime     = int.Parse(txtExamTime.Text);
                exam.ExamModeId   = 1;
                exam.PassScore    = Convert.ToDecimal(txtPassScore.Text);

                if (rbnExamMode1.Checked)
                {
                    exam.IsComputerExam = true;
                }
                else
                {
                    exam.IsComputerExam = false;
                }

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

                if (rbnStyle1.Checked)
                {
                    exam.ExamStyle = 1;
                }
                else
                {
                    exam.ExamStyle = 2;
                }
                exam.BeginTime = DateTime.Parse(dateBeginTime.DateValue.ToString());
                exam.EndTime   = DateTime.Parse(dateEndTime.DateValue.ToString());

                exam.IsAutoScore    = chAutoScore.Checked;
                exam.CanSeeAnswer   = chSeeAnswer.Checked;
                exam.CanSeeScore    = chSeeScore.Checked;
                exam.IsPublicScore  = chPublicScore.Checked;
                exam.IsUnderControl = chUD.Checked;
                exam.MaxExamTimes   = int.Parse(txtMET2.Text);
                if (rbnSubject1.Checked)
                {
                    exam.MinExamTimes = 1;
                }
                else if (rbnSubject2.Checked)
                {
                    exam.MinExamTimes = 2;
                }
                exam.ExamTypeId       = 1;
                exam.Description      = txtDescription.Text;
                exam.AutoSaveInterval = 0;
                exam.PostID           = hfPostID.Value;
                exam.TechnicianTypeID = Convert.ToInt32(ddlTech.SelectedValue);
                exam.IsGroupLeader    = Convert.ToInt32(ddlIsGroup.SelectedValue);

                RandomExamArrangeBLL objArrangeBll = new RandomExamArrangeBLL();
                //当是否为培训班改变或所选培训班改变时,需删除考试安排
                if (Convert.ToBoolean(ViewState["HasTrainClass"].ToString()) != chkHasTrainClass.Checked ||
                    ViewState["TrainClass"].ToString() != hfTrainClassID.Value || ViewState["PostID"].ToString() != hfPostID.Value)
                {
                    objArrangeBll.DeleteRandomExamArrangeByRandomExamID(Convert.ToInt32(strID));
                }

                if ((Convert.ToBoolean(ViewState["HasTrainClass"].ToString()) != chkHasTrainClass.Checked && !chkHasTrainClass.Checked) || ViewState["TrainClass"].ToString() != hfTrainClassID.Value)
                {
                    objTrainClassBll.DeleteRandomExamTrainClassByRandomExamID(Convert.ToInt32(strID));
                }

                exam.HasTrainClass = chkHasTrainClass.Checked;
                examBLL.UpdateExam(exam);
                examBLL.UpdateVersion(Convert.ToInt32(strID));

                if (chkHasTrainClass.Checked)
                {
                    if (ViewState["TrainClass"].ToString() != hfTrainClassID.Value || ViewState["PostID"].ToString() != hfPostID.Value)
                    {
                        foreach (DataRow dr in dataTable.Rows)
                        {
                            RandomExamTrainClassHa obj = new RandomExamTrainClassHa();
                            obj.RandomExamID = Convert.ToInt32(strID);
                            obj.ArchivesID   = dr["TrainClassID"].ToString();
                            objTrainClassBll.AddRandomExamTrainClass(obj);
                        }

                        //ClientScript.RegisterStartupScript(GetType(),
                        //"jsSelectFirstNode",
                        //@"SaveArrange(" + strID + ",'" + strStartMode + "','" + strMode + "');",
                        //true);

                        string strClause = strID + "|" + strStartMode + "|" + strMode;
                        ClientScript.RegisterStartupScript(GetType(), "import", "inputCallback.callback('" + strClause + "');", true);
                    }
                    else
                    {
                        Response.Redirect("RandomExamSubjectInfo.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID);
                    }
                }
                else
                {
                    Response.Redirect("RandomExamSubjectInfo.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID);
                }
            }
            else
            {
                strID = Request.QueryString.Get("id");
                Response.Redirect("RandomExamSubjectInfo.aspx?startmode=" + strStartMode + "&mode=" + strMode + "&id=" + strID);
            }
        }
コード例 #19
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 = "复制失败!";
            }
        }
コード例 #20
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
        }
コード例 #21
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ButtonInputAll.Attributes.Add("onclick", "return confirm('加入上面列表显示的全部考生可能需要较长时间,您确认吗 ?');");

                if (!string.IsNullOrEmpty(Request.QueryString.Get("selectType")))
                {
                    ButtonInputAll.Visible = false;
                }

                string strId = Request.QueryString.Get("id");
                ViewState["ExamID"] = strId;
                if (strId != null && strId != "")
                {
                    RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL();
                    IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId));

                    if (ExamArranges.Count > 0)
                    {
                        ViewState["ChooseId"]   = ExamArranges[0].UserIds;
                        ViewState["UpdateMode"] = 1;
                    }
                    else
                    {
                        ViewState["ChooseId"]   = "";
                        ViewState["UpdateMode"] = 0;
                    }
                }

                BindStationStart();
                BindOrgStart();
                BindWorkShopStart();
                BindSystemStart();
                BindTypeStart();
                BindPostStart();

                ListItem item = new ListItem();
                item.Text  = "--请选择--";
                item.Value = "-1";
                ddlSafe.Items.Add(item);

                OracleAccess db     = new OracleAccess();
                string       strSql = "select * from ZJ_Safe_Level order by Order_Index";
                DataSet      ds     = db.RunSqlDataSet(strSql);
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    item       = new ListItem();
                    item.Text  = dr["Safe_Level_Name"].ToString();
                    item.Value = dr["Safe_Level_ID"].ToString();
                    ddlSafe.Items.Add(item);
                }

                if (PrjPub.CurrentLoginUser.SuitRange != 1)
                {
                    ddlStation.SelectedValue = PrjPub.CurrentLoginUser.StationOrgID.ToString();
                    OrganizationBLL      objBll  = new OrganizationBLL();
                    IList <Organization> objList =
                        objBll.GetOrganizationsByParentID(Convert.ToInt32(ddlStation.SelectedValue));
                    foreach (Organization organization in objList)
                    {
                        item       = new ListItem();
                        item.Value = organization.OrganizationId.ToString();
                        item.Text  = organization.ShortName;
                        ddlWorkShop.Items.Add(item);
                    }
                }

                ViewState["StartRow"] = 0;
                ViewState["EndRow"]   = Grid1.PageSize;

                ViewState["EmploySortField"] = "nlssort(a.employee_name,'NLS_SORT=SCHINESE_PINYIN_M')";

                RecordCount = GetCount();
                //计算总页数(加上OverPage()函数防止有余数造成显示数据不完整)
                PageCount = RecordCount / Grid1.PageSize + OverPage();
                ViewState["RecordCount"] = RecordCount;
                //保存总页参数到ViewState(减去ModPage()函数防止SQL语句执行时溢出查询范围,可以用存储过程分页算法来理解这句)
                ViewState["PageCounts"] = RecordCount / Grid1.PageSize - ModPage();
                //保存一个为0的页面索引值到ViewState
                ViewState["PageIndex"] = 0;
                //保存PageCount到ViewState,跳页时判断用户输入数是否超出页码范围
                ViewState["JumpPages"] = PageCount;
                //显示LPageCount、LRecordCount的状态
                this.lbPageCount.Text   = PageCount.ToString();
                this.lbRecordCount.Text = RecordCount.ToString();
                //判断跳页文本框失效
                if (RecordCount <= Grid1.PageSize)
                {
                    btnJumpPage.Enabled = false;
                }
                else
                {
                    btnJumpPage.Enabled = true;
                }

                BindGrid(ViewState["EmploySortField"].ToString());
            }
        }
コード例 #22
0
        private void GetPaperAfter()
        {
            // 根据 ProgressBar.htm 显示进度条界面
            string       templateFileName = Path.Combine(Server.MapPath("."), "ProgressBar.htm");
            StreamReader reader           = new StreamReader(@templateFileName, System.Text.Encoding.GetEncoding("gb2312"));
            string       html             = reader.ReadToEnd();

            reader.Close();
            Response.Write(html);
            Response.Flush();
            System.Threading.Thread.Sleep(200);

            ViewState["BeginTime"] = DateTime.Now.ToString();
            string strId = Request.QueryString.Get("RandomExamID");

            //获取当前考试的生成试卷的状态和次数
            RandomExamBLL objBll = new RandomExamBLL();

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

            int year      = obj.BeginTime.Year;
            int ExamCount = obj.MaxExamTimes;

            System.Threading.Thread.Sleep(10);
            string jsBlock = "<script>SetPorgressBar('正在计算生成试卷数量,请等待......','" + ((1 * 100) / ((double)1) + "'); </script>");

            Response.Write(jsBlock);
            Response.Flush();

            if (!PrjPub.IsServerCenter)
            {
                RandomExamArrangeBLL objArrangeBll = new RandomExamArrangeBLL();
                objArrangeBll.RefreshRandomExamArrange();
            }

            //RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL();
            //IList<RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId));
            //string strChooseID = "";
            //if (ExamArranges.Count > 0)
            //{
            //    strChooseID = ExamArranges[0].UserIds;
            //}
            //else
            //{
            //    strChooseID = "";
            //}

            //RandomExamResultCurrentBLL objResultCurrentBll = new RandomExamResultCurrentBLL();
            //IList<RandomExamResultCurrent> examResults = objResultCurrentBll.GetRandomExamResultInfo(Convert.ToInt32(strId));
            //for (int i = 0; i < examResults.Count; i++)
            //{
            //    strChooseID = ("," + strChooseID + ",").Replace("," + examResults[i].ExamineeId + ",", ",");
            //}

            //strChooseID = strChooseID.TrimStart(',').TrimEnd(',');

            string strChooseID = Request.QueryString.Get("addIds");

            if (strChooseID == string.Empty)
            {
                return;
            }

            string[] str = strChooseID.Split('|');

            System.Threading.Thread.Sleep(10);
            jsBlock = "<script>SetPorgressBar('正在计算生成试卷数量,请等待......','" + ((2 * 100) / ((double)2) + "'); </script>");
            Response.Write(jsBlock);
            Response.Flush();

            OracleAccess db = new OracleAccess();
            string       strSql;

            RandomExamResultAnswerCurrentBLL randomExamResultAnswerBLL = new RandomExamResultAnswerCurrentBLL();
            //定义全局答卷对象List
            IList <RandomExamResultAnswerCurrent> randomExamResultAnswersCurrentAll = new List <RandomExamResultAnswerCurrent>();
            //定义一个考生一次答卷对象List
            IList <RandomExamResultAnswerCurrent> randomExamResultAnswers = null;

            System.Threading.Thread.Sleep(200);
            jsBlock = string.Empty;
            int progressNum = 1;

            for (int n = 1; n <= ExamCount; n++)
            {
                for (int m = 0; m < str.Length; m++)
                {
                    RandomExamResultCurrentBLL randomExamResultBLL = new RandomExamResultCurrentBLL();
                    RandomExamResultCurrent    randomExamResult    = new RandomExamResultCurrent();

                    randomExamResult.RandomExamId    = int.Parse(strId);
                    randomExamResult.AutoScore       = 0;
                    randomExamResult.BeginDateTime   = DateTime.Parse(ViewState["BeginTime"].ToString());
                    randomExamResult.CurrentDateTime = DateTime.Parse(ViewState["BeginTime"].ToString());
                    randomExamResult.ExamTime        = 0;
                    randomExamResult.EndDateTime     = DateTime.Parse(ViewState["BeginTime"].ToString());
                    randomExamResult.Score           = 0;
                    randomExamResult.OrganizationId  = int.Parse(ConfigurationManager.AppSettings["StationID"]);
                    randomExamResult.Memo            = "";
                    randomExamResult.StatusId        = 0;
                    randomExamResult.AutoScore       = 0;
                    randomExamResult.CorrectRate     = 0;
                    randomExamResult.ExamineeId      = int.Parse(str[m]);
                    randomExamResult.ExamSeqNo       = n;

                    int nRandomExamResultPK = randomExamResultBLL.AddRandomExamResultCurrent(randomExamResult);
                    ViewState["RandomExamResultPK"] = nRandomExamResultPK;

                    strSql = "select a.* from Random_Exam_Arrange_Detail a "
                             + " where ','||User_Ids||',' like '%," + str[m] + ",%' "
                             + " and Random_Exam_ID=" + strId;
                    DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0];


                    //strSql = "insert into Random_Exam_Result_Detail(Random_Exam_Result_Detail_ID,"
                    //         + "Random_Exam_Result_ID,Random_Exam_ID,Employee_ID,Computer_Room_SEAT,Computer_Room_ID) "
                    //         + "values(Random_Exam_Result_Detail_SEQ.NextVal,"
                    //         + nRandomExamResultPK + ","
                    //         + randomExamResult.RandomExamId + ","
                    //         + randomExamResult.ExamineeId + ","
                    //         + "0," + dr["Computer_Room_ID"] + ") ";
                    //db.ExecuteNonQuery(strSql);


                    strSql = "insert into Random_Exam_Result_Detail_Temp(Random_Exam_Result_Detail_ID,"
                             + "Random_Exam_Result_ID,Random_Exam_ID,Employee_ID,Computer_Room_SEAT,Computer_Room_ID,Is_Remove) "
                             + "values(Random_Exam_Result_Detail_SEQ.NextVal,"
                             + nRandomExamResultPK + ","
                             + randomExamResult.RandomExamId + ","
                             + randomExamResult.ExamineeId + ","
                             + "0," + dr["Computer_Room_ID"] + ",0) ";
                    db.ExecuteNonQuery(strSql);

                    RandomExamItemBLL     randomItemBLL = new RandomExamItemBLL();
                    RandomExamSubjectBLL  subjectBLL    = new RandomExamSubjectBLL();
                    RandomExamStrategyBLL strategyBLL   = new RandomExamStrategyBLL();

                    IList <RandomExamSubject> randomExamSubjects =
                        subjectBLL.GetRandomExamSubjectByRandomExamId(int.Parse(strId));

                    if (randomExamSubjects != null)
                    {
                        Hashtable hashTableItemIds = new Hashtable();
                        Hashtable htSubjectItemIds = new Hashtable();
                        for (int i = 0; i < randomExamSubjects.Count; i++)
                        {
                            RandomExamSubject paperSubject = randomExamSubjects[i];
                            int nSubjectId = paperSubject.RandomExamSubjectId;
                            //  int nItemCount = paperSubject.ItemCount;

                            IList <RandomExamStrategy> strategys = strategyBLL.GetRandomExamStrategys(nSubjectId);
                            for (int j = 0; j < strategys.Count; j++)
                            {
                                int nStrategyId = strategys[j].RandomExamStrategyId;
                                int nItemCount  = strategys[j].ItemCount;
                                IList <RandomExamItem> itemList = randomItemBLL.GetItemsByStrategyId(nStrategyId, year);

                                // IList<RandomExamItem> itemList = randomItemBLL.GetItemsBySubjectId(nSubjectId);

                                Random    ObjRandom      = new Random();
                                Hashtable hashTable      = new Hashtable();
                                Hashtable hashTableCount = new Hashtable();
                                int       index          = 0;
                                while (hashTable.Count < nItemCount)
                                {
                                    int k = ObjRandom.Next(itemList.Count);
                                    hashTableCount[index] = k;
                                    index = index + 1;
                                    int itemID     = itemList[k].ItemId;
                                    int examItemID = itemList[k].RandomExamItemId;
                                    if (!hashTableItemIds.ContainsKey(itemID))
                                    {
                                        hashTable[examItemID]        = examItemID;
                                        hashTableItemIds[itemID]     = itemID;
                                        htSubjectItemIds[examItemID] = examItemID;
                                    }
                                    //if (hashTableCount.Count == itemList.Count && hashTable.Count < nItemCount)
                                    //{
                                    //    SessionSet.PageMessage = "随机考试在设定的取题范围内的试题量不够,请重新设置取题范围!";
                                    //    return;
                                    //}
                                }
                            }
                        }
                        randomExamResultAnswers = new List <RandomExamResultAnswerCurrent>();
                        foreach (int key in htSubjectItemIds.Keys)
                        {
                            string strItemId = htSubjectItemIds[key].ToString();

                            RandomExamItem item = randomItemBLL.GetRandomExamItem(Convert.ToInt32(strItemId), year);

                            string nowSelectAnswer   = string.Empty;
                            string nowStandardAnswer = string.Empty;
                            if (item.TypeId != PrjPub.ITEMTYPE_FILLBLANK)
                            {
                                Pub.GetNowAnswer(item, out nowSelectAnswer, out nowStandardAnswer);
                            }

                            RandomExamResultAnswerCurrent randomExamResultAnswer = new RandomExamResultAnswerCurrent();
                            randomExamResultAnswer.RandomExamResultId = nRandomExamResultPK;
                            randomExamResultAnswer.RandomExamItemId   = int.Parse(strItemId);
                            randomExamResultAnswer.JudgeStatusId      = 0;
                            randomExamResultAnswer.JudgeRemark        = string.Empty;
                            randomExamResultAnswer.ExamTime           = 0;
                            randomExamResultAnswer.Answer             = string.Empty;
                            randomExamResultAnswer.SelectAnswer       = nowSelectAnswer;
                            randomExamResultAnswer.StandardAnswer     = nowStandardAnswer;
                            randomExamResultAnswerBLL.AddExamResultAnswerCurrent(randomExamResultAnswer);

                            //完型填空子题
                            IList <RandomExamItem> randomExamItems = randomItemBLL.GetItemsByParentItemID(item.ItemId, obj.RandomExamId, year);
                            foreach (RandomExamItem randomExamItem in randomExamItems)
                            {
                                Pub.GetNowAnswer(randomExamItem, out nowSelectAnswer, out nowStandardAnswer);

                                randomExamResultAnswer = new RandomExamResultAnswerCurrent();
                                randomExamResultAnswer.RandomExamResultId = nRandomExamResultPK;
                                randomExamResultAnswer.RandomExamItemId   = randomExamItem.RandomExamItemId;
                                randomExamResultAnswer.JudgeStatusId      = 0;
                                randomExamResultAnswer.JudgeRemark        = string.Empty;
                                randomExamResultAnswer.ExamTime           = 0;
                                randomExamResultAnswer.Answer             = string.Empty;
                                randomExamResultAnswer.SelectAnswer       = nowSelectAnswer;
                                randomExamResultAnswer.StandardAnswer     = nowStandardAnswer;
                                randomExamResultAnswerBLL.AddExamResultAnswerCurrent(randomExamResultAnswer);
                            }

                            System.Threading.Thread.Sleep(10);
                            jsBlock = "<script>SetPorgressBar('正在生成试卷,请等待......','" + ((progressNum * 100) / ((double)ExamCount * str.Length * htSubjectItemIds.Count)).ToString("0.00") + "'); </script>";
                            Response.Write(jsBlock);
                            Response.Flush();

                            progressNum++;
                        }
                    }
                    else
                    {
                        SessionSet.PageMessage = "未找到记录!";
                    }
                }
            }

            //临时添加考生无需更改考试状态,因为考试状态肯定是正在进行和生成试卷
            //objBll.UpdateHasPaper(Convert.ToInt32(strId), PrjPub.ServerNo, true);
            ////如果考试是随到随考,考试状态自动变为正在进行
            //if (obj.StartMode == 1)
            //{
            //    objBll.UpdateIsStart(Convert.ToInt32(strId), PrjPub.ServerNo, 1);
            //}

            SystemLogBLL objLogBll = new SystemLogBLL();

            objLogBll.WriteLog("“" + obj.ExamName + "”生成新增考生试卷");

            Response.Write("<script>top.returnValue='true';top.close();</script>");
        }
コード例 #23
0
        protected void btnInput_Click(object sender, EventArgs e)
        {
            if (ViewState["EmptyFlag"].ToString() != null && ViewState["EmptyFlag"].ToString() == "1")
            {
                return;
            }

            string strId    = Request.QueryString.Get("id");
            string strAllId = hfrbnID.Value;
            IList <RailExam.Model.Employee> Employees = null;
            EmployeeBLL psBLL = new EmployeeBLL();

            Employees = psBLL.GetEmployeesSelect(Convert.ToInt32(ddlOrg.SelectedValue), ViewState["PinYin"].ToString(), ViewState["WorkNo"].ToString(), ViewState["EmployeeName"].ToString(), "a.employee_Name");

            for (int i = 0; i < Employees.Count; i++)
            {
                string strEmId     = Employees[i].EmployeeID.ToString();
                string strOldAllId = strAllId;
                if (strOldAllId == strEmId)
                {
                    strAllId = strEmId;
                }
            }

            ViewState["ChooseId"] = strAllId;

            if (strAllId == "")
            {
                SessionSet.PageMessage = "请选择考生!";
                return;
            }
            else
            {
                RandomExamBLL             objBll = new RandomExamBLL();
                RailExam.Model.RandomExam random = objBll.GetExam(int.Parse(strId));

                if (random.RandomExamModularTypeID > 1)
                {
                    OracleAccess db     = new OracleAccess();
                    string       strSql = "select * from Random_Exam_Modular_Type where Random_Exam_Modular_Type_ID=" +
                                          random.RandomExamModularTypeID;
                    DataRow dr = db.RunSqlDataSet(strSql).Tables[0].Rows[0];

                    strSql = "select * from Random_Exam_Modular_Type where Level_Num=" +
                             (Convert.ToInt32(dr["Level_NUM"]) - 1);
                    DataRow drPre = db.RunSqlDataSet(strSql).Tables[0].Rows[0];

                    strSql = " select a.* "
                             + "from Random_Exam_Result a "
                             + " inner join Random_Exam b on a.Random_Exam_ID=b.Random_Exam_ID "
                             +
                             " left join Random_Exam_Modular_Type c on b.Random_Exam_Modular_Type_ID=c.Random_Exam_Modular_Type_ID "
                             + " where c.Level_Num=" + (Convert.ToInt32(dr["Level_NUM"]) - 1);
                    DataSet ds = db.RunSqlDataSet(strSql);

                    strSql = "select * from Employee where Employee_ID = " + strAllId;
                    DataRow drEmp = db.RunSqlDataSet(strSql).Tables[0].Rows[0];

                    string strErrorMessage = string.Empty;

                    DataRow[] drs = ds.Tables[0].Select("EXAMINEE_ID=" + strAllId);

                    if (drs.Length == 0)
                    {
                        strErrorMessage = "所选考生【" + drEmp["Employee_Name"] + "】未能通过【" +
                                          drPre["Random_Exam_Modular_Type_Name"] + "】考试,不能参加【" +
                                          dr["Random_Exam_Modular_Type_Name"] + "】考试!";
                    }


                    if (!string.IsNullOrEmpty(strErrorMessage))
                    {
                        SessionSet.PageMessage = strErrorMessage;
                        return;
                    }
                }
            }

            if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "0")
            {
                RandomExamArrangeBLL      examArrangeBLL = new RandomExamArrangeBLL();
                IList <RandomExamArrange> objList        = examArrangeBLL.GetRandomExamArranges(int.Parse(strId));

                if (objList.Count == 0)
                {
                    RandomExamArrange examArrange = new RandomExamArrange();
                    examArrange.RandomExamId = int.Parse(strId);
                    examArrange.UserIds      = strAllId;
                    examArrange.Memo         = "";
                    examArrangeBLL.AddRandomExamArrange(examArrange);
                    ViewState["UpdateMode"] = 1;
                    if (txtWorkNo.Text != "")
                    {
                        txtWorkNo.Text = "";
                        txtWorkNo.Focus();
                    }
                    if (txtPinYin.Text != "")
                    {
                        txtPinYin.Text = "";
                        txtPinYin.Focus();
                    }
                    if (txtEmployeeName.Text != "")
                    {
                        txtEmployeeName.Text = "";
                        txtEmployeeName.Focus();
                    }
                    BindEmptyGrid1();
                    SessionSet.PageMessage = "添加成功!";
                    return;
                }
                else
                {
                    ViewState["UpdateMode"] = "1";
                }
            }

            if (ViewState["UpdateMode"] != null && ViewState["UpdateMode"].ToString() == "1")
            {
                RandomExamArrangeBLL examArrangeBLL = new RandomExamArrangeBLL();
                string strEndId = examArrangeBLL.GetRandomExamArranges(int.Parse(strId))[0].UserIds;

                if (("," + strEndId + ",").IndexOf("," + strAllId + ",") >= 0)
                {
                    SessionSet.PageMessage = "该学员已添加!";
                    return;
                }

                if (strEndId == "")
                {
                    examArrangeBLL.UpdateRandomExamArrange(int.Parse(strId), strAllId);
                }
                else
                {
                    examArrangeBLL.UpdateRandomExamArrange(int.Parse(strId), strEndId + "," + strAllId);
                }

                if (txtWorkNo.Text != "")
                {
                    txtWorkNo.Text = "";
                    txtWorkNo.Focus();
                }
                if (txtPinYin.Text != "")
                {
                    txtPinYin.Text = "";
                    txtPinYin.Focus();
                }
                if (txtEmployeeName.Text != "")
                {
                    txtEmployeeName.Text = "";
                    txtEmployeeName.Focus();
                }
                BindEmptyGrid1();
                SessionSet.PageMessage = "添加成功!";

                ClientScript.RegisterClientScriptBlock(GetType(), "", " window.opener.form1.Refresh.value = 'true',window.opener.form1.submit();", true);
                return;
            }
        }
コード例 #24
0
        private void SaveArrange()
        {
            OracleAccess db = new OracleAccess();
            // 根据 ProgressBar.htm 显示进度条界面
            string       templateFileName = Path.Combine(Server.MapPath("../RandomExam/"), "ProgressBar.htm");
            StreamReader reader           = new StreamReader(@templateFileName, System.Text.Encoding.GetEncoding("gb2312"));
            string       html             = reader.ReadToEnd();

            reader.Close();
            Response.Write(html);
            Response.Flush();
            System.Threading.Thread.Sleep(200);

            string jsBlock;

            string strExamID       = Request.QueryString.Get("examID");
            string strTrainClassID = Request.QueryString.Get("trainclassID");
            string strPostID       = Request.QueryString.Get("PostID");

            string[] str           = strTrainClassID.Split(',');
            string   strArchivesID = string.Empty;

            for (int j = 0; j < str.Length; j++)
            {
                if (strArchivesID == string.Empty)
                {
                    strArchivesID = "'" + str[j] + "'";
                }
                else
                {
                    strArchivesID = strArchivesID + ",'" + str[j] + "'";
                }
            }


            string strSql = "";

            Hashtable htUserID   = new Hashtable();
            string    strUserIDs = string.Empty;
            int       i          = 1;

            strSql = "select  distinct b.Employee_ID  "
                     + "from CheckRoll_Info a "
                     + " inner join Employee@LINK_RAILEXAM b on a.Employee_ID=b.Employee_ID"
                     + " where a.Archives_ID in (" + strArchivesID + ") and b.Post_ID in (" + strPostID + ")";
            int count = db.RunSqlDataSet(strSql).Tables[0].Rows.Count;

            for (int j = 0; j < str.Length; j++)
            {
                strSql = "select  b.Employee_ID "
                         + "from CheckRoll_Info a "
                         + " inner join Employee@LINK_RAILEXAM b on a.Employee_ID=b.Employee_ID"
                         + " where a.Archives_ID='" + str[j] + "' and b.Post_ID in (" + strPostID + ")";
                DataSet ds = db.RunSqlDataSet(strSql);

                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    if (!htUserID.ContainsKey(dr["Employee_ID"].ToString()))
                    {
                        if (strUserIDs == string.Empty)
                        {
                            strUserIDs = dr["Employee_ID"].ToString();
                        }
                        else
                        {
                            strUserIDs = strUserIDs + "," + dr["Employee_ID"];
                        }

                        htUserID.Add(dr["Employee_ID"].ToString(), dr["Employee_ID"].ToString());

                        System.Threading.Thread.Sleep(10);
                        jsBlock = "<script>SetPorgressBar('正在添加考生','" + ((i * 100) / ((double)count)).ToString("0.00") + "'); </script>";
                        Response.Write(jsBlock);
                        Response.Flush();

                        i++;
                    }
                }
            }

            RandomExamArrangeBLL objArrangeBll = new RandomExamArrangeBLL();
            RandomExamArrange    objArrange    = new RandomExamArrange();

            objArrange.RandomExamId = Convert.ToInt32(strExamID);
            objArrange.Memo         = "";
            objArrange.UserIds      = strUserIDs;
            objArrangeBll.AddRandomExamArrange(objArrange);

            jsBlock = "<script>SetCompleted('处理完成。'); </script>";
            Response.Write(jsBlock);
            Response.Flush();

            Response.Write("<script>top.returnValue='true';window.close();</script>");
        }
コード例 #25
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //if (PrjPub.IsWuhan())
                //{
                //    Grid1.Columns[3].HeaderText = "员工编码";
                //    lblTitle.Text = "员工编码";
                //}
                //else
                //{
                //    Grid1.Columns[3].HeaderText = "工资编号";
                //    lblTitle.Text = "工资编号";
                //}

                lblTitle.Text = "员工编码";

                BindEmptyGrid1();

                string strId = Request.QueryString.Get("id");
                if (strId != null && strId != "")
                {
                    RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL();
                    IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId));

                    if (ExamArranges.Count > 0)
                    {
                        ViewState["UpdateMode"] = 1;
                    }
                    else
                    {
                        ViewState["UpdateMode"] = 0;
                    }
                }

                OrganizationBLL objOrgBll = new OrganizationBLL();
                IList <RailExam.Model.Organization> objOrgList = objOrgBll.GetOrganizationsByLevel(2);

                ListItem item = new ListItem();
                item.Text  = "--请选择--";
                item.Value = "0";
                ddlOrg.Items.Add(item);

                foreach (Organization organization in objOrgList)
                {
                    if (organization.OrganizationId != 1)
                    {
                        item       = new ListItem();
                        item.Text  = organization.ShortName;
                        item.Value = organization.OrganizationId.ToString();
                        ddlOrg.Items.Add(item);
                    }
                }

                string strType = Request.QueryString.Get("type");
                if (strType != null && strType != "")
                {
                    btnOK.Visible      = true;
                    btnClose.Visible   = true;
                    btnInput.Visible   = false;
                    ViewState["title"] = "选择学员";

                    if (PrjPub.CurrentLoginUser.SuitRange == 0)
                    {
                        ddlOrg.SelectedValue = PrjPub.CurrentLoginUser.StationOrgID.ToString();
                        ddlOrg.Enabled       = false;
                    }
                }
                else
                {
                    btnOK.Visible      = false;
                    btnClose.Visible   = true;
                    btnInput.Visible   = true;
                    ViewState["title"] = "单个添加考生";
                }

                ViewState["StartRow"]        = 0;
                ViewState["EndRow"]          = Grid1.PageSize;
                ViewState["EmploySortField"] = "nlssort(a.employee_name,'NLS_SORT=SCHINESE_PINYIN_M')";
            }
        }
コード例 #26
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string strId = Request.QueryString.Get("id");
                if (strId != null && strId != "")
                {
                    hfExamID.Value = strId;
                    RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL();
                    IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId));

                    if (ExamArranges.Count > 0)
                    {
                        ViewState["ChooseId"]   = ExamArranges[0].UserIds;
                        ViewState["UpdateMode"] = 1;

                        string       strSql = "select Org_ID,Short_Name from Org where level_num=2 order by Order_Index";
                        OracleAccess db     = new OracleAccess();
                        DataSet      ds     = db.RunSqlDataSet(strSql);
                        ListItem     item   = new ListItem();
                        item.Text  = "--请选择--";
                        item.Value = "0";
                        ddlOrg.Items.Add(item);
                        bool hasOrg = false;
                        foreach (DataRow dr in ds.Tables[0].Rows)
                        {
                            item       = new ListItem();
                            item.Text  = dr["Short_Name"].ToString();
                            item.Value = dr["org_ID"].ToString();
                            ddlOrg.Items.Add(item);

                            if (PrjPub.CurrentLoginUser.StationOrgID.ToString() == dr["org_ID"].ToString())
                            {
                                hasOrg = true;
                            }
                        }

                        if (PrjPub.CurrentLoginUser.RoleID != 1)
                        {
                            if (hasOrg)
                            {
                                ddlOrg.SelectedValue = PrjPub.CurrentLoginUser.StationOrgID.ToString();
                                ddlOrg.Enabled       = false;
                            }
                            else
                            {
                                ddlOrg.SelectedValue = "0";
                            }
                        }
                        else
                        {
                            ddlOrg.SelectedValue = "0";
                        }

                        ddlOrg_SelectedIndexChanged(null, null);
                    }
                    else
                    {
                        ViewState["ChooseId"]   = "";
                        ViewState["UpdateMode"] = 0;
                    }

                    RandomExamBLL objBll        = new RandomExamBLL();
                    bool          hasTrainClass = objBll.GetExam(Convert.ToInt32(strId)).HasTrainClass;
                    if (hasTrainClass)
                    {
                        ViewState["HasTrainClass"] = "1";
                    }
                    else
                    {
                        ViewState["HasTrainClass"] = "0";
                    }
                }
                BindChoosedGrid(ViewState["ChooseId"].ToString());
            }

            string strRefreshArrange = Request.Form.Get("RefreshArrange");

            if (strRefreshArrange != "" && strRefreshArrange != null)
            {
                BindChoosedGrid(ViewState["ChooseId"].ToString());

                OracleAccess db = new OracleAccess();
                string       strSql;
                if (CheckIsAllArrange())
                {
                    strSql = " update Random_Exam set Is_All_Arrange=1 where Random_Exam_ID=" +
                             Request.QueryString.Get("id");
                    db.ExecuteNonQuery(strSql);
                }
            }

            if (Request.Form.Get("StudentInfo") != null && Request.Form.Get("StudentInfo") != "")
            {
                DownloadStudentInfoExcel();
            }
        }
コード例 #27
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                try
                {
                    OracleAccess db1 = new OracleAccess(ConfigurationManager.ConnectionStrings["OracleCenter"].ConnectionString);
                    db1.RunSqlDataSet("select * from Org where level_num=2");
                }
                catch
                {
                    Response.Write("<script>alert('当前站段服务器无法访问路局服务器,不能临时添加考生!');window.close();</script>");
                    return;
                }

                ViewState["ExamID"] = Request.QueryString.Get("RandomExamID");
                string strId = Request.QueryString.Get("RandomExamID");
                if (strId != null && strId != "")
                {
                    RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL();
                    IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId));

                    if (ExamArranges.Count > 0)
                    {
                        string strSql = "select a.* from Random_Exam_Arrange_Detail a "
                                        + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID"
                                        + " inner join Computer_Server c on c.Computer_server_ID=b.Computer_Server_ID"
                                        + " where c.Computer_Server_No='" + PrjPub.ServerNo + "' "
                                        + " and Random_Exam_ID=" + strId;

                        OracleAccess db = new OracleAccess();
                        DataSet      ds = db.RunSqlDataSet(strSql);

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

                        GetAddIs(strId, ExamArranges[0].UserIds);

                        ViewState["ChooseId"]   = strChooseID;
                        ViewState["UpdateMode"] = 1;
                    }
                    else
                    {
                        ViewState["ChooseId"]   = "";
                        ViewState["UpdateMode"] = 0;
                    }
                }
                BindChoosedGrid(ViewState["ChooseId"].ToString());
            }

            string strRefresh = Request.Form.Get("Refresh");

            if (strRefresh != "" && strRefresh != null)
            {
                string strId = ViewState["ExamID"].ToString();
                if (strId != null && strId != "")
                {
                    RandomExamArrangeBLL eaBll = new RandomExamArrangeBLL();
                    IList <RailExam.Model.RandomExamArrange> ExamArranges = eaBll.GetRandomExamArranges(int.Parse(strId));

                    if (ExamArranges.Count > 0)
                    {
                        //string strAddIds = string.Empty;

                        //查询出考试所有考生安排明细
                        OracleAccess db = new OracleAccess();

                        /*
                         * string strSql = "select * from Random_Exam_Arrange_Detail where Random_Exam_ID=" + strId;
                         * DataSet dsAll = db.RunSqlDataSet(strSql);
                         *
                         * //遍历添加考生后的考生主表,查询出添加了哪些考生
                         * string[] str = ExamArranges[0].UserIds.Split(',');
                         * for (int i = 0; i < str.Length; i++)
                         * {
                         *  string strReplace = "," + str[i] + ",";
                         *  DataRow[] drs = dsAll.Tables[0].Select("','+User_Ids+',' like '%" + strReplace + "%'");
                         *
                         *  //如果在所有考生安排明细中,查询不到当前编辑的考生ID,说明该考生为新添加
                         *  if (drs.Length == 0)
                         *  {
                         *      if (strAddIds == string.Empty)
                         *      {
                         *          strAddIds += str[i];
                         *      }
                         *      else
                         *      {
                         *          strAddIds += "," + str[i];
                         *      }
                         *  }
                         * }
                         *
                         * if(hfAddIds.Value == "")
                         * {
                         *  hfAddIds.Value = strAddIds.Replace(",", "|");
                         * }
                         * else
                         * {
                         *  hfAddIds.Value += "|" + strAddIds.Replace(",", "|");
                         * }
                         *
                         * ViewState["AddIds"] = hfAddIds.Value;
                         * */

                        //查询考试在当前服务器下当前考试的考生信息
                        string strSql = "select a.* from Random_Exam_Arrange_Detail a "
                                        + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID"
                                        + " inner join Computer_Server c on c.Computer_server_ID=b.Computer_Server_ID"
                                        + " where c.Computer_Server_No='" + PrjPub.ServerNo + "' "
                                        + " and Random_Exam_ID=" + strId;
                        DataSet ds = db.RunSqlDataSet(strSql);

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

                        GetAddIs(strId, ExamArranges[0].UserIds);

                        /*
                         *
                         * //如果添加了考生,则默认将该考生的考场安排在本站段的某一个微机教室
                         * if(ds.Tables[0].Rows.Count > 0 && !string.IsNullOrEmpty(strAddIds))
                         * {
                         *  if(PrjPub.IsServerCenter)
                         *  {
                         *      strSql = "update Random_Exam_Arrange_Detail "
                         + "set User_ids = User_ids || '," + strAddIds + "' "
                         + "where   Random_Exam_Arrange_Detail_ID =" + ds.Tables[0].Rows[0]["Random_Exam_Arrange_Detail_ID"];
                         +      db.ExecuteNonQuery(strSql);
                         +  }
                         +  else
                         +  {
                         +      eaBll.UpdateRandomExamArrangeDetailToServer(Convert.ToInt32(ds.Tables[0].Rows[0]["Random_Exam_Arrange_Detail_ID"]), strAddIds);
                         +  }
                         +
                         +
                         +  strChooseID = strChooseID + "," + strAddIds;
                         + }
                         * */

                        ViewState["ChooseId"]   = strChooseID;
                        ViewState["UpdateMode"] = 1;
                    }
                    else
                    {
                        ViewState["ChooseId"]   = "";
                        ViewState["UpdateMode"] = 0;
                    }

                    BindChoosedGrid(ViewState["ChooseId"].ToString());
                }
            }
        }
コード例 #28
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //if (PrjPub.IsServerCenter && PrjPub.CurrentLoginUser.SuitRange != 1)
                //{
                //    HfUpdateRight.Value = "False";
                //    HfDeleteRight.Value = "False";
                //}
                //else
                //{
                //    HfUpdateRight.Value = PrjPub.HasEditRight("新增考试").ToString();
                //    HfDeleteRight.Value = PrjPub.HasDeleteRight("新增考试").ToString();
                //}

                hfRailSystemID.Value = PrjPub.GetRailSystemId().ToString();

                if (PrjPub.CurrentLoginUser == null)
                {
                    Response.Redirect("/RailExamBao/Common/Error.aspx?error=Session过期请重新登录本系统!");
                    return;
                }

                if (PrjPub.CurrentLoginUser.IsAdmin && PrjPub.CurrentLoginUser.UseType == 0)
                {
                    hfIsAdmin.Value = "True";
                }
                else
                {
                    hfIsAdmin.Value = "False";
                }

                if (PrjPub.HasEditRight("新增考试") && PrjPub.IsServerCenter)
                {
                    HfUpdateRight.Value = "True";
                }
                else
                {
                    HfUpdateRight.Value = "False";
                }

                if (PrjPub.HasDeleteRight("新增考试") && PrjPub.IsServerCenter)
                {
                    HfDeleteRight.Value = "True";
                }
                else
                {
                    HfDeleteRight.Value = "False";
                }

                ListItem item = new ListItem();
                item.Value = Session["StationOrgID"].ToString();
                item.Text  = "--请选择--";
                ddlOrg.Items.Add(item);

                if (PrjPub.IsServerCenter && PrjPub.CurrentLoginUser.UseType == 0 && PrjPub.CurrentLoginUser.IsAdmin)
                {
                    ddlOrg.Visible = true;
                    lblOrg.Visible = true;

                    OrganizationBLL      objOrgBll = new OrganizationBLL();
                    IList <Organization> objList   = objOrgBll.GetOrganizationsByLevel(2);
                    foreach (Organization organization in objList)
                    {
                        ListItem litem = new ListItem();
                        litem.Value = organization.OrganizationId.ToString();
                        litem.Text  = organization.ShortName;
                        ddlOrg.Items.Add(litem);
                    }
                }
                else
                {
                    ddlOrg.Visible = false;
                    lblOrg.Visible = false;
                }

                hfOrgID.Value          = PrjPub.CurrentLoginUser.StationOrgID.ToString();
                HfExamCategoryId.Value = Request.QueryString.Get("id");
                Grid1.DataBind();
            }
            else
            {
                string strDeleteID = Request.Form.Get("DeleteID");
                if (!string.IsNullOrEmpty(strDeleteID))
                {
                    //RandomExamResultBLL reBll = new RandomExamResultBLL();
                    //IList<RailExam.Model.RandomExamResult> examResults = reBll.GetRandomExamResultByExamID(int.Parse(strDeleteID));

                    //if (examResults.Count > 0)
                    //{
                    //    SessionSet.PageMessage = "已有考生参加考试,该考试不能被删除!";
                    //    Grid1.DataBind();
                    //    return;
                    //}


                    DeleteData(int.Parse(strDeleteID));
                    Grid1.DataBind();
                }

                if (Request.Form.Get("Refresh") == "true")
                {
                    Grid1.DataBind();
                }

                if (Request.Form.Get("OutPut") != null && Request.Form.Get("OutPut") != string.Empty)
                {
                    OutputWord(Request.Form.Get("OutPut"));
                }

                if (Request.Form.Get("ResetID") != null && Request.Form.Get("ResetID") != string.Empty)
                {
                    Grid1.DataBind();
                }

                if (Request.Form.Get("arrangeID") != null && Request.Form.Get("arrangeID") != string.Empty)
                {
                    string                    strId   = Request.Form.Get("arrangeID");
                    RandomExamBLL             objBll  = new RandomExamBLL();
                    RailExam.Model.RandomExam objExam = objBll.GetExam(Convert.ToInt32(strId));

                    //if(objExam.HasPaper)
                    //{
                    //    SessionSet.PageMessage = "该考试已经生成试卷,不能重新安排微机教室!";
                    //    Grid1.DataBind();
                    //    return;
                    //}

                    if (!PrjPub.IsServerCenter)
                    {
                        Grid1.DataBind();
                        return;
                    }

                    if (PrjPub.CurrentLoginUser.RoleID != 1)
                    {
                        OracleAccess              db          = new OracleAccess();
                        RandomExamArrangeBLL      arrangeBll  = new RandomExamArrangeBLL();
                        IList <RandomExamArrange> arrangeList = arrangeBll.GetRandomExamArranges(Convert.ToInt32(strId));

                        if (arrangeList.Count == 0)
                        {
                            SessionSet.PageMessage = "该考试还未选择考生,不能安排微机教室!";
                            Grid1.DataBind();
                            return;
                        }

                        RandomExamArrange arrange = arrangeList[0];

                        bool            hasOrg      = false;
                        string[]        str         = arrange.UserIds.Split(',');
                        EmployeeBLL     employeebll = new EmployeeBLL();
                        OrganizationBLL orgBll      = new OrganizationBLL();
                        for (int i = 0; i < str.Length; i++)
                        {
                            Employee obj = employeebll.GetEmployee(Convert.ToInt32(str[i]));

                            if (orgBll.GetStationOrgID(obj.OrgID) == PrjPub.CurrentLoginUser.StationOrgID)
                            {
                                hasOrg = true;
                                break;
                            }
                        }

                        if (!hasOrg)
                        {
                            SessionSet.PageMessage = "该考试没有本站段考生,无须安排微机教室!";
                            Grid1.DataBind();
                            return;
                        }
                    }

                    Grid1.DataBind();
                    ClientScript.RegisterStartupScript(GetType(),
                                                       "jsSelectFirstNode",
                                                       @"showArrange(" + strId + ");",
                                                       true);
                }
            }
        }
コード例 #29
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack && !searchExamCallBack.IsCallback)
            {
                //如果是系统管理员访问站段服务器则没有权限监控站段考试
                if (!PrjPub.IsServerCenter && PrjPub.CurrentLoginUser.IsAdmin && PrjPub.CurrentLoginUser.RoleID == 1)
                {
                    btnGetPaper.Enabled    = false;
                    btnDelPaper.Enabled    = false;
                    btnStart.Enabled       = false;
                    btnStop.Enabled        = false;
                    btnEnd.Enabled         = false;
                    btnUpload.Enabled      = false;
                    btnUploadScore.Enabled = false;
                    HfUpdateRight.Value    = "False";
                }

                //if (PrjPub.IsWuhan())
                //{
                //    examsGrid.Levels[0].Columns[3].HeadingText = "员工编码";
                //}
                //else
                //{
                //    examsGrid.Levels[0].Columns[3].HeadingText = "工资编号";
                //}

                if (PrjPub.IsServerCenter)
                {
                    btnUpload.Enabled      = false;
                    btnUploadScore.Enabled = false;
                }

                //当前站段有两台服务器并且当前服务器为次服务器时屏蔽“删除所有考生试卷”和“上传考试成绩”按钮
                //if(!PrjPub.IsServerCenter && PrjPub.HasTwoServer() && !PrjPub.IsMainServer())
                //{
                //    btnGetPaper.Visible = false;
                //    btnDelPaper.Visible = false;
                //    btnUpload.Visible = false;
                //}

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

                string strId = Request.QueryString.Get("RandomExamID");

                RandomExamArrangeBLL      objArrangeBll  = new RandomExamArrangeBLL();
                IList <RandomExamArrange> objArrangeList = objArrangeBll.GetRandomExamArranges(Convert.ToInt32(strId));
                string[] str = { "0" };
                hfNowCount.Value = "0";
                if (objArrangeList.Count == 1)
                {
                    string strSql = "select * from Random_Exam_Arrange_Detail a "
                                    + " inner join Computer_Room b on a.Computer_Room_ID=b.Computer_Room_ID"
                                    + " inner join Computer_Server c on b.Computer_Server_ID=c.Computer_Server_ID"
                                    + " where b.Org_ID='" + ConfigurationManager.AppSettings["StationID"] + "'"
                                    + " and c.Computer_Server_No='" + PrjPub.ServerNo + "'"
                                    + " and Random_Exam_ID=" + strId;
                    OracleAccess db = new OracleAccess();
                    DataSet      ds = db.RunSqlDataSet(strSql);

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

                    strUserId = ("," + strUserId + ",").Replace(",0,", ",");
                    str       = ((strUserId.TrimStart(',')).TrimEnd(',')).Split(',');

                    ExamBLL objexambll = new ExamBLL();
                    IList <RailExam.Model.Exam> objExamList = objexambll.GetExamsInfoByOrgID(null, -1, Convert.ToDateTime("0001-01-01"), Convert.ToDateTime("0001-01-01"),
                                                                                             Convert.ToInt32(hfOrgID.Value), PrjPub.IsServerCenter.ToString());
                    foreach (RailExam.Model.Exam objExam in objExamList)
                    {
                        if (objExam.ExamId == Convert.ToInt32(strId))
                        {
                            hfNowCount.Value = (str.Length - objExam.ExamineeCount).ToString();
                            break;
                        }
                    }
                }

                //获取当前考试的生成试卷的状态和次数
                RandomExamBLL             objBll        = new RandomExamBLL();
                RailExam.Model.RandomExam objRandomExam = objBll.GetExam(Convert.ToInt32(strId));

                RandomExamComputerServerBLL serverBll = new RandomExamComputerServerBLL();
                RandomExamComputerServer    server    = serverBll.GetRandomExamComputerServer(objRandomExam.RandomExamId,
                                                                                              PrjPub.ServerNo);

                if (server.HasPaper && objRandomExam.StartMode == 2 && server.IsStart != 0)
                {
                    lblTitle.Text    = "考试验证码:";
                    lblCode.Text     = server.RandomExamCode;
                    btnApply.Visible = true;
                }

                if (server.HasPaper && server.IsStart != 2)// && !objRandomExam.HasTrainClass
                {
                    btnAddEmployee.Visible = true;
                }


                if (PrjPub.CurrentLoginUser.EmployeeID != 0)
                {
                    examsGrid.Levels[0].Columns[12].Visible = false;
                }
            }

            if (!searchExamCallBack.IsCallback)
            {
                hfSql.Value = GetSql();
                examsGrid.DataBind();
            }

            if (Request.Form.Get("OutPutRandom") != null && Request.Form.Get("OutPutRandom") != "")
            {
                OutputWord(Request.Form.Get("OutPutRandom"));
            }

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

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

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

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

            if (Request.Form.Get("IsGet") != null && Request.Form.Get("IsGet") != "")
            {
                hfSql.Value = GetSql();
                examsGrid.DataBind();
                string                    strId  = Request.QueryString.Get("RandomExamID");
                RandomExamBLL             objBll = new RandomExamBLL();
                RailExam.Model.RandomExam obj    = objBll.GetExam(Convert.ToInt32(strId));
                //if(!obj.HasTrainClass)
                //{
                btnAddEmployee.Visible = true;
                //}
                SessionSet.PageMessage = "生成成功!";
            }

            if (Request.Form.Get("IsEnd") != null && Request.Form.Get("IsEnd") != "")
            {
                hfSql.Value = GetSql();
                examsGrid.DataBind();
                SessionSet.PageMessage = "结束考试成功!";
            }

            if (Request.Form.Get("IsUpload") != null && Request.Form.Get("IsUpload") != "")
            {
                hfSql.Value = GetSql();
                examsGrid.DataBind();
                string                    strId     = Request.QueryString.Get("RandomExamID");
                RandomExamBLL             objBll    = new RandomExamBLL();
                RailExam.Model.RandomExam obj       = objBll.GetExam(Convert.ToInt32(strId));
                SystemLogBLL              objLogBll = new SystemLogBLL();
                objLogBll.WriteLog("“" + obj.ExamName + "”上传考试成绩和答卷");
                SessionSet.PageMessage = "上传成功!";
            }

            if (Request.Form.Get("IsStart") != null && Request.Form.Get("IsStart") != "")
            {
                hfSql.Value = GetSql();
                examsGrid.DataBind();
                SessionSet.PageMessage = "开始考试成功!";
                string strId = Request.QueryString.Get("RandomExamID");
                //获取当前考试的生成试卷的状态和次数
                RandomExamBLL             objBll  = new RandomExamBLL();
                RailExam.Model.RandomExam objExam = objBll.GetExam(Convert.ToInt32(strId));

                RandomExamComputerServerBLL serverBll = new RandomExamComputerServerBLL();
                RandomExamComputerServer    server    = serverBll.GetRandomExamComputerServer(objExam.RandomExamId,
                                                                                              PrjPub.ServerNo);


                if (server.HasPaper && objExam.StartMode == 2)
                {
                    lblCode.Text     = "考试验证码:" + server.RandomExamCode;
                    btnApply.Visible = true;
                }
                ClientScript.RegisterStartupScript(GetType(),
                                                   "jsSelectFirstNode",
                                                   @"ApplyExam();",
                                                   true);
            }

            if (Request.Form.Get("StudentInfo") != null && Request.Form.Get("StudentInfo") != "" && !searchExamCallBack.IsCallback)
            {
                DownloadStudentInfoExcel();
            }

            refreshGridCallback.RefreshInterval = Convert.ToInt32(ConfigurationManager.AppSettings["RefreshInterval"]);

            btnUpload.Visible = btnUploadScore.Visible = false; // 包神这里用不著上传 2014-03-18
        }