diff --git a/system/Tnb.Systems.Interfaces/Permission/IOrganizeService.cs b/system/Tnb.Systems.Interfaces/Permission/IOrganizeService.cs index 2f5aa59d..92a02c9b 100644 --- a/system/Tnb.Systems.Interfaces/Permission/IOrganizeService.cs +++ b/system/Tnb.Systems.Interfaces/Permission/IOrganizeService.cs @@ -78,4 +78,12 @@ public interface IOrganizeService /// /// Task> GetChildOrgId(string id); + + /// + /// 根据工位id获取其任意上级 + /// + /// + /// + /// + Task GetAnyParentByWorkstationId(string id,string type); } \ No newline at end of file diff --git a/system/Tnb.Systems/Permission/OrganizeService.cs b/system/Tnb.Systems/Permission/OrganizeService.cs index fd02a5a2..e2a7bf88 100644 --- a/system/Tnb.Systems/Permission/OrganizeService.cs +++ b/system/Tnb.Systems/Permission/OrganizeService.cs @@ -19,6 +19,7 @@ using JNPF.Systems.Interfaces.System; using Mapster; using Microsoft.AspNetCore.Mvc; using SqlSugar; +using Tnb.BasicData; using Yitter.IdGenerator; namespace JNPF.Systems; @@ -835,6 +836,14 @@ public class OrganizeService : IOrganizeService, IDynamicApiController, ITransie return (await _repository.GetListAsync(x => x.OrganizeIdTree.Contains(id) && x.EnabledMark == 1 && x.DeleteMark == null)).Select(x => x.Id).ToList(); } + public async Task GetAnyParentByWorkstationId(string id, string type) + { + return await _repository.AsQueryable() + .LeftJoin((a,b)=>a.OrganizeIdTree.Contains(b.Id) && b.Category==type) + .Where((a,b)=>a.Id==id) + .Select((a,b)=>b).FirstAsync(); + } + /// /// 处理组织树 名称. /// diff --git a/visualdev/Tnb.Vengine/CodeGenerator/TemplateContext.cs b/visualdev/Tnb.Vengine/CodeGenerator/TemplateContext.cs index a62b4cd9..61468d79 100644 --- a/visualdev/Tnb.Vengine/CodeGenerator/TemplateContext.cs +++ b/visualdev/Tnb.Vengine/CodeGenerator/TemplateContext.cs @@ -1,4 +1,5 @@ using System.Text.RegularExpressions; +using JNPF.Common.Configuration; using Tnb.Core; namespace Tnb.Vengine; @@ -26,7 +27,7 @@ public class TemplateContext #if DEBUG BasePath = CodeHelper.GetSolutionDirectoryPath(false)!; #else - BasePath = EApp.Options.App.AcmenBasePath; + BasePath = FileVariable.GenerateCodePath; #endif ModuleCode = moduleCode; }