From a932af3b3f894d7adcb5d2e1544081bafa87cd5a Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Fri, 16 Jun 2023 12:00:34 +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=9A=E0=B8=8A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Controllers/OrganizationReportController.cs | 5 +- Models/Report2/Report2.cs | 1 + Services/OrganizationReportService.cs | 195 ++++++++++---------- appsettings.Development.json | 2 +- 4 files changed, 102 insertions(+), 101 deletions(-) diff --git a/Controllers/OrganizationReportController.cs b/Controllers/OrganizationReportController.cs index 0e9c05f..e7310c4 100644 --- a/Controllers/OrganizationReportController.cs +++ b/Controllers/OrganizationReportController.cs @@ -280,7 +280,7 @@ namespace BMA.EHR.Report.Service.Controllers OcName = d.OcName, ShortName = d.ShortName, PositionNumber = d.PositionNumber, - PositionNumberInt = d.PositionNumber == "" ? 0 : Convert.ToInt32(d.PositionNumber.Split(".").Last()), + PositionNumberInt = d.PositionNumberInt, PositionName = d.PositionName, PositionSide = d.PositionSide, PositionExecutive = d.PositionExecutive, @@ -295,8 +295,7 @@ namespace BMA.EHR.Report.Service.Controllers OcNameNew = d.OcNameNew, ShortNameNew = d.ShortNameNew, PositionNumberNew = d.PositionNumberNew == "" ? d.PositionNumber : d.PositionNumberNew, - PositionNumberIntNew = d.PositionNumberNew == "" ? Convert.ToInt32(d.PositionNumber.Split(".").Last()) : - Convert.ToInt32(d.PositionNumberNew.Split(".").Last()), + PositionNumberIntNew = d.PositionNumberNew == "" ? d.PositionNumberInt : d.PositionNumberIntNew, PositionLevelNew = d.PositionLevelNew == "" ? d.PositionLevel : d.PositionLevelNew, PositionNameNew = d.PositionNameNew == "" ? d.PositionName : d.PositionNameNew, PositionSideNew = d.PositionSideNew == "" ? d.PositionSide : d.PositionSideNew, diff --git a/Models/Report2/Report2.cs b/Models/Report2/Report2.cs index 5737368..5c4f388 100644 --- a/Models/Report2/Report2.cs +++ b/Models/Report2/Report2.cs @@ -77,5 +77,6 @@ namespace BMA.EHR.Organization.Service.Models.Report2 [Comment("สังกัดที่ถือครอง")] public Guid? ProfilePositionId { get; set; } + public Guid? OrganizationPositionId { get; set; } } } diff --git a/Services/OrganizationReportService.cs b/Services/OrganizationReportService.cs index 65970b0..2426c9f 100644 --- a/Services/OrganizationReportService.cs +++ b/Services/OrganizationReportService.cs @@ -232,8 +232,8 @@ namespace BMA.EHR.Report.Service.Services }).ToList(); - var report2_raw_data = (from r in _context.Report2s.AsNoTracking().ToList() - join ppos in _context.ProfilePositions.AsNoTracking().ToList() on r.ProfilePositionId equals ppos.Id into r_ppos_join + var report2_raw_data = (from r in _context.Report2s.AsNoTracking().ToList() + join ppos in _context.ProfilePositions.AsNoTracking().ToList() on r.OrganizationPositionId equals ppos.OrganizationPositionId into r_ppos_join from ppos_join in r_ppos_join.DefaultIfEmpty() //join pf in profile_data.ToList() on ppos_join.ProfileId equals pf.Id into r_pf_join //from pf_join in r_pf_join.DefaultIfEmpty() @@ -257,7 +257,7 @@ namespace BMA.EHR.Report.Service.Services PositionExecutive = r.PositionExecutive, PositionExecutiveSide = r.PositionExecutiveSide, - OrganizationPositionId = ppos_join == null ? Guid.Empty : ppos_join.OrganizationPositionId, + OrganizationPositionId = r.OrganizationPositionId, // old OcId = GetOcId(r.OrganizationShortNameId.Value, r.OrganizationOrganizationId.Value), @@ -347,116 +347,117 @@ namespace BMA.EHR.Report.Service.Services // }).ToList(); - var data2 = (from r in report2_raw_data - where ocIdList.Contains(r.OcId) - select new Account2ResultItem - { - Id = r.Id, - RootOcId = ocId, - RootOcName = RootOcName, - GovernmentCode = r.GovCode, - OcId = r.OcId, - OcFullName = _profileService.FindOCFullPathWithNewLine(r.OcId, false, suppress: RootOcName), - OcName = _profileService.GetOrganizationName(r.OcId), - ShortName = r.ShortNameOld, - PositionNumber = r.PositionNumberOld, - PositionLevel = r.PositionLevelOld, - PositionName = $"{r.PositionNameOld}\r\n", - PositionSide = r.PositionPathSideOld, - PositionExecutive = r.PositionExecutiveOld, - PositionExecutiveSide = r.PositionExecutiveSideOld, - Remark = "", - PositionType = r.PositionTypeOld, - OcIdNew = r.OcId, - OcFullNameNew = _profileService.FindOCFullPathWithNewLine(r.OcId, false, suppress: RootOcName), - OcNameNew = _profileService.GetOrganizationName(r.OcId), - ShortNameNew = r.ShortName, - PositionNumberNew = r.PositionNumber, - PositionLevelNew = r.PositionLevel, - PositionNameNew = $"{r.PositionName}\r\n", - PositionSideNew = r.PositionPathSide, - PositionExecutiveNew = r.PositionExecutive, - PositionExecutiveSideNew = r.PositionExecutiveSide, - PositionTypeNew = r.PositionType, + //var data2 = (from r in report2_raw_data + // where ocIdList.Contains(r.OcId) + // select new Account2ResultItem + // { + // Id = r.Id, + // RootOcId = ocId, + // RootOcName = RootOcName, + // GovernmentCode = r.GovCode, + // OcId = r.OcId, + // OcFullName = _profileService.FindOCFullPathWithNewLine(r.OcId, false, suppress: RootOcName), + // OcName = _profileService.GetOrganizationName(r.OcId), + // ShortName = r.ShortNameOld, + // PositionNumber = r.PositionNumberOld, + // PositionLevel = r.PositionLevelOld, + // PositionName = $"{r.PositionNameOld}\r\n", + // PositionSide = r.PositionPathSideOld, + // PositionExecutive = r.PositionExecutiveOld, + // PositionExecutiveSide = r.PositionExecutiveSideOld, + // Remark = "", + // PositionType = r.PositionTypeOld, + // OcIdNew = r.OcId, + // OcFullNameNew = _profileService.FindOCFullPathWithNewLine(r.OcId, false, suppress: RootOcName), + // OcNameNew = _profileService.GetOrganizationName(r.OcId), + // ShortNameNew = r.ShortName, + // PositionNumberNew = r.PositionNumber, + // PositionLevelNew = r.PositionLevel, + // PositionNameNew = $"{r.PositionName}\r\n", + // PositionSideNew = r.PositionPathSide, + // PositionExecutiveNew = r.PositionExecutive, + // PositionExecutiveSideNew = r.PositionExecutiveSide, + // PositionTypeNew = r.PositionType, - PositionNumberInt = r.PositionNumberOldInt, - PositionNumberIntNew = r.PositionNumberInt, + // PositionNumberInt = r.PositionNumberOldInt, + // PositionNumberIntNew = r.PositionNumberInt, - Prefix = r.Prefix, - FirstName = r.FirstName, - LastName = r.LastName, - Degree = r.Degree, + // Prefix = r.Prefix, + // FirstName = r.FirstName, + // LastName = r.LastName, + // Degree = r.Degree, - Salary = Convert.ToInt32(r.Salary), - SalaryPosition = Convert.ToInt32(r.SalaryPosition) + // Salary = Convert.ToInt32(r.Salary), + // SalaryPosition = Convert.ToInt32(r.SalaryPosition) - }).ToList(); + // }).ToList(); - //var data = (from op in organizationPositions - // join pm in positionMasters on op.PositionMasterId equals pm.Id - // join oc in organizations on op.OrganizationId equals oc.Id - // join oc_n in organizationOrganizations on oc.OrganizationOrganizationId equals oc_n.Id - // join sn in organizationShortNames on oc.OrganizationShortNameId equals sn.Id - // join pn in positionNumbers on op.PositionNumberId equals pn.Id - // join pp in positionPaths on pm.PositionPathId equals pp.Id - // join pps in positionPathSides on pm.PositionPathSideId equals pps.Id into pp_pps_join - // from pp_pps in pp_pps_join.DefaultIfEmpty() - // join ex_p in executivePositions on pm.PositionExecutiveId equals ex_p.Id into pm_exp_join - // from pm_exp in pm_exp_join.DefaultIfEmpty() - // join ex_p_s in executivePositionSide on pm.PositionExecutiveSideId equals ex_p_s.Id into pm_exp_s_join - // from pm_exp_s in pm_exp_s_join.DefaultIfEmpty() - // join pt in positionTypes on pm.PositionTypeId equals pt.Id - // join rp2 in report2_raw_data.ToList() on op.Id equals rp2.OrganizationPositionId into rp2_join - // from rp2_dt in rp2_join.DefaultIfEmpty() + var data = (from op in organizationPositions + join pm in positionMasters on op.PositionMasterId equals pm.Id + join oc in organizations on op.OrganizationId equals oc.Id + join oc_n in organizationOrganizations on oc.OrganizationOrganizationId equals oc_n.Id + join sn in organizationShortNames on oc.OrganizationShortNameId equals sn.Id + join pn in positionNumbers on op.PositionNumberId equals pn.Id + join pp in positionPaths on pm.PositionPathId equals pp.Id + join pps in positionPathSides on pm.PositionPathSideId equals pps.Id into pp_pps_join + from pp_pps in pp_pps_join.DefaultIfEmpty() + join ex_p in executivePositions on pm.PositionExecutiveId equals ex_p.Id into pm_exp_join + from pm_exp in pm_exp_join.DefaultIfEmpty() + join ex_p_s in executivePositionSide on pm.PositionExecutiveSideId equals ex_p_s.Id into pm_exp_s_join + from pm_exp_s in pm_exp_s_join.DefaultIfEmpty() + join pt in positionTypes on pm.PositionTypeId equals pt.Id + join rp2 in report2_raw_data.ToList() on op.Id equals rp2.OrganizationPositionId into rp2_join + from rp2_dt in rp2_join.DefaultIfEmpty() - // where ocIdList.Contains((Guid)op.OrganizationId) - // select new Account2ResultItem - // { - // Id = op.Id, - // RootOcId = ocId, - // RootOcName = RootOcName, - // OcId = op.OrganizationId.Value, - // OcFullName = _profileService.FindOCFullPathWithNewLine(op.OrganizationId.Value, false, suppress: RootOcName), - // OcName = _profileService.GetOrganizationName(op.OrganizationId.Value), - // ShortName = sn.Name, - // PositionNumber = pn.Name, - // PositionLevel = rp2_dt == null ? _profileService.GetPositionLevel(pm.Id) : rp2_dt.PositionLevel, + where ocIdList.Contains((Guid)op.OrganizationId) + select new Account2ResultItem + { + Id = op.Id, + RootOcId = ocId, + RootOcName = RootOcName, + OcId = op.OrganizationId.Value, + OcFullName = _profileService.FindOCFullPathWithNewLine(op.OrganizationId.Value, false, suppress: RootOcName), + OcName = _profileService.GetOrganizationName(op.OrganizationId.Value), + ShortName = rp2_dt == null ? sn.Name : rp2_dt.ShortNameOld, + + PositionNumber = rp2_dt == null ? pn.Name : rp2_dt.PositionNumberOld, + PositionLevel = rp2_dt == null ? _profileService.GetPositionLevel(pm.Id) : rp2_dt.PositionLevel, - // 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, + PositionName = rp2_dt == null ? $"{pp.Name}\r\n" : $"{ rp2_dt.PositionNameOld }\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, - // OcIdNew = rp2_dt == null ? op.OrganizationId.Value : rp2_dt.OcId, - // OcFullNameNew = _profileService.FindOCFullPathWithNewLine(op.OrganizationId.Value, false, suppress: RootOcName), - // OcNameNew = rp2_dt == null ? _profileService.GetOrganizationName(op.OrganizationId.Value) : _profileService.GetOrganizationName(rp2_dt.OcId), - // ShortNameNew = rp2_dt == null ? "" : rp2_dt.ShortName, - // PositionNumberNew = rp2_dt == null ? "" : rp2_dt.PositionNumber, - // PositionLevelNew = rp2_dt == null ? "" : rp2_dt.PositionLevel, - // PositionNameNew = rp2_dt == null ? "" : rp2_dt.PositionPath, - // PositionSideNew = rp2_dt == null ? "" : rp2_dt.PositionPathSide, - // PositionExecutiveNew = rp2_dt == null ? "" : rp2_dt.PositionExecutive, - // PositionExecutiveSideNew = rp2_dt == null ? "" : rp2_dt.PositionExecutiveSide, - // PositionTypeNew = rp2_dt == null ? "" : rp2_dt.PositionType, + OcIdNew = rp2_dt == null ? op.OrganizationId.Value : rp2_dt.OcId, + OcFullNameNew = _profileService.FindOCFullPathWithNewLine(op.OrganizationId.Value, false, suppress: RootOcName), + OcNameNew = rp2_dt == null ? _profileService.GetOrganizationName(op.OrganizationId.Value) : _profileService.GetOrganizationName(rp2_dt.OcId), + ShortNameNew = rp2_dt == null ? "" : rp2_dt.ShortName, + PositionNumberNew = rp2_dt == null ? "" : rp2_dt.PositionNumber, + PositionLevelNew = rp2_dt == null ? "" : rp2_dt.PositionLevel, + PositionNameNew = rp2_dt == null ? "" : rp2_dt.PositionPath, + PositionSideNew = rp2_dt == null ? "" : rp2_dt.PositionPathSide, + PositionExecutiveNew = rp2_dt == null ? "" : rp2_dt.PositionExecutive, + PositionExecutiveSideNew = rp2_dt == null ? "" : rp2_dt.PositionExecutiveSide, + PositionTypeNew = rp2_dt == null ? "" : rp2_dt.PositionType, - // Prefix = rp2_dt == null ? "" : rp2_dt.Prefix, - // FirstName = rp2_dt == null ? "" : rp2_dt.FirstName, - // LastName = rp2_dt == null ? "" : rp2_dt.LastName, - // Degree = rp2_dt == null ? (pm == null ? "" : pm.Qualification) : rp2_dt.Degree, + Prefix = rp2_dt == null ? "" : rp2_dt.Prefix, + FirstName = rp2_dt == null ? "" : rp2_dt.FirstName, + LastName = rp2_dt == null ? "" : rp2_dt.LastName, + Degree = rp2_dt == null ? (pm == null ? "" : pm.Qualification) : rp2_dt.Degree, - // Salary = rp2_dt == null ? 0 : (int)rp2_dt.Salary.Value, - // SalaryPosition = rp2_dt == null ? 0 : (int)rp2_dt.SalaryPosition.Value, + Salary = rp2_dt == null ? 0 : (int)rp2_dt.Salary.Value, + SalaryPosition = rp2_dt == null ? 0 : (int)rp2_dt.SalaryPosition.Value, - // }).ToList(); + }).ToList(); - return data2; + return data; } catch { diff --git a/appsettings.Development.json b/appsettings.Development.json index 11096b0..034d9c4 100644 --- a/appsettings.Development.json +++ b/appsettings.Development.json @@ -15,7 +15,7 @@ "ConnectionStrings": { "MongoConnection": "mongodb://admin:adminVM123@127.0.0.1:27017", "RecruitConnection": "server=127.0.0.1;user=root;password=P@ssw0rd;port=3308;database=bma_recruit;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;", - "EHRConnection": "server=192.168.1.9;user=root;password=adminVM123;port=3306;database=bma_ehr_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;", + "EHRConnection": "server=192.168.1.9;user=root;password=adminVM123;port=4061;database=bma_ehr;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;", "ExamConnection": "server=127.0.0.1;user=root;password=P@ssw0rd;port=3308;database=bma_ehr_exam;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;" }, "Jwt": {