add report development

This commit is contained in:
kamonwan taengsuk
2022-11-11 17:35:09 +07:00
parent 2eba54fc4a
commit 92bbd42776
5 changed files with 345 additions and 0 deletions

View File

@@ -0,0 +1,134 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using FastReport;
using FastReport.Export.Csv;
using FastReport.Export.Mht;
using FastReport.Export.OoXML;
using FastReport.Export.Pdf;
using Microsoft.AspNetCore.Mvc;
using rmutr_report.Models;
using rmutr_report.Models.Hr;
using rmutr_report.Models.HrDevelopment;
using rmutr_report.Models.Hrrecruit;
using Swashbuckle.AspNetCore.Annotations;
namespace rmutr_report.Controllers
{
[SwaggerTag("สำหรับรายงาน งานพัฒนา")]
public class HrDevelopment : Controller
{
readonly Setting _setting;
public HrDevelopment(Setting setting)
{
this._setting = setting;
}
[HttpPost, Route("reports/passer_join_project/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult Gethr1Report([FromRoute] string type, [FromBody] List<passer_join_project> _hr)
{
// foreach (var deatil in _hr)
// {
// foreach (var x in deatil.data)
// {
// if (x.quantity_person != null)
// {
// var total = deatil.data.Select(r => r.quantity_person).Sum(t=>t.Value);
// deatil.total_1 = total;
// }
// else
// {
// deatil.total_1 = 0;
// }
// if (x.quantity_trained != null)
// {
// var total = deatil.data.Select(r => r.quantity_trained).Sum(t=>t.Value);
// deatil.total_2 = total;
// }else
// {
// deatil.total_2 = 0;
// }
// }
// }
// var hr1 = new List<passer_join_project>() {_hr};
Report report = new Report();
report.Load(_setting.report_path + "passer_join_project.frx");
report.RegisterData(_hr, "passer_join_project");
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/passer_join_project_agency/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult Gethr2Report([FromRoute] string type, [FromBody] List<passer_join_project_agency> _hr)
{
Report report = new Report();
report.Load(_setting.report_path + "passer_join_project_agency.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();
}
}
}

View File

@@ -0,0 +1,20 @@
using System.Collections.Generic;
namespace rmutr_report.Models.HrDevelopment
{
public class passer_join_project
{
public string header_name { get; set; }
public int? total_1 { get; set; }
public int? total_2 { get; set; }
public List<passer_join_project_detail> data { get; set; }
}
public class passer_join_project_detail
{
public string agency_name_th { get; set; }
public int? quantity_person { get; set; }
public int? quantity_trained { get; set; }
}
}

View File

@@ -0,0 +1,29 @@
using System.Collections.Generic;
namespace rmutr_report.Models.HrDevelopment
{
public class passer_join_project_agency
{
public string agency_name_th { get; set; }
public List<passer_join_project_agency_detail> data { get; set; }
}
public class passer_join_project_agency_detail
{
public string pertype { get; set; }
public List<passer_join_project_agency_data_detail> data_detail { get; set; }
}
public class passer_join_project_agency_data_detail
{
public string display_name_th { get; set; }
public int? quantity_project { get; set; }
public string project_name { get; set; }
public string course_organizer { get; set; }
public string project_date { get; set; }
public string project_time { get; set; }
public string location { get; set; }
public decimal? registration_fee { get; set; }
public string complete_date { get; set; }
}
}

View File

@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<Report ScriptLanguage="CSharp" ReportInfo.Created="09/14/2021 15:20:39" ReportInfo.Modified="11/11/2022 17:09:30" ReportInfo.CreatorVersion="2022.1.0.0">
<Dictionary>
<BusinessObjectDataSource Name="passer_join_project" ReferenceName="passer_join_project" DataType="null" Enabled="true">
<Column Name="total_1" DataType="System.Int32"/>
<Column Name="total_2" DataType="System.Int32"/>
<Column Name="header_name" DataType="System.String"/>
<BusinessObjectDataSource Name="data" DataType="null" Enabled="true">
<Column Name="agency_name_th" DataType="System.String"/>
<Column Name="quantity_person" DataType="System.Int32"/>
<Column Name="quantity_trained" DataType="System.Int32"/>
<Column Name="total_1" DataType="System.Int32"/>
<Column Name="total_2" DataType="System.Int32"/>
</BusinessObjectDataSource>
</BusinessObjectDataSource>
</Dictionary>
<ReportPage Name="Page1" RawPaperSize="9" Watermark.Font="Arial, 60pt">
<PageHeaderBand Name="PageHeader1" Width="718.2" Height="132.3">
<TextObject Name="Text40" Width="718.2" Height="37.8" Text="สรุป รายงานข้อมูลผู้ผ่านการเข้าร่วมโครงการ การอบรม สัมมนา" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 18pt, style=Bold"/>
<TableObject Name="Table14" Top="75.6" Width="718.2" Height="56.7" Border.Lines="All">
<TableColumn Name="Column70" Width="56.7"/>
<TableColumn Name="Column71" Width="415.8"/>
<TableColumn Name="Column72" Width="122.85"/>
<TableColumn Name="Column73" Width="122.85"/>
<TableRow Name="Row14" Height="56.7">
<TableCell Name="Cell110" Text="ลำดับที่" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<TableCell Name="Cell111" Border.Lines="All" Text="หน่วยงาน" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<TableCell Name="Cell112" Border.Lines="All" Text="จำนวนบุคลากร" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<TableCell Name="Cell113" Border.Lines="All" Text="จำนวนบุคลากร&#13;&#10;ที่ผ่านการอบรม" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
</TableRow>
</TableObject>
<TextObject Name="Text41" Top="37.8" Width="718.2" Height="37.8" Text="รายงานประจำปีงบประมาณ ในทุกรอบ 6 เดือน 9 เดือน และ 12 เดือน" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 18pt, style=Bold"/>
</PageHeaderBand>
<DataBand Name="Data1" Top="137.93" Width="718.2" DataSource="passer_join_project">
<GroupHeaderBand Name="GroupHeader1" Top="143.57" Width="718.2" Height="47.25" Condition="[passer_join_project.header_name]">
<TableObject Name="Table17" Width="719.2" Height="47.25" Border.Lines="All">
<TableColumn Name="Column87" Width="57.7"/>
<TableColumn Name="Column88" Width="415.8"/>
<TableColumn Name="Column89" Width="122.85"/>
<TableColumn Name="Column90" Width="122.85"/>
<TableRow Name="Row17" Height="47.25">
<TableCell Name="Cell147" Fill.Color="Gainsboro" Text="[passer_join_project.header_name]" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold" ColSpan="4"/>
<TableCell Name="Cell148" Border.Lines="All" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<TableCell Name="Cell149" Border.Lines="All" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<TableCell Name="Cell150" Border.Lines="All" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
</TableRow>
</TableObject>
<DataBand Name="Data2" Top="196.45" Width="718.2" Height="47.25" DataSource="data">
<TableObject Name="Table15" Width="719.2" Height="47.25" Border.Lines="All">
<TableColumn Name="Column79" Width="57.7"/>
<TableColumn Name="Column80" Width="415.8"/>
<TableColumn Name="Column81" Width="122.85"/>
<TableColumn Name="Column82" Width="122.85"/>
<TableRow Name="Row15" Height="47.25">
<TableCell Name="Cell139" Text="[Row#]" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 12pt"/>
<TableCell Name="Cell140" Border.Lines="All" Text="[passer_join_project.data.agency_name_th]" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" VertAlign="Center" Font="TH Sarabun New, 12pt"/>
<TableCell Name="Cell141" Border.Lines="All" Text="[passer_join_project.data.quantity_person]" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 12pt"/>
<TableCell Name="Cell142" Border.Lines="All" Text="[passer_join_project.data.quantity_trained]" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 12pt"/>
</TableRow>
</TableObject>
</DataBand>
</GroupHeaderBand>
</DataBand>
<ReportSummaryBand Name="ReportSummary1" Top="249.34" Width="718.2" Height="47.25">
<TableObject Name="Table16" Width="719.2" Height="47.25" Border.Lines="All">
<TableColumn Name="Column83" Width="57.7"/>
<TableColumn Name="Column84" Width="415.8"/>
<TableColumn Name="Column85" Width="122.85"/>
<TableColumn Name="Column86" Width="122.85"/>
<TableRow Name="Row16" Height="47.25">
<TableCell Name="Cell143" Text="รวม" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 12pt, style=Bold" ColSpan="2"/>
<TableCell Name="Cell144" Border.Lines="All" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" VertAlign="Center" Font="TH Sarabun New, 12pt, style=Bold"/>
<TableCell Name="Cell145" Border.Lines="All" Text="[passer_join_project.total_1]" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 12pt, style=Bold"/>
<TableCell Name="Cell146" Border.Lines="All" Text="[passer_join_project.total_2]" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 12pt, style=Bold"/>
</TableRow>
</TableObject>
</ReportSummaryBand>
</ReportPage>
</Report>

View File

@@ -0,0 +1,83 @@
<?xml version="1.0" encoding="utf-8"?>
<Report ScriptLanguage="CSharp" ReportInfo.Created="09/14/2021 15:20:39" ReportInfo.Modified="11/11/2022 17:34:06" ReportInfo.CreatorVersion="2022.1.0.0">
<Dictionary>
<BusinessObjectDataSource Name="passer_join_project_agency" ReferenceName="passer_join_project_agency" DataType="null" Enabled="true">
<Column Name="agency_name_th" DataType="System.String"/>
<BusinessObjectDataSource Name="data" DataType="null" Enabled="true">
<Column Name="pertype" DataType="System.String"/>
<BusinessObjectDataSource Name="data_detail" DataType="null" Enabled="true">
<Column Name="display_name_th" DataType="System.String"/>
<Column Name="quantity_project" DataType="System.Int32"/>
<Column Name="project_name" DataType="System.String"/>
<Column Name="course_organizer" DataType="System.String"/>
<Column Name="project_date" DataType="System.String"/>
<Column Name="project_time" DataType="System.String"/>
<Column Name="location" DataType="System.String"/>
<Column Name="registration_fee" DataType="System.Decimal"/>
<Column Name="complete_date" DataType="System.String"/>
</BusinessObjectDataSource>
</BusinessObjectDataSource>
</BusinessObjectDataSource>
</Dictionary>
<ReportPage Name="Page1" Landscape="true" PaperWidth="450" PaperHeight="210" Watermark.Font="Arial, 60pt">
<PageHeaderBand Name="PageHeader1" Width="1625.4" Height="103.95">
<TextObject Name="Text40" Width="1625.4" Height="47.25" Text="สรุป รายงานข้อมูลผู้ผ่านการเข้าร่วมโครงการ การอบรม สัมมนา (รายหน่วยงาน)" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 18pt, style=Bold"/>
<TableObject Name="Table14" Top="47.25" Width="1625.4" Height="56.7" Border.Lines="All">
<TableColumn Name="Column70" Width="47.25"/>
<TableColumn Name="Column71" Width="255.15"/>
<TableColumn Name="Column72" Width="151.2"/>
<TableColumn Name="Column73" Width="179.55"/>
<TableColumn Name="Column74" Width="170.1"/>
<TableColumn Name="Column75" Width="132.3"/>
<TableColumn Name="Column76" Width="141.75"/>
<TableColumn Name="Column77" Width="274.05"/>
<TableColumn Name="Column92" Width="113.4"/>
<TableColumn Name="Column93" Width="160.65"/>
<TableRow Name="Row14" Height="56.7">
<TableCell Name="Cell110" Text="ลำดับ" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<TableCell Name="Cell111" Border.Lines="All" Text="หน่วยงาน" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<TableCell Name="Cell112" Border.Lines="All" Text="จำนวนโครงการพัฒนา&#13;&#10;บุคลากรที่เข้าร่วมอบรม" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<TableCell Name="Cell113" Border.Lines="All" Text="ชื่อโครงการ / ชื่อหลักสูตร" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<TableCell Name="Cell114" Border.Lines="All" Text="ผู้จัดหลักสูตร" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<TableCell Name="Cell135" Border.Lines="All" Text="วันที่" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<TableCell Name="Cell136" Border.Lines="All" Text="เวลา" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<TableCell Name="Cell137" Border.Lines="All" Text="สถานที่" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<TableCell Name="Cell152" Border.Lines="All" Text="ค่าลงทะเบียน" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<TableCell Name="Cell153" Border.Lines="All" Text="วันที่สำเร็จหลักสูตร" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
</TableRow>
</TableObject>
</PageHeaderBand>
<DataBand Name="Data1" Top="109.58" Width="1625.4" Height="37.8" DataSource="passer_join_project_agency">
<TextObject Name="Text42" Width="1625.4" Height="37.8" Border.Lines="All" Text="[passer_join_project_agency.agency_name_th]" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<DataBand Name="Data2" Top="153.02" Width="1625.4" Height="37.8" DataSource="data">
<TextObject Name="Text43" Width="1625.4" Height="37.8" Border.Lines="All" Text="[passer_join_project_agency.data.pertype]" VertAlign="Center" Font="TH Sarabun New, 14pt, style=Bold"/>
<DataBand Name="Data3" Top="196.45" Width="1625.4" Height="47.25" DataSource="data_detail">
<TableObject Name="Table15" Width="1626.4" Height="47.25" Border.Lines="All">
<TableColumn Name="Column79" Width="47.25"/>
<TableColumn Name="Column80" Width="255.15"/>
<TableColumn Name="Column81" Width="151.2"/>
<TableColumn Name="Column82" Width="179.55"/>
<TableColumn Name="Column83" Width="170.1"/>
<TableColumn Name="Column84" Width="132.3"/>
<TableColumn Name="Column85" Width="141.75"/>
<TableColumn Name="Column86" Width="275.05"/>
<TableColumn Name="Column87" Width="113.4"/>
<TableColumn Name="Column88" Width="160.65"/>
<TableRow Name="Row15" Height="47.25">
<TableCell Name="Cell139" Text="[Row#]" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 12pt"/>
<TableCell Name="Cell140" Border.Lines="All" Text="[passer_join_project_agency.data.data_detail.display_name_th]" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" VertAlign="Center" Font="TH Sarabun New, 12pt"/>
<TableCell Name="Cell141" Border.Lines="All" Text="[passer_join_project_agency.data.data_detail.quantity_project]" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 12pt"/>
<TableCell Name="Cell142" Border.Lines="All" Text="[passer_join_project_agency.data.data_detail.project_name]" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" VertAlign="Center" Font="TH Sarabun New, 12pt"/>
<TableCell Name="Cell143" Border.Lines="All" Text="[passer_join_project_agency.data.data_detail.course_organizer]" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" VertAlign="Center" Font="TH Sarabun New, 12pt"/>
<TableCell Name="Cell144" Border.Lines="All" Text="[passer_join_project_agency.data.data_detail.project_date]" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" VertAlign="Center" Font="TH Sarabun New, 12pt"/>
<TableCell Name="Cell145" Border.Lines="All" Text="[passer_join_project_agency.data.data_detail.project_time]" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" VertAlign="Center" Font="TH Sarabun New, 12pt"/>
<TableCell Name="Cell146" Border.Lines="All" Text="[passer_join_project_agency.data.data_detail.location]" Format="Number" Format.UseLocale="true" Format.DecimalDigits="0" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 12pt"/>
<TableCell Name="Cell147" Border.Lines="All" Text="[passer_join_project_agency.data.data_detail.registration_fee]" Format="Number" Format.UseLocale="true" Format.DecimalDigits="2" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 12pt"/>
<TableCell Name="Cell148" Border.Lines="All" Text="[passer_join_project_agency.data.data_detail.complete_date]" HorzAlign="Center" VertAlign="Center" Font="TH Sarabun New, 12pt"/>
</TableRow>
</TableObject>
</DataBand>
</DataBand>
</DataBand>
</ReportPage>
</Report>