ปรับปรุงรายงานประวัติการเลื่อนเงินเดือนรายบุคคล
This commit is contained in:
@@ -16,6 +16,8 @@ using System.Data;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using iTextSharp.text;
|
||||
using iTextSharp.text.pdf;
|
||||
|
||||
namespace TodoAPI2.Controllers
|
||||
{
|
||||
@@ -96,6 +98,51 @@ namespace TodoAPI2.Controllers
|
||||
{
|
||||
if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized();
|
||||
var httpclient = new WebClient();
|
||||
|
||||
var stream = new MemoryStream();
|
||||
Document document = new Document();
|
||||
PdfCopy writer = new PdfCopy(document, stream);
|
||||
document.Open();
|
||||
|
||||
var data1 = GetReport01(model);
|
||||
PdfReader reader1 = new PdfReader(data1);
|
||||
reader1.ConsolidateNamedDestinations();
|
||||
for (int i = 1; i <= reader1.NumberOfPages; i++)
|
||||
{
|
||||
PdfImportedPage page = writer.GetImportedPage(reader1, i);
|
||||
writer.AddPage(page);
|
||||
}
|
||||
reader1.Close();
|
||||
|
||||
var data2 = GetReport02(model);
|
||||
PdfReader reader2 = new PdfReader(data2);
|
||||
reader2.ConsolidateNamedDestinations();
|
||||
for (int i = 1; i <= reader2.NumberOfPages; i++)
|
||||
{
|
||||
PdfImportedPage page = writer.GetImportedPage(reader2, i);
|
||||
writer.AddPage(page);
|
||||
}
|
||||
reader2.Close();
|
||||
|
||||
writer.Close();
|
||||
document.Close();
|
||||
|
||||
var datax = stream.ToArray();
|
||||
var streamx = new MemoryStream(datax);
|
||||
|
||||
return File(streamx, model.contentType);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogCritical($"Exception while GetReport.", ex);
|
||||
return StatusCode(500, $"{ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
private byte[] GetReport01(rep_eva_self_reviewReportRequestModel 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");
|
||||
@@ -110,6 +157,21 @@ namespace TodoAPI2.Controllers
|
||||
{
|
||||
model.theround = temp.theRound.ToString();
|
||||
model.theyear = temp.fiscal_year.ToString();
|
||||
|
||||
var all_eva = (from x in _repository.GetContext().eva_performance_plan
|
||||
where x.fiscal_year == temp.fiscal_year
|
||||
orderby x.theTime
|
||||
select x).ToList();
|
||||
foreach (var x2 in all_eva)
|
||||
{
|
||||
var start = (from n in _repository.GetContext().eva_performance_plan_detail
|
||||
where n.performance_plan_id == x2.id
|
||||
select n.start_date).Min();
|
||||
var end = (from n in _repository.GetContext().eva_performance_plan_detail
|
||||
where n.performance_plan_id == x2.id
|
||||
select n.end_date).Min();
|
||||
model.thedesc = "ตั้งแต่วันที่ " + MyHelper.GetDateStringForReport(start) + " ถึงวันที่ " + MyHelper.GetDateStringForReport(end);
|
||||
}
|
||||
}
|
||||
|
||||
var temp2 = (from x in _repository.GetContext().eva_adjust_postponement_detail
|
||||
@@ -118,10 +180,12 @@ namespace TodoAPI2.Controllers
|
||||
|
||||
if (temp2 != null && temp2.promoted_percentage.HasValue)
|
||||
{
|
||||
model.x1 = temp2.promoted_percentage.Value > 0 ? "X" : "";
|
||||
model.x2 = temp2.promoted_percentage.Value <= 0 ? "X" : "";
|
||||
model.x1 = temp2.promoted_percentage.Value > 0 ? "/" : "";
|
||||
model.x2 = temp2.promoted_percentage.Value <= 0 ? "/" : "";
|
||||
}
|
||||
|
||||
|
||||
|
||||
string url = $"{mainurl}{reportsite}/rep_eva_self_review.{model.filetype}?{MyHelper.GetParameterForJasperReport(model)}&j_username={username}&j_password={password}";
|
||||
|
||||
if (model.filetype == "xlsx")
|
||||
@@ -130,17 +194,63 @@ namespace TodoAPI2.Controllers
|
||||
}
|
||||
|
||||
var data = httpclient.DownloadData(url);
|
||||
var stream = new MemoryStream(data);
|
||||
|
||||
return File(stream, model.contentType);
|
||||
return data;
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
private byte[] GetReport02(rep_eva_self_reviewReportRequestModel model)
|
||||
{
|
||||
_logger.LogCritical($"Exception while GetReport.", ex);
|
||||
return StatusCode(500, $"{ex.Message}");
|
||||
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 temp = (from x in _repository.GetContext().eva_adjust_postponement_detail
|
||||
join y in _repository.GetContext().eva_adjust_postponement
|
||||
on x.adjust_postponement_id equals y.id
|
||||
where x.id == model.detail_id
|
||||
select y).FirstOrDefault();
|
||||
if (temp != null)
|
||||
{
|
||||
model.theround = temp.theRound.ToString();
|
||||
model.theyear = temp.fiscal_year.ToString();
|
||||
|
||||
var all_eva = (from x in _repository.GetContext().eva_performance_plan
|
||||
where x.fiscal_year == temp.fiscal_year
|
||||
orderby x.theTime
|
||||
select x).ToList();
|
||||
foreach (var x2 in all_eva)
|
||||
{
|
||||
var start = (from n in _repository.GetContext().eva_performance_plan_detail
|
||||
where n.performance_plan_id == x2.id
|
||||
select n.start_date).Min();
|
||||
var end = (from n in _repository.GetContext().eva_performance_plan_detail
|
||||
where n.performance_plan_id == x2.id
|
||||
select n.end_date).Min();
|
||||
model.thedesc = "ตั้งแต่วันที่ " + MyHelper.GetDateStringForReport(start) + " ถึงวันที่ " + MyHelper.GetDateStringForReport(end);
|
||||
}
|
||||
}
|
||||
|
||||
var temp2 = (from x in _repository.GetContext().eva_adjust_postponement_detail
|
||||
where x.id == model.detail_id
|
||||
select x).FirstOrDefault();
|
||||
|
||||
if (temp2 != null && temp2.promoted_percentage.HasValue)
|
||||
{
|
||||
model.x1 = temp2.promoted_percentage.Value > 0 ? "/" : "";
|
||||
model.x2 = temp2.promoted_percentage.Value <= 0 ? "/" : "";
|
||||
}
|
||||
|
||||
string url = $"{mainurl}{reportsite}/rep_eva_self_review_cover.{model.filetype}?{MyHelper.GetParameterForJasperReport(model)}&j_username={username}&j_password={password}";
|
||||
|
||||
if (model.filetype == "xlsx")
|
||||
{
|
||||
url += "&ignorePagination=true";
|
||||
}
|
||||
|
||||
var data = httpclient.DownloadData(url);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,8 @@ namespace TodoAPI2.Models
|
||||
public string x1 { get; set; }
|
||||
|
||||
public string x2 { get; set; }
|
||||
|
||||
public string thedesc { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -85,6 +85,9 @@
|
||||
<ul>
|
||||
<li><a href="~/rpt_payroll_summaryView/rpt_payroll_summary_report"><div style="display: flex;align-items: center;"><span class="menu-dot">·</span>รายงานเงินเดือน</div></a>
|
||||
</ul>
|
||||
<ul>
|
||||
<li><a href="~/eva/eva_self_reviewView/eva_self_review"><div style="display: flex;align-items: center;"><span class="menu-dot">·</span>ประวัติการเลื่อนเงินเดือนรายบุคคล</div></a>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user