From 9e513d3f1a2ba355fae657a97541d6adf73a5dca Mon Sep 17 00:00:00 2001 From: AdisakKanthawilang Date: Mon, 17 Feb 2025 18:10:45 +0700 Subject: [PATCH] #924 --- .../Reports/InsigniaReportRepository.cs | 141 +++++++++++------- .../Controllers/InsigniaReportController.cs | 7 + 2 files changed, 98 insertions(+), 50 deletions(-) diff --git a/BMA.EHR.Application/Repositories/Reports/InsigniaReportRepository.cs b/BMA.EHR.Application/Repositories/Reports/InsigniaReportRepository.cs index b40b1676..946fd41a 100644 --- a/BMA.EHR.Application/Repositories/Reports/InsigniaReportRepository.cs +++ b/BMA.EHR.Application/Repositories/Reports/InsigniaReportRepository.cs @@ -1104,7 +1104,6 @@ namespace BMA.EHR.Application.Repositories.Reports data_insigniaQuery = data_insigniaQuery.Where(r => r.ProfileType == "employee"); } - Console.WriteLine(">>>>>>>logs", data_insigniaQuery.ToQueryString); switch (node) { @@ -1137,14 +1136,16 @@ namespace BMA.EHR.Application.Repositories.Reports ProfileId = x.ProfileId, FullName = $"{x.Prefix}{x.FirstName} {x.LastName}", RequestInsigniaName = x.RequestInsignia.Name, // Name of the Insignia + Reason = x.Reason, }) .ToListAsync(); var seq = 1; + var resultList = new List(); foreach (var d in data) { var _baseAPI = _configuration["API"]; - var _apiUrl = $"{_baseAPI}/org/unauthorize/calculateEvaluation"; + var _apiUrl = $"{_baseAPI}/org/unauthorize/calculateEvaluation/{type}"; using (var _client = new HttpClient()) { _client.DefaultRequestHeaders.Add("api_key", _configuration["API_KEY"]); @@ -1152,64 +1153,104 @@ namespace BMA.EHR.Application.Repositories.Reports var _res = await _client.SendAsync(_req); var _result = await _res.Content.ReadAsStringAsync(); + if (_res.IsSuccessStatusCode) { - /*var orgResponse = JsonConvert.DeserializeObject(_result);*/ var orgResponse = JObject.Parse(_result); var resultItems = orgResponse["result"]; - /* if (orgResponse != null && orgResponse.result != null) - {*/ + + // ค้นหาข้อมูลที่ตรงกันกับ ProfileId var matchedData = resultItems - .Where(item => item["profileId"].ToString() == d.ProfileId.ToString()) - .FirstOrDefault(); - /* - if (matchedData != null) - { - // แสดงข้อมูลที่ตรงกัน - var receiver = new CommandReceiver - { - Sequence = seq, - CitizenId = matchedData.citizenId ?? "", - Prefix = matchedData.prefix ?? "", - FirstName = matchedData.firstName ?? "", - LastName = matchedData.lastName ?? "", - RefPlacementProfileId = Guid.Parse(matchedData.profileId.ToString()), - }; + .Where(item => item["profileId"].ToString() == d.ProfileId.ToString()) + .FirstOrDefault(); - seq++; - resultData.Add(receiver); - }*/ - /*}*/ - - return matchedData; - } - else - { - return $"Error: {_res.StatusCode} - {_res.ReasonPhrase}"; + if (matchedData != null) + { + resultList.Add(new + { + rowNo = seq++.ToString().ToThaiNumber(), + d.ProfileId, + d.FullName, + d.RequestInsigniaName, + yearAPR1 = matchedData["yearAPR1"]?.ToString() ?? "-", + periodAPR1 = matchedData["periodAPR1"]?.ToString() ?? "-", + resultAPR1 = matchedData["resultAPR1"]?.ToString() ?? "-", + yearOCT1 = matchedData["yearOCT1"]?.ToString() ?? "-", + periodOCT1 = matchedData["periodOCT1"]?.ToString() ?? "-", + resultOCT1 = matchedData["resultOCT1"]?.ToString() ?? "-", + yearAPR2 = matchedData["yearAPR2"]?.ToString() ?? "-", + periodAPR2 = matchedData["periodAPR2"]?.ToString() ?? "-", + resultAPR2 = matchedData["resultAPR2"]?.ToString() ?? "-", + yearOCT2 = matchedData["yearOCT2"]?.ToString() ?? "-", + periodOCT2 = matchedData["periodOCT2"]?.ToString() ?? "-", + resultOCT2 = matchedData["resultOCT2"]?.ToString() ?? "-", + yearAPR3 = matchedData["yearAPR3"]?.ToString() ?? "-", + periodAPR3 = matchedData["periodAPR3"]?.ToString() ?? "-", + resultAPR3 = matchedData["resultAPR3"]?.ToString() ?? "-", + yearOCT3 = matchedData["yearOCT3"]?.ToString() ?? "-", + periodOCT3 = matchedData["periodOCT3"]?.ToString() ?? "-", + resultOCT3 = matchedData["resultOCT3"]?.ToString() ?? "-", + yearAPR4 = matchedData["yearAPR4"]?.ToString() ?? "-", + periodAPR4 = matchedData["periodAPR4"]?.ToString() ?? "-", + resultAPR4 = matchedData["resultAPR4"]?.ToString() ?? "-", + yearOCT4 = matchedData["yearOCT4"]?.ToString() ?? "-", + periodOCT4 = matchedData["periodOCT4"]?.ToString() ?? "-", + resultOCT4 = matchedData["resultOCT4"]?.ToString() ?? "-", + yearAPR5 = matchedData["yearAPR5"]?.ToString() ?? "-", + periodAPR5 = matchedData["periodAPR5"]?.ToString() ?? "-", + resultAPR5 = matchedData["resultAPR5"]?.ToString() ?? "-", + yearOCT5 = matchedData["yearOCT5"]?.ToString() ?? "-", + periodOCT5 = matchedData["periodOCT5"]?.ToString() ?? "-", + resultOCT5 = matchedData["resultOCT5"]?.ToString() ?? "-", + remark = d.Reason ?? "-" + }); + } + else + { + resultList.Add(new + { + rowNo = seq++.ToString().ToThaiNumber(), + d.ProfileId, + d.FullName, + d.RequestInsigniaName, + yearAPR1 = "-", + periodAPR1 = "-", + resultAPR1 = "-", + yearOCT1 = "-", + periodOCT1 = "-", + resultOCT1 = "-", + yearAPR2 = "-", + periodAPR2 = "-", + resultAPR2 = "-", + yearOCT2 = "-", + periodOCT2 = "-", + resultOCT2 = "-", + yearAPR3 = "-", + periodAPR3 = "-", + resultAPR3 = "-", + yearOCT3 = "-", + periodOCT3 = "-", + resultOCT3 = "-", + yearAPR4 = "-", + periodAPR4 = "-", + resultAPR4 = "-", + yearOCT4 = "-", + periodOCT4 = "-", + resultOCT4 = "-", + yearAPR5 = "-", + periodAPR5 = "-", + resultAPR5 = "-", + yearOCT5 = "-", + periodOCT5 = "-", + resultOCT5 = "-", + remark = "-" + }); + } } } } - /* var insignia = data.Select((r, index) => new - { - RowNo = (index + 1).ToNumericText().ToThaiNumber(), - ProfileId = r., - FullName = r.FullName, - RequestInsigniaName = r.RequestInsigniaName, - ResultY1APR = "-", - ResultY1OCT = "-", - ResultY2APR = "-", - ResultY2OCT = "-", - ResultY3APR = "-", - ResultY3OCT = "-", - ResultY4APR = "-", - ResultY4OCT = "-", - ResultY5APR = "-", - ResultY5OCT = "-", - Remark = "", - }).ToList();*/ - - return data; + return resultList; } //noti ยื่นเสนอคน diff --git a/BMA.EHR.Insignia/Controllers/InsigniaReportController.cs b/BMA.EHR.Insignia/Controllers/InsigniaReportController.cs index 2af8a79b..7dfe6bdd 100644 --- a/BMA.EHR.Insignia/Controllers/InsigniaReportController.cs +++ b/BMA.EHR.Insignia/Controllers/InsigniaReportController.cs @@ -20,6 +20,7 @@ using RabbitMQ.Client; using Swashbuckle.AspNetCore.Annotations; using System.Security.Claims; using System.Text; +using static System.Runtime.InteropServices.JavaScript.JSType; namespace BMA.EHR.Insignia.Service.Controllers { @@ -233,6 +234,7 @@ namespace BMA.EHR.Insignia.Service.Controllers var agency = ""; var data = await _repository.GetEvaluationResultReport(req.roundId, type, req.node, req.nodeId); + var year = ((DateTime.UtcNow.Year) + 543); var result = new { @@ -242,6 +244,11 @@ namespace BMA.EHR.Insignia.Service.Controllers { agency = agency, yearInsignalPeriod = yearInsignalPeriod, + year1 = year.ToString().ToThaiNumber(), + year2 = (year - 1).ToString().ToThaiNumber(), + year3 = (year - 2).ToString().ToThaiNumber(), + year4 = (year - 3).ToString().ToThaiNumber(), + year5 = (year - 4).ToString().ToThaiNumber(), data = data, } };