add: Add Person Profile to Table

This commit is contained in:
Suphonchai Phoonsawat 2024-07-11 14:52:54 +07:00
parent 49eb785a92
commit 96a2c8d94f
13 changed files with 3727 additions and 23 deletions

View file

@ -477,7 +477,10 @@ namespace BMA.EHR.Leave.Service.Controllers
CheckInPOI = data.POI,
CheckInRemark = data.Remark,
CheckInImageUrl = fileName,
CheckIn = currentDate
CheckIn = currentDate,
Prefix = profile.Prefix,
FirstName = profile.FirstName,
LastName = profile.LastName,
};
var checkInStatus = DateTime.Parse(currentDate.ToString("yyyy-MM-dd HH:mm")) >
@ -502,7 +505,10 @@ namespace BMA.EHR.Leave.Service.Controllers
CheckInRemark = data.Remark,
CheckInImageUrl = fileName,
CheckIn = currentDate,
CheckInStatus = checkInStatus
CheckInStatus = checkInStatus,
Prefix = profile.Prefix,
FirstName = profile.FirstName,
LastName = profile.LastName,
};
await _userTimeStampRepository.AddAsync(checkin);
@ -689,7 +695,8 @@ namespace BMA.EHR.Leave.Service.Controllers
.Select(d => new CheckInHistoryForAdminDto
{
Id = d.Id,
FullName = _userProfileRepository.GetUserFullName(d.KeycloakUserId, AccessToken),
//FullName = _userProfileRepository.GetUserFullName(d.KeycloakUserId, AccessToken),
FullName = $"{d.Prefix}{d.FirstName} {d.LastName}",
CheckInDate = d.CheckIn.Date,
CheckInTime = d.CheckIn.ToString("HH:mm:ss"),
@ -775,7 +782,9 @@ namespace BMA.EHR.Leave.Service.Controllers
var result = new CheckInDetailForAdminDto
{
Id = d.Id,
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}", // _userProfileRepository.GetUserFullName(d.KeycloakUserId, AccessToken),
FullName = $"{d.Prefix}{d.FirstName} {d.LastName}",
//FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}", // _userProfileRepository.GetUserFullName(d.KeycloakUserId, AccessToken),
CheckInDate = d.CheckIn.Date,
CheckInTime = d.CheckIn.ToString("HH:mm"),
@ -880,22 +889,22 @@ namespace BMA.EHR.Leave.Service.Controllers
foreach (var d in resultData)
{
var pf = profiles.FirstOrDefault(x => x.Keycloak == d.KeycloakUserId);
if (pf == null)
{
pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(d.KeycloakUserId, AccessToken);
if (pf == null)
continue;
else
profiles.Add(pf);
}
//var pf = profiles.FirstOrDefault(x => x.Keycloak == d.KeycloakUserId);
//if (pf == null)
//{
// pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(d.KeycloakUserId, AccessToken);
// if (pf == null)
// continue;
// else
// profiles.Add(pf);
//}
//var pf = await _userProfileRepository.GetProfileByKeycloakIdAsync(d.KeycloakUserId, AccessToken);
//if (pf == null) continue;
data.Add(new CheckInProcessHistoryForAdminDto
{
Id = d.Id,
FullName = $"{pf.Prefix}{pf.FirstName} {pf.LastName}",
FullName = $"{d.Prefix}{d.FirstName} {d.LastName}",
CheckInDate = d.CheckIn.Date,
CheckInTime = d.CheckIn.ToString("HH:mm"),
CheckInLocation = d.CheckInPOI,
@ -909,8 +918,6 @@ namespace BMA.EHR.Leave.Service.Controllers
DateTime.Parse($"{d.CheckIn.ToString("yyyy-MM-dd")} {duty.EndTimeMorning}") ?
"ABSENT" :
"LATE" :
"NORMAL",
CheckInIsLocation = d.IsLocationCheckIn,
CheckInLocationName = d.CheckInLocationName,
@ -1157,6 +1164,13 @@ namespace BMA.EHR.Leave.Service.Controllers
return Error("ไม่สามารถขอลงเวลากรณีพิเศษในวันที่มากกว่าวันที่ปัจจุบันได้", StatusCodes.Status400BadRequest);
}
var userId = UserId != null ? Guid.Parse(UserId) : Guid.Empty;
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
if (profile == null)
{
throw new Exception(GlobalMessages.DataNotFound);
}
var request = new AdditionalCheckRequest
{
KeycloakUserId = UserId != null ? Guid.Parse(UserId) : Guid.Empty,
@ -1164,6 +1178,9 @@ namespace BMA.EHR.Leave.Service.Controllers
CheckInEdit = req.CheckInEdit,
CheckOutEdit = req.CheckOutEdit,
Description = req.Description,
Prefix = profile.Prefix,
FirstName = profile.FirstName,
LastName = profile.LastName,
};
await _additionalCheckRequestRepository.AddAsync(request);
@ -1215,7 +1232,8 @@ namespace BMA.EHR.Leave.Service.Controllers
var resObj = new GetAdditionalCheckRequestDto
{
Id = data.Id,
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
FullName = $"{data.Prefix}{data.FirstName} {data.LastName}",
//FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
CreatedAt = data.CreatedAt,
CheckDate = data.CheckDate,
CheckInEdit = data.CheckInEdit,
@ -1308,6 +1326,8 @@ namespace BMA.EHR.Leave.Service.Controllers
if (processTimeStamp == null)
{
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(requestData.KeycloakUserId, AccessToken);
processTimeStamp = new ProcessUserTimeStamp
{
KeycloakUserId = requestData.KeycloakUserId,
@ -1323,7 +1343,11 @@ namespace BMA.EHR.Leave.Service.Controllers
CheckInPOI = "ลงเวลากรณีพิเศษ",
CheckOutPOI = "ลงเวลากรณีพิเศษ",
CheckInStatus = req.CheckInStatus,
CheckOutStatus = req.CheckOutStatus
CheckOutStatus = req.CheckOutStatus,
Prefix = profile.Prefix,
FirstName = profile.FirstName,
LastName = profile.LastName,
};
@ -1454,7 +1478,8 @@ namespace BMA.EHR.Leave.Service.Controllers
var result = new CheckInDetailForAdminDto
{
Id = d.Id,
FullName = _userProfileRepository.GetUserFullName(d.KeycloakUserId, AccessToken),
FullName = $"{d.Prefix}{d.FirstName} {d.LastName}",
//FullName = _userProfileRepository.GetUserFullName(d.KeycloakUserId, AccessToken),
CheckInDate = d.CheckIn.Date,
CheckInTime = d.CheckIn.ToString("HH:mm"),

View file

@ -176,7 +176,11 @@ namespace BMA.EHR.Leave.Service.Controllers
LeaveSalaryText = req.LeaveSalaryText ?? "",
LeaveStatus = "DRAFT",
KeycloakUserId = userId,
ApproveStep = APPROVE_STEP_CREATE
ApproveStep = APPROVE_STEP_CREATE,
Prefix = profile.Prefix,
FirstName = profile.FirstName,
LastName = profile.LastName,
};
// get leave last