Merge branch 'develop'

* develop:
  no message
  edit connection
  add position
This commit is contained in:
Warunee Tamkoo 2025-02-21 15:38:35 +07:00
commit 2a7a8b642e
10 changed files with 3193 additions and 55 deletions

View file

@ -26,6 +26,7 @@ using System.Security.Claims;
using System.Text;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using System.Net.Http.Headers;
namespace BMA.EHR.Recurit.Exam.Service.Controllers
{
@ -48,6 +49,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
private readonly PermissionRepository _permission;
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly ILogger<DisableController> _logger;
private readonly IConfiguration _configuration;
#endregion
@ -61,6 +63,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
PeriodExamService periodExamService,
IHttpContextAccessor httpContextAccessor,
ILogger<DisableController> logger,
IConfiguration configuration,
PermissionRepository permission)
{
_context = context;
@ -70,6 +73,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
_disableService = disableService;
_periodExamService = periodExamService;
_httpContextAccessor = httpContextAccessor;
_configuration = configuration;
_logger = logger;
_permission = permission;
}
@ -81,6 +85,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
private string? UserId => _httpContextAccessor?.HttpContext?.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;
private string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
private string? token => _httpContextAccessor.HttpContext.Request.Headers["Authorization"];
#endregion
@ -122,22 +127,6 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
return sb.ToString();
}
private int GetExamCountTe(string citizenId)
{
try
{
var count = _context.Candidates.AsQueryable()
.Where(x => x.CitizenId == citizenId)
.Count();
return count;
}
catch
{
throw;
}
}
private async Task<int> GetExamCount(Guid exam)
{
try
@ -1432,6 +1421,28 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
imported.Scores.Add(r);
row++;
var recruit = await _context.Disables.AsQueryable()
.Include(x => x.PeriodExam)
.Where(x => x.PeriodExam == rec_import && x.ExamId == r.ExamId)
.FirstOrDefaultAsync();
if (recruit != null)
{
var apiUrl = $"{_configuration["API"]}/org/find/head/officer";
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.Replace("Bearer ", ""));
client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]);
var _req = new HttpRequestMessage(HttpMethod.Get, apiUrl);
var _res = await client.SendAsync(_req);
var _result = await _res.Content.ReadAsStringAsync();
if (_res.IsSuccessStatusCode)
{
var org = JsonConvert.DeserializeObject<dynamic>(_result);
recruit.AuthName = org.result.name == null ? "" : org.result.name;
recruit.AuthPosition = org.result.position == null ? "" : org.result.position;
}
}
}
}
}
}
@ -1675,7 +1686,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
Score = sr == null ? 0 : sr.SumA + sr.SumB + sr.SumC,
Number = sr == null ? "" : sr.Number,
CitizenId = p.CitizenId,
ExamCount = GetExamCountTe(p.CitizenId),
ExamCount = _disableService.GetExamCount(p.CitizenId),
ScoreExpire = p.PeriodExam.AnnouncementDate == null ? "" : p.PeriodExam.AnnouncementDate.Value.AddYears(2).ToThaiShortDate(),
ScoreResult = sr == null ? null : new
{
@ -1697,7 +1708,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
})
.FirstOrDefaultAsync();
return Success(new { data, ExamCount = data == null || data.CitizenId == "" ? 0 : GetExamCountTe(data.CitizenId) });
return Success(new { data, ExamCount = data == null || data.CitizenId == "" ? 0 : _disableService.GetExamCount(data.CitizenId) });
}
catch (Exception ex)
{

View file

@ -20,19 +20,19 @@ namespace BMA.EHR.Recurit.Exam.Service.Data
// special "local" folder for your platform.
protected override void OnConfiguring(DbContextOptionsBuilder options)
{
if (!options.IsConfigured)
{
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production";
var configurationBuilder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true, true)
.AddJsonFile($"appsettings.{environment}.json", true, true)
.AddEnvironmentVariables()
.Build();
// if (!options.IsConfigured)
// {
// var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production";
// var configurationBuilder = new ConfigurationBuilder()
// .AddJsonFile("appsettings.json", optional: true, true)
// .AddJsonFile($"appsettings.{environment}.json", true, true)
// .AddEnvironmentVariables()
// .Build();
var historyConnection = configurationBuilder.GetConnectionString("HistoryConnection");
options.UseMySql(historyConnection, ServerVersion.AutoDetect(historyConnection));
// var historyConnection = configurationBuilder.GetConnectionString("HistoryConnection");
// options.UseMySql(historyConnection, ServerVersion.AutoDetect(historyConnection));
}
// }
}
// public DbSet<BMA.EHR.Profile.Service.Models.HR.ProfileOrganization> ProfileOrganizations { get; set; }
// public DbSet<BMA.EHR.Profile.Service.Models.HR.Profile> Profiles { get; set; }

View file

@ -1007,6 +1007,12 @@ namespace BMA.EHR.Recurit.Exam.Service.Data.Migrations
b.Property<DateTime>("ApplyDate")
.HasColumnType("datetime(6)");
b.Property<string>("AuthName")
.HasColumnType("longtext");
b.Property<string>("AuthPosition")
.HasColumnType("longtext");
b.Property<DateTime>("CitizenCardExpireDate")
.HasColumnType("datetime(6)");

