/// <summary> /// 根据职位ID获得用户 /// </summary> /// <param name="iPostID">职位ID</param> /// <returns></returns> public static ViewBase GetUserByPositionID(int iPostID) { ViewPostUser vwPostUser = new ViewPostUser(); vwPostUser.BaseCondition = iPostID > 0 ? "c.ID = " + iPostID.ToString() : "1<>1"; return(vwPostUser); }
/// <summary> /// 根据职位ID获得当前部门某些职位的人,支持多个职位 /// </summary> /// <param name="sPostNames">职位名称 ','连接</param> /// <param name="iFloorCode">部门层次: 0自己,>0 子部门层数,-1所有</param> /// <returns></returns> public ViewBase GetUserByPostNames(string sPostNames, int iFloorCode) { string[] strArray = sPostNames.Split(','); string strPosts = string.Empty; foreach (string str in strArray) { if (strPosts.Length > 0) { strPosts += ","; } strPosts += "'" + str + "'"; } string strSubDptIDs = string.Empty; string strCondition = string.Format("b.FK_DeptID=" + base.ID.ToString() + " AND c.Name IN ({0})", strPosts); ViewPostUser vwPostUser = new ViewPostUser(); if (iFloorCode != 0) { strSubDptIDs = this.GetChildDeptID(base.ID, iFloorCode); strSubDptIDs = strSubDptIDs.Length > 0 ? strSubDptIDs + "," + base.ID.ToString() : base.ID.ToString(); strCondition += strSubDptIDs.Length > 0 ? " AND b.FK_DeptID IN (" + strSubDptIDs + ")" : "1<>1"; } vwPostUser.BaseCondition = strCondition; return(vwPostUser); }
/// <summary> /// 根据职位名称获得当前部门大于该职位的人 /// </summary> /// <param name="sPostName">职位名称</param> /// <returns></returns> public ViewBase GetUserByPosition(string sPostName) { Position post = Position.GetPosition(sPostName); ViewPostUser vwPostUser = new ViewPostUser(); vwPostUser.BaseCondition = post == null ? "1<>1" : "b.FK_DeptID=" + base.ID.ToString() + " AND c.SortNum <=" + post.SortNum.ToString(); return(vwPostUser); }
/// <summary> /// 根据职位找人,支持多个职位 /// </summary> /// <param name="sPostNames">职位名字 ","连接</param> /// <returns></returns> public static ViewBase GetUserByPosition(string sPostNames) { string[] strArray = sPostNames.Split(','); string strPosts = string.Empty; foreach (string str in strArray) { if (strPosts.Length > 0) { strPosts += ","; } strPosts += "'" + str + "'"; } ViewPostUser vwPostUser = new ViewPostUser(); vwPostUser.BaseCondition = sPostNames.Length > 0 ? "c.Name in (" + strPosts + ")" : "1<>1"; return(vwPostUser); }
/// <summary> /// 根据职位名称获得当前部门大于该职位的人 /// </summary> /// <param name="sPostName">职位名称</param> /// <param name="iFloorCode">部门层次: 0自己,>0 子部门层数,-1所有</param> /// <returns></returns> public ViewBase GetUserByPosition(string sPostName, int iFloorCode) { Position post = Position.GetPosition(sPostName); ViewPostUser vwPostUser = new ViewPostUser(); string strCondition = post == null ? "1<>1" : " c.SortNum <=" + post.SortNum.ToString(); string strSubDptIDs = string.Empty; if (iFloorCode != 0) { strSubDptIDs = this.GetChildDeptID(base.ID, iFloorCode); strSubDptIDs = strSubDptIDs.Length > 0 ? strSubDptIDs + "," + base.ID.ToString() : base.ID.ToString(); strCondition += strSubDptIDs.Length > 0 ? " AND b.FK_DeptID IN (" + strSubDptIDs + ")" : "1<>1"; } else { strCondition += " and b.FK_DeptID=" + base.ID.ToString(); } vwPostUser.BaseCondition = strCondition; return(vwPostUser); }