Combine แบบประเมิน
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user