Ejemplo n.º 1
0
        public int AddRandomExamArrangeToServer(RandomExamArrange randomExamArrange)
        {
            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_Id", OracleType.Number);
                para2.Direction = ParameterDirection.Output;
                OracleParameter para3 = new OracleParameter("p_random_Exam_ID", OracleType.Number);
                para3.Value = randomExamArrange.RandomExamId;
                OracleParameter para4 = new OracleParameter("p_memo", OracleType.NVarChar);
                para4.Value = randomExamArrange.Memo;
                IDataParameter[] paras = new IDataParameter[] { para1, para2, para3, para4 };
                id =
                    RunAddProcedure(true, "USP_random_Exam_Arrange_I_Ser", paras,
                                    System.Text.Encoding.Unicode.GetBytes(randomExamArrange.UserIds));
            }

            Database  db        = DatabaseFactory.CreateDatabase();
            DbCommand dbCommand = db.GetStoredProcCommand("USP_random_Exam_Arrange_R");

            db.ExecuteNonQuery(dbCommand);

            return(id);
        }
        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;
            }
        }
Ejemplo n.º 3
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;
            }
        }
        private void SaveRandomExamArrange(string strExamID, string strTrainClassID, string strPostID)
        {
            string    strSql     = "";
            Hashtable htUserID   = new Hashtable();
            string    strUserIDs = string.Empty;

            OracleAccess db = new OracleAccess();

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

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

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

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

            objArrange.RandomExamId = Convert.ToInt32(strExamID);
            objArrange.Memo         = "";
            objArrange.UserIds      = strUserIDs;
            objArrangeBll.AddRandomExamArrange(objArrange);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!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);
                }
            }
        }
Ejemplo n.º 6
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;
            }
        }
Ejemplo n.º 7
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 = "复制失败!";
            }
        }
        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>");
        }
Ejemplo n.º 9
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;
            }
        }
        protected void btnInput_Click(object sender, EventArgs e)
        {
            if (ViewState["EmptyFlag"].ToString() != null && ViewState["EmptyFlag"].ToString() == "1")
            {
                return;
            }

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

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

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

            ViewState["ChooseId"] = strAllId;

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

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

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

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

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

                    string strErrorMessage = string.Empty;

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

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


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

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

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

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

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

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

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

                ClientScript.RegisterClientScriptBlock(GetType(), "", " window.opener.form1.Refresh.value = 'true',window.opener.form1.submit();", true);
                return;
            }
        }
        private void BindGrid()
        {
            RandomExamResultBLL      objResultBll  = new RandomExamResultBLL();
            IList <RandomExamResult> objResultList = objResultBll.GetRandomExamResultByExamID(Convert.ToInt32(ViewState["ExamID"]));
            Hashtable htResult = new Hashtable();

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

            DataTable dt = new DataTable();

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

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

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

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


            EmployeeBLL objEmployeeBll = new EmployeeBLL();

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

            Grid1.DataSource = dt;
            Grid1.DataBind();
        }
Ejemplo n.º 12
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>");
        }
Ejemplo n.º 13
0
 public int AddRandomExamArrangeToServer(RandomExamArrange randomExamArrange)
 {
     return(dal.AddRandomExamArrangeToServer(randomExamArrange));
 }
Ejemplo n.º 14
0
 public int AddRandomExamArrange(RandomExamArrange randomExamArrange)
 {
     return(dal.AddRandomExamArrange(randomExamArrange));
 }
Ejemplo n.º 15
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;
                }
            }
        }