/// <summary> /// 根据用户登录名得到部门名称,只保留三级 /// </summary> /// <param name="loginName">用户登录名</param> /// <returns></returns> private string DepartmentByLoginName(string loginName) { string rst = string.Empty; using (SPSite site = new SPSite(SPContext.Current.Site.ID)) { using (SPWeb web = site.OpenWeb()) { SPList list = web.Lists["员工信息列表"]; SPQuery spQuery = new SPQuery(); spQuery.Query = "<Where> <Eq><FieldRef Name='LoginName'/> <Value Type ='Text'>" + loginName + "</Value></Eq></Where>"; spQuery.ViewFields = "<FieldRef Name='Department'/>"; SPListItemCollection items = list.GetItems(spQuery); if (items.Count == 1) { rst = items[0]["Department"].ToString(); if (rst.Contains("#")) rst = rst.Split('#')[1]; } } } string[] departs = rst.Split('-'); if (departs.Length > 2) { rst = departs[0] + "-" + departs[1] + "-" + departs[2]; } return rst; } /// <summary> /// 得到上级经理 /// </summary> void Manager(string loginName) { HiddenFieldPosition.Value = ""; #region 给部门和岗位赋值 using (SPSite site = new SPSite(SPContext.Current.Site.ID)) { using (SPWeb web = site.OpenWeb()) { #region 从员工列表读取当前用户的信息,给部门和岗位赋值 SPList list = web.Lists["员工信息列表"]; SPQuery query = new SPQuery(); query.Query = "<Where><Eq><FieldRef Name='LoginName' /><Value Type='Text'>" + loginName + "</Value></Eq></Where>"; SPListItemCollection itemCollection = list.GetItems(query); if (itemCollection.Count > 0) { SPListItem item = itemCollection[0]; string[] strDeparts = item["Department"].ToString().Split('#'); //上级经理 FormFieldManager.Value = item["Manager"]; SPFieldUserValue userValue = new SPFieldUserValue(web, item["Manager"].ToString()); SPUser user = userValue.User; LabelManager.Text = user.Name; //岗位标签 FormFieldPostlabel.Value = null; FormFieldAttache.Value = ""; LabelAttache.Text = ""; if (item["Postlabel"] != null) { FormFieldPostlabel.Value = item["Postlabel"].ToString(); //if (item["Postlabel"].ToString() == "销售") //{ if (item["costcommissioner"] != null) { FormFieldAttache.Value = item["costcommissioner"]; SPFieldUserValue costManagerValue = new SPFieldUserValue(web, item["costcommissioner"].ToString()); SPUser costManager = costManagerValue.User; LabelAttache.Text = costManager.Name; //HiddenFieldAttachDisplayMode.Value = "true"; //LabelAttache.Visible = true; } //} //else //{ // HiddenFieldAttachDisplayMode.Value = "false"; // LabelAttache.Visible = false; //} } if (item["Managementlevel"] != null) { HiddenFieldPosition.Value = item["Managementlevel"].ToString(); } } #endregion } } #endregion
手写:群 212099235