api รายงานเครื่องราช
This commit is contained in:
parent
cba981e432
commit
2d5f1fc8be
8 changed files with 177 additions and 17 deletions
|
|
@ -1,5 +1,6 @@
|
|||
using BMA.EHR.Application.Repositories.Reports;
|
||||
using BMA.EHR.Domain.Common;
|
||||
using BMA.EHR.Domain.Models.Insignias;
|
||||
using DocumentFormat.OpenXml.Drawing;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
|
@ -13,7 +14,7 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
[ApiVersion("2.0")]
|
||||
[ApiController]
|
||||
[Produces("application/json")]
|
||||
[Authorize]
|
||||
//[Authorize]
|
||||
[SwaggerTag("API รายงานระบบเครื่องราชอิสริยาภรณ์")]
|
||||
public class InsigniaReportController : BaseController
|
||||
{
|
||||
|
|
@ -88,7 +89,8 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
{
|
||||
_Khr1List.Add(new
|
||||
{
|
||||
RowNo = _data.GetType().GetProperty("RowNo").GetValue(_data),
|
||||
//RowNo = _data.GetType().GetProperty("RowNo").GetValue(_data),
|
||||
RowNo = _Khr1List.Count + 1,
|
||||
DepartmentName = _data.GetType().GetProperty("DepartmentName").GetValue(_data),
|
||||
G1Male = _data.GetType().GetProperty("G1Male").GetValue(_data),
|
||||
G1Female = _data.GetType().GetProperty("G1Female").GetValue(_data),
|
||||
|
|
@ -100,7 +102,7 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
G4Female = _data.GetType().GetProperty("G4Female").GetValue(_data),
|
||||
G5Male = _data.GetType().GetProperty("G5Male").GetValue(_data),
|
||||
G5Female = _data.GetType().GetProperty("G5Female").GetValue(_data),
|
||||
reason = string.Empty,
|
||||
Remark = _data.GetType().GetProperty("Remark").GetValue(_data),
|
||||
});
|
||||
}
|
||||
var tbl = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"];
|
||||
|
|
@ -169,7 +171,6 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
{
|
||||
_Khr2List.Add(new
|
||||
{
|
||||
//RowNo = _data.GetType().GetProperty("RowNo").GetValue(_data),
|
||||
RowNo = _Khr2List.Count+1,
|
||||
DepartmentName = _data.GetType().GetProperty("DepartmentName").GetValue(_data),
|
||||
G1Male = _data.GetType().GetProperty("G1Male").GetValue(_data),
|
||||
|
|
@ -190,6 +191,7 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
G8Female = _data.GetType().GetProperty("G1Female").GetValue(_data),
|
||||
G9Male = _data.GetType().GetProperty("G1Male").GetValue(_data),
|
||||
G9Female = _data.GetType().GetProperty("G1Female").GetValue(_data),
|
||||
Remark = _data.GetType().GetProperty("Remark").GetValue(_data),
|
||||
});
|
||||
}
|
||||
var tbl1 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"];
|
||||
|
|
@ -229,6 +231,9 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
try
|
||||
{
|
||||
var data = await _repository.GetKhr3Report(id);
|
||||
var YearInsignalPeriod = await _repository.GetYearInsigniaPeriod(id);
|
||||
var TwoYearInsignalPeriod = await _repository.Get2YearInsigniaPeriod(id);
|
||||
var Date = await _repository.GetDateInsigniaPeriod(id);
|
||||
var mimeType = "";
|
||||
switch (exportType.Trim().ToLower())
|
||||
{
|
||||
|
|
@ -236,12 +241,47 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
case "docx": mimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; break;
|
||||
case "xlsx": mimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; break;
|
||||
}
|
||||
|
||||
var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"41-แบบ ขร3 บัญชีรายชื่อข้าราชการผู้ขอพระราชทานเครื่องราชฯ.trdp");
|
||||
var contentData = _reportGenerator.GenerateReport(rptFile, exportType);
|
||||
ReportPackager reportPacker = new ReportPackager();
|
||||
Telerik.Reporting.Report? report = null;
|
||||
using (var sourceStream = System.IO.File.OpenRead(rptFile))
|
||||
{
|
||||
report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream);
|
||||
}
|
||||
|
||||
return File(contentData, mimeType, $"แบบ ขร3.{exportType.Trim().ToLower()}");
|
||||
report.ReportParameters["YearInsigniaPeriod"].Value = YearInsignalPeriod;
|
||||
report.ReportParameters["TwoYearInsignalPeriod"].Value = TwoYearInsignalPeriod;
|
||||
report.ReportParameters["EndDate"].Value = Date.GetType().GetProperty("EndDate").GetValue(Date);
|
||||
//int count = ((IEnumerable<object>)data).Count();
|
||||
//int counter = 0;
|
||||
//var _Khr3LeftList = new List<dynamic>();
|
||||
//var _Khr3RightList = new List<dynamic>();
|
||||
//foreach(var _data in data)
|
||||
//{
|
||||
// _Khr3LeftList.Add(new
|
||||
// {
|
||||
// RowNo = _Khr3LeftList.Count +1,
|
||||
// FullName = _data.GetType().GetProperty("FullName").GetValue(_data),
|
||||
// OCName = _data.GetType().GetProperty("OCName").GetValue(_data),
|
||||
// InsigniaName = _data.GetType().GetProperty("InsigniaName").GetValue(_data),
|
||||
|
||||
// });
|
||||
//}
|
||||
//var tbl1 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"];
|
||||
//tbl1.DataSource = _Khr3LeftList;
|
||||
|
||||
//var tbl2 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table2"];
|
||||
//tbl2.DataSource = _Khr3RightList;
|
||||
|
||||
System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable();
|
||||
InstanceReportSource instanceReportSource = new InstanceReportSource()
|
||||
{
|
||||
ReportDocument = report,
|
||||
};
|
||||
ReportProcessor reportProcessor = new ReportProcessor(_configuration);
|
||||
RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo);
|
||||
|
||||
return File(result.DocumentBytes, mimeType, $"แบบ ขร3.{exportType.Trim().ToLower()}");
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
|
@ -266,6 +306,8 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
try
|
||||
{
|
||||
var data = await _repository.GetKhr4Report(id);
|
||||
var YearInsignalPeriod = await _repository.GetYearInsigniaPeriod(id);
|
||||
var TwoYearInsignalPeriod = await _repository.Get2YearInsigniaPeriod(id);
|
||||
var mimeType = "";
|
||||
switch (exportType.Trim().ToLower())
|
||||
{
|
||||
|
|
@ -281,9 +323,30 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
{
|
||||
report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream);
|
||||
}
|
||||
report.ReportParameters["YearInsigniaPeriod"].Value = YearInsignalPeriod;
|
||||
report.ReportParameters["TwoYearInsignalPeriod"].Value = TwoYearInsignalPeriod;
|
||||
|
||||
var tbl1 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"];
|
||||
tbl1.DataSource = data;
|
||||
var _Khr4List = new List<dynamic>();
|
||||
foreach (var _data in data)
|
||||
{
|
||||
_Khr4List.Add(new
|
||||
{
|
||||
RowNo = _Khr4List.Count + 1,
|
||||
FullName = _data.GetType().GetProperty("FullName").GetValue(_data),
|
||||
CitizenId = _data.GetType().GetProperty("CitizenId").GetValue(_data),
|
||||
Type = _data.GetType().GetProperty("Type").GetValue(_data),
|
||||
Level = _data.GetType().GetProperty("Level").GetValue(_data),
|
||||
DateStart = _data.GetType().GetProperty("DateStart").GetValue(_data),
|
||||
SalaryAmount = _data.GetType().GetProperty("SalaryAmount").GetValue(_data),
|
||||
Position = _data.GetType().GetProperty("Position").GetValue(_data),
|
||||
InsigniaRecv = _data.GetType().GetProperty("InsigniaRecv").GetValue(_data),
|
||||
InsigniaRecvDate = _data.GetType().GetProperty("InsigniaRecvDate").GetValue(_data),
|
||||
InsigniaRequest = _data.GetType().GetProperty("InsigniaRequest").GetValue(_data),
|
||||
Remark = _data.GetType().GetProperty("Remark").GetValue(_data),
|
||||
});
|
||||
}
|
||||
tbl1.DataSource = _Khr4List;
|
||||
|
||||
System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable();
|
||||
InstanceReportSource instanceReportSource = new InstanceReportSource()
|
||||
|
|
@ -354,7 +417,9 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
{
|
||||
try
|
||||
{
|
||||
|
||||
var data = await _repository.GetSummaryCoinReport(id);
|
||||
var SummaryTotal = await _repository.GetSummaryTotalCoinReport(id);
|
||||
var YearInsignalPeriod = await _repository.GetYearInsigniaPeriod(id);
|
||||
var mimeType = "";
|
||||
switch (exportType.Trim().ToLower())
|
||||
{
|
||||
|
|
@ -364,9 +429,41 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
}
|
||||
|
||||
var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"44-บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ.trdp");
|
||||
var contentData = _reportGenerator.GenerateReport(rptFile, exportType);
|
||||
ReportPackager reportPacker = new ReportPackager();
|
||||
Telerik.Reporting.Report? report = null;
|
||||
using (var sourceStream = System.IO.File.OpenRead(rptFile))
|
||||
{
|
||||
report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream);
|
||||
}
|
||||
report.ReportParameters["YearInsigniaPeriod"].Value = YearInsignalPeriod;
|
||||
|
||||
return File(contentData, mimeType, $"insignia.{exportType.Trim().ToLower()}");
|
||||
var tbl1 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"];
|
||||
var _Khr6List = new List<dynamic>();
|
||||
foreach (var _data in data)
|
||||
{
|
||||
_Khr6List.Add(new
|
||||
{
|
||||
RowNo = _Khr6List.Count + 1,
|
||||
DepartmentName = _data.GetType().GetProperty("DepartmentName").GetValue(_data),
|
||||
G1Male = _data.GetType().GetProperty("G1Male").GetValue(_data),
|
||||
G1Female = _data.GetType().GetProperty("G1Female").GetValue(_data),
|
||||
G2Male = _data.GetType().GetProperty("G2Male").GetValue(_data),
|
||||
G2Female = _data.GetType().GetProperty("G2Female").GetValue(_data),
|
||||
Remark = _data.GetType().GetProperty("Remark").GetValue(_data),
|
||||
});
|
||||
}
|
||||
tbl1.DataSource = _Khr6List;
|
||||
|
||||
var tbl2 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table2"];
|
||||
tbl2.DataSource = SummaryTotal;
|
||||
System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable();
|
||||
InstanceReportSource instanceReportSource = new InstanceReportSource()
|
||||
{
|
||||
ReportDocument = report,
|
||||
};
|
||||
ReportProcessor reportProcessor = new ReportProcessor(_configuration);
|
||||
RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo);
|
||||
return File(result.DocumentBytes, mimeType, $"บัญชีแสดงจำนวนชั้นตราเครื่องราชฯ{exportType.Trim().ToLower()}");
|
||||
|
||||
}
|
||||
catch
|
||||
|
|
@ -391,7 +488,8 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
{
|
||||
try
|
||||
{
|
||||
|
||||
var data = await _repository.GetCoinReport(id);
|
||||
var YearInsignalPeriod = await _repository.GetYearInsigniaPeriod(id);
|
||||
var mimeType = "";
|
||||
switch (exportType.Trim().ToLower())
|
||||
{
|
||||
|
|
@ -401,9 +499,37 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
}
|
||||
|
||||
var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา.trdp");
|
||||
var contentData = _reportGenerator.GenerateReport(rptFile, exportType);
|
||||
ReportPackager reportPacker = new ReportPackager();
|
||||
Telerik.Reporting.Report? report = null;
|
||||
using (var sourceStream = System.IO.File.OpenRead(rptFile))
|
||||
{
|
||||
report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream);
|
||||
}
|
||||
|
||||
return File(contentData, mimeType, $"insignia.{exportType.Trim().ToLower()}");
|
||||
report.ReportParameters["YearInsignalPeriod"].Value = YearInsignalPeriod;
|
||||
|
||||
//var _Khr3List = new List<dynamic>();
|
||||
//int maxRows = 25;
|
||||
//for (int i = 0; i < maxRows; i++)
|
||||
//{
|
||||
// _Khr3List.Add(new
|
||||
// {
|
||||
// RowNo = i + 1,
|
||||
// FullName = string.Empty
|
||||
// });
|
||||
//}
|
||||
|
||||
//var tbl1 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table1"];
|
||||
//tbl1.DataSource = _Khr3List;
|
||||
|
||||
System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable();
|
||||
InstanceReportSource instanceReportSource = new InstanceReportSource()
|
||||
{
|
||||
ReportDocument = report,
|
||||
};
|
||||
ReportProcessor reportProcessor = new ReportProcessor(_configuration);
|
||||
RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo);
|
||||
return File(result.DocumentBytes, mimeType, $"บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา.{exportType.Trim().ToLower()}");
|
||||
|
||||
}
|
||||
catch
|
||||
|
|
@ -428,7 +554,8 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
{
|
||||
try
|
||||
{
|
||||
|
||||
var profile = await _repository.GetProfileInsignia(id);
|
||||
var data = await _repository.GetHistorySalaryReport(id);
|
||||
var mimeType = "";
|
||||
switch (exportType.Trim().ToLower())
|
||||
{
|
||||
|
|
@ -438,9 +565,42 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
}
|
||||
|
||||
var rptFile = System.IO.Path.Combine(_hostingEnvironment.ContentRootPath, "Reports", $"46-ประวัติสำหรับการเสนอขอพระราชทานเหรียญจักรพรรดิมาลา.trdp");
|
||||
var contentData = _reportGenerator.GenerateReport(rptFile, exportType);
|
||||
ReportPackager reportPacker = new ReportPackager();
|
||||
Telerik.Reporting.Report? report = null;
|
||||
using (var sourceStream = System.IO.File.OpenRead(rptFile))
|
||||
{
|
||||
report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream);
|
||||
}
|
||||
|
||||
return File(contentData, mimeType, $"insignia.{exportType.Trim().ToLower()}");
|
||||
report.ReportParameters["FullName"].Value = profile.GetType().GetProperty("FullName").GetValue(profile);
|
||||
report.ReportParameters["Position"].Value = profile.GetType().GetProperty("Position").GetValue(profile);
|
||||
report.ReportParameters["OCName"].Value = profile.GetType().GetProperty("OCName").GetValue(profile);
|
||||
report.ReportParameters["BirthDate"].Value = profile.GetType().GetProperty("BirthDate").GetValue(profile);
|
||||
|
||||
var historysalary = new List<dynamic>();
|
||||
foreach (var _data in data)
|
||||
{
|
||||
historysalary.Add(new
|
||||
{
|
||||
DateTh = _data.GetType().GetProperty("DateTh").GetValue(_data),
|
||||
Position = _data.GetType().GetProperty("Position").GetValue(_data),
|
||||
OCName = _data.GetType().GetProperty("OCName").GetValue(_data),
|
||||
Age = _data.GetType().GetProperty("Age").GetValue(_data),
|
||||
Amount = _data.GetType().GetProperty("Amount").GetValue(_data),
|
||||
Remark = _data.GetType().GetProperty("Remark").GetValue(_data),
|
||||
});
|
||||
}
|
||||
var tbl1 = (Telerik.Reporting.Table)report.Items["detailsection1"].Items["table1"];
|
||||
tbl1.DataSource = historysalary;
|
||||
|
||||
System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable();
|
||||
InstanceReportSource instanceReportSource = new InstanceReportSource()
|
||||
{
|
||||
ReportDocument = report,
|
||||
};
|
||||
ReportProcessor reportProcessor = new ReportProcessor(_configuration);
|
||||
RenderingResult result = reportProcessor.RenderReport($"{exportType}", instanceReportSource, deviceInfo);
|
||||
return File(result.DocumentBytes, mimeType, $"ประวัติสำหรับการเสนอขอพระราชทานเหรียญจักรพรรดิมาลา.{exportType.Trim().ToLower()}");
|
||||
|
||||
}
|
||||
catch
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue