แก้รายงานทดลองงาน, เครื่องราช
This commit is contained in:
parent
443c42252c
commit
929d9d5c96
5 changed files with 48 additions and 18 deletions
|
|
@ -17,7 +17,7 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
[ApiVersion("2.0")]
|
||||
[ApiController]
|
||||
[Produces("application/json")]
|
||||
//[Authorize]
|
||||
[Authorize]
|
||||
[SwaggerTag("API รายงานระบบเครื่องราชอิสริยาภรณ์")]
|
||||
public class InsigniaReportController : BaseController
|
||||
{
|
||||
|
|
@ -496,7 +496,6 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
{
|
||||
try
|
||||
{
|
||||
|
||||
var data = await _repository.GetCoinReport(id);
|
||||
var YearInsignalPeriod = await _repository.GetYearInsigniaPeriod(id);
|
||||
var mimeType = "";
|
||||
|
|
@ -519,33 +518,64 @@ namespace BMA.EHR.Report.Service.Controllers
|
|||
report = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream);
|
||||
report2 = (Telerik.Reporting.Report)reportPacker.UnpackageDocument(sourceStream2);
|
||||
}
|
||||
string OCName = string.Empty;
|
||||
//foreach (var info in data)
|
||||
//{
|
||||
// OCName = info.GetType().GetProperty("OCName").GetValue(info);
|
||||
// break;
|
||||
//}
|
||||
var OCName = string.Empty;
|
||||
report.ReportParameters["YearInsignalPeriod"].Value = YearInsignalPeriod;
|
||||
report.ReportParameters["OCName"].Value = OCName;
|
||||
|
||||
var dataList = new List<dynamic>(data);
|
||||
var detailList = new List<dynamic>();
|
||||
|
||||
var ChkInsigniaName = string.IsNullOrEmpty(dataList[0].GetType().GetProperty("InsigniaName").GetValue(dataList[0]))? string.Empty: dataList[0].GetType().GetProperty("InsigniaName").GetValue(dataList[0]);
|
||||
var check = 0;
|
||||
var status = false;
|
||||
|
||||
for (int i = 0; i < dataList.Count; i++)
|
||||
{
|
||||
check++;
|
||||
var gender = dataList[i].GetType().GetProperty("Gender").GetValue(dataList[i]);
|
||||
detailList.Add(new
|
||||
{
|
||||
row = detailList.Count+1,
|
||||
Number = (detailList.Count+1).ToString().ToThaiNumber(),
|
||||
status = status,
|
||||
row = detailList.Count + 1,
|
||||
Number = (detailList.Count + 1).ToString().ToThaiNumber(),
|
||||
InsigniaName = dataList[i].GetType().GetProperty("InsigniaName").GetValue(dataList[i]),
|
||||
FullName = dataList[i].GetType().GetProperty("FullName").GetValue(dataList[i]),
|
||||
InsigniaInitial = dataList[i].GetType().GetProperty("InsigniaInitial").GetValue(dataList[i]),
|
||||
Male = dataList[i].GetType().GetProperty("Male").GetValue(dataList[i]),
|
||||
Female = dataList[i].GetType().GetProperty("Female").GetValue(dataList[i]),
|
||||
}); ;
|
||||
Male = gender == "ชาย" ? 1 : 0,
|
||||
Female = gender == "หญิง" ? 1 : 0,
|
||||
});
|
||||
|
||||
if (check == 25)
|
||||
{
|
||||
status = true;
|
||||
}
|
||||
else if(check == 50)
|
||||
{
|
||||
status = false;
|
||||
check = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (detailList.Count > 0)
|
||||
{
|
||||
var left = detailList.Where(x => x.status == false);
|
||||
var right = detailList.Where(x => x.status == true);
|
||||
var mergeList = new List<object>();
|
||||
for (int i = 0; i < detailList.Count / 2; i++)
|
||||
{
|
||||
mergeList.Add(new
|
||||
{
|
||||
row = mergeList.Count + 1,
|
||||
RowLeft = left.ElementAt(i).GetType().GetProperty("Number").GetValue(left.ElementAt(i)),
|
||||
NameLeft = left.ElementAt(i).GetType().GetProperty("FullName").GetValue(left.ElementAt(i)),
|
||||
RowRight = right.ElementAt(i).GetType().GetProperty("Number").GetValue(right.ElementAt(i)),
|
||||
NameRight = right.ElementAt(i).GetType().GetProperty("FullName").GetValue(right.ElementAt(i)),
|
||||
InsigniaInitial = left.ElementAt(i).GetType().GetProperty("InsigniaInitial").GetValue(left.ElementAt(i)),
|
||||
InsigniaName = left.ElementAt(i).GetType().GetProperty("InsigniaName").GetValue(left.ElementAt(i)),
|
||||
Male = left.ElementAt(i).GetType().GetProperty("Male").GetValue(left.ElementAt(i)) + right.ElementAt(i).GetType().GetProperty("Male").GetValue(right.ElementAt(i)),
|
||||
Female = left.ElementAt(i).GetType().GetProperty("Female").GetValue(left.ElementAt(i)) + right.ElementAt(i).GetType().GetProperty("Female").GetValue(right.ElementAt(i)),
|
||||
});
|
||||
}
|
||||
report.DataSource = mergeList;
|
||||
}
|
||||
report.DataSource = detailList;
|
||||
|
||||
var reportBook = new ReportBook();
|
||||
reportBook.Reports.Add(report);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue