Merge branch 'working' into develop
Some checks failed
release-dev / release-dev (push) Failing after 13s

This commit is contained in:
Suphonchai Phoonsawat 2024-11-12 12:39:14 +07:00
commit 528e9a63e4
8 changed files with 1350 additions and 27 deletions

View file

@ -91,15 +91,15 @@ namespace BMA.EHR.Domain.Models.Leave.Requests
public string CoupleDayLevelCountry { get; set; } = string.Empty;
public string CoupleDayCountryHistory { get; set; } = string.Empty;
public string? CoupleDayCountryHistory { get; set; } = string.Empty;
public string CoupleDayTotalHistory { get; set; } = string.Empty;
public string? CoupleDayTotalHistory { get; set; }
public DateTime CoupleDayStartDateHistory { get; set; } = DateTime.Now;
public DateTime? CoupleDayStartDateHistory { get; set; }
public DateTime CoupleDayEndDateHistory { get; set; } = DateTime.Now;
public DateTime? CoupleDayEndDateHistory { get; set; }
public string CoupleDaySumTotalHistory { get; set; } = string.Empty;
public string? CoupleDaySumTotalHistory { get; set; }
[Required, Comment("สถานะของคำร้อง")]
public string LeaveStatus { get; set; } = string.Empty;

View file

@ -0,0 +1,139 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace BMA.EHR.Infrastructure.Migrations.LeaveDb
{
/// <inheritdoc />
public partial class changecouplehistorydatetonullable : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<string>(
name: "CoupleDayTotalHistory",
table: "LeaveRequests",
type: "longtext",
nullable: true,
oldClrType: typeof(string),
oldType: "longtext")
.Annotation("MySql:CharSet", "utf8mb4")
.OldAnnotation("MySql:CharSet", "utf8mb4");
migrationBuilder.AlterColumn<string>(
name: "CoupleDaySumTotalHistory",
table: "LeaveRequests",
type: "longtext",
nullable: true,
oldClrType: typeof(string),
oldType: "longtext")
.Annotation("MySql:CharSet", "utf8mb4")
.OldAnnotation("MySql:CharSet", "utf8mb4");
migrationBuilder.AlterColumn<DateTime>(
name: "CoupleDayStartDateHistory",
table: "LeaveRequests",
type: "datetime(6)",
nullable: true,
oldClrType: typeof(DateTime),
oldType: "datetime(6)");
migrationBuilder.AlterColumn<DateTime>(
name: "CoupleDayEndDateHistory",
table: "LeaveRequests",
type: "datetime(6)",
nullable: true,
oldClrType: typeof(DateTime),
oldType: "datetime(6)");
migrationBuilder.AlterColumn<string>(
name: "CoupleDayCountryHistory",
table: "LeaveRequests",
type: "longtext",
nullable: true,
oldClrType: typeof(string),
oldType: "longtext")
.Annotation("MySql:CharSet", "utf8mb4")
.OldAnnotation("MySql:CharSet", "utf8mb4");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.UpdateData(
table: "LeaveRequests",
keyColumn: "CoupleDayTotalHistory",
keyValue: null,
column: "CoupleDayTotalHistory",
value: "");
migrationBuilder.AlterColumn<string>(
name: "CoupleDayTotalHistory",
table: "LeaveRequests",
type: "longtext",
nullable: false,
oldClrType: typeof(string),
oldType: "longtext",
oldNullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
.OldAnnotation("MySql:CharSet", "utf8mb4");
migrationBuilder.UpdateData(
table: "LeaveRequests",
keyColumn: "CoupleDaySumTotalHistory",
keyValue: null,
column: "CoupleDaySumTotalHistory",
value: "");
migrationBuilder.AlterColumn<string>(
name: "CoupleDaySumTotalHistory",
table: "LeaveRequests",
type: "longtext",
nullable: false,
oldClrType: typeof(string),
oldType: "longtext",
oldNullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
.OldAnnotation("MySql:CharSet", "utf8mb4");
migrationBuilder.AlterColumn<DateTime>(
name: "CoupleDayStartDateHistory",
table: "LeaveRequests",
type: "datetime(6)",
nullable: false,
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
oldClrType: typeof(DateTime),
oldType: "datetime(6)",
oldNullable: true);
migrationBuilder.AlterColumn<DateTime>(
name: "CoupleDayEndDateHistory",
table: "LeaveRequests",
type: "datetime(6)",
nullable: false,
defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
oldClrType: typeof(DateTime),
oldType: "datetime(6)",
oldNullable: true);
migrationBuilder.UpdateData(
table: "LeaveRequests",
keyColumn: "CoupleDayCountryHistory",
keyValue: null,
column: "CoupleDayCountryHistory",
value: "");
migrationBuilder.AlterColumn<string>(
name: "CoupleDayCountryHistory",
table: "LeaveRequests",
type: "longtext",
nullable: false,
oldClrType: typeof(string),
oldType: "longtext",
oldNullable: true)
.Annotation("MySql:CharSet", "utf8mb4")
.OldAnnotation("MySql:CharSet", "utf8mb4");
}
}
}

View file

@ -233,10 +233,9 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb
.HasColumnType("longtext");
b.Property<string>("CoupleDayCountryHistory")
.IsRequired()
.HasColumnType("longtext");
b.Property<DateTime>("CoupleDayEndDateHistory")
b.Property<DateTime?>("CoupleDayEndDateHistory")
.HasColumnType("datetime(6)");
b.Property<string>("CoupleDayLevel")
@ -255,15 +254,13 @@ namespace BMA.EHR.Infrastructure.Migrations.LeaveDb
.IsRequired()
.HasColumnType("longtext");
b.Property<DateTime>("CoupleDayStartDateHistory")
b.Property<DateTime?>("CoupleDayStartDateHistory")
.HasColumnType("datetime(6)");
b.Property<string>("CoupleDaySumTotalHistory")
.IsRequired()
.HasColumnType("longtext");
b.Property<string>("CoupleDayTotalHistory")
.IsRequired()
.HasColumnType("longtext");
b.Property<DateTime>("CreatedAt")

