Merge branch 'develop'
All checks were successful
Build & Deploy Leave Service / build (push) Successful in 1m10s

This commit is contained in:
harid 2025-12-15 14:29:42 +07:00
commit d703337b4b
3 changed files with 57 additions and 16 deletions

View file

@ -20,8 +20,6 @@ namespace BMA.EHR.Infrastructure
public static IServiceCollection AddLeavePersistence(this IServiceCollection services,
IConfiguration configuration)
{
// leave db context
var connectionStringLeave = configuration.GetConnectionString("LeaveConnection");
@ -31,6 +29,10 @@ namespace BMA.EHR.Infrastructure
{
b.MigrationsAssembly(typeof(LeaveDbContext).Assembly.FullName);
b.MigrationsHistoryTable("__LeaveMigrationsHistory");
b.EnableRetryOnFailure(
maxRetryCount: 5,
maxRetryDelay: System.TimeSpan.FromSeconds(30),
errorNumbersToAdd: null);
}),
ServiceLifetime.Transient);
@ -43,8 +45,6 @@ namespace BMA.EHR.Infrastructure
public static IServiceCollection AddDisciplinePersistence(this IServiceCollection services,
IConfiguration configuration)
{
// discipline db context
var connectionStringDiscipline = configuration.GetConnectionString("DisciplineConnection");
@ -54,7 +54,10 @@ namespace BMA.EHR.Infrastructure
{
b.MigrationsAssembly(typeof(DisciplineDbContext).Assembly.FullName);
b.MigrationsHistoryTable("__DisciplineMigrationsHistory");
b.EnableRetryOnFailure(
maxRetryCount: 5,
maxRetryDelay: System.TimeSpan.FromSeconds(30),
errorNumbersToAdd: null);
}),
ServiceLifetime.Transient);
@ -67,8 +70,6 @@ namespace BMA.EHR.Infrastructure
IConfiguration configuration)
{
services.AddTransient<MinIOService>();
var connectionString = configuration.GetConnectionString("DefaultConnection");
services.AddDbContext<ApplicationDBContext>(options =>
@ -77,9 +78,14 @@ namespace BMA.EHR.Infrastructure
{
b.MigrationsAssembly(typeof(ApplicationDBContext).Assembly.FullName);
b.MigrationsHistoryTable("__EHRMigrationsHistory");
b.EnableRetryOnFailure(
maxRetryCount: 5,
maxRetryDelay: System.TimeSpan.FromSeconds(30),
errorNumbersToAdd: null);
}),
ServiceLifetime.Transient);
services.AddTransient<IApplicationDBContext>(provider => provider.GetService<ApplicationDBContext>());
@ -91,6 +97,10 @@ namespace BMA.EHR.Infrastructure
{
b.MigrationsAssembly(typeof(ApplicationDBExamContext).Assembly.FullName);
b.MigrationsHistoryTable("__EHRMigrationsHistory");
b.EnableRetryOnFailure(
maxRetryCount: 5,
maxRetryDelay: System.TimeSpan.FromSeconds(30),
errorNumbersToAdd: null);
}),
ServiceLifetime.Transient);

View file

@ -2373,9 +2373,30 @@ namespace BMA.EHR.Leave.Service.Controllers
//var endTime = DateTimeOffset.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")}T{duty.EndTimeAfternoon}:00.0000000+07:00").ToLocalTime().DateTime;
var endTime = DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")}T{duty.EndTimeAfternoon}:00.0000000+07:00");
 //var endTime = DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")}T{duty.EndTimeAfternoon}:00.0000000+07:00");
var endTime = DateTime.Parse($"{DateTime.Now.Date.ToString("yyyy-MM-dd")} {duty.EndTimeAfternoon}");
var status = string.Empty;
if(lastCheckIn == null)
{
status = "ABSENT";
}
else if (lastCheckIn.CheckIn.Date < DateTime.Now.Date)
{
status = "NORMAL";
}
else
{
if (time < endTime)
{
status = "ABSENT";
}
else
{
status = "NORMAL";
}
}
var status = lastCheckIn == null ? "ABSENT" : lastCheckIn.CheckIn.Date < DateTime.Now.Date ? "NORMAL" : time < endTime ? "ABSENT" : "NORMAL";
//var status = lastCheckIn == null ? "ABSENT" : lastCheckIn.CheckIn.Date < DateTime.Now.Date ? "NORMAL" : time < endTime ? "ABSENT" : "NORMAL";
return Success(new
{

View file

@ -2079,11 +2079,20 @@ namespace BMA.EHR.Leave.Service.Controllers
remarkStr += "ครึ่งวันบ่าย";
// var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
// if (leaveRangeEnd == "MORNING")
// remarkStr += "ครึ่งวันเช้า";
// else if (leaveRangeEnd == "AFTERNOON")
// remarkStr += "ครึ่งวันบ่าย";
var leaveRangeEnd = leaveReq.LeaveRangeEnd == null ? "" : leaveReq.LeaveRangeEnd.ToUpper();
if (leaveRangeEnd == "MORNING")
remarkStr += "ครึ่งวันเช้า";
else if (leaveRangeEnd == "AFTERNOON")
remarkStr += "ครึ่งวันบ่าย";
if(leaveRange != leaveRangeEnd)
{
if (leaveRangeEnd == "MORNING")
remarkStr += " - ครึ่งวันเช้า";
else if (leaveRangeEnd == "AFTERNOON")
remarkStr += " - ครึ่งวันบ่าย";
}
break;
default:
remarkStr += leaveReq.Type.Name;
@ -2158,8 +2167,8 @@ namespace BMA.EHR.Leave.Service.Controllers
timeStamps.CheckOut != null ?
timeStamps.CheckOut.Value.ToThaiFullDate2() :
"",
checkInTimeRaw = timeStamps?.CheckIn,
checkOutTimeRaw = timeStamps?.CheckOut,
checkInTimeRaw = timeStamps == null ? dd.date.Date : timeStamps?.CheckIn,
checkOutTimeRaw = timeStamps == null ? dd.date.Date : timeStamps?.CheckOut != null ? timeStamps?.CheckOut : null,
};
if (timeStamps != null)
@ -2195,7 +2204,8 @@ namespace BMA.EHR.Leave.Service.Controllers
count++;
}
}
employees = employees.OrderBy(x => x.checkInDate).ThenBy(x => x.checkInTimeRaw ?? DateTime.MaxValue).ThenBy(x => x.checkOutTimeRaw ?? DateTime.MaxValue).ToList();
//employees = employees.OrderBy(x => x.checkInDate).ThenBy(x => x.checkInTimeRaw ?? DateTime.MaxValue).ThenBy(x => x.checkOutTimeRaw ?? DateTime.MaxValue).ToList();
employees = employees.OrderBy(x => x.checkInTimeRaw ?? DateTime.MaxValue).ThenBy(x => x.checkOutTimeRaw ?? DateTime.MaxValue).ToList();
for (int i = 0; i < employees.Count; i++)
{
employees[i].no = i + 1;