diff --git a/BMA.EHR.Application/Repositories/Commands/CommandRepository.cs b/BMA.EHR.Application/Repositories/Commands/CommandRepository.cs index fa489c66..f0a39509 100644 --- a/BMA.EHR.Application/Repositories/Commands/CommandRepository.cs +++ b/BMA.EHR.Application/Repositories/Commands/CommandRepository.cs @@ -289,7 +289,6 @@ namespace BMA.EHR.Application.Repositories.Commands .Where(x => !otherCommandReceivers.Contains(x.CitizenId!)) .Where(x => x.PlacementStatus.Trim().ToUpper() == "PREPARE-CONTAIN") .Where(x => x.Draft! == true) - // .Where(x => x.Placement!.PlacementType!.Name != "สอบแข่งขัน") .OrderBy(x => x.ExamNumber) .ToListAsync(); @@ -298,7 +297,7 @@ namespace BMA.EHR.Application.Repositories.Commands foreach (var item in appointPeople) { var profile_oc = await GetProfileOrganizationAsync(item.CitizenId!); - if ((await CheckIsActiveOfficerAsync(item.CitizenId!)) && item.OrganizationPosition!.Organization!.Id == profile_oc) + if (await CheckIsActiveOfficerAsync(item.CitizenId!)) { var receiver = new CommandReceiver { @@ -351,11 +350,9 @@ namespace BMA.EHR.Application.Repositories.Commands .Include(x => x.Prefix) .Include(x => x.OrganizationPosition) .ThenInclude(x => x!.Organization) - //.Where(x => x.OrganizationPosition!.Organization!.Id == command.OwnerGovId) .Where(x => !otherCommandReceivers.Contains(x.CitizenId!)) .Where(x => x.PlacementStatus.Trim().ToUpper() == "PREPARE-CONTAIN") .Where(x => x.Draft! == true) - // .Where(x => x.Placement!.PlacementType!.Name != "สอบแข่งขัน") .OrderBy(x => x.ExamNumber) .ToListAsync(); @@ -364,7 +361,7 @@ namespace BMA.EHR.Application.Repositories.Commands foreach (var item in appointPeople) { var profile_oc = await GetProfileOrganizationAsync(item.CitizenId!); - if ((await CheckIsActiveOfficerAsync(item.CitizenId!)) && item.OrganizationPosition!.Organization!.Id != profile_oc) + if (await CheckIsActiveOfficerAsync(item.CitizenId!)) { var receiver = new CommandReceiver { @@ -531,13 +528,15 @@ namespace BMA.EHR.Application.Repositories.Commands .ToListAsync(); // 2. Query - var appointPeople = await _dbContext.Set() + var appointPeople = await _dbContext.Set() + .Include(x => x.CommandType) .Include(x => x.Prefix) .Include(x => x.OrganizationPosition) .ThenInclude(x => x!.Organization) //.Where(x => x.OrganizationPosition!.Organization!.Id == command.OwnerGovId) .Where(x => !otherCommandReceivers.Contains(x.CitizenId!)) .Where(x => x.Status.Trim().ToUpper() == "REPORT") + .Where(x => x.CommandType!.Id == command.CommandType!.Id) .OrderBy(x => x.CitizenId) .ToListAsync(); diff --git a/BMA.EHR.Command.Service/Controllers/OrderController.cs b/BMA.EHR.Command.Service/Controllers/OrderController.cs index 7388b71a..88b79589 100644 --- a/BMA.EHR.Command.Service/Controllers/OrderController.cs +++ b/BMA.EHR.Command.Service/Controllers/OrderController.cs @@ -2484,6 +2484,10 @@ namespace BMA.EHR.Command.Service.Controllers { try { + var command = await _repository.GetByIdAsync(orderId); + if (command == null) + throw new Exception(GlobalMessages.CommandNotFound); + // TODO : หาค่า Education มาแสดง var existed = await _repository.GetReceiverByCommmandIdAsync(orderId); @@ -2500,13 +2504,25 @@ namespace BMA.EHR.Command.Service.Controllers Education = "" // ยังหาไม่เจอว่าอยุ่ field ไหน }).ToList(); - foreach (var r in receivers) + // ให้ Update Salary เฉพาะของ Command 01-04 + switch (command.CommandType.CommandCode.ToUpper()) { - var salary = await _repository.GetPlacementSalaryAsync(r.RefRecordId); - - r.SalaryAmount = salary.SalaryAmount; - r.PositionSalaryAmount = salary.PositionSalaryAmount; - r.MonthSalaryAmount = salary.MonthSalaryAmount; + case "C-PM-01": + case "C-PM-02": + case "C-PM-03": + case "c-PM-04": + { + foreach (var r in receivers) + { + var salary = await _repository.GetPlacementSalaryAsync(r.RefRecordId); + r.SalaryAmount = salary.SalaryAmount; + r.PositionSalaryAmount = salary.PositionSalaryAmount; + r.MonthSalaryAmount = salary.MonthSalaryAmount; + } + } + break; + default: + break; } return Success(receivers); @@ -2534,8 +2550,12 @@ namespace BMA.EHR.Command.Service.Controllers { try { + var command = await _repository.GetByIdAsync(orderId); + if (command == null) + throw new Exception(GlobalMessages.CommandNotFound); + var receivers = (await _repository.GetReceiverByCommmandIdAsync(orderId)) - .OrderBy(x => x.Sequence) + .OrderBy(x => x.Sequence) .Select(r => new CommandReceiverResponse { RefRecordId = r.RefPlacementProfileId!.Value, @@ -2547,13 +2567,24 @@ namespace BMA.EHR.Command.Service.Controllers Education = "" // ยังหาไม่เจอว่าอยุ่ field ไหน }).ToList(); - foreach (var r in receivers) + // ให้ Update Salary เฉพาะของ Command 01-04 + switch (command.CommandType.CommandCode.ToUpper()) { - var salary = await _repository.GetPlacementSalaryAsync(r.RefRecordId); - - r.SalaryAmount = salary.SalaryAmount; - r.PositionSalaryAmount = salary.PositionSalaryAmount; - r.MonthSalaryAmount = salary.MonthSalaryAmount; + case "C-PM-01": + case "C-PM-02": + case "C-PM-03": + case "c-PM-04": + { + foreach (var r in receivers) + { + var salary = await _repository.GetPlacementSalaryAsync(r.RefRecordId); + r.SalaryAmount = salary.SalaryAmount; + r.PositionSalaryAmount = salary.PositionSalaryAmount; + r.MonthSalaryAmount = salary.MonthSalaryAmount; + } + break; + } + default: break; } return Success(receivers);