Files
rmutr_report/Controllers/GovernmentBudget.Controller.cs
kamonwan taengsuk f146dd1c74
All checks were successful
continuous-integration/drone/push Build is passing
update reports
2023-12-20 12:29:15 +07:00

1513 lines
93 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using ClosedXML.Excel;
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("สำหรับรายงานงบแผ่นดิน")]
public class governmentBudget : Controller
{
readonly Setting _setting;
public governmentBudget(Setting setting)
{
this._setting = setting;
}
[SwaggerOperation("รับเงินแผ่นดิน")]
[HttpPost, Route("reports/receive_government/{type}")] //รับเงินแผ่นดิน
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetGovernmentBudgetReport([FromRoute] string type,
[FromBody] receive_government receiveGovernments)
{
var governments = new List<receive_government>() { receiveGovernments };
Report report = new Report();
report.Load(_setting.report_path + "receive_government.frx");
report.RegisterData(governments, "receive_government");
report.Prepare();
MemoryStream stream = new MemoryStream();
switch (type)
{
case "pdf":
PDFExport pdf = new PDFExport();
report.Export(pdf, stream);
stream.Seek(0, SeekOrigin.Begin);
return File(stream, "application/pdf");
case "xls":
case "xlsx":
Excel2007Export excel = new Excel2007Export();
report.Export(excel, stream);
stream.Seek(0, SeekOrigin.Begin);
//return File(stream, "application/vnd.ms-excel");
string date = DateTime.Now.ToString("yyyyMMddHHmmss");
return File(
stream,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"receive_government_" + date + ".xlsx");
case "doc":
case "docx":
Word2007Export word = new Word2007Export();
report.Export(word, stream);
stream.Seek(0, SeekOrigin.Begin);
return File(stream, "appllication/vnd.ms-word");
}
return Ok();
}
[SwaggerOperation("การจัดสรรงบประมาณแผ่นดินรวมทุกแผนงาน, แผนงานบุคลากร, พื้นฐาน+ยุทธศาตร์")]
[HttpPost, Route("reports/budget_government_allocate/{type}")] // (พื้นฐาน+ยุทธศาตร์)
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetInStrAllocateReport([FromRoute] string type,
[FromBody] budget_government_allocate allocate)
{
var workbook = new XLWorkbook();
var ws = workbook.Worksheets.Add("การจัดสรรงบประมาณแผ่นดิน");
ws.Range("A1:S1").Merge().Value = "การจัดสรรงบประมาณแผ่นดิน ปีงบประมาณ พ.ศ. " + allocate.budget_year
+ " (" + allocate.report_name + ")"; //" (แผนงาน พื้นฐาน และ แผนงาน ยุทธศาสตร์ฯ)";
ws.Range("A1:S1").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range("A1:S1").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range("A1:S1").Style.Font.FontName = "TH SarabunPSK";
ws.Range("A1:S1").Style.Font.FontSize = 16;
ws.Range("A1:S1").Style.Font.Bold = true;
ws.Range("A2:S2").Merge().Value = "มหาวิทยาลัยเทคโนโลยีราชมงคลรัตนโกสินทร์";
ws.Range("A2:S2").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range("A2:S2").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range("A2:S2").Style.Font.FontName = "TH SarabunPSK";
ws.Range("A2:S2").Style.Font.FontSize = 16;
ws.Range("A2:S2").Style.Font.Bold = true;
ws.Column(1).Width = 40;
ws.Column(2).Width = 15;
ws.Column(3).Width = 15;
ws.Column(4).Width = 15;
ws.Column(5).Width = 15;
ws.Column(6).Width = 15;
ws.Column(7).Width = 15;
ws.Column(8).Width = 15;
ws.Column(9).Width = 15;
ws.Column(10).Width = 15;
ws.Column(11).Width = 15;
ws.Column(12).Width = 15;
ws.Column(13).Width = 15;
ws.Column(14).Width = 15;
ws.Column(15).Width = 15;
ws.Column(16).Width = 15;
ws.Column(17).Width = 15;
ws.Column(18).Width = 15;
ws.Column(19).Width = 15;
int row = 8;
//int no = 1;
ws.Cell("A3").Value = "แผนงาน / ผลผลิต / กิจกรรม";
ws.Cell("A3").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("A3").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("A3").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("A3").Style.Font.SetBold().Font.FontSize = 16;
//ws.Range("A3:A5").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204);
ws.Range("A3:A5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("A5").Value = "หน่วยงาน";
ws.Cell("A5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("A5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("A5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("A5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("A5").Style.Alignment.WrapText = true;
ws.Range("B3:E4").Merge().Value = "งบบุคลากร";
ws.Range("B3:E4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range("B3:E4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range("B3:E4").Style.Font.FontName = "TH SarabunPSK";
ws.Range("B3:E4").Style.Font.SetBold().Font.FontSize = 16;
ws.Range("B3:E4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("B5").Value = "เงินเดือน";
ws.Cell("B5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("B5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("B5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("B5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("B5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("C5").Value = "ค่าจ้างประจำ";
ws.Cell("C5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("C5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("C5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("C5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("C5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("D5").Value = "ค่าจ้างชั่วคราว";
ws.Cell("D5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("D5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("D5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("D5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("D5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("E5").Value = "พนักงานราชการ";
ws.Cell("E5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("E5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("E5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("E5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("E5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range("F3:I4").Merge().Value = "งบดำเนินงาน";
ws.Range("F3:I4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range("F3:I4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range("F3:I4").Style.Font.FontName = "TH SarabunPSK";
ws.Range("F3:I4").Style.Font.SetBold().Font.FontSize = 16;
ws.Range("F3:I4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("F5").Value = "ค่าตอบแทน";
ws.Cell("F5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("F5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("F5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("F5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("F5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("G5").Value = "ค่าใช้สอย";
ws.Cell("G5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("G5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("G5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("G5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("G5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("H5").Value = "ค่าวัสดุ";
ws.Cell("H5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("H5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("H5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("H5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("H5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("I5").Value = "ค่าสาธารณูปโภค";
ws.Cell("I5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("I5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("I5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("I5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("I5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range("J3:K4").Merge().Value = "งบลงทุน";
ws.Range("J3:K4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range("J3:K4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range("J3:K4").Style.Font.FontName = "TH SarabunPSK";
ws.Range("J3:K4").Style.Font.SetBold().Font.FontSize = 16;
ws.Range("J3:K4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("J5").Value = "ค่าครุภัณฑ์";
ws.Cell("J5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("J5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("J5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("J5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("J5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("K5").Value = "ที่ดิน สิ่งก่อสร้าง";
ws.Cell("K5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("K5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("K5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("K5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("K5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range("L3:R3").Merge().Value = "งบเงินอุดหนุน";
ws.Range("L3:R3").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range("L3:R3").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range("L3:R3").Style.Font.FontName = "TH SarabunPSK";
ws.Range("L3:R3").Style.Font.SetBold().Font.FontSize = 16;
ws.Range("L3:R3").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range("L4:L5").Merge().Value = "เงินอุดหนุนค่าใช้จ่ายบุคลากร";
ws.Range("L4:L5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range("L4:L5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range("L4:L5").Style.Font.FontName = "TH SarabunPSK";
ws.Range("L4:L5").Style.Font.SetBold().Font.FontSize = 16;
ws.Range("L4:L5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range("M4:M5").Merge().Value = "เงินอุดหนุนค่าใช้จ่ายโครงการ";
ws.Range("M4:M5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range("M4:M5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range("M4:M5").Style.Font.FontName = "TH SarabunPSK";
ws.Range("M4:M5").Style.Font.SetBold().Font.FontSize = 16;
ws.Range("M4:M5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range("N4:R4").Merge().Value = "ค่าใช้จ่ายดำเนินงาน";
ws.Range("N4:R4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range("N4:R4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range("N4:R4").Style.Font.FontName = "TH SarabunPSK";
ws.Range("N4:R4").Style.Font.SetBold().Font.FontSize = 16;
ws.Range("N4:R4").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("N5").Value = "ค่าตอบแทน";
ws.Cell("N5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("N5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("N5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("N5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("N5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("O5").Value = "ค่าใช้สอย";
ws.Cell("O5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("O5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("O5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("O5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("O5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("P5").Value = "ค่าวัสดุ";
ws.Cell("P5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("P5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("P5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("P5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("P5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("Q5").Value = "ค่าสาธารณูปโภค";
ws.Cell("Q5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("Q5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("Q5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("Q5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("Q5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("R5").Value = "ค่าใช้จ่ายดำเนินงานอื่นๆ";
ws.Cell("R5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("R5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("R5").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("R5").Style.Font.SetBold().Font.FontSize = 16;
ws.Cell("R5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("S3").Value = "รวมทั้งสิ้น";
ws.Cell("S3").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell("S3").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell("S3").Style.Font.FontName = "TH SarabunPSK";
ws.Cell("S3").Style.Font.SetBold().Font.FontSize = 16;
ws.Range("S3:S5").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range("A6:A7").Merge().Value = "รวมทั้งสิ้น";
ws.Range("A6:A7").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range("A6:A7").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range("A6:A7").Style.Font.FontName = "TH SarabunPSK";
ws.Range("A6:A7").Style.Font.SetBold().Font.FontSize = 16;
ws.Range("A6:A7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range("B6:E6").Merge().Value = allocate.total_budget_personnel;
ws.Range("F6:I6").Merge().Value = allocate.total_budget_operating;
ws.Range("J6:K6").Merge().Value = allocate.total_budget_investment;
ws.Cell("L6").Value = allocate.total_personnel_expense;
ws.Cell("M6").Value = allocate.total_project_expense;
ws.Range("N6:Q6").Merge().Value = allocate.total_operating_expenses;
ws.Cell("R6").Value = allocate.total_other_operating_expenses;
ws.Cell("S6").Value = allocate.total_budget;
ws.Range("B6:E6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range("F6:I6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range("J6:K6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range("N6:Q6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("L6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("M6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("R6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("S6").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range(ws.Cell(6, 1), ws.Cell(7, 19)).Style.Fill.BackgroundColor = XLColor.FromArgb(255, 204, 255);
ws.Range(ws.Cell(6, 1), ws.Cell(7, 19)).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range(ws.Cell(6, 1), ws.Cell(7, 19)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(6, 1), ws.Cell(7, 19)).Style.Font.FontName = "TH SarabunPSK";
ws.Range(ws.Cell(6, 1), ws.Cell(7, 19)).Style.Font.SetBold().Font.FontSize = 16;
//ws.Range(ws.Cell(5, 2), ws.Cell(5, 11)).Style.Font.FontColor = XLColor.Blue;
ws.Range(ws.Cell(6, 1), ws.Cell(7, 19)).Style.NumberFormat.SetFormat("#,#");
ws.Cell("B7").Value = allocate.salary_person;
ws.Cell("C7").Value = allocate.regular_wages_person;
ws.Cell("D7").Value = allocate.temporary_wages_person;
ws.Cell("E7").Value = allocate.government_employee;
ws.Cell("F7").Value = allocate.compensation_operating_budget;
ws.Cell("G7").Value = allocate.cost_operating_budget;
ws.Cell("H7").Value = allocate.material_cost_operating_budget;
ws.Cell("I7").Value = allocate.utility_bill_operating_budget;
ws.Cell("J7").Value = allocate.cost_equipment;
ws.Cell("K7").Value = allocate.land_building;
ws.Cell("N7").Value = allocate.compensation_operating_expenses;
ws.Cell("O7").Value = allocate.cost_operating_expenses;
ws.Cell("P7").Value = allocate.material_cost_operating_expenses;
ws.Cell("Q7").Value = allocate.utility_bill_operating_expenses;
ws.Cell("B7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("C7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("D7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("E7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("F7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("G7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("H7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("I7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("J7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("K7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("N7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("O7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("P7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("Q7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell("S7").Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range(ws.Cell(3, 1), ws.Cell(5, 19)).Style.Alignment.WrapText = true;
foreach (var detail in allocate.data_1)
{
if (detail.color == 1) // แผนงาน สีเหลือง
{
ws.Range(ws.Cell(row, 1), ws.Cell(row + 1, 1)).Merge().Value = detail.list;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Merge().Value = detail.total_budget_personnel;
ws.Range(ws.Cell(row, 6), ws.Cell(row, 9)).Merge().Value = detail.total_budget_operating;
ws.Range(ws.Cell(row, 10), ws.Cell(row, 11)).Merge().Value = detail.total_budget_investment;
ws.Cell(row, 12).Value = detail.total_personnel_expense;
ws.Cell(row, 13).Value = detail.total_project_expense;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Merge().Value = detail.total_operating_expenses;
ws.Cell(row, 18).Value = detail.total_other_operating_expenses;
ws.Cell(row, 19).Value = detail.total_budget;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName =
"TH SarabunPSK";
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.SetBold().Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical =
XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.NumberFormat.SetFormat("#,#");
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Horizontal =
XLAlignmentHorizontalValues.Center;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Fill.BackgroundColor =
XLColor.FromArgb(255, 255, 183);
ws.Cell(row, 9).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 11).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 12).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 17).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
row++;
}
if (detail.color == 2) // โครงการ สีฟ้าอ่อน
{
ws.Cell(row, 1).Value = detail.list;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Merge().Value = detail.total_budget_personnel;
ws.Range(ws.Cell(row, 6), ws.Cell(row, 9)).Merge().Value = detail.total_budget_operating;
ws.Range(ws.Cell(row, 10), ws.Cell(row, 11)).Merge().Value = detail.total_budget_investment;
ws.Cell(row, 12).Value = detail.total_personnel_expense;
ws.Cell(row, 13).Value = detail.total_project_expense;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Merge().Value = detail.total_operating_expenses;
ws.Cell(row, 18).Value = detail.total_other_operating_expenses;
ws.Cell(row, 19).Value = detail.total_budget;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName =
"TH SarabunPSK";
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.SetBold().Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical =
XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.NumberFormat.SetFormat("#,#0");
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Horizontal =
XLAlignmentHorizontalValues.Center;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Fill.BackgroundColor =
XLColor.FromArgb(218, 238, 243);
ws.Cell(row, 9).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 11).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 12).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 17).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
row++;
}
if (detail.color == 3) // ชื่อคณะ สีแดงอ่อน
{
ws.Range(ws.Cell(row, 1), ws.Cell(row + 1, 1)).Merge().Value = detail.list;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Merge().Value = detail.total_budget_personnel;
ws.Range(ws.Cell(row, 6), ws.Cell(row, 9)).Merge().Value = detail.total_budget_operating;
ws.Range(ws.Cell(row, 10), ws.Cell(row, 11)).Merge().Value = detail.total_budget_investment;
ws.Cell(row, 12).Value = detail.total_personnel_expense;
ws.Cell(row, 13).Value = detail.total_project_expense;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Merge().Value = detail.total_operating_expenses;
ws.Cell(row, 18).Value = detail.total_other_operating_expenses;
ws.Cell(row, 19).Value = detail.total_budget;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName =
"TH SarabunPSK";
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.SetBold().Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical =
XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.NumberFormat.SetFormat("#,#0");
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Horizontal =
XLAlignmentHorizontalValues.Center;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Fill.BackgroundColor =
XLColor.FromArgb(255, 204, 204);
ws.Cell(row, 9).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 11).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 12).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 17).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
row++;
}
if (detail.color == 5) // ชื่อคณะ สีขาว
{
ws.Cell(row, 1).Value = "'- " + detail.list;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Merge().Value = detail.total_budget_personnel;
ws.Range(ws.Cell(row, 6), ws.Cell(row, 9)).Merge().Value = detail.total_budget_operating;
ws.Range(ws.Cell(row, 10), ws.Cell(row, 11)).Merge().Value = detail.total_budget_investment;
ws.Cell(row, 12).Value = detail.total_personnel_expense;
ws.Cell(row, 13).Value = detail.total_project_expense;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Merge().Value = detail.total_operating_expenses;
ws.Cell(row, 18).Value = detail.total_other_operating_expenses;
ws.Cell(row, 19).Value = detail.total_budget;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName =
"TH SarabunPSK";
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.SetBold().Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical =
XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.NumberFormat.SetFormat("#,#0");
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Horizontal =
XLAlignmentHorizontalValues.Center;
ws.Cell(row, 9).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 11).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 12).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 17).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 1).Style.Border.BottomBorder = XLBorderStyleValues.None;
ws.Cell(row, 1).Style.Border.LeftBorder = XLBorderStyleValues.Thin;
row++;
}
if (detail.color == 4) // ชื่อย่อยคณะ สีเทาอ่อน
{
ws.Range(ws.Cell(row, 1), ws.Cell(row + 1, 1)).Merge().Value = detail.list;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Merge().Value = detail.total_budget_personnel;
ws.Range(ws.Cell(row, 6), ws.Cell(row, 9)).Merge().Value = detail.total_budget_operating;
ws.Range(ws.Cell(row, 10), ws.Cell(row, 11)).Merge().Value = detail.total_budget_investment;
ws.Cell(row, 12).Value = detail.total_personnel_expense;
ws.Cell(row, 13).Value = detail.total_project_expense;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Merge().Value = detail.total_operating_expenses;
ws.Cell(row, 18).Value = detail.total_other_operating_expenses;
ws.Cell(row, 19).Value = detail.total_budget;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName =
"TH SarabunPSK";
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.SetBold().Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical =
XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.NumberFormat.SetFormat("#,#0");
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Horizontal =
XLAlignmentHorizontalValues.Center;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Fill.BackgroundColor =
XLColor.FromArgb(237, 235, 249);
ws.Cell(row, 9).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 11).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 12).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 17).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
row++;
}
if (detail.color == 6) // ชื่อย่อยคณะ+พื้นที่ สีขาว
{
ws.Cell(row, 1).Value = "'- " + detail.list;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Merge().Value = detail.total_budget_personnel;
ws.Range(ws.Cell(row, 6), ws.Cell(row, 9)).Merge().Value = detail.total_budget_operating;
ws.Range(ws.Cell(row, 10), ws.Cell(row, 11)).Merge().Value = detail.total_budget_investment;
ws.Cell(row, 12).Value = detail.total_personnel_expense;
ws.Cell(row, 13).Value = detail.total_project_expense;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Merge().Value = detail.total_operating_expenses;
ws.Cell(row, 18).Value = detail.total_other_operating_expenses;
ws.Cell(row, 19).Value = detail.total_budget;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName =
"TH SarabunPSK";
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.SetBold().Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical =
XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.NumberFormat.SetFormat("#,#0");
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Horizontal =
XLAlignmentHorizontalValues.Center;
ws.Cell(row, 9).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 11).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 12).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 17).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 1).Style.Border.BottomBorder = XLBorderStyleValues.None;
ws.Cell(row, 1).Style.Border.LeftBorder = XLBorderStyleValues.Thin;
row++;
}
foreach (var detail2 in detail.data_2)
{
if (detail2.color == 1) //สีเหลือง
{
ws.Cell(row, 2).Value = detail2.salary_person;
ws.Cell(row, 3).Value = detail2.regular_wages_person;
ws.Cell(row, 4).Value = detail2.temporary_wages_person;
ws.Cell(row, 5).Value = detail2.government_employee;
ws.Cell(row, 6).Value = detail2.compensation_operating_budget;
ws.Cell(row, 7).Value = detail2.cost_operating_budget;
ws.Cell(row, 8).Value = detail2.material_cost_operating_budget;
ws.Cell(row, 9).Value = detail2.utility_bill_operating_budget;
ws.Cell(row, 10).Value = detail2.cost_equipment;
ws.Cell(row, 11).Value = detail2.land_building;
ws.Cell(row, 14).Value = detail2.compensation_operating_expenses;
ws.Cell(row, 15).Value = detail2.cost_operating_expenses;
ws.Cell(row, 16).Value = detail2.material_cost_operating_expenses;
ws.Cell(row, 17).Value = detail2.utility_bill_operating_expenses;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName =
"TH SarabunPSK";
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.SetBold().Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical =
XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.NumberFormat.SetFormat("#,#0");
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Horizontal =
XLAlignmentHorizontalValues.Center;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Fill.BackgroundColor =
XLColor.FromArgb(255, 255, 183);
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 6), ws.Cell(row, 9)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 10), ws.Cell(row, 11)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 19).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 11)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Cell(row, 1).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 19).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 16).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 17).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
row++;
}
if (detail2.color == 2) // ชื่อกิจกรรม สีฟ้าอ่อน
{
ws.Cell(row, 1).Value = detail2.list;
ws.Cell(row, 2).Value = detail2.salary_person;
ws.Cell(row, 3).Value = detail2.regular_wages_person;
ws.Cell(row, 4).Value = detail2.temporary_wages_person;
ws.Cell(row, 5).Value = detail2.government_employee;
ws.Cell(row, 6).Value = detail2.compensation_operating_budget;
ws.Cell(row, 7).Value = detail2.cost_operating_budget;
ws.Cell(row, 8).Value = detail2.material_cost_operating_budget;
ws.Cell(row, 9).Value = detail2.utility_bill_operating_budget;
ws.Cell(row, 10).Value = detail2.cost_equipment;
ws.Cell(row, 11).Value = detail2.land_building;
ws.Cell(row, 14).Value = detail2.compensation_operating_expenses;
ws.Cell(row, 15).Value = detail2.cost_operating_expenses;
ws.Cell(row, 16).Value = detail2.material_cost_operating_expenses;
ws.Cell(row, 17).Value = detail2.utility_bill_operating_expenses;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName =
"TH SarabunPSK";
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.SetBold().Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical =
XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.NumberFormat.SetFormat("#,#0");
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Horizontal =
XLAlignmentHorizontalValues.Center;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Fill.BackgroundColor =
XLColor.FromArgb(218, 238, 243);
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 6), ws.Cell(row, 9)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 10), ws.Cell(row, 11)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Cell(row, 1).Style.Font.FontColor = XLColor.Red;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 19).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 11)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Cell(row, 1).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 19).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 16).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 17).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
row++;
}
if (detail2.color == 3) // ชื่อคณะ สีแดงอ่อน
{
ws.Cell(row, 1).Value = null;
ws.Cell(row, 2).Value = detail2.salary_person;
ws.Cell(row, 3).Value = detail2.regular_wages_person;
ws.Cell(row, 4).Value = detail2.temporary_wages_person;
ws.Cell(row, 5).Value = detail2.government_employee;
ws.Cell(row, 6).Value = detail2.compensation_operating_budget;
ws.Cell(row, 7).Value = detail2.cost_operating_budget;
ws.Cell(row, 8).Value = detail2.material_cost_operating_budget;
ws.Cell(row, 9).Value = detail2.utility_bill_operating_budget;
ws.Cell(row, 10).Value = detail2.cost_equipment;
ws.Cell(row, 11).Value = detail2.land_building;
ws.Cell(row, 14).Value = detail2.compensation_operating_expenses;
ws.Cell(row, 15).Value = detail2.cost_operating_expenses;
ws.Cell(row, 16).Value = detail2.material_cost_operating_expenses;
ws.Cell(row, 17).Value = detail2.utility_bill_operating_expenses;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName =
"TH SarabunPSK";
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.SetBold().Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical =
XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.NumberFormat.SetFormat("#,#0");
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Horizontal =
XLAlignmentHorizontalValues.Center;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Fill.BackgroundColor =
XLColor.FromArgb(255, 204, 204);
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 6), ws.Cell(row, 9)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 10), ws.Cell(row, 11)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 19).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 11)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Cell(row, 1).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 19).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 16).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 17).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
row++;
}
if (detail2.color == 5) // ชื่อคณะ สีขาว detail
{
ws.Cell(row, 1).Value = null;
ws.Cell(row, 2).Value = detail2.salary_person;
ws.Cell(row, 3).Value = detail2.regular_wages_person;
ws.Cell(row, 4).Value = detail2.temporary_wages_person;
ws.Cell(row, 5).Value = detail2.government_employee;
ws.Cell(row, 6).Value = detail2.compensation_operating_budget;
ws.Cell(row, 7).Value = detail2.cost_operating_budget;
ws.Cell(row, 8).Value = detail2.material_cost_operating_budget;
ws.Cell(row, 9).Value = detail2.utility_bill_operating_budget;
ws.Cell(row, 10).Value = detail2.cost_equipment;
ws.Cell(row, 11).Value = detail2.land_building;
ws.Cell(row, 14).Value = detail2.compensation_operating_expenses;
ws.Cell(row, 15).Value = detail2.cost_operating_expenses;
ws.Cell(row, 16).Value = detail2.material_cost_operating_expenses;
ws.Cell(row, 17).Value = detail2.utility_bill_operating_expenses;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName =
"TH SarabunPSK";
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.SetBold().Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical =
XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.NumberFormat.SetFormat("#,#0");
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Horizontal =
XLAlignmentHorizontalValues.Center;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 6), ws.Cell(row, 9)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 10), ws.Cell(row, 11)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 19).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 11)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Cell(row, 1).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 1).Style.Border.TopBorder = XLBorderStyleValues.None;
ws.Cell(row, 1).Style.Border.BottomBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 19).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 16).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 17).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
row++;
}
if (detail2.color == 4) // ชื่อย่อยคณะ สีเทาอ่อน
{
ws.Cell(row, 1).Value = null;
ws.Cell(row, 2).Value = detail2.salary_person;
ws.Cell(row, 3).Value = detail2.regular_wages_person;
ws.Cell(row, 4).Value = detail2.temporary_wages_person;
ws.Cell(row, 5).Value = detail2.government_employee;
ws.Cell(row, 6).Value = detail2.compensation_operating_budget;
ws.Cell(row, 7).Value = detail2.cost_operating_budget;
ws.Cell(row, 8).Value = detail2.material_cost_operating_budget;
ws.Cell(row, 9).Value = detail2.utility_bill_operating_budget;
ws.Cell(row, 10).Value = detail2.cost_equipment;
ws.Cell(row, 11).Value = detail2.land_building;
ws.Cell(row, 14).Value = detail2.compensation_operating_expenses;
ws.Cell(row, 15).Value = detail2.cost_operating_expenses;
ws.Cell(row, 16).Value = detail2.material_cost_operating_expenses;
ws.Cell(row, 17).Value = detail2.utility_bill_operating_expenses;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName =
"TH SarabunPSK";
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.SetBold().Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical =
XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.NumberFormat.SetFormat("#,#0");
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Horizontal =
XLAlignmentHorizontalValues.Center;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Fill.BackgroundColor =
XLColor.FromArgb(237, 235, 249);
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 6), ws.Cell(row, 9)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 10), ws.Cell(row, 11)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 19).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 11)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Cell(row, 1).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 19).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 16).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 17).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
row++;
}
if (detail2.color == 6) // ชื่อย่อยคณะ+พื้นที่ สีขาว detail
{
ws.Cell(row, 1).Value = null;
ws.Cell(row, 2).Value = detail2.salary_person;
ws.Cell(row, 3).Value = detail2.regular_wages_person;
ws.Cell(row, 4).Value = detail2.temporary_wages_person;
ws.Cell(row, 5).Value = detail2.government_employee;
ws.Cell(row, 6).Value = detail2.compensation_operating_budget;
ws.Cell(row, 7).Value = detail2.cost_operating_budget;
ws.Cell(row, 8).Value = detail2.material_cost_operating_budget;
ws.Cell(row, 9).Value = detail2.utility_bill_operating_budget;
ws.Cell(row, 10).Value = detail2.cost_equipment;
ws.Cell(row, 11).Value = detail2.land_building;
ws.Cell(row, 14).Value = detail2.compensation_operating_expenses;
ws.Cell(row, 15).Value = detail2.cost_operating_expenses;
ws.Cell(row, 16).Value = detail2.material_cost_operating_expenses;
ws.Cell(row, 17).Value = detail2.utility_bill_operating_expenses;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.FontName =
"TH SarabunPSK";
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Font.SetBold().Font.FontSize = 16;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.WrapText = true;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Vertical =
XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.NumberFormat.SetFormat("#,#0");
ws.Range(ws.Cell(row, 2), ws.Cell(row, 19)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1), ws.Cell(row, 19)).Style.Alignment.Horizontal =
XLAlignmentHorizontalValues.Center;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 5)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 6), ws.Cell(row, 9)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 10), ws.Cell(row, 11)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 19).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 2), ws.Cell(row, 11)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 14), ws.Cell(row, 17)).Style.Border.OutsideBorder =
XLBorderStyleValues.Thin;
ws.Cell(row, 1).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 1).Style.Border.TopBorder = XLBorderStyleValues.None;
ws.Cell(row, 1).Style.Border.BottomBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 13).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 18).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 19).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 3).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 4).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 5).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 6).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 7).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 8).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 9).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 10).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 11).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 14).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 15).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 16).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 17).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
row++;
}
}
}
using (var stream1 = new MemoryStream())
{
workbook.SaveAs(stream1);
var content = stream1.ToArray();
return File(
content,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"budget_government_allocate" + ".xlsx");
}
}
[SwaggerOperation("1 รายการวัสดุ 2 รายการค่าใช้สอย")]
[HttpPost, Route("reports/national_budget_list/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetNationalBudgetListReport([FromRoute] string type,
[FromBody] national_budget_list _nationalBudgetList)
{
string item = "รายการวัสดุ (คำของบประมาณรายจ่าย ปี ";
string item2 = "รายการค่าใช้สอย (คำของบประมาณรายจ่าย ปี ";
if (_nationalBudgetList.report_type == 1)
{
_nationalBudgetList.budget_year = item + _nationalBudgetList.budget_year + ")";
foreach (var detail in _nationalBudgetList.data)
{
if (detail != null)
{
detail.total_amount = (detail.quantity * detail.unit_price);
}
}
}
if (_nationalBudgetList.report_type == 2)
{
_nationalBudgetList.budget_year = item2 + _nationalBudgetList.budget_year + ")";
foreach (var detail in _nationalBudgetList.data)
{
if (detail != null)
{
detail.total_amount = (detail.quantity * detail.unit_price*detail.quantity_month);
}
}
}
var nationalBudgetLists = new List<national_budget_list>() { _nationalBudgetList };
Report report = new Report();
if (_nationalBudgetList.report_type == 2)
{
report.Load(_setting.report_path + "national_budget_list_type2.frx");
report.RegisterData(nationalBudgetLists, "national_budget_list");
report.Prepare();
MemoryStream stream1 = new MemoryStream();
switch (type)
{
case "pdf":
PDFExport pdf = new PDFExport();
report.Export(pdf, stream1);
stream1.Seek(0, SeekOrigin.Begin);
return File(stream1, "application/pdf");
case "xls":
case "xlsx":
Excel2007Export excel = new Excel2007Export();
report.Export(excel, stream1);
stream1.Seek(0, SeekOrigin.Begin);
return File(
stream1,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"ค่าเช่าทรัพย์สิน" + ".xlsx");
}
}
if (_nationalBudgetList.report_type == 1)
{
report.Load(_setting.report_path + "national_budget_list.frx");
report.RegisterData(nationalBudgetLists, "national_budget_list");
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",
"ค่าคณะกรรมการตรวจสอบพัสดุในงานจ้างก่อสร้าง" + ".xlsx");
}
}
return Ok();
}
[SwaggerOperation("ค่าประกันภัยรถยนต์ราชการ")]
[HttpPost, Route("reports/budget_progress_insurances/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetInsurancesListReport([FromRoute] string type,
[FromBody] budget_progress_insurances insurances)
{
foreach (var detail in insurances.data)
{
if (detail != null)
{
detail.total_amount = (detail.amount + detail.car_act);
}
switch (detail.month)
{
case 1:
detail.month_th = "มกราคม";
break;
case 2:
detail.month_th = "กุมภาพันธ์";
break;
case 3:
detail.month_th = "มีนาคม";
break;
case 4:
detail.month_th = "เมษายน";
break;
case 5:
detail.month_th = "พฤษภาคม";
break;
case 6:
detail.month_th = "มิถุนายน";
break;
case 7:
detail.month_th = "กรกฎาคม";
break;
case 8:
detail.month_th = "สิงหาคม";
break;
case 9:
detail.month_th = "กันยายน";
break;
case 10:
detail.month_th = "ตุลาคม";
break;
case 11:
detail.month_th = "พฤศจิกายน";
break;
case 12:
detail.month_th = "ธันวาคม";
break;
}
}
var _insurances = new List<budget_progress_insurances>() { insurances };
Report report = new Report();
report.Load(_setting.report_path + "budget_progress_insurances.frx");
report.RegisterData(_insurances, "budget_progress_insurances");
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",
"ค่าประกันภัยรถยนต์ราชการ" + ".xlsx");
}
return Ok();
}
[SwaggerOperation("ค่าคณะกรรมการตรวจสอบพัสดุในงานจ้างก่อสร้าง,ค่าคณะกรรมการอื่น ๆ")]
[HttpPost, Route("reports/parcel_inspection_committee/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetCommitteeReport([FromRoute] string type,
[FromBody] parcel_inspection_committee committee)
{
int no = 1;
foreach (var data in committee.data)
{
data.list = "รายการ " + no;
no++;
foreach (var detail in data.data_detail)
{
if (detail != null)
{
data.total_amount = (detail.quantity * detail.quantity_person * detail.quantity_work *
detail.amount);
}
}
var s = committee.data.Sum(d => d.total_amount);
committee.total_all_amount = s;
}
var _committees = new List<parcel_inspection_committee>() { committee };
Report report = new Report();
report.Load(_setting.report_path + "other_committee_fee.frx");
report.RegisterData(_committees, "parcel_inspection_committee");
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",
"national_budget_list" + ".xlsx");
}
return Ok();
}
[SwaggerOperation("ค่าจ้างให้บริการงานจ้างออกแบบ")]
[HttpPost, Route("reports/design_services/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetDesignServicesReport([FromRoute] string type,
[FromBody] parcel_inspection_committee committee)
{
int no = 1;
string per = "%";
foreach (var data in committee.data)
{
data.list = "รายการ " + no;
no++;
foreach (var detail in data.data_detail)
{
if (detail != null)
{
detail.unit = detail.quantity_work + per;
detail.amount = (detail.quantity * detail.quantity_person * detail.quantity_work) / 100;
}
}
var total = data.data_detail.Sum(d => d.amount);
data.total_amount = total;
var s = committee.data.Sum(d => d.total_amount);
committee.total_all_amount = s;
}
var _committees = new List<parcel_inspection_committee>() { committee };
Report report = new Report();
report.Load(_setting.report_path + "design_services.frx");
report.RegisterData(_committees, "parcel_inspection_committee");
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",
"ค่าจ้างให้บริการงานจ้างออกแบบ" + ".xlsx");
}
return Ok();
}
[SwaggerOperation("ค่าอาหารทำการนอกเวลา 1 วันทำการปกติ 2 วันหยุดราชการ")]
[HttpPost, Route("reports/meal_costs_outside/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetDesignServicesReport([FromRoute] string type,
[FromBody] meal_costs_outside mealCostsOutsides)
{
var meals = mealCostsOutsides.data.ToList();
if (mealCostsOutsides.topic_type == 1)
{
mealCostsOutsides.topic = "วันทำการปกติ";
}
if (mealCostsOutsides.topic_type == 2)
{
mealCostsOutsides.topic = "วันหยุดราชการ";
}
foreach (var detail in mealCostsOutsides.data)
{
detail.total_amount = (detail.day * detail.person * detail.amount);
}
mealCostsOutsides.day = mealCostsOutsides.data.Sum(d => d.day);
mealCostsOutsides.person = mealCostsOutsides.data.Sum(d => d.person);
mealCostsOutsides.amount = mealCostsOutsides.data.Sum(d => d.amount);
mealCostsOutsides.total_amount = meals.Sum(f => f.total_amount);
var meal = new List<meal_costs_outside>() { mealCostsOutsides };
Report report = new Report();
report.Load(_setting.report_path + "meal_costs_outside.frx");
report.RegisterData(meal, "meal_costs_outside");
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",
"ค่าอาหารทำการนอกเวลา" + ".xlsx");
}
return Ok();
}
[SwaggerOperation("ค่าเบี้ยเลี้ยง ที่พัก พาหนะ")]
[HttpPost, Route("reports/expense/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetExpenseReport([FromRoute] string type,
[FromBody] expense _expense)
{
var meals = _expense.data.ToList();
if (_expense.topic_type == 1)
{
_expense.topic = "ค่าเบี้ยเลี้ยง";
_expense.text_1 = "จำนวนเงิน/วัน";
_expense.text_2 = "จำนวน (วัน)";
foreach (var detail in _expense.data)
{
detail.total_amount =
(detail.quantity_1 * detail.quantity_2 * detail.quantity_3 * detail.quantity_4);
}
}
if (_expense.topic_type == 2)
{
_expense.topic = "ค่าเช่าที่พัก";
_expense.text_1 = "จำนวนเงิน/คน/คืน";
_expense.text_2 = "จำนวนวัน";
foreach (var detail in _expense.data)
{
detail.total_amount = (detail.quantity_1 * detail.quantity_2 * detail.quantity_3);
}
}
if (_expense.topic_type == 3)
{
_expense.topic = "ค่าพาหนะ";
_expense.text_1 = "จำนวนเงิน";
_expense.text_2 = "จำนวนครั้ง";
foreach (var detail in _expense.data)
{
detail.total_amount = (detail.quantity_1 * detail.quantity_2 * detail.quantity_3);
}
}
_expense.quantity_1 = _expense.data.Sum(d => d.quantity_1);
_expense.quantity_2 = _expense.data.Sum(d => d.quantity_2);
_expense.quantity_3 = _expense.data.Sum(d => d.quantity_3);
_expense.quantity_4 = _expense.data.Sum(d => d.quantity_4);
_expense.total_amount = meals.Sum(f => f.total_amount);
var expenses = new List<expense>() { _expense };
Report report = new Report();
if (_expense.topic_type == 1)
{
report.Load(_setting.report_path + "expense_allowance.frx");
report.RegisterData(expenses, "expense");
report.Prepare();
MemoryStream stream1 = new MemoryStream();
switch (type)
{
case "pdf":
PDFExport pdf = new PDFExport();
report.Export(pdf, stream1);
stream1.Seek(0, SeekOrigin.Begin);
return File(stream1, "application/pdf");
case "xls":
case "xlsx":
Excel2007Export excel = new Excel2007Export();
report.Export(excel, stream1);
stream1.Seek(0, SeekOrigin.Begin);
return File(
stream1,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"ค่าเบี้ยเลี้ยง" + ".xlsx");
}
}
if (_expense.topic_type != 1)
{
report.Load(_setting.report_path + "expense.frx");
report.RegisterData(expenses, "expense");
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",
"ค่าใช้สอย" + ".xlsx");
}
}
return Ok();
}
[SwaggerOperation("แบบคำนวณค่าวัสดุการศึกษา")]
[HttpPost, Route("reports/material_edu_cal_form/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetCalFormReport([FromRoute] string type,
[FromBody] material_edu_cal_form calForm)
{
foreach (var data in calForm.data)
{
int row_no = 1;
var total = data.data_detail.ToList();
foreach (var detail2 in data.data_detail)
{
if (detail2.topic_type == 2)
{
detail2.no = row_no.ToString();
row_no++;
// detail2.total_amount_1 = detail2.amount_1*detail2.rate_1;
// detail2.total_amount_2 = detail2.amount_2*detail2.rate_2;
// detail2.total_all_amount = detail2.total_amount_1 + detail2.total_amount_2;
}
calForm.total_amount = calForm.data.Sum(d => d.amount);
}
}
var _cal = new List<material_edu_cal_form>() { calForm };
Report report = new Report();
report.Load(_setting.report_path + "material_edu_cal_form.frx");
report.RegisterData(_cal, "material_edu_cal_form");
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",
"แบบคำนวณค่าวัสดุการศึกษา" + ".xlsx");
}
return Ok();
}
[SwaggerOperation("ค่าควบคุมงานก่อสร้าง")]
[HttpPost, Route("reports/control_cost_construction/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetConstructionReport([FromRoute] string type,
[FromBody] control_cost_construction _expense)
{
if (_expense.topic_type == 1)
{
_expense.topic = "ค่าควบคุมงานก่อสร้าง (หัวหน้าควบคุมงานก่อสร้าง)";
}
if (_expense.topic_type == 2)
{
_expense.topic = "ค่าควบคุมงานก่อสร้าง (ผู้ปฏิบัติการ)";
}
foreach (var detail in _expense.data)
{
detail.total_amount = (detail.quantity_day * detail.quantity_person * detail.amount);
}
var expenses = new List<control_cost_construction>() { _expense };
Report report = new Report();
report.Load(_setting.report_path + "control_cost_construction.frx");
report.RegisterData(expenses, "control_cost_construction");
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",
"ค่าควบคุมงานก่อสร้าง" + ".xlsx");
}
return Ok();
}
}
}