Compare commits

...

94 Commits

Author SHA1 Message Date
kamonwan taengsuk
910cb84b09 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-06 16:16:44 +07:00
kamonwan taengsuk
5f3b98cb74 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-06 13:44:42 +07:00
kamonwan taengsuk
965469e1df Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-06 13:40:31 +07:00
kamonwan taengsuk
6cf455d37b upgrade .net
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-06 13:17:28 +07:00
kamonwan taengsuk
cf506ae3f9 Fix color
All checks were successful
continuous-integration/drone/push Build is passing
2025-06-30 14:00:10 +07:00
kamonwan taengsuk
5d4509b121 Fix color
All checks were successful
continuous-integration/drone/push Build is passing
2025-06-30 13:22:35 +07:00
kamonwan taengsuk
266fd83299 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-06-19 14:19:31 +07:00
kamonwan taengsuk
d18005c6c5 Fix color 2025-06-19 14:15:30 +07:00
kamonwan taengsuk
667609ce73 Fix color
All checks were successful
continuous-integration/drone/push Build is passing
2025-06-19 11:17:56 +07:00
kamonwan taengsuk
b99b6fbfed Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-06-16 11:59:40 +07:00
kamonwan taengsuk
1fecc2fb9c Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-05-28 16:24:55 +07:00
kamonwan taengsuk
208c13e0c3 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-05-07 13:32:10 +07:00
kamonwan taengsuk
90e53f8d31 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-05-07 13:03:52 +07:00
kamonwan taengsuk
122d54d871 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-04-11 14:05:32 +07:00
kamonwan taengsuk
f1d1c166bf Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-03-20 11:57:56 +07:00
kamonwan taengsuk
a598c9dbee Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-03-19 16:23:26 +07:00
kamonwan taengsuk
ab9de38b48 Bug Fixed 2025-03-19 16:15:25 +07:00
kamonwan taengsuk
5e9cdba67a Bug Fixed 2025-03-19 16:11:43 +07:00
kamonwan taengsuk
335c760260 Bug Fixed
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is passing
2025-03-19 16:02:28 +07:00
kamonwan taengsuk
fc127f2ab6 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-03-01 14:12:56 +07:00
kamonwan taengsuk
c5e56063e2 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-02-25 19:09:42 +07:00
kamonwan taengsuk
a4b9c896dd Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-02-21 21:27:34 +07:00
kamonwan taengsuk
5d2d463a8c Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-02-21 14:46:51 +07:00
kamonwan taengsuk
731803e190 Add สงป 301
All checks were successful
continuous-integration/drone/push Build is passing
2025-02-20 11:59:31 +07:00
kamonwan taengsuk
12da4e1939 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-02-05 18:07:29 +07:00
kamonwan taengsuk
a49490890e Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2025-02-05 17:55:31 +07:00
kamonwan taengsuk
5abb0843e4 Fix Report
All checks were successful
continuous-integration/drone/push Build is passing
2025-01-27 12:01:44 +07:00
kamonwan taengsuk
9a4f0e95ea Change Name Report
All checks were successful
continuous-integration/drone/push Build is passing
2025-01-27 11:49:16 +07:00
kamonwan taengsuk
c0f203eef8 Add Report
All checks were successful
continuous-integration/drone/push Build is passing
2025-01-27 11:11:12 +07:00
kamonwan taengsuk
91cff19bff fix color font frx
All checks were successful
continuous-integration/drone/push Build is passing
2024-11-25 19:03:41 +07:00
kamonwan taengsuk
e298ba30cb add color font frx
All checks were successful
continuous-integration/drone/push Build is passing
2024-11-25 17:32:27 +07:00
kamonwan taengsuk
2aa5821fff edit format excel
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-04 13:18:29 +07:00
kamonwan taengsuk
ca8e2cd529 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-25 11:02:59 +07:00
kamonwan taengsuk
5587ae4b01 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-24 12:14:12 +07:00
kamonwan taengsuk
70b81462ed Add ง4 v_1
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-24 11:07:23 +07:00
kamonwan taengsuk
ad34df712d Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-19 20:02:56 +07:00
kamonwan taengsuk
e935842a13 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-19 19:44:45 +07:00
kamonwan taengsuk
30d76230dd Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-19 19:29:12 +07:00
kamonwan taengsuk
20eeb0f51a Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-19 19:21:00 +07:00
kamonwan taengsuk
767cd57cb5 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-19 18:25:53 +07:00
kamonwan taengsuk
62b89761e4 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-19 16:30:47 +07:00
kamonwan taengsuk
5c4bae857b Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-19 14:36:18 +07:00
kamonwan taengsuk
7a8a09e336 Update
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-19 14:22:51 +07:00
kamonwan taengsuk
106a978269 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-19 13:09:51 +07:00
kamonwan taengsuk
ad0b43ca48 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-18 17:48:56 +07:00
kamonwan taengsuk
d3ca59bb68 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-18 14:35:21 +07:00
kamonwan taengsuk
090cfeecc7 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-18 14:17:37 +07:00
kamonwan taengsuk
455baf90de Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-18 12:24:09 +07:00
kamonwan taengsuk
8e237bbb5b Resize text
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-18 12:16:42 +07:00
kamonwan taengsuk
84e8167aca Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-18 11:21:27 +07:00
kamonwan taengsuk
270216d8d7 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-18 11:04:45 +07:00
kamonwan taengsuk
41fa5d1398 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-17 16:09:59 +07:00
kamonwan taengsuk
f26091d1c7 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-17 16:02:39 +07:00
kamonwan taengsuk
438286ba8b Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-04 15:27:55 +07:00
kamonwan taengsuk
fe5bea66d7 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-04 14:20:02 +07:00
kamonwan taengsuk
b009389dc0 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-04 12:37:45 +07:00
kamonwan taengsuk
ed25cb4cc4 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-04 12:17:58 +07:00
kamonwan taengsuk
6c1f04df78 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-09-04 11:44:03 +07:00
kamonwan taengsuk
6e62fa7286 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-30 11:18:04 +07:00
kamonwan taengsuk
47d0145272 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-30 10:45:51 +07:00
kamonwan taengsuk
f3c022b8fb WrapText
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-29 18:30:39 +07:00
kamonwan taengsuk
fa07e5428e Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-29 16:15:00 +07:00
kamonwan taengsuk
053e87d51f Resize Font
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-29 16:03:50 +07:00
kamonwan taengsuk
d36bb505e0 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-29 15:24:57 +07:00
kamonwan taengsuk
e9e51a0dfc Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-29 15:15:39 +07:00
kamonwan taengsuk
62e9bfb30a Add invest
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-29 13:20:38 +07:00
kamonwan taengsuk
da8805020d Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-29 09:50:31 +07:00
kamonwan taengsuk
e2a3977734 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-28 19:46:08 +07:00
kamonwan taengsuk
fcb163b058 Update
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-28 19:34:20 +07:00
kamonwan taengsuk
e3335ae91e Update
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-28 17:07:57 +07:00
kamonwan taengsuk
9c37d45f5c Set UnlimitedHeight
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-28 11:07:43 +07:00
kamonwan taengsuk
7e05f00fd3 Resize A4
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-27 13:30:20 +07:00
kamonwan taengsuk
3334b4cb0b Update
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-26 19:45:07 +07:00
kamonwan taengsuk
8e90a5c766 Resize A4
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-26 12:03:02 +07:00
kamonwan taengsuk
8f6a0b8c14 Resize A4
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-26 11:36:58 +07:00
kamonwan taengsuk
3680fa2e1f Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-26 09:02:45 +07:00
kamonwan taengsuk
9f3a5950c6 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-23 20:13:50 +07:00
kamonwan taengsuk
a58f124c5e Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-23 13:33:24 +07:00
kamonwan taengsuk
7137b4f2c2 Remove code
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-22 14:52:15 +07:00
kamonwan taengsuk
28053412e7 Update
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-20 19:01:05 +07:00
kamonwan taengsuk
be50663796 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-20 17:28:12 +07:00
kamonwan taengsuk
e889c93e21 Update
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-20 17:07:20 +07:00
kamonwan taengsuk
ad7e631bf7 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-20 16:28:44 +07:00
kamonwan taengsuk
f307b01f57 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-20 16:17:15 +07:00
kamonwan taengsuk
1301ecaeca Update
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-20 14:17:25 +07:00
kamonwan taengsuk
db320cf03d Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-14 16:57:32 +07:00
kamonwan taengsuk
6d258f2639 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-14 16:49:07 +07:00
kamonwan taengsuk
a1f853b870 Update
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-07 17:30:09 +07:00
kamonwan taengsuk
14cf3e4081 ๊Update
All checks were successful
continuous-integration/drone/push Build is passing
2024-06-18 18:45:05 +07:00
kamonwan taengsuk
0a4fd17b65 Update
All checks were successful
continuous-integration/drone/push Build is passing
2024-06-17 11:32:58 +07:00
kamonwan taengsuk
3094fae4b7 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-19 11:13:31 +07:00
kamonwan taengsuk
989c7f9035 Bug Fixed
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-12 11:18:07 +07:00
kamonwan taengsuk
e01a898db7 Merge remote-tracking branch 'origin/master'
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-07 13:37:04 +07:00
kamonwan taengsuk
960cc2a554 Bug Fixed 2024-03-07 13:36:50 +07:00
270 changed files with 24047 additions and 1941 deletions

View File

@@ -15,7 +15,7 @@ steps:
pull: if-not-exists
image: plugins/docker
settings:
dockerfile: Dockerfile.dev
dockerfile: Dockerfile
repo: gitea.71dev.com/kamonwantaengsuk/rmutr_report
tags: latest
registry: "gitea.71dev.com"

View File

@@ -0,0 +1,127 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using ClosedXML.Excel;
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 Swashbuckle.AspNetCore.Annotations;
namespace rmutr_report.Controllers
{
[SwaggerTag("สำหรับรายงานผลการดำเนินงานโครงการ")]
public class AgencyReport : Controller
{
public readonly Setting _setting;
public AgencyReport(Setting setting)
{
this._setting = setting;
}
[HttpPost, Route("reports/agency_result_report/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetAgencyReport([FromRoute] string type, [FromBody] List<agency_report> agencyReports)
{
if (agencyReports == null || agencyReports.Count == 0)
{
return BadRequest("Agency reports cannot be null or empty.");
}
foreach (var agencyReport in agencyReports)
{
if (agencyReport == null)
{
continue;
}
agencyReport.startdate = agencyReport.start_date?.ToString("dd MMMM yyyy",
CultureInfo.CreateSpecificCulture("th-TH")) ?? "";
agencyReport.enddate = agencyReport.end_date?.ToString("dd MMMM yyyy",
CultureInfo.CreateSpecificCulture("th-TH")) ?? "";
agencyReport.bool_11_1_text = agencyReport.bool_11_1 == true ? "X" : "";
agencyReport.bool_11_2_text = agencyReport.bool_11_2 == true ? "X" : "";
agencyReport.bool_11_3_text = agencyReport.bool_11_3 == true ? "X" : "";
agencyReport.text_13_1 = agencyReport.bool_13_1 == true ? "X" : "";
agencyReport.text_13_2 = agencyReport.bool_13_2 == true ? "X" : "";
agencyReport.text_13_3 = agencyReport.bool_13_3 == true ? "X" : "";
agencyReport.text_13_4 = agencyReport.bool_13_4 == true ? "X" : "";
agencyReport.text_13_5 = agencyReport.bool_13_5 == true ? "X" : "";
agencyReport.text_13_6 = agencyReport.bool_13_6 == true ? "X" : "";
agencyReport.text_13_7 = agencyReport.bool_13_7 == true ? "X" : "";
agencyReport.text_25_1 = agencyReport.bool_25_1 == true ? "X" : "";
agencyReport.text_25_2 = agencyReport.bool_25_2 == true ? "X" : "";
}
if (_setting == null || string.IsNullOrEmpty(_setting.report_path))
{
return StatusCode(500, "Report settings are not configured.");
}
Report report = new Report();
try
{
report.Load(_setting.report_path + "agency_report.frx");
report.RegisterData(agencyReports, "agency_report");
report.Prepare();
}
catch (Exception ex)
{
return StatusCode(500, $"Report generation failed: {ex.Message}");
}
MemoryStream stream = new MemoryStream();
try
{
switch (type?.ToLower())
{
case "pdf":
PDFExport pdf = new PDFExport();
report.Export(pdf, stream);
break;
case "xls":
case "xlsx":
Excel2007Export excel = new Excel2007Export();
report.Export(excel, stream);
break;
case "mht":
MHTExport mht = new MHTExport();
report.Export(mht, stream);
break;
case "doc":
case "docx":
Word2007Export word = new Word2007Export();
report.Export(word, stream);
break;
default:
return BadRequest("Unsupported export type.");
}
stream.Seek(0, SeekOrigin.Begin);
string contentType = type == "pdf" ? "application/pdf" :
type == "xls" || type == "xlsx" ? "application/vnd.ms-excel" :
type == "mht" ? "multipart/related" :
"application/vnd.ms-word";
return File(stream, contentType);
}
catch (Exception ex)
{
return StatusCode(500, $"File export failed: {ex.Message}");
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -84,21 +84,21 @@ namespace rmutr_report.Controllers
ws.Cell("D6").Style.Font.FontSize = 16;
ws.Cell("D6").Style.Font.Bold = true;
ws.Cell("D6").Style.Alignment.WrapText = true;
// ws.Cell("E5").Value = "ค่าซ่อมแซม";
// ws.Cell("E5").Style.Font.FontName = "TH SarabunPSK";
// ws.Cell("E5").Style.Font.FontSize = 16;
// ws.Cell("E5").Style.Font.Bold = true;
// ws.Cell("E5").Style.Alignment.WrapText = true;
// ws.Cell("E6").Value = "บาท/ปี";
// ws.Cell("E6").Style.Font.FontName = "TH SarabunPSK";
// ws.Cell("E6").Style.Font.FontSize = 16;
// ws.Cell("E6").Style.Font.Bold = true;
// ws.Cell("E6").Style.Alignment.WrapText = true;
ws.Cell("E5").Value = "ค่าซ่อมแซม";
ws.Cell("E5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("E5").Style.Font.FontSize = 16;
ws.Cell("E5").Style.Font.Bold = true;
ws.Cell("E5").Style.Alignment.WrapText = true;
ws.Cell("E6").Value = "บาท/ปี";
ws.Cell("E6").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("E6").Style.Font.FontSize = 16;
ws.Cell("E6").Style.Font.Bold = true;
ws.Cell("E6").Style.Alignment.WrapText = true;
ws.Range("A5:D6").Style.Fill.BackgroundColor = XLColor.Gainsboro;
ws.Range("A5:D6").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range("A5:D6").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range("A5:D6").Style.Border.OutsideBorder =
ws.Range("A5:E6").Style.Fill.BackgroundColor = XLColor.Gainsboro;
ws.Range("A5:E6").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range("A5:E6").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range("A5:E6").Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range("A5:A6").Style.Border.RightBorder =
XLBorderStyleValues.Thin;
@@ -108,12 +108,13 @@ namespace rmutr_report.Controllers
XLBorderStyleValues.Thin;
ws.Range("D5:D6").Style.Border.RightBorder =
XLBorderStyleValues.Thin;
ws.Range("E5:E6").Style.Border.RightBorder =
XLBorderStyleValues.Thin;
ws.Column(1).Width = 10;
ws.Column(2).Width = 40;
ws.Column(3).Width = 10;
ws.Column(4).Width = 15;
//ws.Column(5).Width = 15;
ws.Column(5).Width = 15;
int row = 7;
//int row2 = 9;
@@ -128,27 +129,27 @@ namespace rmutr_report.Controllers
ws.Cell(row, 2).Value = house.type_vehicle_transport;
ws.Cell(row, 3).Value = house.quantity;
ws.Cell(row, 4).Value = house.repair_rate;
//ws.Cell(row, 5).Value = house.amount;
ws.Cell(row, 5).Value = house.amount;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Font.FontName =
ws.Range(ws.Cell(row, 1), ws.Cell(row, 5)).Style.Font.FontName =
"TH SarabunPSK";
ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Alignment.WrapText = true;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Alignment.Vertical =
ws.Range(ws.Cell(row, 1), ws.Cell(row, 5)).Style.Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 5)).Style.Alignment.WrapText = true;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 5)).Style.Alignment.Vertical =
XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Border.OutsideBorder =
ws.Range(ws.Cell(row, 1), ws.Cell(row, 5)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Border.RightBorder =
ws.Range(ws.Cell(row, 1), ws.Cell(row, 5)).Style.Border.RightBorder =
XLBorderStyleValues.Thin;
ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
//ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell(row, 4).SetDataType(XLDataType.Number);
ws.Cell(row, 4).Style.NumberFormat.SetFormat("#,#");
ws.Cell(row, 5).SetDataType(XLDataType.Number);
ws.Cell(row, 5).Style.NumberFormat.SetFormat("#,#");
row++;
}
@@ -158,31 +159,31 @@ namespace rmutr_report.Controllers
ws.Cell(row, 2).Value = house.type_vehicle_transport;
ws.Cell(row, 3).Value = house.quantity;
ws.Cell(row, 4).Value = house.repair_rate;
//ws.Cell(row, 5).Value = house.amount;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Font.FontName =
ws.Cell(row, 5).Value = house.amount;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 5)).Style.Font.FontName =
"TH SarabunPSK";
ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Alignment.WrapText = true;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 5)).Style.Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 5)).Style.Alignment.WrapText = true;
ws.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell(row, 1).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell(row, 2).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell(row, 3).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell(row, 4).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
//ws.Cell(row, 5).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell(row, 5).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell(row, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell(row, 3).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
//ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell(row, 5).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 2)).Style.Border.LeftBorder =
XLBorderStyleValues.None;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 4)).Style.Border.RightBorder =
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Style.Border.RightBorder =
XLBorderStyleValues.Thin;
ws.Cell(row, 1).Style.Border.RightBorder =
XLBorderStyleValues.None;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Border.OutsideBorder =
ws.Range(ws.Cell(row, 1), ws.Cell(row, 5)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Cell(row, 4).SetDataType(XLDataType.Number);
ws.Cell(row, 4).Style.NumberFormat.SetFormat("#,#");
ws.Cell(row, 5).SetDataType(XLDataType.Number);
ws.Cell(row, 5).Style.NumberFormat.SetFormat("#,#");
row++;
}
}

View File

@@ -0,0 +1,341 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using FastReport;
using FastReport.Export.OoXML;
using FastReport.Export.Pdf;
using Microsoft.AspNetCore.Mvc;
using rmutr_report.Models;
using Swashbuckle.AspNetCore.Annotations;
namespace rmutr_report.Controllers
{
[SwaggerTag("สำหรับรายงาน invest")]
public class SummaryInvest : Controller
{
readonly Setting _setting;
public SummaryInvest(Setting setting)
{
_setting = setting;
}
[SwaggerOperation("จัดทำค่าครุภัณฑ์ Key e-Budgeting")]
[HttpPost, Route("reports/summary_invest/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetEBudgetingReport([FromRoute] string type, [FromBody] summary_invest summaryInvest)
{
var summaryInvests = new List<summary_invest>() { summaryInvest };
if (summaryInvest.total_budget != summaryInvest.unit_price)
{
summaryInvest.total_budget = summaryInvest.unit_price;
}
foreach (var summaryInvestYear in summaryInvest.years)
{
if (summaryInvestYear.total_budget != summaryInvestYear.unit_price)
{
summaryInvestYear.total_budget = summaryInvestYear.unit_price;
}
foreach (var plan in summaryInvestYear.plans)
{
if (plan.total_budget != plan.unit_price)
{
plan.total_budget = plan.unit_price;
}
foreach (var project in plan.projects)
{
if (project.total_budget != project.unit_price)
{
project.total_budget = project.unit_price;
}
foreach (var faculty in project.facultys)
{
if (faculty.total_budget != faculty.unit_price)
{
faculty.total_budget = faculty.unit_price;
}
foreach (var assetList in faculty.asset_lists)
{
if (assetList.total != assetList.unit_price)
{
assetList.total = assetList.unit_price;
}
if (assetList.total == null && assetList.amount == 1)
{
assetList.total = assetList.unit_price;
}
if (assetList.amount > 1)
{
assetList.total = assetList.unit_price * assetList.amount;
}
// if ((assetList.unit_price ?? 0) == 0 && (assetList.amount ?? 1) == 1)
// {
// assetList.total = 0;
// }
// else if ((assetList.unit_price ?? 0) > 0 && (assetList.amount ?? 1) > 1)
// {
// assetList.total = assetList.unit_price * assetList.amount;
// }
// else if (assetList.total == null)
// {
// assetList.total = assetList.unit_price;
// }
}
foreach (var constructList in faculty.construct_lists)
{
if (constructList.total != constructList.unit_price)
{
constructList.total = constructList.unit_price;
}
if (constructList.total == null && constructList.amount == 1)
{
constructList.total = constructList.unit_price;
}
if (constructList.amount > 1)
{
constructList.total = constructList.unit_price * constructList.amount;
}
}
}
}
}
}
Report report = new Report();
report.Load(_setting.report_path + "summary_invest.frx");
report.RegisterData(summaryInvests, "summary_invest");
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.openxmlformats-officedocument.spreadsheetml.sheet",
"summary_invest" + ".xlsx");
break;
}
return Ok();
}
[SwaggerOperation("จัดทำค่าครุภัณฑ์ (ใบเสนอราคา)")]
[HttpPost, Route("reports/summary_invest_preview/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetSummaryInvestPreviewReport([FromRoute] string type,
[FromBody] summary_invest_v2 summaryInvest)
{
var summaryInvests = new List<summary_invest_v2>() { summaryInvest };
if (summaryInvest != null)
{
if (summaryInvest.total_budget != summaryInvest.unit_price)
{
summaryInvest.total_budget = summaryInvest.unit_price;
}
foreach (var summaryInvestYear in summaryInvest.years)
{
if (summaryInvestYear.total_budget != summaryInvestYear.unit_price)
{
summaryInvestYear.total_budget = summaryInvestYear.unit_price;
}
foreach (var plan in summaryInvestYear.plans)
{
if (plan.total_budget != plan.unit_price)
{
plan.total_budget = plan.unit_price;
}
if (!plan.asset_lists?.Any() ?? true)
{
plan.asset_lists = plan.construct_lists?.ToList() ?? new List<summary_invest_list_v2>();
}
foreach (var assetList in plan.asset_lists)
{
string formattedSeller = assetList.seller.Replace("<br>", " ");
string pattern = @"<a href=.*?>(.*?)<\/a>";
MatchCollection matches = Regex.Matches(assetList.file, pattern);
string formattedFile = "";
if (assetList.is_approve == true)
{
assetList.approve_name = "อนุมัติแล้ว";
}
assetList.seller2 = formattedSeller;
foreach (Match match in matches)
{
formattedFile += match.Groups[1].Value + " ";
}
formattedFile = formattedFile.Trim();
assetList.file2 = formattedFile;
if (assetList.total != assetList.unit_price)
{
assetList.total = assetList.unit_price;
}
if (assetList.total == null && assetList.amount == 1)
{
assetList.total = assetList.unit_price;
}
if (assetList.amount > 1)
{
assetList.total = assetList.unit_price * assetList.amount;
}
}
}
}
}
Report report = new Report();
report.Load(_setting.report_path + "summary_invest_preview.frx");
report.RegisterData(summaryInvests, "summary_invest");
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.openxmlformats-officedocument.spreadsheetml.sheet",
"summary_invest_preview" + ".xlsx");
break;
}
return Ok();
}
[SwaggerOperation("จัดสรรค่าครุภัณฑ์")]
[HttpPost, Route("reports/summary_invest_approve/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetSummaryInvestApproveReport([FromRoute] string type,
[FromBody] summary_invest_v2 summaryInvest)
{
var summaryInvests = new List<summary_invest_v2>() { summaryInvest };
if (summaryInvest != null)
{
foreach (var summaryInvestYear in summaryInvest.years)
{
foreach (var plan in summaryInvestYear.plans!)
{
if (!plan.asset_lists?.Any() ?? true)
{
plan.asset_lists = plan.construct_lists?.ToList() ?? new List<summary_invest_list_v2>();
}
var validAssets = plan.asset_lists.Where(x => x.unit_price.HasValue && x.unit_price > 0);
if (validAssets.Any())
{
plan.unit_price = validAssets.Sum(x => x.unit_price) ?? 0;
plan.total_budget = validAssets.Sum(x => x.total_budget) ?? 0;
}
else
{
plan.unit_price = 0;
plan.total_budget = 0;
}
if (summaryInvestYear.plans != null && summaryInvestYear.plans.Any())
{
var validPlanAssets = summaryInvestYear.plans.SelectMany(p => p.asset_lists)
.Where(x => x.unit_price.HasValue && x.unit_price > 0);
if (validPlanAssets.Any())
{
summaryInvest.unit_price = validPlanAssets.Sum(x => x.unit_price) ?? 0;
summaryInvest.total_budget = validPlanAssets.Sum(x => x.total_budget) ?? 0;
summaryInvestYear.unit_price = validPlanAssets.Sum(x => x.unit_price) ?? 0;
summaryInvestYear.total_budget = validPlanAssets.Sum(x => x.total_budget) ?? 0;
}
else
{
summaryInvest.unit_price = 0;
summaryInvest.total_budget = 0;
summaryInvestYear.unit_price = 0;
summaryInvestYear.total_budget = 0;
}
}
foreach (var assetList in plan.asset_lists)
{
string formattedSeller = assetList.seller.Replace("<br>", " ");
string pattern = @"<a href=.*?>(.*?)<\/a>";
MatchCollection matches = Regex.Matches(assetList.file, pattern);
string formattedFile = "";
if (assetList.is_approve == true)
{
assetList.approve_name = "อนุมัติแล้ว";
}
assetList.seller2 = formattedSeller;
foreach (Match match in matches)
{
formattedFile += match.Groups[1].Value + " ";
}
assetList.file2 = formattedFile.Trim();
}
}
}
}
Report report = new Report();
report.Load(_setting.report_path + "summary_invest_approve.frx");
report.RegisterData(summaryInvests, "summary_invest");
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.openxmlformats-officedocument.spreadsheetml.sheet",
"summary_invest_approve.xlsx");
}
return Ok();
}
}
}

View File

@@ -55,36 +55,6 @@ namespace rmutr_report.Controllers
}
}
// foreach (var bb in building_fours.material_construction_labor1)
// {
// if (bb != null)
// {
// bb.total_amount = bb.material_cost + bb.labor_unit;
// var f = building_fours.material_construction_labor1.Where(d => d.total_amount == d.total_amount)
// .Sum(o => o.total_amount);
// building_fours.material_total_amount1 = f;
// }
// }
// foreach (var bb in building_fours.material_construction_labor2)
// {
// if (bb != null)
// {
// bb.total_amount = bb.material_cost + bb.labor_unit;
// var f = building_fours.material_construction_labor2.Where(d => d.total_amount == d.total_amount)
// .Sum(o => o.total_amount);
// building_fours.material_total_amount2 = f;
// }
// }
// foreach (var bb in building_fours.material_construction_labor3)
// {
// if (bb != null)
// {
// bb.total_amount = bb.material_cost + bb.labor_unit;
// var f = building_fours.material_construction_labor3.Where(d => d.total_amount == d.total_amount)
// .Sum(o => o.total_amount);
// building_fours.material_total_amount3 = f;
// }
// }
foreach (var cc in building_fours.budget_limit)
{
if (cc != null)
@@ -157,11 +127,6 @@ namespace rmutr_report.Controllers
boqPrice.list = num.Insert(i, ",").Insert(j,",");
}
}
if (boqPrice.list=="20000000.0000")
{
boqPrice.list = "20,000,000";
}
}
}
@@ -242,29 +207,20 @@ namespace rmutr_report.Controllers
var _building_fours = new List<building_four>() { building_fours };
Report report = new Report();
report.Load(_setting.report_path + "building_fours.frx");
report.Load(_setting.report_path + "building_fours_v1.frx");
report.RegisterData(_building_fours, "building_four");
report.Prepare();
MemoryStream stream = new MemoryStream();
switch (type)
{
case "view":
return File(stream, "application/pdf");
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":
case "mht":
MHTExport mht = new MHTExport();
report.Export(mht, stream);
stream.Seek(0, SeekOrigin.Begin);
@@ -283,6 +239,13 @@ namespace rmutr_report.Controllers
stream.Seek(0, SeekOrigin.Begin);
return File(stream, "appllication/vnd.ms-word");
break;
case "xls":
case "xlsx":
Excel2007Export excel = new Excel2007Export();
report.Export(excel, stream);
stream.Seek(0, SeekOrigin.Begin);
return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
}
return Ok();

View File

@@ -29,25 +29,7 @@ namespace rmutr_report.Controllers
public IActionResult GetHrReport([FromRoute] string type,
[FromBody] durable_articles_three durable_articles_threes)
{
//Console.WriteLine(durable_articles_threes.specification_data[0].data_detail[0].data_detail2);
// var a1 = durable_articles_threes.data.Sum(o => o.amount);
// if (durable_articles_threes.data!=null)
// {
// durable_articles_threes.total_amount = a1;
//
// }
// int a = 1;
// foreach (var q in durable_articles_threes.quotation)
// {
//
// string t = "ใบเสนอราคาบริษัทที่ " + a++ +" ";
// q.company = t + q.company;
// //a++;
// }
var _durable_articles_three = new List<durable_articles_three>() {durable_articles_threes};
var _durable_articles_three = new List<durable_articles_three>() { durable_articles_threes };
Report report = new Report();
report.Load(_setting.report_path + "durable_articles_three.frx");
@@ -65,12 +47,6 @@ namespace rmutr_report.Controllers
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();
@@ -84,15 +60,55 @@ namespace rmutr_report.Controllers
stream.Seek(0, SeekOrigin.Begin);
return File(stream, "text/csv");
break;
case "doc" : case "docx":
case "doc":
case "docx":
Word2007Export word = new Word2007Export();
report.Export(word, stream);
stream.Seek(0, SeekOrigin.Begin);
return File(stream, "appllication/vnd.ms-word");
break;
}
case "xls":
case "xlsx":
Excel2007Export excelExport = new Excel2007Export();
// {
// ShowProgress = true,
// PageBreaks = true
// };
// var textObject3 = report.FindObject("Text3") as FastReport.TextObject;
// var textObject7 = report.FindObject("Text7") as FastReport.TextObject;
// var textObject8 = report.FindObject("Text8") as FastReport.TextObject;
// if (textObject3 != null)
// {
// textObject3.WordWrap = true;
// }
// if (textObject7 != null)
// {
// textObject7.WordWrap = true;
// }
// if (textObject8 != null)
// {
// textObject8.WordWrap = true;
//}
report.Export(excelExport, stream);
stream.Seek(0, SeekOrigin.Begin);
return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
return Ok();
}
// static double GetTextHeight(string text, double fontSize, bool wrapText)
// {
// if (string.IsNullOrEmpty(text))
// return 0;
//
//
// const double lineHeightFactor = 1.2;
//
// int lines = wrapText ? text.Split(new[] { '\n' }, StringSplitOptions.None).Length : 1;
// return lines * (fontSize * lineHeightFactor);
// }
return Ok();
}
}

