/// <summary>
        /// 根据部门的ID获取子部门ID字符串包括自己以","分隔
        /// </summary>
        /// <param name="strDeptID">部门ID</param>
        /// <param name="iFloorCode">层级(0:自己 -1:所有 >0:层数)</param>
        /// <returns>String</returns>
        public static String GetChildDeptIDSConSelf(string strDeptID, int iFloorCode)
        {
            ViewBase vb     = null;
            string   strIDS = string.Empty;

            vb = OADept.GetChildDeptsConSelf(strDeptID, iFloorCode);
            if (vb != null)
            {
                strIDS = vb.GetFieldVals("ID", ",");
            }
            else
            {
                strIDS = strDeptID;
            }
            return(strIDS);
        }
        /// <summary>
        /// 根据用户的账号(不包含域名)和职位名获取可交办和传阅的部门的ID以","分隔
        /// </summary>
        /// <param name="strUserID">用户账号</param>
        /// <param name="strPostName">职位名称</param>
        /// <returns></returns>
        private static string GetDeptIDByUser(string strUserID, string strPostName)
        {
            string    strIDS           = string.Empty;
            int       iCount           = 0;
            ViewBase  vbDept           = null;
            string    strDeptIDS       = string.Empty;
            ArrayList arrDepts         = new ArrayList();
            ArrayList strPostNames     = OAUser.GetSupPostNameAarray(strPostName);
            ViewBase  vbCompanyLeaders = OAUser.GetUserByRole(OUConstString.RoleName.COMPANY_LEADER);

            if (vbCompanyLeaders != null && vbCompanyLeaders.Count > 0)
            {
                vbCompanyLeaders.Condition = "a.userid=" + "'" + strUserID + "'";
            }
            if (vbCompanyLeaders != null && vbCompanyLeaders.DtTable != null)
            {
                iCount = vbCompanyLeaders.DtTable.Rows.Count;
            }
            if (iCount == 0)
            {
                User user = OAUser.GetUser(strUserID);
                if (user != null)
                {
                    ViewBase vbDeptPost = user.DeptPosts;
                    if (vbDeptPost != null)
                    {
                        foreach (DeptPost deptpost in vbDeptPost.Ens)
                        {
                            if (deptpost.Dept != null && deptpost.Post != null)
                            {
                                if (strPostNames.Contains(deptpost.Post.Name))
                                {
                                    arrDepts.Add(deptpost.Dept.ID);
                                }
                            }
                        }
                    }
                    ViewBase vbDeptManger = user.ManagerDepts;
                    if (vbDeptManger != null)
                    {
                        foreach (Department dept in vbDeptManger.Ens)
                        {
                            arrDepts.Add(dept.ID);
                        }
                    }
                    ViewBase vbDeptLeader = user.LeaderDepts;
                    if (vbDeptLeader != null)
                    {
                        foreach (Department dept in vbDeptLeader.Ens)
                        {
                            arrDepts.Add(dept.ID);
                        }
                    }
                    strDeptIDS = OADept.GetStringFormatForArrayList(arrDepts, ",");
                    vbDept     = OADept.GetChildDeptsConSelf(strDeptIDS, -1);
                    if (vbDept != null)
                    {
                        strIDS = vbDept.GetFieldVals("ID", ",");
                    }
                    else
                    {
                        strIDS = "-1";
                    }
                }
            }
            return(strIDS);
        }