From bd1ec56e82bc389aa7feccabc846f423aaa52aef Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Thu, 22 Jun 2023 05:34:01 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89=E0=B9=84=E0=B8=82?= =?UTF-8?q?=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B9=80=E0=B8=A3=E0=B8=B5=E0=B8=A2?= =?UTF-8?q?=E0=B8=87=E0=B8=A5=E0=B8=B3=E0=B8=94=E0=B8=B1=E0=B8=9A=20?= =?UTF-8?q?=E0=B8=9A=E0=B8=8A2-3=20=E0=B9=80=E0=B8=A3=E0=B8=B5=E0=B8=A2?= =?UTF-8?q?=E0=B8=87=E0=B8=95=E0=B8=B2=E0=B8=A1=E0=B9=80=E0=B8=A5=E0=B8=82?= =?UTF-8?q?=E0=B8=97=E0=B8=B5=E0=B9=88=E0=B9=83=E0=B8=AB=E0=B8=A1=E0=B9=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Controllers/OrganizationReportController.cs | 575 ++++++++++---------- Services/OrganizationReportService.cs | 4 +- 2 files changed, 290 insertions(+), 289 deletions(-) diff --git a/Controllers/OrganizationReportController.cs b/Controllers/OrganizationReportController.cs index 6c071b2..1f2047e 100644 --- a/Controllers/OrganizationReportController.cs +++ b/Controllers/OrganizationReportController.cs @@ -11,135 +11,135 @@ using BMA.EHR.Report.Service.Services; namespace BMA.EHR.Report.Service.Controllers { - [Route("api/v{version:apiVersion}/report/organization")] - [ApiVersion("1.0")] - [ApiController] - [Produces("application/json")] - //[Authorize] - [SwaggerTag("รายงานระบบโครงสร้าง")] - public class OrganizationReportController : BaseController - { - #region " Fields " + [Route("api/v{version:apiVersion}/report/organization")] + [ApiVersion("1.0")] + [ApiController] + [Produces("application/json")] + //[Authorize] + [SwaggerTag("รายงานระบบโครงสร้าง")] + public class OrganizationReportController : BaseController + { + #region " Fields " - private readonly EHRDbContext _context; - private readonly IWebHostEnvironment _hostingEnvironment; - private readonly IConfiguration _configuration; - private readonly string space = "ㅤ"; - private readonly OrganizationReportService _organizationReportService; + private readonly EHRDbContext _context; + private readonly IWebHostEnvironment _hostingEnvironment; + private readonly IConfiguration _configuration; + private readonly string space = "ㅤ"; + private readonly OrganizationReportService _organizationReportService; - #endregion + #endregion - #region " Constructor and Destructor " + #region " Constructor and Destructor " - public OrganizationReportController(EHRDbContext context, - IWebHostEnvironment hostingEnvironment, - IConfiguration configuration, - OrganizationReportService organizationReportService) - { - this._context = context; - this._hostingEnvironment = hostingEnvironment; - this._configuration = configuration; - this._organizationReportService = organizationReportService; - } + public OrganizationReportController(EHRDbContext context, + IWebHostEnvironment hostingEnvironment, + IConfiguration configuration, + OrganizationReportService organizationReportService) + { + this._context = context; + this._hostingEnvironment = hostingEnvironment; + this._configuration = configuration; + this._organizationReportService = organizationReportService; + } - #endregion + #endregion - #region " Methods " + #region " Methods " - [HttpGet("oc-type")] - public async Task> GetOCType() - { - try - { - return Success(await _organizationReportService.GetOrganizationTypes("หน่วยงาน")); - } - catch (Exception ex) - { - return Error(ex); - } - } + [HttpGet("oc-type")] + public async Task> GetOCType() + { + try + { + return Success(await _organizationReportService.GetOrganizationTypes("หน่วยงาน")); + } + catch (Exception ex) + { + return Error(ex); + } + } - /// - /// รายงานบัญชี 1 - /// - /// รหัสสำนัก - /// - /// เมื่อแสดงรายงานสำเร็จ - /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง - /// ไม่ได้ Login เข้าระบบ - /// เมื่อเกิดข้อผิดพลาดในการทำงาน + /// + /// รายงานบัญชี 1 + /// + /// รหัสสำนัก + /// + /// เมื่อแสดงรายงานสำเร็จ + /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน - [HttpGet("account1/{id:length(36)}")] - [ProducesResponseType(StatusCodes.Status200OK)] - [ProducesResponseType(StatusCodes.Status400BadRequest)] - [ProducesResponseType(StatusCodes.Status401Unauthorized)] - [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [AllowAnonymous] - public async Task> GetAccount1Report(Guid id) - { - try - { - var data = await _organizationReportService.GetReport1Query(id); - var result_data = new List(); + [HttpGet("account1/{id:length(36)}")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status400BadRequest)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + [AllowAnonymous] + public async Task> GetAccount1Report(Guid id) + { + try + { + var data = await _organizationReportService.GetReport1Query(id); + var result_data = new List(); - foreach (var d in data) - { - result_data.Add(new Account1ResultItem - { - Id = d.Id, - RootOcId = d.RootOcId, - RootOcName = d.RootOcName, - OcFullName = d.OcFullName.Replace($"\r\n{d.OcName}", string.Empty), - OcId = d.OcId, - OcName = d.OcName, - ShortName = d.ShortName, - PositionNumber = d.PositionNumber, - PositionNumberInt = Convert.ToInt32(d.PositionNumber.Replace(d.ShortName, string.Empty)), - PositionName = d.PositionName, - PositionSide = d.PositionSide, - PositionExecutive = d.PositionExecutive, - PositionExecutiveSide = d.PositionExecutiveSide, - OcOrder = d.OcOrder, - PositionLevel = d.PositionLevel, - Remark = d.Remark, - PositionType = d.PositionType, - IsDirector = d.IsDirector, - GovernmentCode = d.GovernmentCode, - }); - } + foreach (var d in data) + { + result_data.Add(new Account1ResultItem + { + Id = d.Id, + RootOcId = d.RootOcId, + RootOcName = d.RootOcName, + OcFullName = d.OcFullName.Replace($"\r\n{d.OcName}", string.Empty), + OcId = d.OcId, + OcName = d.OcName, + ShortName = d.ShortName, + PositionNumber = d.PositionNumber, + PositionNumberInt = Convert.ToInt32(d.PositionNumber.Replace(d.ShortName, string.Empty)), + PositionName = d.PositionName, + PositionSide = d.PositionSide, + PositionExecutive = d.PositionExecutive, + PositionExecutiveSide = d.PositionExecutiveSide, + OcOrder = d.OcOrder, + PositionLevel = d.PositionLevel, + Remark = d.Remark, + PositionType = d.PositionType, + IsDirector = d.IsDirector, + GovernmentCode = d.GovernmentCode, + }); + } - //var items = result_data.OrderBy(x => x.GovernmentCode).ThenBy(x => x.PositionNumberInt).ToList(); + //var items = result_data.OrderBy(x => x.GovernmentCode).ThenBy(x => x.PositionNumberInt).ToList(); - var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Organization", $"rptAccount1.trdp"); - ReportPackager reportPackager = new ReportPackager(); - Telerik.Reporting.Report report = null; - using (var sourceStream = System.IO.File.OpenRead(rptFile)) - { - report = (Telerik.Reporting.Report)reportPackager.UnpackageDocument(sourceStream); - } + var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Organization", $"rptAccount1.trdp"); + ReportPackager reportPackager = new ReportPackager(); + Telerik.Reporting.Report report = null; + using (var sourceStream = System.IO.File.OpenRead(rptFile)) + { + report = (Telerik.Reporting.Report)reportPackager.UnpackageDocument(sourceStream); + } - report.DataSource = result_data; - System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); + report.DataSource = result_data; + System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); - InstanceReportSource instanceReportSource = new InstanceReportSource() - { - ReportDocument = report - }; + InstanceReportSource instanceReportSource = new InstanceReportSource() + { + ReportDocument = report + }; - ReportProcessor reportProcessor = new ReportProcessor(_configuration); - RenderingResult result = reportProcessor.RenderReport("PDF", instanceReportSource, deviceInfo); + ReportProcessor reportProcessor = new ReportProcessor(_configuration); + RenderingResult result = reportProcessor.RenderReport("PDF", instanceReportSource, deviceInfo); - var first_record = result_data.FirstOrDefault(); + var first_record = result_data.FirstOrDefault(); - var content = result.DocumentBytes; - return File(content, "application/pdf", $"รายงานบัญชี1_{first_record.RootOcName}_.pdf"); - } - catch (Exception ex) - { - return Error(ex); - } - } + var content = result.DocumentBytes; + return File(content, "application/pdf", $"รายงานบัญชี1_{first_record.RootOcName}_.pdf"); + } + catch (Exception ex) + { + return Error(ex); + } + } /// @@ -153,207 +153,208 @@ namespace BMA.EHR.Report.Service.Controllers /// เมื่อเกิดข้อผิดพลาดในการทำงาน [HttpGet("account2/{id:length(36)}")] - [ProducesResponseType(StatusCodes.Status200OK)] - [ProducesResponseType(StatusCodes.Status400BadRequest)] - [ProducesResponseType(StatusCodes.Status401Unauthorized)] - [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [AllowAnonymous] - public async Task> GetAccount2Report(Guid id) - { - try - { - var data = await _organizationReportService.GetReport2Query(id); - var result_data = new List(); - foreach (var d in data) - { - result_data.Add(new Account2ResultItem - { - Id = d.Id, - RootOcId = d.RootOcId, - RootOcName = d.RootOcName, - OcFullName = d.OcFullName.Replace($"\r\n{d.OcName}", string.Empty), - OcId = d.OcId, - OcName = d.OcName, - ShortName = d.ShortName, - PositionNumber = d.PositionNumber, - PositionNumberInt = d.PositionNumber == "" ? 0 : Convert.ToInt32(d.PositionNumber.Split(".").Last()), - PositionName = d.PositionName, - PositionSide = d.PositionSide, - PositionExecutive = d.PositionExecutive, - PositionExecutiveSide = d.PositionExecutiveSide, - OcOrder = d.OcOrder, - PositionLevel = d.PositionLevel, - Remark = d.Remark, - PositionType = d.PositionType, + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status400BadRequest)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + [AllowAnonymous] + public async Task> GetAccount2Report(Guid id) + { + try + { + var data = (await _organizationReportService.GetReport2Query(id)).OrderBy(x => x.OcOrder).ThenBy(x => x.PositionNumberIntNew).ToList(); - OcIdNew = d.OcIdNew, - OcFullNameNew = d.OcFullNameNew.Replace($"\r\n{d.OcNameNew}", string.Empty), - OcNameNew = d.OcNameNew, - ShortNameNew = d.ShortNameNew, - PositionNumberNew = d.PositionNumberNew == "" ? d.PositionNumber : d.PositionNumberNew, - PositionNumberIntNew = d.PositionNumberNew == "" ? Convert.ToInt32(d.PositionNumber.Split(".").Last()) : - Convert.ToInt32(d.PositionNumberNew.Split(".").Last()), - PositionLevelNew = d.PositionLevelNew == "" ? d.PositionLevel : d.PositionLevelNew, - PositionNameNew = d.PositionNameNew == "" ? d.PositionName : d.PositionNameNew, - PositionSideNew = d.PositionSideNew == "" ? d.PositionSide : d.PositionSideNew, - PositionExecutiveNew = d.PositionExecutiveNew == "" ? d.PositionExecutive : d.PositionExecutiveNew, - PositionExecutiveSideNew = d.PositionExecutiveSideNew == "" ? d.PositionExecutiveSide : d.PositionExecutiveSideNew, - PositionTypeNew = d.PositionTypeNew == "" ? d.PositionType : d.PositionTypeNew, + var result_data = new List(); + foreach (var d in data) + { + result_data.Add(new Account2ResultItem + { + Id = d.Id, + RootOcId = d.RootOcId, + RootOcName = d.RootOcName, + OcFullName = d.OcFullName.Replace($"\r\n{d.OcName}", string.Empty), + OcId = d.OcId, + OcName = d.OcName, + ShortName = d.ShortName, + PositionNumber = d.PositionNumber, + PositionNumberInt = d.PositionNumber == "" ? 0 : Convert.ToInt32(d.PositionNumber.Split(".").Last()), + PositionName = d.PositionName, + PositionSide = d.PositionSide, + PositionExecutive = d.PositionExecutive, + PositionExecutiveSide = d.PositionExecutiveSide, + OcOrder = d.OcOrder, + PositionLevel = d.PositionLevel, + Remark = d.Remark, + PositionType = d.PositionType, - Prefix = d.Prefix, - FirstName = d.FirstName, - LastName = d.LastName, - Degree = d.Degree, + OcIdNew = d.OcIdNew, + OcFullNameNew = d.OcFullNameNew.Replace($"\r\n{d.OcNameNew}", string.Empty), + OcNameNew = d.OcNameNew, + ShortNameNew = d.ShortNameNew, + PositionNumberNew = d.PositionNumberNew == "" ? d.PositionNumber : d.PositionNumberNew, + PositionNumberIntNew = d.PositionNumberNew == "" ? Convert.ToInt32(d.PositionNumber.Split(".").Last()) : + Convert.ToInt32(d.PositionNumberNew.Split(".").Last()), + PositionLevelNew = d.PositionLevelNew == "" ? d.PositionLevel : d.PositionLevelNew, + PositionNameNew = d.PositionNameNew == "" ? d.PositionName : d.PositionNameNew, + PositionSideNew = d.PositionSideNew == "" ? d.PositionSide : d.PositionSideNew, + PositionExecutiveNew = d.PositionExecutiveNew == "" ? d.PositionExecutive : d.PositionExecutiveNew, + PositionExecutiveSideNew = d.PositionExecutiveSideNew == "" ? d.PositionExecutiveSide : d.PositionExecutiveSideNew, + PositionTypeNew = d.PositionTypeNew == "" ? d.PositionType : d.PositionTypeNew, - Salary = d.Salary, - SalaryPosition = d.SalaryPosition, - FullName = $"{d.Prefix}{d.FirstName} {d.LastName}".Trim() - }); - } + Prefix = d.Prefix, + FirstName = d.FirstName, + LastName = d.LastName, + Degree = d.Degree, + + Salary = d.Salary, + SalaryPosition = d.SalaryPosition, + FullName = $"{d.Prefix}{d.FirstName} {d.LastName}".Trim() + }); + } - //var items = result_data.OrderBy(x => x.GovernmentCode).ThenBy(x => x.PositionNumberInt).ToList(); + //var items = result_data.OrderBy(x => x.GovernmentCode).ThenBy(x => x.PositionNumberInt).ToList(); - var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Organization", $"rptAccount2.trdp"); - ReportPackager reportPackager = new ReportPackager(); - Telerik.Reporting.Report report = null; - using (var sourceStream = System.IO.File.OpenRead(rptFile)) - { - report = (Telerik.Reporting.Report)reportPackager.UnpackageDocument(sourceStream); - } + var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Organization", $"rptAccount2.trdp"); + ReportPackager reportPackager = new ReportPackager(); + Telerik.Reporting.Report report = null; + using (var sourceStream = System.IO.File.OpenRead(rptFile)) + { + report = (Telerik.Reporting.Report)reportPackager.UnpackageDocument(sourceStream); + } - report.DataSource = result_data; - System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); + report.DataSource = result_data; + System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); - InstanceReportSource instanceReportSource = new InstanceReportSource() - { - ReportDocument = report - }; + InstanceReportSource instanceReportSource = new InstanceReportSource() + { + ReportDocument = report + }; - ReportProcessor reportProcessor = new ReportProcessor(_configuration); - RenderingResult result = reportProcessor.RenderReport("PDF", instanceReportSource, deviceInfo); + ReportProcessor reportProcessor = new ReportProcessor(_configuration); + RenderingResult result = reportProcessor.RenderReport("PDF", instanceReportSource, deviceInfo); - var first_record = result_data.FirstOrDefault(); + var first_record = result_data.FirstOrDefault(); - var content = result.DocumentBytes; - return File(content, "application/pdf", $"รายงานบัญชี2_{first_record.RootOcName}_.pdf"); - } - catch (Exception ex) - { - return Error(ex); - } - } + var content = result.DocumentBytes; + return File(content, "application/pdf", $"รายงานบัญชี2_{first_record.RootOcName}_.pdf"); + } + catch (Exception ex) + { + return Error(ex); + } + } - // - /// รายงานบัญชี 3 - /// - /// รหัสสำนัก - /// - /// เมื่อแสดงรายงานสำเร็จ - /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง - /// ไม่ได้ Login เข้าระบบ - /// เมื่อเกิดข้อผิดพลาดในการทำงาน + /// + /// รายงานบัญชี 3 + /// + /// รหัสสำนัก + /// + /// เมื่อแสดงรายงานสำเร็จ + /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง + /// ไม่ได้ Login เข้าระบบ + /// เมื่อเกิดข้อผิดพลาดในการทำงาน - [HttpGet("account3/{id:length(36)}")] - [ProducesResponseType(StatusCodes.Status200OK)] - [ProducesResponseType(StatusCodes.Status400BadRequest)] - [ProducesResponseType(StatusCodes.Status401Unauthorized)] - [ProducesResponseType(StatusCodes.Status500InternalServerError)] - [AllowAnonymous] - public async Task> GetAccount3Report(Guid id) - { - try - { - try - { - var data = await _organizationReportService.GetReport2Query(id); - var result_data = new List(); - foreach (var d in data) - { - result_data.Add(new Account2ResultItem - { - Id = d.Id, - RootOcId = d.RootOcId, - RootOcName = d.RootOcName, - OcFullName = d.OcFullName.Replace($"\r\n{d.OcName}", string.Empty), - OcId = d.OcId, - OcName = d.OcName, - ShortName = d.ShortName, - PositionNumber = d.PositionNumber, - PositionNumberInt = d.PositionNumberInt, - PositionName = d.PositionName, - PositionSide = d.PositionSide, - PositionExecutive = d.PositionExecutive, - PositionExecutiveSide = d.PositionExecutiveSide, - OcOrder = d.OcOrder, - PositionLevel = d.PositionLevel, - Remark = d.Remark, - PositionType = d.PositionType, + [HttpGet("account3/{id:length(36)}")] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status400BadRequest)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + [AllowAnonymous] + public async Task> GetAccount3Report(Guid id) + { + try + { + try + { + var data = (await _organizationReportService.GetReport2Query(id)).OrderBy(x => x.OcOrder).ThenBy(x => x.PositionNumberIntNew).ToList(); + var result_data = new List(); + foreach (var d in data) + { + result_data.Add(new Account2ResultItem + { + Id = d.Id, + RootOcId = d.RootOcId, + RootOcName = d.RootOcName, + OcFullName = d.OcFullName.Replace($"\r\n{d.OcName}", string.Empty), + OcId = d.OcId, + OcName = d.OcName, + ShortName = d.ShortName, + PositionNumber = d.PositionNumber, + PositionNumberInt = d.PositionNumberInt, + PositionName = d.PositionName, + PositionSide = d.PositionSide, + PositionExecutive = d.PositionExecutive, + PositionExecutiveSide = d.PositionExecutiveSide, + OcOrder = d.OcOrder, + PositionLevel = d.PositionLevel, + Remark = d.Remark, + PositionType = d.PositionType, - OcIdNew = d.OcIdNew, - OcFullNameNew = d.OcFullNameNew.Replace($"\r\n{d.OcNameNew}", string.Empty), - OcNameNew = d.OcNameNew, - ShortNameNew = d.ShortNameNew, - PositionNumberNew = d.PositionNumberNew == "" ? d.PositionNumber : d.PositionNumberNew, - PositionNumberIntNew = d.PositionNumberNew == "" ? d.PositionNumberInt : d.PositionNumberIntNew, - PositionLevelNew = d.PositionLevelNew == "" ? d.PositionLevel : d.PositionLevelNew, - PositionNameNew = d.PositionNameNew == "" ? d.PositionName : d.PositionNameNew, - PositionSideNew = d.PositionSideNew == "" ? d.PositionSide : d.PositionSideNew, - PositionExecutiveNew = d.PositionExecutiveNew == "" ? d.PositionExecutive : d.PositionExecutiveNew, - PositionExecutiveSideNew = d.PositionExecutiveSideNew == "" ? d.PositionExecutiveSide : d.PositionExecutiveSideNew, - PositionTypeNew = d.PositionTypeNew == "" ? d.PositionType : d.PositionTypeNew, + OcIdNew = d.OcIdNew, + OcFullNameNew = d.OcFullNameNew.Replace($"\r\n{d.OcNameNew}", string.Empty), + OcNameNew = d.OcNameNew, + ShortNameNew = d.ShortNameNew, + PositionNumberNew = d.PositionNumberNew == "" ? d.PositionNumber : d.PositionNumberNew, + PositionNumberIntNew = d.PositionNumberNew == "" ? d.PositionNumberInt : d.PositionNumberIntNew, + PositionLevelNew = d.PositionLevelNew == "" ? d.PositionLevel : d.PositionLevelNew, + PositionNameNew = d.PositionNameNew == "" ? d.PositionName : d.PositionNameNew, + PositionSideNew = d.PositionSideNew == "" ? d.PositionSide : d.PositionSideNew, + PositionExecutiveNew = d.PositionExecutiveNew == "" ? d.PositionExecutive : d.PositionExecutiveNew, + PositionExecutiveSideNew = d.PositionExecutiveSideNew == "" ? d.PositionExecutiveSide : d.PositionExecutiveSideNew, + PositionTypeNew = d.PositionTypeNew == "" ? d.PositionType : d.PositionTypeNew, - Prefix = d.Prefix, - FirstName = d.FirstName, - LastName = d.LastName, - Degree = d.Degree, + Prefix = d.Prefix, + FirstName = d.FirstName, + LastName = d.LastName, + Degree = d.Degree, - Salary = d.Salary, - SalaryPosition = d.SalaryPosition, - FullName = $"{d.Prefix}{d.FirstName} {d.LastName}".Trim() - }); - } + Salary = d.Salary, + SalaryPosition = d.SalaryPosition, + FullName = $"{d.Prefix}{d.FirstName} {d.LastName}".Trim() + }); + } - //var items = result_data.OrderBy(x => x.GovernmentCode).ThenBy(x => x.PositionNumberInt).ToList(); + //var items = result_data.OrderBy(x => x.GovernmentCode).ThenBy(x => x.PositionNumberInt).ToList(); - var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Organization", $"rptAccount3.trdp"); - ReportPackager reportPackager = new ReportPackager(); - Telerik.Reporting.Report report = null; - using (var sourceStream = System.IO.File.OpenRead(rptFile)) - { - report = (Telerik.Reporting.Report)reportPackager.UnpackageDocument(sourceStream); - } + var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Organization", $"rptAccount3.trdp"); + ReportPackager reportPackager = new ReportPackager(); + Telerik.Reporting.Report report = null; + using (var sourceStream = System.IO.File.OpenRead(rptFile)) + { + report = (Telerik.Reporting.Report)reportPackager.UnpackageDocument(sourceStream); + } - report.DataSource = result_data; - System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); + report.DataSource = result_data; + System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); - InstanceReportSource instanceReportSource = new InstanceReportSource() - { - ReportDocument = report - }; + InstanceReportSource instanceReportSource = new InstanceReportSource() + { + ReportDocument = report + }; - ReportProcessor reportProcessor = new ReportProcessor(_configuration); - RenderingResult result = reportProcessor.RenderReport("PDF", instanceReportSource, deviceInfo); + ReportProcessor reportProcessor = new ReportProcessor(_configuration); + RenderingResult result = reportProcessor.RenderReport("PDF", instanceReportSource, deviceInfo); - var first_record = result_data.FirstOrDefault(); + var first_record = result_data.FirstOrDefault(); - var content = result.DocumentBytes; - return File(content, "application/pdf", $"รายงานบัญชี3_{first_record.RootOcName}_.pdf"); - } - catch (Exception ex) - { - return Error(ex); - } - } - catch (Exception ex) - { - return Error(ex); - } - } + var content = result.DocumentBytes; + return File(content, "application/pdf", $"รายงานบัญชี3_{first_record.RootOcName}_.pdf"); + } + catch (Exception ex) + { + return Error(ex); + } + } + catch (Exception ex) + { + return Error(ex); + } + } - #endregion - } + #endregion + } } diff --git a/Services/OrganizationReportService.cs b/Services/OrganizationReportService.cs index 4f3401c..478fee8 100644 --- a/Services/OrganizationReportService.cs +++ b/Services/OrganizationReportService.cs @@ -374,9 +374,9 @@ namespace BMA.EHR.Report.Service.Services PositionTypeNew = ptNew == null ? null : ptNew.Name, }) - .ToList() - .OrderBy(x => x.OcOrder).ThenBy(x => GetPosnoIntFromPosNo(x.PositionNumberOld)) .ToList(); + //.OrderBy(x => x.OcOrder).ThenBy(x => GetPosnoIntFromPosNo(x.PositionNumberOld)) + //.ToList(); var results = new List();