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? 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")
|
||||
.HasComment("เขียนที่ (ขอยกเลิก)");
|
||||
|
||||
b.Property<string>("CitizenId")
|
||||
.HasColumnType("longtext");
|
||||
|
||||
b.Property<string>("CoupleDayCountryHistory")
|
||||
.IsRequired()
|
||||
.HasColumnType("longtext");
|
||||
|
|
|
|||
|
|
@ -181,6 +181,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
Prefix = profile.Prefix,
|
||||
FirstName = profile.FirstName,
|
||||
LastName = profile.LastName,
|
||||
CitizenId = profile.CitizenId,
|
||||
};
|
||||
|
||||
// get leave last
|
||||
|
|
@ -826,10 +827,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
//var thisYear = DateTime.Now.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
|
||||
join p in profileList on d.KeycloakUserId equals p.Keycloak
|
||||
//join p in profileList on d.KeycloakUserId equals p.Keycloak
|
||||
select new GetLeaveRequestCalendarResultDto
|
||||
{
|
||||
Id = d.Id,
|
||||
|
|
@ -837,7 +838,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
LeaveTypeName = d.Type.Name,
|
||||
DateSendLeave = d.CreatedAt.Date,
|
||||
Status = d.LeaveStatus,
|
||||
FullName = $"{p.Prefix}{p.FirstName} {p.LastName}",
|
||||
FullName = $"{d.Prefix}{d.FirstName} {d.LastName}",
|
||||
LeaveEndDate = d.LeaveEndDate,
|
||||
LeaveStartDate = d.LeaveStartDate,
|
||||
KeycloakId = d.KeycloakUserId
|
||||
|
|
@ -897,11 +898,11 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
{
|
||||
var userId = UserId == null ? Guid.Empty : Guid.Parse(UserId);
|
||||
|
||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
||||
if (profile == null)
|
||||
{
|
||||
return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
}
|
||||
// var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(userId, AccessToken);
|
||||
// if (profile == null)
|
||||
// {
|
||||
// return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound);
|
||||
// }
|
||||
|
||||
var rawData =
|
||||
await _leaveRequestRepository.GetLeaveRequestByUserIdAsync(userId, req.Year, req.Type, req.Status);
|
||||
|
|
@ -915,7 +916,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
Id = item.Id,
|
||||
LeaveTypeId = item.Type.Id,
|
||||
LeaveTypeName = item.Type.Name,
|
||||
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
|
||||
FullName = $"{item.Prefix}{item.FirstName} {item.LastName}",
|
||||
DateSendLeave = item.CreatedAt.Date,
|
||||
IsDelete = item.LeaveStatus == "DELETE",
|
||||
Status = item.LeaveStatus,
|
||||
|
|
@ -983,7 +984,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
LeaveRange = rawData.LeaveRange ?? "",
|
||||
LeaveTypeName = rawData.Type.Name,
|
||||
LeaveTypeId = rawData.Type.Id,
|
||||
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
|
||||
FullName = $"{rawData.Prefix}{rawData.FirstName} {rawData.LastName}",
|
||||
DateSendLeave = rawData.CreatedAt,
|
||||
Status = rawData.LeaveStatus,
|
||||
LeaveStartDate = rawData.LeaveStartDate,
|
||||
|
|
@ -1092,7 +1093,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
|
||||
foreach (var item in rawData)
|
||||
{
|
||||
var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(item.KeycloakUserId, AccessToken);
|
||||
//var profile = await _userProfileRepository.GetProfileByKeycloakIdAsync(item.KeycloakUserId, AccessToken);
|
||||
|
||||
// Get Organization
|
||||
//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}",
|
||||
DateSendLeave = item.CreatedAt.Date,
|
||||
Status = item.LeaveStatus,
|
||||
CitizenId = profile.CitizenId ?? "",
|
||||
CitizenId = item.CitizenId ?? "",
|
||||
LeaveStartDate = item.LeaveStartDate,
|
||||
LeaveEndDate = item.LeaveEndDate,
|
||||
Position = profile.Position == null ? "" : profile.Position,
|
||||
Level = profile.PosLevel == null ? "" : profile.PosLevel.PosLevelName,
|
||||
Position = item.PositionName ?? "-",
|
||||
Level = item.PositionLevelName ?? "-",
|
||||
Agency = "-", //agency == null ? "" : agency.Name,
|
||||
Org = "-", //gov_agency == null ? "" : gov_agency.Name,
|
||||
LeaveRange = item.LeaveRange ?? "ALL"
|
||||
|
|
@ -1217,9 +1218,9 @@ namespace BMA.EHR.Leave.Service.Controllers
|
|||
Id = item.Id,
|
||||
LeaveTypeId = item.Type.Id,
|
||||
LeaveTypeName = item.Type.Name,
|
||||
FullName = $"{profile.Prefix}{profile.FirstName} {profile.LastName}",
|
||||
FullName = $"{item.Prefix}{item.FirstName} {item.LastName}",
|
||||
DateSendLeave = item.CreatedAt.Date,
|
||||
Status = item.LeaveCancelStatus
|
||||
Status = item.LeaveCancelStatus ?? ""
|
||||
};
|
||||
result.Add(res);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue