Prechádzať zdrojové kódy

fix(s8): clear tenant filter for operator bindings

S8OperatorBindingService.ListAsync 的 EmployeeMaster 查询追加 .ClearFilter()。
同 BUG-S8-EMPLOYEES-TENANT-FILTER-001 第 3 处:EmployeeMaster.tenant_id 属 S0 域,与登录 token TenantId 不一致;
之前 OperatorBindingTab 列表始终为空(数据完整存在)。
保留 factoryRefId 显式过滤;不影响 SysUser 查询;BindAsync/UnbindAsync 暂未触及。
YY968XX 1 mesiac pred
rodič
commit
4895757beb

+ 3 - 1
server/Plugins/Admin.NET.Plugin.AiDOP/Service/S8/S8OperatorBindingService.cs

@@ -26,7 +26,9 @@ public class S8OperatorBindingService : ITransient
 
     public async Task<List<AdoS8OperatorBindingRowDto>> ListAsync(long? factoryRefId, string? bindStatus, string? keyword)
     {
-        var emps = await _empRep.AsQueryable()
+        // ClearFilter:EmployeeMaster.tenant_id 属 S0 域租户,与登录 token TenantId 不一致(同 BUG-S8-EMPLOYEES-TENANT-FILTER-001 第 3 处)。
+        // 安全边界:保留 factoryRefId 显式过滤;仅放开租户全局过滤器;不影响 SysUser 查询。
+        var emps = await _empRep.AsQueryable().ClearFilter()
             .WhereIF(factoryRefId.HasValue, x => x.FactoryRefId == factoryRefId!.Value)
             .WhereIF(!string.IsNullOrWhiteSpace(keyword),
                 x => x.Employee.Contains(keyword!) || (x.Name != null && x.Name.Contains(keyword!)))