From e42dd1926b0b8353a4aed6f8b73652aab353c561 Mon Sep 17 00:00:00 2001 From: Bright Date: Tue, 28 Jan 2025 16:26:43 +0700 Subject: [PATCH] no message --- .../Repositories/RetirementRepository.cs | 10 ++ .../Controllers/RetirementController.cs | 158 +++++++++++++++++- BMA.EHR.Retirement.Service/Program.cs | 1 + 3 files changed, 167 insertions(+), 2 deletions(-) diff --git a/BMA.EHR.Application/Repositories/RetirementRepository.cs b/BMA.EHR.Application/Repositories/RetirementRepository.cs index 301fea1f..66b64ece 100644 --- a/BMA.EHR.Application/Repositories/RetirementRepository.cs +++ b/BMA.EHR.Application/Repositories/RetirementRepository.cs @@ -88,5 +88,15 @@ namespace BMA.EHR.Application.Repositories } await _dbContext.SaveChangesAsync(); } + + //เกษียณอายุราชการ + public async Task ExecuteRetirement() + { + //var retirePeriodOfficer = await _dbContext.Set() + // .Include(x => x.RetirementRawProfiles.Where(y => y.Remove != "REMOVE")) + // .Where(x => x.Year == DateTime.Now.Year) + // .Where(x => x.Type.Trim().ToUpper().Contains("OFFICER")) + // .FirstOrDefaultAsync(); + } } } diff --git a/BMA.EHR.Retirement.Service/Controllers/RetirementController.cs b/BMA.EHR.Retirement.Service/Controllers/RetirementController.cs index f1f88266..47927b4b 100644 --- a/BMA.EHR.Retirement.Service/Controllers/RetirementController.cs +++ b/BMA.EHR.Retirement.Service/Controllers/RetirementController.cs @@ -449,7 +449,51 @@ namespace BMA.EHR.Retirement.Service.Controllers LastUpdateUserId = UserId ?? "", LastUpdatedAt = DateTime.Now, }; + var dataRaw = new RetirementRawProfile + { + Order = order, + Remove = "PENDING", + RetirementPeriod = retire, + profileId = profile.profileId, + prefix = profile.prefix, + firstName = profile.firstName, + lastName = profile.lastName, + citizenId = profile.citizenId, + root = profile.root, + rootId = profile.rootId, + rootShortName = profile.rootShortName, + child1 = profile.child1, + child1Id = profile.child1Id, + child1ShortName = profile.child1ShortName, + child2 = profile.child2, + child2Id = profile.child2Id, + child2ShortName = profile.child2ShortName, + child3 = profile.child3, + child3Id = profile.child3Id, + child3ShortName = profile.child3ShortName, + child4 = profile.child4, + child4Id = profile.child4Id, + child4ShortName = profile.child4ShortName, + posMasterNo = profile.posMasterNo, + position = profile.position, + posTypeId = profile.posTypeId, + posTypeName = profile.posTypeName, + posTypeRank = profile.posTypeRank, + posLevelId = profile.posLevelId, + posLevelName = profile.posLevelName, + posLevelRank = profile.posLevelRank, + posExecutiveId = profile.posExecutiveId, + posExecutiveName = profile.posExecutiveName, + posNo = profile.posNo, + CreatedFullName = FullName ?? "System Administrator", + CreatedUserId = UserId ?? "", + CreatedAt = DateTime.Now, + LastUpdateFullName = FullName ?? "System Administrator", + LastUpdateUserId = UserId ?? "", + LastUpdatedAt = DateTime.Now, + }; await _context.RetirementProfiles.AddAsync(data); + await _context.RetirementRawProfiles.AddAsync(dataRaw); order++; } await _context.SaveChangesAsync(); @@ -920,6 +964,9 @@ namespace BMA.EHR.Retirement.Service.Controllers } var num = 1; + var profileRawCount = await _context.RetirementRawProfiles + .CountAsync(x => x.RetirementPeriod.Id == retireId); + // var old_retire = retire.RetirementProfiles.OrderByDescending(x => x.Order).FirstOrDefault(); // if (old_retire != null) // num = old_retire.Order + 1; @@ -941,7 +988,18 @@ namespace BMA.EHR.Retirement.Service.Controllers LastUpdateUserId = UserId ?? "", LastUpdatedAt = DateTime.Now, }; - + var dataRaw = new RetirementRawProfile + { + Order = profileRawCount+1, + Remove = "ADD", + RetirementPeriod = retire, + CreatedFullName = FullName ?? "System Administrator", + CreatedUserId = UserId ?? "", + CreatedAt = DateTime.Now, + LastUpdateFullName = FullName ?? "System Administrator", + LastUpdateUserId = UserId ?? "", + LastUpdatedAt = DateTime.Now, + }; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); var _req = new HttpRequestMessage(HttpMethod.Get, apiUrl); var _res = await client.SendAsync(_req); @@ -983,8 +1041,41 @@ namespace BMA.EHR.Retirement.Service.Controllers data.posExecutiveId = org.result.posExecutiveId; data.posExecutiveName = org.result.posExecutiveName; data.posNo = org.result.posNo; + + dataRaw.profileId = org.result.profileId; + dataRaw.prefix = org.result.prefix; + dataRaw.firstName = org.result.firstName; + dataRaw.lastName = org.result.lastName; + dataRaw.citizenId = org.result.citizenId; + dataRaw.root = org.result.root; + dataRaw.rootId = org.result.rootId; + dataRaw.rootShortName = org.result.rootShortName; + dataRaw.child1 = org.result.child1; + dataRaw.child1Id = org.result.child1Id; + dataRaw.child1ShortName = org.result.child1ShortName; + dataRaw.child2 = org.result.child2; + dataRaw.child2Id = org.result.child2Id; + dataRaw.child2ShortName = org.result.child2ShortName; + dataRaw.child3 = org.result.child3; + dataRaw.child3Id = org.result.child3Id; + dataRaw.child3ShortName = org.result.child3ShortName; + dataRaw.child4 = org.result.child4; + dataRaw.child4Id = org.result.child4Id; + dataRaw.child4ShortName = org.result.child4ShortName; + dataRaw.posMasterNo = org.result.posMasterNo; + dataRaw.position = org.result.position; + dataRaw.posTypeId = org.result.posTypeId; + dataRaw.posTypeName = org.result.posTypeName; + dataRaw.posTypeRank = org.result.posTypeRank; + dataRaw.posLevelId = org.result.posLevelId; + dataRaw.posLevelName = org.result.posLevelName; + dataRaw.posLevelRank = org.result.posLevelRank; + dataRaw.posExecutiveId = org.result.posExecutiveId; + dataRaw.posExecutiveName = org.result.posExecutiveName; + dataRaw.posNo = org.result.posNo; _context.RetirementProfiles.Add(data); + _context.RetirementRawProfiles.Add(dataRaw); await _context.SaveChangesAsync(); if (retire.RetirementPeriodHistorys.Count() == 0) { @@ -1010,7 +1101,18 @@ namespace BMA.EHR.Retirement.Service.Controllers LastUpdateUserId = UserId ?? "", LastUpdatedAt = DateTime.Now, }; - + var dataRaw = new RetirementRawProfile + { + Order = profileRawCount+1, + Remove = "ADD", + RetirementPeriod = retire, + CreatedFullName = FullName ?? "System Administrator", + CreatedUserId = UserId ?? "", + CreatedAt = DateTime.Now, + LastUpdateFullName = FullName ?? "System Administrator", + LastUpdateUserId = UserId ?? "", + LastUpdatedAt = DateTime.Now, + }; client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", "")); var _req = new HttpRequestMessage(HttpMethod.Get, apiUrl); var _res = await client.SendAsync(_req); @@ -1053,7 +1155,38 @@ namespace BMA.EHR.Retirement.Service.Controllers //data.posExecutiveName = org.result.posExecutiveName; data.posNo = org.result.posNo; + dataRaw.profileId = org.result.profileId; + dataRaw.prefix = org.result.prefix; + dataRaw.firstName = org.result.firstName; + dataRaw.lastName = org.result.lastName; + dataRaw.citizenId = org.result.citizenId; + dataRaw.root = org.result.root; + dataRaw.rootId = org.result.rootId; + dataRaw.rootShortName = org.result.rootShortName; + dataRaw.child1 = org.result.child1; + dataRaw.child1Id = org.result.child1Id; + dataRaw.child1ShortName = org.result.child1ShortName; + dataRaw.child2 = org.result.child2; + dataRaw.child2Id = org.result.child2Id; + dataRaw.child2ShortName = org.result.child2ShortName; + dataRaw.child3 = org.result.child3; + dataRaw.child3Id = org.result.child3Id; + dataRaw.child3ShortName = org.result.child3ShortName; + dataRaw.child4 = org.result.child4; + dataRaw.child4Id = org.result.child4Id; + dataRaw.child4ShortName = org.result.child4ShortName; + dataRaw.posMasterNo = org.result.posMasterNo; + dataRaw.position = org.result.position; + dataRaw.posTypeId = org.result.posTypeId; + dataRaw.posTypeName = org.result.posTypeName; + dataRaw.posTypeRank = org.result.posTypeRank; + dataRaw.posLevelId = org.result.posLevelId; + dataRaw.posLevelName = org.result.posLevelName; + dataRaw.posLevelRank = org.result.posLevelRank; + dataRaw.posNo = org.result.posNo; + _context.RetirementProfiles.Add(data); + _context.RetirementRawProfiles.Add(dataRaw); await _context.SaveChangesAsync(); if (retire.RetirementPeriodHistorys.Count() == 0) { @@ -1088,11 +1221,22 @@ namespace BMA.EHR.Retirement.Service.Controllers if (profile == null) return Error(GlobalMessages.DataNotFound, 404); + var profileRaw = await _context.RetirementRawProfiles + .FirstOrDefaultAsync(x => x.profileId == profile.profileId); + if (profileRaw == null) + return Error(GlobalMessages.DataNotFound, 404); + profile.Remove = "EDIT"; profile.Reason = req.Reason; profile.LastUpdateFullName = FullName ?? "System Administrator"; profile.LastUpdateUserId = UserId ?? ""; profile.LastUpdatedAt = DateTime.Now; + + profileRaw.Remove = "EDIT"; + profileRaw.Reason = req.Reason; + profileRaw.LastUpdateFullName = FullName ?? "System Administrator"; + profileRaw.LastUpdateUserId = UserId ?? ""; + profileRaw.LastUpdatedAt = DateTime.Now; _context.SaveChanges(); return Success(); @@ -1118,6 +1262,11 @@ namespace BMA.EHR.Retirement.Service.Controllers if (profile == null) return Error(GlobalMessages.DataNotFound, 404); + var profileRaw = await _context.RetirementRawProfiles + .FirstOrDefaultAsync(x => x.profileId == profile.profileId); + if (profileRaw == null) + return Error(GlobalMessages.DataNotFound, 404); + if (profile.RetirementPeriod.RetirementPeriodHistorys.Count() == 0) { _context.RetirementProfiles.Remove(profile); @@ -1132,6 +1281,11 @@ namespace BMA.EHR.Retirement.Service.Controllers profile.LastUpdateUserId = UserId ?? ""; profile.LastUpdatedAt = DateTime.Now; } + profileRaw.Remove = "REMOVE"; + profileRaw.Reason = req.Reason; + profileRaw.LastUpdateFullName = FullName ?? "System Administrator"; + profileRaw.LastUpdateUserId = UserId ?? ""; + profileRaw.LastUpdatedAt = DateTime.Now; _context.SaveChanges(); return Success(); diff --git a/BMA.EHR.Retirement.Service/Program.cs b/BMA.EHR.Retirement.Service/Program.cs index 8460c0f5..064722b4 100644 --- a/BMA.EHR.Retirement.Service/Program.cs +++ b/BMA.EHR.Retirement.Service/Program.cs @@ -168,6 +168,7 @@ var app = builder.Build(); //manager.AddOrUpdate("แจ้งเตือนระบบปลดออก", Job.FromExpression(x => x.NotifyDischarge()), Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local); //manager.AddOrUpdate("แจ้งเตือนระบบไล่ออก", Job.FromExpression(x => x.NotifyExpulsion()), Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local); //manager.AddOrUpdate("แจ้งเตือนระบบให้ออก", Job.FromExpression(x => x.NotifyOut()), Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local); + manager.AddOrUpdate("อัพเดทสถานะเกษียณอายุราชการ", Job.FromExpression(x => x.ExecuteRetirement()), "*/2 * * * *", TimeZoneInfo.Local); } // apply migrations