Ejemplo n.º 1
0
        public async Task <IActionResult> GetOrganizationTreeAsync([FromBody] GetOrganizationTreeRequestDto request)
        {
            var organizationBiz = new OrganizationBiz();
            var modelList       = await organizationBiz.GetAllAsync(request);

            var response = GetOrganizationTree(null, modelList);

            return(Success(response));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取所有组织架构
        /// </summary>
        /// <returns></returns>
        public async Task <IEnumerable <OrganizationModel> > GetAllAsync(GetOrganizationTreeRequestDto request)
        {
            using (var conn = MySqlHelper.GetConnection())
            {
                var    sortFields = new string[] { "sort".ToLower(), "creation_Date".ToLower() };
                string whereSql   = $"WHERE 1=1";
                if (!string.IsNullOrEmpty(request.Name))
                {
                    whereSql = $" {whereSql} AND (org_name like @name or parentName like @name)";
                }
                if (request.Enable != null)
                {
                    whereSql = $" {whereSql} AND Enable = @Enable";
                }
                var orderbySql = "sort desc";
                if (!string.IsNullOrWhiteSpace(request.SortField))
                {
                    orderbySql = $"{(sortFields.Contains(request.SortField.ToLower()) ? request.SortField : sortFields[0])} {(request.IsAscending ? "asc" : "desc")}";
                }
                string sql = $@"
SELECT * FROM(
    SELECT
	    a.*,
	    b.org_name AS parentName 
    FROM
	    t_manager_organization a
	    LEFT JOIN t_manager_organization b ON a.parent_guid = b.org_guid
)__T
{whereSql}
ORDER BY {orderbySql}
";
                return(await conn.QueryAsync <OrganizationModel>(sql, new
                {
                    name = $"%{request.Name}%",
                    request.Enable
                }));
            }
        }