add reports

This commit is contained in:
kamonwan taengsuk
2022-11-15 13:35:24 +07:00
parent 8a5101cfa9
commit 45037a9a80
9 changed files with 720 additions and 0 deletions

View File

@@ -494,6 +494,170 @@ namespace rmutr_report.Controllers
break;
}
return Ok();
}
[HttpPost, Route("reports/summary_not_graduation/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult Gethr12Report([FromRoute] string type, [FromBody] List<progress_report> _hr)
{
//var hr = new List<summary_not_graduation>(){_hr};
Report report = new Report();
report.Load(_setting.report_path + "progress_report.frx");
report.RegisterData(_hr, "progress_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/academic_position_leave/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult Gethr13Report([FromRoute] string type, [FromBody] academic_position_leave _hr)
{
var hr = new List<academic_position_leave>(){_hr};
Report report = new Report();
report.Load(_setting.report_path + "academic_position_leave.frx");
report.RegisterData(hr, "academic_position_leave");
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/company_database/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult Gethr14Report([FromRoute] string type, [FromBody] company_database _hr)
{
var hr = new List<company_database>(){_hr};
Report report = new Report();
report.Load(_setting.report_path + "company_database.frx");
report.RegisterData(hr, "company_database");
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_academic_position_leave/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult Gethr15Report([FromRoute] string type, [FromBody] summary_academic_position_leave _hr)
{
var hr = new List<summary_academic_position_leave>(){_hr};
Report report = new Report();
report.Load(_setting.report_path + "summary_academic_position_leave.frx");
report.RegisterData(hr, "summary_academic_position_leave");
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();
}
}