diff --git a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopEmployeeSettingsViewModel.cs b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopEmployeeSettingsViewModel.cs index 6ee51967..072038b8 100644 --- a/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopEmployeeSettingsViewModel.cs +++ b/CompanyManagment.App.Contracts/CustomizeWorkshopSettings/CustomizeWorkshopEmployeeSettingsViewModel.cs @@ -25,4 +25,5 @@ public class CustomizeWorkshopEmployeeSettingsViewModel public int LeavePermittedDays { get; set; } public ICollection CustomizeRotatingShiftsViewModels { get; set; } public List WeeklyOffDays { get; set; } + public bool HasLeft { get; set; } } \ No newline at end of file diff --git a/CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs b/CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs index 462284ff..f39cd204 100644 --- a/CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs +++ b/CompanyManagment.EFCore/Repository/CustomizeWorkshopGroupSettingsRepository.cs @@ -19,39 +19,41 @@ using Microsoft.EntityFrameworkCore; namespace CompanyManagment.EFCore.Repository; -public class CustomizeWorkshopGroupSettingsRepository(CompanyContext companyContext, IRollCallEmployeeRepository _rollCallEmployeeRepository) +public class CustomizeWorkshopGroupSettingsRepository( + CompanyContext companyContext, + IRollCallEmployeeRepository _rollCallEmployeeRepository) : RepositoryBase(companyContext), ICustomizeWorkshopGroupSettingsRepository { private readonly CompanyContext _companyContext = companyContext; private readonly IRollCallEmployeeRepository _rollCallEmployeeRepository = _rollCallEmployeeRepository; + public CustomizeWorkshopGroupSettings GetIncludeWorkshopSettings(long id) { - return _companyContext.CustomizeWorkshopGroupSettings.AsSplitQuery().Include(x => x.CustomizeWorkshopSettings) - .FirstOrDefault(x => x.id == id); + .FirstOrDefault(x => x.id == id); } public CustomizeWorkshopGroupSettings GetWorkshopMainGroup(long workshopId) { - return _companyContext.CustomizeWorkshopGroupSettings - .Include(x=>x.CustomizeWorkshopSettings) - .Include(x=> x.CustomizeWorkshopEmployeeSettingsCollection) - .AsSplitQuery().FirstOrDefault(x => x.MainGroup && x.CustomizeWorkshopSettings.WorkshopId == workshopId); + return _companyContext.CustomizeWorkshopGroupSettings + .Include(x => x.CustomizeWorkshopSettings) + .Include(x => x.CustomizeWorkshopEmployeeSettingsCollection) + .AsSplitQuery().FirstOrDefault(x => x.MainGroup && x.CustomizeWorkshopSettings.WorkshopId == workshopId); } public List GetEmployeesWithoutGroup(long customizeWorkshopSettingId) { - var workshopSettings = _companyContext.CustomizeWorkshopSettings.Find(customizeWorkshopSettingId); + var workshopSettings = _companyContext.CustomizeWorkshopSettings.Find(customizeWorkshopSettingId); if (workshopSettings == null) return new(); var existsEmployees = _companyContext.CustomizeWorkshopEmployeeSettings - .AsSplitQuery().Include(x=>x.CustomizeWorkshopGroupSettings) - .Where(x => x.WorkshopId == workshopSettings.WorkshopId && !x.CustomizeWorkshopGroupSettings.MainGroup) - .Select(x=>x.EmployeeId).ToList(); - + .AsSplitQuery().Include(x => x.CustomizeWorkshopGroupSettings) + .Where(x => x.WorkshopId == workshopSettings.WorkshopId && !x.CustomizeWorkshopGroupSettings.MainGroup) + .Select(x => x.EmployeeId).ToList(); + var workshopId = workshopSettings.WorkshopId; var rollCallEmployees = _rollCallEmployeeRepository.GetActivePersonnelByWorkshopId(workshopId); @@ -81,79 +83,81 @@ public class CustomizeWorkshopGroupSettingsRepository(CompanyContext companyCont var dateNow = DateTime.Now.Date; - //var existsEmployees = _companyContext.CustomizeWorkshopEmployeeSettings - // .AsSplitQuery().Include(x => x.CustomizeWorkshopGroupSettings) - // .Where(x => x.WorkshopId == workshopId && !x.CustomizeWorkshopGroupSettings.MainGroup) - // .Select(x => x.EmployeeId).ToList(); + //var existsEmployees = _companyContext.CustomizeWorkshopEmployeeSettings + // .AsSplitQuery().Include(x => x.CustomizeWorkshopGroupSettings) + // .Where(x => x.WorkshopId == workshopId && !x.CustomizeWorkshopGroupSettings.MainGroup) + // .Select(x => x.EmployeeId).ToList(); - //var rollCallEmployees = _rollCallEmployeeRepository.GetActivePersonnelByWorkshopId(workshopId); + //var rollCallEmployees = _rollCallEmployeeRepository.GetActivePersonnelByWorkshopId(workshopId); - //var employees = rollCallEmployees - // .Where(x => !existsEmployees.Contains(x.EmployeeId)) - // .Select(x => new EmployeeViewModel() - // { - // EmployeeFullName = x.EmployeeFullName, - // Id = x.EmployeeId - // }).ToList(); + //var employees = rollCallEmployees + // .Where(x => !existsEmployees.Contains(x.EmployeeId)) + // .Select(x => new EmployeeViewModel() + // { + // EmployeeFullName = x.EmployeeFullName, + // Id = x.EmployeeId + // }).ToList(); - var employees = _companyContext.RollCallEmployees - .Include(x => - x.EmployeesStatus) - .Where( - x => - x.WorkshopId == workshopId && - x.EmployeesStatus.Any(y => y.StartDate.Date <= dateNow && y.EndDate.Date > dateNow) && - x.HasUploadedImage == "true") - .GroupJoin(_companyContext.CustomizeWorkshopEmployeeSettings - .AsSplitQuery() - .Include(x => x.CustomizeWorkshopGroupSettings) - .Where(x => !x.CustomizeWorkshopGroupSettings.MainGroup && x.WorkshopId == workshopId), rollCallEmployee => rollCallEmployee.EmployeeId, - cws => cws.EmployeeId, - (rollCallEmployee, cws) => new { rollCallEmployee, cws }) - .SelectMany(x => x.cws.DefaultIfEmpty(), (x, cws) => new { x.rollCallEmployee, cws }) - .Where(x => x.cws == null).Select(x=> new EmployeeViewModel() - { + var employees = _companyContext.RollCallEmployees + .Include(x => + x.EmployeesStatus) + .Where(x => + x.WorkshopId == workshopId && + x.EmployeesStatus.Any(y => y.StartDate.Date <= dateNow && y.EndDate.Date > dateNow) && + x.HasUploadedImage == "true") + .GroupJoin(_companyContext.CustomizeWorkshopEmployeeSettings + .AsSplitQuery() + .Include(x => x.CustomizeWorkshopGroupSettings) + .Where(x => !x.CustomizeWorkshopGroupSettings.MainGroup && x.WorkshopId == workshopId), + rollCallEmployee => rollCallEmployee.EmployeeId, + cws => cws.EmployeeId, + (rollCallEmployee, cws) => new { rollCallEmployee, cws }) + .SelectMany(x => x.cws.DefaultIfEmpty(), (x, cws) => new { x.rollCallEmployee, cws }) + .Where(x => x.cws == null).Select(x => new EmployeeViewModel() + { EmployeeFullName = x.rollCallEmployee.EmployeeFullName, Id = x.rollCallEmployee.EmployeeId - }); + }); - return employees.ToList(); + return employees.ToList(); } public bool HasAnyEmployeeWithoutGroup(long workshopId) { - var dateNow = DateTime.Now.Date; + var dateNow = DateTime.Now.Date; var leftWork = _companyContext.LeftWorkList.Where(x => x.WorkshopId == workshopId && x.StartWorkDate <= dateNow && x.LeftWorkDate >= dateNow); var rollCallEmployeesWithoutCWS = _companyContext.RollCallEmployees - .Include(x => - x.EmployeesStatus) - .Where( - x => - x.WorkshopId == workshopId && - x.EmployeesStatus.Any(y => y.StartDate.Date <= dateNow && y.EndDate.Date > dateNow) && - x.HasUploadedImage == "true"&& - leftWork.Any(l => l.EmployeeId == x.EmployeeId && l.WorkshopId == x.WorkshopId)) - .GroupJoin(_companyContext.CustomizeWorkshopEmployeeSettings - .AsSplitQuery() - .Include(x => x.CustomizeWorkshopGroupSettings) - .Where(x => !x.CustomizeWorkshopGroupSettings.MainGroup && x.WorkshopId == workshopId), rollCallEmployee => rollCallEmployee.EmployeeId, - cws => cws.EmployeeId, - (rollCallEmployee, cws) => new { rollCallEmployee, cws }) - .SelectMany(x => x.cws.DefaultIfEmpty(), (x, cws) => new { x.rollCallEmployee, cws }) - .Any(x => x.cws == null); - - return rollCallEmployeesWithoutCWS; + .Include(x => + x.EmployeesStatus) + .Where(x => + x.WorkshopId == workshopId && + x.EmployeesStatus.Any(y => y.StartDate.Date <= dateNow && y.EndDate.Date > dateNow) && + x.HasUploadedImage == "true" && + leftWork.Any(l => l.EmployeeId == x.EmployeeId && l.WorkshopId == x.WorkshopId)) + .GroupJoin(_companyContext.CustomizeWorkshopEmployeeSettings + .AsSplitQuery() + .Include(x => x.CustomizeWorkshopGroupSettings) + .Where(x => !x.CustomizeWorkshopGroupSettings.MainGroup && x.WorkshopId == workshopId), + rollCallEmployee => rollCallEmployee.EmployeeId, + cws => cws.EmployeeId, + (rollCallEmployee, cws) => new { rollCallEmployee, cws }) + .SelectMany(x => x.cws.DefaultIfEmpty(), (x, cws) => new { x.rollCallEmployee, cws }) + .Any(x => x.cws == null); + return rollCallEmployeesWithoutCWS; } + public CustomizeWorkshopGroupSettings GetWithEmployees(long groupId) { - return _companyContext.CustomizeWorkshopGroupSettings.AsSplitQuery().Include(x => x.CustomizeWorkshopEmployeeSettingsCollection) + return _companyContext.CustomizeWorkshopGroupSettings.AsSplitQuery() + .Include(x => x.CustomizeWorkshopEmployeeSettingsCollection) .FirstOrDefault(x => x.id == groupId); } - public List GetShiftChangedEmployeeSettingsByGroupSettingsId(long groupSettingsId) + public List GetShiftChangedEmployeeSettingsByGroupSettingsId( + long groupSettingsId) { var groupEmployeeSettingsList = _companyContext.CustomizeWorkshopGroupSettings .AsSplitQuery().Include(x => x.CustomizeWorkshopEmployeeSettingsCollection) @@ -169,23 +173,26 @@ public class CustomizeWorkshopGroupSettingsRepository(CompanyContext companyCont x.id }).ToList(); - return groupEmployeeSettingsList.Join(employees, x => x.EmployeeId, y => y.id, (x, y) => new CustomizeWorkshopEmployeeSettingsViewModel() - { - EmployeeId = x.EmployeeId, - Id = x.id, - IsShiftChanged = x.IsShiftChanged, - IsSettingChanged = x.IsSettingChanged, - Name = y.FullName, - RollCallWorkshopShifts = x.CustomizeWorkshopEmployeeSettingsShifts.Select(z => new CustomizeWorkshopShiftViewModel() + return groupEmployeeSettingsList.Join(employees, x => x.EmployeeId, y => y.id, (x, y) => + new CustomizeWorkshopEmployeeSettingsViewModel() { - EndTime = z.EndTime.ToString("HH:mm"), - Placement = z.Placement, - StartTime = z.StartTime.ToString("HH:mm") - }).ToList() - }).ToList(); + EmployeeId = x.EmployeeId, + Id = x.id, + IsShiftChanged = x.IsShiftChanged, + IsSettingChanged = x.IsSettingChanged, + Name = y.FullName, + RollCallWorkshopShifts = x.CustomizeWorkshopEmployeeSettingsShifts.Select(z => + new CustomizeWorkshopShiftViewModel() + { + EndTime = z.EndTime.ToString("HH:mm"), + Placement = z.Placement, + StartTime = z.StartTime.ToString("HH:mm") + }).ToList() + }).ToList(); } - public List GetSettingChangedEmployeeSettingsByGroupSettingsId(long groupSettingsId) + public List GetSettingChangedEmployeeSettingsByGroupSettingsId( + long groupSettingsId) { var groupEmployeeSettingsList = _companyContext.CustomizeWorkshopGroupSettings .AsSplitQuery().Include(x => x.CustomizeWorkshopEmployeeSettingsCollection) @@ -201,38 +208,52 @@ public class CustomizeWorkshopGroupSettingsRepository(CompanyContext companyCont x.id }).ToList(); - return groupEmployeeSettingsList.Join(employees, x => x.EmployeeId, y => y.id, (x, y) => new CustomizeWorkshopEmployeeSettingsViewModel() - { - EmployeeId = x.EmployeeId, - Id = x.id, - IsSettingChanged = x.IsSettingChanged, - IsShiftChanged = x.IsShiftChanged, - Name = y.FullName, - RollCallWorkshopShifts = x.CustomizeWorkshopEmployeeSettingsShifts.Select(z => new CustomizeWorkshopShiftViewModel() + return groupEmployeeSettingsList.Join(employees, x => x.EmployeeId, y => y.id, (x, y) => + new CustomizeWorkshopEmployeeSettingsViewModel() { - EndTime = z.EndTime.ToString("HH:mm"), - Placement = z.Placement, - StartTime = z.StartTime.ToString("HH:mm") - }).ToList() - }).ToList(); + EmployeeId = x.EmployeeId, + Id = x.id, + IsSettingChanged = x.IsSettingChanged, + IsShiftChanged = x.IsShiftChanged, + Name = y.FullName, + RollCallWorkshopShifts = x.CustomizeWorkshopEmployeeSettingsShifts.Select(z => + new CustomizeWorkshopShiftViewModel() + { + EndTime = z.EndTime.ToString("HH:mm"), + Placement = z.Placement, + StartTime = z.StartTime.ToString("HH:mm") + }).ToList() + }).ToList(); } public List GetEmployeeSettingsByGroupSettingsId(long groupSettingsId) { - - var entity = _companyContext.CustomizeWorkshopGroupSettings.AsSplitQuery().Include(x=>x.CustomizeWorkshopEmployeeSettingsCollection) - .FirstOrDefault(x => x.id == groupSettingsId); + var entity = _companyContext.CustomizeWorkshopGroupSettings.AsSplitQuery() + .Include(x => x.CustomizeWorkshopEmployeeSettingsCollection) + .FirstOrDefault(x => x.id == groupSettingsId); if (entity == null) return new(); var employees = entity.CustomizeWorkshopEmployeeSettingsCollection; + if (employees.Count == 0) + return []; + + var workshopId = employees.FirstOrDefault()?.WorkshopId??0; + + if (workshopId == 0) + return []; + + + var employeeIds = employees.Select(x => x.EmployeeId).ToList(); - var employeeIds = employees.Select(x => x.EmployeeId); + var names = _companyContext.Employees.Where(x => employeeIds.Contains(x.id)) + .Select(x => new { x.id, x.FullName }).ToList(); - - var names = _companyContext.Employees.Where(x => employeeIds.Contains(x.id)).Select(x => new { x.id, x.FullName }).ToList(); + var leftWork = _companyContext.LeftWorkList.Where(x => + x.WorkshopId == workshopId && + employeeIds.Contains(x.EmployeeId)).ToList(); var joinedList = employees.Join(names, x => x.EmployeeId, y => y.id, (x, y) => new CustomizeWorkshopEmployeeSettingsViewModel @@ -243,82 +264,86 @@ public class CustomizeWorkshopGroupSettingsRepository(CompanyContext companyCont Salary = x.Salary, IsSettingChanged = x.IsSettingChanged, IsShiftChanged = x.IsShiftChanged, - RollCallWorkshopShifts = x.CustomizeWorkshopEmployeeSettingsShifts.Select(z => new CustomizeWorkshopShiftViewModel() - { - EndTime = z.EndTime.ToString("HH:mm"), - StartTime = z.StartTime.ToString("HH:mm"), - Placement = z.Placement - }).ToList(), + RollCallWorkshopShifts = x.CustomizeWorkshopEmployeeSettingsShifts + .Select(z => new CustomizeWorkshopShiftViewModel() + { + EndTime = z.EndTime.ToString("HH:mm"), + StartTime = z.StartTime.ToString("HH:mm"), + Placement = z.Placement + }).ToList(), IrregularShift = x.IrregularShift, WorkshopShiftStatus = x.WorkshopShiftStatus, LeavePermittedDays = x.LeavePermittedDays, CustomizeRotatingShiftsViewModels = x.CustomizeRotatingShifts - .Select(r=> new CustomizeRotatingShiftsViewModel(){StartTime = r.StartTime.ToString("HH:mm") , EndTime =r.EndTime.ToString("HH:mm") }).ToList() - + .Select(r => new CustomizeRotatingShiftsViewModel + { + StartTime = r.StartTime.ToString("HH:mm"), + EndTime = r.EndTime.ToString("HH:mm") + }).ToList(), + HasLeft = leftWork.OrderByDescending(l=>l.StartWorkDate).FirstOrDefault(l => x.EmployeeId == l.EmployeeId)?.HasLeft ?? false }); - return joinedList.ToList(); + return joinedList.OrderBy(x=>x.HasLeft).ToList(); } public EditCustomizeWorkshopGroupSettings GetCustomizeWorkshopGroupSettingsDetails(long groupId) { - var entity = _companyContext.CustomizeWorkshopGroupSettings.AsSplitQuery().FirstOrDefault(x => x.id == groupId); return new EditCustomizeWorkshopGroupSettings() { //FridayWork = entity.FridayWork, - FridayPay = new (){ FridayPayType = entity.FridayPay.FridayPayType, Value = entity.FridayPay.Value }, + FridayPay = new() { FridayPayType = entity.FridayPay.FridayPayType, Value = entity.FridayPay.Value }, LateToWork = new() - { + { LateToWorkTimeFinesVewModels = entity.LateToWork.LateToWorkTimeFines.Select(x => new LateToWorkTimeFineVewModel() { FineMoney = x.FineMoney, Minute = x.Minute }).ToList(), Value = entity.LateToWork.Value, LateToWorkType = entity.LateToWork.LateToWorkType }, HolidayWork = entity.HolidayWork, FineAbsenceDeduction = new() - { + { Value = entity.FineAbsenceDeduction.Value, FineAbsenceDayOfWeekViewModels = entity.FineAbsenceDeduction.FineAbsenceDayOfWeekCollection .Select(x => new FineAbsenceDayOfWeekViewModel() { DayOfWeek = x.DayOfWeek }).ToList(), FineAbsenceDeductionType = entity.FineAbsenceDeduction.FineAbsenceDeductionType }, EarlyExit = new() - { + { EarlyExitTimeFinesViewModels = entity.EarlyExit.EarlyExitTimeFines.Select(x => new EarlyExitTimeFineViewModel() { FineMoney = x.FineMoney, Minute = x.Minute }).ToList(), Value = entity.EarlyExit.Value, EarlyExitType = entity.EarlyExit.EarlyExitType }, BonusesPay = new() - { + { Value = entity.BonusesPay.Value, BonusesPayType = entity.BonusesPay.BonusesPayType, PaymentType = entity.BonusesPay.PaymentType }, ShiftPay = new() - { + { Value = entity.ShiftPay.Value, ShiftPayType = entity.ShiftPay.ShiftPayType, ShiftType = entity.ShiftPay.ShiftType }, InsuranceDeduction = new() - { + { Value = entity.InsuranceDeduction.Value, InsuranceDeductionType = entity.InsuranceDeduction.InsuranceDeductionType }, OverTimePay = new() - { OverTimePayType = entity.OverTimePay.OverTimePayType, Value = entity.OverTimePay.Value }, + { OverTimePayType = entity.OverTimePay.OverTimePayType, Value = entity.OverTimePay.Value }, BaseYearsPay = new() - { + { BaseYearsPayType = entity.BaseYearsPay.BaseYearsPayType, Value = entity.BaseYearsPay.Value }, NightWorkPay = new() - { NightWorkingType = entity.NightWorkPay.NightWorkingType, Value = entity.NightWorkPay.Value }, - LeavePay =new() { Value = entity.LeavePay.Value, LeavePayType = entity.LeavePay.LeavePayType }, + { NightWorkingType = entity.NightWorkPay.NightWorkingType, Value = entity.NightWorkPay.Value }, + LeavePay = new() { Value = entity.LeavePay.Value, LeavePayType = entity.LeavePay.LeavePayType }, MarriedAllowance = new() - { + { Value = entity.MarriedAllowance.Value, MarriedAllowanceType = entity.MarriedAllowance.MarriedAllowanceType }, FamilyAllowance = new() - { + { FamilyAllowanceType = entity.FamilyAllowance.FamilyAllowanceType, Value = entity.FamilyAllowance.Value }, @@ -332,23 +357,27 @@ public class CustomizeWorkshopGroupSettingsRepository(CompanyContext companyCont IsShiftChanged = entity.IsShiftChange, ShiftViewModel = entity.CustomizeWorkshopGroupSettingsShifts.Select(x => new CustomizeWorkshopShiftViewModel() - { EndTime = x.EndTime.ToString("HH:mm"), Placement = x.Placement, StartTime = x.StartTime.ToString("HH:mm") }).ToList(), + { + EndTime = x.EndTime.ToString("HH:mm"), Placement = x.Placement, + StartTime = x.StartTime.ToString("HH:mm") + }).ToList(), LeavePermittedDays = entity.LeavePermittedDays, - CustomizeRotatingShiftsViewModels = entity.CustomizeRotatingShifts.Select(x=> new CustomizeRotatingShiftsViewModel() - { - EndTime = x.EndTime.ToString("HH:mm"), - StartTime = x.StartTime.ToString("HH:mm") - }).ToList(), - OffDayOfWeeks = entity.WeeklyOffDays.Select(x=>x.DayOfWeek).ToList() + CustomizeRotatingShiftsViewModels = entity.CustomizeRotatingShifts.Select(x => + new CustomizeRotatingShiftsViewModel() + { + EndTime = x.EndTime.ToString("HH:mm"), + StartTime = x.StartTime.ToString("HH:mm") + }).ToList(), + OffDayOfWeeks = entity.WeeklyOffDays.Select(x => x.DayOfWeek).ToList() }; - } - public List GetAllGroupsIncludeEmployeeSettingsByWorkshopSettingsId(long workshopSettingsId) + public List GetAllGroupsIncludeEmployeeSettingsByWorkshopSettingsId( + long workshopSettingsId) { - return _companyContext.CustomizeWorkshopGroupSettings - .AsSplitQuery().Include(x => x.CustomizeWorkshopEmployeeSettingsCollection) - .Where(x => x.CustomizeWorkshopSettingId == workshopSettingsId).ToList(); + return _companyContext.CustomizeWorkshopGroupSettings + .AsSplitQuery().Include(x => x.CustomizeWorkshopEmployeeSettingsCollection) + .Where(x => x.CustomizeWorkshopSettingId == workshopSettingsId).ToList(); } public void Remove(long groupId) @@ -360,7 +389,8 @@ public class CustomizeWorkshopGroupSettingsRepository(CompanyContext companyCont _companyContext.SaveChanges(); } - public CustomizeWorkshopGroupSettingsViewModel GetEmployeesGroupSettingsByEmployeeId(long employeeId, long workshopId) + public CustomizeWorkshopGroupSettingsViewModel GetEmployeesGroupSettingsByEmployeeId(long employeeId, + long workshopId) { return _companyContext.CustomizeWorkshopGroupSettings .Include(x => x.CustomizeWorkshopEmployeeSettingsCollection) diff --git a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/Grouping.js b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/Grouping.js index e85360f2..52da40fa 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/Grouping.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/Grouping.js @@ -254,14 +254,14 @@ function loadEmployeeAjax(groupSettingId) { `; - + console.log(responseDataEmployee); responseDataEmployee.forEach(function (itemEmployee) { if (itemEmployee.isShiftChanged === true) { isShiftChangedGlobal = true; } htmlEmployee += `
-
+