diff --git a/ApiControllers/rep_eva_xControllers.cs b/ApiControllers/rep_eva_xControllers.cs index 92bc353..8125f31 100644 --- a/ApiControllers/rep_eva_xControllers.cs +++ b/ApiControllers/rep_eva_xControllers.cs @@ -107,34 +107,14 @@ namespace TodoAPI2.Controllers { if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized(); - var p1 = GetParameter(Convert.ToInt16(model.detail_id)); - - var httpclient = new WebClient(); - - string mainurl = MyHelper.GetConfig(Configuration, "JasperReportServer:MainURL"); - string reportsite = MyHelper.GetConfig(Configuration, "JasperReportServer:reportsite"); - string username = MyHelper.GetConfig(Configuration, "JasperReportServer:username"); - string password = MyHelper.GetConfig(Configuration, "JasperReportServer:password"); - - //string url = $"{mainurl}{reportsite}/rep_eva_x1.{model.filetype}?{MyHelper.GetParameterForJasperReport(p1)}&j_username={username}&j_password={password}"; - - //var data = httpclient.DownloadData(url); - //var stream = new MemoryStream(data); - - //return File(stream, model.contentType); - var stream = new MemoryStream(); Document document = new Document(); PdfCopy writer = new PdfCopy(document, stream); document.Open(); - var rep_type = new int[] { 1, 2, 3, 4, 5}; - - foreach (var k in rep_type) + foreach (var k in model.detail_id) { - string url = $"{mainurl}{reportsite}/rep_eva_x{k}.{model.filetype}?{MyHelper.GetParameterForJasperReport(p1)}&j_username={username}&j_password={password}"; - - var data = httpclient.DownloadData(url); + var data = GetReport(k, model); PdfReader reader = new PdfReader(data); reader.ConsolidateNamedDestinations(); @@ -163,6 +143,49 @@ namespace TodoAPI2.Controllers } } + private byte[] GetReport(int detail_id, rep_eva_xReportRequestModel model) + { + var httpclient = new WebClient(); + + string mainurl = MyHelper.GetConfig(Configuration, "JasperReportServer:MainURL"); + string reportsite = MyHelper.GetConfig(Configuration, "JasperReportServer:reportsite"); + string username = MyHelper.GetConfig(Configuration, "JasperReportServer:username"); + string password = MyHelper.GetConfig(Configuration, "JasperReportServer:password"); + + var p1 = GetParameter(detail_id); + + var stream = new MemoryStream(); + Document document = new Document(); + PdfCopy writer = new PdfCopy(document, stream); + document.Open(); + + var rep_type = new int[] { 1, 2, 3, 4, 5 }; + + foreach (var k in rep_type) + { + string url = $"{mainurl}{reportsite}/rep_eva_x{k}.{model.filetype}?{MyHelper.GetParameterForJasperReport(p1)}&j_username={username}&j_password={password}"; + + var data = httpclient.DownloadData(url); + + PdfReader reader = new PdfReader(data); + reader.ConsolidateNamedDestinations(); + + for (int i = 1; i <= reader.NumberOfPages; i++) + { + PdfImportedPage page = writer.GetImportedPage(reader, i); + writer.AddPage(page); + } + + reader.Close(); + } + + writer.Close(); + document.Close(); + + var data2 = stream.ToArray(); + return data2; + } + private rep_eva_xInputModel2 GetParameter(int detail_id) { var i = new rep_eva_xInputModel2(); @@ -176,10 +199,10 @@ namespace TodoAPI2.Controllers i.employee_position_level = p.employee_position_level; i.employee_org = p.employee_org; i.employee_position = p.employee_position; - if (!string.IsNullOrEmpty(p.employee_profile_picture)) - { - i.image_url = MyHelper.GetConfig(Configuration, "SiteInformation:mainsite") + "/api/image/" + p.employee_profile_picture; - } + //if (!string.IsNullOrEmpty(p.employee_profile_picture)) + //{ + // i.image_url = MyHelper.GetConfig(Configuration, "SiteInformation:mainsite") + "/api/image/" + p.employee_profile_picture; + //} i.chief_fullname = p.chief_fullname; i.chief_position = p.chief_position; i.supervisor2_fullname = p.supervisor2_fullname; diff --git a/Models/rep_eva_x/rep_eva_xSearchModel.cs b/Models/rep_eva_x/rep_eva_xSearchModel.cs index 6e5846a..89b36f7 100644 --- a/Models/rep_eva_x/rep_eva_xSearchModel.cs +++ b/Models/rep_eva_x/rep_eva_xSearchModel.cs @@ -16,7 +16,7 @@ namespace TodoAPI2.Models public Guid id { get; set; } - public string detail_id { get; set; } + public List detail_id { get; set; } } } diff --git a/Views/eva_create_evaluationView/eva_create_evaluation_d_summary.cshtml b/Views/eva_create_evaluationView/eva_create_evaluation_d_summary.cshtml index 0f1308c..934b260 100644 --- a/Views/eva_create_evaluationView/eva_create_evaluation_d_summary.cshtml +++ b/Views/eva_create_evaluationView/eva_create_evaluation_d_summary.cshtml @@ -123,7 +123,7 @@ - + @@ -147,9 +147,13 @@ +
+ + @section FooterPlaceHolder{ +