diff --git a/Controllers/ExamReportController.cs b/Controllers/ExamReportController.cs index 6ec69e4..c3b0de7 100644 --- a/Controllers/ExamReportController.cs +++ b/Controllers/ExamReportController.cs @@ -692,7 +692,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.PeriodExam.Name} ครั้งที่ {p.PeriodExam.Round}/{p.PeriodExam.Year.Value.ToThaiYear()}").ToThaiNumber(), @@ -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,8 +779,7 @@ 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().Add(new Paragraph(x.Remark ?? "").SetMultipliedLeading(1.0f)) - .SetTextAlignment(TextAlignment.CENTER)); + table.AddCell(new Cell()); } document.Add(table); document.Add(new Paragraph("").SetMarginBottom(15)); @@ -820,7 +819,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 == "ผ่าน"), + .Where(x => x.ExamStatus == "ผ่าน" && !string.IsNullOrEmpty(x.Number)), rc => new { id = rc.PeriodExam.Id, examId = rc.ExamId }, sc => new { id = sc.ScoreImport.PeriodExamId, examId = sc.ExamId }, (p, sr) => new @@ -830,12 +829,9 @@ 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), - 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(), + ExamId = string.IsNullOrEmpty(p.ExamId) ? "-" : p.ExamId.ToThaiNumber(), }) .OrderBy(x => x.Number) - .Where(x => x.ExamResult == "ผ่าน") .ToListAsync(); if (data.Count == 0) @@ -854,7 +850,7 @@ namespace BMA.EHR.Report.Service.Controllers { Number = x.Number > 0 ? x.Number.ToString().ToThaiNumber() : "", FullName = x.FullName, - SumScore = x.SumScore + ExamId = x.ExamId }).ToList() }) .ToList(); @@ -871,7 +867,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); @@ -892,7 +888,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)) @@ -904,11 +900,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()); + table.AddCell(new Cell().Add(new Paragraph(p.ExamId).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().Add(new Paragraph(p.SumScore ?? "").SetMultipliedLeading(1.0f)) - .SetTextAlignment(TextAlignment.CENTER)); + table.AddCell(new Cell()); } document.Add(table); @@ -953,15 +949,16 @@ namespace BMA.EHR.Report.Service.Controllers var data = await _context.Candidates.AsQueryable() .Include(x => x.PeriodExam) .ThenInclude(x => x.PositionExam) - .Where(x => x.PeriodExam!.Id == periodExam.Id) + .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() : "", + // 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(); @@ -981,8 +978,9 @@ namespace BMA.EHR.Report.Service.Controllers { No = (index + 1).ToString().ToThaiNumber(), ExamId = x.ExamId, + SeatNumber = x.SeatNumber, FullName = x.FullName, - Remark = x.Remark + // Remark = x.Remark }).ToList() }) .ToList(); @@ -1010,7 +1008,7 @@ namespace BMA.EHR.Report.Service.Controllers .SetTextAlignment(TextAlignment.CENTER); document.Add(title); - float[] columnWidths = { 10f, 20f, 45f, 25f }; + float[] columnWidths = { 10f, 15f, 15f, 30f, 15f }; // Loop Groups foreach (var group in groupData) { @@ -1026,7 +1024,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() @@ -1044,11 +1042,13 @@ namespace BMA.EHR.Report.Service.Controllers table.AddCell(new Cell().Add(new Paragraph(x.ExamId ?? "").SetMultipliedLeading(1.0f)) .SetTextAlignment(TextAlignment.CENTER)); - table.AddCell(new Cell().Add(new Paragraph(x.FullName ?? "").SetMultipliedLeading(1.0f)) + table.AddCell(new Cell().Add(new Paragraph(x.SeatNumber ?? "").SetMultipliedLeading(1.0f)) .SetTextAlignment(TextAlignment.LEFT)); - table.AddCell(new Cell().Add(new Paragraph(x.Remark ?? "").SetMultipliedLeading(1.0f)) - .SetTextAlignment(TextAlignment.CENTER)); + 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)); @@ -1093,7 +1093,7 @@ namespace BMA.EHR.Report.Service.Controllers .Include(x => x.PeriodExam) .ThenInclude(x => x.PositionExam) .Where(x => x.PeriodExam!.Id == periodExam.Id) - .Where(x => x.Status != "register") + .Where(x => x.Status != "register" && x.Pass == "ได้" && !string.IsNullOrEmpty(x.Number)) .OrderBy(x => x.PositionExam!.CreatedAt) .ToListAsync(); @@ -1104,11 +1104,9 @@ namespace BMA.EHR.Report.Service.Controllers 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), - SumScore = (Convert.ToInt32(p.PointB ?? "0") + Convert.ToInt32(p.PointC ?? "0")) .ToString().ToThaiNumber(), - SeatNumber = string.IsNullOrEmpty(p.SeatNumber) ? "" : p.SeatNumber.ToThaiNumber(), + ExamIdenNumber = string.IsNullOrEmpty(p.ExamIdenNumber) ? "-" : p.ExamIdenNumber.ToThaiNumber(), }) .OrderBy(x => x.Number) - .Where(x => x.ExamResult?.Trim() == "ได้") .ToList(); if (data.Count == 0) @@ -1127,8 +1125,7 @@ namespace BMA.EHR.Report.Service.Controllers { Number = x.Number > 0 ? x.Number.ToString().ToThaiNumber() : "", FullName = x.FullName, - SumScore = x.SumScore, - SeatNumber = x.SeatNumber + ExamIdenNumber = x.ExamIdenNumber }).ToList() }) .ToList(); @@ -1145,13 +1142,12 @@ 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); document.Add(title); - // float[] columnWidths = { 10f, 20f, 45f, 25f }; float[] columnWidths = { 10f, 25f, 25f, 25f }; foreach (var g in groupData) { @@ -1167,7 +1163,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)) @@ -1175,16 +1171,15 @@ namespace BMA.EHR.Report.Service.Controllers .SetBold()); } - foreach (var p in g.Persons) //SeatNumber + 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.SeatNumber).SetMultipliedLeading(1.0f)) - .SetTextAlignment(TextAlignment.LEFT)); + 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().Add(new Paragraph(p.SumScore ?? "").SetMultipliedLeading(1.0f)) - .SetTextAlignment(TextAlignment.CENTER)); + table.AddCell(new Cell()); } document.Add(table); diff --git a/Controllers/RecruitReportController.cs b/Controllers/RecruitReportController.cs index 682de55..1f4d08d 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,8 +444,7 @@ 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().Add(new Paragraph(x.Remark ?? "").SetMultipliedLeading(1.0f)) - .SetTextAlignment(TextAlignment.CENTER)); + table.AddCell(new Cell()); } document.Add(table); // เว้นระหว่าง groups @@ -558,7 +557,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 == "ผ่าน"), + .Where(x => x.ExamStatus == "ผ่าน" && !string.IsNullOrEmpty(x.Number)), rc => new { id = rc.RecruitImport.Id, examId = rc.ExamId }, sc => new { id = sc.ScoreImport.RecruitImportId, examId = sc.ExamId }, (p, sr) => new @@ -570,12 +569,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), - 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(), + 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(), }) .OrderBy(x => x.Number) - .Where(x => x.ExamResult == "ผ่าน") .ToListAsync(); if (data.Count == 0) @@ -594,7 +593,8 @@ namespace BMA.EHR.Report.Service.Controllers { Number = x.Number > 0 ? x.Number.ToString().ToThaiNumber() : "", FullName = x.FullName, - SumScore = x.SumScore + // SumScore = x.SumScore + ExamId = x.ExamId, }).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, 20f, 45f, 25f }; + float[] columnWidths = { 10f, 25f, 25f, 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()); + table.AddCell(new Cell().Add(new Paragraph(p.ExamId ?? "").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().Add(new Paragraph(p.SumScore ?? "").SetMultipliedLeading(1.0f)) - .SetTextAlignment(TextAlignment.CENTER)); + table.AddCell(new Cell()); } document.Add(table);