From a2d85ea3209c873c831eb888ac0a80dbd28c361e Mon Sep 17 00:00:00 2001 From: kamonwan taengsuk Date: Wed, 24 Aug 2022 09:56:16 +0700 Subject: [PATCH] add report --- Controllers/Budget.Controller.cs | 68 +++++++++++++++++++ Models/budget_report.cs | 12 ++++ .../net5.0}/rmutr-report.StaticWebAssets.xml | 0 ....GeneratedMSBuildEditorConfig.editorconfig | 6 +- .../rmutr-report.csproj.FileListAbsolute.txt | 4 +- obj/project.assets.json | 8 ++- obj/project.packagespec.json | 2 +- obj/rider.project.restore.info | 2 +- obj/rmutr-report.csproj.nuget.dgspec.json | 9 ++- obj/rmutr-report.csproj.nuget.g.props | 2 +- wwwroot/reports/budget_report.frx | 64 +++++++++++++++++ 11 files changed, 167 insertions(+), 10 deletions(-) create mode 100644 Controllers/Budget.Controller.cs create mode 100644 Models/budget_report.cs rename {obj/Debug/net5.0/staticwebassets => bin/Debug/net5.0}/rmutr-report.StaticWebAssets.xml (100%) create mode 100644 wwwroot/reports/budget_report.frx diff --git a/Controllers/Budget.Controller.cs b/Controllers/Budget.Controller.cs new file mode 100644 index 0000000..6e9a8c1 --- /dev/null +++ b/Controllers/Budget.Controller.cs @@ -0,0 +1,68 @@ +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 Swashbuckle.AspNetCore.Annotations; + +namespace rmutr_report.Controllers +{ + [SwaggerTag("สำหรับรายงาน_budget")] + public class Budget: Controller + { + readonly Setting _setting; + + public Budget(Setting setting) + { + this._setting = setting; + } + + [HttpPost, Route("reports/budget_report/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetSum1Report([FromRoute] string type, [FromBody] List budget_reports) + { + Report report = new Report(); + report.Load(_setting.report_path + "budget_report.frx"); + report.RegisterData(budget_reports, "budget_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": + 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(); + } + + } +} \ No newline at end of file diff --git a/Models/budget_report.cs b/Models/budget_report.cs new file mode 100644 index 0000000..1218611 --- /dev/null +++ b/Models/budget_report.cs @@ -0,0 +1,12 @@ +namespace rmutr_report.Models +{ + public class budget_report + { + public string fac { get; set; } + public string salaya { get; set; } + public string bophitphimuk { get; set; } + public string pohchang { get; set; } + public string klai_kangwon { get; set; } + public string total { get; set; } + } +} \ No newline at end of file diff --git a/obj/Debug/net5.0/staticwebassets/rmutr-report.StaticWebAssets.xml b/bin/Debug/net5.0/rmutr-report.StaticWebAssets.xml similarity index 100% rename from obj/Debug/net5.0/staticwebassets/rmutr-report.StaticWebAssets.xml rename to bin/Debug/net5.0/rmutr-report.StaticWebAssets.xml diff --git a/obj/Debug/net5.0/rmutr-report.GeneratedMSBuildEditorConfig.editorconfig b/obj/Debug/net5.0/rmutr-report.GeneratedMSBuildEditorConfig.editorconfig index 2fd9133..9c3eb3f 100644 --- a/obj/Debug/net5.0/rmutr-report.GeneratedMSBuildEditorConfig.editorconfig +++ b/obj/Debug/net5.0/rmutr-report.GeneratedMSBuildEditorConfig.editorconfig @@ -3,8 +3,8 @@ build_property.TargetFramework = net5.0 build_property.TargetPlatformMinVersion = build_property.UsingMicrosoftNETSdkWeb = true build_property.ProjectTypeGuids = -build_property.PublishSingleFile = -build_property.IncludeAllContentForSelfExtract = -build_property._SupportedPlatformList = Android,iOS,Linux,macOS,Windows +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = rmutr_report build_property.ProjectDir = C:\Users\Mercedes Benz\Documents\rmutr_report\ diff --git a/obj/Debug/net5.0/rmutr-report.csproj.FileListAbsolute.txt b/obj/Debug/net5.0/rmutr-report.csproj.FileListAbsolute.txt index 490d2bb..173c5de 100644 --- a/obj/Debug/net5.0/rmutr-report.csproj.FileListAbsolute.txt +++ b/obj/Debug/net5.0/rmutr-report.csproj.FileListAbsolute.txt @@ -89,7 +89,6 @@ C:\Users\Mercedes Benz\Documents\rmutr_report\bin\Debug\net5.0\rmutr-report.deps C:\Users\Mercedes Benz\Documents\rmutr_report\bin\Debug\net5.0\rmutr-report.runtimeconfig.json C:\Users\Mercedes Benz\Documents\rmutr_report\bin\Debug\net5.0\rmutr-report.runtimeconfig.dev.json C:\Users\Mercedes Benz\Documents\rmutr_report\bin\Debug\net5.0\rmutr-report.dll -C:\Users\Mercedes Benz\Documents\rmutr_report\bin\Debug\net5.0\ref\rmutr-report.dll C:\Users\Mercedes Benz\Documents\rmutr_report\bin\Debug\net5.0\rmutr-report.pdb C:\Users\Mercedes Benz\Documents\rmutr_report\bin\Debug\net5.0\rmutr-report.xml C:\Users\Mercedes Benz\Documents\rmutr_report\bin\Debug\net5.0\FastReport.dll @@ -155,7 +154,6 @@ C:\Users\Mercedes Benz\Documents\rmutr_report\obj\Debug\net5.0\rmutr-report.cspr C:\Users\Mercedes Benz\Documents\rmutr_report\obj\Debug\net5.0\rmutr-report.MvcApplicationPartsAssemblyInfo.cs C:\Users\Mercedes Benz\Documents\rmutr_report\obj\Debug\net5.0\rmutr-report.MvcApplicationPartsAssemblyInfo.cache C:\Users\Mercedes Benz\Documents\rmutr_report\obj\Debug\net5.0\staticwebassets\rmutr-report.StaticWebAssets.Manifest.cache -C:\Users\Mercedes Benz\Documents\rmutr_report\obj\Debug\net5.0\staticwebassets\rmutr-report.StaticWebAssets.xml C:\Users\Mercedes Benz\Documents\rmutr_report\obj\Debug\net5.0\scopedcss\bundle\rmutr-report.styles.css C:\Users\Mercedes Benz\Documents\rmutr_report\obj\Debug\net5.0\rmutr-report.RazorTargetAssemblyInfo.cache C:\Users\Mercedes Benz\Documents\rmutr_report\obj\Debug\net5.0\rmutr-report.csproj.CopyComplete @@ -165,3 +163,5 @@ C:\Users\Mercedes Benz\Documents\rmutr_report\obj\Debug\net5.0\rmutr-report.xml C:\Users\Mercedes Benz\Documents\rmutr_report\obj\Debug\net5.0\rmutr-report.pdb C:\Users\Mercedes Benz\Documents\rmutr_report\obj\Debug\net5.0\rmutr-report.genruntimeconfig.cache C:\Users\Mercedes Benz\Documents\rmutr_report\bin\Debug\net5.0\Swashbuckle.AspNetCore.Annotations.dll +C:\Users\Mercedes Benz\Documents\rmutr_report\bin\Debug\net5.0\rmutr-report.StaticWebAssets.xml +C:\Users\Mercedes Benz\Documents\rmutr_report\obj\Debug\net5.0\refint\rmutr-report.dll diff --git a/obj/project.assets.json b/obj/project.assets.json index b116ff4..d0fa17a 100644 --- a/obj/project.assets.json +++ b/obj/project.assets.json @@ -1688,6 +1688,12 @@ ], "assetTargetFallback": true, "warn": true, + "downloadDependencies": [ + { + "name": "Microsoft.NETCore.App.Host.win-x64", + "version": "[5.0.17, 5.0.17]" + } + ], "frameworkReferences": { "Microsoft.AspNetCore.App": { "privateAssets": "none" @@ -1696,7 +1702,7 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.403\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.302\\RuntimeIdentifierGraph.json" } } } diff --git a/obj/project.packagespec.json b/obj/project.packagespec.json index c7d0e65..69bad35 100644 --- a/obj/project.packagespec.json +++ b/obj/project.packagespec.json @@ -1 +1 @@ -"restore":{"projectUniqueName":"C:\\Users\\Mercedes Benz\\Documents\\rmutr_report\\rmutr-report.csproj","projectName":"rmutr-report","projectPath":"C:\\Users\\Mercedes Benz\\Documents\\rmutr_report\\rmutr-report.csproj","outputPath":"C:\\Users\\Mercedes Benz\\Documents\\rmutr_report\\obj\\","projectStyle":"PackageReference","originalTargetFrameworks":["net5.0"],"sources":{"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\":{},"https://api.nuget.org/v3/index.json":{},"https://nuget.71dev.com/v3/index.json":{}},"frameworks":{"net5.0":{"targetAlias":"net5.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]}}"frameworks":{"net5.0":{"targetAlias":"net5.0","dependencies":{"FastReport.Core":{"target":"Package","version":"[2021.3.0, )"},"Swashbuckle.AspNetCore":{"target":"Package","version":"[5.6.3, )"},"Swashbuckle.AspNetCore.Annotations":{"target":"Package","version":"[6.0.7, )"}},"imports":["net461","net462","net47","net471","net472","net48"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.AspNetCore.App":{"privateAssets":"none"},"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"C:\\Program Files\\dotnet\\sdk\\5.0.403\\RuntimeIdentifierGraph.json"}} \ No newline at end of file +"restore":{"projectUniqueName":"C:\\Users\\Mercedes Benz\\Documents\\rmutr_report\\rmutr-report.csproj","projectName":"rmutr-report","projectPath":"C:\\Users\\Mercedes Benz\\Documents\\rmutr_report\\rmutr-report.csproj","outputPath":"C:\\Users\\Mercedes Benz\\Documents\\rmutr_report\\obj\\","projectStyle":"PackageReference","originalTargetFrameworks":["net5.0"],"sources":{"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\":{},"https://api.nuget.org/v3/index.json":{},"https://nuget.71dev.com/v3/index.json":{},"https://nuget.71dev.com/v3/index.json":{}},"frameworks":{"net5.0":{"targetAlias":"net5.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]}}"frameworks":{"net5.0":{"targetAlias":"net5.0","dependencies":{"FastReport.Core":{"target":"Package","version":"[2021.3.0, )"},"Swashbuckle.AspNetCore":{"target":"Package","version":"[5.6.3, )"},"Swashbuckle.AspNetCore.Annotations":{"target":"Package","version":"[6.0.7, )"}},"imports":["net461","net462","net47","net471","net472","net48"],"assetTargetFallback":true,"warn":true,"downloadDependencies":[{"name":"Microsoft.NETCore.App.Host.win-x64","version":"[5.0.17, 5.0.17]"}],"frameworkReferences":{"Microsoft.AspNetCore.App":{"privateAssets":"none"},"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"C:\\Program Files\\dotnet\\sdk\\6.0.302\\RuntimeIdentifierGraph.json"}} \ No newline at end of file diff --git a/obj/rider.project.restore.info b/obj/rider.project.restore.info index cda5d3d..4bf624f 100644 --- a/obj/rider.project.restore.info +++ b/obj/rider.project.restore.info @@ -1 +1 @@ -16584898792009463 \ No newline at end of file +16613086405383533 \ No newline at end of file diff --git a/obj/rmutr-report.csproj.nuget.dgspec.json b/obj/rmutr-report.csproj.nuget.dgspec.json index ead19ac..990e9f7 100644 --- a/obj/rmutr-report.csproj.nuget.dgspec.json +++ b/obj/rmutr-report.csproj.nuget.dgspec.json @@ -24,6 +24,7 @@ "sources": { "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, "https://api.nuget.org/v3/index.json": {}, + "https://nuget.71dev.com/v3/index.json": {}, "https://nuget.71dev.com/v3/index.json": {} }, "frameworks": { @@ -65,6 +66,12 @@ ], "assetTargetFallback": true, "warn": true, + "downloadDependencies": [ + { + "name": "Microsoft.NETCore.App.Host.win-x64", + "version": "[5.0.17, 5.0.17]" + } + ], "frameworkReferences": { "Microsoft.AspNetCore.App": { "privateAssets": "none" @@ -73,7 +80,7 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.403\\RuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\6.0.302\\RuntimeIdentifierGraph.json" } } } diff --git a/obj/rmutr-report.csproj.nuget.g.props b/obj/rmutr-report.csproj.nuget.g.props index 6784dbd..876b599 100644 --- a/obj/rmutr-report.csproj.nuget.g.props +++ b/obj/rmutr-report.csproj.nuget.g.props @@ -7,7 +7,7 @@ $(UserProfile)\.nuget\packages\ C:\Users\Mercedes Benz\.nuget\packages\ PackageReference - 6.0.0 + 6.2.0 diff --git a/wwwroot/reports/budget_report.frx b/wwwroot/reports/budget_report.frx new file mode 100644 index 0000000..d7be212 --- /dev/null +++ b/wwwroot/reports/budget_report.frx @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +