diff --git a/Controllers/ExamReportController.cs b/Controllers/ExamReportController.cs
index a0fade6..91fde03 100644
--- a/Controllers/ExamReportController.cs
+++ b/Controllers/ExamReportController.cs
@@ -620,7 +620,7 @@ namespace BMA.EHR.Report.Service.Controllers
.ToList();
if (data.Count == 0)
- return Error("ไม่พบข้อมูลในระบบ", 404);
+ return Error("ไม่พบข้อมูลในระบบ");
//var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Recruit", $"rptPassExamList.trdp");
//ReportPackager reportPackager = new ReportPackager();
@@ -666,7 +666,7 @@ namespace BMA.EHR.Report.Service.Controllers
}
///
- /// รายชื่อผู้มีสิทธิ์สอบ แสดงรายชื่อแบ่งตามตำแหน่ง (สอบคัดเลือกอื่นๆ)
+ /// รายชื่อผู้มีสิทธิ์สอบ แสดงรายชื่อแบ่งตามตำแหน่ง (สอบคัดเลือกผู้พิการ)
///
/// รหัสรอบการสอบ
///
@@ -692,14 +692,14 @@ namespace BMA.EHR.Report.Service.Controllers
{
FullName = $"{p.Prefix ?? ""}{p.FirstName ?? ""} {p.LastName ?? ""}",
PositionName = p.PositionName,
- // Remark = !string.IsNullOrEmpty(p.Remark) ? p.Remark.ToThaiNumber() : "",
+ Remark = !string.IsNullOrEmpty(p.Remark) ? p.Remark.ToThaiNumber() : "",
ExamId = !string.IsNullOrEmpty(p.ExamId) ? p.ExamId.ToThaiNumber() : "",
ExamName =
($"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}").ToThaiNumber(),
}).ToListAsync();
if (data.Count == 0)
- return Error("ไม่พบข้อมูลในระบบ", 404);
+ return Error("ไม่พบข้อมูลในระบบ");
var examName = data.First().ExamName;
@@ -714,7 +714,7 @@ namespace BMA.EHR.Report.Service.Controllers
No = (index + 1).ToString().ToThaiNumber(),
ExamId = x.ExamId,
FullName = x.FullName,
- // Remark = x.Remark
+ Remark = x.Remark
}).ToList()
})
.ToList();
@@ -758,7 +758,7 @@ namespace BMA.EHR.Report.Service.Controllers
var table = new iText.Layout.Element.Table(UnitValue.CreatePercentArray(columnWidths)).UseAllAvailableWidth();
// Table Header
- string[] headers = { "ลำดับที่", "เลขประจำตัวสอบ", "ชื่อ - สกุล", "หมายเหตุ" };
+ string[] headers = { "ลำดับที่", "เลขประจำตัวสอบ", "ชื่อ-สกุล", "หมายเหตุ" };
foreach (var h in headers)
{
table.AddHeaderCell(new Cell()
@@ -779,7 +779,8 @@ namespace BMA.EHR.Report.Service.Controllers
table.AddCell(new Cell().Add(new Paragraph(x.FullName ?? "").SetMultipliedLeading(1.0f))
.SetTextAlignment(TextAlignment.LEFT));
- table.AddCell(new Cell());
+ table.AddCell(new Cell().Add(new Paragraph(x.Remark ?? "").SetMultipliedLeading(1.0f))
+ .SetTextAlignment(TextAlignment.CENTER));
}
document.Add(table);
document.Add(new Paragraph("").SetMarginBottom(15));
@@ -795,7 +796,7 @@ namespace BMA.EHR.Report.Service.Controllers
}
///
- /// รายชื่อผู้สอบคัดเลือกได้ แสดงรายชื่อแบ่งตามตำแหน่ง (สอบคัดเลือกอื่นๆ)
+ /// รายชื่อผู้สอบแข่งขันได้ แสดงรายชื่อแบ่งตามตำแหน่ง (สอบคัดเลือกผู้พิการ)
///
/// รหัสรอบการสอบ
///
@@ -819,7 +820,7 @@ namespace BMA.EHR.Report.Service.Controllers
.Join(_context.DisableScores.AsQueryable()
.Include(x => x.ScoreImport)
.Where(x => x.ScoreImport.PeriodExamId == id)
- .Where(x => x.ExamStatus == "ผ่าน" && !string.IsNullOrEmpty(x.Number)),
+ .Where(x => x.ExamStatus == "ผ่าน"),
rc => new { id = rc.PeriodExam.Id, examId = rc.ExamId },
sc => new { id = sc.ScoreImport.PeriodExamId, examId = sc.ExamId },
(p, sr) => new
@@ -829,13 +830,16 @@ namespace BMA.EHR.Report.Service.Controllers
ExamResult = sr == null ? "" : sr.ExamStatus,
ExamName = $"{p.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round.ToString().ToThaiNumber()}/{p.PeriodExam.Year.Value.ToThaiYear().ToString().ToThaiNumber()}",
Number = sr == null || sr.Number == null ? 0 : Convert.ToInt32(sr.Number),
- ExamId = string.IsNullOrEmpty(p.ExamId) ? "-" : p.ExamId.ToThaiNumber(),
+ SumScore = sr == null
+ ? "๐"
+ : (((double)(sr.SumA > 0 ? sr.SumA : 0) + (sr.SumB > 0 ? sr.SumB : 0) + (sr.SumC > 0 ? sr.SumC : 0)).ToString("0.00")).ToThaiNumber(),
})
.OrderBy(x => x.Number)
+ .Where(x => x.ExamResult == "ผ่าน")
.ToListAsync();
if (data.Count == 0)
- return Error("ไม่พบข้อมูลในระบบ", 404);
+ return Error("ไม่พบข้อมูลในระบบ");
var examName = data.First().ExamName;
@@ -850,7 +854,7 @@ namespace BMA.EHR.Report.Service.Controllers
{
Number = x.Number > 0 ? x.Number.ToString().ToThaiNumber() : "",
FullName = x.FullName,
- ExamId = x.ExamId
+ SumScore = x.SumScore
}).ToList()
})
.ToList();
@@ -867,7 +871,7 @@ namespace BMA.EHR.Report.Service.Controllers
document.SetFont(font).SetFontSize(16);
document.SetMargins(30, 15, 20, 15);
- var title = new Paragraph($"บัญชีรายชื่อผู้ผ่านการคัดเลือก\nใน{examName}")
+ var title = new Paragraph($"รายชื่อผู้สอบแข่งขันได้\n{examName}")
.SetBold()
.SetMultipliedLeading(1.0f)
.SetTextAlignment(TextAlignment.CENTER);
@@ -888,7 +892,7 @@ namespace BMA.EHR.Report.Service.Controllers
var table = new iText.Layout.Element.Table(UnitValue.CreatePercentArray(columnWidths)).UseAllAvailableWidth();
- string[] headers = { "ลำดับที่", "เลขประจำตัวสอบ", "ชื่อ - สกุล", "หมายเหตุ" };
+ string[] headers = { "ลำดับที่", "สนามสอบ", "ชื่อ - นามสกุล", "คะแนนสอบ" };
foreach (var h in headers)
{
table.AddHeaderCell(new Cell().Add(new Paragraph(h).SetMultipliedLeading(1.0f))
@@ -900,11 +904,11 @@ namespace BMA.EHR.Report.Service.Controllers
{
table.AddCell(new Cell().Add(new Paragraph(p.Number ?? "").SetMultipliedLeading(1.0f))
.SetTextAlignment(TextAlignment.CENTER));
- table.AddCell(new Cell().Add(new Paragraph(p.ExamId).SetMultipliedLeading(1.0f))
- .SetTextAlignment(TextAlignment.CENTER));
+ table.AddCell(new Cell());
table.AddCell(new Cell().Add(new Paragraph(p.FullName ?? "").SetMultipliedLeading(1.0f))
.SetTextAlignment(TextAlignment.LEFT));
- table.AddCell(new Cell());
+ table.AddCell(new Cell().Add(new Paragraph(p.SumScore ?? "").SetMultipliedLeading(1.0f))
+ .SetTextAlignment(TextAlignment.CENTER));
}
document.Add(table);
@@ -916,285 +920,7 @@ namespace BMA.EHR.Report.Service.Controllers
}
catch (Exception ex)
{
- return Error(ex);
- }
- }
-
- ///
- /// รายชื่อผู้มีสิทธิ์สอบ แสดงรายชื่อแบ่งตามตำแหน่ง (สอบคัดเลือก)
- ///
- /// รหัสรอบการสอบ
- ///
- /// เมื่อแสดงรายงานสำเร็จ
- /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
- /// ไม่ได้ Login เข้าระบบ
- /// เมื่อเกิดข้อผิดพลาดในการทำงาน
- [HttpGet("candidate/candidate-new/{id:length(36)}")]
- [AllowAnonymous]
- [ProducesResponseType(StatusCodes.Status200OK)]
- [ProducesResponseType(StatusCodes.Status400BadRequest)]
- [ProducesResponseType(StatusCodes.Status401Unauthorized)]
- [ProducesResponseType(StatusCodes.Status500InternalServerError)]
- public async Task> GetListCandidateNewReportAsync(Guid id)
- {
- try
- {
- var periodExam = await _context.PeriodExams.AsQueryable()
- .Where(x => x.CheckDisability == false)
- .FirstOrDefaultAsync(x => x.Id == id);
-
- if (periodExam == null)
- return Error("ไม่พบข้อมูลการรับสมัครสอบ", 404);
-
- var data = await _context.Candidates.AsQueryable()
- .Include(x => x.PeriodExam)
- .ThenInclude(x => x.PositionExam)
- .Where(x => x.PeriodExam!.Id == periodExam.Id && x.Status!="register" && x.ExamIdenNumber != null)
- .OrderBy(x => x.ExamIdenNumber)
- .ThenBy(x => x.PositionExam!.CreatedAt)
- .Select(p => new
- {
- FullName = $"{p.PrefixName ?? ""}{p.FirstName ?? ""} {p.LastName ?? ""}",
- PositionName = p.PositionExam!.PositionName,
- // Remark = !string.IsNullOrEmpty(p.ExamReason) ? p.ExamReason.ToThaiNumber() : "",
- ExamId = !string.IsNullOrEmpty(p.ExamIdenNumber) ? p.ExamIdenNumber.ToThaiNumber() : "",
- SeatNumber = !string.IsNullOrEmpty(p.SeatNumber) ? p.SeatNumber.ToThaiNumber() : "",
- ExamName =
- ($"{p.PeriodExam!.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}").ToThaiNumber(),
- }).ToListAsync();
-
- if (data.Count == 0)
- return Error("ไม่พบข้อมูลในระบบ", 404);
-
- var examName = data.First().ExamName;
-
- var groupData = data
- .GroupBy(x => x.PositionName)
- .Select(g => new
- {
- PositionName = $"ตำแหน่ง {g.Key}",
- Total = $"จำนวน {g.Count().ToString().ToThaiNumber()} ราย",
- Persons = g.Select((x, index) => new
- {
- No = (index + 1).ToString().ToThaiNumber(),
- ExamId = x.ExamId,
- SeatNumber = x.SeatNumber,
- FullName = x.FullName,
- // Remark = x.Remark
- }).ToList()
- })
- .ToList();
-
- // เตรียม MemoryStream
- using (var stream = new MemoryStream())
- {
- // สร้าง PDF document
- using (var writer = new PdfWriter(stream))
- using (var pdf = new PdfDocument(writer))
- using (var document = new Document(pdf, iText.Kernel.Geom.PageSize.A4))
- {
- // กำหนดฟ้อนต์ TH-Sarabun
- var fontPath = System.IO.Path.Combine(Environment.CurrentDirectory, "Fonts", "THSarabun.ttf");
- var font = PdfFontFactory.CreateFont(fontPath, "Identity-H");
- document.SetFont(font).SetFontSize(16);
-
- // ตั้งค่าระยะขอบ top, right, bottom, left
- document.SetMargins(30, 15, 20, 15);
-
- // Title
- var title = new Paragraph($"รายชื่อผู้มีสิทธิ์สอบ\n{examName ?? ""}")
- .SetBold()
- .SetMultipliedLeading(1.0f)
- .SetTextAlignment(TextAlignment.CENTER);
-
- document.Add(title);
- float[] columnWidths = { 10f, 15f, 15f, 30f, 15f };
- // Loop Groups
- foreach (var group in groupData)
- {
- // Group Header (ตำแหน่ง)
- Paragraph positionHeader = new Paragraph($"{group.PositionName} {group.Total}")
- .SetBold()
- .SetMultipliedLeading(1.0f)
- .SetTextAlignment(TextAlignment.CENTER)
- .SetMarginBottom(5);
-
- document.Add(positionHeader);
-
- var table = new iText.Layout.Element.Table(UnitValue.CreatePercentArray(columnWidths)).UseAllAvailableWidth();
-
- // Table Header
- string[] headers = { "ลำดับที่", "เลขประจำตัวสอบ", "สนามสอบ", "ชื่อ - สกุล", "หมายเหตุ" };
- foreach (var h in headers)
- {
- table.AddHeaderCell(new Cell()
- .Add(new Paragraph(h).SetMultipliedLeading(1.0f))
- .SetBold()
- .SetTextAlignment(TextAlignment.CENTER));
- }
-
- // Table Details
- foreach (var x in group.Persons)
- {
- table.AddCell(new Cell().Add(new Paragraph(x.No ?? "").SetMultipliedLeading(1.0f))
- .SetTextAlignment(TextAlignment.CENTER));
-
- table.AddCell(new Cell().Add(new Paragraph(x.ExamId ?? "").SetMultipliedLeading(1.0f))
- .SetTextAlignment(TextAlignment.CENTER));
-
- table.AddCell(new Cell().Add(new Paragraph(x.SeatNumber ?? "").SetMultipliedLeading(1.0f))
- .SetTextAlignment(TextAlignment.LEFT));
-
- table.AddCell(new Cell().Add(new Paragraph(x.FullName ?? "").SetMultipliedLeading(1.0f))
- .SetTextAlignment(TextAlignment.LEFT));
-
- table.AddCell(new Cell());
- }
- document.Add(table);
- document.Add(new Paragraph("").SetMarginBottom(15));
- }
- }
- return File(stream.ToArray(), "application/pdf", $"รายชื่อผู้มีสิทธิ์สอบ_{examName}");
- }
- }
- catch (Exception ex)
- {
- return Error(ex);
- }
- }
-
- ///
- /// รายชื่อผู้สอบคัดเลือกได้ แสดงรายชื่อแบ่งตามตำแหน่ง (สอบคัดเลือก)
- ///
- /// รหัสรอบการสอบ
- ///
- /// เมื่อแสดงรายงานสำเร็จ
- /// ค่าตัวแปรที่ส่งมาไม่ถูกต้อง
- /// ไม่ได้ Login เข้าระบบ
- /// เมื่อเกิดข้อผิดพลาดในการทำงาน
- [HttpGet("candidate/pass-new/{id:length(36)}")]
- [AllowAnonymous]
- [ProducesResponseType(StatusCodes.Status200OK)]
- [ProducesResponseType(StatusCodes.Status400BadRequest)]
- [ProducesResponseType(StatusCodes.Status401Unauthorized)]
- [ProducesResponseType(StatusCodes.Status500InternalServerError)]
- public async Task> GetCandidatePassExamListNewReportAsync(Guid id)
- {
- try
- {
- var periodExam = await _context.PeriodExams.AsQueryable()
- .Where(x => x.CheckDisability == false)
- .FirstOrDefaultAsync(x => x.Id == id);
-
- if (periodExam == null)
- return Error("ไม่พบข้อมูลการรับสมัครสอบ", 404);
-
- var examName = $"{periodExam.Name} ครั้งที่ {periodExam.Round}/{periodExam.Year.Value.ToThaiYear()}".ToThaiNumber();
-
- var candidates = await _context.Candidates.AsQueryable()
- .Include(x => x.PeriodExam)
- .ThenInclude(x => x.PositionExam)
- .Where(x => x.PeriodExam!.Id == periodExam.Id)
- .Where(x => x.Status != "register" && x.Pass == "ได้" && !string.IsNullOrEmpty(x.Number))
- .OrderBy(x => x.PositionExam!.CreatedAt)
- .ToListAsync();
-
- var data = candidates.Select((p, idx) => new
- {
- PositionName = p.PositionExam!.PositionName,
- FullName = $"{p.PrefixName ?? ""}{p.FirstName ?? ""} {p.LastName ?? ""}".Trim(),
- ExamResult = p.Pass,
- // ExamName = $"{p.PeriodExam!.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam!.Year.Value.ToThaiYear()}".ToThaiNumber(),
- Number = string.IsNullOrEmpty(p.Number) ? (idx + 1) : Convert.ToInt32(p.Number),
- ExamIdenNumber = string.IsNullOrEmpty(p.ExamIdenNumber) ? "-" : p.ExamIdenNumber.ToThaiNumber(),
- })
- .OrderBy(x => x.Number)
- .ToList();
-
- /*กรณีไม่มีผู้ผ่านการสอบต้องดาวน์โหลดรายงานนี้ได้แต่แสดงเฉพาะส่วนหัว*/
- // if (data.Count == 0)
- // return Error("ไม่พบข้อมูลในระบบ", 404);
-
- // var examName = data.First().ExamName;
-
- // Group by PositionName
- var groupData = data
- .GroupBy(g => g.PositionName)
- .Select(g => new
- {
- PositionName = $"ตำแหน่ง {g.Key}",
- Total = $"จำนวน {g.Count().ToString().ToThaiNumber()} ราย",
- Persons = g.Select((x) => new
- {
- Number = x.Number > 0 ? x.Number.ToString().ToThaiNumber() : "",
- FullName = x.FullName,
- ExamIdenNumber = x.ExamIdenNumber
- }).ToList()
- })
- .ToList();
-
- using (var stream = new MemoryStream())
- {
- using (var writer = new PdfWriter(stream))
- using (var pdf = new PdfDocument(writer))
- using (var document = new Document(pdf, iText.Kernel.Geom.PageSize.A4))
- {
- var fontPath = System.IO.Path.Combine(Environment.CurrentDirectory, "Fonts", "THSarabun.ttf");
- var font = PdfFontFactory.CreateFont(fontPath, "Identity-H");
-
- document.SetFont(font).SetFontSize(16);
- document.SetMargins(30, 15, 20, 15);
-
- var title = new Paragraph($"บัญชีรายชื่อผู้ผ่านการคัดเลือก\nใน{examName}")
- .SetBold()
- .SetMultipliedLeading(1.0f)
- .SetTextAlignment(TextAlignment.CENTER);
-
- document.Add(title);
- float[] columnWidths = { 10f, 25f, 25f, 25f };
- foreach (var g in groupData)
- {
- // Header per group
- Paragraph positionHeader = new Paragraph($"{g.PositionName} {g.Total}")
- .SetBold()
- .SetMultipliedLeading(1.0f)
- .SetTextAlignment(TextAlignment.CENTER)
- .SetMarginBottom(5);
-
-
- document.Add(positionHeader);
-
- var table = new iText.Layout.Element.Table(UnitValue.CreatePercentArray(columnWidths)).UseAllAvailableWidth();
-
- string[] headers = { "ลำดับที่", "เลขประจำตัวสอบ", "ชื่อ - สกุล", "หมายเหตุ" };
- foreach (var h in headers)
- {
- table.AddHeaderCell(new Cell().Add(new Paragraph(h).SetMultipliedLeading(1.0f))
- .SetTextAlignment(TextAlignment.CENTER)
- .SetBold());
- }
-
- foreach (var p in g.Persons)
- {
- table.AddCell(new Cell().Add(new Paragraph(p.Number ?? "").SetMultipliedLeading(1.0f))
- .SetTextAlignment(TextAlignment.CENTER));
- table.AddCell(new Cell().Add(new Paragraph(p.ExamIdenNumber ?? "").SetMultipliedLeading(1.0f))
- .SetTextAlignment(TextAlignment.CENTER));
- table.AddCell(new Cell().Add(new Paragraph(p.FullName ?? "").SetMultipliedLeading(1.0f))
- .SetTextAlignment(TextAlignment.LEFT));
- table.AddCell(new Cell());
- }
-
- document.Add(table);
- document.Add(new Paragraph("").SetMarginBottom(15));
- }
- }
- return File(stream.ToArray(), "application/pdf", $"รายชื่อผู้สอบแข่งขันได้_{examName}");
- }
- }
- catch (Exception ex)
- {
- return Error(ex);
+ return Error(ex, "เกิดข้อผิดพลาดในการแสดงรายงาน");
}
}
diff --git a/Controllers/RecruitReportController.cs b/Controllers/RecruitReportController.cs
index 1f4d08d..682de55 100644
--- a/Controllers/RecruitReportController.cs
+++ b/Controllers/RecruitReportController.cs
@@ -358,7 +358,7 @@ namespace BMA.EHR.Report.Service.Controllers
{
FullName = $"{p.Prefix}{p.FirstName} {p.LastName}",
PositionName = p.PositionName,
- // Remark = !string.IsNullOrEmpty(p.Remark) ? p.Remark.ToThaiNumber() : "",
+ Remark = !string.IsNullOrEmpty(p.Remark) ? p.Remark.ToThaiNumber() : "",
ExamId = !string.IsNullOrEmpty(p.ExamId) ? p.ExamId.ToThaiNumber() : "",
ExamName =
$"ครั้งที่ {(p.RecruitImport != null ? p.RecruitImport.Order.ToString().ToThaiNumber() : "")}/{(p.RecruitImport != null ? p.RecruitImport.Year.ToThaiYear().ToString().ToThaiNumber() : "")}",
@@ -380,7 +380,7 @@ namespace BMA.EHR.Report.Service.Controllers
No = (index + 1).ToString().ToThaiNumber(),
ExamId = x.ExamId,
FullName = x.FullName,
- // Remark = x.Remark
+ Remark = x.Remark
}).ToList()
})
.ToList();
@@ -426,7 +426,7 @@ namespace BMA.EHR.Report.Service.Controllers
var table = new iText.Layout.Element.Table(UnitValue.CreatePercentArray(columnWidths)).UseAllAvailableWidth();
// Table Header
- string[] headers = { "ลำดับที่", "เลขประจำตัวสอบ", "ชื่อ - สกุล", "หมายเหตุ" };
+ string[] headers = { "ลำดับที่", "เลขประจำตัวสอบ", "ชื่อ-สกุล", "หมายเหตุ" };
foreach (var h in headers)
{
table.AddHeaderCell(new Cell()
@@ -444,7 +444,8 @@ namespace BMA.EHR.Report.Service.Controllers
.SetTextAlignment(TextAlignment.CENTER));
table.AddCell(new Cell().Add(new Paragraph(x.FullName ?? "").SetMultipliedLeading(1.0f))
.SetTextAlignment(TextAlignment.LEFT));
- table.AddCell(new Cell());
+ table.AddCell(new Cell().Add(new Paragraph(x.Remark ?? "").SetMultipliedLeading(1.0f))
+ .SetTextAlignment(TextAlignment.CENTER));
}
document.Add(table);
// เว้นระหว่าง groups
@@ -557,7 +558,7 @@ namespace BMA.EHR.Report.Service.Controllers
.Join(_context.RecruitScores.AsQueryable()
.Include(x => x.ScoreImport)
.Where(x => x.ScoreImport.RecruitImportId == id)
- .Where(x => x.ExamStatus == "ผ่าน" && !string.IsNullOrEmpty(x.Number)),
+ .Where(x => x.ExamStatus == "ผ่าน"),
rc => new { id = rc.RecruitImport.Id, examId = rc.ExamId },
sc => new { id = sc.ScoreImport.RecruitImportId, examId = sc.ExamId },
(p, sr) => new
@@ -569,12 +570,12 @@ namespace BMA.EHR.Report.Service.Controllers
? ""
: $"{p.RecruitImport.Name} ครั้งที่ {p.RecruitImport.Order.ToString().ToThaiNumber()}/{p.RecruitImport.Year.ToThaiYear().ToString().ToThaiNumber()}",
Number = sr == null || sr.Number == null ? 0 : Convert.ToInt32(sr.Number),
- ExamId = string.IsNullOrEmpty(p.ExamId) ? "-" : p.ExamId.ToThaiNumber(),
- // SumScore = sr == null
- // ? "๐"
- // : (((decimal)(sr.SumA > 0 ? sr.SumA : 0) + (sr.SumB > 0 ? sr.SumB : 0) + (sr.SumC > 0 ? sr.SumC : 0)).ToString("0.00")).ToThaiNumber(),
+ SumScore = sr == null
+ ? "๐"
+ : (((decimal)(sr.SumA > 0 ? sr.SumA : 0) + (sr.SumB > 0 ? sr.SumB : 0) + (sr.SumC > 0 ? sr.SumC : 0)).ToString("0.00")).ToThaiNumber(),
})
.OrderBy(x => x.Number)
+ .Where(x => x.ExamResult == "ผ่าน")
.ToListAsync();
if (data.Count == 0)
@@ -593,8 +594,7 @@ namespace BMA.EHR.Report.Service.Controllers
{
Number = x.Number > 0 ? x.Number.ToString().ToThaiNumber() : "",
FullName = x.FullName,
- // SumScore = x.SumScore
- ExamId = x.ExamId,
+ SumScore = x.SumScore
}).ToList()
})
.ToList();
@@ -611,13 +611,13 @@ namespace BMA.EHR.Report.Service.Controllers
document.SetFont(font).SetFontSize(16);
document.SetMargins(30, 15, 20, 15);
- var title = new Paragraph($"รายชื่อผู้สอบแข่งขันได้\nใน{examName}")
+ var title = new Paragraph($"รายชื่อผู้สอบแข่งขันได้\n{examName}")
.SetMultipliedLeading(1.0f)
.SetBold()
.SetTextAlignment(TextAlignment.CENTER);
document.Add(title);
- float[] columnWidths = { 10f, 25f, 25f, 25f };
+ float[] columnWidths = { 10f, 20f, 45f, 25f };
foreach (var g in groupData)
{
// Header per group
@@ -631,7 +631,7 @@ namespace BMA.EHR.Report.Service.Controllers
var table = new iText.Layout.Element.Table(UnitValue.CreatePercentArray(columnWidths)).UseAllAvailableWidth();
- string[] headers = { "ลำดับที่", "เลขประจำตัวสอบ", "ชื่อ - สกุล", "หมายเหตุ" };
+ string[] headers = { "ลำดับที่", "สนามสอบ", "ชื่อ - นามสกุล", "คะแนนสอบ" };
foreach (var h in headers)
{
table.AddHeaderCell(new Cell()
@@ -644,11 +644,11 @@ namespace BMA.EHR.Report.Service.Controllers
{
table.AddCell(new Cell().Add(new Paragraph(p.Number ?? "").SetMultipliedLeading(1.0f))
.SetTextAlignment(TextAlignment.CENTER));
- table.AddCell(new Cell().Add(new Paragraph(p.ExamId ?? "").SetMultipliedLeading(1.0f))
- .SetTextAlignment(TextAlignment.CENTER));
+ table.AddCell(new Cell());
table.AddCell(new Cell().Add(new Paragraph(p.FullName ?? "").SetMultipliedLeading(1.0f))
.SetTextAlignment(TextAlignment.LEFT));
- table.AddCell(new Cell());
+ table.AddCell(new Cell().Add(new Paragraph(p.SumScore ?? "").SetMultipliedLeading(1.0f))
+ .SetTextAlignment(TextAlignment.CENTER));
}
document.Add(table);