17
Dockerfile Normal file
View File

@@ -0,0 +1,17 @@
FROM registry.71dev.com/dotnetsdk:8.0 as build-env
WORKDIR /source
COPY . .
RUN dotnet restore --configfile nuget.config
RUN dotnet publish -o /publish --configuration Release
FROM registry.71dev.com/dotnetaspnet:8.0
WORKDIR /app
RUN DEBIAN_FRONTEND=noninteractive apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends apt-utils
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-unauthenticated libc6-dev libgdiplus libx11-dev
RUN DEBIAN_FRONTEND=noninteractive rm -rf /var/lib/apt/lists/*
COPY --from=build-env /publish .
RUN mkdir -p /usr/local/share/fonts/fonts/sarabun
COPY Fonts/* /usr/local/share/fonts/sarabun/
RUN chmod 644 /usr/local/share/fonts/sarabun/*
ENV ASPNETCORE_URLS http://*:8080
ENTRYPOINT ["dotnet", "rmutr_report.dll"]

View File

@@ -1,21 +0,0 @@
FROM registry.71dev.com/dotnetsdk:5.0 as build-env
WORKDIR /source
COPY . .
RUN dotnet restore --configfile nuget.config --disable-parallel
RUN dotnet build
RUN dotnet publish -o /publish --configuration Release;
FROM registry.71dev.com/dotnetsdk:5.0
COPY . .
RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y --no-install-recommends apt-utils
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-unauthenticated libc6-dev
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-unauthenticated libgdiplus
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-unauthenticated libx11-dev
RUN DEBIAN_FRONTEND=noninteractive rm -rf /var/lib/apt/lists/*
RUN mkdir -p /usr/local/share/fonts/fonts/sarabun
COPY Fonts/* /usr/local/share/fonts/sarabun/
RUN chmod 644 /usr/local/share/fonts/sarabun/*
WORKDIR /app
COPY --from=build-env /publish .
ENV ASPNETCORE_URLS http://*:8080
ENTRYPOINT ["dotnet", "rmutr_report.dll"]

View File

@@ -1,2 +1,3 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=4EC9BE8E_002D1881_002D95C9_002D9F3E_002D1B17D679F3EC_002Fd_003AControllers_002Ff_003ABudget_002EController_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=4EC9BE8E_002D1881_002D95C9_002D9F3E_002D1B17D679F3EC_002Fd_003AControllers_002Ff_003APersonnel_002EController_002Ecs/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary>

View File

@@ -0,0 +1,323 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
public class agency_report
{
[Key] public Guid? agency_report_uid { get; set; }
public Guid? change_project_detail_uid { get; set; }
public string budget_year_uid { get; set; }
public string budget_year_name_th { get; set; }
public string project_name_th { get; set; }
public string responsible_agency_name_th { get; set; }
public string responsible_faculty_name_th { get; set; }
//4. ระยะเวลาดำเนินโครงการ
public DateTime? start_date { get; set; }
public DateTime? end_date { get; set; }
public string startdate { get; set; }
public string enddate { get; set; }
//5. สถานที่ดำเนินโครงการ
public string location { get; set; }
//6. ผลผลิต
public string text_6 { get; set; }
//7
public string text_7 { get; set; }
public string text_9 { get; set; }
public string text_10 { get; set; }
//11. งบประมาณ
public bool? bool_11_1 { get; set; }
public bool? bool_11_2 { get; set; }
public bool? bool_11_3 { get; set; }
public string bool_11_1_text { get; set; }
public string bool_11_2_text { get; set; }
public string bool_11_3_text { get; set; }
public string bool_11_3_remark { get; set; } //ไม่ได้ใช้
public string text_11_1 { get; set; }
public string text_11_2 { get; set; }
public string text_11_3 { get; set; }
public decimal? decimal_11_1 { get; set; }
public decimal? decimal_11_2 { get; set; }
public decimal? decimal_11_3 { get; set; }
//12.1 เชิงปริมาณ
public decimal? decimal_12_1_1 { get; set; }
public decimal? decimal_12_1_2 { get; set; }
public decimal? decimal_12_1_3 { get; set; }
public decimal? decimal_12_1_4 { get; set; }
public decimal? decimal_12_1_5 { get; set; }
public decimal? decimal_12_1_6 { get; set; }
public decimal? decimal_12_1_7 { get; set; }
public decimal? decimal_12_1_8 { get; set; }
public decimal? decimal_12_1_9 { get; set; }
public decimal? decimal_12_1_10 { get; set; }
public decimal? decimal_12_1_11 { get; set; }
public decimal? decimal_12_1_12 { get; set; }
public decimal? decimal_12_1_13 { get; set; }
public decimal? decimal_12_1_14 { get; set; }
public decimal? decimal_12_1_15 { get; set; }
public decimal? decimal_12_1_16 { get; set; }
public decimal? decimal_12_1_17 { get; set; }
public decimal? decimal_12_1_18 { get; set; }
public decimal? decimal_12_1_19 { get; set; }
public decimal? decimal_12_1_20 { get; set; }
public decimal? decimal_12_1_21 { get; set; }
public decimal? decimal_12_1_22 { get; set; }
//12.2 เชิงคุณภาพ (เลือกตอบตามผลผลิตของโครงการ)
public decimal? decimal_12_2_1 { get; set; }
public decimal? decimal_12_2_2 { get; set; }
public decimal? decimal_12_2_3 { get; set; }
public decimal? decimal_12_2_4 { get; set; }
public decimal? decimal_12_2_5 { get; set; }
public decimal? decimal_12_2_6 { get; set; }
public decimal? decimal_12_2_7 { get; set; }
public decimal? decimal_12_2_8 { get; set; }
public decimal? decimal_12_2_9 { get; set; }
public decimal? decimal_12_2_10 { get; set; }
public decimal? decimal_12_2_11 { get; set; }
public decimal? decimal_12_2_12 { get; set; }
public decimal? decimal_12_2_13 { get; set; }
public decimal? decimal_12_2_14 { get; set; }
public decimal? decimal_12_3_1 { get; set; }
//12.4 ตัวชี้วัดตามวัตถุประสงค์ของโครงการ
public string decimal_12_4_row_1_1 { get; set; }
public string decimal_12_4_row_1_2 { get; set; }
public string decimal_12_4_row_1_3 { get; set; }
public string decimal_12_4_row_1_4 { get; set; }
public string decimal_12_4_row_1_5 { get; set; }
public string decimal_12_4_row_2_1 { get; set; }
public string decimal_12_4_row_2_2 { get; set; }
public string decimal_12_4_row_2_3 { get; set; }
public string decimal_12_4_row_2_4 { get; set; }
public string decimal_12_4_row_2_5 { get; set; }
public string decimal_12_4_row_3_1 { get; set; }
public string decimal_12_4_row_3_2 { get; set; }
public string decimal_12_4_row_3_3 { get; set; }
public string decimal_12_4_row_3_4 { get; set; }
public string decimal_12_4_row_3_5 { get; set; }
public string decimal_12_4_file { get; set; }
//13. ผลการดำเนินโครงการนี้สอดคล้องค่านิยม (D - MOVE UP) ของมหาวิทยาลัยด้านใด
public bool? bool_13_1 { get; set; }
public bool? bool_13_2 { get; set; }
public bool? bool_13_3 { get; set; }
public bool? bool_13_4 { get; set; }
public bool? bool_13_5 { get; set; }
public bool? bool_13_6 { get; set; }
public bool? bool_13_7 { get; set; }
public string text_13_1 { get; set; }
public string text_13_2 { get; set; }
public string text_13_3 { get; set; }
public string text_13_4 { get; set; }
public string text_13_5 { get; set; }
public string text_13_6 { get; set; }
public string text_13_7 { get; set; }
public string text_13_remark { get; set; }
public string text_14 { get; set; }
//15. โครงการนี้สอดคล้องกับเป้าหมายการพัฒนาที่ยั่งยืน (Sustainable Development Goals : SDGs) ด้านใด
public string text_15 { get; set; }
//16. วิเคราะห์ความคุ้มค่าของการดำเนินงานโครงการ
public string text_16 { get; set; }
public string text_17 { get; set; }
public string text_18 { get; set; }
public string text_19 { get; set; }
public string text_20 { get; set; }
public string text_21 { get; set; }
//22. ผลที่คาดว่าจะได้รับ
public string text_22_1 { get; set; }
public string text_22_2 { get; set; }
//23. แผนการดำเนินการ
public string text_23 { get; set; }
public string text_24 { get; set; }
//25. ประสงค์จะนำเสนอโครงการนี้ในรายงานประจำปีของมหาวิทยาลัยฯ
public bool? bool_25_1 { get; set; }
public bool? bool_25_2 { get; set; }
public string text_25_1 { get; set; }
public string text_25_2 { get; set; }
public string text_25_row_1_1 { get; set; }
public string text_25_row_1_2 { get; set; }
public decimal? decimal_25_row_1_1 { get; set; }
public decimal? decimal_25_row_1_2 { get; set; }
public string text_25_row_2 { get; set; }
public decimal? decimal_25_row_2_1 { get; set; }
public decimal? decimal_25_row_2_2 { get; set; }
public string text_25_row_3 { get; set; }
public decimal? decimal_25_row_3_1 { get; set; }
public decimal? decimal_25_row_3_2 { get; set; }
public string text_25_row_4 { get; set; }
public decimal? decimal_25_row_4_1 { get; set; }
public decimal? decimal_25_row_4_2 { get; set; }
public string text_25_row_5 { get; set; }
public decimal? decimal_25_row_5_1 { get; set; }
public decimal? decimal_25_row_5_2 { get; set; }
public string text_25_row_6 { get; set; }
public decimal? decimal_25_row_6_1 { get; set; }
public decimal? decimal_25_row_6_2 { get; set; }
public string text_25_row_7 { get; set; }
public decimal? decimal_25_row_7_1 { get; set; }
public decimal? decimal_25_row_7_2 { get; set; }
public string text_25_row_8 { get; set; }
public decimal? decimal_25_row_8_1 { get; set; }
public decimal? decimal_25_row_8_2 { get; set; }
public string text_25_row_9 { get; set; }
public decimal? decimal_25_row_9_1 { get; set; }
public decimal? decimal_25_row_9_2 { get; set; }
public string text_25_row_10 { get; set; }
public decimal? decimal_25_row_10_1 { get; set; }
public decimal? decimal_25_row_10_2 { get; set; }
public string text_25_row_11 { get; set; }
public decimal? decimal_25_row_11_1 { get; set; }
public decimal? decimal_25_row_11_2 { get; set; }
public string text_25_row_12 { get; set; }
public decimal? decimal_25_row_12_1 { get; set; }
public decimal? decimal_25_row_12_2 { get; set; }
public string text_25_row_13 { get; set; }
public decimal? decimal_25_row_13_1 { get; set; }
public decimal? decimal_25_row_13_2 { get; set; }
public string text_25_row_14 { get; set; }
public decimal? decimal_25_row_14_1 { get; set; }
public decimal? decimal_25_row_14_2 { get; set; }
public string text_25_row_15 { get; set; }
public decimal? decimal_25_row_15_1 { get; set; }
public decimal? decimal_25_row_15_2 { get; set; }
public string text_25_row_16 { get; set; }
public decimal? decimal_25_row_16_1 { get; set; }
public decimal? decimal_25_row_16_2 { get; set; }
public string text_25_row_17 { get; set; }
public decimal? decimal_25_row_17_1 { get; set; }
public decimal? decimal_25_row_17_2 { get; set; }
public string text_25_row_18 { get; set; }
public decimal? decimal_25_row_18_1 { get; set; }
public decimal? decimal_25_row_18_2 { get; set; }
public string text_25_row_19 { get; set; }
public decimal? decimal_25_row_19_1 { get; set; }
public decimal? decimal_25_row_19_2 { get; set; }
public string text_25_row_20 { get; set; }
public decimal? decimal_25_row_20_1 { get; set; }
public decimal? decimal_25_row_20_2 { get; set; }
public string text_25_row_21 { get; set; }
public decimal? decimal_25_row_21_1 { get; set; }
public decimal? decimal_25_row_21_2 { get; set; }
public string text_25_row_22 { get; set; }
public decimal? decimal_25_row_22_1 { get; set; }
public decimal? decimal_25_row_22_2 { get; set; }
public string text_25_row_23 { get; set; }
public decimal? decimal_25_row_23_1 { get; set; }
public decimal? decimal_25_row_23_2 { get; set; }
public string text_25_row_24 { get; set; }
public decimal? decimal_25_row_24_1 { get; set; }
public decimal? decimal_25_row_24_2 { get; set; }
public string text_25_row_25 { get; set; }
public decimal? decimal_25_row_25_1 { get; set; }
public decimal? decimal_25_row_25_2 { get; set; }
public string text_25_row_26 { get; set; }
public decimal? decimal_25_row_26_1 { get; set; }
public decimal? decimal_25_row_26_2 { get; set; }
public string text_25_row_27 { get; set; }
public decimal? decimal_25_row_27_1 { get; set; }
public decimal? decimal_25_row_27_2 { get; set; }
public string text_25_row_28 { get; set; }
public decimal? decimal_25_row_28_1 { get; set; }
public decimal? decimal_25_row_28_2 { get; set; }
public string text_25_row_29 { get; set; }
public decimal? decimal_25_row_29_1 { get; set; }
public decimal? decimal_25_row_29_2 { get; set; }
public string text_25_row_30 { get; set; }
public decimal? decimal_25_row_30_1 { get; set; }
public decimal? decimal_25_row_30_2 { get; set; }
public string text_25_row_31 { get; set; }
public decimal? decimal_25_row_31_1 { get; set; }
public decimal? decimal_25_row_31_2 { get; set; }
public string text_25_row_32 { get; set; }
public decimal? decimal_25_row_32_1 { get; set; }
public decimal? decimal_25_row_32_2 { get; set; }
public string text_25_row_33 { get; set; }
public decimal? decimal_25_row_33_1 { get; set; }
public decimal? decimal_25_row_33_2 { get; set; }
public string text_25_row_34 { get; set; }
public decimal? decimal_25_row_34_1 { get; set; }
public decimal? decimal_25_row_34_2 { get; set; }
public string text_25_row_35 { get; set; }
public decimal? decimal_25_row_35_1 { get; set; }
public decimal? decimal_25_row_35_2 { get; set; }
public string text_25_row_36 { get; set; }
public decimal? decimal_25_row_36_1 { get; set; }
public decimal? decimal_25_row_36_2 { get; set; }
public string text_25_row_37 { get; set; }
public decimal? decimal_25_row_37_1 { get; set; }
public decimal? decimal_25_row_37_2 { get; set; }
public string text_25_row_38 { get; set; }
public decimal? decimal_25_row_38_1 { get; set; }
public decimal? decimal_25_row_38_2 { get; set; }
public string text_25_row_39 { get; set; }
public decimal? decimal_25_row_39_1 { get; set; }
public decimal? decimal_25_row_39_2 { get; set; }
public string text_25_row_40 { get; set; }
public decimal? decimal_25_row_40_1 { get; set; }
public decimal? decimal_25_row_40_2 { get; set; }
public string text_25_row_41 { get; set; }
public decimal? decimal_25_row_41_1 { get; set; }
public decimal? decimal_25_row_41_2 { get; set; }
public string text_25_row_42 { get; set; }
public decimal? decimal_25_row_42_1 { get; set; }
public decimal? decimal_25_row_42_2 { get; set; }
public decimal? decimal_25_total_1 { get; set; }
public decimal? decimal_25_total_2 { get; set; }
//26. แบบฟอร์มรายงานผลการดำเนินการโครงการ
public string text_26_1 { get; set; }
public string text_26_2 { get; set; }
public string text_26_3 { get; set; }
public string text_26_4_row_1_1 { get; set; }
public string text_26_4_row_1_2 { get; set; }
public string text_26_4_row_1_3 { get; set; }
public string text_26_4_row_2_1 { get; set; }
public string text_26_4_row_2_2 { get; set; }
public string text_26_4_row_2_3 { get; set; }
public string text_26_4_row_3_1 { get; set; }
public string text_26_4_row_3_2 { get; set; }
public string text_26_4_row_3_3 { get; set; }
public bool? is_sent { get; set; }
public List<agency_report_detail> agency_report_details { get; set; }
}
public class agency_report_detail
{
//8. ประเด็นยุทธศาสตร์ของมหาวิทยาลัย
//14.1 ตัวชี้วัดผลสัมฤทธิ์
//14.2 ตัวชี้วัดเชิงนโยบาย
//25 แนบไฟล์
[Key] public Guid? agency_report_detail_uid { get; set; }
public Guid? agency_report_uid { get; set; }
public decimal? type { get; set; }
public string text_1 { get; set; }
public string text_2 { get; set; }
public string file_url { get; set; }
public string file_name { get; set; }
public decimal? row { get; set; }
}

View File

@@ -9,12 +9,16 @@ namespace rmutr_report.Models
public string parent_agency_name { get; set; } //หน่วยงาน
public string agency_name_th { get; set; } //พื้นที่
public decimal? total { get; set; }
public string academic_year_1 { get; set; }
public string academic_year_2 { get; set; }
public List<budget_expenditure_report_from_revenue_v2_detail> details { get; set; }
}
public class budget_expenditure_report_from_revenue_v2_detail
{
public int? topic_type { get; set; }
public bool? is_other { get; set; }
public int? row { get; set; }
public int? row_no1 { get; set; }
public int? row_no2 { get; set; }
public int? row_no3 { get; set; }
@@ -23,6 +27,8 @@ namespace rmutr_report.Models
public int? row_no6 { get; set; }
public int? row_no7 { get; set; }
public int? row_no8 { get; set; }
public int? row_no9 { get; set; }
public int? row_no10 { get; set; }
public string topic { get; set; }
public string qualification { get; set; }
public string unit { get; set; }
@@ -47,6 +53,7 @@ namespace rmutr_report.Models
public string topic15 { get; set; }
public string topic16 { get; set; }
public string topic17 { get; set; }
public string topic18 { get; set; }
public decimal? amount1 { get; set; }
public decimal? amount2 { get; set; }
public decimal? amount3 { get; set; }
@@ -66,6 +73,7 @@ namespace rmutr_report.Models
public decimal? amount17 { get; set; }
public decimal? amount18 { get; set; }
public decimal? amount19 { get; set; }
public decimal? amount20 { get; set; }
public string text1 { get; set; }
public string text2 { get; set; }
public string text3 { get; set; }
@@ -90,6 +98,7 @@ namespace rmutr_report.Models
public string text22 { get; set; }
public string text23 { get; set; }
public string text24 { get; set; }
//public string line { get; set; }
public string text25 { get; set; }
public string text26 { get; set; }
}
}

View File

@@ -44,8 +44,8 @@ namespace rmutr_report.Models
public List<specification_datas> specification_data { get; set; }
public string specification { get; set; }
public string quantity_specification { get; set; }
public decimal? unit_price_specification { get; set; }
public decimal? amount_specification { get; set; }
public string unit_price_specification { get; set; }
public string amount_specification { get; set; }
public List<budget_spending_plans> budget_spending_plan {get; set; }
public string procurement_process { get; set; }
public string incurring_debt { get; set; }

View File

@@ -0,0 +1,57 @@
using System.Collections.Generic;
namespace rmutr_report.Models
{
public class estimate_income_expenses
{
public string budget_year { get; set; }
public string date_range { get; set; }
public string faculty { get; set; }
public string branch_name { get; set; }
public List<estimate_income_expenses_detail> data_1 { get; set; }
}
public class estimate_income_expenses_detail
{
public string list { get; set; }
public decimal? amount_1 { get; set; }
public decimal? amount_2 { get; set; }
public decimal? amount_3 { get; set; }
public decimal? amount_4 { get; set; }
public decimal? amount_5 { get; set; }
public decimal? amount_6 { get; set; }
public decimal? amount_7 { get; set; }
public decimal? amount_8 { get; set; }
public decimal? total_amount { get; set; }
public List<estimate_income_expenses_detail2> data_2 { get; set; }
}
public class estimate_income_expenses_detail2
{
public int? row { get; set; }
public string type { get; set; }
public string list { get; set; }
public decimal? amount_1 { get; set; }
public decimal? amount_2 { get; set; }
public decimal? amount_3 { get; set; }
public decimal? amount_4 { get; set; }
public decimal? amount_5 { get; set; }
public decimal? amount_6 { get; set; }
public decimal? amount_7 { get; set; }
public decimal? amount_8 { get; set; }
public decimal? total_amount { get; set; }
//public List<estimate_income_expenses_detail3> data_3 { get; set; }
}
// public class estimate_income_expenses_detail3
// {
// public string list { get; set; }
// public decimal? amount_1 { get; set; }
// public decimal? amount_2 { get; set; }
// public decimal? amount_3 { get; set; }
// public decimal? amount_4 { get; set; }
// public decimal? amount_5 { get; set; }
// public decimal? amount_6 { get; set; }
// public decimal? amount_7 { get; set; }
// public decimal? amount_8 { get; set; }
// public decimal? total_amount { get; set; }
// }
}

View File

@@ -0,0 +1,334 @@
using System;
using System.Collections.Generic;
public class manage_plan_budget
{
public string budget_year { get; set; }
public decimal? total_all_1 { get; set; }
public decimal? total_all_2 { get; set; }
public decimal? total_all_3 { get; set; }
public decimal? quarter_all_1_1 { get; set; }
public decimal? quarter_all_1_2 { get; set; }
public decimal? quarter_all_1_3 { get; set; }
public decimal? quarter_all_2_1 { get; set; }
public decimal? quarter_all_2_2 { get; set; }
public decimal? quarter_all_2_3 { get; set; }
public decimal? quarter_all_3_1 { get; set; }
public decimal? quarter_all_3_2 { get; set; }
public decimal? quarter_all_3_3 { get; set; }
public decimal? quarter_all_4_1 { get; set; }
public decimal? quarter_all_4_2 { get; set; }
public decimal? quarter_all_4_3 { get; set; }
public List<overall_indicators_detail> OverallIndicatorsDetails { get; set; }
public List<output_project_list> OutputProjectLists { get; set; }
}
public class overall_indicators_detail
{
public string indicators_name { get; set; }
public int? type { get; set; }
public string budget_unit_name { get; set; }
public decimal? total_1 { get; set; }
public decimal? total_2 { get; set; }
public decimal? total_3 { get; set; }
public decimal? quarter_1_1 { get; set; }
public decimal? quarter_1_2 { get; set; }
public decimal? quarter_1_3 { get; set; }
public decimal? quarter_2_1 { get; set; }
public decimal? quarter_2_2 { get; set; }
public decimal? quarter_2_3 { get; set; }
public decimal? quarter_3_1 { get; set; }
public decimal? quarter_3_2 { get; set; }
public decimal? quarter_3_3 { get; set; }
public decimal? quarter_4_1 { get; set; }
public decimal? quarter_4_2 { get; set; }
public decimal? quarter_4_3 { get; set; }
}
public class output_project_list
{
public List<strategy_detail> StrategyDetails { get; set; }
public List<allocation_strategy_detail> AllocationStrategyDetails { get; set; }
public List<output_project_detail> OutputProjectDetails { get; set; }
public List<indicators_list> Indicators_list { get; set; }//ตัวชี้วัด
public List<indicator_plan> IndicatorPlans { get; set; } //1.แผนการปฎิบัติงาน 1.1 ตัวชี้วัด
public List<budget_activitie> BudgetActivities { get; set; } //1.2. กิจกรรมหลัก
public List<budget_spending_plan> BudgetSpendingPlans { get; set; } //2.แผนการใช้จ่ายงบประมาณ
//public List<sub_budget_spending_plan> SubBudgetSpending { get; set; } //2.1 งบประมาณ
}
public class strategy_detail
{
public string strategy_name { get; set; }
public int? type { get; set; }
public int? order { get; set; }
public string budget_unit_name { get; set; }
public decimal? total_1 { get; set; }
public decimal? total_2 { get; set; }
public decimal? total_3 { get; set; }
public decimal? quarter_1_1 { get; set; }
public decimal? quarter_1_2 { get; set; }
public decimal? quarter_1_3 { get; set; }
public decimal? quarter_2_1 { get; set; }
public decimal? quarter_2_2 { get; set; }
public decimal? quarter_2_3 { get; set; }
public decimal? quarter_3_1 { get; set; }
public decimal? quarter_3_2 { get; set; }
public decimal? quarter_3_3 { get; set; }
public decimal? quarter_4_1 { get; set; }
public decimal? quarter_4_2 { get; set; }
public decimal? quarter_4_3 { get; set; }
}
public class allocation_strategy_detail
{
public string allocation_strategy_name { get; set; }
public int? type { get; set; }
public int? order { get; set; }
public string budget_unit_name { get; set; }
public decimal? total_1 { get; set; }
public decimal? total_2 { get; set; }
public decimal? total_3 { get; set; }
public decimal? quarter_1_1 { get; set; }
public decimal? quarter_1_2 { get; set; }
public decimal? quarter_1_3 { get; set; }
public decimal? quarter_2_1 { get; set; }
public decimal? quarter_2_2 { get; set; }
public decimal? quarter_2_3 { get; set; }
public decimal? quarter_3_1 { get; set; }
public decimal? quarter_3_2 { get; set; }
public decimal? quarter_3_3 { get; set; }
public decimal? quarter_4_1 { get; set; }
public decimal? quarter_4_2 { get; set; }
public decimal? quarter_4_3 { get; set; }
}
public class output_project_detail
{
public string output_project_name { get; set; }
public string budget_unit_name { get; set; }
public int? order { get; set; }
public decimal? total_1 { get; set; }
public decimal? total_2 { get; set; }
public decimal? total_3 { get; set; }
public decimal? quarter_1_1 { get; set; }
public decimal? quarter_1_2 { get; set; }
public decimal? quarter_1_3 { get; set; }
public decimal? quarter_2_1 { get; set; }
public decimal? quarter_2_2 { get; set; }
public decimal? quarter_2_3 { get; set; }
public decimal? quarter_3_1 { get; set; }
public decimal? quarter_3_2 { get; set; }
public decimal? quarter_3_3 { get; set; }
public decimal? quarter_4_1 { get; set; }
public decimal? quarter_4_2 { get; set; }
public decimal? quarter_4_3 { get; set; }
}
public class indicators_list
{
public string indicators_list_name { get; set; }
public int? indicators_type { get; set; } //1. ตัวชี้วัดเชิงคุณภาพ 2. ตัวชี้วัดเชิงปริมาณ 3. ตัวชี้วัดเชิงเวลา
public int? order { get; set; }
public string budget_unit_name { get; set; }
public decimal? total_1 { get; set; }
public decimal? total_2 { get; set; }
public decimal? total_3 { get; set; }
public decimal? quarter_1_1 { get; set; }
public decimal? quarter_1_2 { get; set; }
public decimal? quarter_1_3 { get; set; }
public decimal? quarter_2_1 { get; set; }
public decimal? quarter_2_2 { get; set; }
public decimal? quarter_2_3 { get; set; }
public decimal? quarter_3_1 { get; set; }
public decimal? quarter_3_2 { get; set; }
public decimal? quarter_3_3 { get; set; }
public decimal? quarter_4_1 { get; set; }
public decimal? quarter_4_2 { get; set; }
public decimal? quarter_4_3 { get; set; }
}
public class indicator_plan
{
public string indicator_plan_name { get; set; }
public int? indicators_type { get; set; } //1. ตัวชี้วัดเชิงคุณภาพ 2. ตัวชี้วัดเชิงปริมาณ 3. ตัวชี้วัดเชิงเวลา
public int? order { get; set; }
public string budget_unit_name { get; set; }
public decimal? total_1 { get; set; }
public decimal? total_2 { get; set; }
public decimal? total_3 { get; set; }
public decimal? quarter_1_1 { get; set; }
public decimal? quarter_1_2 { get; set; }
public decimal? quarter_1_3 { get; set; }
public decimal? quarter_2_1 { get; set; }
public decimal? quarter_2_2 { get; set; }
public decimal? quarter_2_3 { get; set; }
public decimal? quarter_3_1 { get; set; }
public decimal? quarter_3_2 { get; set; }
public decimal? quarter_3_3 { get; set; }
public decimal? quarter_4_1 { get; set; }
public decimal? quarter_4_2 { get; set; }
public decimal? quarter_4_3 { get; set; }
}
public class budget_activitie
{
public string budget_activitie_name { get; set; }
public string budget_unit_name { get; set; }
public int? order { get; set; }
public decimal? total_1 { get; set; }
public decimal? total_2 { get; set; }
public decimal? total_3 { get; set; }
public decimal? quarter_1_1 { get; set; }
public decimal? quarter_1_2 { get; set; }
public decimal? quarter_1_3 { get; set; }
public decimal? quarter_2_1 { get; set; }
public decimal? quarter_2_2 { get; set; }
public decimal? quarter_2_3 { get; set; }
public decimal? quarter_3_1 { get; set; }
public decimal? quarter_3_2 { get; set; }
public decimal? quarter_3_3 { get; set; }
public decimal? quarter_4_1 { get; set; }
public decimal? quarter_4_2 { get; set; }
public decimal? quarter_4_3 { get; set; }
}
public class budget_spending_plan
{
public string budget_spending_plan_name { get; set; }
public string budget_unit_name { get; set; }
public int? order { get; set; }
public decimal? total_1 { get; set; }
public decimal? total_2 { get; set; }
public decimal? total_3 { get; set; }
public decimal? quarter_1_1 { get; set; }
public decimal? quarter_1_2 { get; set; }
public decimal? quarter_1_3 { get; set; }
public decimal? quarter_2_1 { get; set; }
public decimal? quarter_2_2 { get; set; }
public decimal? quarter_2_3 { get; set; }
public decimal? quarter_3_1 { get; set; }
public decimal? quarter_3_2 { get; set; }
public decimal? quarter_3_3 { get; set; }
public decimal? quarter_4_1 { get; set; }
public decimal? quarter_4_2 { get; set; }
public decimal? quarter_4_3 { get; set; }
public List<sub_budget_spending_plan> SubBudgetSpending { get; set; }
}
public class sub_budget_spending_plan
{
public string sub_budget_spending_plan_name { get; set; }
public string budget_unit_name { get; set; }
public int? order { get; set; }
public decimal? total_1 { get; set; }
public decimal? total_2 { get; set; }
public decimal? total_3 { get; set; }
public decimal? quarter_1_1 { get; set; }
public decimal? quarter_1_2 { get; set; }
public decimal? quarter_1_3 { get; set; }
public decimal? quarter_2_1 { get; set; }
public decimal? quarter_2_2 { get; set; }
public decimal? quarter_2_3 { get; set; }
public decimal? quarter_3_1 { get; set; }
public decimal? quarter_3_2 { get; set; }
public decimal? quarter_3_3 { get; set; }
public decimal? quarter_4_1 { get; set; }
public decimal? quarter_4_2 { get; set; }
public decimal? quarter_4_3 { get; set; }
}

View File

@@ -10,6 +10,8 @@ namespace rmutr_report.Models
// public string agency { get; set; }
// public string area { get; set; }
public string text { get; set; }
public string faculty_name_th { get; set; }
public string budget_location_name_th { get; set; }
public string request_year { get; set; }
public decimal? total_amount { get; set; }
public List<operating_expenses_detail> data { get; set; }

View File

@@ -18,6 +18,6 @@ namespace rmutr_report.Models
public string type_vehicle_transport { get; set; }
public decimal? quantity { get; set; }
public decimal? repair_rate { get; set; }
//public decimal? amount { get; set; }
public decimal? amount { get; set; }
}
}

View File

@@ -0,0 +1,89 @@
using System.Collections.Generic;
namespace rmutr_report.Models.RoThree
{
public class request_summary
{
public string budget_year { get; set; }
public string short_budget_year { get; set; }
public List<budget_plan> plans { get; set; }
public List<request_summary_detail> data_1 { get; set; }
}
public class request_summary_detail
{
public string rowno { get; set; }
public string list { get; set; }
public List<budget_plan> plans { get; set; }
public List<request_summary_detail2> data_2 { get; set; }
}
public class request_summary_detail2
{
public string rowno { get; set; }
public string list { get; set; }
public List<budget_plan> plans { get; set; }
public bool? is_bold { get; set; } // 1 true 2 null 3 null , //true
public string color { get; set; } //1 ฟ้า 2 ส้ม 3 เหลือง ,
public List<request_summary_detail3> data_3 { get; set; }
}
public class request_summary_detail3
{
public string rowno { get; set; }
public string list { get; set; }
public List<budget_plan> plans { get; set; }
public bool? is_bold { get; set; } // true
}
public class budget_plan
{
public string budget_plan_name { get; set; }
public decimal? value { get; set; }
}
// public class request_summary_detail2
// {
// public string rowno { get; set; }
// public string list { get; set; }
// public decimal? amount_1 { get; set; }
// public decimal? amount_2 { get; set; }
// public decimal? amount_3{ get; set; }
// public decimal? amount_4 { get; set; }
// public decimal? amount_5 { get; set; }
// public decimal? amount_6 { get; set; }
// public decimal? amount_7 { get; set; }
// public decimal? amount_8 { get; set; }
// public decimal? amount_9 { get; set; }
// public decimal? amount_10 { get; set; }
// public decimal? amount_11 { get; set; }
// public decimal? amount_12 { get; set; }
// public decimal? amount_13 { get; set; }
// public decimal? amount_14 { get; set; }
// public bool? is_bold { get; set; }
// public string color { get; set; }
// public List<request_summary_detail3> data_3 { get; set; }
// }
//
// public class request_summary_detail3
// {
// public string rowno { get; set; }
// public string list { get; set; }
// public decimal? amount_1 { get; set; }
// public decimal? amount_2 { get; set; }
// public decimal? amount_3{ get; set; }
// public decimal? amount_4 { get; set; }
// public decimal? amount_5 { get; set; }
// public decimal? amount_6 { get; set; }
// public decimal? amount_7 { get; set; }
// public decimal? amount_8 { get; set; }
// public decimal? amount_9 { get; set; }
// public decimal? amount_10 { get; set; }
// public decimal? amount_11 { get; set; }
// public decimal? amount_12 { get; set; }
// public decimal? amount_13 { get; set; }
// public decimal? amount_14 { get; set; }
// public bool? is_bold { get; set; }
// }
}

View File

@@ -3,36 +3,67 @@ using System.Collections.Generic;
namespace rmutr_report.Models
{
public class summary_budget_expense
{
public string budget_year { get; set; }
public string agency_name_th { get; set; }
public string budget_plan_name_th { get; set; }
public string parent_agency_name { get; set; }
public List<summary_budget_expense_detail> data { get; set; }
public decimal? total_equipment { get; set; }
public decimal? total_land_building { get; set; }
public decimal? total_subsidy { get; set; }
public decimal? total_compensation { get; set; }
public decimal? total_living_expenses { get; set; }
public decimal? total_material { get; set; }
public decimal? total_utilities { get; set; }
public decimal? total_other_expenses { get; set; }
public decimal? total_other_budget_expenses { get; set; }
public decimal? total_all { get; set; }
}
{
public string budget_year { get; set; }
public string agency_name_th { get; set; }
public string budget_plan_name_th { get; set; }
public string parent_agency_name { get; set; }
public List<summary_budget_expense_detail> data { get; set; }
public decimal? total_equipment { get; set; }
public decimal? total_land_building { get; set; }
public decimal? total_subsidy { get; set; }
public decimal? total_compensation { get; set; }
public decimal? total_living_expenses { get; set; }
public decimal? total_material { get; set; }
public decimal? total_utilities { get; set; }
public decimal? total_other_expenses { get; set; }
public decimal? total_other_budget_expenses { get; set; }
public decimal? total_all { get; set; }
}
public class summary_budget_expense_detail
{
public string budget_project_name_th { get; set; }
public decimal? equipment { get; set; }
public decimal? land_building { get; set; }
public decimal? subsidy { get; set; }
public decimal? compensation { get; set; }
public decimal? living_expenses { get; set; }
public decimal? material { get; set; }
public decimal? utilities { get; set; }
public decimal? other_expenses { get; set; }
public decimal? other_budget_expenses { get; set; }
public decimal? total { get; set; }
}
public class summary_budget_expense_detail
{
public string budget_project_name_th { get; set; }
public decimal? equipment { get; set; }
public decimal? land_building { get; set; }
public decimal? subsidy { get; set; }
public decimal? compensation { get; set; }
public decimal? living_expenses { get; set; }
public decimal? material { get; set; }
public decimal? utilities { get; set; }
public decimal? other_expenses { get; set; }
public decimal? other_budget_expenses { get; set; }
public decimal? total { get; set; }
}
public class summary_budget_expense_report
{
public string budget_year { get; set; }
public string agency_name_th { get; set; }
public string budget_plan_name_th { get; set; }
public string parent_agency_name { get; set; }
public string budget_project_name { get; set; }
public List<summary_budget_expense_report_detail> data { get; set; }
public decimal? total_equipment { get; set; }
public decimal? total_land_building { get; set; }
public decimal? total_subsidy_university_staff { get; set; }
public decimal? total_subsidy { get; set; }
public decimal? total_operating_expenses { get; set; }
public decimal? total_other_expenses { get; set; }
public decimal? total_other_budget_expenses { get; set; }
public decimal? total_all { get; set; }
}
public class summary_budget_expense_report_detail
{
public string budget_project_name_th { get; set; }
public decimal? equipment { get; set; }
public decimal? land_building { get; set; }
public decimal? subsidy_university_staff { get; set; }
public decimal? subsidy { get; set; }
public decimal? operating_expenses { get; set; }
public decimal? other_expenses { get; set; }
public decimal? other_budget_expenses { get; set; }
public decimal? total { get; set; }
}
}

View File

@@ -0,0 +1,125 @@
using System;
using System.Collections.Generic;
public class summary_invest : summary_invest_initial
{
public List<summary_invest_year> years { get; set; }
}
public class summary_invest_year : summary_invest_initial
{
public Guid? budget_year_uid { get; set; }
public string budget_year_name_th { get; set; }
public List<summary_invest_plan> plans { get; set; }
}
public class summary_invest_plan : summary_invest_initial
{
public Guid? budget_plan_uid { get; set; }
public string budget_plan_name_th { get; set; }
public List<summary_invest_project> projects { get; set; }
}
public class summary_invest_project : summary_invest_initial
{
public Guid? budget_project_uid { get; set; }
public string budget_project_name_th { get; set; }
public List<summary_invest_faculty> facultys { get; set; }
}
public class summary_invest_faculty : summary_invest_initial
{
public Guid? faculty_uid { get; set; }
public string faculty_name_th { get; set; }
public List<summary_invest_list> asset_lists { get; set; }
public List<summary_invest_list> construct_lists { get; set; }
}
public class summary_invest_list : summary_invest_initial
{
public Guid? invest_asset_approve_uid { get; set; }
public Guid? invest_construct_approve_uid { get; set; }
public Guid? key_uid { get; set; }
public Guid? key_request_uid { get; set; }
public string list_name { get; set; }
public string unit_name { get; set; }
public string seller { get; set; }
public string file { get; set; }
public int? row_order { get; set; }
public int? step_order { get; set; }
public int? amount { get; set; }
public bool? is_from_reject { get; set; }
public bool? is_edit { get; set; }
public bool? is_approve { get; set; }
public string approve_name { get; set; }
public string petitioner_full_name { get; set; }
public string phone_number { get; set; }
}
public class summary_invest_search
{
public Guid? budget_year_uid { get; set; }
public Guid? budget_project_uid { get; set; }
public Guid? budget_plan_uid { get; set; }
public Guid? faculty_uid { get; set; }
public string list_name { get; set; }
public string petitioner_full_name { get; set; }
public bool? is_asset { get; set; }
public bool? is_construct { get; set; }
public bool? is_approve { get; set; }
}
public class summary_invest_data_initial : summary_invest_search
{
public int? budget_year_number { get; set; }
public string budget_year_name_th { get; set; }
public string budget_project_name_th { get; set; }
public string budget_plan_name_th { get; set; }
public string faculty_name_th { get; set; }
}
public class summary_invest_initial
{
public decimal? unit_price { get; set; }
public decimal? total { get; set; }
public decimal? total_budget { get; set; }
public decimal? asset_unit_price { get; set; }
public decimal? asset_total_budget { get; set; }
public decimal? construct_unit_price { get; set; }
public decimal? construct_total_budget { get; set; }
}
public class summary_invest_v2 : summary_invest_initial
{
public List<summary_invest_year_v2> years { get; set; }
}
public class summary_invest_year_v2 : summary_invest_initial
{
public Guid? budget_year_uid { get; set; }
public string budget_year_name_th { get; set; }
public List<summary_invest_plan_v2> plans { get; set; }
}
public class summary_invest_plan_v2 : summary_invest_initial
{
public Guid? budget_plan_uid { get; set; }
public string budget_plan_name_th { get; set; }
public List<summary_invest_list_v2> asset_lists { get; set; }
public List<summary_invest_list_v2> construct_lists { get; set; }
}
public class summary_invest_list_v2 : summary_invest_initial
{
public Guid? budget_project_uid { get; set; }
public Guid? faculty_uid { get; set; }
public string budget_project_name_th { get; set; }
public string faculty_name_th { get; set; }
public Guid? invest_asset_approve_uid { get; set; }
public Guid? invest_construct_approve_uid { get; set; }
public Guid? key_uid { get; set; }
public Guid? key_request_uid { get; set; }
public string list_name { get; set; }
public string unit_name { get; set; }
public string seller { get; set; }
public string seller2 { get; set; }
public string file { get; set; }
public string file2 { get; set; }
public int? row_order { get; set; }
public int? step_order { get; set; }
public int? amount { get; set; }
public bool? is_from_reject { get; set; }
public bool? is_edit { get; set; }
public bool? is_approve { get; set; }
public string approve_name { get; set; }
public string petitioner_full_name { get; set; }
public string phone_number { get; set; }
}

View File

@@ -1,26 +1,73 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using System.Net;
using System.Reflection;
using Microsoft.AspNetCore.HttpOverrides;
using Microsoft.OpenApi.Models;
using rmutr_report.Models;
using IPNetwork = Microsoft.AspNetCore.HttpOverrides.IPNetwork;
namespace rmutr_report
var builder = WebApplication.CreateBuilder(args);
var configuration = builder.Configuration;
var setting = new Setting
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
report_path = configuration["Settings:ReportPath"]
};
builder.Services.AddSingleton(setting);
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
}
builder.Services.AddControllers();
builder.Services.AddCors(options =>
{
options.AddPolicy("AllowAllOrigins", policy =>
{
policy.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod();
});
});
builder.Services.AddSwaggerGen(c =>
{
c.SwaggerDoc("reports", new OpenApiInfo { Title = "Reports API", Version = "v1" });
c.SwaggerDoc("graph", new OpenApiInfo { Title = "Graph API", Version = "v1" });
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath);
c.EnableAnnotations();
});
var app = builder.Build();
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto,
KnownNetworks = { new IPNetwork(IPAddress.Any, 0) }
});
app.UseSwagger(c =>
{
c.RouteTemplate = "swagger/{documentName}/swagger.json";
c.PreSerializeFilters.Add((swaggerDoc, httpReq) =>
{
if (!httpReq.Headers.ContainsKey("X-Forwarded-Host")) return;
var serverUrl = $"{httpReq.Headers["X-Scheme"]}://" +
$"{httpReq.Headers["X-Forwarded-Host"]}" +
$"{httpReq.Headers["X-Forwarded-Prefix"]}";
swaggerDoc.Servers = new List<OpenApiServer> { new OpenApiServer { Url = serverUrl } };
});
});
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("reports/swagger.json", "Reports API v1");
c.SwaggerEndpoint("graph/swagger.json", "Graph API v1");
c.DefaultModelExpandDepth(0);
c.DefaultModelsExpandDepth(-1);
});
app.UseRouting();
app.UseAuthorization();
app.UseCors("AllowAllOrigins");
app.MapControllers();
app.Run();

View File

@@ -1,108 +0,0 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Reflection;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpOverrides;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.OpenApi.Models;
using rmutr_report.Models;
namespace rmutr_report
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
var _setting = new Setting()
{
report_path = Configuration["Settings:ReportPath"]
};
services.AddSingleton(_setting);
services.AddControllers();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("reports", new OpenApiInfo {Title = "Reports API", Version = "v1"});
c.SwaggerDoc("graph", new OpenApiInfo {Title = "Graph API", Version = "v1"});
var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
c.IncludeXmlComments(xmlPath);
c.EnableAnnotations();
// c.MapType(typeof(TimeSpan?), () => new OpenApiSchema
// {
// Type = "string",
// Example = new OpenApiString("09:30:00")
// });
});
services.AddCors(options =>
{
options.AddPolicy(name: "AllowAllOrigins",
builder =>
{
builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod();
});
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto,
KnownNetworks =
{
new IPNetwork(IPAddress.Any, 0)
}
});
app.UseSwagger(c => {
c.RouteTemplate = "swagger/{documentName}/swagger.json";
c.PreSerializeFilters.Add((swaggerDoc, httpReq) =>
{
if (!httpReq.Headers.ContainsKey("X-Forwarded-Host")) return;
var serverUrl = $"{httpReq.Headers["X-Scheme"]}://" +
$"{httpReq.Headers["X-Forwarded-Host"]}" +
$"{httpReq.Headers["X-Forwarded-Prefix"]}";
swaggerDoc.Servers = new List<OpenApiServer> { new OpenApiServer { Url =serverUrl}};// $"{httpReq.Scheme}://{httpReq.Host.Value}{swaggerBasePath}" } };
});
});
//Swagger interface
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("reports/swagger.json", "Reports API v1");
c.SwaggerEndpoint("graph/swagger.json", "Graph API v1");
c.DefaultModelExpandDepth(0);
c.DefaultModelsExpandDepth(-1);
});
app.UseRouting();
app.UseAuthorization();
app.UseCors("AllowAllOrigins");
app.UseEndpoints(endpoints => { endpoints.MapControllers(); });
}
}
}

Binary file not shown.

Binary file not shown.

BIN
bin/Debug/net5.0/EPPlus.dll Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@@ -2,7 +2,8 @@
"runtimeOptions": {
"additionalProbingPaths": [
"C:\\Users\\USER\\.dotnet\\store\\|arch|\\|tfm|",
"C:\\Users\\USER\\.nuget\\packages"
"C:\\Users\\USER\\.nuget\\packages",
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
]
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,9 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}
}

View File

@@ -0,0 +1,14 @@
{
"Settings":{
"ReportPath":"wwwroot/reports/"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
}

View File

@@ -0,0 +1,541 @@
Times New Roman-B-I C:\WINDOWS\Fonts\timesbi.ttf
Showcard Gothic C:\WINDOWS\Fonts\SHOWG.TTF
DilleniaUPC-B C:\WINDOWS\Fonts\upcdb.ttf
Sitka Text-I C:\WINDOWS\Fonts\SitkaVF-Italic.ttf
Segoe UI Emoji C:\WINDOWS\Fonts\seguiemj.ttf
Cordia New-B-I C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\cordiaz.ttf
Trebuchet MS-B-I C:\WINDOWS\Fonts\trebucbi.ttf
Rockwell-B-I C:\WINDOWS\Fonts\ROCKBI.TTF
Bodoni MT Black-I C:\WINDOWS\Fonts\BOD_BLAI.TTF
Bookman Old Style C:\WINDOWS\Fonts\BOOKOS.TTF
HY궁서B C:\WINDOWS\Fonts\H2GSRB.TTF
휴먼모음T C:\WINDOWS\Fonts\HMFMMUEX.TTC
游ゴシック-B C:\WINDOWS\Fonts\YuGothB.ttc
Lucida Sans Unicode C:\WINDOWS\Fonts\l_10646.ttf
Microsoft YaHei C:\WINDOWS\Fonts\msyh.ttc
Segoe Script C:\WINDOWS\Fonts\segoesc.ttf
YouYuan C:\WINDOWS\Fonts\SIMYOU.TTF
Eras Bold ITC C:\WINDOWS\Fonts\ERASBD.TTF
Gill Sans Ultra Bold Condensed C:\WINDOWS\Fonts\GILLUBCD.TTF
TH Niramit AS Italic C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\TH NiramitIT๙ Italic.ttf
Verdana-I C:\WINDOWS\Fonts\verdanai.ttf
細明體_MSCS-ExtB C:\WINDOWS\Fonts\mingliub.ttc
Yu Gothic-B C:\WINDOWS\Fonts\YuGothB.ttc
MT Extra C:\WINDOWS\Fonts\MTEXTRA.TTF
TH Sarabun New-I C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunNew Italic.ttf
Segoe UI Symbol C:\WINDOWS\Fonts\seguisym.ttf
Franklin Gothic Medium-I C:\WINDOWS\Fonts\framdit.ttf
Dubai Medium C:\WINDOWS\Fonts\DUBAI-MEDIUM.TTF
KodchiangUPC-B0 C:\WINDOWS\Fonts\upckbi.ttf
Segoe UI Semibold C:\WINDOWS\Fonts\seguisb.ttf
맑은 고딕 Semilight C:\WINDOWS\Fonts\malgunsl.ttf
Mongolian Baiti C:\WINDOWS\Fonts\monbaiti.ttf
TH SarabunPSK C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunIT๙ Italic.ttf
DilleniaUPC0 C:\WINDOWS\Fonts\upcdl.ttf
Segoe UI Black C:\WINDOWS\Fonts\seguibl.ttf
Lucida Sans-B-I C:\WINDOWS\Fonts\LSANSDI.TTF
Candara-B C:\WINDOWS\Fonts\Candarab.ttf
Garamond-I C:\WINDOWS\Fonts\GARAIT.TTF
Perpetua Titling MT C:\WINDOWS\Fonts\PERTILI.TTF
Franklin Gothic Medium C:\WINDOWS\Fonts\framd.ttf
Perpetua-B C:\WINDOWS\Fonts\PERB____.TTF
Consolas-I C:\WINDOWS\Fonts\consolai.ttf
Calibri Light C:\WINDOWS\Fonts\calibril.ttf
Eras Medium ITC C:\WINDOWS\Fonts\ERASMD.TTF
Lucida Console C:\WINDOWS\Fonts\lucon.ttf
Vladimir Script C:\WINDOWS\Fonts\VLADIMIR.TTF
SimSun-ExtG C:\WINDOWS\Fonts\SimsunExtG.ttf
SimSun C:\WINDOWS\Fonts\simsun.ttc
HYGothic-Extra C:\WINDOWS\Fonts\H2GTRE.TTF
Trebuchet MS C:\WINDOWS\Fonts\trebuc.ttf
Verdana-B-I C:\WINDOWS\Fonts\verdanaz.ttf
TH Niramit AS-B C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\TH Niramit AS-IT๙ Bold Italic.ttf
Corbel-B C:\WINDOWS\Fonts\corbelb.ttf
HY중고딕 C:\WINDOWS\Fonts\H2GTRM.TTF
Forte-I C:\WINDOWS\Fonts\FORTE.TTF
Bodoni MT Black Italic-I C:\WINDOWS\Fonts\BOD_BLAI.TTF
Dubai-B C:\WINDOWS\Fonts\DUBAI-BOLD.TTF
Bodoni MT Condensed-B-I C:\WINDOWS\Fonts\BOD_CBI.TTF
Palatino Linotype C:\WINDOWS\Fonts\pala.ttf
Stencil C:\WINDOWS\Fonts\STENCIL.TTF
Century Schoolbook C:\WINDOWS\Fonts\CENSCBK.TTF
Century C:\WINDOWS\Fonts\CENTURY.TTF
HY견명조 C:\WINDOWS\Fonts\H2MJRE.TTF
华文行楷 C:\WINDOWS\Fonts\STXINGKA.TTF
맑은 고딕 C:\WINDOWS\Fonts\malgun.ttf
IrisUPC C:\WINDOWS\Fonts\upcii.ttf
Century Schoolbook-I C:\WINDOWS\Fonts\SCHLBKI.TTF
Modern No. 20 C:\WINDOWS\Fonts\MOD20.TTF
Segoe Fluent Icons C:\WINDOWS\Fonts\SegoeIcons.ttf
Bookman Old Style-B-I C:\WINDOWS\Fonts\BOOKOSBI.TTF
Century Gothic C:\WINDOWS\Fonts\GOTHIC.TTF
Bodoni MT-B-I C:\WINDOWS\Fonts\BOD_BI.TTF
EucrosiaUPC-B0 C:\WINDOWS\Fonts\upcebi.ttf
Lucida Calligraphy-I C:\WINDOWS\Fonts\LCALLIG.TTF
AngsanaUPC-B-I C:\WINDOWS\Fonts\angsana.ttc
Bodoni MT-I C:\WINDOWS\Fonts\BOD_I.TTF
Calisto MT-I C:\WINDOWS\Fonts\CALISTI.TTF
Microsoft YaHei UI C:\WINDOWS\Fonts\msyh.ttc
Bell MT-B C:\WINDOWS\Fonts\BELLB.TTF
TH SarabunPSK Bold Italic-B C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunIT๙ BoldItalic.ttf
Lucida Bright-B-I C:\WINDOWS\Fonts\LBRITEDI.TTF
Ebrima-B C:\WINDOWS\Fonts\ebrimabd.ttf
微软雅黑 Light C:\WINDOWS\Fonts\msyhl.ttc
Goudy Old Style-B C:\WINDOWS\Fonts\GOUDOSB.TTF
LilyUPC0 C:\WINDOWS\Fonts\upcll.ttf
Malgun Gothic C:\WINDOWS\Fonts\malgun.ttf
Franklin Gothic Book C:\WINDOWS\Fonts\FRABK.TTF
DilleniaUPC-B0 C:\WINDOWS\Fonts\upcdbi.ttf
FreesiaUPC0 C:\WINDOWS\Fonts\upcfl.ttf
CordiaUPC C:\WINDOWS\Fonts\cordia.ttc
Microsoft Tai Le C:\WINDOWS\Fonts\taile.ttf
Myanmar Text C:\WINDOWS\Fonts\mmrtext.ttf
Berlin Sans FB C:\WINDOWS\Fonts\BRLNSR.TTF
Microsoft PhagsPa-B C:\WINDOWS\Fonts\phagspab.ttf
Century Gothic-I C:\WINDOWS\Fonts\GOTHICI.TTF
Chiller C:\WINDOWS\Fonts\CHILLER.TTF
Cordia New C:\WINDOWS\Fonts\cordia.ttc
Rockwell C:\WINDOWS\Fonts\ROCK.TTF
HYPost-Medium C:\WINDOWS\Fonts\H2PORM.TTF
Segoe UI Black Italic-I C:\WINDOWS\Fonts\seguibli.ttf
微软雅黑-B C:\WINDOWS\Fonts\msyhbd.ttc
Century Schoolbook-B-I C:\WINDOWS\Fonts\SCHLBKBI.TTF
Headline R C:\WINDOWS\Fonts\HMKMRHD.TTF
Arial Narrow-B-I C:\WINDOWS\Fonts\ARIALNBI.TTF
Franklin Gothic Demi-I C:\WINDOWS\Fonts\FRADMIT.TTF
Harrington C:\WINDOWS\Fonts\HARNGTON.TTF
BrowalliaUPC-B-I C:\WINDOWS\Fonts\browalia.ttc
Microsoft YaHei UI-B C:\WINDOWS\Fonts\msyhbd.ttc
Gill Sans Ultra Bold C:\WINDOWS\Fonts\GILSANUB.TTF
Georgia C:\WINDOWS\Fonts\georgia.ttf
Bodoni MT Black C:\WINDOWS\Fonts\BOD_BLAR.TTF
휴먼옛체 C:\WINDOWS\Fonts\HMFMOLD.TTF
Times New Roman00 C:\WINDOWS\Fonts\times.ttf
幼圆 C:\WINDOWS\Fonts\SIMYOU.TTF
Californian FB C:\WINDOWS\Fonts\CALIFR.TTF
Berlin Sans FB Demi-B C:\WINDOWS\Fonts\BRLNSDB.TTF
PMingLiU-ExtB C:\WINDOWS\Fonts\mingliub.ttc
Trebuchet MS-I C:\WINDOWS\Fonts\trebucit.ttf
Lucida Bright-B C:\WINDOWS\Fonts\LBRITED.TTF
Yu Gothic UI Semilight C:\WINDOWS\Fonts\YuGothR.ttc
Yu Gothic Light C:\WINDOWS\Fonts\YuGothL.ttc
Arial Rounded MT Bold C:\WINDOWS\Fonts\ARLRDBD.TTF
Malgun Gothic-B C:\WINDOWS\Fonts\malgunbd.ttf
TH SarabunPSK Italic C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunIT๙ Italic.ttf
Times New Roman-I C:\WINDOWS\Fonts\timesi.ttf
Blackadder ITC C:\WINDOWS\Fonts\ITCBLKAD.TTF
TH Sarabun New-B-I C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunNew BoldItalic.ttf
Bodoni MT Condensed Italic-I C:\WINDOWS\Fonts\BOD_CI.TTF
TH NiramitIT๙ C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\TH NiramitIT๙ Italic.ttf
TH Sarabun New C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunNew.ttf
Cambria-B-I C:\WINDOWS\Fonts\cambriaz.ttf
Segoe Script-B C:\WINDOWS\Fonts\segoescb.ttf
Franklin Gothic Heavy C:\WINDOWS\Fonts\FRAHV.TTF
MS PGothic C:\WINDOWS\Fonts\msgothic.ttc
华文新魏 C:\WINDOWS\Fonts\STXINWEI.TTF
KodchiangUPC-B C:\WINDOWS\Fonts\upckb.ttf
TH SarabunIT๙-B C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunIT๙ Bold.ttf
Segoe UI Semibold Italic-I C:\WINDOWS\Fonts\seguisbi.ttf
方正姚体 C:\WINDOWS\Fonts\FZYTK.TTF
Britannic Bold C:\WINDOWS\Fonts\BRITANIC.TTF
Cooper Black C:\WINDOWS\Fonts\COOPBL.TTF
Comic Sans MS-B C:\WINDOWS\Fonts\comicbd.ttf
Segoe UI Semilight-I C:\WINDOWS\Fonts\seguisli.ttf
IrisUPC0 C:\WINDOWS\Fonts\upcil.ttf
Lucida Sans Typewriter-I C:\WINDOWS\Fonts\LTYPEO.TTF
Impact C:\WINDOWS\Fonts\impact.ttf
Segoe UI-B C:\WINDOWS\Fonts\segoeuib.ttf
Franklin Gothic Heavy-I C:\WINDOWS\Fonts\FRAHVIT.TTF
Courier New-B C:\WINDOWS\Fonts\courbd.ttf
Baskerville Old Face C:\WINDOWS\Fonts\BASKVILL.TTF
Bookman Old Style-B C:\WINDOWS\Fonts\BOOKOSB.TTF
FreesiaUPC-B0 C:\WINDOWS\Fonts\upcfbi.ttf
IrisUPC-B0 C:\WINDOWS\Fonts\upcibi.ttf
MingLiU_HKSCS-ExtB C:\WINDOWS\Fonts\mingliub.ttc
Verdana C:\WINDOWS\Fonts\verdana.ttf
JasmineUPC0 C:\WINDOWS\Fonts\upcjl.ttf
Kunstler Script C:\WINDOWS\Fonts\KUNSTLER.TTF
Microsoft Sans Serif C:\WINDOWS\Fonts\micross.ttf
Segoe UI Light C:\WINDOWS\Fonts\segoeuil.ttf
Nirmala Text-B C:\WINDOWS\Fonts\Nirmala.ttc
Segoe UI Semilight C:\WINDOWS\Fonts\segoeuisl.ttf
Viner Hand ITC C:\WINDOWS\Fonts\VINERITC.TTF
Rockwell-B C:\WINDOWS\Fonts\ROCKB.TTF
HY엽서M C:\WINDOWS\Fonts\H2PORM.TTF
Palatino Linotype-B C:\WINDOWS\Fonts\palab.ttf
Malgun Gothic Semilight C:\WINDOWS\Fonts\malgunsl.ttf
Candara C:\WINDOWS\Fonts\Candara.ttf
TH Niramit AS Regular C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\TH NiramitIT๙.ttf
Yet R C:\WINDOWS\Fonts\HMFMOLD.TTF
EucrosiaUPC-B C:\WINDOWS\Fonts\upceb.ttf
Monotype Corsiva-I C:\WINDOWS\Fonts\MTCORSVA.TTF
Lucida Handwriting-I C:\WINDOWS\Fonts\LHANDW.TTF
CordiaUPC-I C:\WINDOWS\Fonts\cordia.ttc
Pristina C:\WINDOWS\Fonts\PRISTINA.TTF
Agency FB-B C:\WINDOWS\Fonts\AGENCYB.TTF
Palatino Linotype-I C:\WINDOWS\Fonts\palai.ttf
Arial-B C:\WINDOWS\Fonts\arialbd.ttf
Georgia-B C:\WINDOWS\Fonts\georgiab.ttf
Cordia New-I0 C:\WINDOWS\Fonts\cordia.ttc
BrowalliaUPC-I C:\WINDOWS\Fonts\browalia.ttc
HYPost-Light C:\WINDOWS\Fonts\H2PORL.TTF
Constantia-I C:\WINDOWS\Fonts\constani.ttf
Segoe UI Historic C:\WINDOWS\Fonts\seguihis.ttf
Century Gothic-B-I C:\WINDOWS\Fonts\GOTHICBI.TTF
Elephant-I C:\WINDOWS\Fonts\ELEPHNTI.TTF
Microsoft JhengHei UI Light C:\WINDOWS\Fonts\msjhl.ttc
TH SarabunPSK Bold Italic-B0 C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunPSK Bold Italic.ttf
SimSun-ExtB C:\WINDOWS\Fonts\simsunb.ttf
HY그래픽M C:\WINDOWS\Fonts\H2GPRM.TTF
Elephant C:\WINDOWS\Fonts\ELEPHNT.TTF
Corbel C:\WINDOWS\Fonts\corbel.ttf
Tw Cen MT Condensed C:\WINDOWS\Fonts\TCCM____.TTF
Sitka Text C:\WINDOWS\Fonts\SitkaVF.ttf
Bookshelf Symbol 7 C:\WINDOWS\Fonts\BSSYM7.TTF
LilyUPC C:\WINDOWS\Fonts\upcli.ttf
TH NiramitIT๙-B C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\TH NiramitIT๙ Bold.ttf
Leelawadee-B C:\WINDOWS\Fonts\leelawdb.ttf
Corbel Light-I C:\WINDOWS\Fonts\corbelli.ttf
Calibri-B-I C:\WINDOWS\Fonts\calibriz.ttf
AngsanaUPC-I C:\WINDOWS\Fonts\angsana.ttc
Matura MT Script Capitals C:\WINDOWS\Fonts\MATURASC.TTF
Lucida Fax C:\WINDOWS\Fonts\LFAX.TTF
FreesiaUPC C:\WINDOWS\Fonts\upcfi.ttf
Tw Cen MT Condensed-B C:\WINDOWS\Fonts\TCCB____.TTF
Nirmala Text Semilight C:\WINDOWS\Fonts\Nirmala.ttc
Segoe UI-B-I C:\WINDOWS\Fonts\segoeuiz.ttf
Garamond C:\WINDOWS\Fonts\GARA.TTF
TH Sarabun New-B C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunNew Bold.ttf
MingLiU_MSCS-ExtB C:\WINDOWS\Fonts\mingliub.ttc
Leelawadee UI-B C:\WINDOWS\Fonts\LeelaUIb.ttf
Wingdings0 C:\WINDOWS\Fonts\wingding.ttf
French Script MT C:\WINDOWS\Fonts\FRSCRIPT.TTF
Sitka Heading Semibold Text C:\WINDOWS\Fonts\SitkaVF.ttf
微軟正黑體 Light C:\WINDOWS\Fonts\msjhl.ttc
Bodoni MT Condensed Bold Italic-B-I C:\WINDOWS\Fonts\BOD_CBI.TTF
TH SarabunPSK Regular0 C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunPSK.ttf
Script MT Bold C:\WINDOWS\Fonts\SCRIPTBL.TTF
Goudy Old Style-I C:\WINDOWS\Fonts\GOUDOSI.TTF
Tw Cen MT Condensed Extra Bold C:\WINDOWS\Fonts\TCCEB.TTF
MoeumT R C:\WINDOWS\Fonts\HMFMMUEX.TTC
Courier New C:\WINDOWS\Fonts\cour.ttf
Lucida Sans-B C:\WINDOWS\Fonts\LSANSD.TTF
High Tower Text-I C:\WINDOWS\Fonts\HTOWERTI.TTF
Bradley Hand ITC C:\WINDOWS\Fonts\BRADHITC.TTF
JasmineUPC-B C:\WINDOWS\Fonts\upcjb.ttf
Calibri C:\WINDOWS\Fonts\calibri.ttf
Segoe UI Semilight Italic-I C:\WINDOWS\Fonts\seguisli.ttf
Times New Roman0 C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\times.ttf
Cambria Math C:\WINDOWS\Fonts\cambria.ttc
Lucida Sans-I C:\WINDOWS\Fonts\LSANSI.TTF
HYPMokGak-Bold C:\WINDOWS\Fonts\H2MKPB.TTF
TH SarabunPSK Italic0 C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunPSK Italic.ttf
微軟正黑體 C:\WINDOWS\Fonts\msjh.ttc
Arial-B-I C:\WINDOWS\Fonts\arialbi.ttf
HYGraphic-Medium C:\WINDOWS\Fonts\H2GPRM.TTF
Imprint MT Shadow C:\WINDOWS\Fonts\IMPRISHA.TTF
Berlin Sans FB-B C:\WINDOWS\Fonts\BRLNSB.TTF
微軟正黑體-B C:\WINDOWS\Fonts\msjhbd.ttc
Lucida Bright C:\WINDOWS\Fonts\LBRITE.TTF
Bodoni MT Condensed Bold-B C:\WINDOWS\Fonts\BOD_CB.TTF
Microsoft JhengHei Light C:\WINDOWS\Fonts\msjhl.ttc
Playbill C:\WINDOWS\Fonts\PLAYBILL.TTF
Gill Sans MT Ext Condensed Bold C:\WINDOWS\Fonts\GLSNECB.TTF
Segoe UI C:\WINDOWS\Fonts\segoeui.ttf
MS Gothic C:\WINDOWS\Fonts\msgothic.ttc
Californian FB-B C:\WINDOWS\Fonts\CALIFB.TTF
Lucida Fax-I C:\WINDOWS\Fonts\LFAXI.TTF
Georgia-B-I C:\WINDOWS\Fonts\georgiaz.ttf
IrisUPC-B C:\WINDOWS\Fonts\upcib.ttf
Algerian C:\WINDOWS\Fonts\ALGER.TTF
Wide Latin C:\WINDOWS\Fonts\LATINWD.TTF
Symbol C:\WINDOWS\Fonts\symbol.ttf
Myanmar Text-B C:\WINDOWS\Fonts\mmrtextb.ttf
MS Reference Sans Serif C:\WINDOWS\Fonts\REFSAN.TTF
Arial Black C:\WINDOWS\Fonts\ariblk.ttf
Segoe Print-B C:\WINDOWS\Fonts\segoeprb.ttf
Dubai Light C:\WINDOWS\Fonts\DUBAI-LIGHT.TTF
Corbel Light C:\WINDOWS\Fonts\corbell.ttf
Tahoma-B C:\WINDOWS\Fonts\tahomabd.ttf
Angsana New-B-I C:\WINDOWS\Fonts\angsana.ttc
휴먼아미체 C:\WINDOWS\Fonts\HMKMAMI.TTF
Franklin Gothic Book-I C:\WINDOWS\Fonts\FRABKIT.TTF
Ebrima C:\WINDOWS\Fonts\ebrima.ttf
Perpetua C:\WINDOWS\Fonts\PER_____.TTF
Gill Sans MT Condensed C:\WINDOWS\Fonts\GILC____.TTF
Microsoft JhengHei C:\WINDOWS\Fonts\msjh.ttc
Cordia New-B C:\WINDOWS\Fonts\cordia.ttc
AlphanumericQR Space C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\AlphanumericQRspace.ttf
MS UI Gothic C:\WINDOWS\Fonts\msgothic.ttc
Bookman Old Style-I C:\WINDOWS\Fonts\BOOKOSI.TTF
Edwardian Script ITC C:\WINDOWS\Fonts\ITCEDSCR.TTF
Sans Serif Collection C:\WINDOWS\Fonts\SansSerifCollection.ttf
Maiandra GD C:\WINDOWS\Fonts\MAIAN.TTF
MS Reference Specialty C:\WINDOWS\Fonts\REFSPCL.TTF
Tempus Sans ITC C:\WINDOWS\Fonts\TEMPSITC.TTF
Calibri-B C:\WINDOWS\Fonts\calibrib.ttf
Book Antiqua-I C:\WINDOWS\Fonts\ANTQUAI.TTF
Lucida Fax-B-I C:\WINDOWS\Fonts\LFAXDI.TTF
MV Boli-I C:\WINDOWS\Fonts\mvboli.ttf
Franklin Gothic Demi C:\WINDOWS\Fonts\FRADM.TTF
Eras Light ITC C:\WINDOWS\Fonts\ERASLGHT.TTF
CordiaUPC-B-I C:\WINDOWS\Fonts\cordia.ttc
Ink Free C:\WINDOWS\Fonts\Inkfree.ttf
Calibri-I C:\WINDOWS\Fonts\calibrii.ttf
Arial Narrow-I C:\WINDOWS\Fonts\ARIALNI.TTF
Arial Narrow Italic-I C:\WINDOWS\Fonts\ARIALNI.TTF
Bauhaus 93 C:\WINDOWS\Fonts\BAUHS93.TTF
Palace Script MT-I C:\WINDOWS\Fonts\PALSCRI.TTF
Old English Text MT C:\WINDOWS\Fonts\OLDENGL.TTF
Curlz MT C:\WINDOWS\Fonts\CURLZ___.TTF
TH SarabunIT๙ C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunIT๙ Italic.ttf
Candara Light-I C:\WINDOWS\Fonts\Candarali.ttf
Microsoft YaHei Light C:\WINDOWS\Fonts\msyhl.ttc
Times New Roman-B C:\WINDOWS\Fonts\timesbd.ttf
Engravers MT C:\WINDOWS\Fonts\ENGR.TTF
Niagara Engraved C:\WINDOWS\Fonts\NIAGENG.TTF
Wingdings C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\wingding.ttf
새굴림 C:\WINDOWS\Fonts\NGULIM.TTF
Copperplate Gothic Light C:\WINDOWS\Fonts\COPRGTL.TTF
Rockwell Extra Bold C:\WINDOWS\Fonts\ROCKEB.TTF
휴먼엑스포 C:\WINDOWS\Fonts\HMFMMUEX.TTC
Pゴシック C:\WINDOWS\Fonts\msgothic.ttc
Leelawadee UI Semilight C:\WINDOWS\Fonts\LeelUIsl.ttf
Marlett C:\WINDOWS\Fonts\marlett.ttf
Comic Sans MS-B-I C:\WINDOWS\Fonts\comicz.ttf
Microsoft New Tai Lue C:\WINDOWS\Fonts\ntailu.ttf
STXingkai C:\WINDOWS\Fonts\STXINGKA.TTF
HY얕은샘물M C:\WINDOWS\Fonts\H2SA1M.TTF
Yu Gothic UI C:\WINDOWS\Fonts\YuGothM.ttc
Onyx C:\WINDOWS\Fonts\ONYX.TTF
Browallia New-B C:\WINDOWS\Fonts\browalia.ttc
AngsanaUPC C:\WINDOWS\Fonts\angsana.ttc
Tw Cen MT C:\WINDOWS\Fonts\TCM_____.TTF
Gill Sans MT-I C:\WINDOWS\Fonts\GILI____.TTF
Segoe UI Semibold-I C:\WINDOWS\Fonts\seguisbi.ttf
DilleniaUPC C:\WINDOWS\Fonts\upcdi.ttf
MS Outlook C:\WINDOWS\Fonts\OUTLOOK.TTF
Century Gothic-B C:\WINDOWS\Fonts\GOTHICB.TTF
맑은 고딕-B C:\WINDOWS\Fonts\malgunbd.ttf
휴먼편지체 C:\WINDOWS\Fonts\HMFMPYUN.TTF
Microsoft Uighur-B C:\WINDOWS\Fonts\MSUIGHUB.TTF
TH SarabunPSK Bold-B C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunIT๙ Bold.ttf
Tahoma C:\WINDOWS\Fonts\tahoma.ttf
Leelawadee UI C:\WINDOWS\Fonts\LeelawUI.ttf
游ゴシック C:\WINDOWS\Fonts\YuGothR.ttc
Book Antiqua-B-I C:\WINDOWS\Fonts\ANTQUABI.TTF
Gill Sans MT-B C:\WINDOWS\Fonts\GILB____.TTF
游ゴシック Light C:\WINDOWS\Fonts\YuGothL.ttc
方正舒体 C:\WINDOWS\Fonts\FZSTK.TTF
华文中宋 C:\WINDOWS\Fonts\STZHONGS.TTF
TH SarabunPSK-B C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunIT๙ Bold.ttf
Corbel Light Italic-I C:\WINDOWS\Fonts\corbelli.ttf
Harlow Solid Italic-I C:\WINDOWS\Fonts\HARLOWSI.TTF
Browallia New-B-I C:\WINDOWS\Fonts\browalia.ttc
Informal Roman C:\WINDOWS\Fonts\INFROMAN.TTF
HYShortSamul-Medium C:\WINDOWS\Fonts\H2SA1M.TTF
Cordia New-B-I0 C:\WINDOWS\Fonts\cordia.ttc
CordiaUPC-B C:\WINDOWS\Fonts\cordia.ttc
Bahnschrift C:\WINDOWS\Fonts\bahnschrift.ttf
Arial-I C:\WINDOWS\Fonts\ariali.ttf
Segoe UI Black-I C:\WINDOWS\Fonts\seguibli.ttf
Microsoft YaHei-B C:\WINDOWS\Fonts\msyhbd.ttc
LilyUPC-B C:\WINDOWS\Fonts\upclb.ttf
EucrosiaUPC0 C:\WINDOWS\Fonts\upcel.ttf
HYMyeongJo-Extra C:\WINDOWS\Fonts\H2MJRE.TTF
TH SarabunPSK Bold-B0 C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunPSK Bold.ttf
Bell MT-I C:\WINDOWS\Fonts\BELLI.TTF
Dubai Bold-B C:\WINDOWS\Fonts\DUBAI-BOLD.TTF
HY헤드라인M C:\WINDOWS\Fonts\H2HDRM.TTF
Segoe UI Light-I C:\WINDOWS\Fonts\seguili.ttf
微软雅黑 C:\WINDOWS\Fonts\msyh.ttc
Bodoni MT-B C:\WINDOWS\Fonts\BOD_B.TTF
Gadugi C:\WINDOWS\Fonts\gadugi.ttf
Colonna MT C:\WINDOWS\Fonts\COLONNA.TTF
Constantia-B C:\WINDOWS\Fonts\constanb.ttf
Bernard MT Condensed C:\WINDOWS\Fonts\BERNHC.TTF
Eras Demi ITC C:\WINDOWS\Fonts\ERASDEMI.TTF
Bodoni MT Condensed C:\WINDOWS\Fonts\BOD_CR.TTF
Freestyle Script C:\WINDOWS\Fonts\FREESCPT.TTF
Century Schoolbook-B C:\WINDOWS\Fonts\SCHLBKB.TTF
新細明體-ExtB C:\WINDOWS\Fonts\mingliub.ttc
Lucida Sans Typewriter-B-I C:\WINDOWS\Fonts\LTYPEBO.TTF
Lucida Sans Typewriter-B C:\WINDOWS\Fonts\LTYPEB.TTF
Yu Gothic UI-B C:\WINDOWS\Fonts\YuGothB.ttc
Garamond-B C:\WINDOWS\Fonts\GARABD.TTF
Bodoni MT Condensed-I C:\WINDOWS\Fonts\BOD_CI.TTF
Gadugi-B C:\WINDOWS\Fonts\gadugib.ttf
KodchiangUPC0 C:\WINDOWS\Fonts\upckl.ttf
STXihei C:\WINDOWS\Fonts\STXIHEI.TTF
Expo M C:\WINDOWS\Fonts\HMFMMUEX.TTC
Trebuchet MS-B C:\WINDOWS\Fonts\trebucbd.ttf
Kristen ITC C:\WINDOWS\Fonts\ITCKRIST.TTF
TH Niramit AS Bold Italic-B C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\TH Niramit AS-IT๙ Bold Italic.ttf
Microsoft Yi Baiti C:\WINDOWS\Fonts\msyi.ttf
Bodoni MT Poster Compressed C:\WINDOWS\Fonts\BOD_PSTC.TTF
OCR A Extended C:\WINDOWS\Fonts\OCRAEXT.TTF
Bodoni MT C:\WINDOWS\Fonts\BOD_R.TTF
Corbel-I C:\WINDOWS\Fonts\corbeli.ttf
Arial Narrow Bold-B C:\WINDOWS\Fonts\ARIALNB.TTF
Candara-B-I C:\WINDOWS\Fonts\Candaraz.ttf
Snap ITC C:\WINDOWS\Fonts\SNAP____.TTF
Candara Light Italic-I C:\WINDOWS\Fonts\Candarali.ttf
Broadway C:\WINDOWS\Fonts\BROADW.TTF
Microsoft YaHei UI Light C:\WINDOWS\Fonts\msyhl.ttc
High Tower Text C:\WINDOWS\Fonts\HTOWERT.TTF
Browallia New-I C:\WINDOWS\Fonts\browalia.ttc
Microsoft JhengHei UI C:\WINDOWS\Fonts\msjh.ttc
JasmineUPC C:\WINDOWS\Fonts\upcji.ttf
FreesiaUPC-B C:\WINDOWS\Fonts\upcfb.ttf
Gill Sans MT C:\WINDOWS\Fonts\GIL_____.TTF
Wingdings 20 C:\WINDOWS\Fonts\WINGDNG2.TTF
Wingdings 3 C:\WINDOWS\Fonts\WINGDNG3.TTF
Webdings C:\WINDOWS\Fonts\webdings.ttf
Segoe UI-I C:\WINDOWS\Fonts\segoeuii.ttf
Centaur C:\WINDOWS\Fonts\CENTAUR.TTF
Vivaldi-I C:\WINDOWS\Fonts\VIVALDII.TTF
Perpetua-I C:\WINDOWS\Fonts\PERI____.TTF
Microsoft JhengHei UI-B C:\WINDOWS\Fonts\msjhbd.ttc
Consolas-B C:\WINDOWS\Fonts\consolab.ttf
AngsanaUPC-B C:\WINDOWS\Fonts\angsana.ttc
Nirmala UI C:\WINDOWS\Fonts\Nirmala.ttc
Lucida Bright-I C:\WINDOWS\Fonts\LBRITEI.TTF
HY견고딕 C:\WINDOWS\Fonts\H2GTRE.TTF
Lucida Sans C:\WINDOWS\Fonts\LSANS.TTF
Calisto MT-B C:\WINDOWS\Fonts\CALISTB.TTF
Consolas C:\WINDOWS\Fonts\consola.ttf
細明體_HKSCS-ExtB C:\WINDOWS\Fonts\mingliub.ttc
Calisto MT-B-I C:\WINDOWS\Fonts\CALISTBI.TTF
Yu Gothic C:\WINDOWS\Fonts\YuGothR.ttc
Ami R C:\WINDOWS\Fonts\HMKMAMI.TTF
Niagara Solid C:\WINDOWS\Fonts\NIAGSOL.TTF
Dubai C:\WINDOWS\Fonts\DUBAI-REGULAR.TTF
Candara-I C:\WINDOWS\Fonts\Candarai.ttf
NSimSun C:\WINDOWS\Fonts\simsun.ttc
BrowalliaUPC C:\WINDOWS\Fonts\browalia.ttc
Microsoft Tai Le-B C:\WINDOWS\Fonts\taileb.ttf
Microsoft New Tai Lue-B C:\WINDOWS\Fonts\ntailub.ttf
HY신명조 C:\WINDOWS\Fonts\H2MJSM.TTF
华文细黑 C:\WINDOWS\Fonts\STXIHEI.TTF
游ゴシック Medium C:\WINDOWS\Fonts\YuGothM.ttc
Comic Sans MS-I C:\WINDOWS\Fonts\comici.ttf
EucrosiaUPC C:\WINDOWS\Fonts\upcei.ttf
Mistral C:\WINDOWS\Fonts\MISTRAL.TTF
Footlight MT Light C:\WINDOWS\Fonts\FTLTLT.TTF
ゴシック C:\WINDOWS\Fonts\msgothic.ttc
Rage Italic C:\WINDOWS\Fonts\RAGE.TTF
Microsoft Uighur C:\WINDOWS\Fonts\MSUIGHUR.TTF
Gabriola C:\WINDOWS\Fonts\Gabriola.ttf
Yu Gothic UI Semibold-B C:\WINDOWS\Fonts\YuGothB.ttc
Segoe UI Light Italic-I C:\WINDOWS\Fonts\seguili.ttf
Calibri Light Italic-I C:\WINDOWS\Fonts\calibrili.ttf
Comic Sans MS C:\WINDOWS\Fonts\comic.ttf
Lucida Sans Typewriter C:\WINDOWS\Fonts\LTYPE.TTF
Papyrus C:\WINDOWS\Fonts\PAPYRUS.TTF
New Gulim C:\WINDOWS\Fonts\NGULIM.TTF
Perpetua-B-I C:\WINDOWS\Fonts\PERBI___.TTF
FZShuTi C:\WINDOWS\Fonts\FZSTK.TTF
Cordia New-I C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\cordiai.ttf
Brush Script MT-I C:\WINDOWS\Fonts\BRUSHSCI.TTF
Gloucester MT Extra Condensed C:\WINDOWS\Fonts\GLECB.TTF
Segoe UI Variable Light Display Regular C:\WINDOWS\Fonts\SegUIVar.ttf
HY목각파임B C:\WINDOWS\Fonts\H2MKPB.TTF
MingLiU-ExtB C:\WINDOWS\Fonts\mingliub.ttc
HYSinMyeongJo-Medium C:\WINDOWS\Fonts\H2MJSM.TTF
HYHeadLine-Medium C:\WINDOWS\Fonts\H2HDRM.TTF
Goudy Stout C:\WINDOWS\Fonts\GOUDYSTO.TTF
Verdana-B C:\WINDOWS\Fonts\verdanab.ttf
Candara Light C:\WINDOWS\Fonts\Candaral.ttf
Microsoft JhengHei-B C:\WINDOWS\Fonts\msjhbd.ttc
TH Niramit AS C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\TH NiramitIT๙ Italic.ttf
Perpetua Titling MT-B C:\WINDOWS\Fonts\PERTIBD.TTF
Rockwell Condensed-B C:\WINDOWS\Fonts\ROCCB___.TTF
HYGothic-Medium C:\WINDOWS\Fonts\H2GTRM.TTF
Nirmala UI-B C:\WINDOWS\Fonts\Nirmala.ttc
Pyunji R C:\WINDOWS\Fonts\HMFMPYUN.TTF
Georgia-I C:\WINDOWS\Fonts\georgiai.ttf
Tw Cen MT-B C:\WINDOWS\Fonts\TCB_____.TTF
Nirmala Text C:\WINDOWS\Fonts\Nirmala.ttc
Jokerman C:\WINDOWS\Fonts\JOKERMAN.TTF
Castellar C:\WINDOWS\Fonts\CASTELAR.TTF
Cambria C:\WINDOWS\Fonts\cambria.ttc
HY엽서L C:\WINDOWS\Fonts\H2PORL.TTF
新宋体 C:\WINDOWS\Fonts\simsun.ttc
LiSu C:\WINDOWS\Fonts\SIMLI.TTF
Palatino Linotype-B-I C:\WINDOWS\Fonts\palabi.ttf
Consolas-B-I C:\WINDOWS\Fonts\consolaz.ttf
Segoe MDL2 Assets C:\WINDOWS\Fonts\segmdl2.ttf
Microsoft PhagsPa C:\WINDOWS\Fonts\phagspa.ttf
FZYaoTi C:\WINDOWS\Fonts\FZYTK.TTF
Leelawadee C:\WINDOWS\Fonts\leelawad.ttf
Segoe UI Variable C:\WINDOWS\Fonts\SegUIVar.ttf
Parchment C:\WINDOWS\Fonts\PARCHM.TTF
Tw Cen MT-B-I C:\WINDOWS\Fonts\TCBI____.TTF
Arial Narrow Bold Italic-B-I C:\WINDOWS\Fonts\ARIALNBI.TTF
휴먼매직체 C:\WINDOWS\Fonts\HMKMMAG.TTF
Book Antiqua C:\WINDOWS\Fonts\BKANT.TTF
Juice ITC C:\WINDOWS\Fonts\JUICE___.TTF
Bodoni MT Condensed-B C:\WINDOWS\Fonts\BOD_CB.TTF
Cambria-I C:\WINDOWS\Fonts\cambriai.ttf
Constantia-B-I C:\WINDOWS\Fonts\constanz.ttf
Dubai Regular C:\WINDOWS\Fonts\DUBAI-REGULAR.TTF
隶书 C:\WINDOWS\Fonts\SIMLI.TTF
Segoe Print C:\WINDOWS\Fonts\segoepr.ttf
Magneto-B C:\WINDOWS\Fonts\MAGNETOB.TTF
Californian FB-I C:\WINDOWS\Fonts\CALIFI.TTF
Book Antiqua-B C:\WINDOWS\Fonts\ANTQUAB.TTF
TH SarabunPSK Regular C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\THSarabunIT๙.ttf
Cambria-B C:\WINDOWS\Fonts\cambriab.ttf
Gigi C:\WINDOWS\Fonts\GIGI.TTF
STZhongsong C:\WINDOWS\Fonts\STZHONGS.TTF
STXinwei C:\WINDOWS\Fonts\STXINWEI.TTF
Magic R C:\WINDOWS\Fonts\HMKMMAG.TTF
TH NiramitIT๙ -B C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\TH Niramit AS-IT๙ Bold Italic.ttf
Angsana New-B C:\WINDOWS\Fonts\angsana.ttc
Sitka Heading Semibold Italic Text Italic-I C:\WINDOWS\Fonts\SitkaVF-Italic.ttf
Calisto MT C:\WINDOWS\Fonts\CALIST.TTF
Corbel-B-I C:\WINDOWS\Fonts\corbelz.ttf
Goudy Old Style C:\WINDOWS\Fonts\GOUDOS.TTF
Ravie C:\WINDOWS\Fonts\RAVIE.TTF
Wingdings 2 C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\WINGDNG2.TTF
Tw Cen MT-I C:\WINDOWS\Fonts\TCMI____.TTF
Sylfaen C:\WINDOWS\Fonts\sylfaen.ttf
細明體-ExtB C:\WINDOWS\Fonts\mingliub.ttc
Lucida Fax-B C:\WINDOWS\Fonts\LFAXD.TTF
Angsana New-I C:\WINDOWS\Fonts\angsana.ttc
宋体 C:\WINDOWS\Fonts\simsun.ttc
Bahnschrift Light Condensed C:\WINDOWS\Fonts\bahnschrift.ttf
Javanese Text C:\WINDOWS\Fonts\javatext.ttf
Arial C:\WINDOWS\Fonts\arial.ttf
Franklin Gothic Medium Cond C:\WINDOWS\Fonts\FRAMDCN.TTF
Constantia C:\WINDOWS\Fonts\constan.ttf
Times New Roman C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\Times New Roman Font.ttf
Browallia New C:\WINDOWS\Fonts\browalia.ttc
Angsana New C:\WINDOWS\Fonts\angsana.ttc
BrowalliaUPC-B C:\WINDOWS\Fonts\browalia.ttc
LilyUPC-B-I C:\WINDOWS\Fonts\upclbi.ttf
JasmineUPC-B0 C:\WINDOWS\Fonts\upcjbi.ttf
Haettenschweiler C:\WINDOWS\Fonts\HATTEN.TTF
Gill Sans MT-B-I C:\WINDOWS\Fonts\GILBI___.TTF
JS Wansika C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\JS-Wansika-Italic.ttf
Poor Richard C:\WINDOWS\Fonts\POORICH.TTF
Agency FB C:\WINDOWS\Fonts\AGENCYR.TTF
Courier New-B-I C:\WINDOWS\Fonts\courbi.ttf
Felix Titling C:\WINDOWS\Fonts\FELIXTI.TTF
KodchiangUPC C:\WINDOWS\Fonts\upcki.ttf
Nirmala UI Semilight C:\WINDOWS\Fonts\Nirmala.ttc
휴먼둥근헤드라인 C:\WINDOWS\Fonts\HMKMRHD.TTF
Rockwell Condensed C:\WINDOWS\Fonts\ROCC____.TTF
Arial Narrow C:\WINDOWS\Fonts\ARIALN.TTF
Rockwell-I C:\WINDOWS\Fonts\ROCKI.TTF
Calibri Light-I C:\WINDOWS\Fonts\calibrili.ttf
Arial Narrow-B C:\WINDOWS\Fonts\ARIALNB.TTF
Copperplate Gothic Bold C:\WINDOWS\Fonts\COPRGTB.TTF
Franklin Gothic Demi Cond C:\WINDOWS\Fonts\FRADMCN.TTF
Microsoft Himalaya C:\WINDOWS\Fonts\himalaya.ttf
HYGungSo-Bold C:\WINDOWS\Fonts\H2GSRB.TTF
Courier New-I C:\WINDOWS\Fonts\couri.ttf
TH Niramit AS Bold-B C:\Users\USER\AppData\Local\Microsoft\Windows\Fonts\TH NiramitIT๙ Bold.ttf
Bell MT C:\WINDOWS\Fonts\BELL.TTF
Yu Gothic Medium C:\WINDOWS\Fonts\YuGothM.ttc
Yu Gothic UI Light C:\WINDOWS\Fonts\YuGothL.ttc

Some files were not shown because too many files have changed in this diff Show More