From 1389df0225d77379cfff242e0e1df13e0092ca76 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Mon, 20 Apr 2026 11:42:41 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84=E0=B8=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ถ้าไม่ได้ Add สิทธิ์มา จะข้ามตำแหน่งนั้นไป แก้บั้กการแสดงข้อมูล กรณี "ROOT" #2431 --- BMA.EHR.Domain/Shared/PrivilegeConverter.cs | 2 +- BMA.EHR.Leave/Controllers/LeaveController.cs | 10 +++---- .../Controllers/LeaveRequestController.cs | 30 +++++++++---------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/BMA.EHR.Domain/Shared/PrivilegeConverter.cs b/BMA.EHR.Domain/Shared/PrivilegeConverter.cs index 4dc7fd85..59f8168c 100644 --- a/BMA.EHR.Domain/Shared/PrivilegeConverter.cs +++ b/BMA.EHR.Domain/Shared/PrivilegeConverter.cs @@ -17,7 +17,7 @@ namespace BMA.EHR.Domain.Shared { if (reader.TokenType == JsonToken.Null) { - return "CHILD"; + return "EMPTY"; } return reader.Value; } diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index 8ff74510..1bd92859 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -3212,14 +3212,14 @@ namespace BMA.EHR.Leave.Service.Controllers // ถ้ามีการรักษาการ if (jsonData.result.isAct) { - var posActs = jsonData.result.posMasterActs; + var posActs = jsonData.result.posMasterActs.Where(x => x.privilege != "EMPTY"); foreach(var act in posActs) { var actRole = act.privilege; string actNodeId = string.Empty; int? actNode; - if (role == "NORMAL" || role == "CHILD") + if (actRole == "NORMAL" || actRole == "CHILD") { actNodeId = act.child4DnaId != null ? act.child4DnaId.Value.ToString("D") : @@ -3244,7 +3244,7 @@ namespace BMA.EHR.Leave.Service.Controllers 0 : null; } - else if (role == "BROTHER") + else if (actRole == "BROTHER") { actNodeId = act.child3DnaId != null ? act.child3DnaId.Value.ToString("D") : @@ -3267,7 +3267,7 @@ namespace BMA.EHR.Leave.Service.Controllers 0 : null; } - else if (role == "ROOT" /*|| role == "PARENT"*/) + else if (actRole == "ROOT" /*|| role == "PARENT"*/) { actNodeId = act.rootDnaId!.Value.ToString("D"); actNode = 0; @@ -3277,7 +3277,7 @@ namespace BMA.EHR.Leave.Service.Controllers if (rawDataAct != null) { if (rawData != null) - rawData = rawData.Union(rawDataAct).ToList(); + rawData = rawData.Union(rawDataAct).DistinctBy(x => x.Id).ToList(); else rawData = rawDataAct; } diff --git a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs index 5720bccc..bbf49dc8 100644 --- a/BMA.EHR.Leave/Controllers/LeaveRequestController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveRequestController.cs @@ -1399,14 +1399,14 @@ namespace BMA.EHR.Leave.Service.Controllers // ถ้ามีการรักษาการ if (jsonData.result.isAct) { - var posActs = jsonData.result.posMasterActs; + var posActs = jsonData.result.posMasterActs.Where(x => x.privilege != "EMPTY"); foreach(var act in posActs) { var actRole = act.privilege; string actNodeId = string.Empty; int? actNode = null; - if (role == "NORMAL" || role == "CHILD") + if (actRole == "NORMAL" || actRole == "CHILD") { actNodeId = act.child4DnaId != null ? act.child4DnaId.Value.ToString("D") : @@ -1431,7 +1431,7 @@ namespace BMA.EHR.Leave.Service.Controllers 0 : null; } - else if (role == "BROTHER") + else if (actRole == "BROTHER") { actNodeId = act.child3DnaId != null ? act.child3DnaId.Value.ToString("D") : @@ -1454,7 +1454,7 @@ namespace BMA.EHR.Leave.Service.Controllers 0 : null; } - else if (role == "ROOT" /*|| role == "PARENT"*/) + else if (actRole == "ROOT" /*|| role == "PARENT"*/) { actNodeId = act.rootDnaId!.Value.ToString("D"); actNode = 0; @@ -1464,7 +1464,7 @@ namespace BMA.EHR.Leave.Service.Controllers if (rawDataAct != null) { if (data != null) - data = data.Union(rawDataAct).ToList(); + data = data.Union(rawDataAct).DistinctBy(x => x.Id).ToList(); else data = rawDataAct; } @@ -1877,14 +1877,14 @@ namespace BMA.EHR.Leave.Service.Controllers // ถ้ามีการรักษาการ if (jsonData.result.isAct) { - var posActs = jsonData.result.posMasterActs; + var posActs = jsonData.result.posMasterActs.Where(x => x.privilege != "EMPTY"); foreach(var act in posActs) { var actRole = act.privilege; string actNodeId = string.Empty; int? actNode = null; - if (role == "NORMAL" || role == "CHILD") + if (actRole == "NORMAL" || actRole == "CHILD") { actNodeId = act.child4DnaId != null ? act.child4DnaId.Value.ToString("D") : @@ -1909,7 +1909,7 @@ namespace BMA.EHR.Leave.Service.Controllers 0 : null; } - else if (role == "BROTHER") + else if (actRole == "BROTHER") { actNodeId = act.child3DnaId != null ? act.child3DnaId.Value.ToString("D") : @@ -1932,7 +1932,7 @@ namespace BMA.EHR.Leave.Service.Controllers 0 : null; } - else if (role == "ROOT" /*|| role == "PARENT"*/) + else if (actRole == "ROOT" /*|| role == "PARENT"*/) { actNodeId = act.rootDnaId!.Value.ToString("D"); actNode = 0; @@ -1942,7 +1942,7 @@ namespace BMA.EHR.Leave.Service.Controllers if (rawDataAct != null) { if (rawData != null) - rawData = rawData.Union(rawDataAct).ToList(); + rawData = rawData.Union(rawDataAct).DistinctBy(x => x.Id).ToList(); else rawData = rawDataAct; } @@ -2180,14 +2180,14 @@ namespace BMA.EHR.Leave.Service.Controllers // ถ้ามีการรักษาการ if (jsonData.result.isAct) { - var posActs = jsonData.result.posMasterActs; + var posActs = jsonData.result.posMasterActs.Where(x => x.privilege != "EMPTY"); foreach(var act in posActs) { var actRole = act.privilege; string actNodeId = string.Empty; int? actNode = null; - if (role == "NORMAL" || role == "CHILD") + if (actRole == "NORMAL" || actRole == "CHILD") { actNodeId = act.child4DnaId != null ? act.child4DnaId.Value.ToString("D") : @@ -2212,7 +2212,7 @@ namespace BMA.EHR.Leave.Service.Controllers 0 : null; } - else if (role == "BROTHER") + else if (actRole == "BROTHER") { actNodeId = act.child3DnaId != null ? act.child3DnaId.Value.ToString("D") : @@ -2235,7 +2235,7 @@ namespace BMA.EHR.Leave.Service.Controllers 0 : null; } - else if (role == "ROOT" /*|| role == "PARENT"*/) + else if (actRole == "ROOT" /*|| role == "PARENT"*/) { actNodeId = act.rootDnaId!.Value.ToString("D"); actNode = 0; @@ -2245,7 +2245,7 @@ namespace BMA.EHR.Leave.Service.Controllers if (rawDataAct != null) { if (rawData != null) - rawData = rawData.Union(rawDataAct).ToList(); + rawData = rawData.Union(rawDataAct).DistinctBy(x => x.Id).ToList(); else rawData = rawDataAct; }