add reports

This commit is contained in:
kamonwan taengsuk
2022-11-09 14:30:14 +07:00
parent 5f7eaefaa5
commit c8b82d1508
11 changed files with 936 additions and 0 deletions

View File

@@ -724,6 +724,297 @@ namespace rmutr_report.Controllers
break;
}
return Ok();
}
[HttpPost, Route("reports/hr_askfor_insignia/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetHr9Report([FromRoute] string type, [FromBody] hr_askfor_insignia _hr)
{
var text1 =
_hr.insignia_date.Replace('0', '').Replace('1', '๑').Replace('2', '๒').Replace('3', '๓')
.Replace('4', '๔').Replace('5', '๕').Replace('6', '๖').Replace('7', '๗').Replace('8', '๘')
.Replace('9', '๙');
_hr.insignia_date = text1;
var text2 =
_hr.note_insignia_date.Replace('0', '').Replace('1', '๑').Replace('2', '๒').Replace('3', '๓')
.Replace('4', '๔').Replace('5', '๕').Replace('6', '๖').Replace('7', '๗').Replace('8', '๘')
.Replace('9', '๙');
_hr.note_insignia_date = text2;
var text7 =
_hr.year.Replace('0', '').Replace('1', '๑').Replace('2', '๒').Replace('3', '๓')
.Replace('4', '๔').Replace('5', '๕').Replace('6', '๖').Replace('7', '๗').Replace('8', '๘')
.Replace('9', '๙');
_hr.year = text7;
foreach (var hr in _hr.data)
{
foreach (var detail in hr.data_detail)
{
var text =
detail.id_card.Replace('0', '').Replace('1', '๑').Replace('2', '๒').Replace('3', '๓')
.Replace('4', '๔').Replace('5', '๕').Replace('6', '๖').Replace('7', '๗').Replace('8', '๘')
.Replace('9', '๙');
detail.id_card = text;
var text3 =
detail.insignia_start_date.Replace('0', '').Replace('1', '๑').Replace('2', '๒').Replace('3', '๓')
.Replace('4', '๔').Replace('5', '๕').Replace('6', '๖').Replace('7', '๗').Replace('8', '๘')
.Replace('9', '๙');
detail.insignia_start_date = text3;
var text4 =
detail.insignia_receive_date.Replace('0', '').Replace('1', '๑').Replace('2', '๒').Replace('3', '๓')
.Replace('4', '๔').Replace('5', '๕').Replace('6', '๖').Replace('7', '๗').Replace('8', '๘')
.Replace('9', '๙');
detail.insignia_receive_date = text4;
var text5 =
detail.note.Replace('0', '').Replace('1', '๑').Replace('2', '๒').Replace('3', '๓')
.Replace('4', '๔').Replace('5', '๕').Replace('6', '๖').Replace('7', '๗').Replace('8', '๘')
.Replace('9', '๙');
detail.note = text5;
var text6 =
detail.position_current_past.Replace('0', '').Replace('1', '๑').Replace('2', '๒').Replace('3', '๓')
.Replace('4', '๔').Replace('5', '๕').Replace('6', '๖').Replace('7', '๗').Replace('8', '๘')
.Replace('9', '๙');
detail.position_current_past = text6;
if (detail.salary != null)
{
string NumberText = detail.salary.ToString();
var str =
NumberText.Replace('0', '').Replace('1', '๑').Replace('2', '๒').Replace('3', '๓')
.Replace('4', '๔').Replace('5', '๕').Replace('6', '๖').Replace('7', '๗').Replace('8', '๘')
.Replace('9', '๙');
if (str.Length == 4)
{
for (int i = 1; i <= str.Length - 1; i += 4)
{
detail.money = str.Insert(i, ",");
}
}
else if (str.Length == 5)
{
for (int i = 2; i <= str.Length - 1; i += 5)
{
detail.money = str.Insert(i, ",");
}
}
else if (str.Length == 6)
{
for (int i = 3; i <= str.Length - 1; i += 6)
{
detail.money = str.Insert(i, ",");
}
}
else
{
detail.money = str;
}
}
}
}
var hr1 = new List<hr_askfor_insignia>() {_hr};
Report report = new Report();
report.Load(_setting.report_path + "hr_askfor_insignia.frx");
report.RegisterData(hr1, "hr_askfor_insignia");
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");
break;
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/hr_summary_leave/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetHr9Report([FromRoute] string type, [FromBody] List<hr_summary_leave> _hr)
{
Report report = new Report();
report.Load(_setting.report_path + "hr_summary_leave.frx");
report.RegisterData(_hr, "hr_summary_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");
break;
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/hr_leave_statistics/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetHr10Report([FromRoute] string type, [FromBody] List<hr_summary_leave> _hr)
{
Report report = new Report();
report.Load(_setting.report_path + "hr_leave_statistics.frx");
report.RegisterData(_hr, "hr_summary_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");
break;
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/hr_summary_leave_agency/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetHr11Report([FromRoute] string type, [FromBody]hr_summary_leave_agency _hr)
{
var hr1 = new List<hr_summary_leave_agency>() {_hr};
Report report = new Report();
report.Load(_setting.report_path + "hr_summary_leave_agency.frx");
report.RegisterData(hr1, "hr_summary_leave_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");
break;
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/hr_summary_study_leave/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetHr12Report([FromRoute] string type, [FromBody]List<hr_summary_study_leave> _hr)
{
Report report = new Report();
report.Load(_setting.report_path + "hr_summary_study_leave.frx");
report.RegisterData(_hr, "hr_summary_study_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");
break;
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();
}
}