Merge branch 'develop' into dev

* develop:
  update payment
  fix #1934
This commit is contained in:
Warunee Tamkoo 2025-11-07 09:35:28 +07:00
commit 9ef85b8fd1
3 changed files with 39 additions and 25 deletions

View file

@ -2122,7 +2122,7 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
// ---------------------------
dynamic header = null;
int _count = await _context.Disables.Where(x => x.PeriodExam.Id == id).CountAsync();
if (data.Count > 0)
if (_count > 0)
{
header = await _context.DisableScores
.Include(x => x.ScoreImport)

View file

@ -2207,18 +2207,24 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
if (candidate == null)
throw new Exception(GlobalMessages.ExamNotFound);
if (candidate.PaymentImg != null)
{
await DeleteDocument(candidate.PaymentImg.Id.ToString());
}
// เก็บ ID ของ Document เก่าไว้ก่อน
var oldDocumentId = candidate.PaymentImg?.Id.ToString();
// Upload Document ใหม่ก่อน
var doc = await _minioService.UploadFileAsync(file);
var document = await _context.Documents.AsQueryable()
.FirstOrDefaultAsync(x => x.Id == doc.Id);
// กำหนด Document ใหม่ให้กับ candidate
candidate.PaymentImg = document;
await _context.SaveChangesAsync();
// ลบ Document เก่าหลังจากที่ตัด reference แล้ว
if (oldDocumentId != null)
{
await DeleteDocument(oldDocumentId);
}
}
public async Task<RequestCardCandidate> GetsAsyncCardCandidate(string examId, string positionId)

View file

