add preview pdf

This commit is contained in:
kamonwan taengsuk
2023-02-28 15:06:47 +07:00
parent 8940657239
commit 6b8658d50b
5 changed files with 1994 additions and 75 deletions

View File

@@ -1,6 +1,9 @@
using System;
using System.Collections.Generic;
using System.IO;
using ClosedXML.Excel;
using FastReport;
using FastReport.Export.Pdf;
using Microsoft.AspNetCore.Mvc;
using rmutr_report.Models;
using Swashbuckle.AspNetCore.Annotations;
@@ -21,6 +24,125 @@ namespace rmutr_report.Controllers
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetDetailStdReport([FromRoute] string type, [FromBody] student_totalcampus _std)
{
var hr1 = new List<student_totalcampus>() {_std};
foreach (var header in _std.header_data)
{
header.total1 = header.male1 + header.female1;
header.total2 = header.male2 + header.female2;
header.total3 = header.male3 + header.female3;
header.total4 = header.male4 + header.female4;
header.total5 = header.male5 + header.female5;
header.total6 = header.male6 + header.female6;
header.total7 = header.male1 + header.male2 + header.male3 + header.male4 +
header.male5 + header.male6 +
header.female1 + header.female2 + header.female3 + header.female4 +
header.female5 + header.female6;
header.room7 = header.room1 + header.room2 + header.room3 +
header.room4 + header.room5 + header.room6;
header.male7 = header.male1 + header.male2 + header.male3 + header.male4 +
header.male5 + header.male6;
header.female7 = header.female1 + header.female2 + header.female3 + header.female4 +
header.female5 + header.female6;
foreach (var data in header.data)
{
data.total1 = data.male1 + data.female1;
data.total2 = data.male2 + data.female2;
data.total3 = data.male3 + data.female3;
data.total4 = data.male4 + data.female4;
data.total5 = data.male5 + data.female5;
data.total6 = data.male6 + data.female6;
data.total7 = data.male1 + data.male2 + data.male3 + data.male4 +
data.male5 + data.male6 +
data.female1 + data.female2 + data.female3 + data.female4 +
data.female5 + data.female6;
data.room7 = data.room1 + data.room2 + data.room3 +
data.room4 + data.room5 + data.room6;
data.male7 = data.male1 + data.male2 + data.male3 + data.male4 +
data.male5 + data.male6;
data.female7 = data.female1 + data.female2 + data.female3 + data.female4 +
data.female5 + data.female6;
if (header.filter == "0")
{
data.name = null;
data.male1 = null;
data.male2 = null;
data.male3 = null;
data.male4 = null;
data.male5 = null;
data.male6 = null;
data.male7 = null;
data.female1 = null;
data.female2 = null;
data.female3 = null;
data.female4 = null;
data.female5 = null;
data.female6 = null;
data.female7 = null;
data.total1 = null;
data.total2 = null;
data.total3 = null;
data.total4 = null;
data.total5 = null;
data.total6 = null;
data.total7 = null;
data.room1 = null;
data.room2 = null;
data.room3 = null;
data.room4 = null;
data.room5 = null;
data.room6 = null;
data.room7 = null;
}
}
if (header.filter == "0")
{
header.header_name = null;
header.male1 = null;
header.male2 = null;
header.male3 = null;
header.male4 = null;
header.male5 = null;
header.male6 = null;
header.male7 = null;
header.female1 = null;
header.female2 = null;
header.female3 = null;
header.female4 = null;
header.female5 = null;
header.female6 = null;
header.female7 = null;
header.total1 = null;
header.total2 = null;
header.total3 = null;
header.total4 = null;
header.total5 = null;
header.total6 = null;
header.total7 = null;
header.room1 = null;
header.room2 = null;
header.room3 = null;
header.room4 = null;
header.room5 = null;
header.room6 = null;
header.room7 = null;
}
}
Report report = new Report();
report.Load(_setting.report_path + "student_total_campus.frx");
report.RegisterData(hr1, "student_totalcampus");
report.Prepare();
MemoryStream stream1 = new MemoryStream();
switch (type)
{
case "pdf":
PDFExport pdf = new PDFExport();
report.Export(pdf, stream1);
stream1.Seek(0, SeekOrigin.Begin);
return File(stream1, "application/pdf");
}
var workbook = new XLWorkbook();
var ws = workbook.Worksheets.Add("student_total_campus");
ws.Range("A1:AD1").Merge().Value = "จำนวนนักศึกษาทั้งหมด ปีการศึกษา " + _std.academic_year_name_th +
@@ -154,7 +276,7 @@ namespace rmutr_report.Controllers
header.room6;
if (header.filter == 1)
if (header.filter == "1")
{
ws.Cell(row, 1).Value = header.header_name;
ws.Cell(row, 2).Value = null;
@@ -207,7 +329,7 @@ namespace rmutr_report.Controllers
row++;
}
if (header.filter == (decimal?) 1.1)
if (header.filter == "1.1")
{
foreach (var detail in header.data)
{
@@ -265,7 +387,7 @@ namespace rmutr_report.Controllers
}
}
if (header.filter == 2)
if (header.filter == "2")
{
ws.Cell(row, 1).Value = header.header_name;
ws.Cell(row, 2).Value = null;
@@ -319,7 +441,7 @@ namespace rmutr_report.Controllers
row++;
}
if (header.filter == 3)
if (header.filter == "3")
{
ws.Cell(row, 1).Value = header.header_name;
ws.Cell(row, 2).Value = null;
@@ -373,7 +495,7 @@ namespace rmutr_report.Controllers
row++;
}
if (header.filter == 4)
if (header.filter == "4")
{
ws.Cell(row, 1).Value = header.header_name;
ws.Cell(row, 2).Value = null;
@@ -426,7 +548,7 @@ namespace rmutr_report.Controllers
row++;
}
if (header.filter == (decimal?) 4.1)
if (header.filter == "4.1")
{
foreach (var detail in header.data)
{
@@ -486,7 +608,7 @@ namespace rmutr_report.Controllers
//rowno++;
}
if (header.filter == (decimal?) 4.2)
if (header.filter == "4.2")
{
foreach (var detail in header.data)
{
@@ -552,7 +674,7 @@ namespace rmutr_report.Controllers
}
}
if (header.filter == 5)
if (header.filter == "5")
{
ws.Cell(row, 1).Value = header.header_name;
ws.Cell(row, 2).Value = null;
@@ -605,7 +727,7 @@ namespace rmutr_report.Controllers
row++;
}
if (header.filter == (decimal?) 5.1)
if (header.filter == "5.1")
{
foreach (var detail in header.data)
{
@@ -673,7 +795,7 @@ namespace rmutr_report.Controllers
}
}
if (header.filter == 6)
if (header.filter == "6")
{
ws.Cell(row, 1).Value = header.header_name;
ws.Cell(row, 2).Value = null;
@@ -726,7 +848,7 @@ namespace rmutr_report.Controllers
row++;
}
if (header.filter == (decimal?) 3.1)
if (header.filter == "3.1")
{
foreach (var detail in header.data)
{
@@ -791,7 +913,7 @@ namespace rmutr_report.Controllers
}
}
if (header.filter == 0)
if (header.filter == "0")
{
ws.Cell(row, 1).Value = null;
ws.Cell(row, 2).Value = null;