From 247e0156f9c22f7c32a94e558b7876b7c8ed98eb Mon Sep 17 00:00:00 2001 From: liguoyang Date: Mon, 14 Oct 2024 11:27:57 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E8=AE=BE=E5=A4=87=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/Implements/DevicePermissionService.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs index 6b1cae24..ebd03673 100644 --- a/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs +++ b/Src/Dlhis.Basic/Device/Services/Implements/DevicePermissionService.cs @@ -400,7 +400,7 @@ public class DevicePermissionService : IDevicePermissionService var tenantId = arr.First(); var currentDepartmentNo = arr.Last(); var departmentNos = new List { currentDepartmentNo }; - DepartmentRecursionGetPNo(currentDepartmentNo, departments, departmentNos); + DepartmentRecursionGetNext(currentDepartmentNo, departments, departmentNos); ids.AddRange(await _dbContext.Queryable().Where(x => x.Factory == tenantId && departmentNos.Contains(x.DepartmentNo)).Select(x => x.Id).ToListAsync()); } @@ -459,13 +459,13 @@ public class DevicePermissionService : IDevicePermissionService return page; - void DepartmentRecursionGetPNo(string current, List data, List result) + void DepartmentRecursionGetNext(string current, List data, List result) { - var p = data.FirstOrDefault(x => x.No == current)?.PNo; - if (p.IsPresent()) + var next = data.Where(x => x.PNo == current); + foreach (var item in next) { - result.Add(p); - DepartmentRecursionGetPNo(p, data, result); + result.Add(item.No); + DepartmentRecursionGetNext(item.No, data, result); } } }