ปรับปรุงรายงานประวัติการเลื่อนเงินเดือนรายบุคคล
This commit is contained in:
@@ -16,6 +16,8 @@ using System.Data;
|
|||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
|
using iTextSharp.text;
|
||||||
|
using iTextSharp.text.pdf;
|
||||||
|
|
||||||
namespace TodoAPI2.Controllers
|
namespace TodoAPI2.Controllers
|
||||||
{
|
{
|
||||||
@@ -96,43 +98,39 @@ namespace TodoAPI2.Controllers
|
|||||||
{
|
{
|
||||||
if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized();
|
if (!MyHelper.checkAuth(Configuration, HttpContext)) return Unauthorized();
|
||||||
var httpclient = new WebClient();
|
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
|
var stream = new MemoryStream();
|
||||||
join y in _repository.GetContext().eva_adjust_postponement
|
Document document = new Document();
|
||||||
on x.adjust_postponement_id equals y.id
|
PdfCopy writer = new PdfCopy(document, stream);
|
||||||
where x.id == model.detail_id
|
document.Open();
|
||||||
select y).FirstOrDefault();
|
|
||||||
if(temp != null)
|
var data1 = GetReport01(model);
|
||||||
|
PdfReader reader1 = new PdfReader(data1);
|
||||||
|
reader1.ConsolidateNamedDestinations();
|
||||||
|
for (int i = 1; i <= reader1.NumberOfPages; i++)
|
||||||
{
|
{
|
||||||
model.theround = temp.theRound.ToString();
|
PdfImportedPage page = writer.GetImportedPage(reader1, i);
|
||||||
model.theyear = temp.fiscal_year.ToString();
|
writer.AddPage(page);
|
||||||
}
|
}
|
||||||
|
reader1.Close();
|
||||||
|
|
||||||
var temp2 = (from x in _repository.GetContext().eva_adjust_postponement_detail
|
var data2 = GetReport02(model);
|
||||||
where x.id == model.detail_id
|
PdfReader reader2 = new PdfReader(data2);
|
||||||
select x).FirstOrDefault();
|
reader2.ConsolidateNamedDestinations();
|
||||||
|
for (int i = 1; i <= reader2.NumberOfPages; i++)
|
||||||
if(temp2 != null && temp2.promoted_percentage.HasValue)
|
|
||||||
{
|
{
|
||||||
model.x1 = temp2.promoted_percentage.Value > 0 ? "X" : "";
|
PdfImportedPage page = writer.GetImportedPage(reader2, i);
|
||||||
model.x2 = temp2.promoted_percentage.Value <= 0 ? "X" : "";
|
writer.AddPage(page);
|
||||||
}
|
}
|
||||||
|
reader2.Close();
|
||||||
|
|
||||||
string url = $"{mainurl}{reportsite}/rep_eva_self_review.{model.filetype}?{MyHelper.GetParameterForJasperReport(model)}&j_username={username}&j_password={password}";
|
writer.Close();
|
||||||
|
document.Close();
|
||||||
|
|
||||||
if (model.filetype == "xlsx")
|
var datax = stream.ToArray();
|
||||||
{
|
var streamx = new MemoryStream(datax);
|
||||||
url += "&ignorePagination=true";
|
|
||||||
}
|
|
||||||
|
|
||||||
var data = httpclient.DownloadData(url);
|
return File(streamx, model.contentType);
|
||||||
var stream = new MemoryStream(data);
|
|
||||||
|
|
||||||
return File(stream, model.contentType);
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@@ -141,6 +139,118 @@ namespace TodoAPI2.Controllers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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");
|
||||||
|
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.{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;
|
||||||
|
}
|
||||||
|
|
||||||
|
private byte[] GetReport02(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");
|
||||||
|
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 x1 { get; set; }
|
||||||
|
|
||||||
public string x2 { get; set; }
|
public string x2 { get; set; }
|
||||||
|
|
||||||
|
public string thedesc { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -85,6 +85,9 @@
|
|||||||
<ul>
|
<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>
|
<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>
|
||||||
|
<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>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user