using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; using Ajax; public partial class Jurisdiction : CommonPage { //创建一个共用的角色bll Maticsoft.BLL.nr_z_yhjs juesebll = new Maticsoft.BLL.nr_z_yhjs(); //创建一个操作记录模板 Maticsoft.Model.nr_sys_rizhi rizhi = new Maticsoft.Model.nr_sys_rizhi(); //创建一个操作记录bll Maticsoft.BLL.nr_sys_rizhi rizhibll = new Maticsoft.BLL.nr_sys_rizhi(); Maticsoft.Model.nr_z_yhjs jsmd = new Maticsoft.Model.nr_z_yhjs(); protected void Page_Load(object sender, EventArgs e) { Utility.RegisterTypeForAjax(typeof(Jurisdiction)); if (!IsPostBack) { if (Session["user"] == null) { Response.Redirect("../index.aspx"); } //获取角色权限 Maticsoft.Model.nr_z_yhzh user = (Maticsoft.Model.nr_z_yhzh)(Session["user"]); pdquanxian(user.juese); getbdjs(); } } public void getbdjs() { DataSet xz = juesebll.GetAllList(); if (xz != null) { xzjs.DataSource = xz.Tables[0].DefaultView; xzjs.DataValueField = "id"; xzjs.DataTextField = "mingcheng"; xzjs.DataBind(); jsidz.Text = xz.Tables[0].Rows[0]["id"].ToString(); jsid.Value = xz.Tables[0].Rows[0]["id"].ToString(); string yhsl = DBHlper.getfirstcolmn("select count(*) from nr_z_yhzh where juese='" + xz.Tables[0].Rows[0]["id"] + "'"); jsyhsl.Text = yhsl + "个"; } drp_mk.DataSource = DBHlper.Execute("select id,mc from nr_sys_mkarear where isview=1 ORDER BY xh").Tables[0]; drp_mk.DataTextField = "mc"; drp_mk.DataValueField = "mc"; drp_mk.DataBind(); } [Ajax.AjaxMethod] public string quanxianlist(string mkname, string jsid) { string jueseming = juesebll.GetModel(Convert.ToInt32(jsid)).mingcheng; string htmlcode = "" + ""; string cmd = "select mc from dbo.nr_sys_mk where isview=1 and belongmkid in(select id from dbo.nr_sys_mkarear where isview=1 and mc like '%" + mkname + "%')"; DataTable mokanlist = DBHlper.Execute(cmd).Tables[0]; if (mkname == "财务管理" || mkname == "") { mokanlist.Rows.Remove(mokanlist.Select("mc='订单待收款'")[0]); mokanlist.Rows.Remove(mokanlist.Select("mc='外协待付款'")[0]); mokanlist.Rows.Remove(mokanlist.Select("mc='供应商待付款'")[0]); mokanlist.Rows.Remove(mokanlist.Select("mc='客户期初欠款'")[0]); for (int i = 0; i < mokanlist.Rows.Count; i++) { if (mokanlist.Rows[i]["mc"].ToString() == "订单收款确认") { mokanlist.Rows[i]["mc"] = "订单收款"; } else if (mokanlist.Rows[i]["mc"].ToString() == "外协付款确认") { mokanlist.Rows[i]["mc"] = "外协付款"; } else if (mokanlist.Rows[i]["mc"].ToString() == "供应商付款确认") { mokanlist.Rows[i]["mc"] = "供应商付款"; } } } string selectquanxian = "select gnid from nr_z_quanxian where jsid=" + jsid; DataTable quanxianidtable = DBHlper.Execute(selectquanxian).Tables[0]; string mkmc = ""; foreach (DataRow dtr in mokanlist.Rows) { mkmc = dtr[0].ToString(); string selectduiying = ""; DataTable dtall = new DataTable(); selectduiying = "select id,gongneng from nr_sys_gn where mokuan like '%" + dtr["mc"] + "%' ORDER by xuhao "; dtall = DBHlper.Execute(selectduiying).Tables[0]; htmlcode += ""; } htmlcode += "
" + "您正在为角色   [   " + jueseming + "   ]  设置权限        全选:  
" + dtr[0] + "全选
    "; foreach (DataRow dr in dtall.Rows) { DataRow[] dtrow = quanxianidtable.Select("gnid=" + dr["id"]); if (dtrow.Length > 0) { htmlcode += "
  • "; } else { htmlcode += "
  • "; } } htmlcode += "
"; return htmlcode; } #region 权限添加 [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)] public void savequanxian(string jsid, string qxid, string mkmc) { DBHlper.excutecmd("delete from nr_z_quanxian where jsid=" + jsid + " and gnid in(select id from dbo.nr_sys_gn where mokuan in(select mc from dbo.nr_sys_mk where belongmkid in (select id from nr_sys_mkarear where mc like '%" + mkmc + "%')))"); if (mkmc == "财务管理") { DBHlper.excutecmd("delete from nr_z_quanxian where jsid=" + jsid + " and gnid in(select id from dbo.nr_sys_gn where mokuan='订单收款' or mokuan='外协付款' or mokuan='供应商付款')"); } if (qxid != "") { string[] quanxianid = qxid.Trim(',').Split(','); foreach (string id in quanxianid) { string updatecmd = string.Format("insert into nr_z_quanxian values({0},{1})", jsid, id); DBHlper.excutecmd(updatecmd); } } //给日志模板赋值 rizhi.riqi = DateTime.Now; rizhi.leixing = "系统角色"; //将session转换对象取值 Maticsoft.Model.nr_z_yhzh zh = (Maticsoft.Model.nr_z_yhzh)Session["user"]; rizhi.yonghuming = zh.zhanghao; //拼接字符串插入日志 rizhi.jilu = zh.zhanghao + "为角色授权,角色名为:" + juesebll.GetModel(Convert.ToInt32(jsid)).mingcheng; ; rizhibll.Add(rizhi); } #endregion #region 敏感权限查看 void pdquanxian(int juese) { Maticsoft.Model.nr_z_yhzh user = (Maticsoft.Model.nr_z_yhzh)(Session["user"]); if (DBHlper.getzt(user.id) != 1) { Response.Redirect("../index.aspx"); } if (DBHlper.GetPermission(juese, "系统角色", "nr_z_yhjs", "角色授权") == false) { Response.Redirect("../Common/nopower.htm"); } } #endregion #region 查询角色名称是否重复 [Ajax.AjaxMethod] public int serchmingcheng(string str) { string cmd = string.Format("select * from nr_z_yhjs where mingcheng='{0}'", str.Replace(" ", "")); int count = DBHlper.getcount(cmd); return count; } #endregion protected void bt_tj_Click(object sender, EventArgs e) { if (getjs.PanDing) { if (DBHlper.getjscount() >= getjs.JsCount) { z_error.Text = "请您购买足够的角色!"; return; } } jsmd.mingcheng = jsmc.Value.Trim(); int s = juesebll.Add(jsmd); if (s > 0) { //给日志模板赋值 rizhi.riqi = DateTime.Now; rizhi.leixing = "系统角色"; //将session转换对象取值 Maticsoft.Model.nr_z_yhzh zh = (Maticsoft.Model.nr_z_yhzh)Session["user"]; rizhi.yonghuming = zh.zhanghao; //拼接字符串插入日志 rizhi.jilu = zh.zhanghao + "添加了系统角色,角色名为:" + jsmc.Value.Trim(); rizhibll.Add(rizhi); Response.Write(""); } } protected void xzjs_SelectedIndexChanged(object sender, EventArgs e) { string yhsl = DBHlper.getfirstcolmn("select count(*) from nr_z_yhzh where juese='" + xzjs.SelectedValue + "'"); jsidz.Text = xzjs.SelectedValue; jsid.Value = xzjs.SelectedValue; jsyhsl.Text = yhsl + "个"; } protected void scjs_Click(object sender, EventArgs e) { string cmdcjs = "select * from nr_z_yhzh where juese='" + jsid.Value + "'"; DataSet ds = DBHlper.Execute(cmdcjs); if (ds != null && ds.Tables[0].Rows.Count > 0) { z_error.Text = "该角色下存在用户删除失败!"; return; } else { string cmdsjs = "delete nr_z_yhjs where id='" + jsid.Value + "'"; if (DBHlper.excutecmd(cmdsjs) > 0) { //给日志模板赋值 rizhi.riqi = DateTime.Now; rizhi.leixing = "系统角色"; //将session转换对象取值 Maticsoft.Model.nr_z_yhzh zh = (Maticsoft.Model.nr_z_yhzh)Session["user"]; rizhi.yonghuming = zh.zhanghao; //拼接字符串插入日志 rizhi.jilu = zh.zhanghao + "删除了系统角色,角色名为:" + xzjs.Text.Trim(); rizhibll.Add(rizhi); Response.Write(""); } } } }