/// <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); }
/// <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 { } }