/*********************************************************** **项目名称: BZPT.IServices **功能描述: CountryServices 的摘要说明 **作 者: 此代码由CodeSmith生成。 **版 本 号: 1.0 **修改历史: ************************************************************/ namespace BZPT.Domains.Services.Sys { using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Net; using System.Security.Claims; using System.Threading.Tasks; using System.Xml.Linq; using BZPT.Domains.Entity.Sys; using BZPT.Domains.IRepositories; using BZPT.Domains.IRepositories.Sys; using BZPT.Domains.IService.Sys; using BZPT.Dto.Sys; using BZPT.Dto.VO; using BZPT.DTO.Const; using Consul; using DevExtreme.AspNet.Data; using Dm.util; using IdentityServer4.Models; using IdentityServer4.Test; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Caching.Memory; using NPlatform; using NPlatform.Domains.Entity; using NPlatform.Dto; using NPlatform.Infrastructure.Redis; using NPlatform.Result; using NPOI.POIFS.Properties; using NPOI.SS.Formula.Functions; using ServiceStack; using SqlSugar; using ZstdSharp.Unsafe; /// /// ProjectInfo 业务层 /// public partial class ProjectInfoService : SugarServiceBase, IProjectInfoService { public ILogger Loger { get; set; } [Autowired] public IProjectInfoRepository _ProjectInfoRepository { get; set; } public IUnitOfWorkSugar unitOfOfWork { get; set; } public Task CacheAllProjects() { throw new NotImplementedException(); } public Task GetOrgProjectTree(string setOrg, int leve) { throw new NotImplementedException(); } public Task GetProjectTree(string setOrg, int leve = 3) { throw new NotImplementedException(); } //public Task> GetProUserPage(string proId, DataSourceLoadOptions whereExp) //{ // throw new NotImplementedException(); //} public Task GetUserProjectTree(string setRole, int leve = 3) { throw new NotImplementedException(); } public Task ProjectInfoAdd(ProjectInfoDto addCommand) { throw new NotImplementedException(); } public Task ProjectInfoEdit(ProjectInfoDto editCommand) { throw new NotImplementedException(); } //public Task ProjectUserAdd(ProjectUserDto proUser) //{ // throw new NotImplementedException(); //} //public Task UserProjectGrant(GrantProSectionInput grants) //{ // throw new NotImplementedException(); //} //[Autowired] //public IUserService userService { get; set; } //[Autowired] //public IUserProjectRepository _userProjectRsp{ get; set; } //[Autowired] //public IOrganizationProjectRepository _OrgProjectRep { get; set; } //public ProjectInfoService( // ILogger loger, IUnitOfWorkSugar unitOf) //{ // Loger = loger; // this.unitOfOfWork = unitOf; //} //private static readonly SemaphoreSlim semaphore = new SemaphoreSlim(1, 1); //[Autowired] //private IRedisService _redisService { get; set; } //public async Task CacheAllProjects() //{ // var pros = await Repository.GetAllAsync(); // pros = pros.Where(t=> !t.IsDeleted); // //删除该字典的缓存,让缓存重新加载。 // await this._redisService.GlobalHashDeleteAsync(CacheKeyBZPT.CACHE_PROJECT_ALL); // foreach (var pro in pros) // { // await semaphore.WaitAsync(); // try // { // var dto = MapperService.Map(pro); // // 将查询结果存入缓存 // await _redisService.GlobalHashSetAsync(CacheKeyBZPT.CACHE_PROJECT_ALL, pro.Id, dto); // } // finally // { // semaphore.Release(); // } // } //} //private string[] hasRight = new string[]{ "1", "2" }; //public async new Task> GetPageAsync(DataSourceLoadOptions dataSourceLoadOptions) //{ // if(dataSourceLoadOptions.Sort==null|| dataSourceLoadOptions.Sort.Length==0) // { // dataSourceLoadOptions.Sort = new SortingInfo[] // { // new SortingInfo // { // Desc=true, // Selector="CreateTime" // } // }; // } // dataSourceLoadOptions.And(new List() { "IsDeleted", "=", false }); // var loginUser = this.Context.Account == "admin" ? "admin" : this.Context.UserID; // var tmpPro = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_PROJECT_ALL); // var allProject = tmpPro.Values.ToList(); // if (loginUser != "admin") // { // var showPro = new string[] { "1", "2" }; // var rolePros = await this._userProjectRsp.GetListByExpAsync(t =>( loginUser== t.UserId&& showPro.Contains(t.Colum2) )); // var allAuthIds = rolePros.Select(t => t.PId).ToList(); // allProject = allProject.Where(t => allAuthIds.Contains(t.Id) || t.CreateUserId == loginUser).ToList(); // } // var rst = DataSourceLoader.Load(allProject, dataSourceLoadOptions); // return new ListResult(rst?.data?.Cast(), rst.totalCount); //} //public async Task ProjectInfoAdd(ProjectInfoDto addCommand) //{ // var vResult = addCommand.Validates(); // if (vResult.StatusCode == 200) // { // var ASId = StringObjectIdGenerator.Instance.GenerateId().ToString(); // // 检查是否已有相同名称 // var existingOrg = await _ProjectInfoRepository.GetByNameAsync(addCommand.AC002, null); // if (existingOrg.Count() >= 1) // { // return Fail("名称已经存在,不能重复添加。", HttpStatusCode.BadRequest); // 返回中文错误信息 // } // try // { // // 调用仓储的批量添加方法 // addCommand.Id = ASId; // addCommand.CreateUser = Context.UserID; // addCommand.CreateTime = DateTime.Now; // addCommand.IsDeleted = false; // var pro = MapperService.Map(addCommand); // pro.CreateUser = Context.UserID; // var userRst = await Repository.AddsAsync(pro); // await CacheAllProjects(); // return Success(userRst); // } // catch (Exception ex) // { // return Fail(ex); // } // } // return vResult; //} //public async Task ProjectInfoEdit(ProjectInfoDto editCommand) //{ // var vResult = editCommand.Validates(); // if (vResult.StatusCode == 200) // { // try // { // // 检查是否已有相同名称 // var existingOrg = await _ProjectInfoRepository.GetByNameAsync(editCommand.AC002, editCommand.Id); // if (existingOrg.Count() >= 1) // { // return Fail("名称已经存在,不能修改为此项目名称。", HttpStatusCode.BadRequest); // 返回中文错误信息 // } // try // { // // 调用仓储的批量修改方法 // var pro = MapperService.Map(editCommand); // var userRst = await Repository.UpdateAsync(pro); // await CacheAllProjects(); // return Success(editCommand); // } // catch (Exception ex) // { // return Fail(ex); // } // } // catch (ArgumentException ex) // { // return Fail(ex.Message); // } // } // return vResult; //} //public async Task Delete(string id) //{ // if (!string.IsNullOrEmpty(id)) // { // var exitOrg=await this._OrgProjectRep.ExistsAsync(t=>t.ProjectID == id); // var exitRole=await this._userProjectRsp.ExistsAsync(t=>t.PId == id); // if(exitOrg||exitRole) // { // return Fail($"项目已被关联到相关{(exitOrg?"机构":"")}、{(exitRole ? "用户" : "")},无法禁用。"); // } // var org = await this.Repository.GetFirstOrDefaultAsync(t => t.Id == id); // org.IsDeleted = true; // var rst = await this.Repository.UpdateAsync(org); // await CacheAllProjects(); // return Success(rst); // } // return Fail("删除失败。"); //} //public override string GetDomainShortName() //{ // return "ProjectInfo"; //} //List allSectionDto = new List(); //List alllaborTeamsDto = new List(); //List allworkerGroupDtos = new List(); //List canSetPros = new List(); //public async Task GetOrgProjectTree(string setOrg, int leve) //{ // var loadAuth = (await this._OrgProjectRep.GetListByExpAsync(t => setOrg == t.OrganizationId)).Select(t => t.ProjectID).ToList(); // // 项目---》标段--》劳务队--》班组 // var tmpPro = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_PROJECT_ALL); // var allProject = tmpPro.Values.Where(t => t.IsDeleted == false).ToList(); // // 标段 // if (leve >= 1) // { // var tmp = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_SECTION_ALL); // allSectionDto = tmp.Values.Where(t => t.IsDeleted == false).ToList(); // } // //获取劳务队 // if (leve >= 2) // { // var tmpTeam = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_LABORTEAM_ALL); // alllaborTeamsDto = tmpTeam.Values.Where(t => t.IsDeleted == false).ToList(); // } // // 获取班组 // if (leve >= 3) // { // var tmpgroups = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_WORKERGROUP_ALL); // allworkerGroupDtos = tmpgroups.Values.Where(t => t.IsDeleted == false).ToList(); // } // var loginUser = this.Context.Account == "admin" ? "admin" : this.Context.UserID; // if (loginUser != "admin") // { // var showPro = loadAuth; // allProject = allProject.Where(t => showPro.Contains(t.Id) || t.CreateUser == loginUser).ToList(); // allSectionDto = allSectionDto.Where(t => showPro.Contains(t.Id) || t.CreateUser == loginUser).ToList(); // alllaborTeamsDto = alllaborTeamsDto.Where(t => showPro.Contains(t.Id) || t.CreateUser == loginUser).ToList(); // allworkerGroupDtos = allworkerGroupDtos.Where(t => showPro.Contains(t.Id) || t.CreateUser == loginUser).ToList(); // canSetPros = loadAuth; // canSetPros.AddRange(allSectionDto.Where(t => t.CreateUser == loginUser).Select(t => t.Id).ToArray()); // canSetPros.AddRange(alllaborTeamsDto.Where(t => t.CreateUser == loginUser).Select(t => t.Id).ToArray()); // canSetPros.AddRange(allworkerGroupDtos.Where(t => t.CreateUser == loginUser).Select(t => t.Id).ToArray()); // } // else // { // canSetPros.AddRange(allProject.Select(t => t.Id).ToArray()); // canSetPros.AddRange(allSectionDto.Select(t => t.Id).ToArray()); // canSetPros.AddRange(alllaborTeamsDto.Select(t => t.Id).ToArray()); // canSetPros.AddRange(allworkerGroupDtos.Select(t => t.Id).ToArray()); // } // var listitems = await GetProjectTree(allProject, leve); // return Success(new { TreeData = listitems, AuthIds = loadAuth }); //} //public async Task GetUserProjectTree(string setUser, int leve = 3) //{ // var loadAuth = (await this._userProjectRsp.GetListByExpAsync(t => setUser == t.UserId&& hasRight.Contains(t.Colum2))).Select(t => t.PId).ToList(); // // 项目---》标段--》劳务队--》班组 // var tmpPro = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_PROJECT_ALL); // var allProject = tmpPro.Values.Where(t => t.IsDeleted == false).ToList(); // // 标段 // if (leve >= 1) // { // var tmp = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_SECTION_ALL); // allSectionDto = tmp.Values.Where(t => t.IsDeleted == false).ToList(); // } // //获取劳务队 // if (leve >= 2) // { // var tmpTeam = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_LABORTEAM_ALL); // alllaborTeamsDto = tmpTeam.Values.Where(t => t.IsDeleted == false).ToList(); // } // // 获取班组 // if (leve >= 3) // { // var tmpgroups = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_WORKERGROUP_ALL); // allworkerGroupDtos = tmpgroups.Values.Where(t => t.IsDeleted == false).ToList(); // } // var loginUser = this.Context.Account == "admin" ? "admin" : this.Context.UserID; // if (loginUser != "admin") // { // var showP =await this._userProjectRsp.GetListByExpAsync(t => loginUser == t.UserId); // var showPro = showP.Select(t => t.PId).ToList(); // allProject = allProject.Where(t => showPro.Contains(t.Id) || t.CreateUser == loginUser).ToList(); // allSectionDto = allSectionDto.Where(t => showPro.Contains(t.Id) || t.CreateUser == loginUser).ToList(); // alllaborTeamsDto = alllaborTeamsDto.Where(t => showPro.Contains(t.Id) || t.CreateUser == loginUser).ToList(); // allworkerGroupDtos = allworkerGroupDtos.Where(t => showPro.Contains(t.Id) || t.CreateUser == loginUser).ToList(); // var canSetP = showP.Where(t => hasRight.Contains(t.Colum2)); // canSetPros = canSetP.Select(t => t.PId).ToList(); // canSetPros.AddRange(allSectionDto.Where(t => t.CreateUser == loginUser).Select(t => t.Id).ToArray()); // canSetPros.AddRange(alllaborTeamsDto.Where(t => t.CreateUser == loginUser).Select(t => t.Id).ToArray()); // canSetPros.AddRange(allworkerGroupDtos.Where(t => t.CreateUser == loginUser).Select(t => t.Id).ToArray()); // } // else // { // canSetPros.AddRange(allProject.Select(t => t.Id).ToArray()); // canSetPros.AddRange(allSectionDto.Select(t => t.Id).ToArray()); // canSetPros.AddRange(alllaborTeamsDto.Select(t => t.Id).ToArray()); // canSetPros.AddRange(allworkerGroupDtos.Select(t => t.Id).ToArray()); // } // var listitems = await GetProjectTree(allProject, leve); // return Success(new { TreeData = listitems, AuthIds = loadAuth }); //} ////获取用户已授权的树,此树显示某个授权项目树,并返回节点是否有权限。 //public async Task GetProjectTree(string setUser, int leve) //{ // // 项目---》标段--》劳务队--》班组 // var tmpPro = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_PROJECT_ALL); // var allProject = tmpPro.Values.Where(t => t.IsDeleted == false).ToList(); // // 标段 // if (leve >= 1) // { // var tmp = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_SECTION_ALL); // allSectionDto = tmp.Values.Where(t => t.IsDeleted == false).ToList(); // } // //获取劳务队 // if (leve >= 2) // { // var tmpTeam = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_LABORTEAM_ALL); // alllaborTeamsDto = tmpTeam.Values.Where(t => t.IsDeleted == false).ToList(); // } // // 获取班组 // if (leve >= 3) // { // var tmpgroups = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_WORKERGROUP_ALL); // allworkerGroupDtos = tmpgroups.Values.Where(t => t.IsDeleted == false).ToList(); // } // var loginUser = this.Context.Account == "admin" ? "admin" : this.Context.UserID; // if (loginUser != "admin") // { // var showP = await this._userProjectRsp.GetListByExpAsync(t => loginUser == t.UserId); // var showPro = showP.Select(t => t.PId).ToList(); // allProject = allProject.Where(t => showPro.Contains(t.Id) || t.CreateUser == loginUser).ToList(); // allSectionDto = allSectionDto.Where(t => showPro.Contains(t.Id) || t.CreateUser == loginUser).ToList(); // alllaborTeamsDto = alllaborTeamsDto.Where(t => showPro.Contains(t.Id) || t.CreateUser == loginUser).ToList(); // allworkerGroupDtos = allworkerGroupDtos.Where(t => showPro.Contains(t.Id) || t.CreateUser == loginUser).ToList(); // var canSetP = showP.Where(t => hasRight.Contains(t.Colum2)); // canSetPros = canSetP.Select(t => t.PId).ToList(); // canSetPros.AddRange(allSectionDto.Where(t => t.CreateUser == loginUser).Select(t => t.Id).ToArray()); // canSetPros.AddRange(alllaborTeamsDto.Where(t => t.CreateUser == loginUser).Select(t => t.Id).ToArray()); // canSetPros.AddRange(allworkerGroupDtos.Where(t => t.CreateUser == loginUser).Select(t => t.Id).ToArray()); // } // else // { // canSetPros.AddRange(allProject.Select(t => t.Id).ToArray()); // canSetPros.AddRange(allSectionDto.Select(t => t.Id).ToArray()); // canSetPros.AddRange(alllaborTeamsDto.Select(t => t.Id).ToArray()); // canSetPros.AddRange(allworkerGroupDtos.Select(t => t.Id).ToArray()); // } // var listitems= await GetProjectTree(allProject,leve); // return Success(new { TreeData = listitems, AuthIds = canSetPros }); //} ///// ///// 加载项目树 ///// ///// 授权角色对象 ///// 显示层级,0项目,1标段,2劳务队,3班组 ///// //private async Task> GetProjectTree(List allProject,int leve=3) //{ // var userPro = new List(); // foreach (var pro in allProject) // { // var sections = GetSection(pro.Id, true); //显示总包 // var parentNode = new TreeItem() // { // Id = pro.Id, // Name = pro.AC002, // IsLeaf = sections.Count == 0, // Children = sections.ToArray(), // LevelCode= "0", // CreateUser= pro.CreateUser, // }; // userPro.Add(parentNode); // SetCheckIds(sections, parentNode); // } // return userPro; //} //private void SetCheckIds(List subItem,TreeItem parentNode) //{ // parentNode.Status = canSetPros.Contains(parentNode.Id)? "checked" : ""; //} //private List GetSection(string proId,bool showZB) //{ // var proSections= allSectionDto.Where(t=>t.AID==proId).ToList(); // List result = new List(); // List zbIds = new List(); // if (showZB) // { // var parentSections = proSections.Where(t => !string.IsNullOrEmpty(t.BZID)).GroupBy(t => t.BZID).Select(t => t.Key).ToList(); // if (parentSections.Count() > 0)// 总包 // { // var parents = proSections.Where(t => parentSections.Contains(t.Id)).ToList(); // foreach (var section in parents) // { // var childs = proSections.Where(t => t.BZID == section.Id).ToList(); // var subSectionItem = new List(); // foreach (var subSection in childs) // { // zbIds.Add(subSection.Id); // var teams= GetLaborTeam(subSection.Id); // var sctParent = new TreeItem() // { // Id = subSection.Id, // Name = subSection.BC02, // IsLeaf = teams.Count == 0, // LevelCode = "1", // //劳务队 // Children = teams.ToArray(), // CreateUser = subSection.CreateUser, // }; // subSectionItem.Add(sctParent); // SetCheckIds(teams, sctParent); // } // var parentNode = new TreeItem() // { // Id = section.Id, // Name = section.BC02, // IsLeaf = subSectionItem.Count() == 0, // LevelCode = "1", // //分包 // Children = subSectionItem.ToArray(), // CreateUser = section.CreateUser, // }; // result.Add(parentNode); // SetCheckIds(subSectionItem, parentNode); // } // } // } // var lastSections=proSections.Where(t=>!zbIds.Contains(t.Id)).ToList(); // foreach (var section in lastSections) { // var teams = GetLaborTeam(section.Id); // var parent = new TreeItem() // { // Id = section.Id, // Name = section.BC02, // IsLeaf = teams.Count == 0, // Children = teams.ToArray(), // LevelCode = "1", // CreateUser = section.CreateUser, // }; // result.Add(parent); // SetCheckIds(teams, parent); // } // return result; //} //private List GetLaborTeam(string sectionId) //{ // var laborTeam = alllaborTeamsDto.Where(t => t.BID == sectionId).ToList(); // List result = new List(); // foreach (var section in laborTeam) // { // var groups = GetGroup(section.Id); // var parent = new TreeItem() // { // Id = section.Id, // Name = section.DC01, // IsLeaf = groups.Count == 0, // LevelCode = "2", // //劳务队 // Children = groups.ToArray(), // CreateUser = section.CreateUser, // }; // result.Add(parent); // SetCheckIds(groups, parent); // } // return result; //} //private List GetGroup(string teamId) //{ // var groups = allworkerGroupDtos.Where(t => t.DID == teamId).ToList(); // List result = new List(); // foreach (var group in groups) // { // var parent = new TreeItem() // { // Id = group.Id, // Name = group.EC01, // IsLeaf = true, // LevelCode = "3", // CreateUser = group.CreateUser, // }; // result.Add(parent); // SetCheckIds(new List(), parent); // } // return result; //} //public async Task UserProjectGrant(GrantProSectionInput grants) //{ // var listGrants = new List(); // foreach (var grant in grants.Cheacks) // { // listGrants.Add(new UserProject() // { // Id = StringObjectIdGenerator.Instance.GenerateId().ToString(), // UserId = grants.GrantId, // PId = grant.Id, // PName=grant.Name, // Colum1=grant.ProType, // Colum2=grant.ProAuthorized, // CreateUser = grant.CreateUser, // CreateTime = DateTime.Now, // }); // } // //开始授权 // try // { // this.unitOfOfWork.BeginTran(); // var _OrganizationRepository = this.unitOfOfWork.GetRepository(); // await _OrganizationRepository.RemoveAsync(t => t.UserId == grants.GrantId); // if (listGrants.Any()) // await _OrganizationRepository.AddsAsync(listGrants.ToArray()); // this.unitOfOfWork.Commit(); // } // catch (Exception ex) // { // this.unitOfOfWork.Rollback(); // return Fail(ex); // } // return Success("授权成功!"); //} //private async Task> GetParent(string parentId, int leve) //{ // // 项目---》标段--》劳务队--》班组 // var tmpPro = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_PROJECT_ALL); // var allProject = tmpPro.Values.Where(t => t.IsDeleted == false).ToList(); // List allSections = new List(); // List allLaborTeams = new List(); // List allParents = new List(); // // 标段 // if (leve >= 1) // { // var tmp = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_SECTION_ALL); // allSections = tmp.Values.Where(t => t.IsDeleted == false).ToList(); // } // //获取劳务队 // if (leve >= 2) // { // var tmpTeam = await _redisService.GlobalHashGetAllAsync(CacheKeyBZPT.CACHE_LABORTEAM_ALL); // allLaborTeams = tmpTeam.Values.Where(t => t.IsDeleted == false).ToList(); // } // var laborTeams = allLaborTeams.Where(t => t.Id == parentId).ToList(); // var sectons = allSections.Where(t => t.Id == parentId).ToList(); // var projects = allProject.Where(t => t.Id == parentId).ToList(); // if (laborTeams.Count > 0) // { // var sectionIds = laborTeams.Select(t => t.BID).ToList(); // var sections = allSections.Where(t => sectionIds.Contains(t.Id)); // var zbids = sections.Select(t => t.BZID).ToList(); // var proids = sections.Select(t => t.AID).ToList(); // allParents.AddRange(laborTeams.Select(t => new UserProject()//劳务队 // { // Id=StringObjectIdGenerator.Instance.GenerateId().ToString(), // PId = t.Id, // PName = t.DC01, // Colum1 = "2", // Colum2 = "0", // }).ToList()); // allParents.AddRange(sections.Select(t => new UserProject()//标段 // { // Id = StringObjectIdGenerator.Instance.GenerateId().ToString(), // PId = t.Id, // PName = t.BC02, // Colum1 = "1", // Colum2 = "0", // }).ToList()); // allParents.AddRange(sections.Select(t => new UserProject()//总包 // { // Id = StringObjectIdGenerator.Instance.GenerateId().ToString(), // PId = t.BZID, // PName = t.BC02, // Colum1 = "1", // Colum2 = "0", // }).ToList()); // allParents.AddRange(sections.Select(t => new UserProject()//项目 // { // Id = StringObjectIdGenerator.Instance.GenerateId().ToString(), // PId = t.AID, // Colum1 = "0", // Colum2 = "0", // }).ToList()); // } // if (sectons.Count > 0) // { // var zbids = sectons.Select(t => t.BZID).ToList(); // var proids = sectons.Select(t => t.AID).ToList(); // allParents.AddRange(sectons.Select(t => new UserProject()//标段 // { // Id = StringObjectIdGenerator.Instance.GenerateId().ToString(), // PId = t.Id, // PName = t.BC02, // Colum1 = "1", // Colum2 = "0", // }).ToList()); // allParents.AddRange(sectons.Select(t => new UserProject()//总包 // { // Id = StringObjectIdGenerator.Instance.GenerateId().ToString(), // PId = t.BZID, // PName = t.BC02, // Colum1 = "1", // Colum2 = "0", // }).ToList()); // allParents.AddRange(sectons.Select(t => new UserProject()//项目 // { // Id = StringObjectIdGenerator.Instance.GenerateId().ToString(), // PId = t.AID, // Colum1 = "0", // Colum2 = "0", // }).ToList()); // } // if (projects.Count > 0) // { // allParents.AddRange(projects.Select(t => new UserProject()//项目 // { // Id = StringObjectIdGenerator.Instance.GenerateId().ToString(), // PId = t.Id, // Colum1 = "0", // Colum2 = "0", // }).ToList()); // } // return allParents; //} //public async Task ProjectUserAdd(ProjectUserDto puDto) //{ // if (puDto == null) { return Fail("请提交数据"); } // if (puDto.ProId.IsNullOrEmpty()) // { // return Fail("缺少项目ID。"); // } // if (puDto.ProLeve == null) // { // return Fail("缺少项目级别。"); // } // if (puDto.Users == null || puDto.Users.Count() == 0) // { // return Fail("用户信息缺失。"); // } // var allParents =await GetParent(puDto.ParentId, puDto.ProLeve.Value); // foreach (var user in puDto.Users) // { // var uPro = new UserProject() // { // Id = StringObjectIdGenerator.Instance.GenerateId().ToString(), // PId = puDto.ProId, // UserId = user.Id, // PName = puDto.ProName, // Colum1 = puDto.ProLeve?.ToString(), // Colum2 = "2", // CreateUser = this.Context.UserID, // CreateTime = DateTime.Now, // }; // foreach(var up in allParents) // { // up.UserId = user.Id; // up.CreateUser = this.Context.UserID; // up.CreateTime = DateTime.Now; // } // allParents.Add(uPro); // var rst = await userService.Add(user, allParents.ToArray()); // if (rst == null || !rst.Success) // { // return Fail($"{user.Name} 新增失败{rst?.Message}"); // } // } // return Success("保持成功。"); //} ///// ///// 获取用户列表 ///// ///// 查询条件 ///// //public async Task> GetProUserPage(string proId, DataSourceLoadOptions whereExp) //{ // var projectUsers = await this._userProjectRsp.GetListByExpAsync(t => t.PId == proId && t.Colum2 == "2"); // if (!projectUsers.Any()) // { // return ListData(new List(), 0); // 或者您特定的空结果构造方式 // } // var userIds = projectUsers.Select(x => x.UserId).Distinct().ToList(); // if (!userIds.Any()) // { // return ListData(new List(), 0); // } // var idInFilter = new List { "Id", "in", userIds }; // whereExp.And(idInFilter); // var userRst = await this.userService.GetPageAsync(whereExp); // return userRst; //} } }