Esempio n. 1
0
        /// <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);
        }
Esempio n. 4
0
        /// <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);
        }