View file

@ -518,10 +518,10 @@ namespace BMA.EHR.Leave.Service.Controllers
coupleDayPosition = data.CoupleDayPosition,
coupleDayOrganizationName = "-",
coupleDayLevelCountry = data.CoupleDayLevelCountry,
coupleDayCountryHistory = data.CoupleDayCountryHistory,
coupleDayTotalHistory = data.CoupleDayTotalHistory,
coupleDayStartDateHistory = data.CoupleDayStartDateHistory.Date.ToThaiShortDate(),
coupleDayEndDateHistory = data.CoupleDayEndDateHistory.Date.ToThaiShortDate(),
coupleDayCountryHistory = data.CoupleDayCountryHistory ?? "",
coupleDayTotalHistory = data.CoupleDayTotalHistory ?? "",
coupleDayStartDateHistory = data.CoupleDayStartDateHistory == null ? "" : data.CoupleDayStartDateHistory.Value.Date.ToThaiShortDate(),
coupleDayEndDateHistory = data.CoupleDayEndDateHistory == null ? "" : data.CoupleDayEndDateHistory.Value.Date.ToThaiShortDate(),
coupleDaySumTotalHistory = data.CoupleDaySumTotalHistory,

View file

@ -771,6 +771,26 @@ namespace BMA.EHR.Leave.Service.Controllers
var sumApproveLeave = await _leaveRequestRepository.GetSumApproveLeaveByTypeForUserAsync(userId, req.Type, req.StartLeaveDate.Year);
var minLeave = (await _context.Set<LeaveRequest>().Where(x => x.Type.Id == req.Type &&
x.LeaveStatus != "DELETE" && x.LeaveStatus != "REJECT")
.OrderBy(x => x.LeaveStartDate)
.FirstOrDefaultAsync());
var maxLeave = (await _context.Set<LeaveRequest>().Where(x => x.Type.Id == req.Type &&
x.LeaveStatus != "DELETE" && x.LeaveStatus != "REJECT")
.OrderByDescending(x => x.LeaveEndDate)
.FirstOrDefaultAsync());
var isBetween = false;
if (minLeave != null && maxLeave != null)
{
isBetween = (req.StartLeaveDate.Date >= minLeave.LeaveStartDate.Date && req.StartLeaveDate.Date <= maxLeave.LeaveEndDate.Date) ||
(req.EndLeaveDate.Date >= minLeave.LeaveStartDate.Date && req.EndLeaveDate.Date <= maxLeave.LeaveEndDate.Date);
}
var isLeave = false;
switch (leaveType.Code.ToUpper().Trim())
@ -784,10 +804,10 @@ namespace BMA.EHR.Leave.Service.Controllers
isLeave = totalDay <= 90;
break;
case "LV-004":
isLeave = (totalDay - sumWorkDay - sumWeekend) <= 15;
isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= 15;
break;
case "LV-005":
isLeave = (totalDay - sumWorkDay - sumWeekend - sumApproveLeave) <= 10;
isLeave = (totalDay - (sumWorkDay + sumWeekend) + sumApproveLeave) <= 10;
break;
case "LV-006":
isLeave = totalDay <= 120;
@ -864,7 +884,7 @@ namespace BMA.EHR.Leave.Service.Controllers
var result = new GetLeaveCheckResultDto
{
IsLeave = isLeave,
IsLeave = !isBetween ? isLeave : false,
SumDateWork = sumWorkDay,
TotalDate = totalDay,
SumDateHoliday = sumWeekend

View file

@ -105,15 +105,15 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveRequest
public string CoupleDayLevelCountry { get; set; } = string.Empty;
public string CoupleDayCountryHistory { get; set; } = string.Empty;
public string? CoupleDayCountryHistory { get; set; }
public string CoupleDayTotalHistory { get; set; } = string.Empty;
public string? CoupleDayTotalHistory { get; set; }
public DateTime CoupleDayStartDateHistory { get; set; } = DateTime.Now;
public DateTime? CoupleDayStartDateHistory { get; set; }
public DateTime CoupleDayEndDateHistory { get; set; } = DateTime.Now;
public DateTime? CoupleDayEndDateHistory { get; set; }
public string CoupleDaySumTotalHistory { get; set; } = string.Empty;
public string? CoupleDaySumTotalHistory { get; set; }
public string? Dear { get; set; } = string.Empty;

View file

@ -112,15 +112,15 @@ namespace BMA.EHR.Leave.Service.DTOs.LeaveRequest
public string CoupleDayLevelCountry { get; set; } = string.Empty;
public string CoupleDayCountryHistory { get; set; } = string.Empty;
public string? CoupleDayCountryHistory { get; set; }
public string CoupleDayTotalHistory { get; set; } = string.Empty;
public string? CoupleDayTotalHistory { get; set; }
public DateTime CoupleDayStartDateHistory { get; set; } = DateTime.Now;
public DateTime? CoupleDayStartDateHistory { get; set; }
public DateTime CoupleDayEndDateHistory { get; set; } = DateTime.Now;
public DateTime? CoupleDayEndDateHistory { get; set; }
public string CoupleDaySumTotalHistory { get; set; } = string.Empty;
public string? CoupleDaySumTotalHistory { get; set; }
public string Dear { get; set; } = string.Empty;