//保存
    protected void Button_Save_Click(object sender, EventArgs e)
    {
        HyoaClass.Hyoa_global Hyoa_global = new HyoaClass.Hyoa_global();
        HyoaClass.Hyoa_roleuser Hyoa_roleuser = new HyoaClass.Hyoa_roleuser();
        ////---增加模块权限-------
        if (this.fdAddRoleid.Value != "")
        {
            string[] v_AddRoleid = this.fdAddRoleid.Value.Split(',');
            for (var i = 0; i < v_AddRoleid.Length; i++)
            {
                Hyoa_roleuser.ID = Hyoa_global.GetRandom();
                Hyoa_roleuser.hy_roleid = v_AddRoleid[i].ToString();
                Hyoa_roleuser.hy_userid = this.txtuserid.Value;
                Hyoa_roleuser.Insert();
            }
        }
        ////---删除模块权限-------
        if (this.fdDelRoleid.Value != "")
        {
            string[] v_DelRoleid = this.fdDelRoleid.Value.Split(',');
            for (var i = 0; i < v_DelRoleid.Length; i++)
            {
                Hyoa_roleuser.Deletebyroleidanduserid(v_DelRoleid[i].ToString(), this.txtuserid.Value);
            }
        }
        HyoaClass.Hyoa_flowtacheuser Hyoa_flowtacheuser = new HyoaClass.Hyoa_flowtacheuser();
        ////---增加流程权限-------
        if (this.fdAddFlowTacheid.Value != "")
        {
            string[] v_AddFlowTacheid = this.fdAddFlowTacheid.Value.Split(',');
            for (var i = 0; i < v_AddFlowTacheid.Length; i++)
            {
                Hyoa_flowtacheuser.ID = Hyoa_global.GetRandom();
                Hyoa_flowtacheuser.hy_flowid = v_AddFlowTacheid[i].ToString().Substring(0,v_AddFlowTacheid[i].ToString().IndexOf('^'));
                Hyoa_flowtacheuser.hy_tacheid = v_AddFlowTacheid[i].ToString().Substring(v_AddFlowTacheid[i].ToString().IndexOf('^')+1, (v_AddFlowTacheid[i].ToString().Length - v_AddFlowTacheid[i].ToString().IndexOf('^')-1));
                Hyoa_flowtacheuser.hy_userid = this.txtuserid.Value;
                Hyoa_flowtacheuser.Insert();
            }
        }
        //---删除流程权限-------
        if (this.fdDelFlowTacheid.Value != "")
        {
            string[] v_DelFlowTacheid = this.fdDelFlowTacheid.Value.Split(',');
            string ls_flowid;
            string ls_tacheid;
            for (var i = 0; i < v_DelFlowTacheid.Length; i++)
            {
                ls_flowid = v_DelFlowTacheid[i].ToString().Substring(0, v_DelFlowTacheid[i].ToString().IndexOf('^'));
                ls_tacheid = v_DelFlowTacheid[i].ToString().Substring(v_DelFlowTacheid[i].ToString().IndexOf('^') + 1, (v_DelFlowTacheid[i].ToString().Length - v_DelFlowTacheid[i].ToString().IndexOf('^') - 1));
                Hyoa_flowtacheuser.Deletebyroleidtacheiduserid(ls_flowid, ls_tacheid, this.txtuserid.Value);
            }
        }

        Response.Write("<script>alert('保存成功!');self.close();</script>");
    }
    //保存
    protected void Button_Save_Click(object sender, EventArgs e)
    {
        if (this.Session["hyuid"].ToString() == "")
            this.Response.Redirect("../login.aspx");

        string ls_tip = "保存成功!";

        //新文档时
        HyoaClass.Hyoa_user Hyoa_user = new HyoaClass.Hyoa_user();
        HyoaClass.Hyoa_global Hyoa_global = new HyoaClass.Hyoa_global();
        if (this.txtop.Value == "add")
        {
            //先判断这个用户是否已经存在
            DataTable dtjudge = Hyoa_user.Getuserbyuserid(this.txtuserid.Text);
            if (dtjudge.Rows.Count > 0)
            {
                Response.Write("<script>alert('该用户名已注册,请重新注册!');history.back();</script>");
                return;
            }
            else
            {
                //判断是否超过用户数限制
                HyoaClass_conn.Hyoa_nbheyi Hyoa_nbheyi = new HyoaClass_conn.Hyoa_nbheyi();
                DataTable dt1 = Hyoa_nbheyi.Getfirstnbheyi();
                Int32 li_user1 = 0;
                if (dt1.Rows.Count > 0)
                {
                    li_user1 = System.Int32.Parse(dt1.Rows[0]["hy_usernum"].ToString()) + 1;
                }
                DataTable dt2 = Hyoa_user.Getusers_jzcw();
                Int32 li_user2 = 0;
                li_user2 = System.Int32.Parse(dt2.Rows.Count.ToString());
                if (li_user1 <= li_user2)
                {
                    //删除最近注册的账号
                    Response.Write("<script>alert('您的系统注册用户数授权已满,请联系管理员或宁波合益!');</script>");
                    return;
                }

                Hyoa_user.id = Hyoa_global.GetRandom();
                Hyoa_user.hy_loginuid = this.txtuserid.Text;
                Hyoa_user.hy_userid = this.txtuserid.Text;
                Hyoa_user.hy_deptid = this.hy_deptid.Text;
                Hyoa_user.hy_username = this.txtusername.Value;
                Hyoa_user.hy_post = this.txtposition.Value;
                Hyoa_user.hy_ifleader = this.ddlifleader.SelectedValue.ToString();
                Hyoa_user.hy_officetel = this.txtofficetel.Value;
                Hyoa_user.hy_hometel = this.txthometel.Value;
                Hyoa_user.hy_mobile = this.txtmobile.Value;
                Hyoa_user.hy_virtualnumber = this.txtvirtualtel.Value;
                Hyoa_user.hy_sort = float.Parse(this.txtuserno.Value);
                Hyoa_user.hy_isenabled = this.ddlisenabled.SelectedValue.ToString();
                Hyoa_user.hy_createtime = System.DateTime.Now.ToString();
                Hyoa_user.hy_edittime = System.DateTime.Now.ToString();
                Hyoa_user.hy_birthday = this.txtbirthday.Value;
                Hyoa_user.hy_ifsrtx = "";
                Hyoa_user.hy_fjh = this.txtfjh.Value;
                Hyoa_user.hy_xb = this.ddlxb.SelectedValue;
                Hyoa_user.hy_zzmm = this.txtzzmm.Value;
                Hyoa_user.hy_xl = this.txtxl.Value;
                Hyoa_user.hy_byyx = this.txtbyyx.Value;
                Hyoa_user.hy_jdwsj = this.txtjdwsj.Value;
                Hyoa_user.hy_jtzz = this.txtjtzz.Value;
                Hyoa_user.hy_sfzhm = this.txtsfzhm.Value;
                Hyoa_user.hy_bz = "";
                Hyoa_user.hy_jsids = this.txtjsids.Value;
                Hyoa_user.hy_jsnames = this.txtjsnames.Value;
                Hyoa_user.hy_field1 = "";
                Hyoa_user.hy_field2 = this.ddlhy_field2.SelectedValue.ToString();
                Hyoa_user.hy_field3 = "";
                Hyoa_user.hy_field4 = "";
                Hyoa_user.hy_field5 = "";
                Hyoa_user.Insert();

                //写新增人员系统日志start
                HyoaClass.Hyoa_log Hyoa_log = new HyoaClass.Hyoa_log();
                Hyoa_log.ID = System.Guid.NewGuid().ToString();
                Hyoa_log.hy_createtime = System.DateTime.Now.ToString();
                string userip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                if (userip == null || userip == "")
                {
                    userip = Request.ServerVariables["REMOTE_ADDR"];
                }
                Hyoa_log.hy_oppip = userip;
                Hyoa_log.hy_opptype = "新增";
                Hyoa_log.hy_oppcontent = "新增用户:" + this.txtusername.Value;
                Hyoa_log.hy_oppuserid = this.Session["hyuid"].ToString();
                Hyoa_log.hy_oppusername = this.Session["hyuname"].ToString();
                Hyoa_log.Insert();
            }
        }
        else
        {
            Hyoa_user.id = this.txtid.Text;
            Hyoa_user.hy_loginuid = this.txtuserid.Text;
            Hyoa_user.hy_userid = this.txtuserid.Text;
            Hyoa_user.hy_deptid = this.hy_deptid.Text;
            Hyoa_user.hy_username = this.txtusername.Value;
            Hyoa_user.hy_post = this.txtposition.Value;
            Hyoa_user.hy_ifleader = this.ddlifleader.SelectedValue.ToString();
            Hyoa_user.hy_officetel = this.txtofficetel.Value;
            Hyoa_user.hy_hometel = this.txthometel.Value;
            Hyoa_user.hy_mobile = this.txtmobile.Value;
            Hyoa_user.hy_virtualnumber = this.txtvirtualtel.Value;
            Hyoa_user.hy_sort = float.Parse(this.txtuserno.Value);
            Hyoa_user.hy_isenabled = this.ddlisenabled.SelectedValue.ToString();
            Hyoa_user.hy_edittime = System.DateTime.Now.ToString();
            Hyoa_user.hy_birthday = this.txtbirthday.Value;
            Hyoa_user.hy_ifsrtx = "";
            Hyoa_user.hy_fjh = this.txtfjh.Value;
            Hyoa_user.hy_xb = this.ddlxb.SelectedValue;
            Hyoa_user.hy_zzmm = this.txtzzmm.Value;
            Hyoa_user.hy_xl = this.txtxl.Value;
            Hyoa_user.hy_byyx = this.txtbyyx.Value;
            Hyoa_user.hy_jdwsj = this.txtjdwsj.Value;
            Hyoa_user.hy_jtzz = this.txtjtzz.Value;
            Hyoa_user.hy_sfzhm = this.txtsfzhm.Value;
            Hyoa_user.hy_bz = "";
            Hyoa_user.hy_jsids = this.txtjsids.Value;
            Hyoa_user.hy_jsnames = this.txtjsnames.Value;
            Hyoa_user.hy_field1 = "";
            Hyoa_user.hy_field2 = this.ddlhy_field2.SelectedValue.ToString();
            Hyoa_user.hy_field3 = "";
            Hyoa_user.hy_field4 = "";
            Hyoa_user.hy_field5 = "";
            Hyoa_user.Update();

            //写新增人员系统日志start
            HyoaClass.Hyoa_log Hyoa_log = new HyoaClass.Hyoa_log();
            Hyoa_log.ID = System.Guid.NewGuid().ToString();
            Hyoa_log.hy_createtime = System.DateTime.Now.ToString();
            string userip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
            if (userip == null || userip == "")
            {
                userip = Request.ServerVariables["REMOTE_ADDR"];
            }
            Hyoa_log.hy_oppip = userip;
            Hyoa_log.hy_opptype = "修改";
            Hyoa_log.hy_oppcontent = "修改用户:" + this.txtusername.Value;
            Hyoa_log.hy_oppuserid = this.Session["hyuid"].ToString();
            Hyoa_log.hy_oppusername = this.Session["hyuname"].ToString();
            Hyoa_log.Insert();
        }

        //根据角色分配权限
        if (this.txtjsids.Value != this.txtjsids2.Text)
        {
            //选择的角色有所变化,则需要更新

            HyoaClass.Hyoa_jiaose Hyoa_jiaose = new HyoaClass.Hyoa_jiaose();
            HyoaClass.Hyoa_roleuser Hyoa_roleuser = new HyoaClass.Hyoa_roleuser();
            HyoaClass.Hyoa_flowtacheuser Hyoa_flowtacheuser = new HyoaClass.Hyoa_flowtacheuser();

            ///////////////////删除老角色的权限///////////////////////////////////
            string[] lv_deljiaoseid = this.txtjsids2.Text.Split(',');
            if (lv_deljiaoseid.Length > 0)
            {
                for (int i = 0; i < lv_deljiaoseid.Length; i++)
                {
                    if (lv_deljiaoseid[i] != "")
                    {
                        DataTable dt = Hyoa_jiaose.Getdocbyid(lv_deljiaoseid[i]);
                        if (dt.Rows.Count > 0)
                        {
                            //更新对应的ROLE
                            if (dt.Rows[0]["hy_roleids"].ToString() != "")
                            {
                                string[] lv_roleid;
                                lv_roleid = dt.Rows[0]["hy_roleids"].ToString().Split(',');
                                for (int j = 0; j < lv_roleid.Length; j++)
                                {
                                    if (lv_roleid[j] != "")
                                    {
                                        Hyoa_roleuser.Deletebyroleidanduserid(lv_roleid[j], this.txtuserid.Text);
                                    }
                                }
                            }
                            //更新对应的flowtache
                            if (dt.Rows[0]["hy_flowtacheids"].ToString() != "")
                            {
                                string[] lv_flowtacheidid;
                                lv_flowtacheidid = dt.Rows[0]["hy_flowtacheids"].ToString().Split(',');
                                for (int j = 0; j < lv_flowtacheidid.Length; j++)
                                {
                                    if (lv_flowtacheidid[j] != "")
                                    {
                                        string ls_temp = lv_flowtacheidid[j];
                                        string[] lv_temp = ls_temp.Split('_');
                                        if (lv_temp.Length == 2)
                                        {
                                            string ls_flowid = lv_temp[0];
                                            string ls_tacheid = lv_temp[1];
                                            Hyoa_flowtacheuser.Deletebyroleidtacheiduserid(ls_flowid, ls_tacheid, this.txtuserid.Text);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            ///////////////////增加新角色的权限///////////////////////////////////
            string[] lv_addjiaoseid = this.txtjsids.Value.Split(',');
            if (lv_addjiaoseid.Length > 0)
            {
                for (int i = 0; i < lv_addjiaoseid.Length; i++)
                {
                    if (lv_addjiaoseid[i] != "")
                    {
                        DataTable dt = Hyoa_jiaose.Getdocbyid(lv_addjiaoseid[i]);
                        if (dt.Rows.Count > 0)
                        {
                            //更新对应的ROLE
                            if (dt.Rows[0]["hy_roleids"].ToString() != "")
                            {
                                string[] lv_roleid;
                                lv_roleid = dt.Rows[0]["hy_roleids"].ToString().Split(',');
                                for (int j = 0; j < lv_roleid.Length; j++)
                                {
                                    if (lv_roleid[j] != "")
                                    {
                                        Hyoa_roleuser.ID = Hyoa_global.GetRandom();
                                        Hyoa_roleuser.hy_roleid = lv_roleid[j];
                                        Hyoa_roleuser.hy_userid = this.txtuserid.Text;
                                        Hyoa_roleuser.Insert();
                                    }
                                }
                            }
                            //更新对应的flowtache
                            if (dt.Rows[0]["hy_flowtacheids"].ToString() != "")
                            {
                                string[] lv_flowtacheidid;
                                lv_flowtacheidid = dt.Rows[0]["hy_flowtacheids"].ToString().Split(',');
                                for (int j = 0; j < lv_flowtacheidid.Length; j++)
                                {
                                    if (lv_flowtacheidid[j] != "")
                                    {
                                        string ls_temp = lv_flowtacheidid[j];
                                        string[] lv_temp = ls_temp.Split('_');
                                        if (lv_temp.Length == 2)
                                        {
                                            string ls_flowid = lv_temp[0];
                                            string ls_tacheid = lv_temp[1];
                                            Hyoa_flowtacheuser.ID = Hyoa_global.GetRandom();
                                            Hyoa_flowtacheuser.hy_flowid = ls_flowid;
                                            Hyoa_flowtacheuser.hy_tacheid = ls_tacheid;
                                            Hyoa_flowtacheuser.hy_userid = this.txtuserid.Text;
                                            Hyoa_flowtacheuser.Insert();
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

        }

        //处理完成后的提示及跳转
        if (this.txtifpop.Value == "")
        {
            Response.Write("<script>alert('" + ls_tip + "');window.location='" + this.txturl.Value + "'</script>");
        }
        else
        {
            Response.Write("<script>alert('" + ls_tip + "');self.close();</script>");
        }
    }