fix: Leave Optimize
This commit is contained in:
parent
8e6a45952a
commit
1a6fe487aa
5 changed files with 1206 additions and 16 deletions
|
|
@ -160,5 +160,7 @@ namespace BMA.EHR.Domain.Models.Leave.Requests
|
||||||
public string? FirstName { get; set; }
|
public string? FirstName { get; set; }
|
||||||
|
|
||||||
public string? LastName { get; set; }
|
public string? LastName { get; set; }
|
||||||
|
|
||||||
|
public string? CitizenId { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
1155
BMA.EHR.Infrastructure/Migrations/LeaveDb/20240712044503_Add CitizenId to LeaveRequest.Designer.cs
generated
Normal file
1155
BMA.EHR.Infrastructure/Migrations/LeaveDb/20240712044503_Add CitizenId to LeaveRequest.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,29 @@
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace BMA.EHR.Infrastructure.Migrations.LeaveDb
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class AddCitizenIdtoLeaveRequest : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "CitizenId",
|
||||||
|
table: "LeaveRequests",
|
||||||
|
type: "longtext",
|
||||||
|
nullable: true)
|
||||||
|
.Annotation("MySql:CharSet", "utf8mb4");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "CitizenId",
|
||||||
|
table: "LeaveRequests");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -217,6 +217,9 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb
|
||||||
.HasColumnType("longtext")
|
.HasColumnType("longtext")
|
||||||
.HasComment("เขียนที่ (ขอยกเลิก)");
|
.HasComment("เขียนที่ (ขอยกเลิก)");
|
||||||
|
|
||||||
|
b.Property<string>("CitizenId")
|
||||||
|
.HasColumnType("longtext");
|
||||||
|
|
||||||
b.Property<string>("CoupleDayCountryHistory")
|
b.Property<string>("CoupleDayCountryHistory")
|
||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("longtext");
|
.HasColumnType("longtext");
|
||||||
|
|
|
||||||
|
|
@ -181,6 +181,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
Prefix = profile.Prefix,
|
Prefix = profile.Prefix,
|
||||||
FirstName = profile.FirstName,
|
FirstName = profile.FirstName,
|
||||||
LastName = profile.LastName,
|
LastName = profile.LastName,
|
||||||
|
CitizenId = profile.CitizenId,
|
||||||
};
|
};
|
||||||
|
|
||||||
// get leave last
|
// get leave last
|
||||||
|
|
@ -826,10 +827,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
//var thisYear = DateTime.Now.Year;
|
//var thisYear = DateTime.Now.Year;
|
||||||
var data = await _leaveRequestRepository.GetLeaveRequestByYearAsync(req.Year);
|
var data = await _leaveRequestRepository.GetLeaveRequestByYearAsync(req.Year);
|
||||||
|
|
||||||
var profileList = await _userProfileRepository.GetProfileWithKeycloak(AccessToken);
|
// var profileList = await _userProfileRepository.GetProfileWithKeycloak(AccessToken);
|
||||||
|
|
||||||
var resultData = (from d in data
|
var resultData = (from d in data
|
||||||
join p in profileList on d.KeycloakUserId equals p.Keycloak
|
//join p in profileList on d.KeycloakUserId equals p.Keycloak
|
||||||
select new GetLeaveRequestCalendarResultDto
|
select new GetLeaveRequestCalendarResultDto
|
||||||
{
|
{
|
||||||
Id = d.Id,
|
Id = d.Id,
|
||||||
|
|
@ -837,7 +838,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveTypeName = d.Type.Name,
|
LeaveTypeName = d.Type.Name,
|
||||||
DateSendLeave = d.CreatedAt.Date,
|
DateSendLeave = d.CreatedAt.Date,
|
||||||
Status = d.LeaveStatus,
|
Status = d.LeaveStatus,
|
||||||
FullName = $"{p.Prefix}{p.FirstName} {p.LastName}",
|
FullName = $"{d.Prefix}{d.FirstName} {d.LastName}",
|
||||||
LeaveEndDate = d.LeaveEndDate,
|
LeaveEndDate = d.LeaveEndDate,
|
||||||
LeaveStartDate = d.LeaveStartDate,
|
LeaveStartDate = d.LeaveStartDate,
|
||||||
KeycloakId = d.KeycloakUserId
|
KeycloakId = d.KeycloakUserId
|
||||||
|
|
@ -897,11 +898,11 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
{
|
{
|
||||||
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
|
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
|
||||||
|
|
||||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
// var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
||||||
if (profile == null)
|
// if (profile == null)
|
||||||
{
|
// {
|
||||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||||
}
|
// }
|
||||||
|
|
||||||
var rawData =
|
var rawData =
|
||||||
await _leaveRequestRepository.GetLeaveRequestByUserIdAsync(userId, req.Year, req.Type, req.Status);
|
await _leaveRequestRepository.GetLeaveRequestByUserIdAsync(userId, req.Year, req.Type, req.Status);
|
||||||
|
|
@ -915,7 +916,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
Id = item.Id,
|
Id = item.Id,
|
||||||
LeaveTypeId = item.Type.Id,
|
LeaveTypeId = item.Type.Id,
|
||||||
LeaveTypeName = item.Type.Name,
|
LeaveTypeName = item.Type.Name,
|
||||||
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
|
FullName = $"{item.Prefix}{item.FirstName} {item.LastName}",
|
||||||
DateSendLeave = item.CreatedAt.Date,
|
DateSendLeave = item.CreatedAt.Date,
|
||||||
IsDelete = item.LeaveStatus == "DELETE",
|
IsDelete = item.LeaveStatus == "DELETE",
|
||||||
Status = item.LeaveStatus,
|
Status = item.LeaveStatus,
|
||||||
|
|
@ -983,7 +984,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveRange = rawData.LeaveRange ?? "",
|
LeaveRange = rawData.LeaveRange ?? "",
|
||||||
LeaveTypeName = rawData.Type.Name,
|
LeaveTypeName = rawData.Type.Name,
|
||||||
LeaveTypeId = rawData.Type.Id,
|
LeaveTypeId = rawData.Type.Id,
|
||||||
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
|
FullName = $"{rawData.Prefix}{rawData.FirstName} {rawData.LastName}",
|
||||||
DateSendLeave = rawData.CreatedAt,
|
DateSendLeave = rawData.CreatedAt,
|
||||||
Status = rawData.LeaveStatus,
|
Status = rawData.LeaveStatus,
|
||||||
LeaveStartDate = rawData.LeaveStartDate,
|
LeaveStartDate = rawData.LeaveStartDate,
|
||||||
|
|
@ -1092,7 +1093,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
foreach (var item in rawData)
|
foreach (var item in rawData)
|
||||||
{
|
{
|
||||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(item.KeycloakUserId, AccessToken);
|
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(item.KeycloakUserId, AccessToken);
|
||||||
|
|
||||||
// Get Organization
|
// Get Organization
|
||||||
//var org = await _userProfileRepository.GetOrganizationById(profile.OcId ?? Guid.Empty);
|
//var org = await _userProfileRepository.GetOrganizationById(profile.OcId ?? Guid.Empty);
|
||||||
|
|
@ -1112,11 +1113,11 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
FullName = $"{item.Prefix}{item.FirstName} {item.LastName}",
|
FullName = $"{item.Prefix}{item.FirstName} {item.LastName}",
|
||||||
DateSendLeave = item.CreatedAt.Date,
|
DateSendLeave = item.CreatedAt.Date,
|
||||||
Status = item.LeaveStatus,
|
Status = item.LeaveStatus,
|
||||||
CitizenId = profile.CitizenId ?? "",
|
CitizenId = item.CitizenId ?? "",
|
||||||
LeaveStartDate = item.LeaveStartDate,
|
LeaveStartDate = item.LeaveStartDate,
|
||||||
LeaveEndDate = item.LeaveEndDate,
|
LeaveEndDate = item.LeaveEndDate,
|
||||||
Position = profile.Position == null ? "" : profile.Position,
|
Position = item.PositionName ?? "-",
|
||||||
Level = profile.PosLevel == null ? "" : profile.PosLevel.PosLevelName,
|
Level = item.PositionLevelName ?? "-",
|
||||||
Agency = "-", //agency == null ? "" : agency.Name,
|
Agency = "-", //agency == null ? "" : agency.Name,
|
||||||
Org = "-", //gov_agency == null ? "" : gov_agency.Name,
|
Org = "-", //gov_agency == null ? "" : gov_agency.Name,
|
||||||
LeaveRange = item.LeaveRange ?? "ALL"
|
LeaveRange = item.LeaveRange ?? "ALL"
|
||||||
|
|
@ -1217,9 +1218,9 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
Id = item.Id,
|
Id = item.Id,
|
||||||
LeaveTypeId = item.Type.Id,
|
LeaveTypeId = item.Type.Id,
|
||||||
LeaveTypeName = item.Type.Name,
|
LeaveTypeName = item.Type.Name,
|
||||||
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
|
FullName = $"{item.Prefix}{item.FirstName} {item.LastName}",
|
||||||
DateSendLeave = item.CreatedAt.Date,
|
DateSendLeave = item.CreatedAt.Date,
|
||||||
Status = item.LeaveCancelStatus
|
Status = item.LeaveCancelStatus ?? ""
|
||||||
};
|
};
|
||||||
result.Add(res);
|
result.Add(res);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue