Update
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
kamonwan taengsuk
2024-08-28 17:07:57 +07:00
parent 9c37d45f5c
commit e3335ae91e
12 changed files with 237 additions and 158 deletions

View File

@@ -3612,92 +3612,188 @@ namespace rmutr_report.Controllers
return Ok();
}
[SwaggerOperation("รวมทุกแผน")]
[SwaggerOperation("request_summary")]
[HttpPost, Route("reports/request_summary_all_plans/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetBudgetRequestSummaryReport([FromRoute] string type,
[FromBody] request_summary requestSummary)
public IActionResult GetRequestSummaryAllReport([FromRoute] string type, [FromBody] request_summary requestSummary)
{
int row = 1;
foreach (var requestSummaryDetail in requestSummary.data_1)
{
requestSummaryDetail.rowno = row.ToString();
row++;
}
var workbook = new XLWorkbook();
var ws = workbook.Worksheets.Add("Sheet1");
ws.Cell("A1").Value = "งบประมาณแผ่นดิน ปีงบประมาณ พ.ศ. "+requestSummary.budget_year+" (คำขอ)";
ws.Cell("A1").Style.Font.SetBold().Font.FontName = "TH SarabunPSK";
ws.Cell("A1").Style.Font.FontSize = 16;
ws.Cell("A2").Value = "มหาวิทยาลัยเทคโนโลยีราชมงคลรัตนโกสินทร์";
ws.Cell("A2").Style.Font.SetBold().Font.FontName = "TH SarabunPSK";
ws.Cell("A2").Style.Font.FontSize = 16;
int col = 2;
int rowhead = 4;
int rowt = 5;
int row = 6;
requestSummary.short_budget_year = requestSummary.budget_year.Substring(2, 2);
var requestSummaries = new List<request_summary>() { requestSummary };
int rowno = 1;
if (requestSummary != null)
{
var countbudgetplan = requestSummary.budget_plans.Count;
if (countbudgetplan==1)
{
foreach (var i in requestSummary.budget_plans)
{
ws.Range("A3:A5").Merge().Value = "งบรายจ่าย";
ws.Cell(3, 2).Value = "งบประมาณ " + requestSummary.budget_year + " (คำขอ)";
ws.Cell(4, 2).Value = i.budget_plan_name;
ws.Cell(5, 2).Value = i.total_value;
ws.Cell(4, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell(4, 2).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell(4, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(4, 2).Style.Border.RightBorder = XLBorderStyleValues.Thin;
ws.Cell(4, 2).Style.Font.FontName = "TH SarabunPSK";
ws.Cell(4, 2).Style.Font.FontSize = 16;
ws.Cell(4, 2).Style.Alignment.WrapText = true;
ws.Cell("A3").Style.Alignment.WrapText = true;
ws.Cell("A3").Style.Font.SetBold().Font.FontName = "TH SarabunPSK";
ws.Cell("A3").Style.Font.FontSize = 16;
ws.Range("A3:A5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range("A3:A5").Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204);
ws.Cell(3, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(3, 2).Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204);
ws.Cell(3, 2).Style.Font.SetBold().Font.FontName = "TH SarabunPSK";
ws.Cell(3, 2).Style.Font.FontSize = 16;
ws.Cell(3, 2).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell(4, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(4, 2).Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204);
ws.Cell(4, 2).Style.Font.SetBold().Font.FontName = "TH SarabunPSK";
ws.Cell(4, 2).Style.Font.FontSize = 16;
ws.Cell(4, 2).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Cell(5, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(5, 2).Style.Fill.BackgroundColor = XLColor.FromArgb(255, 153, 204);
ws.Cell(5, 2).Style.Font.SetBold().Font.FontName = "TH SarabunPSK";
ws.Cell(5, 2).Style.Font.FontSize = 16;
ws.Cell(5, 2).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
// ws.Cell(rowhead, col).Value = i.budget_plan_name;
// ws.Cell(rowhead, col).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
// ws.Cell(rowhead, col).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
// ws.Cell(rowhead, col).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
// ws.Cell(rowhead, col).Style.Border.RightBorder = XLBorderStyleValues.Thin;
// ws.Cell(rowhead, col).Style.Font.FontName = "TH SarabunPSK";
// ws.Cell(rowhead, col).Style.Font.FontSize = 16;
// ws.Cell(rowhead, col).Style.Alignment.WrapText = true;
// col++;
// ws.Cell(3, 2).Value = "งบประมาณ " + requestSummary.budget_year + " (คำขอ)";
}
Report report = new Report();
report.Load(_setting.report_path + "all_plans.frx");
report.RegisterData(requestSummaries, "request_summary");
report.Prepare();
MemoryStream stream = new MemoryStream();
switch (type)
foreach (var detail in requestSummary.data)
{
if (detail.color==1&&detail.is_bold==null)
{
ws.Cell(row, 1).Value = rowno+"."+detail.list;
rowno++;
foreach (var budgetPlan in detail.budget_plans)
{
ws.Cell(row, 2).Value = budgetPlan.value;
}
ws.Cell(row,1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
ws.Cell(row,2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Cell(5,2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Font.SetBold().Font.FontName = "TH SarabunPSK";
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Font.FontSize = 16;
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Fill.BackgroundColor = XLColor.FromArgb(204, 153, 255);
ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
row++;
}
if (detail.color==2&&detail.is_bold==true)
{
ws.Cell(row, 1).Value = detail.list;
foreach (var budgetPlan in detail.budget_plans)
{
ws.Cell(row, 2).Value = budgetPlan.value;
}
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Font.SetBold().Font.FontName = "TH SarabunPSK";
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Font.FontSize = 16;
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Fill.BackgroundColor = XLColor.FromArgb(153, 204, 255);
ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
row++;
}
if (detail.color==3&&detail.is_bold==null)
{
ws.Cell(row, 1).Value = detail.list;
foreach (var budgetPlan in detail.budget_plans)
{
ws.Cell(row, 2).Value = budgetPlan.value;
}
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Font.SetBold().Font.FontName = "TH SarabunPSK";
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Font.FontSize = 16;
ws.Range(ws.Cell(row, 1),ws.Cell(row,2)).Style.Fill.BackgroundColor = XLColor.FromArgb(255, 204, 153);
ws.Cell(row, 1).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
ws.Cell(row, 2).Style.Border.OutsideBorder = XLBorderStyleValues.Thin;
row++;
}
}
}
}
using (var stream = new MemoryStream())
{
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",
"request_summary" + ".xlsx");
workbook.SaveAs(stream);
var content = stream.ToArray();
string date = DateTime.Now.ToString("yyyyMMddHHmmss");
return File(
content,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
date + ".xlsx");
}
return Ok();
}
[SwaggerOperation("แผนบูรณาการแผนยุทธศาสตร์")]
[HttpPost, Route("reports/request_summary_integrated_strategic/{type}")]
[ApiExplorerSettings(GroupName = "reports")]
public IActionResult GetBudgetRequestSummary2Report([FromRoute] string type,
[FromBody] request_summary requestSummary)
{
requestSummary.short_budget_year = requestSummary.budget_year.Substring(2, 2);
int row = 1;
foreach (var requestSummaryDetail in requestSummary.data_1)
{
requestSummaryDetail.rowno = row.ToString();
row++;
}
var requestSummaries = new List<request_summary>() { requestSummary };
Report report = new Report();
report.Load(_setting.report_path + "integrated_strategic.frx");
report.RegisterData(requestSummaries, "request_summary");
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",
"request_summary" + ".xlsx");
}
return Ok();
}
// [SwaggerOperation("แผนบูรณาการแผนยุทธศาสตร์")]
// [HttpPost, Route("reports/request_summary_integrated_strategic/{type}")]
// [ApiExplorerSettings(GroupName = "reports")]
// public IActionResult GetBudgetRequestSummary2Report([FromRoute] string type,
// [FromBody] request_summary requestSummary)
// {
//
// var requestSummaries = new List<request_summary>() { requestSummary };
//
// Report report = new Report();
// report.Load(_setting.report_path + "integrated_strategic.frx");
// report.RegisterData(requestSummaries, "request_summary");
// 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",
// "request_summary" + ".xlsx");
// }
//
// return Ok();
// }
}
}