using Hotline.Repository.SqlSugar.DataPermissions; using Hotline.SeedData; using Hotline.Settings; using SqlSugar; using XF.Domain.Dependency; namespace Hotline.Repository.SqlSugar.System { public class SystemOrganizeRepository : BaseRepository, ISystemOrganizeRepository, IScopeDependency { public SystemOrganizeRepository(ISugarUnitOfWork uow, IDataPermissionFilterBuilder dataPermissionFilterBuilder) : base(uow, dataPermissionFilterBuilder) { } public async Task> GetOrgJson() { var list = await Db.Queryable() .OrderBy(d => d.Id) .ToTreeAsync(x => x.Children, it => it.ParentId, null); return list; } public async Task> GetCanUseOrg() { var list = await Db.Queryable() .Where(x => x.IsEnable) .ToTreeAsync(x => x.Children, it => it.ParentId, null); return list; } public async Task> GetCanUseOrgByOrgCode(string orgCode) { var list = await Db.Queryable() .Where(it => it.Id.StartsWith(orgCode)) .ToTreeAsync(it => it.Children, it => it.ParentId, orgCode.Substring(0, orgCode.Length - 3)); return list; } //public async Task GetNewOrgCode(string parentId) //{ // //查是否存在下级 // var model = await Db.Queryable() // .OrderByDescending(x => x.OrgCode) // .FirstAsync(x => x.ParentId == parentId); // //如果存在下级 // if (model != null) // { // //return $"{int.Parse(model.OrgCode) +1:###}"; // //return (int.Parse(model.OrgCode) + 1).ToString().PadLeft(3,'0'); // return (int.Parse(model.OrgCode) + 1).ToString("000"); // } // //如果不存在下级 // else // { // var parentModel = await Db.Queryable() // .FirstAsync(x => x.Id == parentId); // return parentModel.OrgCode + "001"; // } //} } }