日期:2014-05-17 浏览次数:21119 次
public static int GetStaffNumByUpLeaderId(int UpleaderId, int parentDeptId)
        {
            int countStaffNum = 0;
            StringBuilder strSql1 = new StringBuilder();
            if (UpleaderId > 0)
            {
                strSql1.Append("select deptId,parentDeptId,deptUpLeaderId FROM Department");
                strSql1.Append(" where parentDeptId=" + parentDeptId);
                strSql1.Append(" and deptUpLeaderId=" + UpleaderId);
            }
            else
            {
                strSql1.Append("select deptId FROM Department");
                strSql1.Append(" where parentDeptId=" + parentDeptId);
            }
            DataTable dt1 = DbHelperSQL.Query(strSql1.ToString()).Tables[0];
            if (dt1.Rows.Count>0)
            {
                for (int i = 0; i < dt1.Rows.Count; i++)
                {
                    StringBuilder strSql2 = new StringBuilder();
                    strSql2.Append("select count(userId) FROM UserInfo");
                    strSql2.AppendLine(" where deptId=" + int.Parse(dt1.Rows[i]["deptId"].ToString()));
                    object objDeptStaffNum = DbHelperSQL.GetSingle(strSql2.ToString());
                    countStaffNum += int.Parse(objDeptStaffNum.ToString());
                    countStaffNum += GetStaffCountByUpLeaderId(int.Parse(dt1.Rows[i]["deptId"].ToString()), 0);//统计下级部门员工(递归)
                }
            }
            return countStaffNum;
        }
int countStaffNum = 0;
     public static int GetStaffNumByUpLeaderId(int UpleaderId, int parentDeptId)
        {
            
            StringBuilder strSql1 = new StringBuilder();
            if (UpleaderId > 0)
            {
                strSql1.Append("select deptId,parentDeptId,deptUpLeaderId FROM Department");
                strSql1.Append(" where parentDeptId=" + parentDeptId);
                strSql1.Append(" and deptUpLeaderId=" + UpleaderId);
            }
            else
            {
                strSql1.Append("select deptId FROM Department");
                strSql1.Append(" where parentDeptId=" + parentDeptId);
            }
            DataTable dt1 = DbHelperSQL.Query(strSql1.ToString()).Tables[0];
            if (dt1.Rows.Count>0)
            {
                for (int i = 0; i < dt1.Rows.Count; i++)
                {
                    StringBuilder strSql2 = new StringBuilder();
                    strSql2.Append("select count(userId) FROM UserInfo");
                    strSql2.AppendLine(" where deptId=" + int.Parse(dt1.Rows[i]["deptId"].ToString()));
                    object objDeptStaffNum = DbHelperSQL.GetSingle(strSql2.ToString());
                    countStaffNum += int.Parse(objDeptStaffNum.ToString());
                    countStaffNum += GetStaffCountByUpLeaderId(int.Parse(dt1.Rows[i]["deptId"].ToString()), 0);//统计下级部门员工(递归)
                }
            }
            return countStaffNum;
        }