ปรับ เครื่องราชย์ + ลา ลงเวลา ไปใช้ทะเบียนประวัติใหม่

This commit is contained in:
Suphonchai Phoonsawat 2024-06-25 00:54:16 +07:00
parent 1134267acf
commit ab129896ae
20 changed files with 21443 additions and 3616 deletions

File diff suppressed because it is too large Load diff

View file

@ -4,11 +4,11 @@ using BMA.EHR.Application.Responses.Profiles;
using BMA.EHR.Domain.Models.HR;
using BMA.EHR.Domain.Models.MetaData;
using BMA.EHR.Domain.Models.Organizations;
using BMA.EHR.Domain.Shared;
using Microsoft.AspNetCore.Http;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Newtonsoft.Json;
using System.Security.Cryptography;
namespace BMA.EHR.Application.Repositories
{
@ -61,6 +61,70 @@ namespace BMA.EHR.Application.Repositories
return data;
}
public async Task<List<GetProfileByRootIdDto>> GetOfficerProfileByRootIdAsync(Guid rootId, string? accessToken)
{
try
{
var apiPath = $"{_configuration["API"]}/org/dotnet/root/officer/{rootId}";
var apiResult = await GetExternalAPIAsync(apiPath, accessToken ?? "");
if (apiResult != null)
{
var raw = JsonConvert.DeserializeObject<GetProfileByRootIdResultDto>(apiResult);
if (raw != null)
return raw.Result;
}
return null;
//var data = await _dbContext.Set<Profile>().AsQueryable()
// .Include(p => p.Prefix)
// .Include(p => p.Position)
// .Include(p => p.PositionLevel)
// .Include(p => p.Salaries)
// .FirstOrDefaultAsync(p => p.KeycloakId == keycloakId);
//return data;
}
catch
{
throw;
}
}
public async Task<List<GetProfileByRootIdDto>> GetEmployeeProfileByRootIdAsync(Guid rootId, string? accessToken)
{
try
{
var apiPath = $"{_configuration["API"]}/org/dotnet/root/employee/{rootId}";
var apiResult = await GetExternalAPIAsync(apiPath, accessToken ?? "");
if (apiResult != null)
{
var raw = JsonConvert.DeserializeObject<GetProfileByRootIdResultDto>(apiResult);
if (raw != null)
return raw.Result;
}
return null;
//var data = await _dbContext.Set<Profile>().AsQueryable()
// .Include(p => p.Prefix)
// .Include(p => p.Position)
// .Include(p => p.PositionLevel)
// .Include(p => p.Salaries)
// .FirstOrDefaultAsync(p => p.KeycloakId == keycloakId);
//return data;
}
catch
{
throw;
}
}
public async Task<GetProfileByKeycloakIdDto?> GetProfileByKeycloakIdAsync(Guid keycloakId, string? accessToken)
{
try
@ -380,6 +444,72 @@ namespace BMA.EHR.Application.Repositories
}
}
public GetProfileByIdDto GetOfficerProfileById(Guid id, string? accessToken)
{
try
{
var apiPath = $"{_configuration["API"]}/org/profile/{id}";
var apiResult = GetExternalAPIAsync(apiPath, accessToken ?? "");
if (apiResult.Result != null)
{
var raw = JsonConvert.DeserializeObject<GetProfileByIdResultDto>(apiResult.Result);
if (raw != null)
return raw.Result;
}
return null;
}
catch
{
throw;
}
}
public GetProfileByIdDto GetEmployeeProfileById(Guid id, string? accessToken)
{
try
{
var apiPath = $"{_configuration["API"]}/org/profile-employee/{id}";
var apiResult = GetExternalAPIAsync(apiPath, accessToken ?? "");
if (apiResult.Result != null)
{
var raw = JsonConvert.DeserializeObject<GetProfileByIdResultDto>(apiResult.Result);
if (raw != null)
return raw.Result;
}
return null;
}
catch
{
throw;
}
}
public GetProfileByIdDto GetOfficerProfileByCitizenId(string citizenId, string? accessToken)
{
try
{
var apiPath = $"{_configuration["API"]}/org/dotnet/citizenId/{citizenId}";
var apiResult = GetExternalAPIAsync(apiPath, accessToken ?? "");
if (apiResult.Result != null)
{
var raw = JsonConvert.DeserializeObject<GetProfileByIdResultDto>(apiResult.Result);
if (raw != null)
return raw.Result;
}
return null;
}
catch
{
throw;
}
}
#endregion
}
}