View file

@ -20,19 +20,19 @@ namespace BMA.EHR.Recurit.Exam.Service.Data
// special "local" folder for your platform.
protected override void OnConfiguring(DbContextOptionsBuilder options)
{
if (!options.IsConfigured)
{
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production";
var configurationBuilder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: true, true)
.AddJsonFile($"appsettings.{environment}.json", true, true)
.AddEnvironmentVariables()
.Build();
// if (!options.IsConfigured)
// {
// var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production";
// var configurationBuilder = new ConfigurationBuilder()
// .AddJsonFile("appsettings.json", optional: true, true)
// .AddJsonFile($"appsettings.{environment}.json", true, true)
// .AddEnvironmentVariables()
// .Build();
var historyConnection = configurationBuilder.GetConnectionString("HistoryConnection");
options.UseMySql(historyConnection, ServerVersion.AutoDetect(historyConnection));
// var historyConnection = configurationBuilder.GetConnectionString("HistoryConnection");
// options.UseMySql(historyConnection, ServerVersion.AutoDetect(historyConnection));
}
// }
}
public DbSet<Prefix> prefixe { get; set; }
public DbSet<Religion> religion { get; set; }

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,40 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace BMA.EHR.Recurit.Exam.Service.Migrations
{
/// <inheritdoc />
public partial class updatetableRecruitaddAuthName : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "AuthName",
table: "Disables",
type: "longtext",
nullable: true)
.Annotation("MySql:CharSet", "utf8mb4");
migrationBuilder.AddColumn<string>(
name: "AuthPosition",
table: "Disables",
type: "longtext",
nullable: true)
.Annotation("MySql:CharSet", "utf8mb4");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "AuthName",
table: "Disables");
migrationBuilder.DropColumn(
name: "AuthPosition",
table: "Disables");
}
}
}

View file

@ -80,5 +80,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
public string? PositionName { get; set; }//
public string? PositionType { get; set; }
public string? PositionLevel { get; set; }
public string? AuthName { get; set; }
public string? AuthPosition { get; set; }
}
}

View file

@ -64,13 +64,13 @@ builder.Host.UseSerilog();
// Register DbContext
var examConnection = builder.Configuration.GetConnectionString("ExamConnection");
builder.Services.AddDbContext<ApplicationDbContext>(options =>
options.UseMySql(examConnection, ServerVersion.AutoDetect(examConnection)));
options.UseMySql(examConnection, ServerVersion.AutoDetect(examConnection)), ServiceLifetime.Transient);
var orgConnection = builder.Configuration.GetConnectionString("OrgConnection");
builder.Services.AddDbContext<OrgDbContext>(options =>
options.UseMySql(orgConnection, ServerVersion.AutoDetect(orgConnection)));
options.UseMySql(orgConnection, ServerVersion.AutoDetect(orgConnection)), ServiceLifetime.Transient);
var defaultConnection = builder.Configuration.GetConnectionString("DefaultConnection");
builder.Services.AddDbContext<MetadataDbContext>(options =>
options.UseMySql(defaultConnection, ServerVersion.AutoDetect(defaultConnection)));
options.UseMySql(defaultConnection, ServerVersion.AutoDetect(defaultConnection)), ServiceLifetime.Transient);
// Add config CORS
builder.Services.AddCors(options => options.AddDefaultPolicy(builder =>

View file

@ -13,13 +13,13 @@
},
"AllowedHosts": "*",
"ConnectionStrings": {
"DefaultConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database==bma_ehr_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"ExamConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database==bma_ehr_exam_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"LeaveConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database==bma_ehr_leave_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"DisciplineConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database==bma_ehr_discipline_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"RecruitConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database==bma_ehr_recruit_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"DefaultConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"ExamConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_exam_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"LeaveConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_leave_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"DisciplineConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_discipline_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"RecruitConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_recruit_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"OrgConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_organization_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"HistoryConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database==bma_ehr_history_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
"HistoryConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_history_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
},
"Jwt": {
"Key": "HP-FnQMUj9msHMSD3T9HtdEnphAKoCJLEl85CIqROFI",

View file

@ -13,13 +13,13 @@
},
"AllowedHosts": "*",
"ConnectionStrings": {
"DefaultConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database==bma_ehr_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"ExamConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database==bma_ehr_exam_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"LeaveConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database==bma_ehr_leave_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"DisciplineConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database==bma_ehr_discipline_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"RecruitConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database==bma_ehr_recruit_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"DefaultConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"ExamConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_exam_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"LeaveConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_leave_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"DisciplineConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_discipline_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"RecruitConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_recruit_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"OrgConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_organization_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;",
"HistoryConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database==bma_ehr_history_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
"HistoryConnection": "server=192.168.1.80;user=root;password=adminVM123;port=3306;database=bma_ehr_history_demo;Convert Zero Datetime=True;Allow User Variables=true;Pooling=True;"
},
"Jwt": {
"Key": "HP-FnQMUj9msHMSD3T9HtdEnphAKoCJLEl85CIqROFI",