Compare commits
3 commits
b3298e88c6
...
c65a4a04ac
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c65a4a04ac | ||
|
|
d58c7dc07e | ||
|
|
bb329f86de |
9 changed files with 1942 additions and 29 deletions
|
|
@ -354,7 +354,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
var rawData = _dbContext.Set<LeaveRequest>().AsNoTracking()
|
var rawData = _dbContext.Set<LeaveRequest>().AsNoTracking()
|
||||||
.Include(x => x.Type)
|
.Include(x => x.Type)
|
||||||
.Where(x => x.LeaveStatus != "DRAFT")
|
.Where(x => x.LeaveStatus != "DRAFT")
|
||||||
.OrderByDescending(x => x.CreatedAt)
|
.OrderByDescending(x => (x.DateSendLeave ?? x.CreatedAt))
|
||||||
.AsQueryable();
|
.AsQueryable();
|
||||||
|
|
||||||
if (year != 0)
|
if (year != 0)
|
||||||
|
|
@ -380,7 +380,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
var rawData = _dbContext.Set<LeaveRequest>().AsNoTracking()
|
var rawData = _dbContext.Set<LeaveRequest>().AsNoTracking()
|
||||||
.Include(x => x.Type)
|
.Include(x => x.Type)
|
||||||
.Where(x => x.LeaveStatus != "DRAFT")
|
.Where(x => x.LeaveStatus != "DRAFT")
|
||||||
.OrderByDescending(x => x.CreatedAt)
|
.OrderByDescending(x => (x.DateSendLeave ?? x.CreatedAt))
|
||||||
.AsQueryable();
|
.AsQueryable();
|
||||||
// fix issue : 1830
|
// fix issue : 1830
|
||||||
if (year != 0)
|
if (year != 0)
|
||||||
|
|
@ -447,7 +447,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
.Include(x => x.Type)
|
.Include(x => x.Type)
|
||||||
.Where(x => keycloakIdList.Contains(x.KeycloakUserId))
|
.Where(x => keycloakIdList.Contains(x.KeycloakUserId))
|
||||||
.Where(x => x.LeaveStatus != "DRAFT")
|
.Where(x => x.LeaveStatus != "DRAFT")
|
||||||
.OrderByDescending(x => x.CreatedAt)
|
.OrderByDescending(x =>(x.DateSendLeave ?? x.CreatedAt))
|
||||||
.AsQueryable();
|
.AsQueryable();
|
||||||
|
|
||||||
if (year != 0)
|
if (year != 0)
|
||||||
|
|
@ -574,12 +574,12 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
var data = await _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
var data = await _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
||||||
.Include(x => x.Type)
|
.Include(x => x.Type)
|
||||||
//.Where(x => x.LeaveStartDate.Date < beforeDate.Date)
|
//.Where(x => x.LeaveStartDate.Date < beforeDate.Date)
|
||||||
.Where(x => x.CreatedAt < beforeDate)
|
.Where(x => (x.DateSendLeave ?? x.CreatedAt) < beforeDate)
|
||||||
.Where(x => x.KeycloakUserId == keycloakUserId)
|
.Where(x => x.KeycloakUserId == keycloakUserId)
|
||||||
.Where(x => x.Type.Id == leaveTypeId)
|
.Where(x => x.Type.Id == leaveTypeId)
|
||||||
.Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
|
.Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
|
||||||
//.Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE")
|
//.Where(x => x.LeaveStatus != "REJECT" && x.LeaveStatus != "DELETE")
|
||||||
.OrderByDescending(x => x.CreatedAt)
|
.OrderByDescending(x => (x.DateSendLeave ?? x.CreatedAt))
|
||||||
.FirstOrDefaultAsync();
|
.FirstOrDefaultAsync();
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
|
|
@ -904,6 +904,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
|
|
||||||
|
|
||||||
rawData.LeaveStatus = "NEW";
|
rawData.LeaveStatus = "NEW";
|
||||||
|
rawData.DateSendLeave = DateTime.Now; // Update วันที่ยื่นลาเป็นวันที่ปัจจุบัน
|
||||||
//rawData.ApproveStep = "st2";
|
//rawData.ApproveStep = "st2";
|
||||||
|
|
||||||
await UpdateAsync(rawData);
|
await UpdateAsync(rawData);
|
||||||
|
|
@ -1876,7 +1877,7 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
.Include(x => x.Type)
|
.Include(x => x.Type)
|
||||||
.Where(x => x.KeycloakUserId == keycloakUserId)
|
.Where(x => x.KeycloakUserId == keycloakUserId)
|
||||||
.Where(x => x.Type.Id == leaveTypeId)
|
.Where(x => x.Type.Id == leaveTypeId)
|
||||||
.Where(x => x.CreatedAt.Date >= startDate && x.CreatedAt < endDate)
|
.Where(x => (x.DateSendLeave ?? x.CreatedAt).Date >= startDate && (x.DateSendLeave ??x.CreatedAt).Date < endDate)
|
||||||
//.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
|
//.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
|
||||||
.Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
|
.Where(x => x.LeaveStatus == "APPROVE" || x.LeaveStatus == "DELETING")
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
|
@ -1887,6 +1888,57 @@ namespace BMA.EHR.Application.Repositories.Leaves.LeaveRequests
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// วันลาที่สร้างแบบร่างยังไม่ได้ยื่น
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="keycloakUserId"></param>
|
||||||
|
/// <param name="leaveTypeId"></param>
|
||||||
|
/// <param name="startDate"></param>
|
||||||
|
/// <param name="endDate"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<double> GetSumDraftLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate)
|
||||||
|
{
|
||||||
|
var data = await _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
||||||
|
.Include(x => x.Type)
|
||||||
|
.Where(x => x.KeycloakUserId == keycloakUserId)
|
||||||
|
.Where(x => x.Type.Id == leaveTypeId)
|
||||||
|
.Where(x => (x.DateSendLeave ?? x.CreatedAt).Date >= startDate
|
||||||
|
&& (x.DateSendLeave ?? x.CreatedAt).Date < endDate)
|
||||||
|
//.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
|
||||||
|
.Where(x => x.LeaveStatus == "DRAFT")
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
if (data.Count > 0)
|
||||||
|
return data.Sum(x => x.LeaveTotal);
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// วันลาที่ยื่นแล้วรอพิจารณา
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="keycloakUserId"></param>
|
||||||
|
/// <param name="leaveTypeId"></param>
|
||||||
|
/// <param name="startDate"></param>
|
||||||
|
/// <param name="endDate"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<double> GetSumNewLeaveTotalByTypeAndRangeForUser2(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate)
|
||||||
|
{
|
||||||
|
var data = await _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
||||||
|
.Include(x => x.Type)
|
||||||
|
.Where(x => x.KeycloakUserId == keycloakUserId)
|
||||||
|
.Where(x => x.Type.Id == leaveTypeId)
|
||||||
|
.Where(x => (x.DateSendLeave ?? x.CreatedAt).Date >= startDate && (x.DateSendLeave ??x.CreatedAt).Date < endDate)
|
||||||
|
//.Where(x => x.LeaveStartDate.Date >= startDate.Date && x.LeaveStartDate.Date <= endDate.Date)
|
||||||
|
.Where(x => x.LeaveStatus == "NEW")
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
|
if (data.Count > 0)
|
||||||
|
return data.Sum(x => x.LeaveTotal);
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<int> GetCountApproveLeaveByTypeAndRangeForUser(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate)
|
public async Task<int> GetCountApproveLeaveByTypeAndRangeForUser(Guid keycloakUserId, Guid leaveTypeId, DateTime startDate, DateTime endDate)
|
||||||
{
|
{
|
||||||
var data = await _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
var data = await _dbContext.Set<LeaveRequest>().AsQueryable().AsNoTracking()
|
||||||
|
|
|
||||||
|
|
@ -210,5 +210,7 @@ namespace BMA.EHR.Domain.Models.Leave.Requests
|
||||||
|
|
||||||
public Guid? Child4DnaId { get; set; } = Guid.Empty;
|
public Guid? Child4DnaId { get; set; } = Guid.Empty;
|
||||||
|
|
||||||
|
public DateTime? DateSendLeave { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
1805
BMA.EHR.Infrastructure/Migrations/LeaveDb/20260423083625_Add DateSendLeave.Designer.cs
generated
Normal file
1805
BMA.EHR.Infrastructure/Migrations/LeaveDb/20260423083625_Add DateSendLeave.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,29 @@
|
||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace BMA.EHR.Infrastructure.Migrations.LeaveDb
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class AddDateSendLeave : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddColumn<DateTime>(
|
||||||
|
name: "DateSendLeave",
|
||||||
|
table: "LeaveRequests",
|
||||||
|
type: "datetime(6)",
|
||||||
|
nullable: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "DateSendLeave",
|
||||||
|
table: "LeaveRequests");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -428,6 +428,9 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb
|
||||||
b.Property<DateTime?>("DateAppoint")
|
b.Property<DateTime?>("DateAppoint")
|
||||||
.HasColumnType("datetime(6)");
|
.HasColumnType("datetime(6)");
|
||||||
|
|
||||||
|
b.Property<DateTime?>("DateSendLeave")
|
||||||
|
.HasColumnType("datetime(6)");
|
||||||
|
|
||||||
b.Property<string>("Dear")
|
b.Property<string>("Dear")
|
||||||
.HasColumnType("longtext")
|
.HasColumnType("longtext")
|
||||||
.HasComment("เรียนใคร");
|
.HasComment("เรียนใคร");
|
||||||
|
|
|
||||||
|
|
@ -182,7 +182,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
data = new
|
data = new
|
||||||
{
|
{
|
||||||
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
||||||
dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveTypeName = data.Type.Name,
|
leaveTypeName = data.Type.Name,
|
||||||
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
||||||
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
||||||
|
|
@ -272,7 +272,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
data = new
|
data = new
|
||||||
{
|
{
|
||||||
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
||||||
dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveTypeName = data.Type.Name,
|
leaveTypeName = data.Type.Name,
|
||||||
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
||||||
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
||||||
|
|
@ -366,7 +366,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
data = new
|
data = new
|
||||||
{
|
{
|
||||||
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
||||||
dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveTypeName = data.Type.Name,
|
leaveTypeName = data.Type.Name,
|
||||||
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
||||||
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
||||||
|
|
@ -461,7 +461,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
data = new
|
data = new
|
||||||
{
|
{
|
||||||
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
||||||
dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveTypeName = data.Type.Name,
|
leaveTypeName = data.Type.Name,
|
||||||
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
||||||
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
||||||
|
|
@ -515,7 +515,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
data = new
|
data = new
|
||||||
{
|
{
|
||||||
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
||||||
dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveTypeName = data.Type.Name,
|
leaveTypeName = data.Type.Name,
|
||||||
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
||||||
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
||||||
|
|
@ -602,7 +602,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
data = new
|
data = new
|
||||||
{
|
{
|
||||||
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
||||||
dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveTypeName = data.Type.Name,
|
leaveTypeName = data.Type.Name,
|
||||||
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
||||||
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
||||||
|
|
@ -683,7 +683,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
data = new
|
data = new
|
||||||
{
|
{
|
||||||
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
||||||
dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveTypeName = data.Type.Name,
|
leaveTypeName = data.Type.Name,
|
||||||
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
||||||
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
||||||
|
|
@ -786,7 +786,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
data = new
|
data = new
|
||||||
{
|
{
|
||||||
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
||||||
dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveTypeName = data.Type.Name,
|
leaveTypeName = data.Type.Name,
|
||||||
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
||||||
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
||||||
|
|
@ -905,7 +905,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
data = new
|
data = new
|
||||||
{
|
{
|
||||||
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
||||||
dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveTypeName = data.Type.Name,
|
leaveTypeName = data.Type.Name,
|
||||||
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
||||||
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
||||||
|
|
@ -1001,7 +1001,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
data = new
|
data = new
|
||||||
{
|
{
|
||||||
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
leaveWrote = data.LeaveWrote.ToThaiNumber() ?? "",
|
||||||
dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveTypeName = data.Type.Name,
|
leaveTypeName = data.Type.Name,
|
||||||
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
leaveSubTypeName = data.LeaveSubTypeName != null ? data.LeaveSubTypeName.ToThaiNumber() : "",
|
||||||
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
dear = data.CommanderPosition == null ? data.Dear : data.CommanderPosition.ToThaiNumber(),
|
||||||
|
|
@ -1227,7 +1227,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
data = new
|
data = new
|
||||||
{
|
{
|
||||||
leaveWrote = data.CancelLeaveWrote!.ToThaiNumber() ?? "",
|
leaveWrote = data.CancelLeaveWrote!.ToThaiNumber() ?? "",
|
||||||
dateSendLeave = data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
dateSendLeave = data.DateSendLeave != null ? data.DateSendLeave.Value.Date.ToThaiShortDate().ToThaiNumber() : data.CreatedAt.Date.ToThaiShortDate().ToThaiNumber(),
|
||||||
leaveTypeName = data.Type.Name,
|
leaveTypeName = data.Type.Name,
|
||||||
fullname = fullName,
|
fullname = fullName,
|
||||||
position = string.IsNullOrEmpty(profile.Position) ? "-" : profile.Position,
|
position = string.IsNullOrEmpty(profile.Position) ? "-" : profile.Position,
|
||||||
|
|
|
||||||
|
|
@ -855,10 +855,10 @@ 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 thisYear = DateTime.Now.Year;
|
var thisYear = DateTime.Now.Year - 1;
|
||||||
var toDay = DateTime.Now.Date;
|
var toDay = DateTime.Now.Date;
|
||||||
var startFiscalDate = new DateTime(DateTime.Now.Year, 10, 1);
|
var startFiscalDate = new DateTime(DateTime.Now.Year - 1, 10, 1);
|
||||||
var endFiscalDate = new DateTime(DateTime.Now.Year + 1, 9, 30);
|
var endFiscalDate = new DateTime(DateTime.Now.Year, 9, 30);
|
||||||
|
|
||||||
if (toDay >= startFiscalDate && toDay <= endFiscalDate)
|
if (toDay >= startFiscalDate && toDay <= endFiscalDate)
|
||||||
thisYear = thisYear + 1;
|
thisYear = thisYear + 1;
|
||||||
|
|
@ -925,6 +925,9 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var leaveLast = await _leaveRequestRepository.GetLeaveLastByTypeForUserAsync(userId, req.Type);
|
var leaveLast = await _leaveRequestRepository.GetLeaveLastByTypeForUserAsync(userId, req.Type);
|
||||||
|
|
||||||
|
var leaveDraftSummary = await _leaveRequestRepository.GetSumDraftLeaveTotalByTypeAndRangeForUser2(userId, req.Type, startFiscalDate, endFiscalDate);
|
||||||
|
var leaveWaitingSummary = await _leaveRequestRepository.GetSumNewLeaveTotalByTypeAndRangeForUser2(userId, req.Type, startFiscalDate, endFiscalDate);
|
||||||
|
|
||||||
var result = new GetUserLeaveProfileResultDto
|
var result = new GetUserLeaveProfileResultDto
|
||||||
{
|
{
|
||||||
DateSendLeave = DateTime.Now.Date,
|
DateSendLeave = DateTime.Now.Date,
|
||||||
|
|
@ -960,7 +963,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
CurrentDistrict = profile.CurrentDistrict ?? "",
|
CurrentDistrict = profile.CurrentDistrict ?? "",
|
||||||
CurrentProvince = profile.CurrentProvince ?? "",
|
CurrentProvince = profile.CurrentProvince ?? "",
|
||||||
CurrentZipCode = profile.CurrentZipCode ?? "",
|
CurrentZipCode = profile.CurrentZipCode ?? "",
|
||||||
GovAge = govAge
|
GovAge = govAge,
|
||||||
|
|
||||||
|
LeaveDraftSummary = leaveDraftSummary,
|
||||||
|
LeaveWaitingSummary = leaveWaitingSummary
|
||||||
};
|
};
|
||||||
|
|
||||||
return Success(result);
|
return Success(result);
|
||||||
|
|
@ -1324,7 +1330,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
Id = d.Id,
|
Id = d.Id,
|
||||||
LeaveTypeId = d.Type.Id,
|
LeaveTypeId = d.Type.Id,
|
||||||
LeaveTypeName = d.Type.Name,
|
LeaveTypeName = d.Type.Name,
|
||||||
DateSendLeave = d.CreatedAt.Date,
|
DateSendLeave = d.DateSendLeave != null ? d.DateSendLeave.Value.Date : d.CreatedAt.Date,
|
||||||
Status = d.LeaveStatus,
|
Status = d.LeaveStatus,
|
||||||
FullName = $"{d.Prefix}{d.FirstName} {d.LastName}",
|
FullName = $"{d.Prefix}{d.FirstName} {d.LastName}",
|
||||||
LeaveEndDate = d.LeaveEndDate,
|
LeaveEndDate = d.LeaveEndDate,
|
||||||
|
|
@ -1483,7 +1489,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
Id = d.Id,
|
Id = d.Id,
|
||||||
LeaveTypeId = d.Type.Id,
|
LeaveTypeId = d.Type.Id,
|
||||||
LeaveTypeName = d.Type.Name,
|
LeaveTypeName = d.Type.Name,
|
||||||
DateSendLeave = d.CreatedAt.Date,
|
DateSendLeave = d.DateSendLeave != null ? d.DateSendLeave.Value.Date : d.CreatedAt.Date,
|
||||||
Status = d.LeaveStatus,
|
Status = d.LeaveStatus,
|
||||||
FullName = $"{d.Prefix}{d.FirstName} {d.LastName}",
|
FullName = $"{d.Prefix}{d.FirstName} {d.LastName}",
|
||||||
LeaveEndDate = d.LeaveEndDate,
|
LeaveEndDate = d.LeaveEndDate,
|
||||||
|
|
@ -1536,7 +1542,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveTypeName = item.Type.Name,
|
LeaveTypeName = item.Type.Name,
|
||||||
LeaveSubTypeName = item.LeaveSubTypeName ?? "",
|
LeaveSubTypeName = item.LeaveSubTypeName ?? "",
|
||||||
FullName = $"{item.Prefix}{item.FirstName} {item.LastName}",
|
FullName = $"{item.Prefix}{item.FirstName} {item.LastName}",
|
||||||
DateSendLeave = item.CreatedAt,
|
DateSendLeave = item.DateSendLeave ?? item.CreatedAt,
|
||||||
IsDelete = item.LeaveStatus == "DELETE",
|
IsDelete = item.LeaveStatus == "DELETE",
|
||||||
Status = item.LeaveStatus,
|
Status = item.LeaveStatus,
|
||||||
LeaveStartDate = item.LeaveStartDate,
|
LeaveStartDate = item.LeaveStartDate,
|
||||||
|
|
@ -1711,7 +1717,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveSubTypeName = rawData.LeaveSubTypeName,
|
LeaveSubTypeName = rawData.LeaveSubTypeName,
|
||||||
LeaveTypeId = rawData.Type.Id,
|
LeaveTypeId = rawData.Type.Id,
|
||||||
FullName = $"{rawData.Prefix}{rawData.FirstName} {rawData.LastName}",
|
FullName = $"{rawData.Prefix}{rawData.FirstName} {rawData.LastName}",
|
||||||
DateSendLeave = rawData.CreatedAt,
|
DateSendLeave = rawData.DateSendLeave ?? rawData.CreatedAt,
|
||||||
Status = rawData.LeaveStatus,
|
Status = rawData.LeaveStatus,
|
||||||
LeaveStartDate = rawData.LeaveStartDate,
|
LeaveStartDate = rawData.LeaveStartDate,
|
||||||
LeaveEndDate = rawData.LeaveEndDate,
|
LeaveEndDate = rawData.LeaveEndDate,
|
||||||
|
|
@ -1986,7 +1992,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveSubTypeName = item.LeaveSubTypeName,
|
LeaveSubTypeName = item.LeaveSubTypeName,
|
||||||
FullName = $"{item.Prefix}{item.FirstName} {item.LastName}",
|
FullName = $"{item.Prefix}{item.FirstName} {item.LastName}",
|
||||||
ProfileType = item.ProfileType ?? "-",
|
ProfileType = item.ProfileType ?? "-",
|
||||||
DateSendLeave = item.CreatedAt,
|
DateSendLeave = item.DateSendLeave ?? item.CreatedAt,
|
||||||
Status = item.LeaveStatus,
|
Status = item.LeaveStatus,
|
||||||
CitizenId = item.CitizenId ?? "",
|
CitizenId = item.CitizenId ?? "",
|
||||||
LeaveStartDate = item.LeaveStartDate,
|
LeaveStartDate = item.LeaveStartDate,
|
||||||
|
|
@ -2281,7 +2287,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveSubTypeName = item.LeaveSubTypeName,
|
LeaveSubTypeName = item.LeaveSubTypeName,
|
||||||
ProfileType = item.ProfileType ?? "-",
|
ProfileType = item.ProfileType ?? "-",
|
||||||
FullName = $"{item.Prefix}{item.FirstName} {item.LastName}",
|
FullName = $"{item.Prefix}{item.FirstName} {item.LastName}",
|
||||||
DateSendLeave = item.CreatedAt.Date,
|
DateSendLeave = item.DateSendLeave != null ? item.DateSendLeave.Value.Date : item.CreatedAt.Date,
|
||||||
Status = item.LeaveCancelStatus ?? ""
|
Status = item.LeaveCancelStatus ?? ""
|
||||||
};
|
};
|
||||||
result.Add(res);
|
result.Add(res);
|
||||||
|
|
@ -2830,7 +2836,13 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
var startFiscalYear = new DateTime(rawData.LeaveStartDate.Year - 1, 10, 1);
|
var startFiscalYear = new DateTime(rawData.LeaveStartDate.Year - 1, 10, 1);
|
||||||
var endFiscalYear = rawData.CreatedAt;
|
var endFiscalYear = rawData.CreatedAt;
|
||||||
|
var endFiscalYear2 = new DateTime(rawData.LeaveStartDate.Year, 9, 30);
|
||||||
var leaveSummary = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, startFiscalYear, endFiscalYear);
|
var leaveSummary = await _leaveRequestRepository.GetSumApproveLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, startFiscalYear, endFiscalYear);
|
||||||
|
|
||||||
|
// วันลาแบบร่างและที่ยื่นลาไปแล้ว
|
||||||
|
var leaveDraftSummary = await _leaveRequestRepository.GetSumDraftLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, startFiscalYear, endFiscalYear2);
|
||||||
|
var leaveWaitingSummary = await _leaveRequestRepository.GetSumNewLeaveTotalByTypeAndRangeForUser2(rawData.KeycloakUserId, rawData.Type.Id, startFiscalYear, endFiscalYear2);
|
||||||
|
|
||||||
//var leaveSummary = leaveData == null ? 0.0 : leaveData.LeaveDaysUsed;
|
//var leaveSummary = leaveData == null ? 0.0 : leaveData.LeaveDaysUsed;
|
||||||
if (leaveData != null)
|
if (leaveData != null)
|
||||||
leaveSummary += leaveData.BeginningLeaveDays;
|
leaveSummary += leaveData.BeginningLeaveDays;
|
||||||
|
|
@ -2854,7 +2866,7 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
LeaveSubTypeName = rawData.LeaveSubTypeName,
|
LeaveSubTypeName = rawData.LeaveSubTypeName,
|
||||||
LeaveTypeId = rawData.Type.Id,
|
LeaveTypeId = rawData.Type.Id,
|
||||||
FullName = $"{rawData.Prefix}{rawData.FirstName} {rawData.LastName}",
|
FullName = $"{rawData.Prefix}{rawData.FirstName} {rawData.LastName}",
|
||||||
DateSendLeave = rawData.CreatedAt,
|
DateSendLeave = rawData.DateSendLeave ?? rawData.CreatedAt,
|
||||||
Status = rawData.LeaveStatus,
|
Status = rawData.LeaveStatus,
|
||||||
LeaveStartDate = rawData.LeaveStartDate,
|
LeaveStartDate = rawData.LeaveStartDate,
|
||||||
LeaveEndDate = rawData.LeaveEndDate,
|
LeaveEndDate = rawData.LeaveEndDate,
|
||||||
|
|
@ -2944,7 +2956,10 @@ namespace BMA.EHR.Leave.Service.Controllers
|
||||||
|
|
||||||
LeaveLimit = rawData.Type.Limit + extendLeave,
|
LeaveLimit = rawData.Type.Limit + extendLeave,
|
||||||
LeaveSummary = leaveSummary,
|
LeaveSummary = leaveSummary,
|
||||||
LeaveRemain = (rawData.Type.Limit + extendLeave) - leaveSummary
|
LeaveRemain = (rawData.Type.Limit + extendLeave) - leaveSummary,
|
||||||
|
|
||||||
|
LeaveDraftSummary = leaveDraftSummary,
|
||||||
|
LeaveWaitingSummary = leaveWaitingSummary
|
||||||
};
|
};
|
||||||
|
|
||||||
if (rawData.LeaveDocument != null && rawData.LeaveDocument.Count > 0)
|
if (rawData.LeaveDocument != null && rawData.LeaveDocument.Count > 0)
|
||||||
|
|
|
||||||
|
|
@ -147,6 +147,10 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveRequest
|
||||||
public List<GetLeaveApproverDto> Approvers { get; set; } = new();
|
public List<GetLeaveApproverDto> Approvers { get; set; } = new();
|
||||||
|
|
||||||
public Guid? KeycloakUserId { get; set; } = Guid.Empty;
|
public Guid? KeycloakUserId { get; set; } = Guid.Empty;
|
||||||
|
|
||||||
|
|
||||||
|
public double LeaveDraftSummary { get; set; } = 0;
|
||||||
|
public double LeaveWaitingSummary { get; set; } = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class GetLeaveApproverDto
|
public class GetLeaveApproverDto
|
||||||
|
|
|
||||||
|
|
@ -53,5 +53,8 @@
|
||||||
public string? CurrentZipCode { get; set; }
|
public string? CurrentZipCode { get; set; }
|
||||||
|
|
||||||
public int GovAge { get; set; } = 0;
|
public int GovAge { get; set; } = 0;
|
||||||
|
|
||||||
|
public double LeaveDraftSummary { get; set; } = 0;
|
||||||
|
public double LeaveWaitingSummary { get; set; } = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue