diff --git a/Controllers/Expenses.Controller.cs b/Controllers/Expenses.Controller.cs index e38a1d9..1850780 100644 --- a/Controllers/Expenses.Controller.cs +++ b/Controllers/Expenses.Controller.cs @@ -1,7 +1,11 @@ using System; +using System.Collections.Generic; using System.IO; using System.Net; 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; @@ -22,133 +26,171 @@ namespace rmutr_report.Controllers public IActionResult GetExpensesReport([FromRoute] string type, [FromBody] operating_expenses _operating_expenses) { + var _operating_expensess = new List() { _operating_expenses }; + + Report report = new Report(); + report.Load(_setting.report_path + "operating_expenses.frx"); + report.RegisterData(_operating_expensess, "operating_expenses"); + report.Prepare(); + + MemoryStream stream = new MemoryStream(); + switch (type) { - var workbook = new XLWorkbook(); - var ws = workbook.Worksheets.Add("ค่าใช้จ่ายดำเนินงาน"); - ws.Range("A1:D1").Merge().Value = "ปีงบประมาณ " + _operating_expenses.budget_year + " แผน " + _operating_expenses.plan; - ws.Range("A1:D1").Style.Alignment.WrapText = true; - ws.Range("A1:D1").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; - ws.Range("A1:D1").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; - ws.Cell("A1").Style.Font.FontName = "TH Sarabun New"; - ws.Cell("A1").Style.Font.FontSize = 14; - ws.Range("A1:D1").Style.Font.Bold = true; - ws.Range("A2:D2").Merge().Value = "ผลผลิต " + _operating_expenses.product+ " หน่วยงาน " + _operating_expenses.agency + " พื้นที่ "+_operating_expenses.area; - ws.Range("A2:D2").Style.Alignment.WrapText = true; - ws.Range("A2:D2").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; - ws.Range("A2:D2").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; - ws.Cell("A2").Style.Font.FontName = "TH Sarabun New"; - ws.Cell("A2").Style.Font.FontSize = 14; - ws.Range("A2:D2").Style.Font.Bold = true; - ws.Cell("D3").Value = "หน่วย : "+ _operating_expenses.total_amount +" บาท"; - ws.Cell("D3").Style.Font.FontName = "TH Sarabun New"; - ws.Cell("D3").Style.Font.FontSize = 14; - ws.Cell("D3").Style.Font.Bold = true; - ws.Cell("D3").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; - ws.Cell("D3").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; - //ws.Cell("D3").DataType = XLDataType.Number; - ws.Cell("D3").Style.NumberFormat.NumberFormatId = 2; - ws.Cell("A4").Value = "ลำดับที่"; - ws.Cell("A4").Style.Font.FontName = "TH Sarabun New"; - ws.Cell("A4").Style.Font.FontSize = 14; - ws.Cell("A4").Style.Font.Bold = true; - ws.Cell("A4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; - ws.Cell("A4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; - ws.Cell("A4").Style.Border.TopBorder = XLBorderStyleValues.Thin; - ws.Cell("A4").Style.Border.RightBorder = XLBorderStyleValues.Thin; - ws.Cell("A5").Style.Border.TopBorder = XLBorderStyleValues.Thin; - ws.Cell("A5").Style.Border.RightBorder = XLBorderStyleValues.Thin; - ws.Cell("B4").Value = "งบรายจ่าย"; - ws.Cell("B4").Style.Font.FontName = "TH Sarabun New"; - ws.Cell("B4").Style.Font.FontSize = 14; - ws.Cell("B4").Style.Font.Bold = true; - ws.Cell("B4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; - ws.Cell("B4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; - ws.Cell("B4").Style.Border.TopBorder = XLBorderStyleValues.Thin; - ws.Cell("B4").Style.Border.RightBorder = XLBorderStyleValues.Thin; - ws.Cell("B5").Style.Border.TopBorder = XLBorderStyleValues.Thin; - ws.Cell("B5").Style.Border.RightBorder = XLBorderStyleValues.Thin; - ws.Cell("C4").Value = "คำขอตั้ง"; - ws.Cell("C4").Style.Font.FontName = "TH Sarabun New"; - ws.Cell("C4").Style.Font.FontSize = 14; - ws.Cell("C4").Style.Font.Bold = true; - ws.Cell("C4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; - ws.Cell("C4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; - ws.Cell("C4").Style.Border.TopBorder = XLBorderStyleValues.Thin; - ws.Cell("C4").Style.Border.RightBorder = XLBorderStyleValues.Thin; - ws.Cell("C5").Style.Border.TopBorder = XLBorderStyleValues.Thin; - ws.Cell("C5").Style.Border.RightBorder = XLBorderStyleValues.Thin; - ws.Cell("D4").Value = "สรุปคำชี้แจง"; - ws.Cell("D4").Style.Font.FontName = "TH Sarabun New"; - ws.Cell("D4").Style.Font.FontSize = 14; - ws.Cell("D4").Style.Font.Bold = true; - ws.Cell("D4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; - ws.Cell("D4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; - ws.Cell("D4").Style.Border.TopBorder = XLBorderStyleValues.Thin; - ws.Cell("D4").Style.Border.RightBorder = XLBorderStyleValues.Thin; - ws.Cell("D5").Style.Border.TopBorder = XLBorderStyleValues.Thin; - ws.Cell("D5").Style.Border.RightBorder = XLBorderStyleValues.Thin; - ws.Cell("A5").Style.Border.TopBorder = XLBorderStyleValues.None; - ws.Cell("B5").Style.Border.TopBorder = XLBorderStyleValues.None; - ws.Cell("C5").Style.Border.TopBorder = XLBorderStyleValues.None; - ws.Cell("D5").Style.Border.TopBorder = XLBorderStyleValues.None; - - ws.Column(1).Width = 10; - ws.Column(2).Width = 40; - ws.Column(3).Width = 30; - ws.Column(4).Width = 50; - int row = 6; - ws.Cell(row, 3).SetDataType(XLDataType.Number); - if (_operating_expenses != null) - { - ws.Cell("C5").Value = "ปี "+_operating_expenses.request_year; - ws.Cell("C5").Style.Alignment.WrapText = true; - ws.Cell("C5").Style.Font.FontName = "TH Sarabun New"; - ws.Cell("C5").Style.Font.FontSize = 14; - ws.Cell("C5").Style.Font.Bold = true; - ws.Cell("C5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; - ws.Cell("C5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; - - foreach (var expenses in _operating_expenses.data) - { - ws.Cell(row, 1).Value = "'"+expenses.no; - ws.Cell(row, 2).Value = expenses.expenditure_budget; - ws.Cell(row, 3).Value = expenses.amount; - ws.Cell(row, 4).Value = expenses.clarification_summary; - - ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Font.FontName = - "TH Sarabun New"; - ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Font.FontSize = 14; - 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 = - XLAlignmentVerticalValues.Center; - ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; - ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).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.Right; - ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; - ws.Range(ws.Cell(5, 1), ws.Cell(5, 4)).Style.Font.Bold = true; - ws.Range(ws.Cell(6, 1), ws.Cell(6, 4)).Style.Border.BottomBorder = XLBorderStyleValues.Double; - ws.Range(ws.Cell(6, 1), ws.Cell(6, 4)).Style.Font.Bold = true; - //ws.Cell(row, 3).Style.NumberFormat.NumberFormatId = 2; - //ws.Cell(row, 3).DataType = XLDataType.Number; - //ws.Cell(row,3).SetDataType(XLDataType.Number); - ws.Cell(row,3).Style.NumberFormat.SetFormat("#,#"); - - row++; - } - } - using (var stream = new MemoryStream()) - { - workbook.SaveAs(stream); - var content = stream.ToArray(); + 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( - content, + stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", - "operatingexpenses_" + date + ".xlsx"); - } + "operating_expenses_"+date + ".xlsx"); + break; + 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; } + + return Ok(); } + //{ + // var workbook = new XLWorkbook(); + // var ws = workbook.Worksheets.Add("ค่าใช้จ่ายดำเนินงาน"); + // ws.Range("A1:D1").Merge().Value = "ปีงบประมาณ " + _operating_expenses.budget_year + " แผน " + _operating_expenses.plan; + // ws.Range("A1:D1").Style.Alignment.WrapText = true; + // ws.Range("A1:D1").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; + // ws.Range("A1:D1").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; + // ws.Cell("A1").Style.Font.FontName = "TH Sarabun New"; + // ws.Cell("A1").Style.Font.FontSize = 14; + // ws.Range("A1:D1").Style.Font.Bold = true; + // ws.Range("A2:D2").Merge().Value = "ผลผลิต " + _operating_expenses.product+ " หน่วยงาน " + _operating_expenses.agency + " พื้นที่ "+_operating_expenses.area; + // ws.Range("A2:D2").Style.Alignment.WrapText = true; + // ws.Range("A2:D2").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; + // ws.Range("A2:D2").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; + // ws.Cell("A2").Style.Font.FontName = "TH Sarabun New"; + // ws.Cell("A2").Style.Font.FontSize = 14; + // ws.Range("A2:D2").Style.Font.Bold = true; + // ws.Cell("D3").Value = "หน่วย : "+ _operating_expenses.total_amount +" บาท"; + // ws.Cell("D3").Style.Font.FontName = "TH Sarabun New"; + // ws.Cell("D3").Style.Font.FontSize = 14; + // ws.Cell("D3").Style.Font.Bold = true; + // ws.Cell("D3").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; + // ws.Cell("D3").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; + // //ws.Cell("D3").DataType = XLDataType.Number; + // ws.Cell("D3").Style.NumberFormat.NumberFormatId = 2; + // ws.Cell("A4").Value = "ลำดับที่"; + // ws.Cell("A4").Style.Font.FontName = "TH Sarabun New"; + // ws.Cell("A4").Style.Font.FontSize = 14; + // ws.Cell("A4").Style.Font.Bold = true; + // ws.Cell("A4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; + // ws.Cell("A4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; + // ws.Cell("A4").Style.Border.TopBorder = XLBorderStyleValues.Thin; + // ws.Cell("A4").Style.Border.RightBorder = XLBorderStyleValues.Thin; + // ws.Cell("A5").Style.Border.TopBorder = XLBorderStyleValues.Thin; + // ws.Cell("A5").Style.Border.RightBorder = XLBorderStyleValues.Thin; + // ws.Cell("B4").Value = "งบรายจ่าย"; + // ws.Cell("B4").Style.Font.FontName = "TH Sarabun New"; + // ws.Cell("B4").Style.Font.FontSize = 14; + // ws.Cell("B4").Style.Font.Bold = true; + // ws.Cell("B4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; + // ws.Cell("B4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; + // ws.Cell("B4").Style.Border.TopBorder = XLBorderStyleValues.Thin; + // ws.Cell("B4").Style.Border.RightBorder = XLBorderStyleValues.Thin; + // ws.Cell("B5").Style.Border.TopBorder = XLBorderStyleValues.Thin; + // ws.Cell("B5").Style.Border.RightBorder = XLBorderStyleValues.Thin; + // ws.Cell("C4").Value = "คำขอตั้ง"; + // ws.Cell("C4").Style.Font.FontName = "TH Sarabun New"; + // ws.Cell("C4").Style.Font.FontSize = 14; + // ws.Cell("C4").Style.Font.Bold = true; + // ws.Cell("C4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; + // ws.Cell("C4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; + // ws.Cell("C4").Style.Border.TopBorder = XLBorderStyleValues.Thin; + // ws.Cell("C4").Style.Border.RightBorder = XLBorderStyleValues.Thin; + // ws.Cell("C5").Style.Border.TopBorder = XLBorderStyleValues.Thin; + // ws.Cell("C5").Style.Border.RightBorder = XLBorderStyleValues.Thin; + // ws.Cell("D4").Value = "สรุปคำชี้แจง"; + // ws.Cell("D4").Style.Font.FontName = "TH Sarabun New"; + // ws.Cell("D4").Style.Font.FontSize = 14; + // ws.Cell("D4").Style.Font.Bold = true; + // ws.Cell("D4").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; + // ws.Cell("D4").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; + // ws.Cell("D4").Style.Border.TopBorder = XLBorderStyleValues.Thin; + // ws.Cell("D4").Style.Border.RightBorder = XLBorderStyleValues.Thin; + // ws.Cell("D5").Style.Border.TopBorder = XLBorderStyleValues.Thin; + // ws.Cell("D5").Style.Border.RightBorder = XLBorderStyleValues.Thin; + // ws.Cell("A5").Style.Border.TopBorder = XLBorderStyleValues.None; + // ws.Cell("B5").Style.Border.TopBorder = XLBorderStyleValues.None; + // ws.Cell("C5").Style.Border.TopBorder = XLBorderStyleValues.None; + // ws.Cell("D5").Style.Border.TopBorder = XLBorderStyleValues.None; + // + // ws.Column(1).Width = 10; + // ws.Column(2).Width = 40; + // ws.Column(3).Width = 30; + // ws.Column(4).Width = 50; + // int row = 6; + // ws.Cell(row, 3).SetDataType(XLDataType.Number); + // if (_operating_expenses != null) + // { + // ws.Cell("C5").Value = "ปี "+_operating_expenses.request_year; + // ws.Cell("C5").Style.Alignment.WrapText = true; + // ws.Cell("C5").Style.Font.FontName = "TH Sarabun New"; + // ws.Cell("C5").Style.Font.FontSize = 14; + // ws.Cell("C5").Style.Font.Bold = true; + // ws.Cell("C5").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; + // ws.Cell("C5").Style.Alignment.Vertical = XLAlignmentVerticalValues.Center; + // + // foreach (var expenses in _operating_expenses.data) + // { + // ws.Cell(row, 1).Value = "'"+expenses.no; + // ws.Cell(row, 2).Value = expenses.expenditure_budget; + // ws.Cell(row, 3).Value = expenses.amount; + // ws.Cell(row, 4).Value = expenses.clarification_summary; + // + // ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Font.FontName = + // "TH Sarabun New"; + // ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Font.FontSize = 14; + // 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 = + // XLAlignmentVerticalValues.Center; + // ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).Style.Border.OutsideBorder = XLBorderStyleValues.Thin; + // ws.Range(ws.Cell(row, 1), ws.Cell(row, 4)).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.Right; + // ws.Cell(row, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left; + // ws.Range(ws.Cell(5, 1), ws.Cell(5, 4)).Style.Font.Bold = true; + // ws.Range(ws.Cell(6, 1), ws.Cell(6, 4)).Style.Border.BottomBorder = XLBorderStyleValues.Double; + // ws.Range(ws.Cell(6, 1), ws.Cell(6, 4)).Style.Font.Bold = true; + // //ws.Cell(row, 3).Style.NumberFormat.NumberFormatId = 2; + // //ws.Cell(row, 3).DataType = XLDataType.Number; + // //ws.Cell(row,3).SetDataType(XLDataType.Number); + // ws.Cell(row,3).Style.NumberFormat.SetFormat("#,#"); + // + // row++; + // } + // } + // using (var stream = new MemoryStream()) + // { + // workbook.SaveAs(stream); + // var content = stream.ToArray(); + // string date = DateTime.Now.ToString("yyyyMMddHHmmss"); + // return File( + // content, + // "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", + // "operatingexpenses_" + date + ".xlsx"); + // } + //} + //} } } \ No newline at end of file diff --git a/Controllers/RoThree.Controller.cs b/Controllers/RoThree.Controller.cs index c528b3f..bee3862 100644 --- a/Controllers/RoThree.Controller.cs +++ b/Controllers/RoThree.Controller.cs @@ -393,6 +393,439 @@ namespace rmutr_report.Controllers break; } + return Ok(); + } + [HttpPost, Route("reports/material_education/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetMaterial3Report([FromRoute] string type, [FromBody] material_education three) + { + // if (three != null) + // { + // var suml_1 = three.data_1.Sum(d => d.semester_year_1_level_1); + // var suml_2 = three.data_1.Sum(d => d.semester_year_1_level_2); + // var suml_3 = three.data_1.Sum(d => d.semester_year_1_level_3); + // var suml_4 = three.data_1.Sum(d => d.semester_year_1_level_4); + // var suml_5 = three.data_1.Sum(d => d.semester_year_1_level_5); + // var suml_6 = three.data_1.Sum(d => d.rate_semester_year_level_1); + // var suml_7 = three.data_1.Sum(d => d.total_semester_year_level_1); + // var suml_8 = three.data_1.Sum(d => d.material_amount_1); + // var suml_9 = three.data_1.Sum(d => d.semester_year_2_level_1); + // var suml_10 = three.data_1.Sum(d => d.semester_year_2_level_2); + // var suml_11 = three.data_1.Sum(d => d.semester_year_2_level_3); + // var suml_12 = three.data_1.Sum(d => d.semester_year_2_level_4); + // var suml_13 = three.data_1.Sum(d => d.semester_year_2_level_5); + // var suml_14 = three.data_1.Sum(d => d.rate_semester_year_level_2); + // var suml_15 = three.data_1.Sum(d => d.total_semester_year_level_2); + // var suml_16 = three.data_1.Sum(d => d.material_amount_2); + // var suml_17 = three.data_1.Sum(d => d.total_material); + // three.semester_year_1_level_1 = suml_1; + // three.semester_year_1_level_2 = suml_2; + // three.semester_year_1_level_3 = suml_3; + // three.semester_year_1_level_4 = suml_4; + // three.semester_year_1_level_5 = suml_5; + // three.rate_semester_year_level_1 = suml_6; + // three.total_semester_year_level_1 = suml_7; + // three.material_amount_1 = suml_8; + // three.semester_year_2_level_1 = suml_9; + // three.semester_year_2_level_2 = suml_10; + // three.semester_year_2_level_3 = suml_11; + // three.semester_year_2_level_4 = suml_12; + // three.semester_year_2_level_5 = suml_13; + // three.rate_semester_year_level_2 = suml_14; + // three.total_semester_year_level_2 = suml_15; + // three.material_amount_2 = suml_16; + // three.total_material = suml_17; + // + // foreach (var d1 in three.data_1) + // { + // if (three.data_1 != null) + // { + // var suml1 = d1.data_2.Sum(d => d.semester_year_1_level_1); + // var suml2 = d1.data_2.Sum(d => d.semester_year_1_level_2); + // var suml3 = d1.data_2.Sum(d => d.semester_year_1_level_3); + // var suml4 = d1.data_2.Sum(d => d.semester_year_1_level_4); + // var suml5 = d1.data_2.Sum(d => d.semester_year_1_level_5); + // var suml6 = d1.data_2.Sum(d => d.rate_semester_year_level_1); + // var suml7 = d1.data_2.Sum(d => d.total_semester_year_level_1); + // var suml8 = d1.data_2.Sum(d => d.material_amount_1); + // var suml9 = d1.data_2.Sum(d => d.semester_year_2_level_1); + // var suml10 = d1.data_2.Sum(d => d.semester_year_2_level_2); + // var suml11 = d1.data_2.Sum(d => d.semester_year_2_level_3); + // var suml12 = d1.data_2.Sum(d => d.semester_year_2_level_4); + // var suml13 = d1.data_2.Sum(d => d.semester_year_2_level_5); + // var suml14 = d1.data_2.Sum(d => d.rate_semester_year_level_2); + // var suml15 = d1.data_2.Sum(d => d.total_semester_year_level_2); + // var suml16 = d1.data_2.Sum(d => d.material_amount_2); + // var suml17 = d1.data_2.Sum(d => d.total_material); + // d1.semester_year_1_level_1 = suml1; + // d1.semester_year_1_level_2 = suml2; + // d1.semester_year_1_level_3 = suml3; + // d1.semester_year_1_level_4 = suml4; + // d1.semester_year_1_level_5 = suml5; + // d1.rate_semester_year_level_1 = suml6; + // d1.total_semester_year_level_1 = suml7; + // d1.material_amount_1 = suml8; + // d1.semester_year_2_level_1 = suml9; + // d1.semester_year_2_level_2 = suml10; + // d1.semester_year_2_level_3 = suml11; + // d1.semester_year_2_level_4 = suml12; + // d1.semester_year_2_level_5 = suml13; + // d1.rate_semester_year_level_2 = suml14; + // d1.total_semester_year_level_2 = suml15; + // d1.material_amount_2 = suml16; + // d1.total_material = suml17; + // } + // foreach (var d2 in d1.data_2) + // { + // if (d1.data_2!=null) + // { + // var suml1 = d1.data_2.Sum(d => d.semester_year_1_level_1); + // var suml2 = d1.data_2.Sum(d => d.semester_year_1_level_2); + // var suml3 = d1.data_2.Sum(d => d.semester_year_1_level_3); + // var suml4 = d1.data_2.Sum(d => d.semester_year_1_level_4); + // var suml5 = d1.data_2.Sum(d => d.semester_year_1_level_5); + // var t1 = d1.data_2.Sum(d => d.total_semester_year_level_1); + // var r1 = d1.data_2.Sum(d => d.rate_semester_year_level_1); + // var suml6 = d1.data_2.Sum(d => d.semester_year_2_level_1); + // var suml7 = d1.data_2.Sum(d => d.semester_year_2_level_2); + // var suml8 = d1.data_2.Sum(d => d.semester_year_2_level_3); + // var suml9 = d1.data_2.Sum(d => d.semester_year_2_level_4); + // var suml10 = d1.data_2.Sum(d => d.semester_year_2_level_5); + // var t2 = d1.data_2.Sum(d => d.total_semester_year_level_2); + // var r2 = d1.data_2.Sum(d => d.rate_semester_year_level_2); + // d2.total_semester_year_level_1 = suml1+suml2+suml3+suml4+suml5; + // d2.material_amount_1 = t1*r1; + // d2.total_semester_year_level_2 = suml6+suml7+suml8+suml9+suml10; + // d2.material_amount_2 = t2*r2; + // d2.total_material = (t1*r1)+(t2*r2); + // } + // + // foreach (var d3 in d2.data_3) + // { + // if (d2.data_3 != null) + // { + // + // var suml1 = d2.data_3.Sum(d => d.semester_year_1_level_1); + // var suml2 = d2.data_3.Sum(d => d.semester_year_1_level_2); + // var suml3 = d2.data_3.Sum(d => d.semester_year_1_level_3); + // var suml4 = d2.data_3.Sum(d => d.semester_year_1_level_4); + // var suml5 = d2.data_3.Sum(d => d.semester_year_1_level_5); + // var t1 = d2.data_3.Sum(d => d.total_semester_year_level_1); + // var r1 = d2.data_3.Sum(d => d.rate_semester_year_level_1); + // var suml6 = d2.data_3.Sum(d => d.semester_year_2_level_1); + // var suml7 = d2.data_3.Sum(d => d.semester_year_2_level_2); + // var suml8 = d2.data_3.Sum(d => d.semester_year_2_level_3); + // var suml9 = d2.data_3.Sum(d => d.semester_year_2_level_4); + // var suml10 = d2.data_3.Sum(d => d.semester_year_2_level_5); + // var t2 = d2.data_3.Sum(d => d.total_semester_year_level_2); + // var r2 = d2.data_3.Sum(d => d.rate_semester_year_level_2); + // d3.total_semester_year_level_1 = suml1 + suml2 + suml3 + suml4 + suml5; + // d3.material_amount_1 = t1 * r1; + // d3.total_semester_year_level_2 = suml6 + suml7 + suml8 + suml9 + suml10; + // d3.material_amount_2 = t2 * r2; + // d3.total_material = (t1 * r1) + (t2 * r2); + // } + // } + // } + // } + // } + + var threes = new List() { three }; + + Report report = new Report(); + report.Load(_setting.report_path + "material_education.frx"); + report.RegisterData(threes, "material_education"); + 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", + date + ".xlsx"); + break; + 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; + } + + return Ok(); + } + [HttpPost, Route("reports/material_book/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetMaterial4Report([FromRoute] string type, [FromBody] material_ro_three three) + { + if (three.data != null) + { + var s = three.data.Sum(f => f.material_amount); + + three.total_amount = s; + } + + var threes = new List() { three }; + + Report report = new Report(); + report.Load(_setting.report_path + "material_book.frx"); + report.RegisterData(threes, "material_ro_three"); + 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", + date + ".xlsx"); + break; + 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; + } + + return Ok(); + } + [HttpPost, Route("reports/material_advertise/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetMaterial5Report([FromRoute] string type, [FromBody] material_ro_three three) + { + if (three.data != null) + { + var s = three.data.Sum(f => f.material_amount); + + three.total_amount = s; + } + + var threes = new List() { three }; + + Report report = new Report(); + report.Load(_setting.report_path + "material_advertise.frx"); + report.RegisterData(threes, "material_ro_three"); + 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", + date + ".xlsx"); + break; + 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; + } + + return Ok(); + } + [HttpPost, Route("reports/material_construction/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetMaterial6Report([FromRoute] string type, [FromBody] material_ro_three three) + { + if (three.data != null) + { + var s = three.data.Sum(f => f.material_amount); + + three.total_amount = s; + } + + var threes = new List() { three }; + + Report report = new Report(); + report.Load(_setting.report_path + "material_construction.frx"); + report.RegisterData(threes, "material_ro_three"); + 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", + date + ".xlsx"); + break; + 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; + } + + return Ok(); + } + [HttpPost, Route("reports/material_fuel_lubricant/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetMaterial7Report([FromRoute] string type, [FromBody] material_fuel_lubricant three) + { + // if (three.data != null) + // { + // var s4 = three.data.Sum(f => f.total_amount); + // foreach (var data in three.data) + // { + // var s1 = data.data_detail.Sum(f => f.distance); + // var s2 = data.data_detail.Sum(f => f.average_rate); + // var s3 = data.data_detail.Sum(i => i.total_amount); + // foreach (var detail in data.data_detail) + // { + // if (detail != null) + // { + // detail.total_amount = detail.distance * detail.average_rate; + // } + // + // data.total_amount = s3; + // } + // + // three.total_amount = data.total_amount; + // } + // } + + var threes = new List() { three }; + + Report report = new Report(); + report.Load(_setting.report_path + "material_fuel_lubricant.frx"); + report.RegisterData(threes, "material_fuel_lubricant"); + 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", + date + ".xlsx"); + break; + 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; + } + + return Ok(); + } + [HttpPost, Route("reports/material_electric/{type}")] + [ApiExplorerSettings(GroupName = "reports")] + public IActionResult GetMaterial8Report([FromRoute] string type, [FromBody] material_ro_three three) + { + if (three.data != null) + { + var s = three.data.Sum(f => f.material_amount); + + three.total_amount = s; + } + + var threes = new List() { three }; + + Report report = new Report(); + report.Load(_setting.report_path + "material_electric.frx"); + report.RegisterData(threes, "material_ro_three"); + 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", + date + ".xlsx"); + break; + 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; + } + return Ok(); } } diff --git a/Models/RoThree/material_education.cs b/Models/RoThree/material_education.cs new file mode 100644 index 0000000..6732fef --- /dev/null +++ b/Models/RoThree/material_education.cs @@ -0,0 +1,108 @@ +using System.Collections.Generic; + +namespace rmutr_report.Models.RoThree +{ + public class material_education + { + public string product { get; set; } + public string agency_name_th { get; set; } + public string sector { get; set; } + public string semester_year_1 { get; set; } + public string semester_year_2 { get; set; } + public string material_semester_year_1 { get; set; } + public string material_semester_year_2 { get; set; } + // + public decimal? semester_year_1_level_1 { get; set; } + public decimal? semester_year_1_level_2 { get; set; } + public decimal? semester_year_1_level_3 { get; set; } + public decimal? semester_year_1_level_4 { get; set; } + public decimal? semester_year_1_level_5 { get; set; } + public decimal? total_semester_year_level_1 { get; set; } + public decimal? rate_semester_year_level_1 { get; set; } + public decimal? material_amount_1 { get; set; } + // + public decimal? semester_year_2_level_1 { get; set; } + public decimal? semester_year_2_level_2 { get; set; } + public decimal? semester_year_2_level_3 { get; set; } + public decimal? semester_year_2_level_4 { get; set; } + public decimal? semester_year_2_level_5 { get; set; } + public decimal? total_semester_year_level_2 { get; set; } + public decimal? rate_semester_year_level_2 { get; set; } + public decimal? material_amount_2 { get; set; } + public decimal? total_material { get; set; } + public List data_1 { get; set; } + } + + public class material_education_detail1 + { + public string education_level { get; set; } + public decimal? semester_year_1_level_1 { get; set; } + public decimal? semester_year_1_level_2 { get; set; } + public decimal? semester_year_1_level_3 { get; set; } + public decimal? semester_year_1_level_4 { get; set; } + public decimal? semester_year_1_level_5 { get; set; } + public decimal? total_semester_year_level_1 { get; set; } + public decimal? rate_semester_year_level_1 { get; set; } + public decimal? material_amount_1 { get; set; } + // + public decimal? semester_year_2_level_1 { get; set; } + public decimal? semester_year_2_level_2 { get; set; } + public decimal? semester_year_2_level_3 { get; set; } + public decimal? semester_year_2_level_4 { get; set; } + public decimal? semester_year_2_level_5 { get; set; } + public decimal? total_semester_year_level_2 { get; set; } + public decimal? rate_semester_year_level_2 { get; set; } + public decimal? material_amount_2 { get; set; } + public decimal? total_material { get; set; } + public List data_2 { get; set; } + + } + + public class material_education_detail2 + { + public string curriculum { get; set; } + public decimal? semester_year_1_level_1 { get; set; } + public decimal? semester_year_1_level_2 { get; set; } + public decimal? semester_year_1_level_3 { get; set; } + public decimal? semester_year_1_level_4 { get; set; } + public decimal? semester_year_1_level_5 { get; set; } + public decimal? total_semester_year_level_1 { get; set; } + public decimal? rate_semester_year_level_1 { get; set; } + public decimal? material_amount_1 { get; set; } + // + public decimal? semester_year_2_level_1 { get; set; } + public decimal? semester_year_2_level_2 { get; set; } + public decimal? semester_year_2_level_3 { get; set; } + public decimal? semester_year_2_level_4 { get; set; } + public decimal? semester_year_2_level_5 { get; set; } + public decimal? total_semester_year_level_2 { get; set; } + public decimal? rate_semester_year_level_2 { get; set; } + public decimal? material_amount_2 { get; set; } + public decimal? total_material { get; set; } + public List data_3 { get; set; } + + } + + public class material_education_detail3 + { + public string major { get; set; } + public decimal? semester_year_1_level_1 { get; set; } + public decimal? semester_year_1_level_2 { get; set; } + public decimal? semester_year_1_level_3 { get; set; } + public decimal? semester_year_1_level_4 { get; set; } + public decimal? semester_year_1_level_5 { get; set; } + public decimal? total_semester_year_level_1 { get; set; } + public decimal? rate_semester_year_level_1 { get; set; } + public decimal? material_amount_1 { get; set; } + // + public decimal? semester_year_2_level_1 { get; set; } + public decimal? semester_year_2_level_2 { get; set; } + public decimal? semester_year_2_level_3 { get; set; } + public decimal? semester_year_2_level_4 { get; set; } + public decimal? semester_year_2_level_5 { get; set; } + public decimal? total_semester_year_level_2 { get; set; } + public decimal? rate_semester_year_level_2 { get; set; } + public decimal? material_amount_2 { get; set; } + public decimal? total_material { get; set; } + } +} \ No newline at end of file diff --git a/Models/RoThree/material_fuel_lubricant.cs b/Models/RoThree/material_fuel_lubricant.cs new file mode 100644 index 0000000..4cf4404 --- /dev/null +++ b/Models/RoThree/material_fuel_lubricant.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; + +namespace rmutr_report.Models.RoThree +{ + public class material_fuel_lubricant + { + public string product { get; set; } + public string agency_name_th { get; set; } + public string sector { get; set; } + public decimal? total_amount { get; set; } + public List data { get; set; } + } + + public class material_fuel_lubricant_detail + { + public string type { get; set; } + public decimal? total_amount { get; set; } + public List data_detail { get; set; } + + } + + public class material_fuel_lubricant_data_detail + { + public string rowno { get; set; } + public string type { get; set; } + public string registration_number { get; set; } + public decimal? distance { get; set; } + public decimal? average_rate { get; set; } + public decimal? total_amount { get; set; } + } +} \ No newline at end of file diff --git a/Models/budget/operating_expenses.cs b/Models/budget/operating_expenses.cs index 2fd2ad0..3c10221 100644 --- a/Models/budget/operating_expenses.cs +++ b/Models/budget/operating_expenses.cs @@ -19,6 +19,35 @@ namespace rmutr_report.Models public string no { get; set; } public string expenditure_budget { get; set; } public decimal? amount { get; set; } + //public string clarification_summary { get; set; } + public List data_2 { get; set; } + + } + + public class operating_expenses_detail2 + { + public string no { get; set; } + public string expenditure_budget { get; set; } + public decimal? amount { get; set; } + //public string clarification_summary { get; set; } + public List data_3 { get; set; } + + } + + public class operating_expenses_detail3 + { + public string no { get; set; } + public string expenditure_budget { get; set; } + public decimal? amount { get; set; } + //public string clarification_summary { get; set; } + public List data_4 { get; set; } + } + + public class operating_expenses_detail4 + { + //public string no { get; set; } + public string expenditure_budget { get; set; } + public decimal? amount { get; set; } public string clarification_summary { get; set; } } } \ No newline at end of file diff --git a/bin/Debug/netcoreapp3.1/rmutr_report.dll b/bin/Debug/netcoreapp3.1/rmutr_report.dll index 184c6e6..6560bb4 100644 Binary files a/bin/Debug/netcoreapp3.1/rmutr_report.dll and b/bin/Debug/netcoreapp3.1/rmutr_report.dll differ diff --git a/bin/Debug/netcoreapp3.1/rmutr_report.pdb b/bin/Debug/netcoreapp3.1/rmutr_report.pdb index 574359f..c311ff9 100644 Binary files a/bin/Debug/netcoreapp3.1/rmutr_report.pdb and b/bin/Debug/netcoreapp3.1/rmutr_report.pdb differ diff --git a/obj/Debug/netcoreapp3.1/rmutr_report.csproj.CoreCompileInputs.cache b/obj/Debug/netcoreapp3.1/rmutr_report.csproj.CoreCompileInputs.cache index 58a4e52..881cf83 100644 --- a/obj/Debug/netcoreapp3.1/rmutr_report.csproj.CoreCompileInputs.cache +++ b/obj/Debug/netcoreapp3.1/rmutr_report.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -1972b883cd96fa5d720cca8f1e8e3339f9a5af72 +e0851d273baf2b54360a75945243ff2ff8920ed8 diff --git a/obj/Debug/netcoreapp3.1/rmutr_report.dll b/obj/Debug/netcoreapp3.1/rmutr_report.dll index 184c6e6..6560bb4 100644 Binary files a/obj/Debug/netcoreapp3.1/rmutr_report.dll and b/obj/Debug/netcoreapp3.1/rmutr_report.dll differ diff --git a/obj/Debug/netcoreapp3.1/rmutr_report.pdb b/obj/Debug/netcoreapp3.1/rmutr_report.pdb index 574359f..c311ff9 100644 Binary files a/obj/Debug/netcoreapp3.1/rmutr_report.pdb and b/obj/Debug/netcoreapp3.1/rmutr_report.pdb differ diff --git a/wwwroot/reports/material_advertise.frx b/wwwroot/reports/material_advertise.frx new file mode 100644 index 0000000..3a1d805 --- /dev/null +++ b/wwwroot/reports/material_advertise.frx @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/material_book.frx b/wwwroot/reports/material_book.frx new file mode 100644 index 0000000..2d145ae --- /dev/null +++ b/wwwroot/reports/material_book.frx @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/material_computer.frx b/wwwroot/reports/material_computer.frx index d4ce534..ea599e0 100644 --- a/wwwroot/reports/material_computer.frx +++ b/wwwroot/reports/material_computer.frx @@ -1,5 +1,5 @@  - + @@ -15,7 +15,7 @@ - + diff --git a/wwwroot/reports/material_construction.frx b/wwwroot/reports/material_construction.frx new file mode 100644 index 0000000..118236f --- /dev/null +++ b/wwwroot/reports/material_construction.frx @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/material_education.frx b/wwwroot/reports/material_education.frx new file mode 100644 index 0000000..9be75b7 --- /dev/null +++ b/wwwroot/reports/material_education.frx @@ -0,0 +1,320 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/material_electric.frx b/wwwroot/reports/material_electric.frx new file mode 100644 index 0000000..30f83c6 --- /dev/null +++ b/wwwroot/reports/material_electric.frx @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/material_fuel_lubricant.frx b/wwwroot/reports/material_fuel_lubricant.frx new file mode 100644 index 0000000..f35ff6e --- /dev/null +++ b/wwwroot/reports/material_fuel_lubricant.frx @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wwwroot/reports/material_office.frx b/wwwroot/reports/material_office.frx index 7c5abc8..4d9e8b8 100644 --- a/wwwroot/reports/material_office.frx +++ b/wwwroot/reports/material_office.frx @@ -1,5 +1,5 @@  - + @@ -15,7 +15,7 @@ - + diff --git a/wwwroot/reports/operating_expenses.frx b/wwwroot/reports/operating_expenses.frx new file mode 100644 index 0000000..6167647 --- /dev/null +++ b/wwwroot/reports/operating_expenses.frx @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +