From 2eba54fc4af06f86dd63bfb8e954d8eac2e72e57 Mon Sep 17 00:00:00 2001 From: kamonwan taengsuk Date: Thu, 10 Nov 2022 13:13:30 +0700 Subject: [PATCH] add report recruit --- Controllers/HrRecruit.Controller.cs | 412 ++++++++++++++++++ .../offer_position_assistant_professor.cs | 27 ++ .../Hrrecruit/person_recruiting_selection.cs | 29 ++ .../person_recruiting_selection_status.cs | 16 + .../quantity_position_assistant_professor.cs | 58 +++ Models/Hrrecruit/summary_academic_position.cs | 29 ++ .../offer_position_assistant_professor.frx | 100 +++++ .../offer_position_associate_professor.frx | 113 +++++ wwwroot/reports/offer_position_professor.frx | 113 +++++ .../reports/person_recruiting_selection.frx | 98 +++++ .../person_recruiting_selection_status.frx | 69 +++ ..._recruiting_selection_university_staff.frx | 98 +++++ .../quantity_position_assistant_professor.frx | 161 +++++++ .../quantity_position_associate_professor.frx | 154 +++++++ .../reports/quantity_position_professor.frx | 154 +++++++ wwwroot/reports/summary_academic_position.frx | 92 ++++ 16 files changed, 1723 insertions(+) create mode 100644 Models/Hrrecruit/person_recruiting_selection.cs create mode 100644 Models/Hrrecruit/person_recruiting_selection_status.cs create mode 100644 Models/Hrrecruit/quantity_position_assistant_professor.cs create mode 100644 Models/Hrrecruit/summary_academic_position.cs create mode 100644 wwwroot/reports/offer_position_assistant_professor.frx create mode 100644 wwwroot/reports/offer_position_associate_professor.frx create mode 100644 wwwroot/reports/offer_position_professor.frx create mode 100644 wwwroot/reports/person_recruiting_selection.frx create mode 100644 wwwroot/reports/person_recruiting_selection_status.frx create mode 100644 wwwroot/reports/person_recruiting_selection_university_staff.frx create mode 100644 wwwroot/reports/quantity_position_assistant_professor.frx create mode 100644 wwwroot/reports/quantity_position_associate_professor.frx create mode 100644 wwwroot/reports/quantity_position_professor.frx create mode 100644 wwwroot/reports/summary_academic_position.frx diff --git a/Controllers/HrRecruit.Controller.cs b/Controllers/HrRecruit.Controller.cs index 23a0f0a..04b8116 100644 --- a/Controllers/HrRecruit.Controller.cs +++ b/Controllers/HrRecruit.Controller.cs @@ -24,7 +24,293 @@ namespace rmutr_report.Controllers { this._setting = setting; } + [HttpPost, Route("reports/offer_position_assistant_professor/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetRecruit1Report([FromRoute] string type, [FromBody] List _hr) + { + + Report report = new Report(); + report.Load(_setting.report_path + "offer_position_assistant_professor.frx"); + report.RegisterData(_hr, "offer_position_assistant_professor"); + 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": + 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/quantity_position_assistant_professor/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetRecruit2Report([FromRoute] string type, [FromBody] List _hr) + { + + Report report = new Report(); + report.Load(_setting.report_path + "quantity_position_assistant_professor.frx"); + report.RegisterData(_hr, "quantity_position_assistant_professor"); + 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": + 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/offer_position_associate_professor/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetRecruit3Report([FromRoute] string type, [FromBody] List _hr) + { + + Report report = new Report(); + report.Load(_setting.report_path + "offer_position_associate_professor.frx"); + report.RegisterData(_hr, "offer_position_associate_professor"); + 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": + 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/quantity_position_associate_professor/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetRecruit4Report([FromRoute] string type, [FromBody] List _hr) + { + + Report report = new Report(); + report.Load(_setting.report_path + "quantity_position_associate_professor.frx"); + report.RegisterData(_hr, "quantity_position_associate_professor"); + 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": + 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/offer_position_professor/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetRecruit5Report([FromRoute] string type, [FromBody] List _hr) + { + + Report report = new Report(); + report.Load(_setting.report_path + "offer_position_professor.frx"); + report.RegisterData(_hr, "offer_position_professor"); + 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": + 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/quantity_position_professor/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetRecruit6Report([FromRoute] string type, [FromBody] List _hr) + { + + Report report = new Report(); + report.Load(_setting.report_path + "quantity_position_professor.frx"); + report.RegisterData(_hr, "quantity_position_professor"); + 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": + 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_academic_position/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetSummaryReport([FromRoute] string type, [FromBody] summary_academic_position _hr) + { + var hr1 = new List() {_hr}; + Report report = new Report(); + report.Load(_setting.report_path + "summary_academic_position.frx"); + report.RegisterData(hr1, "summary_academic_position"); + 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": + 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/registration_management_position/{type}")] [ApiExplorerSettings(GroupName = "reports")] public IActionResult GetHr1Report([FromRoute] string type, [FromBody] List _hr) @@ -352,6 +638,132 @@ namespace rmutr_report.Controllers break; } + return Ok(); + } + [HttpPost, Route("reports/person_recruiting_selection_university_staff/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetHr9Report([FromRoute] string type, [FromBody] person_recruiting_selection _hr) + { + var hr1 = new List() {_hr}; + + Report report = new Report(); + report.Load(_setting.report_path + "person_recruiting_selection_university_staff.frx"); + report.RegisterData(hr1, "person_recruiting_selection"); + 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": + 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_recruiting_selection/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetHr10Report([FromRoute] string type, [FromBody] person_recruiting_selection _hr) + { + var hr1 = new List() {_hr}; + + Report report = new Report(); + report.Load(_setting.report_path + "person_recruiting_selection.frx"); + report.RegisterData(hr1, "person_recruiting_selection"); + 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": + 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_recruiting_selection_status/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetHr11Report([FromRoute] string type, [FromBody] List _hr) + { + //var hr1 = new List() {_hr}; + + Report report = new Report(); + report.Load(_setting.report_path + "person_recruiting_selection_status.frx"); + report.RegisterData(_hr, "person_recruiting_selection_status"); + 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": + 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/Hrrecruit/offer_position_assistant_professor.cs b/Models/Hrrecruit/offer_position_assistant_professor.cs index 1fe698e..f3166ef 100644 --- a/Models/Hrrecruit/offer_position_assistant_professor.cs +++ b/Models/Hrrecruit/offer_position_assistant_professor.cs @@ -13,4 +13,31 @@ namespace rmutr_report.Models.Hrrecruit public string note { get; set; } } + + public class offer_position_associate_professor + { + public string display_name_th { get; set; } + public string position_name { get; set; } + public string agency_name_th { get; set; } + public string major_name_th { get; set; } + public string appointment_date { get; set; } + public string signing_date { get; set; } + public string major_appointed { get; set; } + public string submajor_appointed { get; set; } + public string period { get; set; } + public string note { get; set; } + } + public class offer_position_professor + { + public string display_name_th { get; set; } + public string position_name { get; set; } + public string major_name_th { get; set; } + public string agency_name_th { get; set; } + public string packing_date { get; set; } + public string first_qualification_pack { get; set; } + public string qualification_end_date { get; set; } + public string working_age { get; set; } + public string note { get; set; } + + } } \ No newline at end of file diff --git a/Models/Hrrecruit/person_recruiting_selection.cs b/Models/Hrrecruit/person_recruiting_selection.cs new file mode 100644 index 0000000..44ac6ec --- /dev/null +++ b/Models/Hrrecruit/person_recruiting_selection.cs @@ -0,0 +1,29 @@ +using System.Collections.Generic; + +namespace rmutr_report.Models.Hrrecruit +{ + public class person_recruiting_selection + { + public string recruit_time { get; set; } + public string year { get; set; } + public List data { get; set; } + } + + public class person_recruiting_selection_detail + { + public string pertype {get; set;} + public string directive_number { get; set; } + public string qualification { get; set; } + public string agency_name_th { get; set; } + public string area { get; set; } + public string recruit_time { get; set; } + public int? applicant_quantity { get; set; } + public int? pass_quantity { get; set; } + public int? accountant_quantity { get; set; } + public string account_expiration_date { get; set; } + public string account_end_date { get; set; } + public string processing_time { get; set; } + public string recruit_number_time { get; set; } + public string packing_date { get; set; } + } + } diff --git a/Models/Hrrecruit/person_recruiting_selection_status.cs b/Models/Hrrecruit/person_recruiting_selection_status.cs new file mode 100644 index 0000000..197c130 --- /dev/null +++ b/Models/Hrrecruit/person_recruiting_selection_status.cs @@ -0,0 +1,16 @@ +namespace rmutr_report.Models.Hrrecruit +{ + public class person_recruiting_selection_status + { + public string status {get; set;} + public string position_name {get; set;} + public string directive_number { get; set; } + public string qualification { get; set; } + public string agency_name_th { get; set; } + public string area { get; set; } + public int? exam_quantity { get; set; } + public int? pass_quantity { get; set; } + public string account_up_todate { get; set; } + + } +} \ No newline at end of file diff --git a/Models/Hrrecruit/quantity_position_assistant_professor.cs b/Models/Hrrecruit/quantity_position_assistant_professor.cs new file mode 100644 index 0000000..4ae7397 --- /dev/null +++ b/Models/Hrrecruit/quantity_position_assistant_professor.cs @@ -0,0 +1,58 @@ +namespace rmutr_report.Models.Hrrecruit +{ + public class quantity_position_assistant_professor + { + public string display_name_th { get; set; } + public string position_name { get; set; } + public string major_name_th { get; set; } + public string agency_name_th { get; set; } + public string appointment_date { get; set; } + public string signing_date { get; set; } + public string major_appointed { get; set; } + public string submajor_appointed { get; set; } + public string period { get; set; } + public string document { get; set; } + public string research { get; set; } + public string treatise { get; set; } + public string book { get; set; } + public string other_type_work { get; set; } + public string academic_articles { get; set; } + public string note { get; set; } + } + public class quantity_position_associate_professor + { + public string display_name_th { get; set; } + public string position_name { get; set; } + public string major_name_th { get; set; } + public string agency_name_th { get; set; } + public string appointment_date { get; set; } + public string signing_date { get; set; } + public string major_appointed { get; set; } + public string submajor_appointed { get; set; } + public string period { get; set; } + public string document { get; set; } + public string research { get; set; } + public string treatise { get; set; } + public string book { get; set; } + public string other_type_work { get; set; } + public string note { get; set; } + } + public class quantity_position_professor + { + public string display_name_th { get; set; } + public string position_name { get; set; } + public string major_name_th { get; set; } + public string agency_name_th { get; set; } + public string appointment_date { get; set; } + public string signing_date { get; set; } + public string major_appointed { get; set; } + public string submajor_appointed { get; set; } + public string period { get; set; } + public string document { get; set; } + public string research { get; set; } + public string treatise { get; set; } + public string book { get; set; } + public string other_type_work { get; set; } + public string note { get; set; } + } +} \ No newline at end of file diff --git a/Models/Hrrecruit/summary_academic_position.cs b/Models/Hrrecruit/summary_academic_position.cs new file mode 100644 index 0000000..7525977 --- /dev/null +++ b/Models/Hrrecruit/summary_academic_position.cs @@ -0,0 +1,29 @@ +using System.Collections.Generic; + +namespace rmutr_report.Models.Hrrecruit +{ + public class summary_academic_position + { + 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? 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 summary_academic_position_detail + { + public string pertype { get; set; } + public decimal? teacher { get; set; } + public decimal? assistant_professor { get; set; } + public decimal? associate_professor { get; set; } + public decimal? professor { get; set; } + public decimal? total { get; set; } + } +} \ No newline at end of file diff --git a/wwwroot/reports/offer_position_assistant_professor.frx b/wwwroot/reports/offer_position_assistant_professor.frx new file mode 100644 index 0000000..94d5f5c --- /dev/null +++ b/wwwroot/reports/offer_position_assistant_professor.frx @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/offer_position_associate_professor.frx b/wwwroot/reports/offer_position_associate_professor.frx new file mode 100644 index 0000000..d1cc5d6 --- /dev/null +++ b/wwwroot/reports/offer_position_associate_professor.frx @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/offer_position_professor.frx b/wwwroot/reports/offer_position_professor.frx new file mode 100644 index 0000000..1609920 --- /dev/null +++ b/wwwroot/reports/offer_position_professor.frx @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/person_recruiting_selection.frx b/wwwroot/reports/person_recruiting_selection.frx new file mode 100644 index 0000000..b7c1a5f --- /dev/null +++ b/wwwroot/reports/person_recruiting_selection.frx @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/person_recruiting_selection_status.frx b/wwwroot/reports/person_recruiting_selection_status.frx new file mode 100644 index 0000000..3a345ec --- /dev/null +++ b/wwwroot/reports/person_recruiting_selection_status.frx @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/person_recruiting_selection_university_staff.frx b/wwwroot/reports/person_recruiting_selection_university_staff.frx new file mode 100644 index 0000000..b3659ce --- /dev/null +++ b/wwwroot/reports/person_recruiting_selection_university_staff.frx @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/quantity_position_assistant_professor.frx b/wwwroot/reports/quantity_position_assistant_professor.frx new file mode 100644 index 0000000..d58198a --- /dev/null +++ b/wwwroot/reports/quantity_position_assistant_professor.frx @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/quantity_position_associate_professor.frx b/wwwroot/reports/quantity_position_associate_professor.frx new file mode 100644 index 0000000..de71eec --- /dev/null +++ b/wwwroot/reports/quantity_position_associate_professor.frx @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/quantity_position_professor.frx b/wwwroot/reports/quantity_position_professor.frx new file mode 100644 index 0000000..1286de2 --- /dev/null +++ b/wwwroot/reports/quantity_position_professor.frx @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/summary_academic_position.frx b/wwwroot/reports/summary_academic_position.frx new file mode 100644 index 0000000..dd72184 --- /dev/null +++ b/wwwroot/reports/summary_academic_position.frx @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +