โหลดใบรับรอง

This commit is contained in:
kittapath-Jool 2025-09-15 00:11:36 +07:00
parent 9284a89cb4
commit e44a255b53
4 changed files with 81 additions and 16 deletions

View file

@ -11,6 +11,8 @@ using BMA.EHR.Organization.Service.Extensions;
// using BMA.EHR.Core; // using BMA.EHR.Core;
using System.Text; using System.Text;
using static System.Runtime.InteropServices.JavaScript.JSType; using static System.Runtime.InteropServices.JavaScript.JSType;
using System.Net.Http.Headers;
using Newtonsoft.Json;
namespace BMA.EHR.Report.Service.Controllers namespace BMA.EHR.Report.Service.Controllers
{ {
@ -28,6 +30,7 @@ namespace BMA.EHR.Report.Service.Controllers
private readonly IWebHostEnvironment _hostingEnvironment; private readonly IWebHostEnvironment _hostingEnvironment;
private readonly IConfiguration _configuration; private readonly IConfiguration _configuration;
private readonly string space = ""; private readonly string space = "";
private readonly IHttpContextAccessor _httpContextAccessor;
#endregion #endregion
@ -35,13 +38,16 @@ namespace BMA.EHR.Report.Service.Controllers
public ExamReportController(ExamDbContext context, public ExamReportController(ExamDbContext context,
IWebHostEnvironment hostingEnvironment, IWebHostEnvironment hostingEnvironment,
IHttpContextAccessor httpContextAccessor,
IConfiguration configuration) IConfiguration configuration)
{ {
this._context = context; this._context = context;
this._hostingEnvironment = hostingEnvironment; this._hostingEnvironment = hostingEnvironment;
this._configuration = configuration; this._configuration = configuration;
this._httpContextAccessor = httpContextAccessor;
} }
private string? token => _httpContextAccessor.HttpContext.Request.Headers["Authorization"];
#endregion #endregion
#region " Methods " #region " Methods "
@ -108,6 +114,34 @@ namespace BMA.EHR.Report.Service.Controllers
{ {
try try
{ {
var _data = await _context.Disables.AsQueryable()
.Include(x => x.PeriodExam)
.Where(x => x.PeriodExam.Id == id)
.Where(x => x.ExamId == examId)
.FirstOrDefaultAsync();
if (_data == null)
return Error("ไม่พบข้อมูลในระบบ");
if (_data.AuthName == null || _data.AuthName == "")
{
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);
_data.AuthName = org.result.name == null ? "" : org.result.name;
_data.AuthPosition = org.result.position == null ? "" : org.result.position;
await _context.SaveChangesAsync();
}
}
}
var data = await _context.Disables.AsQueryable() var data = await _context.Disables.AsQueryable()
.Include(x => x.PeriodExam) .Include(x => x.PeriodExam)
.Where(x => x.PeriodExam.Id == id) .Where(x => x.PeriodExam.Id == id)

View file

@ -75,8 +75,16 @@ namespace BMA.EHR.Report.Service.Controllers
{ {
try try
{ {
var name = ""; var _data = await _context.Recruits.AsQueryable()
var position = ""; .Include(x => x.RecruitImport)
.Where(x => x.RecruitImport.Id == id)
.Where(x => x.ExamId == examId)
.FirstOrDefaultAsync();
if (_data == null)
return Error("ไม่พบข้อมูลในระบบ");
if (_data.AuthName == null || _data.AuthName == "")
{
var apiUrl = $"{_configuration["API"]}/org/find/head/officer"; var apiUrl = $"{_configuration["API"]}/org/find/head/officer";
using (var client = new HttpClient()) using (var client = new HttpClient())
{ {
@ -88,10 +96,13 @@ namespace BMA.EHR.Report.Service.Controllers
if (_res.IsSuccessStatusCode) if (_res.IsSuccessStatusCode)
{ {
var org = JsonConvert.DeserializeObject<dynamic>(_result); var org = JsonConvert.DeserializeObject<dynamic>(_result);
name = org.result.rootId == null ? "" : org.result.rootId; _data.AuthName = org.result.name == null ? "" : org.result.name;
position = org.result.rootId == null ? "" : org.result.rootId; _data.AuthPosition = org.result.position == null ? "" : org.result.position;
await _context.SaveChangesAsync();
} }
} }
}
var data = await _context.Recruits.AsQueryable() var data = await _context.Recruits.AsQueryable()
.Include(x => x.RecruitImport) .Include(x => x.RecruitImport)
.Where(x => x.RecruitImport.Id == id) .Where(x => x.RecruitImport.Id == id)
@ -109,8 +120,8 @@ namespace BMA.EHR.Report.Service.Controllers
FullName = $"{p.Prefix}{p.FirstName} {p.LastName}", FullName = $"{p.Prefix}{p.FirstName} {p.LastName}",
ExamResult = sr == null ? "" : sr.ExamStatus, ExamResult = sr == null ? "" : sr.ExamStatus,
EndDate = p.RecruitImport.RegisterEndDate == null ? "-" : p.RecruitImport.RegisterEndDate.Value.ToThaiFullDate3(), EndDate = p.RecruitImport.RegisterEndDate == null ? "-" : p.RecruitImport.RegisterEndDate.Value.ToThaiFullDate3(),
AuthName = name, AuthName = p.AuthName,
AuthPosition = position AuthPosition = p.AuthPosition
}) })
.FirstOrDefaultAsync(); .FirstOrDefaultAsync();
if (data == null) if (data == null)

View file

@ -78,5 +78,15 @@ namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
public DateTime ApplyDate { get; set; } public DateTime ApplyDate { get; set; }
public string? PositionName { get; set; } 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; }
[Comment("บัญชีสอบ")]
public string? HddPosition { get; set; } = string.Empty;
[Comment("ประเภทการสอบภาค ก.")]
public string? typeTest { get; set; } = string.Empty;
} }
} }

View file

@ -78,5 +78,15 @@ namespace BMA.EHR.Recruit.Service.Models.Recruits
public DateTime ApplyDate { get; set; } public DateTime ApplyDate { get; set; }
public string? PositionName { get; set; } 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; }
[Comment("บัญชีสอบ")]
public string? HddPosition { get; set; } = string.Empty;
[Comment("ประเภทการสอบภาค ก.")]
public string? typeTest { get; set; } = string.Empty;
} }
} }