protected void Page_Load(object sender, System.EventArgs e) { try { string m_strGetType = Request.QueryString["GetType"] + ""; //数据分类 string m_strLayer = Request.QueryString["Layer"] + ""; //需要取的层数 string m_strNodeId = Request.QueryString["NodeId"] + ""; //父节点编号 string[] m_Layers = (Request.QueryString["Layers"] + "").Split('.'); //定点展开的序列 string m_strSelectedLayer = Request.QueryString["SelectedLayer"] + ""; //定层展开的深度 string m_strCurrLayer = Request.QueryString["CurrLayer"] + ""; //当前节点的层数 string m_strParentLayer = Request.QueryString["ParentLayer"] + ""; //父节点的层数 string m_strNotDisplayNull = Request.QueryString["NotDisplayNull"] + ""; //当人数为空时不显示该部门节点 if (m_strCurrLayer != "") { m_intCurrLayer = ToInt(m_strCurrLayer); } else { m_intCurrLayer = ToInt(m_strParentLayer) + 1; // m_intCurrLayer = ToInt(m_strParentLayer) + 2; } m_strNodeId = DecodeId(m_strNodeId); DataTable m_Table = new DataTable("OBS"); m_Table.Columns.Add("Code"); m_Table.Columns.Add("SelfCode"); m_Table.Columns.Add("Name"); m_Table.Columns.Add("ParentCode"); m_Table.Columns.Add("Description"); m_Table.Columns.Add("Layer"); m_Table.Columns.Add("ChildNodesCount"); m_Table.Columns.Add("ShowChildNodes"); m_Table.Columns.Add("NodeType"); m_Table.Columns.Add("SortID"); m_Table.Columns.Add("UserCount"); m_Table.Columns.Add("ImageName"); if (m_strGetType == "") { #region 取第一层 m_strParentCode = ""; EntityData entity; if (m_strNotDisplayNull == "1") { entity = OBSDAO.GetOBSUnitOnlyHasUserByParent(m_strNodeId); } else { entity = OBSDAO.GetOBSUnitByParent(m_strNodeId); } DataTable m_DataTable = entity.CurrentTable; foreach (DataRow dr in m_DataTable.Rows) { //用户数为0时,该节点不显示 // int UserCount = 0; // if (m_DataTable.Columns.Contains("UserCount")) // { // UserCount = BLL.ConvertRule.ToInt(dr["UserCount"]); // } // // if ((UserCount > 0) || (m_strNotDisplayNull != "1")) // { DataRow m_NewRow = m_Table.NewRow(); this.FillRow(ref m_NewRow, dr); m_Table.Rows.Add(m_NewRow); // } } entity.Dispose(); #endregion } else if (m_strGetType == "ChildNodesOnlyUnit") { #region 取部门节点下的子部门(ChildCount只统计子部门数,不统计岗位数) m_strParentCode = m_strNodeId; EntityData entity; if (m_strNotDisplayNull == "1") { entity = OBSDAO.GetUnitOnlyHasUserByParent(m_strNodeId); } else { entity = OBSDAO.GetUnitByParent(m_strNodeId); } DataTable m_DataTable = entity.CurrentTable; foreach (DataRow dr in m_DataTable.Rows) { //用户数为0时,该节点不显示 // int UserCount = 0; // if (m_DataTable.Columns.Contains("UserCount")) // { // UserCount = BLL.ConvertRule.ToInt(dr["UserCount"]); // } // // if ((UserCount > 0) || (m_strNotDisplayNull != "1")) // { DataRow m_NewRow = m_Table.NewRow(); this.FillRow(ref m_NewRow, dr); m_Table.Rows.Add(m_NewRow); // } } entity.Dispose(); #endregion } else if (m_strGetType == "ChildNodes") { #region 取部门节点下的子部门(ChildCount统计子部门数+岗位数) m_strParentCode = m_strNodeId; EntityData entity; if (m_strNotDisplayNull == "1") { entity = OBSDAO.GetOBSUnitOnlyHasUserByParent(m_strNodeId); } else { entity = OBSDAO.GetOBSUnitByParent(m_strNodeId); } DataTable m_DataTable = entity.CurrentTable; foreach (DataRow dr in m_DataTable.Rows) { //用户数为0时,该节点不显示 // int UserCount = 0; // if (m_DataTable.Columns.Contains("UserCount")) // { // UserCount = BLL.ConvertRule.ToInt(dr["UserCount"]); // } // // if ((UserCount > 0) || (m_strNotDisplayNull != "1")) // { DataRow m_NewRow = m_Table.NewRow(); this.FillRow(ref m_NewRow, dr); m_Table.Rows.Add(m_NewRow); // } } entity.Dispose(); #endregion } else if (m_strGetType == "ChildNodesRoleOfUnit") { #region 取部门节点下的岗位 m_strParentCode = m_strNodeId; EntityData entity = OBSDAO.GetStationByUnitCode(m_strNodeId); DataTable m_DataTable = entity.CurrentTable; foreach (DataRow dr in m_DataTable.Rows) { DataRow m_NewRow = m_Table.NewRow(); this.FillRoleRow(ref m_NewRow, dr); m_Table.Rows.Add(m_NewRow); } entity.Dispose(); #endregion } // else if(m_strGetType=="ChildNodesUserOfRole") // { // #region 取角色节点下的子用户 // // m_strParentCode = m_strNodeId; // // EntityData entity = SystemManageDAO.GetSystemUserByRoleCode(m_strNodeId); // DataTable m_DataTable=entity.CurrentTable; // // foreach(DataRow dr in m_DataTable.Rows) // { // DataRow m_NewRow = m_Table.NewRow(); // // this.FillUserRow(ref m_NewRow,dr); // // m_Table.Rows.Add(m_NewRow); // } // // entity.Dispose(); // // #endregion // } else if (m_strGetType == "SingleNode") { #region 单个部门节点 EntityData entity = OBSDAO.GetOBSUnitByCode(m_strNodeId); DataTable m_DataTable = entity.CurrentTable; if (m_DataTable.Rows.Count > 0) { DataRow dr = m_DataTable.Rows[0]; DataRow m_NewRow = m_Table.NewRow(); this.FillRow(ref m_NewRow, dr); m_Table.Rows.Add(m_NewRow); } entity.Dispose(); #endregion } else if (m_strGetType == "SingleNodeRole") { #region 单个岗位节点 EntityData entity = OBSDAO.GetStationByCode(m_strNodeId); DataTable m_DataTable = entity.CurrentTable; if (m_DataTable.Rows.Count > 0) { DataRow dr = m_DataTable.Rows[0]; DataRow m_NewRow = m_Table.NewRow(); this.FillRoleRow(ref m_NewRow, dr); m_Table.Rows.Add(m_NewRow); } entity.Dispose(); #endregion } else if (m_strGetType == "NoStationUser") { #region 未定岗人员 int UserCount = 0; EntityData entity = BLL.SystemRule.GetUsersNoStation(); UserCount = entity.CurrentTable.Rows.Count; entity.Dispose(); if ((UserCount > 0) || (m_strNotDisplayNull != "1")) { DataRow m_NewRow = m_Table.NewRow(); m_NewRow["Code"] = "D_NoStationUser"; m_NewRow["SelfCode"] = m_NewRow["Code"]; m_NewRow["Name"] = "未定岗人员"; m_NewRow["Layer"] = m_intCurrLayer; m_NewRow["ParentCode"] = ""; m_NewRow["UserCount"] = UserCount; m_NewRow["ChildNodesCount"] = 0; m_NewRow["ShowChildNodes"] = "0"; m_NewRow["SortID"] = ""; m_NewRow["ImageName"] = "user.gif"; m_NewRow["NodeType"] = ""; m_Table.Rows.Add(m_NewRow); } #endregion } // else if(m_strGetType=="SingleNodeUser") // { // #region 单个用户节点 // // EntityData entity = SystemManageDAO.GetSystemUserByCode(m_strNodeId); // DataTable m_DataTable=entity.CurrentTable; // if (m_DataTable.Rows.Count > 0) // { // DataRow dr = m_DataTable.Rows[0]; // DataRow m_NewRow = m_Table.NewRow(); // // this.FillUserRow(ref m_NewRow,dr); // // m_Table.Rows.Add(m_NewRow); // } // // entity.Dispose(); // // #endregion // } Response.Write(RmsPM.WebControls.TreeView.XmlTree.GetDataToXmlString(m_Table)); /* 注释掉 2004.5.26 begin--------------------------------------------------------------------------------- * string m_strUnitCode=(Request.QueryString["UnitCode"]==null?"":Request.QueryString["UnitCode"]); * string m_strLayers=(Request.QueryString["Layers"]==null?"*":Request.QueryString["Layers"]); * string m_strLayer=(Request.QueryString["Layer"]==null?"0":Request.QueryString["Layer"]); * string[] m_Layers=m_strLayers.Split('.'); * * DataTable m_Table=new DataTable("Unit"); * m_Table.Columns.Add("UnitCode"); * m_Table.Columns.Add("UnitName"); * m_Table.Columns.Add("Remark"); * m_Table.Columns.Add("Layer"); * m_Table.Columns.Add("ChildNodesCount"); * m_Table.Columns.Add("ShowChildNodes"); * m_Table.Columns.Add("PrincipalName"); * * // EntityData m_Unit=OBSDAO.GetUnitByParent(base.ProjectCode,m_strUnitCode); * EntityData m_Unit=OBSDAO.GetUnitByParent(m_strUnitCode); * * foreach(DataRow m_Row in m_Unit.Tables["Unit"].Rows) * { * DataRow m_NewRow = m_Table.NewRow(); * m_NewRow["UnitCode"]=m_Row["UnitCode"].ToString(); * m_NewRow["UnitName"]=m_Row["UnitName"].ToString(); * m_NewRow["PrincipalName"]=m_Row["PrincipalName"].ToString(); * m_NewRow["Remark"]=m_Row["Remark"].ToString(); * m_NewRow["Layer"]=m_Row["Deep"].ToString(); * m_NewRow["ChildNodesCount"]=m_Row["ChildCount"].ToString(); * m_NewRow["ShowChildNodes"]=0; * m_Table.Rows.Add(m_NewRow); * * } * m_Unit.Dispose(); * * Response.Write(RmsPM.WebControls.TreeView.XmlTree.GetDataToXmlString(m_Table)); * Response.End(); * 注释掉 2004.5.26 end---------------------------------------------------------------------------------*/ } catch (Exception ex) { ApplicationLog.WriteLog(this.ToString(), ex, "加载组织结构错误。" + ex.Message); } Response.End(); }