View file

@ -21,7 +21,9 @@ namespace BMA.EHR.Application.Requests
public string LastInsignia { get; set; }
public Guid? LastInsigniaId { get; set; }
public Guid PosNo { get; set; }
//public Guid PosNo { get; set; }
public string PosNo { get; set; }
public InsigniaItem RequestInsignia { get; set; }

View file

@ -0,0 +1,42 @@
namespace BMA.EHR.Application.Responses.Profiles
{
public class GetProfileByIdDto
{
public Guid Id { get; set; }
public string? Prefix { get; set; }
public string? FirstName { get; set; }
public string? LastName { get; set; }
public string? CitizenId { get; set; }
public DateTime BirthDate { get; set; } = DateTime.MinValue;
public DateTime? DateStart { get; set; } = DateTime.MinValue;
public DateTime? DateAppoint { get; set; } = DateTime.MinValue;
public string? Position { get; set; }
public Guid? OcId { get; set; }
public PosType? PosType { get; set; }
public PosLevel? PosLevel { get; set; }
public string? Oc { get; set; }
public List<ProfileSalaryResult>? ProfileSalary { get; set; }
public List<ProfileInsignia>? ProfileInsignia { get; set; }
public Guid? Keycloak { get; set; }
public string? PosNo { get; set; }
public string? PosNoEmployee { get; set; }
public string? Gender { get; set; }
public string ProfileType { get; set; } = string.Empty;
}
}

View file

@ -0,0 +1,11 @@
namespace BMA.EHR.Application.Responses.Profiles
{
public class GetProfileByIdResultDto
{
public string Message { get; set; } = string.Empty;
public int Status { get; set; } = -1;
public GetProfileByIdDto? Result { get; set; }
}
}

View file

@ -27,14 +27,18 @@ namespace BMA.EHR.Application.Responses.Profiles
public string? Oc { get; set; }
public ProfileSalaryResult? ProfileSalary { get; set; } = new();
public ProfileSalaryResult? ProfileSalary { get; set; }
public Guid? Keycloak { get; set; }
public ProfileInsignia? ProfileInsignia { get; set; }
public Guid? Keycloak { get; set; }
public string? PosNo { get; set; }
public string? PosNoEmployee { get; set; }
public string? Gender { get; set; }
}
public class PosLevel
@ -78,5 +82,28 @@ namespace BMA.EHR.Application.Responses.Profiles
public double? PositionSalaryAmount { get; set; }
public double? MouthSalaryAmount { get; set; }
public int Order { get; set; }
public DateTime? Date { get; set; }
public string PositionLevel { get; set; } = string.Empty;
public string PositionType { get; set; } = string.Empty;
}
public class ProfileInsignia
{
public Guid? Id { get; set; }
public DateTime? CreatedAt { get; set; }
public Guid? CreatedUserId { get; set; }
public DateTime? LastUpdatedAt { get; set; }
public Guid? LastUpdateUserId { get; set; }
public string? CreatedFullName { get; set; }
public string? LastUpdateFullName { get; set; }
public int? Year { get; set; }
public Guid? InsigniaId { get; set; }
}
}

View file

@ -0,0 +1,46 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BMA.EHR.Application.Responses.Profiles
{
public class GetProfileByRootIdDto
{
public Guid Id { get; set; }
public string? Prefix { get; set; }
public string? FirstName { get; set; }
public string? LastName { get; set; }
public string? CitizenId { get; set; }
public DateTime BirthDate { get; set; } = DateTime.MinValue;
public DateTime? DateStart { get; set; } = DateTime.MinValue;
public DateTime? DateAppoint { get; set; } = DateTime.MinValue;
public string? Position { get; set; }
public Guid? OcId { get; set; }
public PosType? PosType { get; set; }
public PosLevel? PosLevel { get; set; }
public string? Oc { get; set; }
public List<ProfileSalaryResult>? ProfileSalary { get; set; }
public List<ProfileInsignia>? ProfileInsignia { get; set; }
public Guid? Keycloak { get; set; }
public string? PosNo { get; set; }
public string? PosNoEmployee { get; set; }
public string? Gender { get; set; }
}
}

View file

@ -0,0 +1,11 @@
namespace BMA.EHR.Application.Responses.Profiles
{
public class GetProfileByRootIdResultDto
{
public string Message { get; set; } = string.Empty;
public int Status { get; set; } = -1;
public List<GetProfileByRootIdDto> Result { get; set; }
}
}