Merge branch 'develop' into working

This commit is contained in:
Suphonchai Phoonsawat 2023-10-11 14:08:09 +07:00
commit 4034fc2bd4
4 changed files with 31 additions and 21 deletions

View file

@ -754,8 +754,9 @@ namespace BMA.EHR.Application.Repositories.Commands
Seq = r.Sequence.ToString().ToThaiNumber(),
CitizenId = r.CitizenId,
FullName = $"{r.Prefix}{r.FirstName} {r.LastName}",
PositionName = p.Profile.Position == null ? "" : p.Profile.Position.Name,
Organization = p.Organization,
PositionName = p.OrganizationPositionOld,
// PositionName = p.Profile.Position == null ? "" : p.Profile.Position.Name,
Organization = p.Organization == null ? "" : p.Organization,
StartDate = p.DateStart == null ? "" : p.DateStart.Value.ToThaiShortDate2().ToThaiNumber(),
EndDate = p.DateEnd == null ? "" : p.DateEnd.Value.ToThaiShortDate2().ToThaiNumber(),
Reason = p.Reason == null ? "" : p.Reason.ToThaiNumber()

View file

@ -6510,15 +6510,14 @@ namespace BMA.EHR.Application.Repositories.Commands
case "C-PM-01":
case "C-PM-02":
case "C-PM-03":
case "c-PM-04":
case "C-PM-04":
salary = await GetPlacementSalaryAsync(item.RefPlacementProfileId.Value);
break;
default:
salary = await GetCommandReceiverSalary(item.RefPlacementProfileId.Value);
salary = await GetCommandReceiverSalary(item.RefPlacementProfileId.Value, item.Amount, item.MouthSalaryAmount, item.PositionSalaryAmount);
break;
}
var receiver = new CommandReceiver
{
Sequence = seq,
@ -7090,27 +7089,29 @@ namespace BMA.EHR.Application.Repositories.Commands
#region " Placement "
public async Task<PlacementSalaryResponse> GetCommandReceiverSalary(Guid recordId)
public async Task<PlacementSalaryResponse> GetCommandReceiverSalary(Guid recordId, Double? _Amount, Double? _MouthSalaryAmount, Double? _PositionSalaryAmount)
{
try
{
var cmdReceiver = await _dbContext.Set<CommandReceiver>()
.FirstOrDefaultAsync(x => x.Id == recordId);
double SalaryAmount = 0;
double PositionSalaryAmount = 0;
double MonthSalaryAmount = 0;
if (cmdReceiver == null)
{
return new PlacementSalaryResponse
{
SalaryAmount = 0,
PositionSalaryAmount = 0,
MonthSalaryAmount = 0
SalaryAmount = _Amount == null ? 0 : _Amount.Value,
PositionSalaryAmount = _MouthSalaryAmount == null ? 0 : _MouthSalaryAmount.Value,
MonthSalaryAmount = _PositionSalaryAmount == null ? 0 : _PositionSalaryAmount.Value,
};
}
var profile = await _dbContext.Set<Profile>()
.Include(x => x.Salaries)
.FirstOrDefaultAsync(p => p.CitizenId == cmdReceiver.CitizenId);
double? SalaryAmount = 0;
double? PositionSalaryAmount = 0;
double? MonthSalaryAmount = 0;
if (profile != null && profile.Salaries != null && profile.Salaries.Count() > 0)
{
SalaryAmount = profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount != null ? profile.Salaries.OrderByDescending(x => x.Order).FirstOrDefault().Amount.Value : 0;
@ -7120,9 +7121,9 @@ namespace BMA.EHR.Application.Repositories.Commands
return new PlacementSalaryResponse
{
SalaryAmount = cmdReceiver.Amount != null && cmdReceiver.Amount != 0 ? cmdReceiver.Amount.Value : SalaryAmount ?? 0,
PositionSalaryAmount = cmdReceiver.PositionSalaryAmount != null && cmdReceiver.PositionSalaryAmount != 0 ? cmdReceiver.PositionSalaryAmount.Value : PositionSalaryAmount ?? 0,
MonthSalaryAmount = cmdReceiver.MouthSalaryAmount != null && cmdReceiver.MouthSalaryAmount != 0 ? cmdReceiver.MouthSalaryAmount.Value : MonthSalaryAmount ?? 0,
SalaryAmount = cmdReceiver.Amount != null && cmdReceiver.Amount != 0 ? cmdReceiver.Amount.Value : SalaryAmount,
PositionSalaryAmount = cmdReceiver.PositionSalaryAmount != null && cmdReceiver.PositionSalaryAmount != 0 ? cmdReceiver.PositionSalaryAmount.Value : PositionSalaryAmount,
MonthSalaryAmount = cmdReceiver.MouthSalaryAmount != null && cmdReceiver.MouthSalaryAmount != 0 ? cmdReceiver.MouthSalaryAmount.Value : MonthSalaryAmount,
};
}
catch

View file

@ -2929,7 +2929,7 @@ namespace BMA.EHR.Command.Service.Controllers
{
foreach (var r in receivers)
{
var salary = await _repository.GetCommandReceiverSalary(r.PersonalId);
var salary = await _repository.GetCommandReceiverSalary(r.PersonalId, r.SalaryAmount, r.MonthSalaryAmount, r.PositionSalaryAmount);
r.SalaryAmount = salary.SalaryAmount;
r.PositionSalaryAmount = salary.PositionSalaryAmount;
r.MonthSalaryAmount = salary.MonthSalaryAmount;
@ -3001,7 +3001,7 @@ namespace BMA.EHR.Command.Service.Controllers
{
foreach (var r in receivers)
{
var salary = await _repository.GetCommandReceiverSalary(r.PersonalId);
var salary = await _repository.GetCommandReceiverSalary(r.PersonalId, r.SalaryAmount, r.MonthSalaryAmount, r.PositionSalaryAmount);
r.SalaryAmount = salary.SalaryAmount;
r.PositionSalaryAmount = salary.PositionSalaryAmount;
r.MonthSalaryAmount = salary.MonthSalaryAmount;
@ -3345,7 +3345,7 @@ namespace BMA.EHR.Command.Service.Controllers
var payload_str = JsonConvert.SerializeObject(payload);
return Success(payload_str);
return Success(payload_str);
}
catch
{
@ -3579,7 +3579,7 @@ namespace BMA.EHR.Command.Service.Controllers
data = await _repository.GetPlacementSalaryAsync(record!.RefPlacementProfileId!.Value);
break;
default:
data = await _repository.GetCommandReceiverSalary(personalId);
data = await _repository.GetCommandReceiverSalary(personalId, record.Amount, record.MouthSalaryAmount, record.PositionSalaryAmount);
break;
}

View file

@ -1006,7 +1006,15 @@ namespace BMA.EHR.Insignia.Service.Controllers
.Where(x => x.OrganizationPosition.Organization.OrganizationAgencyId != null)
.Select(x => x.OrganizationPosition.Organization.OrganizationAgencyId)
.FirstOrDefaultAsync();
if (orgProfile == null)
{
orgProfile = await _context.ProfilePositions
.Where(x => x.Profile == profile)
.Where(x => x.OrganizationPosition != null)
.Where(x => x.OrganizationPosition.Organization != null)
.Select(x => x.OrganizationPosition.Organization.Id)
.FirstOrDefaultAsync();
}
return Success(orgProfile);
}