From 8a5101cfa98d28bf4c7a847f865d2ea014002b1d Mon Sep 17 00:00:00 2001 From: kamonwan taengsuk Date: Mon, 14 Nov 2022 16:45:07 +0700 Subject: [PATCH] add reports --- Controllers/HrDevelopment.Controller.cs | 366 ++++++++++++++++++ Models/HrDevelopment/passer_join_project.cs | 6 +- .../person_academic_and_supportlines.cs | 34 ++ .../person_study_leave_scholarships.cs | 182 +++++++++ .../reports/passer_join_project_person.frx | 80 ++++ .../person_academic_and_supportlines.frx | 145 +++++++ .../reports/return_perform_duties_year.frx | 86 ++++ .../study_leave_expand_study_period.frx | 103 +++++ .../study_leave_scholarships_person.frx | 135 +++++++ .../reports/study_leave_scholarships_year.frx | 86 ++++ wwwroot/reports/study_report.frx | 206 ++++++++++ .../summary_graduation_notification.frx | 81 ++++ wwwroot/reports/summary_not_graduation.frx | 86 ++++ 13 files changed, 1593 insertions(+), 3 deletions(-) create mode 100644 Models/HrDevelopment/person_academic_and_supportlines.cs create mode 100644 Models/HrDevelopment/person_study_leave_scholarships.cs create mode 100644 wwwroot/reports/passer_join_project_person.frx create mode 100644 wwwroot/reports/person_academic_and_supportlines.frx create mode 100644 wwwroot/reports/return_perform_duties_year.frx create mode 100644 wwwroot/reports/study_leave_expand_study_period.frx create mode 100644 wwwroot/reports/study_leave_scholarships_person.frx create mode 100644 wwwroot/reports/study_leave_scholarships_year.frx create mode 100644 wwwroot/reports/study_report.frx create mode 100644 wwwroot/reports/summary_graduation_notification.frx create mode 100644 wwwroot/reports/summary_not_graduation.frx diff --git a/Controllers/HrDevelopment.Controller.cs b/Controllers/HrDevelopment.Controller.cs index 8fa1382..7078999 100644 --- a/Controllers/HrDevelopment.Controller.cs +++ b/Controllers/HrDevelopment.Controller.cs @@ -128,6 +128,372 @@ namespace rmutr_report.Controllers break; } + return Ok(); + } + [HttpPost, Route("reports/passer_join_project_person/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult Gethr3Report([FromRoute] string type, [FromBody] List _hr) + { + Report report = new Report(); + report.Load(_setting.report_path + "passer_join_project_person.frx"); + report.RegisterData(_hr, "passer_join_project_agency"); + report.Prepare(); + + MemoryStream stream = new MemoryStream(); + switch (type) + { + case "pdf": + PDFExport pdf = new PDFExport(); + report.Export(pdf, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/pdf"); + + case "xls": case "xlsx": + Excel2007Export excel = new Excel2007Export(); + report.Export(excel, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/vnd.ms-excel"); + break; + case "mht": + MHTExport mht = new MHTExport(); + report.Export(mht, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "multipart/related"); + break; + case "csv": + CSVExport csv = new CSVExport(); + report.Export(csv, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "text/csv"); + break; + } + + return Ok(); + } + [HttpPost, Route("reports/person_academic_supportlines/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult Gethr4Report([FromRoute] string type, [FromBody] List _hr) + { + Report report = new Report(); + report.Load(_setting.report_path + "person_academic_and_supportlines.frx"); + report.RegisterData(_hr, "person_academic_and_supportlines"); + report.Prepare(); + + MemoryStream stream = new MemoryStream(); + switch (type) + { + case "pdf": + PDFExport pdf = new PDFExport(); + report.Export(pdf, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/pdf"); + + case "xls": case "xlsx": + Excel2007Export excel = new Excel2007Export(); + report.Export(excel, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/vnd.ms-excel"); + break; + case "mht": + MHTExport mht = new MHTExport(); + report.Export(mht, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "multipart/related"); + break; + case "csv": + CSVExport csv = new CSVExport(); + report.Export(csv, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "text/csv"); + break; + } + + return Ok(); + } + [HttpPost, Route("reports/person_study_leave_scholarships/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult Gethr5Report([FromRoute] string type, [FromBody] List _hr) + { + Report report = new Report(); + report.Load(_setting.report_path + "study_leave_scholarships_person.frx"); + report.RegisterData(_hr, "person_study_leave_scholarships"); + report.Prepare(); + + MemoryStream stream = new MemoryStream(); + switch (type) + { + case "pdf": + PDFExport pdf = new PDFExport(); + report.Export(pdf, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/pdf"); + + case "xls": case "xlsx": + Excel2007Export excel = new Excel2007Export(); + report.Export(excel, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/vnd.ms-excel"); + break; + case "mht": + MHTExport mht = new MHTExport(); + report.Export(mht, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "multipart/related"); + break; + case "csv": + CSVExport csv = new CSVExport(); + report.Export(csv, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "text/csv"); + break; + } + + return Ok(); + } + [HttpPost, Route("reports/study_leave_scholarships_year/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult Gethr6Report([FromRoute] string type, [FromBody] study_leave_scholarships_year _hr) + { + var hr = new List(){_hr}; + Report report = new Report(); + report.Load(_setting.report_path + "study_leave_scholarships_year.frx"); + report.RegisterData(hr, "study_leave_scholarships_year"); + report.Prepare(); + + MemoryStream stream = new MemoryStream(); + switch (type) + { + case "pdf": + PDFExport pdf = new PDFExport(); + report.Export(pdf, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/pdf"); + + case "xls": case "xlsx": + Excel2007Export excel = new Excel2007Export(); + report.Export(excel, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/vnd.ms-excel"); + break; + case "mht": + MHTExport mht = new MHTExport(); + report.Export(mht, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "multipart/related"); + break; + case "csv": + CSVExport csv = new CSVExport(); + report.Export(csv, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "text/csv"); + break; + } + + return Ok(); + } + [HttpPost, Route("reports/return_perform_duties_year/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult Gethr7Report([FromRoute] string type, [FromBody] return_perform_duties_year _hr) + { + var hr = new List(){_hr}; + Report report = new Report(); + report.Load(_setting.report_path + "return_perform_duties_year.frx"); + report.RegisterData(hr, "return_perform_duties_year"); + report.Prepare(); + + MemoryStream stream = new MemoryStream(); + switch (type) + { + case "pdf": + PDFExport pdf = new PDFExport(); + report.Export(pdf, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/pdf"); + + case "xls": case "xlsx": + Excel2007Export excel = new Excel2007Export(); + report.Export(excel, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/vnd.ms-excel"); + break; + case "mht": + MHTExport mht = new MHTExport(); + report.Export(mht, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "multipart/related"); + break; + case "csv": + CSVExport csv = new CSVExport(); + report.Export(csv, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "text/csv"); + break; + } + + return Ok(); + } + [HttpPost, Route("reports/study_leave_expand_study_period/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult Gethr8Report([FromRoute] string type, [FromBody] study_leave_expand_study_period _hr) + { + var hr = new List(){_hr}; + Report report = new Report(); + report.Load(_setting.report_path + "study_leave_expand_study_period.frx"); + report.RegisterData(hr, "study_leave_expand_study_period"); + report.Prepare(); + + MemoryStream stream = new MemoryStream(); + switch (type) + { + case "pdf": + PDFExport pdf = new PDFExport(); + report.Export(pdf, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/pdf"); + + case "xls": case "xlsx": + Excel2007Export excel = new Excel2007Export(); + report.Export(excel, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/vnd.ms-excel"); + break; + case "mht": + MHTExport mht = new MHTExport(); + report.Export(mht, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "multipart/related"); + break; + case "csv": + CSVExport csv = new CSVExport(); + report.Export(csv, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "text/csv"); + break; + } + + return Ok(); + } + [HttpPost, Route("reports/study_report/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult Gethr9Report([FromRoute] string type, [FromBody] study_report _hr) + { + var hr = new List(){_hr}; + Report report = new Report(); + report.Load(_setting.report_path + "study_report.frx"); + report.RegisterData(hr, "study_report"); + report.Prepare(); + + MemoryStream stream = new MemoryStream(); + switch (type) + { + case "pdf": + PDFExport pdf = new PDFExport(); + report.Export(pdf, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/pdf"); + + case "xls": case "xlsx": + Excel2007Export excel = new Excel2007Export(); + report.Export(excel, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/vnd.ms-excel"); + break; + case "mht": + MHTExport mht = new MHTExport(); + report.Export(mht, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "multipart/related"); + break; + case "csv": + CSVExport csv = new CSVExport(); + report.Export(csv, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "text/csv"); + break; + } + + return Ok(); + } + [HttpPost, Route("reports/summary_graduation_notification/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult Gethr10Report([FromRoute] string type, [FromBody] summary_graduation_notification _hr) + { + var hr = new List(){_hr}; + Report report = new Report(); + report.Load(_setting.report_path + "summary_graduation_notification.frx"); + report.RegisterData(hr, "summary_graduation_notification"); + report.Prepare(); + + MemoryStream stream = new MemoryStream(); + switch (type) + { + case "pdf": + PDFExport pdf = new PDFExport(); + report.Export(pdf, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/pdf"); + + case "xls": case "xlsx": + Excel2007Export excel = new Excel2007Export(); + report.Export(excel, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/vnd.ms-excel"); + break; + case "mht": + MHTExport mht = new MHTExport(); + report.Export(mht, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "multipart/related"); + break; + case "csv": + CSVExport csv = new CSVExport(); + report.Export(csv, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "text/csv"); + break; + } + + return Ok(); + } + [HttpPost, Route("reports/summary_not_graduation/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult Gethr11Report([FromRoute] string type, [FromBody] summary_not_graduation _hr) + { + var hr = new List(){_hr}; + Report report = new Report(); + report.Load(_setting.report_path + "summary_not_graduation.frx"); + report.RegisterData(hr, "summary_not_graduation"); + report.Prepare(); + + MemoryStream stream = new MemoryStream(); + switch (type) + { + case "pdf": + PDFExport pdf = new PDFExport(); + report.Export(pdf, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/pdf"); + + case "xls": case "xlsx": + Excel2007Export excel = new Excel2007Export(); + report.Export(excel, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "application/vnd.ms-excel"); + break; + case "mht": + MHTExport mht = new MHTExport(); + report.Export(mht, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "multipart/related"); + break; + case "csv": + CSVExport csv = new CSVExport(); + report.Export(csv, stream); + stream.Seek(0, SeekOrigin.Begin); + return File(stream, "text/csv"); + break; + } + return Ok(); } } diff --git a/Models/HrDevelopment/passer_join_project.cs b/Models/HrDevelopment/passer_join_project.cs index f8f7c31..9813ed6 100644 --- a/Models/HrDevelopment/passer_join_project.cs +++ b/Models/HrDevelopment/passer_join_project.cs @@ -6,7 +6,7 @@ namespace rmutr_report.Models.HrDevelopment { public string header_name { get; set; } public int? total_1 { get; set; } - public int? total_2 { get; set; } + public int? total_2 { get; set; } public List data { get; set; } } @@ -14,7 +14,7 @@ namespace rmutr_report.Models.HrDevelopment { public string agency_name_th { get; set; } public int? quantity_person { get; set; } - public int? quantity_trained { get; set; } - + public int? quantity_trained { get; set; } + } } \ No newline at end of file diff --git a/Models/HrDevelopment/person_academic_and_supportlines.cs b/Models/HrDevelopment/person_academic_and_supportlines.cs new file mode 100644 index 0000000..9e400ea --- /dev/null +++ b/Models/HrDevelopment/person_academic_and_supportlines.cs @@ -0,0 +1,34 @@ +using System.Collections.Generic; + +namespace rmutr_report.Models.HrDevelopment +{ + public class person_academic_and_supportlines + { + public string header_name { get; set; } + public decimal? total_1 { get; set; } + public decimal? total_2 { get; set; } + public decimal? total_3 { get; set; } + public decimal? total_4 { get; set; } + public decimal? total_5 { get; set; } + public decimal? total_6 { get; set; } + public decimal? total_7 { get; set; } + public decimal? percentage_1 { get; set; } + public decimal? percentage_2 { get; set; } + public decimal? percentage_3 { get; set; } + public decimal? percentage_4 { get; set; } + public decimal? percentage_5 { get; set; } + public List data { get; set; } + } + + public class person_academic_and_supportlines_detail + { + public string agency_name_th { get; set; } + public decimal? quantity_person { get; set; } + public decimal? percentage_1 { get; set; } + public decimal? percentage_2 { get; set; } + public decimal? percentage_3 { get; set; } + public decimal? percentage_4 { get; set; } + public decimal? percentage_5 { get; set; } + public decimal? total { get; set; } + } +} \ No newline at end of file diff --git a/Models/HrDevelopment/person_study_leave_scholarships.cs b/Models/HrDevelopment/person_study_leave_scholarships.cs new file mode 100644 index 0000000..0caa3d9 --- /dev/null +++ b/Models/HrDevelopment/person_study_leave_scholarships.cs @@ -0,0 +1,182 @@ +using System.Collections.Generic; + +namespace rmutr_report.Models.HrDevelopment +{ + public class person_study_leave_scholarships + { + public string display_name_th { get; set; } + public string position_name { get; set; } + public string faculty_name { get; set; } + public string education_information { get; set; } + public string study_period { get; set; } + public string fund_period { get; set; } + public string fund_type { get; set; } + public string directive_continue_studying { get; set; } + public string time_limit1 { get; set; } + public string time_limit2 { get; set; } + public string directive_expand1 { get; set; } + public string directive_expand2 { get; set; } + public string directive_perform_duties { get; set; } + public string return_date { get; set; } + public string council_approval_date { get; set; } + public string expiration_date { get; set; } + public string conditions_contract_leave { get; set; } + public string conditions_contract_fund { get; set; } + public string note { get; set; } + } + public class study_leave_scholarships_year + { + public string year { get; set; } + public List data { get; set; } + } + + public class study_leave_scholarships_year_detail + { + public string display_name_th { get; set; } + public string position_name { get; set; } + public string faculty_name { get; set; } + public string education_level { get; set; } + public string education_type { get; set; } + public string course { get; set; } + public string start_studying { get; set; } + public string start_get_fund { get; set; } + public string study_period { get; set; } + public string fund_period { get; set; } + public string fund_type { get; set; } + } + + public class return_perform_duties_year + { + public string year { get; set; } + public List data { get; set; } + } + + public class return_perform_duties_year_detail + { + public string display_name_th { get; set; } + public string position_name { get; set; } + public string faculty_name { get; set; } + public string education_information { get; set; } + public string study_period { get; set; } + public string fund_period { get; set; } + public string fund_type { get; set; } + public string directive_continue_studying { get; set; } + public string directive_perform_duties { get; set; } + public string return_date { get; set; } + public string note { get; set; } + } + public class study_leave_expand_study_period { + public string year { get; set; } + public List data { get; set; } + } + + public class study_leave_expand_study_period_detail + { + public string display_name_th { get; set; } + public string position_name { get; set; } + public string faculty_name { get; set; } + public string education_information { get; set; } + public string study_period { get; set; } + public string fund_period { get; set; } + public string fund_type { get; set; } + public string time_limit1 { get; set; } + public string time_limit2 { get; set; } + public string directive_expand1 { get; set; } + public string directive_expand2 { get; set; } + public string note { get; set; } + } + public class study_report{ + public string academic_year_1 { get; set; } + public string year_1_term_1 { get; set; } + public string year_1_term_2 { get; set; } + public string year_1_term_3 { get; set; } + public string academic_year_2 { get; set; } + public string year_2_term_1 { get; set; } + public string year_2_term_2 { get; set; } + public string year_2_term_3 { get; set; } + public string academic_year_3 { get; set; } + public string year_3_term_1 { get; set; } + public string year_3_term_2 { get; set; } + public string year_3_term_3 { get; set; } + public string academic_year_4 { get; set; } + public string year_4_term_1 { get; set; } + public string year_4_term_2 { get; set; } + public string year_4_term_3 { get; set; } + public string academic_year_5 { get; set; } + public string year_5_term_1 { get; set; } + public string year_5_term_2 { get; set; } + public string year_5_term_3 { get; set; } + public string academic_year_6 { get; set; } + public string year_6_term_1 { get; set; } + public string year_6_term_2 { get; set; } + public string year_6_term_3 { get; set; } + + public List data { get; set; } + } + + public class study_report_detail + { + public string display_name_th { get; set; } + public string position_name { get; set; } + public string faculty_name { get; set; } + public string education_information { get; set; } + public string study_period { get; set; } + public string fund_period { get; set; } + public string fund_type { get; set; } + public string year_1_term_1 { get; set; } + public string year_1_term_2 { get; set; } + public string year_1_term_3 { get; set; } + public string year_2_term_1 { get; set; } + public string year_2_term_2 { get; set; } + public string year_2_term_3 { get; set; } + public string year_3_term_1 { get; set; } + public string year_3_term_2 { get; set; } + public string year_3_term_3 { get; set; } + public string year_4_term_1 { get; set; } + public string year_4_term_2 { get; set; } + public string year_4_term_3 { get; set; } + public string year_5_term_1 { get; set; } + public string year_5_term_2 { get; set; } + public string year_5_term_3 { get; set; } + public string year_6_term_1 { get; set; } + public string year_6_term_2 { get; set; } + public string year_6_term_3 { get; set; } + public string note { get; set; } + } + public class summary_graduation_notification{ + public string year { get; set; } + public List data { get; set; } + } + + public class summary_graduation_notification_detail + { + public string display_name_th { get; set; } + public string position_name { get; set; } + public string faculty_name { get; set; } + public string education_information { get; set; } + public string study_period { get; set; } + public string fund_period { get; set; } + public string fund_type { get; set; } + public string council_approval_date { get; set; } + public string conditions_contract_leave { get; set; } + public string conditions_contract_fund { get; set; } + } + public class summary_not_graduation{ + public string year { get; set; } + public List data { get; set; } + } + + public class summary_not_graduation_detail + { + public string display_name_th { get; set; } + public string position_name { get; set; } + public string faculty_name { get; set; } + public string education_information { get; set; } + public string study_period { get; set; } + public string fund_period { get; set; } + public string fund_type { get; set; } + public string expiration_date { get; set; } + public string reason { get; set; } + public string conditions_contract_leave { get; set; } + public string conditions_contract_fund { get; set; } } +} \ No newline at end of file diff --git a/wwwroot/reports/passer_join_project_person.frx b/wwwroot/reports/passer_join_project_person.frx new file mode 100644 index 0000000..2e2964d --- /dev/null +++ b/wwwroot/reports/passer_join_project_person.frx @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/person_academic_and_supportlines.frx b/wwwroot/reports/person_academic_and_supportlines.frx new file mode 100644 index 0000000..4deca3f --- /dev/null +++ b/wwwroot/reports/person_academic_and_supportlines.frx @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/return_perform_duties_year.frx b/wwwroot/reports/return_perform_duties_year.frx new file mode 100644 index 0000000..a643b23 --- /dev/null +++ b/wwwroot/reports/return_perform_duties_year.frx @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/study_leave_expand_study_period.frx b/wwwroot/reports/study_leave_expand_study_period.frx new file mode 100644 index 0000000..1e8cd2b --- /dev/null +++ b/wwwroot/reports/study_leave_expand_study_period.frx @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/study_leave_scholarships_person.frx b/wwwroot/reports/study_leave_scholarships_person.frx new file mode 100644 index 0000000..39a1be5 --- /dev/null +++ b/wwwroot/reports/study_leave_scholarships_person.frx @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/study_leave_scholarships_year.frx b/wwwroot/reports/study_leave_scholarships_year.frx new file mode 100644 index 0000000..a4cb10d --- /dev/null +++ b/wwwroot/reports/study_leave_scholarships_year.frx @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/study_report.frx b/wwwroot/reports/study_report.frx new file mode 100644 index 0000000..5fcfc83 --- /dev/null +++ b/wwwroot/reports/study_report.frx @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/summary_graduation_notification.frx b/wwwroot/reports/summary_graduation_notification.frx new file mode 100644 index 0000000..b5ab564 --- /dev/null +++ b/wwwroot/reports/summary_graduation_notification.frx @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/summary_not_graduation.frx b/wwwroot/reports/summary_not_graduation.frx new file mode 100644 index 0000000..c891361 --- /dev/null +++ b/wwwroot/reports/summary_not_graduation.frx @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +