แก้ไขบั้ก api คำสั่ง เลือกรายชื่อเพื่อทำคำสั่ง

This commit is contained in:
Suphonchai Phoonsawat 2023-08-31 10:26:53 +07:00
parent 52d80eebb4
commit 89c7b6e239
2 changed files with 49 additions and 19 deletions

View file

@ -289,7 +289,6 @@ namespace BMA.EHR.Application.Repositories.Commands
.Where(x => !otherCommandReceivers.Contains(x.CitizenId!)) .Where(x => !otherCommandReceivers.Contains(x.CitizenId!))
.Where(x => x.PlacementStatus.Trim().ToUpper() == "PREPARE-CONTAIN") .Where(x => x.PlacementStatus.Trim().ToUpper() == "PREPARE-CONTAIN")
.Where(x => x.Draft! == true) .Where(x => x.Draft! == true)
// .Where(x => x.Placement!.PlacementType!.Name != "สอบแข่งขัน")
.OrderBy(x => x.ExamNumber) .OrderBy(x => x.ExamNumber)
.ToListAsync(); .ToListAsync();
@ -298,7 +297,7 @@ namespace BMA.EHR.Application.Repositories.Commands
foreach (var item in appointPeople) foreach (var item in appointPeople)
{ {
var profile_oc = await GetProfileOrganizationAsync(item.CitizenId!); 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 var receiver = new CommandReceiver
{ {
@ -351,11 +350,9 @@ namespace BMA.EHR.Application.Repositories.Commands
.Include(x => x.Prefix) .Include(x => x.Prefix)
.Include(x => x.OrganizationPosition) .Include(x => x.OrganizationPosition)
.ThenInclude(x => x!.Organization) .ThenInclude(x => x!.Organization)
//.Where(x => x.OrganizationPosition!.Organization!.Id == command.OwnerGovId)
.Where(x => !otherCommandReceivers.Contains(x.CitizenId!)) .Where(x => !otherCommandReceivers.Contains(x.CitizenId!))
.Where(x => x.PlacementStatus.Trim().ToUpper() == "PREPARE-CONTAIN") .Where(x => x.PlacementStatus.Trim().ToUpper() == "PREPARE-CONTAIN")
.Where(x => x.Draft! == true) .Where(x => x.Draft! == true)
// .Where(x => x.Placement!.PlacementType!.Name != "สอบแข่งขัน")
.OrderBy(x => x.ExamNumber) .OrderBy(x => x.ExamNumber)
.ToListAsync(); .ToListAsync();
@ -364,7 +361,7 @@ namespace BMA.EHR.Application.Repositories.Commands
foreach (var item in appointPeople) foreach (var item in appointPeople)
{ {
var profile_oc = await GetProfileOrganizationAsync(item.CitizenId!); 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 var receiver = new CommandReceiver
{ {
@ -531,13 +528,15 @@ namespace BMA.EHR.Application.Repositories.Commands
.ToListAsync(); .ToListAsync();
// 2. Query // 2. Query
var appointPeople = await _dbContext.Set<PlacementRelocation>() var appointPeople = await _dbContext.Set<PlacementAppointment>()
.Include(x => x.CommandType)
.Include(x => x.Prefix) .Include(x => x.Prefix)
.Include(x => x.OrganizationPosition) .Include(x => x.OrganizationPosition)
.ThenInclude(x => x!.Organization) .ThenInclude(x => x!.Organization)
//.Where(x => x.OrganizationPosition!.Organization!.Id == command.OwnerGovId) //.Where(x => x.OrganizationPosition!.Organization!.Id == command.OwnerGovId)
.Where(x => !otherCommandReceivers.Contains(x.CitizenId!)) .Where(x => !otherCommandReceivers.Contains(x.CitizenId!))
.Where(x => x.Status.Trim().ToUpper() == "REPORT") .Where(x => x.Status.Trim().ToUpper() == "REPORT")
.Where(x => x.CommandType!.Id == command.CommandType!.Id)
.OrderBy(x => x.CitizenId) .OrderBy(x => x.CitizenId)
.ToListAsync(); .ToListAsync();

View file

@ -2484,6 +2484,10 @@ namespace BMA.EHR.Command.Service.Controllers
{ {
try try
{ {
var command = await _repository.GetByIdAsync(orderId);
if (command == null)
throw new Exception(GlobalMessages.CommandNotFound);
// TODO : หาค่า Education มาแสดง // TODO : หาค่า Education มาแสดง
var existed = await _repository.GetReceiverByCommmandIdAsync(orderId); var existed = await _repository.GetReceiverByCommmandIdAsync(orderId);
@ -2500,13 +2504,25 @@ namespace BMA.EHR.Command.Service.Controllers
Education = "" // ยังหาไม่เจอว่าอยุ่ field ไหน Education = "" // ยังหาไม่เจอว่าอยุ่ field ไหน
}).ToList(); }).ToList();
foreach (var r in receivers) // ให้ Update Salary เฉพาะของ Command 01-04
switch (command.CommandType.CommandCode.ToUpper())
{ {
var salary = await _repository.GetPlacementSalaryAsync(r.RefRecordId); case "C-PM-01":
case "C-PM-02":
r.SalaryAmount = salary.SalaryAmount; case "C-PM-03":
r.PositionSalaryAmount = salary.PositionSalaryAmount; case "c-PM-04":
r.MonthSalaryAmount = salary.MonthSalaryAmount; {
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); return Success(receivers);
@ -2534,8 +2550,12 @@ namespace BMA.EHR.Command.Service.Controllers
{ {
try try
{ {
var command = await _repository.GetByIdAsync(orderId);
if (command == null)
throw new Exception(GlobalMessages.CommandNotFound);
var receivers = (await _repository.GetReceiverByCommmandIdAsync(orderId)) var receivers = (await _repository.GetReceiverByCommmandIdAsync(orderId))
.OrderBy(x => x.Sequence) .OrderBy(x => x.Sequence)
.Select(r => new CommandReceiverResponse .Select(r => new CommandReceiverResponse
{ {
RefRecordId = r.RefPlacementProfileId!.Value, RefRecordId = r.RefPlacementProfileId!.Value,
@ -2547,13 +2567,24 @@ namespace BMA.EHR.Command.Service.Controllers
Education = "" // ยังหาไม่เจอว่าอยุ่ field ไหน Education = "" // ยังหาไม่เจอว่าอยุ่ field ไหน
}).ToList(); }).ToList();
foreach (var r in receivers) // ให้ Update Salary เฉพาะของ Command 01-04
switch (command.CommandType.CommandCode.ToUpper())
{ {
var salary = await _repository.GetPlacementSalaryAsync(r.RefRecordId); case "C-PM-01":
case "C-PM-02":
r.SalaryAmount = salary.SalaryAmount; case "C-PM-03":
r.PositionSalaryAmount = salary.PositionSalaryAmount; case "c-PM-04":
r.MonthSalaryAmount = salary.MonthSalaryAmount; {
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); return Success(receivers);