protected void ddlProc_DataBound(object sender, EventArgs e) { //获取Session中保存的用户id Int16 userId = Int16.Parse(Session["user_id"].ToString()); //当前用户选择的部门id object obj = Session["proc_id"]; //通过选择的部门id以及当前用户id获取用户权限 using (var da = new v_user_proc_roleTableAdapter()) { //保存查询数据的表 DataSetUserProcRole.v_user_proc_roleDataTable tab; //检测部门id号 byte procId; if (obj != null && byte.TryParse(obj.ToString(), out procId) && procId != byte.MaxValue) { //获取数据 tab = da.GetDataByUserIdAndProcId(userId, procId); } else { //获取数据 tab = da.GetDataByUserId(userId); } //检测有无数据 if (tab != null && tab.Rows.Count > 0) { //只取首行 var row = (DataSetUserProcRole.v_user_proc_roleRow)tab.Rows[0]; //设置用户名和部门名称 ltlUser.Text = row.u_name; //清除之前保存的全部session Session.Clear(); //将用户名id写入Session Session["user_id"] = row.u_id; //将用户名写入Session Session["user_name"] = row.u_name; //将部门id写入Session Session["proc_id"] = row.proc_id; //将部门名称写入Session Session["proc_name"] = row.proc_name; //将角色id写入Session Session["role_id"] = row.ro_id; //取得是否部门名称 using (var da2 = new t_procTableAdapter()) { //获取全部部门清单 var tab2 = da2.GetDataByProductProcName(row.proc_name); //检测结果 if (tab2.Rows.Count <= 0) { //改变为部门 litProc.Text = "部门"; } } //显示到ddl控件中 for (int i = 0; i < ddlProc.Items.Count; i++) { //当前项 var itm = ddlProc.Items[i]; if (itm.Text == row.proc_name) { //设置当前项为选中项 if (ddlProc.SelectedIndex != i) { ddlProc.SelectedIndex = i; } //更新最后一次部门名称 using (var da2 = new t_userTableAdapter()) { da2.UpdateLastProcByUserId(row.proc_name, row.u_id); } //刷新页面 StringBuilder sb = new StringBuilder(); sb.AppendLine("<script type=\"text/javascript\">"); sb.AppendLine("this.top.document.title=\"" + ddlProc.SelectedItem.Text + litProc.Text + "管理系统\";"); sb.AppendLine("</script>"); Response.Write(sb.ToString()); //退出循环 break; } } } } }
/// <summary> /// 检测是否存在指定的生产部门名称或者市场 /// </summary> /// <param name="procName">待检测的部门名称</param> /// <returns></returns> internal static bool IsExistProductProcOrMarket(string procName) { //部门名称转大写 procName = procName.ToUpper(); //检测是否市场 if (procName == "市场") { //存在该部门 return true; } //实例化数据适配器并获取数据 using (var da = new t_procTableAdapter()) using (var tab = da.GetDataByProductProcName(procName)) { //检测是否获取到数据 if (tab.Rows.Count > 0) { //存在该部门 return true; } else { //不存在该部门 return false; } } }
protected new void Page_Load(object sender, EventArgs e) { //执行基类事件过程 base.Page_Load(sender, e); //根据部门名称设置是否默认选中只显示本部门 if (!IsPostBack) { //保存排序规则到session Session["proc_lot_card_mgr_order_by_content"] = "order by [proc_name],[product_num],[lot_id],[id]"; //检测是否含有session if (Session.Count < 5) { //跳转 Response.Redirect("/Account/Login", true); //停止加载后续内容 Response.End(); //直接返回 return; } //当前所选择的部门 string procName = Session["proc_name"].ToString().ToUpper(); //当前角色id Int16 roleId = Convert.ToInt16(Session["role_id"]); //检测是否有权限 if ((procName != mustProcName && procName != "样板") || roleId < 0 || roleId > 2) { //设置部分按钮和超链接不可用 linkAdd.Attributes.Remove("href"); linkAdd.Attributes.Add("class", "yd-no-underline"); } //检测当前部门是否是生产部门 bool isShowAllProc = true; if (procName == "成品仓" || procName == "MRB") { isShowAllProc = false; } else { using (var da = new t_procTableAdapter()) using (var tab = da.GetDataByProductProcName(procName)) { if (tab.Rows.Count > 0) { isShowAllProc = false; } } } //检测是否显示全部部门结存批量卡 if (isShowAllProc) { //选择显示所有部门余数 chkThisProcOnly.Checked = false; chkThisProcOnly.Visible = false; } //默认汇总条件 divTotalInfo.Attributes.Add("wh", string.Empty); } //检查传入的参数 string proc = Request["proc"]; //是否指定只取指定部门的余数 if (proc != null && proc.Length > 0) { //选择只显示当前部门余数 chkThisProcOnly.Checked = true; chkThisProcOnly.Visible = false; //只显示当前部门 litHeadName.Text = proc; odsProcLotCardMgr.SelectParameters["procName"].DefaultValue = proc; } else if (chkThisProcOnly.Checked) { //选中只显示当前部门 odsProcLotCardMgr.SelectParameters["procName"].DefaultValue = Session["proc_name"].ToString(); } else { //显示全部部门 odsProcLotCardMgr.SelectParameters["procName"].DefaultValue = ""; } //默认汇总条件 divTotalInfo.Attributes.Add("proc", odsProcLotCardMgr.SelectParameters["procName"].DefaultValue); }
protected new void Page_Load(object sender, EventArgs e) { //执行基类事件过程 base.Page_Load(sender, e); //根据部门名称设置是否默认选中只显示本部门 if (!IsPostBack) { //保存排序规则到session Session["over_time_balance_order_by_content"] = "order by [proc_name],[product_num],[lot_id],[id]"; //检测是否含有session if (Session.Count < 5) { //跳转 Response.Redirect("/Account/Login", true); //停止加载后续内容 Response.End(); //直接返回 return; } //当前所选择的部门 string procName = Session["proc_name"].ToString(); //检测当前部门是否是生产部门 bool isShowAllProc = true; if (procName == "成品仓") { isShowAllProc = false; } else { using (var da = new t_procTableAdapter()) using (var tab = da.GetDataByProductProcName(procName)) { if (tab.Rows.Count > 0) { isShowAllProc = false; } } } //检测是否显示全部部门结存批量卡 if (isShowAllProc) { //选择显示所有部门余数 chkThisProcOnly.Checked = false; chkThisProcOnly.Visible = false; } //检测当前是否为空的查询条件 var obj = Session["over_time_balance_where_content"]; if (obj == null || obj == DBNull.Value || obj.ToString().Length <= 0) { Session["over_time_balance_where_content"] = string.Format(" where [add_time]<'{0}'", DateTime.Now.AddHours(-25)); txtOverHours.Value = "25"; } //默认汇总条件 divTotalInfo.Attributes.Add("wh", Session["over_time_balance_where_content"].ToString()); } //检查传入的参数 string proc = Request["proc"]; //是否指定只取指定部门的余数 if (proc != null && proc.Length > 0) { //选择只显示当前部门余数 chkThisProcOnly.Checked = true; chkThisProcOnly.Visible = false; //只显示当前部门 litHeadName.Text = proc; odsOverTimeBalance.SelectParameters["procName"].DefaultValue = proc; } else if (chkThisProcOnly.Checked) { //选中只显示当前部门 odsOverTimeBalance.SelectParameters["procName"].DefaultValue = Session["proc_name"].ToString(); } else { //显示全部部门 odsOverTimeBalance.SelectParameters["procName"].DefaultValue = ""; } //默认汇总条件 string strProcName = odsOverTimeBalance.SelectParameters["procName"].DefaultValue; divTotalInfo.Attributes.Add("proc", strProcName); if (!IsPostBack) { txtProcName.Value = strProcName; } }