@ -763,12 +763,14 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
.OrderByDescending(d => d.CreatedAt)
.Where(x => x.PeriodExam == periodExam && x.RegisterDate != null && x.Status != "register" && x.Status != "rejectRegister")
.Where(x =>
(x.PositionExam == null || x.PositionExam.PositionLevelName == null ? false : x.PositionExam.PositionLevelName.Contains(keyword)) ||
(x.PositionExam == null || x.PositionExam.PositionName == null ? false : x.PositionExam.PositionName.Contains(keyword)) ||
//(x.PositionExam == null || x.PositionExam.PositionLevelName == null ? false : x.PositionExam.PositionLevelName.Contains(keyword)) ||
//(x.PositionExam == null || x.PositionExam.PositionName == null ? false : x.PositionExam.PositionName.Contains(keyword)) ||
(x.PositionExam.PositionName + x.PositionExam.PositionLevelName).Contains(keyword) ||
(x.CitizenId == null ? false : x.CitizenId.Contains(keyword)) ||
(x.PrefixName == null ? false : x.PrefixName.Contains(keyword)) ||
(x.FirstName == null ? false : x.FirstName.Contains(keyword)) ||
(x.LastName == null ? false : x.LastName.Contains(keyword)) ||
//(x.PrefixName == null ? false : x.PrefixName.Contains(keyword)) ||
//(x.FirstName == null ? false : x.FirstName.Contains(keyword)) ||
//(x.LastName == null ? false : x.LastName.Contains(keyword)) ||
(x.PrefixName + x.FirstName + " " + x.LastName).Contains(keyword) ||
(x.ExamIdenNumber == null ? false : x.ExamIdenNumber.Contains(keyword)) ||
(x.SeatNumber == null ? false : x.SeatNumber.Contains(keyword)) ||
(x.ResultA == null ? false : x.ResultA.Contains(keyword)) ||
@ -804,12 +806,14 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
var _candidate = await _context.Candidates.AsQueryable()
.Where(x => x.PeriodExam == periodExam && x.RegisterDate != null && x.Status != "register" && x.Status != "rejectRegister")
.Where(x =>
(x.PositionExam == null || x.PositionExam.PositionLevelName == null ? false : x.PositionExam.PositionLevelName.Contains(keyword)) ||
(x.PositionExam == null || x.PositionExam.PositionName == null ? false : x.PositionExam.PositionName.Contains(keyword)) ||
//(x.PositionExam == null || x.PositionExam.PositionLevelName == null ? false : x.PositionExam.PositionLevelName.Contains(keyword)) ||
//(x.PositionExam == null || x.PositionExam.PositionName == null ? false : x.PositionExam.PositionName.Contains(keyword)) ||
(x.PositionExam.PositionName + x.PositionExam.PositionLevelName).Contains(keyword) ||
(x.CitizenId == null ? false : x.CitizenId.Contains(keyword)) ||
(x.PrefixName == null ? false : x.PrefixName.Contains(keyword)) ||
(x.FirstName == null ? false : x.FirstName.Contains(keyword)) ||
(x.LastName == null ? false : x.LastName.Contains(keyword)) ||
//(x.PrefixName == null ? false : x.PrefixName.Contains(keyword)) ||
//(x.FirstName == null ? false : x.FirstName.Contains(keyword)) ||
//(x.LastName == null ? false : x.LastName.Contains(keyword)) ||
(x.PrefixName + x.FirstName + " " + x.LastName).Contains(keyword) ||
(x.ExamIdenNumber == null ? false : x.ExamIdenNumber.Contains(keyword)) ||
(x.SeatNumber == null ? false : x.SeatNumber.Contains(keyword)) ||
(x.ResultA == null ? false : x.ResultA.Contains(keyword)) ||
@ -838,12 +842,14 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
.OrderByDescending(d => d.CreatedAt)
.Where(x => x.PeriodExam == periodExam && x.Status == status)
.Where(x =>
(x.PositionExam == null || x.PositionExam.PositionLevelName == null ? false : x.PositionExam.PositionLevelName.Contains(keyword)) ||
(x.PositionExam == null || x.PositionExam.PositionName == null ? false : x.PositionExam.PositionName.Contains(keyword)) ||
//(x.PositionExam == null || x.PositionExam.PositionLevelName == null ? false : x.PositionExam.PositionLevelName.Contains(keyword)) ||
//(x.PositionExam == null || x.PositionExam.PositionName == null ? false : x.PositionExam.PositionName.Contains(keyword)) ||
(x.PositionExam.PositionName + x.PositionExam.PositionLevelName).Contains(keyword) ||
(x.CitizenId == null ? false : x.CitizenId.Contains(keyword)) ||
(x.PrefixName == null ? false : x.PrefixName.Contains(keyword)) ||
(x.FirstName == null ? false : x.FirstName.Contains(keyword)) ||
(x.LastName == null ? false : x.LastName.Contains(keyword)) ||
//(x.PrefixName == null ? false : x.PrefixName.Contains(keyword)) ||
//(x.FirstName == null ? false : x.FirstName.Contains(keyword)) ||
//(x.LastName == null ? false : x.LastName.Contains(keyword)) ||
(x.PrefixName + x.FirstName + " " + x.LastName).Contains(keyword) ||
(x.ExamIdenNumber == null ? false : x.ExamIdenNumber.Contains(keyword)) ||
(x.SeatNumber == null ? false : x.SeatNumber.Contains(keyword)) ||
(x.ResultA == null ? false : x.ResultA.Contains(keyword)) ||
@ -879,12 +885,14 @@ namespace BMA.EHR.Recurit.Exam.Service.Services
var _candidate = await _context.Candidates.AsQueryable()
.Where(x => x.PeriodExam == periodExam && x.RegisterDate != null && x.Status != "register" && x.Status != "rejectRegister")
.Where(x =>
(x.PositionExam == null || x.PositionExam.PositionLevelName == null ? false : x.PositionExam.PositionLevelName.Contains(keyword)) ||
(x.PositionExam == null || x.PositionExam.PositionName == null ? false : x.PositionExam.PositionName.Contains(keyword)) ||
//(x.PositionExam == null || x.PositionExam.PositionLevelName == null ? false : x.PositionExam.PositionLevelName.Contains(keyword)) ||
//(x.PositionExam == null || x.PositionExam.PositionName == null ? false : x.PositionExam.PositionName.Contains(keyword)) ||
(x.PositionExam.PositionName + x.PositionExam.PositionLevelName).Contains(keyword) ||
(x.CitizenId == null ? false : x.CitizenId.Contains(keyword)) ||
(x.PrefixName == null ? false : x.PrefixName.Contains(keyword)) ||
(x.FirstName == null ? false : x.FirstName.Contains(keyword)) ||
(x.LastName == null ? false : x.LastName.Contains(keyword)) ||
//(x.PrefixName == null ? false : x.PrefixName.Contains(keyword)) ||
//(x.FirstName == null ? false : x.FirstName.Contains(keyword)) ||
//(x.LastName == null ? false : x.LastName.Contains(keyword)) ||
(x.PrefixName + x.FirstName + " " + x.LastName).Contains(keyword) ||
(x.ExamIdenNumber == null ? false : x.ExamIdenNumber.Contains(keyword)) ||
(x.SeatNumber == null ? false : x.SeatNumber.Contains(keyword)) ||
(x.ResultA == null ? false : x.ResultA.Contains(keyword)) ||