Exemplo n.º 1
0
        /// <summary>
        /// 根据用户的ID,获取到当前用户的所有权限
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        private DataTable sessionPower(string userid)
        {
            DataTable dt1 = new DataTable();

            try
            {
                mUser = bUser.GetModel(userid);
                if (mUser != null)
                {
                    string department  = mUser.DepartMentID.ToString(); //部门的ID
                    string gangwei     = mUser.StationID.ToString();    //岗位的ID
                    string spacialrole = mUser.GROUPS.ToString();

                    DataTable dt2 = new DataTable();
                    DataTable dt3 = new DataTable();
                    dt1 = getRoles(department);
                    dt2 = getRoles(gangwei);
                    dt3 = getRoles(spacialrole);


                    dt1 = common.CombineTheSameDatatable(dt1, dt2);
                    dt1 = common.CombineTheSameDatatable(dt1, dt3);
                    dt1 = common.makeDistinceTable(dt1, "ID");

                    //新建一个Session,判断是不是秘书
                    DataTable Isdt = bugroups.GetList("id in ('" + spacialrole.Replace(",", "','") + "') and Name = '秘书' and tags='普通组'").Tables[0];
                    if (Isdt.Rows.Count > 0)
                    {
                        Session["IsSecretary"] = "1";
                    }
                    else
                    {
                        Session["IsSecretary"] = "0";
                    }
                }
            }
            catch
            {
            }
            return(dt1);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 显示我的项目的列表信息
        /// </summary>
        //protected void ShowListInfo(string userid,string type)
        protected void ShowListInfo(string userid)
        {
            try
            {
                //项目状态
                //string projectstatus = DDL_ProjectStatus.SelectedValue.ToString();
                string    projectstatus = Request["projectstatus"].ToString();
                DataTable dt1           = new DataTable();
                DataTable dt2           = new DataTable();
                DataTable dt3           = new DataTable();
                //*************************获取该登陆者负责或参与或创建的项目

                //如果查找的是已删除的项目,就直接找出delflag = 1的,则不需要并联状态了。
                if (projectstatus.ToString().Equals("99"))
                {
                    //我负责的项目
                    string sql1 = " SELECT * FROM vProject_Projects WHERE LeaderID='" + userid + "' and DELFLAG=1 ";


                    dt1 = pageControl.doSql(sql1).Tables[0];

                    //我参与的项目
                    string sql2 = "  SELECT  * FROM  vProject_Projects WHERE  DELFLAG=1 and id in(select Projectid from Project_UserList where userid='" + userid + "' and status='1') and NAMES<>'无' and NAMES<>'日常项目' and NAMES<>'-无-'";

                    dt2 = pageControl.doSql(sql2).Tables[0];

                    //DataTable dt3 = null;
                    if (projectstatus != "1" && projectstatus != "3" && projectstatus != "5")
                    {
                        //我创建的项目
                        string sql3 = "  SELECT * FROM vProject_Projects WHERE SendUserID='" + userid + "' and DELFLAG=1 ";

                        dt3 = pageControl.doSql(sql3).Tables[0];
                    }
                }
                else
                {
                    //我负责的项目
                    string sql1 = " SELECT * FROM vProject_Projects WHERE (SendUserID='" + userid + "' OR LeaderID='" + userid + "')  and DELFLAG=0    and (Status=" + projectstatus + ")";


                    dt1 = pageControl.doSql(sql1).Tables[0];

                    //我参与的项目
                    string sql2 = "  SELECT  * FROM  vProject_Projects WHERE  DELFLAG=0 and id in(select Projectid from Project_UserList where userid='" + userid + "' and status='1')  and (Status=" + projectstatus + ") and NAMES<>'无' and NAMES<>'日常项目' and NAMES<>'-无-'";

                    dt2 = pageControl.doSql(sql2).Tables[0];

                    //DataTable dt3 = null;
                    if (projectstatus != "1" && projectstatus != "3" && projectstatus != "5")
                    {
                        //我创建的项目
                        string sql3 = "  SELECT * FROM vProject_Projects WHERE SendUserID='" + userid + "' and DELFLAG=0   and (Status=" + projectstatus + ")";

                        dt3 = pageControl.doSql(sql3).Tables[0];
                    }
                }


                //将“我负责的项目”和“我参与的项目”及“我创建的项目”的三个结果集合并在一起(因为结构相同),并且去除掉重复的记录
                //从而形成一个新结果集
                DataTable Newdt = new DataTable();

                //我创建的项目
                if (null != dt3 && dt3.Rows.Count > 0)
                {
                    for (int i = 0; i < dt3.Columns.Count; i++)
                    {
                        Newdt.Columns.Add(dt3.Columns[i].ColumnName);//有重载的方法,可以加入列数据的类型
                    }

                    for (int i = 0; i < dt3.Rows.Count; i++)
                    {
                        //在这里借用TEL这个字段来做一个标记,暂存一下2这个数字,表示的是“我创建的项目”
                        dt3.Rows[i]["TEL"] = "2";
                        Newdt.ImportRow(dt3.Rows[i]);
                    }
                }

                //我负责的项目
                if (null != dt1 && dt1.Rows.Count > 0)
                {
                    if (!(Newdt.Columns.Count > 0))
                    {
                        for (int i = 0; i < dt1.Columns.Count; i++)
                        {
                            Newdt.Columns.Add(dt1.Columns[i].ColumnName);//有重载的方法,可以加入列数据的类型
                        }
                    }

                    for (int i = 0; i < dt1.Rows.Count; i++)
                    {
                        //在这里借用TEL这个字段来做一个标记,暂存一下0这个数字,表示的是“我负责的项目”
                        dt1.Rows[i]["TEL"] = "0";
                        Newdt.ImportRow(dt1.Rows[i]);
                    }
                }

                //我参与的项目
                if (null != dt2 && dt2.Rows.Count > 0)
                {
                    if (!(Newdt.Columns.Count > 0))
                    {
                        for (int i = 0; i < dt2.Columns.Count; i++)
                        {
                            Newdt.Columns.Add(dt2.Columns[i].ColumnName);//有重载的方法,可以加入列数据的类型
                        }
                    }

                    for (int i = 0; i < dt2.Rows.Count; i++)
                    {
                        //在这里借用TEL这个字段来做一个标记,暂存一下1这个数字,表示的是“我参与的项目”
                        dt2.Rows[i]["TEL"] = "1";
                        Newdt.ImportRow(dt2.Rows[i]);
                    }
                }

                //将一个DATATABLE中的重复项去除掉
                if (null != Newdt)
                {
                    Newdt = common.makeDistinceTable(Newdt, "ID");
                }

                //*************************获取该登陆者负责或参与或创建的项目



                ////项目状态
                //string projectstatus = DDL_ProjectStatus.SelectedValue.ToString();

                //DataTable dt = new DataTable();
                //string sql = "";


                ////默认的是进入到“我参与的项目”中;
                //if (type.Equals("0"))
                //{
                //    sql = " SELECT * FROM vProject_Projects WHERE LeaderID='" + userid + "' and DELFLAG=0  ";

                //    if (projectstatus.Equals(""))
                //    {
                //        sql = sql + " and (Status=1 or Status=3 or Status=5) ";
                //    }
                //    else
                //    {
                //        sql = sql + " and (Status=" + projectstatus + ")";
                //    }

                //}
                //else if (type.Equals("2"))
                //{
                //    sql = " SELECT * FROM vProject_Projects WHERE SendUserID='" + userid + "' and DELFLAG=0 ";

                //    if (projectstatus.Equals(""))
                //    {
                //        sql = sql + " and (Status=0 or Status=2 or Status=4) ";
                //    }
                //    else
                //    {
                //        sql = sql + " and (Status=" + projectstatus + ")";
                //    }
                //}
                //else
                //{
                //    sql = " SELECT  * FROM  vProject_Projects WHERE  DELFLAG=0 and id in(select Projectid from Project_UserList where userid='" + userid + "' and status='1') ";

                //    if (projectstatus.Equals(""))
                //    {
                //        sql = sql + " and (Status=1 or Status=3 or Status=5) ";
                //    }
                //    else
                //    {
                //        sql = sql + " and (Status=" + projectstatus + ")";
                //    }
                //}


                //dt = pageControl.doSql(sql).Tables[0];

                if (Newdt.Rows.Count > 0)
                {
                    //当获取到的数据集不为空的时候,显示在GridView1中
                    GridView1.Visible    = true;
                    GridView1.DataSource = Newdt; //指定GridView1的数据是dv
                    GridView1.DataBind();         //将上面指定的信息绑定到GridView1上
                    notice.Text = "";
                }
                else
                {
                    GridView1.Visible = false;
                    notice.Text       = "*没有符合条件的结果!";
                }
            }
            catch
            {
            }
        }