ปรับ เครื่องราชย์ + ลา ลงเวลา ไปใช้ทะเบียนประวัติใหม่
This commit is contained in:
parent
1134267acf
commit
ab129896ae
20 changed files with 21443 additions and 3616 deletions
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
|
||||
|
|
|
|||
42
BMA.EHR.Application/Responses/Profiles/GetProfileByIdDto.cs
Normal file
42
BMA.EHR.Application/Responses/Profiles/GetProfileByIdDto.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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; }
|
||||
}
|
||||
}
|
||||
|
|
@ -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; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
}
|
||||
}
|
||||
|
|
@ -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; }
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue