diff --git a/BMA.EHR.Application/Repositories/Reports/InsigniaReportRepository.cs b/BMA.EHR.Application/Repositories/Reports/InsigniaReportRepository.cs index bbeaf322..bfdd6303 100644 --- a/BMA.EHR.Application/Repositories/Reports/InsigniaReportRepository.cs +++ b/BMA.EHR.Application/Repositories/Reports/InsigniaReportRepository.cs @@ -1575,6 +1575,11 @@ namespace BMA.EHR.Application.Repositories.Reports } } + public void CalculateInsigniaRequestBkkByType(string type = "officer") + { + CalInsigniaRequestBkkByType(type).GetAwaiter().GetResult(); + } + //คำนวนผู้ได้รับเครื่องราชฯ public async Task CalInsigniaRequestBkkByType(string type = "officer") { diff --git a/BMA.EHR.Insignia/Program.cs b/BMA.EHR.Insignia/Program.cs index ea04682f..5352e7b3 100644 --- a/BMA.EHR.Insignia/Program.cs +++ b/BMA.EHR.Insignia/Program.cs @@ -184,22 +184,22 @@ var app = builder.Build(); { manager.AddOrUpdate("แจ้งเตือนรอบเครื่องราชฯ", Job.FromExpression(x => x.NotifyInsignia()), Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local); manager.AddOrUpdate("ล็อกข้อมูลรอบเครื่องราชฯ", Job.FromExpression(x => x.LockInsignia()), Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local); - //manager.AddOrUpdate("คำนวนผู้ได้รับเครื่องราชฯ", Job.FromExpression(x => x.CalInsigniaRequestBkkByType("officer")), Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local); + //manager.AddOrUpdate("คำนวนผู้ได้รับเครื่องราชฯ", () => CalculateInsigniaRequestBkkByType("officer"), Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local); //manager.AddOrUpdate("คำนวนผู้ได้รับเครื่องราชฯ Employee", Job.FromExpression(x => x.CalInsigniaRequestBkkByType("employee")), Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local); } RecurringJob.AddOrUpdate( "คำนวนผู้ได้รับเครื่องราชฯ", - x => x.CalInsigniaRequestBkkByType("officer"), - Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]), + x => x.CalculateInsigniaRequestBkkByType("officer"), + Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]) - 5, Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local ); - + RecurringJob.AddOrUpdate( "คำนวนผู้ได้รับเครื่องราชฯ Employee", - x => x.CalInsigniaRequestBkkByType("employee"), - Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]) + 2, + x => x.CalculateInsigniaRequestBkkByType("employee"), + Cron.Daily(Int32.Parse(builder.Configuration["KeycloakCron:Hour"]) - 4, Int32.Parse(builder.Configuration["KeycloakCron:Minute"])), TimeZoneInfo.Local ); @@ -217,17 +217,7 @@ var app = builder.Build(); app.Run(); } -// เพิ่ม helper method -static async Task ExecuteJobWithScope(string type) -{ - // ใช้ HttpContext current service provider - var scopeFactory = new HttpContextAccessor().HttpContext? - .RequestServices.GetRequiredService(); - - using var scope = scopeFactory.CreateScope(); - var repo = scope.ServiceProvider.GetRequiredService(); - await repo.CalInsigniaRequestBkkByType(type); -} + void ConfigureLogs() {