Merge branch 'Develop-Bright' into develop

# Conflicts:
#	BMA.EHR.Report.Service/BMA.EHR.Report.Service.csproj
This commit is contained in:
DESKTOP-2S5P7D1\Windows 10 2023-09-06 12:06:48 +07:00
commit 3d0fbdceb8
30 changed files with 2041 additions and 124 deletions

View file

@ -28,6 +28,7 @@ namespace BMA.EHR.Application
services.AddTransient<RetireReportRepository>();
services.AddTransient<InsigniaReportRepository>();
services.AddTransient<CommandReportRepository>();
services.AddTransient<ProbationReportRepository>();
services.AddTransient<EmailSenderService>();

View file

@ -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<object> 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<ProbationAssignResponse>(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<object> 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<EvaluateRecordAssignResponse>(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<object> 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<EvaluateAssignResponse>(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<object> 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<EvaluateChairmanAssignResponse>(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<object> 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<EvaluateResultAssignResponse>(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
}
}

View file

@ -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;
}
}
}

View file

@ -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<Mentor> 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;
}
}
}

View file

@ -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> 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> 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; }
}
}
}

View file

@ -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<Mentor> 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; }
}
}
}

View file

@ -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<Mentor> mentors { get; set; }
public Commander commander { get; set; }
public List<Job> jobs { get; set; }
public List<Knowledge> knowledges { get; set; }
public List<Competency> competencys { get; set; }
public List<Output> 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;
}
}
}

View file

@ -570,9 +570,9 @@
<None Update="Reports\36-บันทึกเวียนแจ้งการถึงแก่กรรม.trdp">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Reports\13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ.trdp">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Reports\13-แบบมอบหมายงานการทดลองปฏิบัติหน้าที่ราชการ.trdp">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

View file

@ -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<dynamic>();
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<dynamic>();
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