diff --git a/BMA.EHR.Application/ApplicationServicesRegistration.cs b/BMA.EHR.Application/ApplicationServicesRegistration.cs index e92d8c5d..33db5abd 100644 --- a/BMA.EHR.Application/ApplicationServicesRegistration.cs +++ b/BMA.EHR.Application/ApplicationServicesRegistration.cs @@ -27,6 +27,7 @@ namespace BMA.EHR.Application services.AddTransient(); services.AddTransient(); services.AddTransient(); + services.AddTransient(); return services; } diff --git a/BMA.EHR.Application/Repositories/Reports/ProbationReportRepository.cs b/BMA.EHR.Application/Repositories/Reports/ProbationReportRepository.cs new file mode 100644 index 00000000..bc186261 --- /dev/null +++ b/BMA.EHR.Application/Repositories/Reports/ProbationReportRepository.cs @@ -0,0 +1,501 @@ +using BMA.EHR.Application.Common.Interfaces; +using BMA.EHR.Domain.Extensions; +using BMA.EHR.Domain.Models.Retirement; +using Microsoft.AspNetCore.Hosting; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Configuration; +using Newtonsoft.Json; +using System.Configuration; +using System.Net.Http.Headers; +using BMA.EHR.Application.Responses; + +namespace BMA.EHR.Application.Repositories.Reports +{ + public class ProbationReportRepository + { + #region " Fields " + + private readonly IApplicationDBContext _dbContext; + private readonly IWebHostEnvironment _hostingEnvironment; + + #endregion + + #region " Constructor and Destructor " + + public ProbationReportRepository(IApplicationDBContext dbContext, IWebHostEnvironment hostEnvironment) + { + _dbContext = dbContext; + _hostingEnvironment = hostEnvironment; + + } + + #endregion + + #region " Methods " + + #region แบบมอบหมายงาน ฯ + public async Task GetProbationAssignAsync(Guid assign_id, string token) + { + var api_url = $"https://bmaehr.joolsoft.com/nodeapi/v1/assign/probation-assign?assign_id={assign_id}"; + ProbationAssignResponse probation_assign; + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); + var req = new HttpRequestMessage(HttpMethod.Get, api_url); + var res = await client.SendAsync(req); + var result = await res.Content.ReadAsStringAsync(); + probation_assign = JsonConvert.DeserializeObject(result); + + if(probation_assign.data != null) + { + //Profile ผู้ทดลองงาน + string[] date_start_parts = string.IsNullOrEmpty(probation_assign.data.assign.date_start) ? null : probation_assign.data.assign.date_start.Split('-'); + string[] date_finish_parts = string.IsNullOrEmpty(probation_assign.data.assign.date_finish) ? null : probation_assign.data.assign.date_finish.Split('-'); + //Mentors + string[] date_mentor1_parts = probation_assign.data.mentors.Count > 0 ? probation_assign.data.mentors[0].dated.Split('-') : null ; + string[] date_mentor2_parts = probation_assign.data.mentors.Count > 1 ? probation_assign.data.mentors[1].dated.Split('-') : null; + //Commander + string[] date_commander_parts = string.IsNullOrEmpty(probation_assign.data.commander.dated) ? null : probation_assign.data.commander.dated.Split('-'); + + return new + { + Name = string.IsNullOrEmpty(probation_assign.data.profile.name) ? string.Empty : probation_assign.data.profile.name, + Position = string.IsNullOrEmpty(probation_assign.data.profile.Position) ? string.Empty : probation_assign.data.profile.Position, + Department = string.IsNullOrEmpty(probation_assign.data.profile.Department) ? string.Empty : probation_assign.data.profile.Department, + OrganizationOrganization = string.IsNullOrEmpty(probation_assign.data.profile.OrganizationOrganization) ? string.Empty : probation_assign.data.profile.OrganizationOrganization, + Oc = string.IsNullOrEmpty(probation_assign.data.profile.Oc) ? string.Empty : probation_assign.data.profile.Oc, + DateStart = string.IsNullOrEmpty(date_start_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_start_parts[0], date_start_parts[1], date_start_parts[2]), + DateFinish = string.IsNullOrEmpty(date_finish_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_finish_parts[0], date_finish_parts[1], date_finish_parts[2]), + NameMentor1 = string.IsNullOrEmpty(probation_assign.data.mentors[0].name) ? string.Empty : probation_assign.data.mentors[0].name, + DateMentor1 = string.IsNullOrEmpty(date_mentor1_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_mentor1_parts[0], date_mentor1_parts[1], date_mentor1_parts[2]), + PositionMentor1 = string.IsNullOrEmpty(probation_assign.data.mentors[0].Position) ? string.Empty : probation_assign.data.mentors[0].Position, + NameMentor2 = string.IsNullOrEmpty(probation_assign.data.mentors[1].name) ? string.Empty : probation_assign.data.mentors[1].name, + DateMentor2 = string.IsNullOrEmpty(date_mentor2_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_mentor2_parts[0], date_mentor2_parts[1], date_mentor2_parts[2]), + PositionMentor2 = string.IsNullOrEmpty(probation_assign.data.mentors[1].Position) ? string.Empty : probation_assign.data.mentors[1].Position, + NameCommander = string.IsNullOrEmpty(probation_assign.data.commander.name) ? string.Empty : probation_assign.data.commander.name, + DateCommander = string.IsNullOrEmpty(date_commander_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_commander_parts[0], date_commander_parts[1], date_commander_parts[2]), + PositionCommander = string.IsNullOrEmpty(probation_assign.data.commander.Position) ? string.Empty : probation_assign.data.commander.Position, + Jobs = probation_assign.data.jobs.ToList(), + Knowledge = probation_assign.data.knowledges.ToList(), + Competency = probation_assign.data.competencys.ToList(), + Outputs = probation_assign.data.outputs.ToList(), + OtherDesc = string.IsNullOrEmpty(probation_assign.data.assign.other_desc) ? string.Empty : probation_assign.data.assign.other_desc, + Other4Desc = string.IsNullOrEmpty(probation_assign.data.assign.other4_desc) ? string.Empty : probation_assign.data.assign.other4_desc, + Other5No1Desc = string.IsNullOrEmpty(probation_assign.data.assign.other4_desc) ? string.Empty : probation_assign.data.assign.other4_desc, + Other5No2Desc = string.IsNullOrEmpty(probation_assign.data.assign.other5_no2_desc) ? string.Empty : probation_assign.data.assign.other5_no2_desc, + }; + } + else + { + return null; + } + } + } + #endregion + + #region แบบบันทึกผล (ผู้ดูแล, ผู้บังคับบัญชา) + public async Task GetEvaluateRecordAsync(Guid assign_id, string token) + { + var api_url = $"https://bmaehr.joolsoft.com/nodeapi/v1/evaluate-record?assign_id={assign_id}"; + EvaluateRecordAssignResponse evaluate_record; + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); + var req = new HttpRequestMessage(HttpMethod.Get, api_url); + var res = await client.SendAsync(req); + var result = await res.Content.ReadAsStringAsync(); + evaluate_record = JsonConvert.DeserializeObject(result); + + if (evaluate_record.data != null) + { + string[] date_start_parts = string.IsNullOrEmpty(evaluate_record.data.assign.date_start) ? null : evaluate_record.data.assign.date_start.Split('-'); + string[] date_finish_parts = string.IsNullOrEmpty(evaluate_record.data.assign.date_finish) ? null : evaluate_record.data.assign.date_finish.Split('-'); + string[] date_start_round_parts; + string[] date_finish_round_parts; + DateTime currentDate = DateTime.Now; + string[] date_curent_parts = currentDate.ToString("yyyy-MM-dd").Split('-'); + string[] achievement_strength_desc = new string[evaluate_record.data.evaluate.Count]; + string[] achievement_improve_desc = new string[evaluate_record.data.evaluate.Count]; + string[] behavior_strength_desc = new string[evaluate_record.data.evaluate.Count]; + string[] behavior_improve_desc = new string[evaluate_record.data.evaluate.Count]; + foreach (var evaluate in evaluate_record.data.evaluate) + { + int inx = 0; + evaluate.no = !string.IsNullOrEmpty(evaluate.no) ? evaluate.no.ToThaiNumber() : null; + date_start_round_parts = !string.IsNullOrEmpty(evaluate.date_start) ? evaluate.date_start.Split('-') : null; + evaluate.date_start = ConvertDateMonthYear(date_start_round_parts[0], date_start_round_parts[1], date_start_round_parts[2]); + date_finish_round_parts = !string.IsNullOrEmpty(evaluate.date_finish) ? evaluate.date_finish.Split('-') : null; + evaluate.date_finish = ConvertDateMonthYear(date_finish_round_parts[0], date_finish_round_parts[1], date_finish_round_parts[2]); + achievement_strength_desc[inx] = !string.IsNullOrEmpty(evaluate.achievement_strength_desc) ? evaluate.achievement_strength_desc : string.Empty; + achievement_improve_desc[inx] = !string.IsNullOrEmpty(evaluate.achievement_improve_desc) ? evaluate.achievement_improve_desc : string.Empty; + behavior_strength_desc[inx] = !string.IsNullOrEmpty(evaluate.behavior_strength_desc) ? evaluate.behavior_strength_desc : string.Empty; + behavior_improve_desc[inx] = !string.IsNullOrEmpty(evaluate.behavior_improve_desc) ? evaluate.behavior_improve_desc : string.Empty; + + inx++; + } + + return new + { + //person or mentor + Name = string.IsNullOrEmpty(evaluate_record.data.person.name) ? string.Empty : evaluate_record.data.person.name, + Position = string.IsNullOrEmpty(evaluate_record.data.person.Position) ? string.Empty : evaluate_record.data.person.Position, + MentorDate = string.IsNullOrEmpty(date_curent_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_curent_parts[0], date_curent_parts[1], date_curent_parts[2]), + //experimentee ผู้ดทดลองงาน + ExperimenteeName = string.IsNullOrEmpty(evaluate_record.data.experimentee.name) ? string.Empty : evaluate_record.data.experimentee.name, + ExperimenteePosition = string.IsNullOrEmpty(evaluate_record.data.experimentee.Position) ? string.Empty : evaluate_record.data.experimentee.Position, + Department = string.IsNullOrEmpty(evaluate_record.data.experimentee.Department) ? string.Empty : evaluate_record.data.experimentee.Department, + OrganizationOrganization = string.IsNullOrEmpty(evaluate_record.data.experimentee.OrganizationOrganization) ? string.Empty : evaluate_record.data.experimentee.OrganizationOrganization, + Oc = string.IsNullOrEmpty(evaluate_record.data.experimentee.Oc) ? string.Empty : evaluate_record.data.experimentee.Oc, + DateStart = string.IsNullOrEmpty(date_start_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_start_parts[0], date_start_parts[1], date_start_parts[2]), + DateFinish = string.IsNullOrEmpty(date_finish_parts[0]) ? $"วันที่ เดือน พ.ศ." : ConvertDateMonthYear(date_finish_parts[0], date_finish_parts[1], date_finish_parts[2]), + Evaluates = evaluate_record.data.evaluate.ToList(), + AchievementStrengthDesc1 = string.IsNullOrEmpty(achievement_strength_desc[0]) ? string.Empty : achievement_strength_desc[0].ToString(), + AchievementStrengthDesc2 = string.IsNullOrEmpty(achievement_strength_desc[1]) ? string.Empty : achievement_strength_desc[1].ToString(), + AchievementStrengthDesc3 = string.IsNullOrEmpty(achievement_strength_desc[2]) ? string.Empty : achievement_strength_desc[2].ToString(), + AchievementImproveDesc1 = string.IsNullOrEmpty(achievement_improve_desc[0]) ? string.Empty : achievement_improve_desc[0].ToString(), + AchievementImproveDesc2 = string.IsNullOrEmpty(achievement_improve_desc[1]) ? string.Empty : achievement_improve_desc[1].ToString(), + AchievementImproveDesc3 = string.IsNullOrEmpty(achievement_improve_desc[2]) ? string.Empty : achievement_improve_desc[2].ToString(), + BehaviorStrengthDesc1 = string.IsNullOrEmpty(behavior_strength_desc[0]) ? string.Empty : behavior_strength_desc[0].ToString(), + BehaviorStrengthDesc2 = string.IsNullOrEmpty(behavior_strength_desc[1]) ? string.Empty : behavior_strength_desc[1].ToString(), + BehaviorStrengthDesc3 = string.IsNullOrEmpty(behavior_strength_desc[2]) ? string.Empty : behavior_strength_desc[2].ToString(), + BehaviorImproveDesc1 = string.IsNullOrEmpty(behavior_improve_desc[0]) ? string.Empty : behavior_improve_desc[0].ToString(), + BehaviorImproveDesc2 = string.IsNullOrEmpty(behavior_improve_desc[1]) ? string.Empty : behavior_improve_desc[1].ToString(), + BehaviorImproveDesc3 = string.IsNullOrEmpty(behavior_improve_desc[2]) ? string.Empty : behavior_improve_desc[2].ToString(), + }; + } + else + { + return null; + } + } + } + #endregion + + #region แบบประเมินผล(ผู้บังคับบัญชา) + public async Task GetEvaluateAssignAsync(Guid id, string no, string token) + { + var api_url = $"https://bmaehr.joolsoft.com/nodeapi/v1/evaluate?assign_id={id}&evaluate_no={no}"; + EvaluateAssignResponse evaluate_assign; + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); + var req = new HttpRequestMessage(HttpMethod.Get, api_url); + var res = await client.SendAsync(req); + var result = await res.Content.ReadAsStringAsync(); + evaluate_assign = JsonConvert.DeserializeObject(result); + + if (evaluate_assign.data != null) + { + //Assign + string[] date_start_parts = evaluate_assign.data.assign.date_start.Split('-'); + string[] date_finish_parts = evaluate_assign.data.assign.date_finish.Split('-'); + //Evaluate + string[] evaluate_date_start_parts = evaluate_assign.data.evaluate.date_start.Split('-'); + string[] evaluate_date_finish_parts = evaluate_assign.data.evaluate.date_finish.Split('-'); + string[] evaluate_assessor_dated = evaluate_assign.data.evaluate.commander_dated.Split('-'); + + + return new { + No = evaluate_assign.data.evaluate.no, + EvaluateDateStart = ConvertDateMonthYear(evaluate_date_start_parts[0], evaluate_date_start_parts[1], evaluate_date_start_parts[2]), + EvaluateDateFinish = ConvertDateMonthYear(evaluate_date_finish_parts[0], evaluate_date_finish_parts[1], evaluate_date_finish_parts[2]), + Name = string.IsNullOrEmpty(evaluate_assign.data.experimentee.name) ? string.Empty : evaluate_assign.data.experimentee.name, + Position = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Position) ? string.Empty : evaluate_assign.data.experimentee.Position, + Department = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Department) ? string.Empty : evaluate_assign.data.experimentee.Department, + OrganizationOrganization = string.IsNullOrEmpty(evaluate_assign.data.experimentee.OrganizationOrganization) ? string.Empty : evaluate_assign.data.experimentee.OrganizationOrganization, + Oc = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Oc) ? string.Empty : evaluate_assign.data.experimentee.Oc, + DateStart = ConvertDateMonthYear(date_start_parts[0], date_start_parts[1], date_start_parts[2]), + DateFinish = ConvertDateMonthYear(date_finish_parts[0], date_finish_parts[1], date_finish_parts[2]), + //table1 ผลสัมฤทธิ์ + KnowledgeLevel1 = evaluate_assign.data.evaluate.knowledge_level.ToString() == "1" ? "/": string.Empty, + KnowledgeLevel2 = evaluate_assign.data.evaluate.knowledge_level.ToString() == "2" ? "/" : string.Empty, + KnowledgeLevel3 = evaluate_assign.data.evaluate.knowledge_level.ToString() == "3" ? "/" : string.Empty, + KnowledgeLevel4 = evaluate_assign.data.evaluate.knowledge_level.ToString() == "4" ? "/" : string.Empty, + KnowledgeLevel5 = evaluate_assign.data.evaluate.knowledge_level.ToString() == "5" ? "/" : string.Empty, + SkillLevel1 = evaluate_assign.data.evaluate.skill_level.ToString() == "1" ? "/" : string.Empty, + SkillLevel2 = evaluate_assign.data.evaluate.skill_level.ToString() == "2" ? "/" : string.Empty, + SkillLevel3 = evaluate_assign.data.evaluate.skill_level.ToString() == "3" ? "/" : string.Empty, + SkillLevel4 = evaluate_assign.data.evaluate.skill_level.ToString() == "4" ? "/" : string.Empty, + SkillLevel5 = evaluate_assign.data.evaluate.skill_level.ToString() == "5" ? "/" : string.Empty, + CompetencyLevel1 = evaluate_assign.data.evaluate.competency_level.ToString() == "1" ? "/" : string.Empty, + CompetencyLevel2 = evaluate_assign.data.evaluate.competency_level.ToString() == "2" ? "/" : string.Empty, + CompetencyLevel3 = evaluate_assign.data.evaluate.competency_level.ToString() == "3" ? "/" : string.Empty, + CompetencyLevel4 = evaluate_assign.data.evaluate.competency_level.ToString() == "4" ? "/" : string.Empty, + CompetencyLevel5 = evaluate_assign.data.evaluate.competency_level.ToString() == "5" ? "/" : string.Empty, + LearnLevel1 = evaluate_assign.data.evaluate.learn_level.ToString() == "1" ? "/" : string.Empty, + LearnLevel2 = evaluate_assign.data.evaluate.learn_level.ToString() == "2" ? "/" : string.Empty, + LearnLevel3 = evaluate_assign.data.evaluate.learn_level.ToString() == "3" ? "/" : string.Empty, + LearnLevel4 = evaluate_assign.data.evaluate.learn_level.ToString() == "4" ? "/" : string.Empty, + LearnLevel5 = evaluate_assign.data.evaluate.learn_level.ToString() == "5" ? "/" : string.Empty, + ApplyLevel1 = evaluate_assign.data.evaluate.apply_level.ToString() == "1" ? "/" : string.Empty, + ApplyLevel2 = evaluate_assign.data.evaluate.apply_level.ToString() == "2" ? "/" : string.Empty, + ApplyLevel3 = evaluate_assign.data.evaluate.apply_level.ToString() == "3" ? "/" : string.Empty, + ApplyLevel4 = evaluate_assign.data.evaluate.apply_level.ToString() == "4" ? "/" : string.Empty, + ApplyLevel5 = evaluate_assign.data.evaluate.apply_level.ToString() == "5" ? "/" : string.Empty, + SuccessLevel1 = evaluate_assign.data.evaluate.success_level.ToString() == "1" ? "/" : string.Empty, + SuccessLevel2 = evaluate_assign.data.evaluate.success_level.ToString() == "2" ? "/" : string.Empty, + SuccessLevel3 = evaluate_assign.data.evaluate.success_level.ToString() == "3" ? "/" : string.Empty, + SuccessLevel4 = evaluate_assign.data.evaluate.success_level.ToString() == "4" ? "/" : string.Empty, + SuccessLevel5 = evaluate_assign.data.evaluate.success_level.ToString() == "5" ? "/" : string.Empty, + AchievementOtherDesc = evaluate_assign.data.evaluate.achievement_other_desc, + AchievementOtherLevel1 = evaluate_assign.data.evaluate.achievement_other_level.ToString() == "1" ? "/" : string.Empty, + AchievementOtherLevel2 = evaluate_assign.data.evaluate.achievement_other_level.ToString() == "2" ? "/" : string.Empty, + AchievementOtherLevel3 = evaluate_assign.data.evaluate.achievement_other_level.ToString() == "3" ? "/" : string.Empty, + AchievementOtherLevel4 = evaluate_assign.data.evaluate.achievement_other_level.ToString() == "4" ? "/" : string.Empty, + AchievementOtherLevel5 = evaluate_assign.data.evaluate.achievement_other_level.ToString() == "5" ? "/" : string.Empty, + //table2 พฤติกรรม + Conduct1Level1 = evaluate_assign.data.evaluate.conduct1_level.ToString() == "1" ? "/" : string.Empty, + Conduct1Level2 = evaluate_assign.data.evaluate.conduct1_level.ToString() == "2" ? "/" : string.Empty, + Conduct1Level3 = evaluate_assign.data.evaluate.conduct1_level.ToString() == "3" ? "/" : string.Empty, + Conduct1Level4 = evaluate_assign.data.evaluate.conduct1_level.ToString() == "4" ? "/" : string.Empty, + Conduct1Level5 = evaluate_assign.data.evaluate.conduct1_level.ToString() == "5" ? "/" : string.Empty, + Conduct2Level1 = evaluate_assign.data.evaluate.conduct2_level.ToString() == "1" ? "/" : string.Empty, + Conduct2Level2 = evaluate_assign.data.evaluate.conduct2_level.ToString() == "2" ? "/" : string.Empty, + Conduct2Level3 = evaluate_assign.data.evaluate.conduct2_level.ToString() == "3" ? "/" : string.Empty, + Conduct2Level4 = evaluate_assign.data.evaluate.conduct2_level.ToString() == "4" ? "/" : string.Empty, + Conduct2Level5 = evaluate_assign.data.evaluate.conduct2_level.ToString() == "5" ? "/" : string.Empty, + Conduct3Level1 = evaluate_assign.data.evaluate.conduct3_level.ToString() == "1" ? "/" : string.Empty, + Conduct3Level2 = evaluate_assign.data.evaluate.conduct3_level.ToString() == "2" ? "/" : string.Empty, + Conduct3Level3 = evaluate_assign.data.evaluate.conduct3_level.ToString() == "3" ? "/" : string.Empty, + Conduct3Level4 = evaluate_assign.data.evaluate.conduct3_level.ToString() == "4" ? "/" : string.Empty, + Conduct3Level5 = evaluate_assign.data.evaluate.conduct3_level.ToString() == "5" ? "/" : string.Empty, + Conduct4Level1 = evaluate_assign.data.evaluate.conduct4_level.ToString() == "1" ? "/" : string.Empty, + Conduct4Level2 = evaluate_assign.data.evaluate.conduct4_level.ToString() == "2" ? "/" : string.Empty, + Conduct4Level3 = evaluate_assign.data.evaluate.conduct4_level.ToString() == "3" ? "/" : string.Empty, + Conduct4Level4 = evaluate_assign.data.evaluate.conduct4_level.ToString() == "4" ? "/" : string.Empty, + Conduct4Level5 = evaluate_assign.data.evaluate.conduct4_level.ToString() == "5" ? "/" : string.Empty, + Moral1Level1 = evaluate_assign.data.evaluate.moral1_level.ToString() == "1" ? "/" : string.Empty, + Moral1Level2 = evaluate_assign.data.evaluate.moral1_level.ToString() == "2" ? "/" : string.Empty, + Moral1Level3 = evaluate_assign.data.evaluate.moral1_level.ToString() == "3" ? "/" : string.Empty, + Moral1Level4 = evaluate_assign.data.evaluate.moral1_level.ToString() == "4" ? "/" : string.Empty, + Moral1Level5 = evaluate_assign.data.evaluate.moral1_level.ToString() == "5" ? "/" : string.Empty, + Moral2Level1 = evaluate_assign.data.evaluate.moral2_level.ToString() == "1" ? "/" : string.Empty, + Moral2Level2 = evaluate_assign.data.evaluate.moral2_level.ToString() == "2" ? "/" : string.Empty, + Moral2Level3 = evaluate_assign.data.evaluate.moral2_level.ToString() == "3" ? "/" : string.Empty, + Moral2Level4 = evaluate_assign.data.evaluate.moral2_level.ToString() == "4" ? "/" : string.Empty, + Moral2Level5 = evaluate_assign.data.evaluate.moral2_level.ToString() == "5" ? "/" : string.Empty, + Moral3Level1 = evaluate_assign.data.evaluate.moral3_level.ToString() == "1" ? "/" : string.Empty, + Moral3Level2 = evaluate_assign.data.evaluate.moral3_level.ToString() == "2" ? "/" : string.Empty, + Moral3Level3 = evaluate_assign.data.evaluate.moral3_level.ToString() == "3" ? "/" : string.Empty, + Moral3Level4 = evaluate_assign.data.evaluate.moral3_level.ToString() == "4" ? "/" : string.Empty, + Moral3Level5 = evaluate_assign.data.evaluate.moral3_level.ToString() == "5" ? "/" : string.Empty, + Discipline1Level1 = evaluate_assign.data.evaluate.discipline1_level.ToString() == "1" ? "/" : string.Empty, + Discipline1Level2 = evaluate_assign.data.evaluate.discipline1_level.ToString() == "2" ? "/" : string.Empty, + Discipline1Level3 = evaluate_assign.data.evaluate.discipline1_level.ToString() == "3" ? "/" : string.Empty, + Discipline1Level4 = evaluate_assign.data.evaluate.discipline1_level.ToString() == "4" ? "/" : string.Empty, + Discipline1Level5 = evaluate_assign.data.evaluate.discipline1_level.ToString() == "5" ? "/" : string.Empty, + Discipline2Level1 = evaluate_assign.data.evaluate.discipline2_level.ToString() == "1" ? "/" : string.Empty, + Discipline2Level2 = evaluate_assign.data.evaluate.discipline2_level.ToString() == "2" ? "/" : string.Empty, + Discipline2Level3 = evaluate_assign.data.evaluate.discipline2_level.ToString() == "3" ? "/" : string.Empty, + Discipline2Level4 = evaluate_assign.data.evaluate.discipline2_level.ToString() == "4" ? "/" : string.Empty, + Discipline2Level5 = evaluate_assign.data.evaluate.discipline2_level.ToString() == "5" ? "/" : string.Empty, + Discipline3Level1 = evaluate_assign.data.evaluate.discipline3_level.ToString() == "1" ? "/" : string.Empty, + Discipline3Level2 = evaluate_assign.data.evaluate.discipline3_level.ToString() == "2" ? "/" : string.Empty, + Discipline3Level3 = evaluate_assign.data.evaluate.discipline3_level.ToString() == "3" ? "/" : string.Empty, + Discipline3Level4 = evaluate_assign.data.evaluate.discipline3_level.ToString() == "4" ? "/" : string.Empty, + Discipline3Level5 = evaluate_assign.data.evaluate.discipline3_level.ToString() == "5" ? "/" : string.Empty, + Discipline4Level1 = evaluate_assign.data.evaluate.discipline4_level.ToString() == "1" ? "/" : string.Empty, + Discipline4Level2 = evaluate_assign.data.evaluate.discipline4_level.ToString() == "2" ? "/" : string.Empty, + Discipline4Level3 = evaluate_assign.data.evaluate.discipline4_level.ToString() == "3" ? "/" : string.Empty, + Discipline4Level4 = evaluate_assign.data.evaluate.discipline4_level.ToString() == "4" ? "/" : string.Empty, + Discipline4Level5 = evaluate_assign.data.evaluate.discipline4_level.ToString() == "5" ? "/" : string.Empty, + Discipline5Level1 = evaluate_assign.data.evaluate.discipline5_level.ToString() == "1" ? "/" : string.Empty, + Discipline5Level2 = evaluate_assign.data.evaluate.discipline5_level.ToString() == "2" ? "/" : string.Empty, + Discipline5Level3 = evaluate_assign.data.evaluate.discipline5_level.ToString() == "3" ? "/" : string.Empty, + Discipline5Level4 = evaluate_assign.data.evaluate.discipline5_level.ToString() == "4" ? "/" : string.Empty, + Discipline5Level5 = evaluate_assign.data.evaluate.discipline5_level.ToString() == "5" ? "/" : string.Empty, + BehaviorOtherDesc = evaluate_assign.data.evaluate.behavior_other_desc, + BehaviorOtherLevel1 = evaluate_assign.data.evaluate.behavior_other_level.ToString() == "1" ? "/" : string.Empty, + BehaviorOtherLevel2 = evaluate_assign.data.evaluate.behavior_other_level.ToString() == "2" ? "/" : string.Empty, + BehaviorOtherLevel3 = evaluate_assign.data.evaluate.behavior_other_level.ToString() == "3" ? "/" : string.Empty, + BehaviorOtherLevel4 = evaluate_assign.data.evaluate.behavior_other_level.ToString() == "4" ? "/" : string.Empty, + BehaviorOtherLevel5 = evaluate_assign.data.evaluate.behavior_other_level.ToString() == "5" ? "/" : string.Empty, + BehaviorStrengthDesc = evaluate_assign.data.evaluate.behavior_strength_desc, + BehaviorImproveDesc = evaluate_assign.data.evaluate.behavior_improve_desc, + //table3 + Orientation = evaluate_assign.data.evaluate.orientation == 1 ? "[/] ดำเนินการแล้ว [ ] ยังไม่ได้ดำเนินการ" : "[ ] ดำเนินการแล้ว [/] ยังไม่ได้ดำเนินการ", + SelfLearning = evaluate_assign.data.evaluate.self_learning == 1 ? "[/] ดำเนินการแล้ว [ ] ยังไม่ได้ดำเนินการ" : "[ ] ดำเนินการแล้ว [/] ยังไม่ได้ดำเนินการ", + TrainingSeminar = evaluate_assign.data.evaluate.training_seminar == 1 ? "[/] ดำเนินการแล้ว [ ] ยังไม่ได้ดำเนินการ" : "[ ] ดำเนินการแล้ว [/] ยังไม่ได้ดำเนินการ", + OtherTraining = evaluate_assign.data.evaluate.other_training == 1 ? "[/] ดำเนินการแล้ว [ ] ยังไม่ได้ดำเนินการ" : "[ ] ดำเนินการแล้ว [/] ยังไม่ได้ดำเนินการ", + CommanderName = string.IsNullOrEmpty(evaluate_assign.data.person.name) ? string.Empty : evaluate_assign.data.person.name, + CommanderPosition = string.IsNullOrEmpty(evaluate_assign.data.person.Position) ? string.Empty : evaluate_assign.data.person.Position, + AssessorDated = ConvertDateMonthYear(evaluate_assessor_dated[0], evaluate_assessor_dated[1], evaluate_assessor_dated[2]), + + }; + } + else + { + return null; + } + } + } + #endregion + + #region แบบประเมินผล(คณะกรรมการ) + public async Task GetEvaluateChairmanAssignAsync(Guid id, string no, string token) + { + var api_url = $"https://bmaehr.joolsoft.com/nodeapi/v1/evaluate-chairman?assign_id={id}&evaluate_no={no}"; + EvaluateChairmanAssignResponse evaluate_assign; + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); + var req = new HttpRequestMessage(HttpMethod.Get, api_url); + var res = await client.SendAsync(req); + var result = await res.Content.ReadAsStringAsync(); + evaluate_assign = JsonConvert.DeserializeObject(result); + + if (evaluate_assign.data != null) + { + //Assign + string[] date_start_parts = evaluate_assign.data.assign.date_start.Split('-'); + string[] date_finish_parts = evaluate_assign.data.assign.date_finish.Split('-'); + //Evaluate + string[] evaluate_date_start_parts = evaluate_assign.data.evaluate.date_start.Split('-'); + string[] evaluate_date_finish_parts = evaluate_assign.data.evaluate.date_finish.Split('-'); + string[] date_chiarman_part = string.IsNullOrEmpty(evaluate_assign.data.chairman.dated) ? null : evaluate_assign.data.chairman.dated.ToString().Split('-'); + string[] date_mentor1_part = evaluate_assign.data.mentors[0].dated.ToString().Split('-'); + string[] date_mentor2_part = evaluate_assign.data.mentors[1].dated.ToString().Split('-'); + + return new + { + No = evaluate_assign.data.evaluate.no, + EvaluateDateStart = ConvertDateMonthYear(evaluate_date_start_parts[0], evaluate_date_start_parts[1], evaluate_date_start_parts[2]), + EvaluateDateFinish = ConvertDateMonthYear(evaluate_date_finish_parts[0], evaluate_date_finish_parts[1], evaluate_date_finish_parts[2]), + Name = string.IsNullOrEmpty(evaluate_assign.data.experimentee.name) ? string.Empty : evaluate_assign.data.experimentee.name, + Position = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Position) ? string.Empty : evaluate_assign.data.experimentee.Position, + Department = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Department) ? string.Empty : evaluate_assign.data.experimentee.Department, + OrganizationOrganization = string.IsNullOrEmpty(evaluate_assign.data.experimentee.OrganizationOrganization) ? string.Empty : evaluate_assign.data.experimentee.OrganizationOrganization, + Oc = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Oc) ? string.Empty : evaluate_assign.data.experimentee.Oc, + DateStart = ConvertDateMonthYear(date_start_parts[0], date_start_parts[1], date_start_parts[2]), + DateFinish = ConvertDateMonthYear(date_finish_parts[0], date_finish_parts[1], date_finish_parts[2]), + ChairmanName = string.IsNullOrEmpty(evaluate_assign.data.chairman.profile.name) ? string.Empty : evaluate_assign.data.chairman.profile.name, + ChairmanPosition = string.IsNullOrEmpty(evaluate_assign.data.chairman.profile.Position) ? string.Empty : evaluate_assign.data.chairman.profile.Position, + ChairmanDate = date_chiarman_part != null ? ConvertDateMonthYear(date_chiarman_part[0], date_chiarman_part[1], date_chiarman_part[2]) : ConvertDateMonthYear("", "", ""), + //คณะกรรม ? mentors ? + MentorName1 = string.IsNullOrEmpty(evaluate_assign.data.mentors[0].profile.name) ? string.Empty : evaluate_assign.data.mentors[0].profile.name, + MentorName2 = string.IsNullOrEmpty(evaluate_assign.data.mentors[1].profile.name) ? string.Empty : evaluate_assign.data.mentors[1].profile.name, + MentorPosition1 = string.IsNullOrEmpty(evaluate_assign.data.mentors[0].profile.Position) ? string.Empty : evaluate_assign.data.mentors[0].profile.Position, + MentorPosition2 = string.IsNullOrEmpty(evaluate_assign.data.mentors[1].profile.Position) ? string.Empty : evaluate_assign.data.mentors[1].profile.Position, + MentorDate1 = date_mentor1_part != null ? ConvertDateMonthYear(date_mentor1_part[0], date_mentor1_part[1], date_mentor1_part[2]) : ConvertDateMonthYear("", "", ""), + MentorDate2 = date_mentor2_part != null ? ConvertDateMonthYear(date_mentor2_part[0], date_mentor2_part[1], date_mentor2_part[2]) : ConvertDateMonthYear("", "", ""), + //1 + KnowledgeLevel = evaluate_assign.data.evaluate.knowledge_level.ToString().ToThaiNumber(), + ApplyLevel = evaluate_assign.data.evaluate.apply_level.ToString().ToThaiNumber(), + SuccessLevel = evaluate_assign.data.evaluate.success_level.ToString().ToThaiNumber(), + AchievementOtherDesc = evaluate_assign.data.evaluate.achievement_other_desc, + AchievementOtherLevel = evaluate_assign.data.evaluate.achievement_other_level.ToString().ToThaiNumber(), + //2 + Conduct1Level = evaluate_assign.data.evaluate.conduct1_level.ToString().ToThaiNumber(), + Conduct2Level = evaluate_assign.data.evaluate.conduct2_level.ToString().ToThaiNumber(), + Conduct3Level = evaluate_assign.data.evaluate.conduct3_level.ToString().ToThaiNumber(), + Conduct4Level = evaluate_assign.data.evaluate.conduct4_level.ToString().ToThaiNumber(), + Moral1Level = evaluate_assign.data.evaluate.moral1_level.ToString().ToThaiNumber(), + Moral2Level = evaluate_assign.data.evaluate.moral2_level.ToString().ToThaiNumber(), + Moral3Level = evaluate_assign.data.evaluate.moral3_level.ToString().ToThaiNumber(), + Discipline1Level = evaluate_assign.data.evaluate.discipline1_level.ToString().ToThaiNumber(), + Discipline2Level = evaluate_assign.data.evaluate.discipline2_level.ToString().ToThaiNumber(), + Discipline3Level = evaluate_assign.data.evaluate.discipline3_level.ToString().ToThaiNumber(), + Discipline4Level = evaluate_assign.data.evaluate.discipline4_level.ToString().ToThaiNumber(), + Discipline5Level = evaluate_assign.data.evaluate.discipline4_level.ToString().ToThaiNumber(), + BehaviorOtherDesc = evaluate_assign.data.evaluate.behavior_other_desc, + BehaviorOtherLevel = evaluate_assign.data.evaluate.behavior_other_level.ToString().ToThaiNumber(), + //3 + AchievementScore = evaluate_assign.data.evaluate.achievement_score.ToString().ToThaiNumber(), + AchievementPercent = evaluate_assign.data.evaluate.achievement_percent.ToString().ToThaiNumber(), + AchievementResult = evaluate_assign.data.evaluate.achievement_result.ToString().ToThaiNumber(), + BehaviorScore = evaluate_assign.data.evaluate.behavior_score.ToString().ToThaiNumber(), + BehaviorPercent = evaluate_assign.data.evaluate.behavior_percent.ToString().ToThaiNumber(), + BehaviorResult = evaluate_assign.data.evaluate.behavior_result.ToString().ToThaiNumber(), + AchievementScoretotal = evaluate_assign.data.evaluate.achievement_score_total.ToString().ToThaiNumber(), + BehaviorScoretotal = evaluate_assign.data.evaluate.behavior_score_total.ToString().ToThaiNumber(), + //4 + DevelopOrientationScore = evaluate_assign.data.evaluate.develop_orientation_score.ToString().ToThaiNumber(), + DevelopSelfLearningScore = evaluate_assign.data.evaluate.develop_self_learning_score.ToString().ToThaiNumber(), + DevelopTrainingSeminarScore = evaluate_assign.data.evaluate.develop_training_seminar_score.ToString().ToThaiNumber(), + DevelopOtherTrainingScore = evaluate_assign.data.evaluate.develop_other_training_score.ToString().ToThaiNumber(), + DevelopOrientationPercent = evaluate_assign.data.evaluate.develop_orientation_percent.ToString().ToThaiNumber(), + DevelopSelfLearningPercent = evaluate_assign.data.evaluate.develop_self_learning_percent.ToString().ToThaiNumber(), + DevelopTrainingSeminarPercent = evaluate_assign.data.evaluate.develop_training_seminar_percent.ToString().ToThaiNumber(), + DevelopOtherTrainingPercent = evaluate_assign.data.evaluate.develop_other_training_percent.ToString().ToThaiNumber(), + DevelopResult = evaluate_assign.data.evaluate.develop_result.ToString(), + + + }; + } + else + { + return null; + } + } + } + #endregion + + #region แบบรายงานการประเมินผล + public async Task GetEvaluateResultAssignAsync(Guid id, string token) + { + var api_url = $"https://bmaehr.joolsoft.com/nodeapi/v1/evaluate-result?assign_id={id}"; + EvaluateResultAssignResponse evaluate_assign; + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); + var req = new HttpRequestMessage(HttpMethod.Get, api_url); + var res = await client.SendAsync(req); + var result = await res.Content.ReadAsStringAsync(); + evaluate_assign = JsonConvert.DeserializeObject(result); + + if (evaluate_assign.data != null) + { + string[] date_start_parts = evaluate_assign.data.assign.date_start.Split('-'); + string[] date_finish_parts = evaluate_assign.data.assign.date_finish.Split('-'); + string[] evaluate_date_start_parts = evaluate_assign.data.evaluate.date_start.Split('-'); + string[] evaluate_date_finish_parts = evaluate_assign.data.evaluate.date_finish.Split('-'); + DateTime currentDate = DateTime.Now; + string[] date_curent_parts = currentDate.ToString("yyyy-MM-dd").Split('-'); + if(string.IsNullOrEmpty(evaluate_assign.data.chairman.Position)) + { + evaluate_assign.data.chairman.Position = string.Empty; + } + return new + { + No = evaluate_assign.data.evaluate.no, + EvaluateDateStart = ConvertDateMonthYear(evaluate_date_start_parts[0], evaluate_date_start_parts[1], evaluate_date_start_parts[2]), + EvaluateDateFinish = ConvertDateMonthYear(evaluate_date_finish_parts[0], evaluate_date_finish_parts[1], evaluate_date_finish_parts[2]), + Position = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Position) ? string.Empty : evaluate_assign.data.experimentee.Position, + Department = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Department) ? string.Empty : evaluate_assign.data.experimentee.Department, + OrganizationOrganization = string.IsNullOrEmpty(evaluate_assign.data.experimentee.OrganizationOrganization) ? string.Empty : evaluate_assign.data.experimentee.OrganizationOrganization, + Oc = string.IsNullOrEmpty(evaluate_assign.data.experimentee.Oc) ? string.Empty : evaluate_assign.data.experimentee.Oc, + DateStart = ConvertDateMonthYear(date_start_parts[0], date_start_parts[1], date_start_parts[2]), + DateFinish = ConvertDateMonthYear(date_finish_parts[0], date_finish_parts[1], date_finish_parts[2]), + Reson = string.IsNullOrEmpty(evaluate_assign.data.evaluate.reson) ? string.Empty : evaluate_assign.data.evaluate.reson, + DevelopComplete = evaluate_assign.data.evaluate.develop_complete.ToString() == "1" ? "/" : " ", + NotDevelopComplete = evaluate_assign.data.evaluate.develop_complete.ToString() == "0" ? "/" : " ", + PassResult = evaluate_assign.data.evaluate.pass_result.ToString() == "1" ? "/" : " ", + NotPassResult = evaluate_assign.data.evaluate.pass_result.ToString() == "0" ? "/" : " ", + ExpandMonth = string.IsNullOrEmpty(evaluate_assign.data.evaluate.expand_month.ToString()) ? string.Empty : evaluate_assign.data.evaluate.expand_month.ToString().ToThaiNumber(), + ChairmanName = string.IsNullOrEmpty(evaluate_assign.data.chairman.name) ? evaluate_assign.data.chairman.name : string.Empty, + ChairmanPosition = string.IsNullOrEmpty(evaluate_assign.data.chairman.Position) ? evaluate_assign.data.chairman.Position : "-", + ChairmanDate = ConvertDateMonthYear(date_curent_parts[0], date_curent_parts[1], date_curent_parts[2]) + }; + } + else + { + return null; + } + } + } + #endregion + + #region ฟังก์ชั่นแปลงวันเดือนปี + public static string ConvertDateMonthYear(string year, string month, string date) + { + year = year.ToInteger().ToThaiYear().ToString().ToThaiNumber(); + month = month.ToInteger().ToThaiMonth(); + date = date.StartsWith("0") ? date.Substring(1).ToThaiNumber(): date.ToThaiNumber(); + + return $"วันที่ {date} เดือน {month} พ.ศ. {year}"; + } + #endregion + + #endregion + } +} diff --git a/BMA.EHR.Application/Responses/EvaluateAssignResponse.cs b/BMA.EHR.Application/Responses/EvaluateAssignResponse.cs new file mode 100644 index 00000000..19dcebf3 --- /dev/null +++ b/BMA.EHR.Application/Responses/EvaluateAssignResponse.cs @@ -0,0 +1,101 @@ +using System; + +namespace BMA.EHR.Application.Responses +{ + public class EvaluateAssignResponse + { + public bool successful { get; set; } + public Data data { get; set; } + + public class Data + { + public Experimentee experimentee { get; set; } + public Person person { get; set; } + public Assign assign { get; set; } + public Evaluate evaluate { get; set; } + } + + public class Experimentee + { + public string personal_id { get; set; } = string.Empty; + public string name { get; set; } = string.Empty; + public string PositionId { get; set; } = string.Empty; + public string PositionLevelId { get; set; } = string.Empty; + public string PositionLineId { get; set; } = string.Empty; + public string OrganizationOrganization { get; set; } = string.Empty; + public string Position { get; set; } = string.Empty; + public string Department { get; set; } = string.Empty; + public string Oc { get; set; } = string.Empty; + } + + public class Person + { + public string personal_id { get; set; } = string.Empty; + public string name { get; set; } = string.Empty; + public string PositionId { get; set; } = string.Empty; + public string PositionLevelId { get; set; } = string.Empty; + public string PositionLineId { get; set; } = string.Empty; + public string OrganizationOrganization { get; set; } = string.Empty; + public string Position { get; set; } = string.Empty; + public string Department { get; set; } = string.Empty; + public string Oc { get; set; } = string.Empty; + } + + public class Assign + { + public string personal_id { get; set; } = string.Empty; + public string round_no { get; set; } = string.Empty; + public string date_start { get; set; } = string.Empty; + public string date_finish { get; set; } = string.Empty; + public string behavior_desc { get; set; } = string.Empty; + public string other_desc { get; set; } = string.Empty; + public string other4_desc { get; set; } = string.Empty; + public string other5_no1_desc { get; set; } = string.Empty; + public string other5_no2_desc { get; set; } = string.Empty; + public string experimenter_dated { get; set; } = string.Empty; + } + + public class Evaluate + { + public string id { get; set; } = string.Empty; + public string director_id { get; set; } = string.Empty; + public string assign_id { get; set; } = string.Empty; + public string no { get; set; } = string.Empty; + public string date_start { get; set; } = string.Empty; + public string date_finish { get; set; } = string.Empty; + public string commander_dated { get; set; } = string.Empty; + public int knowledge_level { get; set; } + public int skill_level { get; set; } + public int competency_level { get; set; } + public int learn_level { get; set; } + public int apply_level { get; set; } + public int success_level { get; set; } + public string achievement_other_desc { get; set; } = string.Empty; + public int? achievement_other_level { get; set; } + public string achievement_strength_desc { get; set; } = string.Empty; + public string achievement_improve_desc { get; set; } = string.Empty; + public int conduct1_level { get; set; } + public int conduct2_level { get; set; } + public int conduct3_level { get; set; } + public int conduct4_level { get; set; } + public int moral1_level { get; set; } + public int moral2_level { get; set; } + public int moral3_level { get; set; } + public int discipline1_level { get; set; } + public int discipline2_level { get; set; } + public int discipline3_level { get; set; } + public int discipline4_level { get; set; } + public int discipline5_level { get; set; } + public string behavior_other_desc { get; set; } = string.Empty; + public int? behavior_other_level { get; set; } + public string behavior_strength_desc { get; set; } = string.Empty; + public string behavior_improve_desc { get; set; } = string.Empty; + public int orientation { get; set; } + public int self_learning { get; set; } + public int training_seminar { get; set; } + public int other_training { get; set; } + public string createdAt { get; set; } = string.Empty; + public string updatedAt { get; set; } = string.Empty; + } + } +} diff --git a/BMA.EHR.Application/Responses/EvaluateChairmanAssignResponse.cs b/BMA.EHR.Application/Responses/EvaluateChairmanAssignResponse.cs new file mode 100644 index 00000000..006c297c --- /dev/null +++ b/BMA.EHR.Application/Responses/EvaluateChairmanAssignResponse.cs @@ -0,0 +1,133 @@ +using System; + +namespace BMA.EHR.Application.Responses +{ + public class EvaluateChairmanAssignResponse + { + public bool successful { get; set; } + public Data data { get; set; } + + public class Data + { + public Experimentee experimentee { get; set; } + public List mentors { get; set; } + public Commander commander { get; set; } + public Chairman chairman { get; set; } + public Assign assign { get; set; } + public Evaluate evaluate { get; set; } + } + + public class Experimentee + { + public string personal_id { get; set; } = string.Empty; + public string name { get; set; } = string.Empty; + public string PositionId { get; set; } = string.Empty; + public string PositionLevelId { get; set; } = string.Empty; + public string PositionLineId { get; set; } = string.Empty; + public string OrganizationOrganization { get; set; } = string.Empty; + public string Position { get; set; } = string.Empty; + public string Department { get; set; } = string.Empty; + public string Oc { get; set; } = string.Empty; + } + + public class Mentor + { + public string dated { get; set; } + public Profile profile { get; set; } + + } + + public class Commander + { + public string personal_id { get; set; } = string.Empty; + public string name { get; set; } = string.Empty; + public string dated { get; set; } = string.Empty; + public string Position { get; set; } = string.Empty; + } + + public class Chairman + { + public string dated { get; set; } + public Profile profile { get; set; } + } + + public class Assign + { + public string personal_id { get; set; } = string.Empty; + public string round_no { get; set; } = string.Empty; + public string date_start { get; set; } = string.Empty; + public string date_finish { get; set; } = string.Empty; + public string behavior_desc { get; set; } = string.Empty; + public string other_desc { get; set; } = string.Empty; + public string other4_desc { get; set; } = string.Empty; + public string other5_no1_desc { get; set; } = string.Empty; + public string other5_no2_desc { get; set; } = string.Empty; + public string experimenter_dated { get; set; } = string.Empty; + } + + public class Evaluate + { + public string id { get; set; } = string.Empty; + public string director_id { get; set; } = string.Empty; + public string assign_id { get; set; } = string.Empty; + public string no { get; set; } = string.Empty; + public string date_start { get; set; } = string.Empty; + public string date_finish { get; set; } = string.Empty; + public string chairman_dated { get; set; } = string.Empty; + public int knowledge_level { get; set; } + public int apply_level { get; set; } + public int success_level { get; set; } + public string achievement_other_desc { get; set; } = string.Empty; + public int? achievement_other_level { get; set; } + public int conduct1_level { get; set; } + public int conduct2_level { get; set; } + public int conduct3_level { get; set; } + public int conduct4_level { get; set; } + public int moral1_level { get; set; } + public int moral2_level { get; set; } + public int moral3_level { get; set; } + public int discipline1_level { get; set; } + public int discipline2_level { get; set; } + public int discipline3_level { get; set; } + public int discipline4_level { get; set; } + public int discipline5_level { get; set; } + public string behavior_other_desc { get; set; } = string.Empty; + public int? behavior_other_level { get; set; } + public int achievement_score { get; set; } + public int achievement_score_total { get; set; } + public int achievement_percent { get; set; } + public int achievement_result { get; set; } + public int behavior_score { get; set; } + public int behavior_score_total { get; set; } + public double behavior_percent { get; set; } + public int behavior_result { get; set; } + public int develop_orientation_score { get; set; } + public int develop_self_learning_score { get; set; } + public int develop_training_seminar_score { get; set; } + public int develop_other_training_score { get; set; } + public int develop_orientation_percent { get; set; } + public int develop_self_learning_percent { get; set; } + public int develop_training_seminar_percent { get; set; } + public int develop_other_training_percent { get; set; } + public int develop_result { get; set; } + public int sum_score { get; set; } + public double sum_percent { get; set; } + public int evaluate_result { get; set; } + public string createdAt { get; set; } = string.Empty; + public string updatedAt { get; set; } = string.Empty; + } + + public class Profile + { + public string personal_id { get; set; } = string.Empty; + public string name { get; set; } = string.Empty; + public string PositionId { get; set; } = string.Empty; + public string PositionLevelId { get; set; } = string.Empty; + public string PositionLineId { get; set; } = string.Empty; + public string OrganizationOrganization { get; set; } = string.Empty; + public string Position { get; set; } = string.Empty; + public string Department { get; set; } = string.Empty; + public string Oc { get; set; } = string.Empty; + } + } +} diff --git a/BMA.EHR.Application/Responses/EvaluateRecordAssignResponse.cs b/BMA.EHR.Application/Responses/EvaluateRecordAssignResponse.cs new file mode 100644 index 00000000..0d91efd6 --- /dev/null +++ b/BMA.EHR.Application/Responses/EvaluateRecordAssignResponse.cs @@ -0,0 +1,106 @@ +using System; + +namespace BMA.EHR.Application.Responses +{ + public class EvaluateRecordAssignResponse + { + public bool successful { get; set; } + public Data data { get; set; } + + public class Data + { + public Experimentee experimentee { get; set; } + public Person person { get; set; } + public Assign assign { get; set; } + public List evaluate { get; set; } + } + + public class Experimentee + { + public string personal_id { get; set; } = string.Empty; + public string name { get; set; } = string.Empty; + public string PositionId { get; set; } = string.Empty; + public string PositionLevelId { get; set; } = string.Empty; + public string PositionLineId { get; set; } = string.Empty; + public string OrganizationOrganization { get; set; } = string.Empty; + public string Position { get; set; } = string.Empty; + public string Department { get; set; } = string.Empty; + public string Oc { get; set; } = string.Empty; + } + + public class Person + { + public string personal_id { get; set; } = string.Empty; + public string name { get; set; } = string.Empty; + public string PositionId { get; set; } = string.Empty; + public string PositionLevelId { get; set; } = string.Empty; + public string PositionLineId { get; set; } = string.Empty; + public string OrganizationOrganization { get; set; } = string.Empty; + public string Position { get; set; } = string.Empty; + public string Department { get; set; } = string.Empty; + public string Oc { get; set; } = string.Empty; + } + + public class Assign + { + public string date_start { get; set; } = string.Empty; + public string date_finish { get; set; } = string.Empty; + public string behavior_desc { get; set; } = string.Empty; + public string other_desc { get; set; } = string.Empty; + public string other4_desc { get; set; } = string.Empty; + public string other5_no1_desc { get; set; } = string.Empty; + public string other5_no2_desc { get; set; } = string.Empty; + public string experimenter_dated { get; set; } = string.Empty; + } + + public class Evaluate + { + public string id { get; set; } = string.Empty; + public string director_id { get; set; } = string.Empty; + public string assign_id { get; set; } = string.Empty; + public string no { get; set; } = string.Empty; + public string date_start { get; set; } = string.Empty; + public string date_finish { get; set; } = string.Empty; + public string assessor_dated { get; set; } = string.Empty; + public int knowledge_level { get; set; } + public int skill_level { get; set; } + public int competency_level { get; set; } + public int learn_level { get; set; } + public int apply_level { get; set; } + public string achievement_other_desc { get; set; } = string.Empty; + public int? achievement_other_level { get; set; } + public string achievement_strength_desc { get; set; } = string.Empty; + public string achievement_improve_desc { get; set; } = string.Empty; + public int conduct1_level { get; set; } + public int conduct2_level { get; set; } + public int conduct3_level { get; set; } + public int conduct4_level { get; set; } + public int moral1_level { get; set; } + public int moral2_level { get; set; } + public int moral3_level { get; set; } + public int discipline1_level { get; set; } + public int discipline2_level { get; set; } + public int discipline3_level { get; set; } + public int discipline4_level { get; set; } + public int discipline5_level { get; set; } + public string behavior_other_desc { get; set; } = string.Empty; + public int? behavior_other_level { get; set; } + public string behavior_strength_desc { get; set; } = string.Empty; + public string behavior_improve_desc { get; set; } = string.Empty; + public int orientation { get; set; } + public int self_learning { get; set; } + public int training_seminar { get; set; } + public int other_training { get; set; } + public string createdAt { get; set; } = string.Empty; + public string updatedAt { get; set; } = string.Empty; + public List achievements { get; set; } + } + public class Achievements + { + public string evaluate_expect_desc { get; set; } = string.Empty; + public int evaluate_expect_level { get; set; } + public string evaluate_output_desc { get; set; } = string.Empty; + public int evaluate_output_level { get; set; } + } + } +} diff --git a/BMA.EHR.Application/Responses/EvaluateResultAssignResponse.cs b/BMA.EHR.Application/Responses/EvaluateResultAssignResponse.cs new file mode 100644 index 00000000..7d269983 --- /dev/null +++ b/BMA.EHR.Application/Responses/EvaluateResultAssignResponse.cs @@ -0,0 +1,109 @@ +using System; + +namespace BMA.EHR.Application.Responses +{ + public class EvaluateResultAssignResponse + { + public bool successful { get; set; } + public Data data { get; set; } + + public class Data + { + public Commander commander { get; set; } + public Chairman chairman { get; set; } + public List mentors { get; set; } + public Experimentee experimentee { get; set; } + public Assign assign { get; set; } + public Evaluate evaluate { get; set; } + } + + public class Commander + { + public string personal_id { get; set; } + public string name { get; set; } + public string PositionId { get; set; } + public string PositionLevelId { get; set; } + public string PositionLineId { get; set; } + public string Position { get; set; } + public string Department { get; set; } + public string OrganizationOrganization { get; set; } + public string Oc { get; set; } + } + + public class Chairman + { + public string personal_id { get; set; } + public string name { get; set; } + public string PositionId { get; set; } + public string PositionLevelId { get; set; } + public string PositionLineId { get; set; } + public string Position { get; set; } + public string Department { get; set; } + public string OrganizationOrganization { get; set; } + public string Oc { get; set; } + } + + public class Mentor + { + public string personal_id { get; set; } + public string name { get; set; } + public string PositionId { get; set; } + public string PositionLevelId { get; set; } + public string PositionLineId { get; set; } + public string Position { get; set; } + public string Department { get; set; } + public string OrganizationOrganization { get; set; } + public string Oc { get; set; } + } + + public class Experimentee + { + public string personal_id { get; set; } + public string name { get; set; } + public string PositionId { get; set; } + public string PositionLevelId { get; set; } + public string PositionLineId { get; set; } + public string Position { get; set; } + public string Department { get; set; } + public string OrganizationOrganization { get; set; } + public string Oc { get; set; } + } + + public class Assign + { + public string id { get; set; } + public string personal_id { get; set; } + public int round_no { get; set; } + public string date_start { get; set; } + public string date_finish { get; set; } + public string behavior_desc { get; set; } + public string other_desc { get; set; } + public string other4_desc { get; set; } + public string other5_no1_desc { get; set; } + public string other5_no2_desc { get; set; } + public string experimenter_dated { get; set; } + public int active { get; set; } + public string createdAt { get; set; } + public string updatedAt { get; set; } + } + + public class Evaluate + { + public string id { get; set; } + public string director_id { get; set; } + public string assign_id { get; set; } + public int no { get; set; } + public string date_start { get; set; } + public string date_finish { get; set; } + public int develop_complete { get; set; } + public int pass_result { get; set; } + public int expand_month { get; set; } + public string reson { get; set; } + public string chairman_dated { get; set; } + public string director1_dated { get; set; } + public string director2_dated { get; set; } + public string createdAt { get; set; } + public string updatedAt { get; set; } + } + } +} diff --git a/BMA.EHR.Application/Responses/ProbationAssignResponse.cs b/BMA.EHR.Application/Responses/ProbationAssignResponse.cs new file mode 100644 index 00000000..73830dee --- /dev/null +++ b/BMA.EHR.Application/Responses/ProbationAssignResponse.cs @@ -0,0 +1,89 @@ +namespace BMA.EHR.Application.Responses +{ + public class ProbationAssignResponse + { + public bool successful { get; set; } + public Data data { get; set; } + + public class Data + { + public Profile profile { get; set; } + public Assign assign { get; set; } + public List mentors { get; set; } + public Commander commander { get; set; } + public List jobs { get; set; } + public List knowledges { get; set; } + public List competencys { get; set; } + public List outputs { get; set; } + } + + public class Profile + { + public string personal_id { get; set; } = string.Empty; + public string name { get; set; } = string.Empty; + public string PositionId { get; set; } = string.Empty; + public string PositionLevelId { get; set; } = string.Empty; + public string PositionLineId { get; set; } = string.Empty; + public string OrganizationOrganization { get; set; } = string.Empty; + public string Position { get; set; } = string.Empty; + public string Department { get; set; } = string.Empty; + public string Oc { get; set; } = string.Empty; + } + + public class Assign + { + public string date_start { get; set; } = string.Empty; + public string date_finish { get; set; } = string.Empty; + public string behavior_desc { get; set; } = string.Empty; + public string other_desc { get; set; } = string.Empty; + public string other4_desc { get; set; } = string.Empty; + public string other5_no1_desc { get; set; } = string.Empty; + public string other5_no2_desc { get; set; } = string.Empty; + public string experimenter_dated { get; set; } = string.Empty; + } + + public class Mentor + { + public string personal_id { get; set; } = string.Empty; + public string name { get; set; } = string.Empty; + public string dated { get; set; } = string.Empty; + public string Position { get; set; } = string.Empty; + } + + public class Commander + { + public string personal_id { get; set; } = string.Empty; + public string name { get; set; } = string.Empty; + public string dated { get; set; } = string.Empty; + public string Position { get; set; } = string.Empty; + } + + public class Job + { + public int id { get; set; } + public string activity_desc { get; set; } = string.Empty; + public string goal_desc { get; set; } = string.Empty; + } + + public class Knowledge + { + public int id { get; set; } + public string title { get; set; } = string.Empty; + public string description { get; set; } = string.Empty; + } + + public class Competency + { + public int id { get; set; } + public string title { get; set; } = string.Empty; + public string description { get; set; } = string.Empty; + } + + public class Output + { + public int id { get; set; } + public string output_desc { get; set; } = string.Empty; + public string indicator_desc { get; set; } = string.Empty; + } + } +} diff --git a/BMA.EHR.Report.Service/Controllers/InsigniaReportController.cs b/BMA.EHR.Report.Service/Controllers/InsigniaReportController.cs index 7fb08d5b..e33bbf2a 100644 --- a/BMA.EHR.Report.Service/Controllers/InsigniaReportController.cs +++ b/BMA.EHR.Report.Service/Controllers/InsigniaReportController.cs @@ -1,8 +1,11 @@ using BMA.EHR.Application.Repositories.Reports; using BMA.EHR.Domain.Common; +using DocumentFormat.OpenXml.Drawing; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Swashbuckle.AspNetCore.Annotations; +using Telerik.Reporting; +using Telerik.Reporting.Processing; namespace BMA.EHR.Report.Service.Controllers { @@ -55,7 +58,10 @@ namespace BMA.EHR.Report.Service.Controllers try { var data = await _repository.GetKhr1Report(id); - return Success(data); + var total = await _repository.GetKhr1TotalReport(id); + var YearInsignalPeriod = await _repository.GetYearInsigniaPeriod(id); + var TwoYearInsignalPeriod = await _repository.Get2YearInsigniaPeriod(id); + var Date = await _repository.GetDateInsigniaPeriod(id); var mimeType = ""; switch (exportType.Trim().ToLower()) { @@ -63,12 +69,53 @@ namespace BMA.EHR.Report.Service.Controllers case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; } - + var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"39-แบบ ขร1 บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ ข้าราชการ ชั้นสายสะพาย.trdp"); - var contentData = _reportGenerator.GenerateReport(rptFile, exportType); - return File(contentData, mimeType, $"insignia.{exportType.Trim().ToLower()}"); + ReportPackager reportPacker = new ReportPackager(); + Telerik.Reporting.Report? report = null; + using (var sourceStream = System.IO.File.OpenRead(rptFile)) + { + report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream); + } + report.ReportParameters["YearInsigniaPeriod"].Value = YearInsignalPeriod; + report.ReportParameters["TwoYearInsignalPeriod"].Value = TwoYearInsignalPeriod; + report.ReportParameters["EndDate"].Value = Date.GetType().GetProperty("EndDate").GetValue(Date); + + var _Khr1List = new List(); + foreach (var _data in data) + { + _Khr1List.Add(new + { + RowNo = _data.GetType().GetProperty("RowNo").GetValue(_data), + DepartmentName = _data.GetType().GetProperty("DepartmentName").GetValue(_data), + G1Male = _data.GetType().GetProperty("G1Male").GetValue(_data), + G1Female = _data.GetType().GetProperty("G1Female").GetValue(_data), + G2Male = _data.GetType().GetProperty("G2Male").GetValue(_data), + G2Female = _data.GetType().GetProperty("G2Female").GetValue(_data), + G3Male = _data.GetType().GetProperty("G3Male").GetValue(_data), + G3Female = _data.GetType().GetProperty("G3Female").GetValue(_data), + G4Male = _data.GetType().GetProperty("G4Male").GetValue(_data), + G4Female = _data.GetType().GetProperty("G4Female").GetValue(_data), + G5Male = _data.GetType().GetProperty("G5Male").GetValue(_data), + G5Female = _data.GetType().GetProperty("G5Female").GetValue(_data), + reason = string.Empty, + }); + } + var tbl = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"]; + tbl.DataSource = _Khr1List; + var tbl2 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table2"]; + tbl2.DataSource = total; + + System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); + InstanceReportSource instanceReportSource = new InstanceReportSource() + { + ReportDocument = report, + }; + ReportProcessor reportProcessor = new ReportProcessor(_configuration); + RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo); + return File(result.DocumentBytes, mimeType, $"แบบ ขร1.{exportType.Trim().ToLower()}"); } catch { @@ -93,7 +140,10 @@ namespace BMA.EHR.Report.Service.Controllers try { var data = await _repository.GetKhr2Report(id); - return Success(data); + var total = await _repository.GetKhr2TotalReport(id); + var YearInsignalPeriod = await _repository.GetYearInsigniaPeriod(id); + var TwoYearInsignalPeriod = await _repository.Get2YearInsigniaPeriod(id); + var Date = await _repository.GetDateInsigniaPeriod(id); var mimeType = ""; switch (exportType.Trim().ToLower()) { @@ -103,10 +153,58 @@ namespace BMA.EHR.Report.Service.Controllers } var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"40-แบบ ขร2 บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ ข้าราชการ ชั้นต่ำกว่าสายสะพาย.trdp"); - var contentData = _reportGenerator.GenerateReport(rptFile, exportType); + ReportPackager reportPacker = new ReportPackager(); + Telerik.Reporting.Report? report = null; + using (var sourceStream = System.IO.File.OpenRead(rptFile)) + { + report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream); + } - return File(contentData, mimeType, $"insignia.{exportType.Trim().ToLower()}"); + report.ReportParameters["YearInsigniaPeriod"].Value = YearInsignalPeriod; + report.ReportParameters["TwoYearInsignalPeriod"].Value = TwoYearInsignalPeriod; + report.ReportParameters["EndDate"].Value = Date.GetType().GetProperty("EndDate").GetValue(Date); + var _Khr2List = new List(); + foreach (var _data in data) + { + _Khr2List.Add(new + { + //RowNo = _data.GetType().GetProperty("RowNo").GetValue(_data), + RowNo = _Khr2List.Count+1, + DepartmentName = _data.GetType().GetProperty("DepartmentName").GetValue(_data), + G1Male = _data.GetType().GetProperty("G1Male").GetValue(_data), + G1Female = _data.GetType().GetProperty("G1Female").GetValue(_data), + G2Male = _data.GetType().GetProperty("G2Male").GetValue(_data), + G2Female = _data.GetType().GetProperty("G2Female").GetValue(_data), + G3Male = _data.GetType().GetProperty("G3Male").GetValue(_data), + G3Female = _data.GetType().GetProperty("G3Female").GetValue(_data), + G4Male = _data.GetType().GetProperty("G4Male").GetValue(_data), + G4Female = _data.GetType().GetProperty("G4Female").GetValue(_data), + G5Male = _data.GetType().GetProperty("G5Male").GetValue(_data), + G5Female = _data.GetType().GetProperty("G5Female").GetValue(_data), + G6Male = _data.GetType().GetProperty("G1Male").GetValue(_data), + G6Female = _data.GetType().GetProperty("G1Female").GetValue(_data), + G7Male = _data.GetType().GetProperty("G1Male").GetValue(_data), + G7Female = _data.GetType().GetProperty("G1Female").GetValue(_data), + G8Male = _data.GetType().GetProperty("G1Male").GetValue(_data), + G8Female = _data.GetType().GetProperty("G1Female").GetValue(_data), + G9Male = _data.GetType().GetProperty("G1Male").GetValue(_data), + G9Female = _data.GetType().GetProperty("G1Female").GetValue(_data), + }); + } + var tbl1 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"]; + tbl1.DataSource = _Khr2List; + var tbl2 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table2"]; + tbl2.DataSource = total; + + System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); + InstanceReportSource instanceReportSource = new InstanceReportSource() + { + ReportDocument = report, + }; + ReportProcessor reportProcessor = new ReportProcessor(_configuration); + RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo); + return File(result.DocumentBytes, mimeType, $"แบบ ขร2.{exportType.Trim().ToLower()}"); } catch { @@ -131,7 +229,6 @@ namespace BMA.EHR.Report.Service.Controllers try { var data = await _repository.GetKhr3Report(id); - return Success(data); var mimeType = ""; switch (exportType.Trim().ToLower()) { @@ -143,7 +240,7 @@ namespace BMA.EHR.Report.Service.Controllers var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"41-แบบ ขร3 บัญชีรายชื่อข้าราชการผู้ขอพระราชทานเครื่องราชฯ.trdp"); var contentData = _reportGenerator.GenerateReport(rptFile, exportType); - return File(contentData, mimeType, $"insignia.{exportType.Trim().ToLower()}"); + return File(contentData, mimeType, $"แบบ ขร3.{exportType.Trim().ToLower()}"); } catch @@ -169,7 +266,6 @@ namespace BMA.EHR.Report.Service.Controllers try { var data = await _repository.GetKhr4Report(id); - return Success(data); var mimeType = ""; switch (exportType.Trim().ToLower()) { @@ -179,9 +275,24 @@ namespace BMA.EHR.Report.Service.Controllers } var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"42-แบบ ขร4 บัญชีแสดงคุณสมบัติของข้าราชการซึ่งเสนอขอเครื่องราชฯ.trdp"); - var contentData = _reportGenerator.GenerateReport(rptFile, exportType); + ReportPackager reportPacker = new ReportPackager(); + Telerik.Reporting.Report? report = null; + using (var sourceStream = System.IO.File.OpenRead(rptFile)) + { + report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream); + } - return File(contentData, mimeType, $"insignia.{exportType.Trim().ToLower()}"); + var tbl1 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"]; + tbl1.DataSource = data; + + System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); + InstanceReportSource instanceReportSource = new InstanceReportSource() + { + ReportDocument = report, + }; + ReportProcessor reportProcessor = new ReportProcessor(_configuration); + RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo); + return File(result.DocumentBytes, mimeType, $"แบบ ขร4.{exportType.Trim().ToLower()}"); } catch diff --git a/BMA.EHR.Report.Service/Controllers/ProbationReportController.cs b/BMA.EHR.Report.Service/Controllers/ProbationReportController.cs index 4a59d21f..036b15eb 100644 --- a/BMA.EHR.Report.Service/Controllers/ProbationReportController.cs +++ b/BMA.EHR.Report.Service/Controllers/ProbationReportController.cs @@ -10,6 +10,8 @@ using DocumentFormat.OpenXml.Drawing; using Telerik.Reporting; using Telerik.Reporting.Processing; using System.IO; +using Newtonsoft.Json; +using BMA.EHR.Application.Responses; namespace BMA.EHR.Report.Service.Controllers { @@ -17,7 +19,7 @@ namespace BMA.EHR.Report.Service.Controllers [ApiVersion("2.0")] [ApiController] [Produces("application/json")] - [Authorize] + //[Authorize] [SwaggerTag("API รายงานระบทดลองงาน")] public class ProbationReportController : BaseController { @@ -25,20 +27,19 @@ namespace BMA.EHR.Report.Service.Controllers private readonly IWebHostEnvironment _hostingEnvironment; private readonly IConfiguration _configuration; - //private readonly ProbationReportRepository _repository; + private readonly ProbationReportRepository _repository; private readonly GenericReportGenerator _reportGenerator; - #endregion #region " Constuctor and Destructor " - public ProbationReportController(IWebHostEnvironment hostingEnvironment, IConfiguration configuration,/* ProbationReportRepository repository*/ GenericReportGenerator reportGenerator) + public ProbationReportController(IWebHostEnvironment hostingEnvironment, IConfiguration configuration, ProbationReportRepository repository, GenericReportGenerator reportGenerator) { _hostingEnvironment = hostingEnvironment; _configuration = configuration; - //_repository = repository; + _repository = repository; _reportGenerator = reportGenerator; } @@ -50,27 +51,174 @@ namespace BMA.EHR.Report.Service.Controllers /// /// 13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ /// - /// assign id ของแบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ + /// assign id แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ /// pdf, docx หรือ xlsx /// /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ /// ไม่ได้ Login เข้าระบบ /// เมื่อเกิดข้อผิดพลาดในการทำงาน [HttpGet("13/{exportType}/{id}")] - /*public async Task> GetProbationReportAsync(Guid id, string exportType = "pdf") + public async Task> GetProbationReportAsync(Guid id, string exportType = "pdf") { try { string authorizationHeader = Request.Headers["Authorization"]; string token = string.Empty; - id = Guid.Parse("f26581e7-2736-4988-b3c3-13c0bb3b15b3"); // fix ไว้ทดสอบเฉยๆเดี๋ยวมาลบครับ if (!string.IsNullOrEmpty(authorizationHeader) && authorizationHeader.StartsWith("Bearer ")) { token = authorizationHeader.Substring("Bearer ".Length).Trim(); var probation = await _repository.GetProbationAssignAsync(id, token); - return probation != null ? Success(probation) : NotFound(id); + + if(probation != null) + { + var mimeType = ""; + switch (exportType.Trim().ToLower()) + { + case "pdf": mimeType = "application/pdf"; break; + case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; + case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; + } + + var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ-1.trdp"); + var rptFile2 = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ-2.trdp"); + var rptFile3 = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ-3.trdp"); + + ReportPackager reportPacker = new ReportPackager(); + Telerik.Reporting.Report? report = null; + Telerik.Reporting.Report? report2 = null; + Telerik.Reporting.Report? report3 = null; + + using (var sourceStream = System.IO.File.OpenRead(rptFile)) + using (var sourceStream2 = System.IO.File.OpenRead(rptFile2)) + using (var sourceStream3 = System.IO.File.OpenRead(rptFile3)) + { + report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream); + report2 = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream2); + report3 = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream3); + } + + report.ReportParameters["Name"].Value = probation.GetType().GetProperty("Name").GetValue(probation); + report.ReportParameters["Position"].Value = probation.GetType().GetProperty("Position").GetValue(probation); + report.ReportParameters["Department"].Value = probation.GetType().GetProperty("Department").GetValue(probation); + report.ReportParameters["OrganizationOrganization"].Value = probation.GetType().GetProperty("OrganizationOrganization").GetValue(probation); + report.ReportParameters["Oc"].Value = probation.GetType().GetProperty("Oc").GetValue(probation); + report.ReportParameters["DateStart"].Value = probation.GetType().GetProperty("DateStart").GetValue(probation); + report.ReportParameters["DateFinish"].Value = probation.GetType().GetProperty("DateFinish").GetValue(probation); + report.ReportParameters["NameMentor1"].Value = probation.GetType().GetProperty("NameMentor1").GetValue(probation); + report.ReportParameters["NameMentor2"].Value = probation.GetType().GetProperty("NameMentor2").GetValue(probation); + report.ReportParameters["DateMentor1"].Value = probation.GetType().GetProperty("DateMentor1").GetValue(probation); + report.ReportParameters["DateMentor2"].Value = probation.GetType().GetProperty("DateMentor2").GetValue(probation); + report.ReportParameters["PositionMentor1"].Value = probation.GetType().GetProperty("PositionMentor1").GetValue(probation); + report.ReportParameters["PositionMentor2"].Value = probation.GetType().GetProperty("PositionMentor2").GetValue(probation); + report.ReportParameters["OtherDesc"].Value = probation.GetType().GetProperty("OtherDesc").GetValue(probation); + report2.ReportParameters["Other4Desc"].Value = probation.GetType().GetProperty("Other4Desc").GetValue(probation); + report2.ReportParameters["Other5No1Desc"].Value = probation.GetType().GetProperty("Other5No1Desc").GetValue(probation); + report3.ReportParameters["Name"].Value = probation.GetType().GetProperty("Name").GetValue(probation); + report3.ReportParameters["Position"].Value = probation.GetType().GetProperty("Position").GetValue(probation); + report3.ReportParameters["DateStart"].Value = probation.GetType().GetProperty("DateStart").GetValue(probation); + report3.ReportParameters["NameMentor1"].Value = probation.GetType().GetProperty("NameMentor1").GetValue(probation); + report3.ReportParameters["PositionMentor1"].Value = probation.GetType().GetProperty("PositionMentor1").GetValue(probation); + report3.ReportParameters["DateMentor1"].Value = probation.GetType().GetProperty("DateMentor1").GetValue(probation); + report3.ReportParameters["NameCommander"].Value = probation.GetType().GetProperty("NameCommander").GetValue(probation); + report3.ReportParameters["PositionCommander"].Value = probation.GetType().GetProperty("PositionCommander").GetValue(probation); + report3.ReportParameters["DateCommander"].Value = probation.GetType().GetProperty("DateCommander").GetValue(probation); + report3.ReportParameters["Other5No2Desc"].Value = probation.GetType().GetProperty("Other5No2Desc").GetValue(probation); + + report.ReportParameters["Behave"].Value = + "ความประพฤติ\n" + + " • ให้บริการประชาชนหรือผู้รับบริการด้วยอธัยาศัยดี\n" + + " • มีความรับผิดชอบในการปฏิบัติงาน\n" + + " • ให้บริการประชาชนหรือผู้รับบริการด้วยความรวดเร็ว เอาใจใส่เป็นมาตรฐานเดียวกัน\n" + + " • ตั้งใจปฏิบัติหน้าที่ราชการด้วยความอุตสาหะ ขยันหมั่นเพียร\n" + + "ความมีคุณธรรมจริยธรรม ได้แก่\n" + + " • อุทิศตนและเสียสละเวลาในการปฏิบัติงานอย่างเต็มกำลังความสามารถ\n" + + " • มีจิตสำนึกที่ดี ปฏิบัติงานด้วยความซื่อสัตย์ สุจริต\n" + + " • ยึดมั่นในสถาบันพระมหากษัตริย์ และไม่กระทำการใด ๆ อันจะก่อให้เกิดความเสียหายต่อประเทศชาติ ศาสนา และพระมหากษัตริย์\n" + + "การรักษาวินัย ได้แก่\n" + + " • มีความรับผิดชอบในการรักษาเวลาทำงาน\n" + + " • แต่งกายในการปฏิบัติงานได้อย่างเหมาะสมกับการเป็นข้าราชการ\n" + + " • ไม่กระทำการใด ๆ อันเป็นการเสื่อมเกียรติและศักดิ์ศรีของความเป็นข้าราชการ\n" + + " • ไม่กระทำการใด ๆ อันอาจก่อให้เกิดความเสียหายแก่ชื่อเสียงของหน่วยงาน\n" + + " • ปฏิบัติหน้าที่อย่างตรงไปตรงมาโดยยึกหลักจรรยาบรรณวิชาชีพ\n"; + + var _jobsList = new List(); + dynamic jobs = probation.GetType().GetProperty("Jobs").GetValue(probation); + foreach (var job in jobs) + { + _jobsList.Add(new + { + Id = "-", + Activity_desc = job.activity_desc, + Goal_desc = job.goal_desc, + }); + } + var tblJobsActivity = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"]; + tblJobsActivity.DataSource = _jobsList; + var tblJobsGoal = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table2"]; + tblJobsGoal.DataSource = _jobsList; + + var _knowledgeList = new List(); + dynamic knowledges = probation.GetType().GetProperty("Knowledge").GetValue(probation); + foreach (var knowledge in knowledges) + { + _knowledgeList.Add(new + { + Title = knowledge.title, + Description =knowledge.description + }); + } + var tblKnowledges = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table3"]; + tblKnowledges.DataSource = _knowledgeList; + + var _competencysList = new List(); + dynamic competencys = probation.GetType().GetProperty("Competency").GetValue(probation); + foreach (var competency in competencys) + { + _competencysList.Add(new + { + Id = competency.id, + Title = competency.title, + Description = competency.description + }); + } + var tblCompetencys = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table4"]; + tblCompetencys.DataSource = _competencysList; + + var _OutputsList = new List(); + dynamic Outputs = probation.GetType().GetProperty("Outputs").GetValue(probation); + foreach (var Output in Outputs) + { + _OutputsList.Add(new + { + Output_desc = Output.output_desc, + Indicator_desc = Output.indicator_desc, + }); + } + var tblOutputs = (Telerik.Reporting.Table)report2.Items["detailSection1"].Items["table1"]; + tblOutputs.DataSource = _OutputsList; + + var reportBook = new ReportBook(); + reportBook.Reports.Add(report); + reportBook.Reports.Add(report2); + reportBook.Reports.Add(report3); + + System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); + InstanceReportSource instanceReportSource = new InstanceReportSource() + { + ReportDocument = reportBook, + }; + + ReportProcessor reportProcessor = new ReportProcessor(_configuration); + RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo); + var content = result.DocumentBytes; + return File(content, mimeType, $"แบบมอบหมายงาน ฯ.{exportType.Trim().ToLower()}"); + } + else + { + return NotFound(); + } } else { @@ -81,30 +229,6 @@ namespace BMA.EHR.Report.Service.Controllers { throw; } - }*/ - public IActionResult GetProbation13ConvertReportAsync(Guid id, string exportType = "pdf") - { - try - { - - var mimeType = ""; - switch (exportType.Trim().ToLower()) - { - case "pdf": mimeType = "application/pdf"; break; - case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; - case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; - } - - var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ.trdp"); - var contentData = _reportGenerator.GenerateReport(rptFile, exportType); - - return File(contentData, mimeType, $"probation.{exportType.Trim().ToLower()}"); - - } - catch - { - throw; - } } #endregion @@ -119,24 +243,151 @@ namespace BMA.EHR.Report.Service.Controllers /// ไม่ได้ Login เข้าระบบ /// เมื่อเกิดข้อผิดพลาดในการทำงาน [HttpGet("14/{exportType}/{id}")] - public IActionResult GetProbation14ConvertReportAsync(Guid id, string exportType = "pdf") + public async Task> GetProbation14ConvertReportAsync(Guid id, string exportType = "pdf") { try { + string authorizationHeader = Request.Headers["Authorization"]; + string token = string.Empty; - var mimeType = ""; - switch (exportType.Trim().ToLower()) + if (!string.IsNullOrEmpty(authorizationHeader) && authorizationHeader.StartsWith("Bearer ")) { - case "pdf": mimeType = "application/pdf"; break; - case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; - case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; + token = authorizationHeader.Substring("Bearer ".Length).Trim(); + var evaluateRecord = await _repository.GetEvaluateRecordAsync(id, token); + + if (evaluateRecord != null) + { + var mimeType = ""; + switch (exportType.Trim().ToLower()) + { + case "pdf": mimeType = "application/pdf"; break; + case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; + case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; + } + + var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"14-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้ดูแล-1.trdp"); + //var rptFile2 = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"14-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้ดูแล-2.trdp"); + var rptFile3 = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"14-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้ดูแล-3.trdp"); + + ReportPackager reportPacker = new ReportPackager(); + Telerik.Reporting.Report? report = null; + //Telerik.Reporting.Report? report2 = null; + Telerik.Reporting.Report? report3 = null; + + using (var sourceStream = System.IO.File.OpenRead(rptFile)) + //using (var sourceStream2 = System.IO.File.OpenRead(rptFile2)) + using (var sourceStream3 = System.IO.File.OpenRead(rptFile3)) + { + report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream); + //report2 = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream2); + report3 = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream3); + } + + report.ReportParameters["Name"].Value = evaluateRecord.GetType().GetProperty("Name").GetValue(evaluateRecord); + report.ReportParameters["Position"].Value = evaluateRecord.GetType().GetProperty("Position").GetValue(evaluateRecord); + report.ReportParameters["ExperimenteeName"].Value = evaluateRecord.GetType().GetProperty("ExperimenteeName").GetValue(evaluateRecord); + report.ReportParameters["ExperimenteePosition"].Value = evaluateRecord.GetType().GetProperty("ExperimenteePosition").GetValue(evaluateRecord); + report.ReportParameters["Department"].Value = evaluateRecord.GetType().GetProperty("Department").GetValue(evaluateRecord); + report.ReportParameters["OrganizationOrganization"].Value = evaluateRecord.GetType().GetProperty("OrganizationOrganization").GetValue(evaluateRecord); + report.ReportParameters["Oc"].Value = evaluateRecord.GetType().GetProperty("Oc").GetValue(evaluateRecord); + report.ReportParameters["DateStart"].Value = evaluateRecord.GetType().GetProperty("DateStart").GetValue(evaluateRecord); + report.ReportParameters["DateFinish"].Value = evaluateRecord.GetType().GetProperty("DateFinish").GetValue(evaluateRecord); + report.ReportParameters["AchievementStrengthDesc1"].Value = evaluateRecord.GetType().GetProperty("AchievementStrengthDesc1").GetValue(evaluateRecord); + report.ReportParameters["AchievementStrengthDesc2"].Value = evaluateRecord.GetType().GetProperty("AchievementStrengthDesc2").GetValue(evaluateRecord); + report.ReportParameters["AchievementStrengthDesc3"].Value = evaluateRecord.GetType().GetProperty("AchievementStrengthDesc3").GetValue(evaluateRecord); + report.ReportParameters["AchievementImproveDesc1"].Value = evaluateRecord.GetType().GetProperty("AchievementImproveDesc1").GetValue(evaluateRecord); + report.ReportParameters["AchievementImproveDesc2"].Value = evaluateRecord.GetType().GetProperty("AchievementImproveDesc2").GetValue(evaluateRecord); + report.ReportParameters["AchievementImproveDesc3"].Value = evaluateRecord.GetType().GetProperty("AchievementImproveDesc3").GetValue(evaluateRecord); + report3.ReportParameters["BehaviorStrengthDesc1"].Value = evaluateRecord.GetType().GetProperty("BehaviorStrengthDesc1").GetValue(evaluateRecord); + report3.ReportParameters["BehaviorStrengthDesc2"].Value = evaluateRecord.GetType().GetProperty("BehaviorStrengthDesc2").GetValue(evaluateRecord); + report3.ReportParameters["BehaviorStrengthDesc3"].Value = evaluateRecord.GetType().GetProperty("BehaviorStrengthDesc3").GetValue(evaluateRecord); + report3.ReportParameters["BehaviorImproveDesc1"].Value = evaluateRecord.GetType().GetProperty("BehaviorImproveDesc1").GetValue(evaluateRecord); + report3.ReportParameters["BehaviorImproveDesc2"].Value = evaluateRecord.GetType().GetProperty("BehaviorImproveDesc2").GetValue(evaluateRecord); + report3.ReportParameters["BehaviorImproveDesc3"].Value = evaluateRecord.GetType().GetProperty("BehaviorImproveDesc3").GetValue(evaluateRecord); + report3.ReportParameters["Name"].Value = evaluateRecord.GetType().GetProperty("Name").GetValue(evaluateRecord); + report3.ReportParameters["Position"].Value = evaluateRecord.GetType().GetProperty("Position").GetValue(evaluateRecord); + report3.ReportParameters["MentorDate"].Value = evaluateRecord.GetType().GetProperty("MentorDate").GetValue(evaluateRecord); + + var _evaluateslist = new List(); + dynamic evaluates = evaluateRecord.GetType().GetProperty("Evaluates").GetValue(evaluateRecord); + foreach (var evaluate in evaluates) + { + string Evaluate_expect_desc = string.Empty; + string Evaluate_output_desc = string.Empty; + int Evaluate_expect_level = 0; + int Evaluate_output_level = 0; + string Check_expect1 = string.Empty; + string Check_expect2 = string.Empty; + string Check_expect3 = string.Empty; + string Check_expect4 = string.Empty; + string Check_expect5 = string.Empty; + string Check_output1 = string.Empty; + string Check_output2 = string.Empty; + string Check_output3 = string.Empty; + string Check_output4 = string.Empty; + string Check_output5 = string.Empty; + var achievements = evaluate.achievements; + foreach (var achievement in achievements) + { + Evaluate_expect_desc = achievement.evaluate_expect_desc; + Evaluate_output_desc = achievement.evaluate_output_desc; + Evaluate_expect_level = achievement.evaluate_expect_level; + Evaluate_output_level = achievement.evaluate_output_level; + } + _evaluateslist.Add(new + { + No = evaluate.no, + Date_start = evaluate.date_start, + Date_finish = evaluate.date_finish, + Evaluate_expect_desc = $" - {Evaluate_expect_desc}", + Evaluate_output_desc = $" - {Evaluate_output_desc}", + Check_expect1 = Evaluate_expect_level == 1 ? "/" : string.Empty, + Check_expect2 = Evaluate_expect_level == 2 ? "/" : string.Empty, + Check_expect3 = Evaluate_expect_level == 3 ? "/" : string.Empty, + Check_expect4 = Evaluate_expect_level == 4 ? "/" : string.Empty, + Check_expect5 = Evaluate_expect_level == 5 ? "/" : string.Empty, + Check_output1 = Evaluate_output_level == 1 ? "/" : string.Empty, + Check_output2 = Evaluate_output_level == 2 ? "/" : string.Empty, + Check_output3 = Evaluate_output_level == 3 ? "/" : string.Empty, + Check_output4 = Evaluate_output_level == 4 ? "/" : string.Empty, + Check_output5 = Evaluate_output_level == 5 ? "/" : string.Empty, + ApplyLevel = evaluate.apply_level, + AchievementStrengthDesc = evaluate.achievement_strength_desc, + AchievementImproveDesc = evaluate.achievement_improve_desc, + + }); + } + var tblEvaluate_1 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table2"]; + tblEvaluate_1.DataSource = _evaluateslist; + + var tblEvaluate_2 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"]; + tblEvaluate_2.DataSource = _evaluateslist; + + var reportBook = new ReportBook(); + reportBook.Reports.Add(report); + //reportBook.Reports.Add(report2); + reportBook.Reports.Add(report3); + + System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); + InstanceReportSource instanceReportSource = new InstanceReportSource() + { + ReportDocument = reportBook, + }; + + ReportProcessor reportProcessor = new ReportProcessor(_configuration); + RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo); + var content = result.DocumentBytes; + return File(content, mimeType, $"แบบบันทึกผล(สำหรับผู้ดูแล).{exportType.Trim().ToLower()}"); + } + else + { + return NotFound(); + } + } + else + { + return Unauthorized(); } - - var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"14-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้ดูแล-1.trdp"); - var contentData = _reportGenerator.GenerateReport(rptFile, exportType); - - return File(contentData, mimeType, $"probation.{exportType.Trim().ToLower()}"); - } catch { @@ -156,24 +407,147 @@ namespace BMA.EHR.Report.Service.Controllers /// ไม่ได้ Login เข้าระบบ /// เมื่อเกิดข้อผิดพลาดในการทำงาน [HttpGet("15/{exportType}/{id}")] - public IActionResult GetProbation15ConvertReportAsync(Guid id, string exportType = "pdf") + public async Task> GetProbation15ConvertReportAsync(Guid id, string exportType = "pdf") { try { + string authorizationHeader = Request.Headers["Authorization"]; + string token = string.Empty; - var mimeType = ""; - switch (exportType.Trim().ToLower()) + if (!string.IsNullOrEmpty(authorizationHeader) && authorizationHeader.StartsWith("Bearer ")) { - case "pdf": mimeType = "application/pdf"; break; - case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; - case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; + token = authorizationHeader.Substring("Bearer ".Length).Trim(); + var evaluateRecord = await _repository.GetEvaluateRecordAsync(id, token); + + if (evaluateRecord != null) + { + var mimeType = ""; + switch (exportType.Trim().ToLower()) + { + case "pdf": mimeType = "application/pdf"; break; + case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; + case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; + } + + var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"15-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-1.trdp"); + var rptFile2 = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"15-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-2.trdp"); + + ReportPackager reportPacker = new ReportPackager(); + Telerik.Reporting.Report? report = null; + Telerik.Reporting.Report? report2 = null; + + using (var sourceStream = System.IO.File.OpenRead(rptFile)) + using (var sourceStream2 = System.IO.File.OpenRead(rptFile2)) + { + report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream); + report2 = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream2); + } + + report.ReportParameters["Name"].Value = evaluateRecord.GetType().GetProperty("Name").GetValue(evaluateRecord); + report.ReportParameters["Position"].Value = evaluateRecord.GetType().GetProperty("Position").GetValue(evaluateRecord); + report.ReportParameters["ExperimenteeName"].Value = evaluateRecord.GetType().GetProperty("ExperimenteeName").GetValue(evaluateRecord); + report.ReportParameters["ExperimenteePosition"].Value = evaluateRecord.GetType().GetProperty("ExperimenteePosition").GetValue(evaluateRecord); + report.ReportParameters["Department"].Value = evaluateRecord.GetType().GetProperty("Department").GetValue(evaluateRecord); + report.ReportParameters["OrganizationOrganization"].Value = evaluateRecord.GetType().GetProperty("OrganizationOrganization").GetValue(evaluateRecord); + report.ReportParameters["Oc"].Value = evaluateRecord.GetType().GetProperty("Oc").GetValue(evaluateRecord); + report.ReportParameters["DateStart"].Value = evaluateRecord.GetType().GetProperty("DateStart").GetValue(evaluateRecord); + report.ReportParameters["DateFinish"].Value = evaluateRecord.GetType().GetProperty("DateFinish").GetValue(evaluateRecord); + report.ReportParameters["AchievementStrengthDesc1"].Value = evaluateRecord.GetType().GetProperty("AchievementStrengthDesc1").GetValue(evaluateRecord); + report.ReportParameters["AchievementStrengthDesc2"].Value = evaluateRecord.GetType().GetProperty("AchievementStrengthDesc2").GetValue(evaluateRecord); + report.ReportParameters["AchievementStrengthDesc3"].Value = evaluateRecord.GetType().GetProperty("AchievementStrengthDesc3").GetValue(evaluateRecord); + report.ReportParameters["AchievementImproveDesc1"].Value = evaluateRecord.GetType().GetProperty("AchievementImproveDesc1").GetValue(evaluateRecord); + report.ReportParameters["AchievementImproveDesc2"].Value = evaluateRecord.GetType().GetProperty("AchievementImproveDesc2").GetValue(evaluateRecord); + report.ReportParameters["AchievementImproveDesc3"].Value = evaluateRecord.GetType().GetProperty("AchievementImproveDesc3").GetValue(evaluateRecord); + report2.ReportParameters["BehaviorStrengthDesc1"].Value = evaluateRecord.GetType().GetProperty("BehaviorStrengthDesc1").GetValue(evaluateRecord); + report2.ReportParameters["BehaviorStrengthDesc2"].Value = evaluateRecord.GetType().GetProperty("BehaviorStrengthDesc2").GetValue(evaluateRecord); + report2.ReportParameters["BehaviorStrengthDesc3"].Value = evaluateRecord.GetType().GetProperty("BehaviorStrengthDesc3").GetValue(evaluateRecord); + report2.ReportParameters["BehaviorImproveDesc1"].Value = evaluateRecord.GetType().GetProperty("BehaviorImproveDesc1").GetValue(evaluateRecord); + report2.ReportParameters["BehaviorImproveDesc2"].Value = evaluateRecord.GetType().GetProperty("BehaviorImproveDesc2").GetValue(evaluateRecord); + report2.ReportParameters["BehaviorImproveDesc3"].Value = evaluateRecord.GetType().GetProperty("BehaviorImproveDesc3").GetValue(evaluateRecord); + report2.ReportParameters["Name"].Value = evaluateRecord.GetType().GetProperty("Name").GetValue(evaluateRecord); + report2.ReportParameters["Position"].Value = evaluateRecord.GetType().GetProperty("Position").GetValue(evaluateRecord); + report2.ReportParameters["MentorDate"].Value = evaluateRecord.GetType().GetProperty("MentorDate").GetValue(evaluateRecord); + + var _evaluateslist = new List(); + dynamic evaluates = evaluateRecord.GetType().GetProperty("Evaluates").GetValue(evaluateRecord); + foreach (var evaluate in evaluates) + { + string Evaluate_expect_desc = string.Empty; + string Evaluate_output_desc = string.Empty; + int Evaluate_expect_level = 0; + int Evaluate_output_level = 0; + string Check_expect1 = string.Empty; + string Check_expect2 = string.Empty; + string Check_expect3 = string.Empty; + string Check_expect4 = string.Empty; + string Check_expect5 = string.Empty; + string Check_output1 = string.Empty; + string Check_output2 = string.Empty; + string Check_output3 = string.Empty; + string Check_output4 = string.Empty; + string Check_output5 = string.Empty; + var achievements = evaluate.achievements; + foreach (var achievement in achievements) + { + Evaluate_expect_desc = achievement.evaluate_expect_desc; + Evaluate_output_desc = achievement.evaluate_output_desc; + Evaluate_expect_level = achievement.evaluate_expect_level; + Evaluate_output_level = achievement.evaluate_output_level; + } + _evaluateslist.Add(new + { + No = evaluate.no, + Date_start = evaluate.date_start, + Date_finish = evaluate.date_finish, + Evaluate_expect_desc = $" - {Evaluate_expect_desc}", + Evaluate_output_desc = $" - {Evaluate_output_desc}", + Check_expect1 = Evaluate_expect_level == 1 ? "/" : string.Empty, + Check_expect2 = Evaluate_expect_level == 2 ? "/" : string.Empty, + Check_expect3 = Evaluate_expect_level == 3 ? "/" : string.Empty, + Check_expect4 = Evaluate_expect_level == 4 ? "/" : string.Empty, + Check_expect5 = Evaluate_expect_level == 5 ? "/" : string.Empty, + Check_output1 = Evaluate_output_level == 1 ? "/" : string.Empty, + Check_output2 = Evaluate_output_level == 2 ? "/" : string.Empty, + Check_output3 = Evaluate_output_level == 3 ? "/" : string.Empty, + Check_output4 = Evaluate_output_level == 4 ? "/" : string.Empty, + Check_output5 = Evaluate_output_level == 5 ? "/" : string.Empty, + ApplyLevel = evaluate.apply_level, + AchievementStrengthDesc = evaluate.achievement_strength_desc, + AchievementImproveDesc = evaluate.achievement_improve_desc, + + }); + } + + var tblEvaluate_1 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table2"]; + tblEvaluate_1.DataSource = _evaluateslist; + + var tblEvaluate_2 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"]; + tblEvaluate_2.DataSource = _evaluateslist; + + var reportBook = new ReportBook(); + reportBook.Reports.Add(report); + reportBook.Reports.Add(report2); + + System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); + InstanceReportSource instanceReportSource = new InstanceReportSource() + { + ReportDocument = reportBook, + }; + + ReportProcessor reportProcessor = new ReportProcessor(_configuration); + RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo); + var content = result.DocumentBytes; + return File(content, mimeType, $"แบบบันทึกผล(สำหรับผู้บังคับบัญชา).{exportType.Trim().ToLower()}"); + } + else + { + return NotFound(); + } + } + else + { + return Unauthorized(); } - - var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"15-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-1.trdp"); - var contentData = _reportGenerator.GenerateReport(rptFile, exportType); - - return File(contentData, mimeType, $"probation.{exportType.Trim().ToLower()}"); - } catch { @@ -186,31 +560,209 @@ namespace BMA.EHR.Report.Service.Controllers /// /// 16-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา /// - /// id + /// assign_id แบบมอบหมายทดลองงาน + /// evaluate_no ครั้งที่ประเมินผล /// pdf, docx หรือ xlsx /// /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ /// ไม่ได้ Login เข้าระบบ /// เมื่อเกิดข้อผิดพลาดในการทำงาน - [HttpGet("16/{exportType}/{id}")] - public IActionResult GetProbation16ConvertReportAsync(Guid id, string exportType = "pdf") + [HttpGet("16/{exportType}/{id}/{no}")] + public async Task> GetProbation16ConvertReportAsync(Guid id, string no, string exportType = "pdf") { try { + string authorizationHeader = Request.Headers["Authorization"]; + string token = string.Empty; - var mimeType = ""; - switch (exportType.Trim().ToLower()) + if (!string.IsNullOrEmpty(authorizationHeader) && authorizationHeader.StartsWith("Bearer ")) { - case "pdf": mimeType = "application/pdf"; break; - case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; - case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; + token = authorizationHeader.Substring("Bearer ".Length).Trim(); + var evaluateAssign = await _repository.GetEvaluateAssignAsync(id, no, token); + + if (evaluateAssign != null) + { + var mimeType = ""; + switch (exportType.Trim().ToLower()) + { + case "pdf": mimeType = "application/pdf"; break; + case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; + case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; + } + + var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"16-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-1.trdp"); + + ReportPackager reportPacker = new ReportPackager(); + Telerik.Reporting.Report? report = null; + + using (var sourceStream = System.IO.File.OpenRead(rptFile)) + { + report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream); + } + + report.ReportParameters["EvaluateDateStart"].Value = evaluateAssign.GetType().GetProperty("EvaluateDateStart").GetValue(evaluateAssign); + report.ReportParameters["EvaluateDateFinish"].Value = evaluateAssign.GetType().GetProperty("EvaluateDateFinish").GetValue(evaluateAssign); + report.ReportParameters["No"].Value = evaluateAssign.GetType().GetProperty("No").GetValue(evaluateAssign); + report.ReportParameters["Name"].Value = evaluateAssign.GetType().GetProperty("Name").GetValue(evaluateAssign); + report.ReportParameters["Position"].Value = evaluateAssign.GetType().GetProperty("Position").GetValue(evaluateAssign); + report.ReportParameters["Department"].Value = evaluateAssign.GetType().GetProperty("Department").GetValue(evaluateAssign); + report.ReportParameters["OrganizationOrganization"].Value = evaluateAssign.GetType().GetProperty("OrganizationOrganization").GetValue(evaluateAssign); + report.ReportParameters["Oc"].Value = evaluateAssign.GetType().GetProperty("Oc").GetValue(evaluateAssign); + report.ReportParameters["DateStart"].Value = evaluateAssign.GetType().GetProperty("DateStart").GetValue(evaluateAssign); + report.ReportParameters["DateFinish"].Value = evaluateAssign.GetType().GetProperty("DateFinish").GetValue(evaluateAssign); + report.ReportParameters["BehaviorStrengthDesc"].Value = evaluateAssign.GetType().GetProperty("BehaviorStrengthDesc").GetValue(evaluateAssign); + report.ReportParameters["BehaviorImproveDesc"].Value = evaluateAssign.GetType().GetProperty("BehaviorImproveDesc").GetValue(evaluateAssign); + report.ReportParameters["CommanderName"].Value = evaluateAssign.GetType().GetProperty("CommanderName").GetValue(evaluateAssign); + report.ReportParameters["CommanderPosition"].Value = evaluateAssign.GetType().GetProperty("CommanderPosition").GetValue(evaluateAssign); + report.ReportParameters["AssessorDated"].Value = evaluateAssign.GetType().GetProperty("AssessorDated").GetValue(evaluateAssign); + + var _table1 = new List(); + _table1.Add(new + { + Check_Knowledge1 = evaluateAssign.GetType().GetProperty("KnowledgeLevel1").GetValue(evaluateAssign), + Check_Knowledge2 = evaluateAssign.GetType().GetProperty("KnowledgeLevel2").GetValue(evaluateAssign), + Check_Knowledge3 = evaluateAssign.GetType().GetProperty("KnowledgeLevel3").GetValue(evaluateAssign), + Check_Knowledge4 = evaluateAssign.GetType().GetProperty("KnowledgeLevel4").GetValue(evaluateAssign), + Check_Knowledge5 = evaluateAssign.GetType().GetProperty("KnowledgeLevel5").GetValue(evaluateAssign), + Check_SkillLevel1 = evaluateAssign.GetType().GetProperty("SkillLevel1").GetValue(evaluateAssign), + Check_SkillLevel2 = evaluateAssign.GetType().GetProperty("SkillLevel2").GetValue(evaluateAssign), + Check_SkillLevel3 = evaluateAssign.GetType().GetProperty("SkillLevel3").GetValue(evaluateAssign), + Check_SkillLevel4 = evaluateAssign.GetType().GetProperty("SkillLevel4").GetValue(evaluateAssign), + Check_SkillLevel5 = evaluateAssign.GetType().GetProperty("SkillLevel5").GetValue(evaluateAssign), + Check_CompetencyLevel1 = evaluateAssign.GetType().GetProperty("CompetencyLevel1").GetValue(evaluateAssign), + Check_CompetencyLevel2 = evaluateAssign.GetType().GetProperty("CompetencyLevel2").GetValue(evaluateAssign), + Check_CompetencyLevel3 = evaluateAssign.GetType().GetProperty("CompetencyLevel3").GetValue(evaluateAssign), + Check_CompetencyLevel4 = evaluateAssign.GetType().GetProperty("CompetencyLevel4").GetValue(evaluateAssign), + Check_CompetencyLevel5 = evaluateAssign.GetType().GetProperty("CompetencyLevel5").GetValue(evaluateAssign), + Check_LearnLevel1 = evaluateAssign.GetType().GetProperty("LearnLevel1").GetValue(evaluateAssign), + Check_LearnLevel2 = evaluateAssign.GetType().GetProperty("LearnLevel2").GetValue(evaluateAssign), + Check_LearnLevel3 = evaluateAssign.GetType().GetProperty("LearnLevel3").GetValue(evaluateAssign), + Check_LearnLevel4 = evaluateAssign.GetType().GetProperty("LearnLevel4").GetValue(evaluateAssign), + Check_LearnLevel5 = evaluateAssign.GetType().GetProperty("LearnLevel5").GetValue(evaluateAssign), + Check_ApplyLevel1 = evaluateAssign.GetType().GetProperty("ApplyLevel1").GetValue(evaluateAssign), + Check_ApplyLevel2 = evaluateAssign.GetType().GetProperty("ApplyLevel2").GetValue(evaluateAssign), + Check_ApplyLevel3 = evaluateAssign.GetType().GetProperty("ApplyLevel3").GetValue(evaluateAssign), + Check_ApplyLevel4 = evaluateAssign.GetType().GetProperty("ApplyLevel4").GetValue(evaluateAssign), + Check_ApplyLevel5 = evaluateAssign.GetType().GetProperty("ApplyLevel5").GetValue(evaluateAssign), + Check_Success_level1 = evaluateAssign.GetType().GetProperty("SuccessLevel1").GetValue(evaluateAssign), + Check_Success_level2 = evaluateAssign.GetType().GetProperty("SuccessLevel2").GetValue(evaluateAssign), + Check_Success_level3 = evaluateAssign.GetType().GetProperty("SuccessLevel3").GetValue(evaluateAssign), + Check_Success_level4 = evaluateAssign.GetType().GetProperty("SuccessLevel4").GetValue(evaluateAssign), + Check_Success_level5 = evaluateAssign.GetType().GetProperty("SuccessLevel5").GetValue(evaluateAssign), AchievementOtherDesc = evaluateAssign.GetType().GetProperty("AchievementOtherDesc").GetValue(evaluateAssign), + Check_AchievementOtherLevel1 = evaluateAssign.GetType().GetProperty("AchievementOtherLevel1").GetValue(evaluateAssign), + Check_AchievementOtherLevel2 = evaluateAssign.GetType().GetProperty("AchievementOtherLevel2").GetValue(evaluateAssign), + Check_AchievementOtherLevel3 = evaluateAssign.GetType().GetProperty("AchievementOtherLevel3").GetValue(evaluateAssign), + Check_AchievementOtherLevel4 = evaluateAssign.GetType().GetProperty("AchievementOtherLevel4").GetValue(evaluateAssign), + Check_AchievementOtherLevel5 = evaluateAssign.GetType().GetProperty("AchievementOtherLevel5").GetValue(evaluateAssign), + }); + var tblEvaluateAssign1 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"]; + tblEvaluateAssign1.DataSource = _table1; + + var _table2 = new List(); + _table2.Add(new + { + Check_Conduct1Level1 = evaluateAssign.GetType().GetProperty("Conduct1Level1").GetValue(evaluateAssign), + Check_Conduct1Level2 = evaluateAssign.GetType().GetProperty("Conduct1Level2").GetValue(evaluateAssign), + Check_Conduct1Level3 = evaluateAssign.GetType().GetProperty("Conduct1Level3").GetValue(evaluateAssign), + Check_Conduct1Level4 = evaluateAssign.GetType().GetProperty("Conduct1Level4").GetValue(evaluateAssign), + Check_Conduct1Level5 = evaluateAssign.GetType().GetProperty("Conduct1Level5").GetValue(evaluateAssign), + Check_Conduct2Level1 = evaluateAssign.GetType().GetProperty("Conduct2Level1").GetValue(evaluateAssign), + Check_Conduct2Level2 = evaluateAssign.GetType().GetProperty("Conduct2Level2").GetValue(evaluateAssign), + Check_Conduct2Level3 = evaluateAssign.GetType().GetProperty("Conduct2Level3").GetValue(evaluateAssign), + Check_Conduct2Level4 = evaluateAssign.GetType().GetProperty("Conduct2Level4").GetValue(evaluateAssign), + Check_Conduct2Level5 = evaluateAssign.GetType().GetProperty("Conduct2Level5").GetValue(evaluateAssign), + Check_Conduct3Level1 = evaluateAssign.GetType().GetProperty("Conduct3Level1").GetValue(evaluateAssign), + Check_Conduct3Level2 = evaluateAssign.GetType().GetProperty("Conduct3Level2").GetValue(evaluateAssign), + Check_Conduct3Level3 = evaluateAssign.GetType().GetProperty("Conduct3Level3").GetValue(evaluateAssign), + Check_Conduct3Level4 = evaluateAssign.GetType().GetProperty("Conduct3Level4").GetValue(evaluateAssign), + Check_Conduct3Level5 = evaluateAssign.GetType().GetProperty("Conduct3Level5").GetValue(evaluateAssign), + Check_Conduct4Level1 = evaluateAssign.GetType().GetProperty("Conduct4Level1").GetValue(evaluateAssign), + Check_Conduct4Level2 = evaluateAssign.GetType().GetProperty("Conduct4Level2").GetValue(evaluateAssign), + Check_Conduct4Level3 = evaluateAssign.GetType().GetProperty("Conduct4Level3").GetValue(evaluateAssign), + Check_Conduct4Level4 = evaluateAssign.GetType().GetProperty("Conduct4Level4").GetValue(evaluateAssign), + Check_Conduct4Level5 = evaluateAssign.GetType().GetProperty("Conduct4Level5").GetValue(evaluateAssign), + Check_Moral1Level1 = evaluateAssign.GetType().GetProperty("Moral1Level1").GetValue(evaluateAssign), + Check_Moral1Level2 = evaluateAssign.GetType().GetProperty("Moral1Level2").GetValue(evaluateAssign), + Check_Moral1Level3 = evaluateAssign.GetType().GetProperty("Moral1Level3").GetValue(evaluateAssign), + Check_Moral1Level4 = evaluateAssign.GetType().GetProperty("Moral1Level4").GetValue(evaluateAssign), + Check_Moral1Level5 = evaluateAssign.GetType().GetProperty("Moral1Level5").GetValue(evaluateAssign), + Check_Moral2Level1 = evaluateAssign.GetType().GetProperty("Moral2Level1").GetValue(evaluateAssign), + Check_Moral2Level2 = evaluateAssign.GetType().GetProperty("Moral2Level2").GetValue(evaluateAssign), + Check_Moral2Level3 = evaluateAssign.GetType().GetProperty("Moral2Level3").GetValue(evaluateAssign), + Check_Moral2Level4 = evaluateAssign.GetType().GetProperty("Moral2Level4").GetValue(evaluateAssign), + Check_Moral2Level5 = evaluateAssign.GetType().GetProperty("Moral2Level5").GetValue(evaluateAssign), + Check_Moral3Level1 = evaluateAssign.GetType().GetProperty("Moral3Level1").GetValue(evaluateAssign), + Check_Moral3Level2 = evaluateAssign.GetType().GetProperty("Moral3Level2").GetValue(evaluateAssign), + Check_Moral3Level3 = evaluateAssign.GetType().GetProperty("Moral3Level3").GetValue(evaluateAssign), + Check_Moral3Level4 = evaluateAssign.GetType().GetProperty("Moral3Level4").GetValue(evaluateAssign), + Check_Moral3Level5 = evaluateAssign.GetType().GetProperty("Moral3Level5").GetValue(evaluateAssign), + Check_Discipline1Level1 = evaluateAssign.GetType().GetProperty("Discipline1Level1").GetValue(evaluateAssign), + Check_Discipline1Level2 = evaluateAssign.GetType().GetProperty("Discipline1Level2").GetValue(evaluateAssign), + Check_Discipline1Level3 = evaluateAssign.GetType().GetProperty("Discipline1Level3").GetValue(evaluateAssign), + Check_Discipline1Level4 = evaluateAssign.GetType().GetProperty("Discipline1Level4").GetValue(evaluateAssign), + Check_Discipline1Level5 = evaluateAssign.GetType().GetProperty("Discipline1Level5").GetValue(evaluateAssign), + Check_Discipline2Level1 = evaluateAssign.GetType().GetProperty("Discipline2Level1").GetValue(evaluateAssign), + Check_Discipline2Level2 = evaluateAssign.GetType().GetProperty("Discipline2Level2").GetValue(evaluateAssign), + Check_Discipline2Level3 = evaluateAssign.GetType().GetProperty("Discipline2Level3").GetValue(evaluateAssign), + Check_Discipline2Level4 = evaluateAssign.GetType().GetProperty("Discipline2Level4").GetValue(evaluateAssign), + Check_Discipline2Level5 = evaluateAssign.GetType().GetProperty("Discipline2Level5").GetValue(evaluateAssign), + Check_Discipline3Level1 = evaluateAssign.GetType().GetProperty("Discipline3Level1").GetValue(evaluateAssign), + Check_Discipline3Level2 = evaluateAssign.GetType().GetProperty("Discipline3Level2").GetValue(evaluateAssign), + Check_Discipline3Level3 = evaluateAssign.GetType().GetProperty("Discipline3Level3").GetValue(evaluateAssign), + Check_Discipline3Level4 = evaluateAssign.GetType().GetProperty("Discipline3Level4").GetValue(evaluateAssign), + Check_Discipline3Level5 = evaluateAssign.GetType().GetProperty("Discipline3Level5").GetValue(evaluateAssign), + Check_Discipline4Level1 = evaluateAssign.GetType().GetProperty("Discipline4Level1").GetValue(evaluateAssign), + Check_Discipline4Level2 = evaluateAssign.GetType().GetProperty("Discipline4Level2").GetValue(evaluateAssign), + Check_Discipline4Level3 = evaluateAssign.GetType().GetProperty("Discipline4Level3").GetValue(evaluateAssign), + Check_Discipline4Level4 = evaluateAssign.GetType().GetProperty("Discipline4Level4").GetValue(evaluateAssign), + Check_Discipline4Level5 = evaluateAssign.GetType().GetProperty("Discipline4Level5").GetValue(evaluateAssign), + Check_Discipline5Level1 = evaluateAssign.GetType().GetProperty("Discipline5Level1").GetValue(evaluateAssign), + Check_Discipline5Level2 = evaluateAssign.GetType().GetProperty("Discipline5Level2").GetValue(evaluateAssign), + Check_Discipline5Level3 = evaluateAssign.GetType().GetProperty("Discipline5Level3").GetValue(evaluateAssign), + Check_Discipline5Level4 = evaluateAssign.GetType().GetProperty("Discipline5Level4").GetValue(evaluateAssign), + Check_Discipline5Level5 = evaluateAssign.GetType().GetProperty("Discipline5Level5").GetValue(evaluateAssign), + BehaviorOtherDesc = evaluateAssign.GetType().GetProperty("BehaviorOtherDesc").GetValue(evaluateAssign), + Check_BehaviorOtherLevel1 = evaluateAssign.GetType().GetProperty("BehaviorOtherLevel1").GetValue(evaluateAssign), + Check_BehaviorOtherLevel2 = evaluateAssign.GetType().GetProperty("BehaviorOtherLevel2").GetValue(evaluateAssign), + Check_BehaviorOtherLevel3 = evaluateAssign.GetType().GetProperty("BehaviorOtherLevel3").GetValue(evaluateAssign), + Check_BehaviorOtherLevel4 = evaluateAssign.GetType().GetProperty("BehaviorOtherLevel4").GetValue(evaluateAssign), + Check_BehaviorOtherLevel5 = evaluateAssign.GetType().GetProperty("BehaviorOtherLevel5").GetValue(evaluateAssign), + }); + var tblEvaluateAssign2 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table2"]; + tblEvaluateAssign2.DataSource = _table2; + + + var _table3 = new List(); + _table3.Add(new + { + Orientation = evaluateAssign.GetType().GetProperty("Orientation").GetValue(evaluateAssign), + SelfLearning = evaluateAssign.GetType().GetProperty("SelfLearning").GetValue(evaluateAssign), + TrainingSeminar = evaluateAssign.GetType().GetProperty("TrainingSeminar").GetValue(evaluateAssign), + OtherTraining = evaluateAssign.GetType().GetProperty("OtherTraining").GetValue(evaluateAssign), + }); + var tblEvaluateAssign3 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table3"]; + tblEvaluateAssign3.DataSource = _table3; + + System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); + InstanceReportSource instanceReportSource = new InstanceReportSource() + { + ReportDocument = report, + }; + + ReportProcessor reportProcessor = new ReportProcessor(_configuration); + RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo); + var content = result.DocumentBytes; + return File(content, mimeType, $"แบบประเมินผล(สำหรับผู้บังคับบัญชา).{exportType.Trim().ToLower()}"); + } + else + { + return NotFound(); + } + } + else + { + return Unauthorized(); } - - var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"16-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-1.trdp"); - var contentData = _reportGenerator.GenerateReport(rptFile, exportType); - - return File(contentData, mimeType, $"probation.{exportType.Trim().ToLower()}"); - } catch { @@ -223,31 +775,159 @@ namespace BMA.EHR.Report.Service.Controllers /// /// 17-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับคณะกรรมการ /// - /// id + /// assign_id แบบมอบหมายทดลองงาน + /// evaluate_no ครั้งที่ประเมินผล /// pdf, docx หรือ xlsx /// /// เมื่อทำการอ่านข้อมูลจาก Relational Database สำเร็จ /// ไม่ได้ Login เข้าระบบ /// เมื่อเกิดข้อผิดพลาดในการทำงาน - [HttpGet("17/{exportType}/{id}")] - public IActionResult GetProbation17ConvertReportAsync(Guid id, string exportType = "pdf") + [HttpGet("17/{exportType}/{id}/{no}")] + public async Task> GetProbation17ConvertReportAsync(Guid id, string no, string exportType = "pdf") { try { + string authorizationHeader = Request.Headers["Authorization"]; + string token = string.Empty; - var mimeType = ""; - switch (exportType.Trim().ToLower()) + if (!string.IsNullOrEmpty(authorizationHeader) && authorizationHeader.StartsWith("Bearer ")) { - case "pdf": mimeType = "application/pdf"; break; - case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; - case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; + token = authorizationHeader.Substring("Bearer ".Length).Trim(); + var evaluateAssign = await _repository.GetEvaluateChairmanAssignAsync(id, no, token); + + if (evaluateAssign != null) + { + var mimeType = ""; + switch (exportType.Trim().ToLower()) + { + case "pdf": mimeType = "application/pdf"; break; + case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; + case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; + } + + var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"17-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับคณะกรรมการ-1.trdp"); + var rptFile2 = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"17-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับคณะกรรมการ-2.trdp"); + + ReportPackager reportPacker = new ReportPackager(); + Telerik.Reporting.Report? report = null; + Telerik.Reporting.Report? report2 = null; + + + using (var sourceStream = System.IO.File.OpenRead(rptFile)) + using (var sourceStream2 = System.IO.File.OpenRead(rptFile2)) + { + report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream); + report2 = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream2); + } + + report.ReportParameters["EvaluateDateStart"].Value = evaluateAssign.GetType().GetProperty("EvaluateDateStart").GetValue(evaluateAssign); + report.ReportParameters["EvaluateDateFinish"].Value = evaluateAssign.GetType().GetProperty("EvaluateDateFinish").GetValue(evaluateAssign); + report.ReportParameters["No"].Value = evaluateAssign.GetType().GetProperty("No").GetValue(evaluateAssign); + report.ReportParameters["Name"].Value = evaluateAssign.GetType().GetProperty("Name").GetValue(evaluateAssign); + report.ReportParameters["Position"].Value = evaluateAssign.GetType().GetProperty("Position").GetValue(evaluateAssign); + report.ReportParameters["Department"].Value = evaluateAssign.GetType().GetProperty("Department").GetValue(evaluateAssign); + report.ReportParameters["OrganizationOrganization"].Value = evaluateAssign.GetType().GetProperty("OrganizationOrganization").GetValue(evaluateAssign); + report.ReportParameters["Oc"].Value = evaluateAssign.GetType().GetProperty("Oc").GetValue(evaluateAssign); + report.ReportParameters["DateStart"].Value = evaluateAssign.GetType().GetProperty("DateStart").GetValue(evaluateAssign); + report.ReportParameters["DateFinish"].Value = evaluateAssign.GetType().GetProperty("DateFinish").GetValue(evaluateAssign); + report2.ReportParameters["ChairmanName"].Value = evaluateAssign.GetType().GetProperty("ChairmanName").GetValue(evaluateAssign); + report2.ReportParameters["ChairmanPosition"].Value = evaluateAssign.GetType().GetProperty("ChairmanPosition").GetValue(evaluateAssign); + report2.ReportParameters["ChairmanDate"].Value = evaluateAssign.GetType().GetProperty("ChairmanDate").GetValue(evaluateAssign); + report2.ReportParameters["MentorName1"].Value = evaluateAssign.GetType().GetProperty("MentorName1").GetValue(evaluateAssign); + report2.ReportParameters["MentorPosition1"].Value = evaluateAssign.GetType().GetProperty("MentorPosition1").GetValue(evaluateAssign); + report2.ReportParameters["MentorDate1"].Value = evaluateAssign.GetType().GetProperty("MentorDate1").GetValue(evaluateAssign); + report2.ReportParameters["MentorName2"].Value = evaluateAssign.GetType().GetProperty("MentorName2").GetValue(evaluateAssign); + report2.ReportParameters["MentorPosition2"].Value = evaluateAssign.GetType().GetProperty("MentorPosition2").GetValue(evaluateAssign); + report2.ReportParameters["MentorDate2"].Value = evaluateAssign.GetType().GetProperty("MentorDate2").GetValue(evaluateAssign); + + var _page1table1 = new List(); + _page1table1.Add(new + { + KnowledgeLevel = evaluateAssign.GetType().GetProperty("KnowledgeLevel").GetValue(evaluateAssign), + ApplyLevel = evaluateAssign.GetType().GetProperty("ApplyLevel").GetValue(evaluateAssign), + SuccessLevel = evaluateAssign.GetType().GetProperty("SuccessLevel").GetValue(evaluateAssign), + AchievementOtherDesc = evaluateAssign.GetType().GetProperty("AchievementOtherDesc").GetValue(evaluateAssign), + AchievementOtherLevel = evaluateAssign.GetType().GetProperty("AchievementOtherLevel").GetValue(evaluateAssign), + }); + var tblEvaluatChaireAssign1 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table2"]; //Design is table2 + tblEvaluatChaireAssign1.DataSource = _page1table1; + + var _page1table2 = new List(); + _page1table2.Add(new + { + Conduct1Level = evaluateAssign.GetType().GetProperty("Conduct1Level").GetValue(evaluateAssign), + Conduct2Level = evaluateAssign.GetType().GetProperty("Conduct2Level").GetValue(evaluateAssign), + Conduct3Level = evaluateAssign.GetType().GetProperty("Conduct3Level").GetValue(evaluateAssign), + Conduct4Level = evaluateAssign.GetType().GetProperty("Conduct4Level").GetValue(evaluateAssign), + Moral1Level = evaluateAssign.GetType().GetProperty("Moral1Level").GetValue(evaluateAssign), + Moral2Level = evaluateAssign.GetType().GetProperty("Moral2Level").GetValue(evaluateAssign), + Moral3Level = evaluateAssign.GetType().GetProperty("Moral3Level").GetValue(evaluateAssign), + Discipline1Level = evaluateAssign.GetType().GetProperty("Discipline1Level").GetValue(evaluateAssign), + Discipline2Level = evaluateAssign.GetType().GetProperty("Discipline2Level").GetValue(evaluateAssign), + Discipline3Level = evaluateAssign.GetType().GetProperty("Discipline3Level").GetValue(evaluateAssign), + Discipline4Level = evaluateAssign.GetType().GetProperty("Discipline4Level").GetValue(evaluateAssign), + Discipline5Level = evaluateAssign.GetType().GetProperty("Discipline5Level").GetValue(evaluateAssign), + BehaviorOtherDesc = evaluateAssign.GetType().GetProperty("BehaviorOtherDesc").GetValue(evaluateAssign), + BehaviorOtherLevel = evaluateAssign.GetType().GetProperty("BehaviorOtherLevel").GetValue(evaluateAssign), + }); + var tblEvaluatChaireAssign2 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"]; //Design is table1 + tblEvaluatChaireAssign2.DataSource = _page1table2; + + var _page2table1 = new List(); + _page2table1.Add(new + { + AchievementScore = evaluateAssign.GetType().GetProperty("AchievementScore").GetValue(evaluateAssign), + AchievementPercent = evaluateAssign.GetType().GetProperty("AchievementPercent").GetValue(evaluateAssign), + AchievementResult = evaluateAssign.GetType().GetProperty("AchievementResult").GetValue(evaluateAssign), + BehaviorScore = evaluateAssign.GetType().GetProperty("BehaviorScore").GetValue(evaluateAssign), + BehaviorPercent = evaluateAssign.GetType().GetProperty("BehaviorPercent").GetValue(evaluateAssign), + BehaviorResult = evaluateAssign.GetType().GetProperty("BehaviorResult").GetValue(evaluateAssign), + AchievementScoretotal = evaluateAssign.GetType().GetProperty("AchievementScoretotal").GetValue(evaluateAssign), + BehaviorScoretotal = evaluateAssign.GetType().GetProperty("BehaviorScoretotal").GetValue(evaluateAssign), + }); + var tblEvaluateChairAssign3 = (Telerik.Reporting.Table)report2.Items["detailSection1"].Items["table2"]; + tblEvaluateChairAssign3.DataSource = _page2table1; + + var _page2table2 = new List(); + _page2table2.Add(new + { + DevelopOrientationScore = evaluateAssign.GetType().GetProperty("DevelopOrientationScore").GetValue(evaluateAssign), + DevelopSelfLearningScore = evaluateAssign.GetType().GetProperty("DevelopSelfLearningScore").GetValue(evaluateAssign), + DevelopTrainingSeminarScore = evaluateAssign.GetType().GetProperty("DevelopTrainingSeminarScore").GetValue(evaluateAssign), + DevelopOtherTrainingScore = evaluateAssign.GetType().GetProperty("DevelopOtherTrainingScore").GetValue(evaluateAssign), + DevelopOrientationPercent = evaluateAssign.GetType().GetProperty("DevelopOrientationPercent").GetValue(evaluateAssign), + DevelopSelfLearningPercent = evaluateAssign.GetType().GetProperty("DevelopSelfLearningPercent").GetValue(evaluateAssign), + DevelopTrainingSeminarPercent = evaluateAssign.GetType().GetProperty("DevelopTrainingSeminarPercent").GetValue(evaluateAssign), + DevelopOtherTrainingPercent = evaluateAssign.GetType().GetProperty("DevelopOtherTrainingPercent").GetValue(evaluateAssign), + + }); + var tblEvaluateChairAssign4 = (Telerik.Reporting.Table)report2.Items["detailSection1"].Items["table3"]; + tblEvaluateChairAssign4.DataSource = _page2table2; + + var reportBook = new ReportBook(); + reportBook.Reports.Add(report); + reportBook.Reports.Add(report2); + + System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); + InstanceReportSource instanceReportSource = new InstanceReportSource() + { + ReportDocument = reportBook, + }; + + ReportProcessor reportProcessor = new ReportProcessor(_configuration); + RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo); + var content = result.DocumentBytes; + return File(content, mimeType, $"แบบประเมินผล(สำหรับคณะกรรมการ).{exportType.Trim().ToLower()}"); + } + else + { + return NotFound(); + } + } + else + { + return Unauthorized(); } - - var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"17-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับคณะกรรมการ-1.trdp"); - var contentData = _reportGenerator.GenerateReport(rptFile, exportType); - - return File(contentData, mimeType, $"probation.{exportType.Trim().ToLower()}"); - } catch { @@ -267,24 +947,68 @@ namespace BMA.EHR.Report.Service.Controllers /// ไม่ได้ Login เข้าระบบ /// เมื่อเกิดข้อผิดพลาดในการทำงาน [HttpGet("18/{exportType}/{id}")] - public IActionResult GetProbation18ConvertReportAsync(Guid id, string exportType = "pdf") + public async Task> GetProbation18ConvertReportAsync(Guid id, string exportType = "pdf") { try { + string authorizationHeader = Request.Headers["Authorization"]; + string token = string.Empty; - var mimeType = ""; - switch (exportType.Trim().ToLower()) + if (!string.IsNullOrEmpty(authorizationHeader) && authorizationHeader.StartsWith("Bearer ")) { - case "pdf": mimeType = "application/pdf"; break; - case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; - case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; + token = authorizationHeader.Substring("Bearer ".Length).Trim(); + var evaluateAssign = await _repository.GetEvaluateResultAssignAsync(id, token); + + if (evaluateAssign != null) + { + var mimeType = ""; + switch (exportType.Trim().ToLower()) + { + case "pdf": mimeType = "application/pdf"; break; + case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; + case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; + } + + var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"18-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับประธาน-1.trdp"); + + ReportPackager reportPacker = new ReportPackager(); + Telerik.Reporting.Report? report = null; + //Telerik.Reporting.Report? report2 = null; + + + using (var sourceStream = System.IO.File.OpenRead(rptFile)) + //using (var sourceStream2 = System.IO.File.OpenRead(rptFile2)) + { + report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream); + //report2 = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream2); + } + + report.ReportParameters["Name"].Value = evaluateAssign.GetType().GetProperty("Name").GetValue(evaluateAssign); + + var reportBook = new ReportBook(); + reportBook.Reports.Add(report); + //reportBook.Reports.Add(report2); + + System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); + InstanceReportSource instanceReportSource = new InstanceReportSource() + { + ReportDocument = reportBook, + }; + + ReportProcessor reportProcessor = new ReportProcessor(_configuration); + RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo); + var content = result.DocumentBytes; + return File(content, mimeType, $"แบบรายงานการประเมินผล(สำหรับประธาน).{exportType.Trim().ToLower()}"); + } + else + { + return NotFound(); + } + } + else + { + return Unauthorized(); } - - var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"18-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับประธาน-1.trdp"); - var contentData = _reportGenerator.GenerateReport(rptFile, exportType); - - return File(contentData, mimeType, $"probation.{exportType.Trim().ToLower()}"); - } catch { @@ -304,24 +1028,66 @@ namespace BMA.EHR.Report.Service.Controllers /// ไม่ได้ Login เข้าระบบ /// เมื่อเกิดข้อผิดพลาดในการทำงาน [HttpGet("19/{exportType}/{id}")] - public IActionResult GetProbation19ConvertReportAsync(Guid id, string exportType = "pdf") + public async Task> GetProbation19ConvertReportAsync(Guid id, string exportType = "pdf") { try { + string authorizationHeader = Request.Headers["Authorization"]; + string token = string.Empty; - var mimeType = ""; - switch (exportType.Trim().ToLower()) + if (!string.IsNullOrEmpty(authorizationHeader) && authorizationHeader.StartsWith("Bearer ")) { - case "pdf": mimeType = "application/pdf"; break; - case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; - case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; + token = authorizationHeader.Substring("Bearer ".Length).Trim(); + var evaluateAssign = await _repository.GetEvaluateResultAssignAsync(id, token); + + if (evaluateAssign != null) + { + var mimeType = ""; + switch (exportType.Trim().ToLower()) + { + case "pdf": mimeType = "application/pdf"; break; + case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break; + case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break; + } + + var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"19-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ กรณีขยายเวลา.trdp"); + ReportPackager reportPacker = new ReportPackager(); + Telerik.Reporting.Report? report = null; + using (var sourceStream = System.IO.File.OpenRead(rptFile)) + { + report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream); + } + + report.ReportParameters["DateStart"].Value = evaluateAssign.GetType().GetProperty("DateStart").GetValue(evaluateAssign); + report.ReportParameters["DateFinish"].Value = evaluateAssign.GetType().GetProperty("DateFinish").GetValue(evaluateAssign); + report.ReportParameters["Reson"].Value = evaluateAssign.GetType().GetProperty("Reson").GetValue(evaluateAssign); + report.ReportParameters["DevelopComplete"].Value = evaluateAssign.GetType().GetProperty("DevelopComplete").GetValue(evaluateAssign); + report.ReportParameters["NotDevelopComplete"].Value = evaluateAssign.GetType().GetProperty("NotDevelopComplete").GetValue(evaluateAssign); + report.ReportParameters["PassResult"].Value = evaluateAssign.GetType().GetProperty("PassResult").GetValue(evaluateAssign); + report.ReportParameters["NotPassResult"].Value = evaluateAssign.GetType().GetProperty("NotPassResult").GetValue(evaluateAssign); + report.ReportParameters["ExpandMonth"].Value = evaluateAssign.GetType().GetProperty("ExpandMonth").GetValue(evaluateAssign); + report.ReportParameters["ChairmanName"].Value = evaluateAssign.GetType().GetProperty("ChairmanName").GetValue(evaluateAssign); + report.ReportParameters["ChairmanPosition"].Value = evaluateAssign.GetType().GetProperty("ChairmanPosition").GetValue(evaluateAssign); + report.ReportParameters["ChairmanDate"].Value = evaluateAssign.GetType().GetProperty("ChairmanDate").GetValue(evaluateAssign); + + System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); + InstanceReportSource instanceReportSource = new InstanceReportSource() + { + ReportDocument = report, + }; + ReportProcessor reportProcessor = new ReportProcessor(_configuration); + RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo); + return File(result.DocumentBytes, mimeType, $"แบบรายงานการประเมินผล(กรณีขยายเวลา).{exportType.Trim().ToLower()}"); + } + else + { + return NotFound(); + } + } + else + { + return Unauthorized(); } - - var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"19-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ กรณีขยายเวลา.trdp"); - var contentData = _reportGenerator.GenerateReport(rptFile, exportType); - - return File(contentData, mimeType, $"probation.{exportType.Trim().ToLower()}"); - } catch { diff --git a/BMA.EHR.Report.Service/Reports/13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ-1.trdp b/BMA.EHR.Report.Service/Reports/13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ-1.trdp index 60512e2d..586f72aa 100644 Binary files a/BMA.EHR.Report.Service/Reports/13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ-1.trdp and b/BMA.EHR.Report.Service/Reports/13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ-1.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ-2.trdp b/BMA.EHR.Report.Service/Reports/13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ-2.trdp index 536ea370..f2f28297 100644 Binary files a/BMA.EHR.Report.Service/Reports/13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ-2.trdp and b/BMA.EHR.Report.Service/Reports/13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ-2.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ-3.trdp b/BMA.EHR.Report.Service/Reports/13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ-3.trdp index 9da3be1f..344a5175 100644 Binary files a/BMA.EHR.Report.Service/Reports/13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ-3.trdp and b/BMA.EHR.Report.Service/Reports/13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ-3.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/14-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้ดูแล-1.trdp b/BMA.EHR.Report.Service/Reports/14-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้ดูแล-1.trdp index d1fb10ba..23d7b6dc 100644 Binary files a/BMA.EHR.Report.Service/Reports/14-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้ดูแล-1.trdp and b/BMA.EHR.Report.Service/Reports/14-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้ดูแล-1.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/14-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้ดูแล-3.trdp b/BMA.EHR.Report.Service/Reports/14-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้ดูแล-3.trdp index dff42245..288fbb22 100644 Binary files a/BMA.EHR.Report.Service/Reports/14-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้ดูแล-3.trdp and b/BMA.EHR.Report.Service/Reports/14-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้ดูแล-3.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/15-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-1.trdp b/BMA.EHR.Report.Service/Reports/15-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-1.trdp index 4ec23444..61d14ed0 100644 Binary files a/BMA.EHR.Report.Service/Reports/15-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-1.trdp and b/BMA.EHR.Report.Service/Reports/15-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-1.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/15-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-2.trdp b/BMA.EHR.Report.Service/Reports/15-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-2.trdp index 918bcf5f..0b046633 100644 Binary files a/BMA.EHR.Report.Service/Reports/15-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-2.trdp and b/BMA.EHR.Report.Service/Reports/15-แบบบันทึกผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-2.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/16-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-1.trdp b/BMA.EHR.Report.Service/Reports/16-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-1.trdp index c396769d..e1341df6 100644 Binary files a/BMA.EHR.Report.Service/Reports/16-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-1.trdp and b/BMA.EHR.Report.Service/Reports/16-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับผู้บังคับบัญชา-1.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/17-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับคณะกรรมการ-1.trdp b/BMA.EHR.Report.Service/Reports/17-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับคณะกรรมการ-1.trdp index 67f391b6..671c67c6 100644 Binary files a/BMA.EHR.Report.Service/Reports/17-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับคณะกรรมการ-1.trdp and b/BMA.EHR.Report.Service/Reports/17-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับคณะกรรมการ-1.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/17-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับคณะกรรมการ-2.trdp b/BMA.EHR.Report.Service/Reports/17-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับคณะกรรมการ-2.trdp index 25fda0ed..51a28d46 100644 Binary files a/BMA.EHR.Report.Service/Reports/17-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับคณะกรรมการ-2.trdp and b/BMA.EHR.Report.Service/Reports/17-แบบประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับคณะกรรมการ-2.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/18-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับประธาน-1.trdp b/BMA.EHR.Report.Service/Reports/18-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับประธาน-1.trdp index de44fb3d..cf1790c1 100644 Binary files a/BMA.EHR.Report.Service/Reports/18-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับประธาน-1.trdp and b/BMA.EHR.Report.Service/Reports/18-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับประธาน-1.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/18-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับประธาน-2.trdp b/BMA.EHR.Report.Service/Reports/18-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับประธาน-2.trdp index 98fe641d..b0c104a6 100644 Binary files a/BMA.EHR.Report.Service/Reports/18-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับประธาน-2.trdp and b/BMA.EHR.Report.Service/Reports/18-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ สำหรับประธาน-2.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/19-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ กรณีขยายเวลา.trdp b/BMA.EHR.Report.Service/Reports/19-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ กรณีขยายเวลา.trdp index e9d8166e..776117f9 100644 Binary files a/BMA.EHR.Report.Service/Reports/19-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ กรณีขยายเวลา.trdp and b/BMA.EHR.Report.Service/Reports/19-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ กรณีขยายเวลา.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/39-แบบ ขร1 บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ ข้าราชการ ชั้นสายสะพาย.trdp b/BMA.EHR.Report.Service/Reports/39-แบบ ขร1 บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ ข้าราชการ ชั้นสายสะพาย.trdp index 2fdd4a56..c09ace86 100644 Binary files a/BMA.EHR.Report.Service/Reports/39-แบบ ขร1 บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ ข้าราชการ ชั้นสายสะพาย.trdp and b/BMA.EHR.Report.Service/Reports/39-แบบ ขร1 บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ ข้าราชการ ชั้นสายสะพาย.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/40-แบบ ขร2 บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ ข้าราชการ ชั้นต่ำกว่าสายสะพาย.trdp b/BMA.EHR.Report.Service/Reports/40-แบบ ขร2 บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ ข้าราชการ ชั้นต่ำกว่าสายสะพาย.trdp index 239cb4b2..3817906d 100644 Binary files a/BMA.EHR.Report.Service/Reports/40-แบบ ขร2 บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ ข้าราชการ ชั้นต่ำกว่าสายสะพาย.trdp and b/BMA.EHR.Report.Service/Reports/40-แบบ ขร2 บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ ข้าราชการ ชั้นต่ำกว่าสายสะพาย.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/41-แบบ ขร3 บัญชีรายชื่อข้าราชการผู้ขอพระราชทานเครื่องราชฯ.trdp b/BMA.EHR.Report.Service/Reports/41-แบบ ขร3 บัญชีรายชื่อข้าราชการผู้ขอพระราชทานเครื่องราชฯ.trdp index 69cadd26..9335984d 100644 Binary files a/BMA.EHR.Report.Service/Reports/41-แบบ ขร3 บัญชีรายชื่อข้าราชการผู้ขอพระราชทานเครื่องราชฯ.trdp and b/BMA.EHR.Report.Service/Reports/41-แบบ ขร3 บัญชีรายชื่อข้าราชการผู้ขอพระราชทานเครื่องราชฯ.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/42-แบบ ขร4 บัญชีแสดงคุณสมบัติของข้าราชการซึ่งเสนอขอเครื่องราชฯ.trdp b/BMA.EHR.Report.Service/Reports/42-แบบ ขร4 บัญชีแสดงคุณสมบัติของข้าราชการซึ่งเสนอขอเครื่องราชฯ.trdp index 14bfefbd..1b78a9ce 100644 Binary files a/BMA.EHR.Report.Service/Reports/42-แบบ ขร4 บัญชีแสดงคุณสมบัติของข้าราชการซึ่งเสนอขอเครื่องราชฯ.trdp and b/BMA.EHR.Report.Service/Reports/42-แบบ ขร4 บัญชีแสดงคุณสมบัติของข้าราชการซึ่งเสนอขอเครื่องราชฯ.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/44-บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ.trdp b/BMA.EHR.Report.Service/Reports/44-บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ.trdp index c5e1ee1c..3a4b8c94 100644 Binary files a/BMA.EHR.Report.Service/Reports/44-บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ.trdp and b/BMA.EHR.Report.Service/Reports/44-บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา.trdp b/BMA.EHR.Report.Service/Reports/45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา.trdp index 63ed57e9..ff32cac6 100644 Binary files a/BMA.EHR.Report.Service/Reports/45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา.trdp and b/BMA.EHR.Report.Service/Reports/45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/46-ประวัติสำหรับการเสนอขอพระราชทานเหรียญจักรพรรดิมาลา.trdp b/BMA.EHR.Report.Service/Reports/46-ประวัติสำหรับการเสนอขอพระราชทานเหรียญจักรพรรดิมาลา.trdp index 19364fbf..433a0304 100644 Binary files a/BMA.EHR.Report.Service/Reports/46-ประวัติสำหรับการเสนอขอพระราชทานเหรียญจักรพรรดิมาลา.trdp and b/BMA.EHR.Report.Service/Reports/46-ประวัติสำหรับการเสนอขอพระราชทานเหรียญจักรพรรดิมาลา.trdp differ