From 9c24102b62d6376c2c96ea488cfd0fec60ec121f Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Wed, 7 Jun 2023 15:34:06 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B8=A3=E0=B8=B2?= =?UTF-8?q?=E0=B8=A2=E0=B8=87=E0=B8=B2=E0=B8=99=20=E0=B8=A3=E0=B8=AD?= =?UTF-8?q?=E0=B8=87=E0=B8=A3=E0=B8=B1=E0=B8=9A=E0=B8=94=E0=B9=89=E0=B8=B2?= =?UTF-8?q?=E0=B8=99=E0=B9=81=E0=B8=9A=E0=B8=9A=20Multi=20=E0=B9=83?= =?UTF-8?q?=E0=B8=99=E0=B8=9A=E0=B8=B1=E0=B8=8D=E0=B8=8A=E0=B8=B5=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Data/EHRDbContext.cs | 1 + Extensions/ListObjectExtensions.cs | 62 +++++++++++++++++++++++++ Models/AvailablePositionLevelEntity.cs | 1 + Models/OrganizationPositionEntity.cs | 3 +- Models/PositionMasterEntity.cs | 10 ++-- Report/Organization/rptAccount1.trdp | Bin 2234 -> 2246 bytes Services/OrganizationReportService.cs | 9 ++-- 7 files changed, 78 insertions(+), 8 deletions(-) create mode 100644 Extensions/ListObjectExtensions.cs diff --git a/Data/EHRDbContext.cs b/Data/EHRDbContext.cs index 569edd4..86a7e7a 100644 --- a/Data/EHRDbContext.cs +++ b/Data/EHRDbContext.cs @@ -1,4 +1,5 @@ using BMA.EHR.MetaData.Service.Models; +using BMA.EHR.Organization.Service.Models; using BMA.EHR.Organization.Service.Models.Report2; using BMA.EHR.Profile.Service.Models; using BMA.EHR.Profile.Service.Models.HR; diff --git a/Extensions/ListObjectExtensions.cs b/Extensions/ListObjectExtensions.cs new file mode 100644 index 0000000..ce84b2f --- /dev/null +++ b/Extensions/ListObjectExtensions.cs @@ -0,0 +1,62 @@ + + +namespace BMA.EHR.Organization.Service.Extensions +{ + + public class PositionPathSideObject + { + public Guid? Id { get; set; } + + public string Name { get; set; } = string.Empty; + + public string Note { get; set; } = string.Empty; + } + + public class PositionExecutiveSideObject + { + public Guid? Id { get; set; } + + public string Name { get; set; } = string.Empty; + + public string Note { get; set; } = string.Empty; + } + + public static class ListObjectExtensions + { + public static string GetNameList(this List list) + { + if (list == null || list.Count == 0) return ""; + else + { + var ret = string.Empty; + + foreach (var p in list) + { + ret += $"{p.Name} หรือ\r\n"; + } + + ret = $"({ret.Substring(0, ret.Length - 7)})"; + + return ret; + } + } + + public static string GetNameList(this List list) + { + if (list == null || list.Count == 0) return ""; + else + { + var ret = string.Empty; + + foreach (var p in list) + { + ret += $"{p.Name} หรือ\r\n"; + } + + ret = $"({ret.Substring(0, ret.Length - 7)})"; + + return ret; + } + } + } +} diff --git a/Models/AvailablePositionLevelEntity.cs b/Models/AvailablePositionLevelEntity.cs index b797d9d..7610c1c 100644 --- a/Models/AvailablePositionLevelEntity.cs +++ b/Models/AvailablePositionLevelEntity.cs @@ -1,4 +1,5 @@  +using BMA.EHR.Organization.Service.Models; using BMA.EHR.Report.Service.Models; using Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations; diff --git a/Models/OrganizationPositionEntity.cs b/Models/OrganizationPositionEntity.cs index be30531..1249286 100644 --- a/Models/OrganizationPositionEntity.cs +++ b/Models/OrganizationPositionEntity.cs @@ -1,4 +1,5 @@ -using BMA.EHR.Report.Service.Models; +using BMA.EHR.Organization.Service.Models; +using BMA.EHR.Report.Service.Models; using Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; diff --git a/Models/PositionMasterEntity.cs b/Models/PositionMasterEntity.cs index 219ab6d..65d5857 100644 --- a/Models/PositionMasterEntity.cs +++ b/Models/PositionMasterEntity.cs @@ -1,9 +1,9 @@ using Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -using BMA.EHR.Report.Service.Models; +using BMA.EHR.MetaData.Service.Models; -namespace BMA.EHR.Profile.Service.Models +namespace BMA.EHR.Organization.Service.Models { public class PositionMasterEntity : EntityBase { @@ -65,8 +65,12 @@ namespace BMA.EHR.Profile.Service.Models [Column(Order = 14), Comment("IsDirector")] public bool? IsDirector { get; set; } - //public List AvailablePositionLevels { get; } = new(); + public string? PositionPathSideObject { get; set; } + public string? PositionExecutiveSideObject { get; set; } + + //public List AvailablePositionLevels { get; } = new(); + //public List PositionMasterHistorys { get; } = new(); } } diff --git a/Report/Organization/rptAccount1.trdp b/Report/Organization/rptAccount1.trdp index 463697994d73a9f0724956455ddf1479fa7b3fb0..454dcbd8a28aac8ab6b54c567a1670636fec9118 100644 GIT binary patch delta 1925 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 diff --git a/Services/OrganizationReportService.cs b/Services/OrganizationReportService.cs index 0d885df..f92b295 100644 --- a/Services/OrganizationReportService.cs +++ b/Services/OrganizationReportService.cs @@ -1,5 +1,6 @@ using Amazon.Internal; using BMA.EHR.Extensions; +using BMA.EHR.Organization.Service.Extensions; using BMA.EHR.Profile.Service.Services; using BMA.EHR.Report.Service.Data; using Microsoft.EntityFrameworkCore; @@ -102,10 +103,10 @@ namespace BMA.EHR.Report.Service.Services ShortName = sn.Name, PositionNumber = pn.Name, PositionLevel = _profileService.GetPositionLevel(pm.Id), - PositionName = pp.Name, - PositionSide = pp_pps == null ? "" : $"({pp_pps.Name})", - PositionExecutive = pm_exp == null ? "" : pm_exp.Name, - PositionExecutiveSide = pm_exp_s == null ? "" : $"({pm_exp_s.Name})", + PositionName = $"{pp.Name}\r\n", + PositionSide = pm.PositionPathSideObject is null ? "" : Newtonsoft.Json.JsonConvert.DeserializeObject>(pm.PositionPathSideObject).GetNameList(), + PositionExecutive = pm_exp == null ? "" : $"{pm_exp.Name}\r\n", + PositionExecutiveSide = pm.PositionExecutiveSideObject is null ? "" : Newtonsoft.Json.JsonConvert.DeserializeObject>(pm.PositionExecutiveSideObject).GetNameList(), Remark = op.PositionUserNote, OcOrder = oc.OrganizationOrder.Value, PositionType = pt.Name