diff --git a/BMA.EHR.Application/Repositories/Reports/InsigniaReportRepository.cs b/BMA.EHR.Application/Repositories/Reports/InsigniaReportRepository.cs index a2c68237..7bd8858f 100644 --- a/BMA.EHR.Application/Repositories/Reports/InsigniaReportRepository.cs +++ b/BMA.EHR.Application/Repositories/Reports/InsigniaReportRepository.cs @@ -872,7 +872,7 @@ namespace BMA.EHR.Application.Repositories.Reports foreach (var ins in insigniaList) { var count = data.Where(x => x.InsigniaId == ins.InsigniaId).Count(); - var mod_val = count <= 50 ? 50 - count : count % 50.0; + var mod_val = count <= 50 ? 50 - count : 50-(count % 50.0); for (int i = 0; i < mod_val; i++) { var p = new @@ -890,7 +890,7 @@ namespace BMA.EHR.Application.Repositories.Reports data.Add(p); } } - return data; + return data.OrderBy(x => x.InsigniaName); } //46-ประวัติสำหรับการเสนอขอพระราชทานเหรียญจักรพรรดิมาลา diff --git a/BMA.EHR.Report.Service/Controllers/InsigniaReportController.cs b/BMA.EHR.Report.Service/Controllers/InsigniaReportController.cs index b2cd8ed4..3e88e8f0 100644 --- a/BMA.EHR.Report.Service/Controllers/InsigniaReportController.cs +++ b/BMA.EHR.Report.Service/Controllers/InsigniaReportController.cs @@ -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(data); var detailList = new List(); - - 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(); + 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); diff --git a/BMA.EHR.Report.Service/Reports/19-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ กรณีขยายเวลา.trdp b/BMA.EHR.Report.Service/Reports/19-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ กรณีขยายเวลา.trdp index 7397c376..ad279a33 100644 Binary files a/BMA.EHR.Report.Service/Reports/19-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ กรณีขยายเวลา.trdp and b/BMA.EHR.Report.Service/Reports/19-แบบรายงานการประเมินผลการทดลองปฏิบัติหน้าที่ราชการ กรณีขยายเวลา.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา-1.trdp b/BMA.EHR.Report.Service/Reports/45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา-1.trdp index 0cd16222..d6a7e9b9 100644 Binary files a/BMA.EHR.Report.Service/Reports/45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา-1.trdp and b/BMA.EHR.Report.Service/Reports/45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา-1.trdp differ diff --git a/BMA.EHR.Report.Service/Reports/45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา-2.trdp b/BMA.EHR.Report.Service/Reports/45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา-2.trdp index c446f6bc..df03d61f 100644 Binary files a/BMA.EHR.Report.Service/Reports/45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา-2.trdp and b/BMA.EHR.Report.Service/Reports/45-บัญชีแสดงรายชื่อผู้ขอพระราชทานเหรียญจักรพรรดิมาลา-2.trdp differ