Example #1
0
 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;
                 }
             }
         }
     }
 }
Example #2
0
 /// <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;
         }
     }
 }
Example #3
0
 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);
 }
Example #4
0
 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;
     }
 }