OrgRelationship.ascx.cs
资源名称:H3_OA.rar [点击查看]
上传用户:li2971742
上传日期:2021-11-18
资源大小:39096k
文件大小:6k
源码类别:
OA系统
开发平台:
C#
- using System;
- using System.Collections;
- using System.Configuration;
- using System.Data;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.HtmlControls;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- namespace OThinker.H3.Portal
- {
- public partial class OrgRelationship : System.Web.UI.UserControl
- {
- private string EditID
- {
- get
- {
- return this.Request.QueryString[PortalPage.Param_ID];
- }
- }
- protected void Page_Load(object sender, EventArgs e)
- {
- // 检查是否存在
- OThinker.Organization.Unit unit = OThinker.H3.Server.Engine.Organization.GetUnit(this.EditID);
- if (unit == null)
- {
- return;
- }
- // 直接父组
- string[] directParentGroups = OThinker.H3.Server.Engine.Organization.GetParentGroups(this.EditID);
- if (directParentGroups != null)
- {
- Table table = new Table();
- this.PanelDirectParentGroup.Controls.Add(table);
- foreach (string group in directParentGroups)
- {
- TableRow row = new TableRow();
- table.Rows.Add(row);
- TableCell groupCell = new TableCell();
- row.Cells.Add(groupCell);
- // 显示组信息
- HyperLink lnkGroup = new HyperLink();
- lnkGroup.Text = OThinker.H3.Server.Engine.Organization.GetFullName(group);
- lnkGroup.NavigateUrl = PortalPage.PageName_EditGroup + "?" + PortalPage.Param_ID + "=" + group;
- groupCell.Controls.Add(lnkGroup);
- TableCell titleCell = new TableCell();
- row.Cells.Add(titleCell);
- // 获得用户的职务
- if (unit.UnitType == OThinker.Organization.UnitType.User)
- {
- OThinker.Organization.User user = (OThinker.Organization.User)unit;
- string[] titles = user.GetTitles(group);
- System.Text.StringBuilder titleBuilder = new System.Text.StringBuilder();
- if (titles != null && titles.Length != 0)
- {
- foreach (string titleId in titles)
- {
- OThinker.Organization.Title title = OThinker.H3.Server.Engine.Organization.GetTitle(titleId);
- if (title != null)
- {
- titleBuilder.Append(title.Name + "; ");
- }
- }
- }
- if (titleBuilder.Length == 0)
- {
- titleBuilder.Append("设置职务");
- }
- HyperLink lnkEditTitle = new HyperLink();
- lnkEditTitle.Text = titleBuilder.ToString();
- lnkEditTitle.NavigateUrl = PortalPage.PageName_EditUserTitle + "?" + PortalPage.Param_UserID + "=" + user.UnitID + "&" + PortalPage.Param_Parent + "=" + group;
- lnkEditTitle.Target = "_blank";
- titleCell.Controls.Add(lnkEditTitle);
- }
- }
- }
- // 直接上级组织
- string directParent = OThinker.H3.Server.Engine.Organization.GetParent(this.EditID);
- OThinker.Organization.Unit directParentUnit = OThinker.H3.Server.Engine.Organization.GetUnit(directParent);
- HyperLink lnkDirectParent = new HyperLink();
- lnkDirectParent.Text = OThinker.H3.Server.Engine.Organization.GetFullName(directParent);
- lnkDirectParent.NavigateUrl = PortalPage.GetEditPageName(directParentUnit.UnitType, directParent);
- this.PanelDirectParent.Controls.Add(lnkDirectParent);
- // 经理
- string managerId = OThinker.H3.Server.Engine.Organization.GetManager(this.EditID);
- this.lnkManager.Text = OThinker.H3.Server.Engine.Organization.GetFullName(managerId);
- this.lnkManager.NavigateUrl = PortalPage.GetEditPageName(OThinker.Organization.UnitType.User, managerId);
- // 隶属于
- string[] parents = OThinker.H3.Server.Engine.Organization.GetParents(this.EditID, OThinker.Organization.UnitType.Unspecified, true);
- if (parents != null)
- {
- foreach (string parent in parents)
- {
- OThinker.Organization.Unit parentUnit = OThinker.H3.Server.Engine.Organization.GetUnit(parent);
- HyperLink lnkParent = new HyperLink();
- lnkParent.Text = OThinker.H3.Server.Engine.Organization.GetFullName(parent) + "<BR>";
- lnkParent.NavigateUrl = PortalPage.GetEditPageName(parentUnit.UnitType, parent);
- this.PanelAllParent.Controls.Add(lnkParent);
- }
- }
- // 我的下属
- string[] underlings = OThinker.H3.Server.Engine.Organization.GetUserManagedUnits(this.EditID, OThinker.Organization.UnitType.Unspecified);
- if (underlings != null)
- {
- foreach (string underling in underlings)
- {
- OThinker.Organization.Unit underlingUnit = OThinker.H3.Server.Engine.Organization.GetUnit(underling);
- HyperLink lnkUnderling = new HyperLink();
- lnkUnderling.Text = OThinker.H3.Server.Engine.Organization.GetFullName(underling) + "<BR>";
- lnkUnderling.NavigateUrl = PortalPage.GetEditPageName(underlingUnit.UnitType, underling);
- this.PanelManagedUnit.Controls.Add(lnkUnderling);
- }
- }
- }
- }
- }