From aeebb983a476ad9b5b544fad59846a84f567577c Mon Sep 17 00:00:00 2001 From: MahanCh Date: Mon, 19 May 2025 17:48:13 +0330 Subject: [PATCH] recalculate values grouping --- .../RollCallApplication.cs | 2 +- .../Pages/Company/RollCall/Grouping.cshtml.cs | 48 +++++++----- .../Company/RollCall/ModalEditGroup.cshtml | 2 +- .../ConfirmEmployeeChangeModal.cshtml | 73 ++++++++++--------- .../RollCall/js/ConfirmEmployeeChange.js | 70 ++++++++++-------- .../pages/RollCall/js/Grouping.js | 3 + .../pages/RollCall/js/ModalEditGroup.js | 12 ++- 7 files changed, 123 insertions(+), 87 deletions(-) diff --git a/CompanyManagment.Application/RollCallApplication.cs b/CompanyManagment.Application/RollCallApplication.cs index 03879c1b..4d3796cd 100644 --- a/CompanyManagment.Application/RollCallApplication.cs +++ b/CompanyManagment.Application/RollCallApplication.cs @@ -827,7 +827,7 @@ public class RollCallApplication : IRollCallApplication rollCall.SetEndDateTime(rollCall.EndDate!.Value, _rollCallDomainService); } } - + _rollCallRepository.SaveChanges(); return operationResult.Succcedded(); } diff --git a/ServiceHost/Areas/Client/Pages/Company/RollCall/Grouping.cshtml.cs b/ServiceHost/Areas/Client/Pages/Company/RollCall/Grouping.cshtml.cs index 2b8be490..012db567 100644 --- a/ServiceHost/Areas/Client/Pages/Company/RollCall/Grouping.cshtml.cs +++ b/ServiceHost/Areas/Client/Pages/Company/RollCall/Grouping.cshtml.cs @@ -38,7 +38,7 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall public CustomizeWorkshopSettingsViewModel RollCallWorkshopSettings; public List RollCallEmployeeList; - public GroupingModel(IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, ICustomizeWorkshopSettingsApplication rollCallWorkshopSettingsApplication, IEmployeeApplication employeeApplication, IHttpContextAccessor contextAccessor, IAuthHelper authHelper, IRollCallEmployeeApplication rollCallEmployeeApplication, IRollCallApplication rollCallApplication) + public GroupingModel(IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, ICustomizeWorkshopSettingsApplication rollCallWorkshopSettingsApplication, IEmployeeApplication employeeApplication, IHttpContextAccessor contextAccessor, IAuthHelper authHelper, IRollCallEmployeeApplication rollCallEmployeeApplication, IRollCallApplication rollCallApplication) { _passwordHasher = passwordHasher; _workshopApplication = workshopApplication; @@ -249,8 +249,22 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall public IActionResult OnGetEmployeesHaveToChange(long groupId, bool isChange) { - var result = _customizeWorkshopSettingsApplication.GetEmployeeSettingsByGroupSettingsId(groupId) - .Where(x => x.IsSettingChanged = isChange).ToList(); + var result = _customizeWorkshopSettingsApplication.GetEmployeeSettingsByGroupSettingsId(groupId) + .Where(x => x.IsSettingChanged = isChange).ToList(); + return new JsonResult(new + { + success = true, + data = result + }); + } + + public IActionResult OnGetEmployeesForRecalculateValues(long groupId, bool getChanged) + { + var result = _customizeWorkshopSettingsApplication.GetEmployeeSettingsByGroupSettingsId(groupId).ToList(); + if (getChanged ==false) + { + result = result.Where(x => !x.IsShiftChanged).ToList(); + } return new JsonResult(new { success = true, @@ -260,8 +274,8 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall public IActionResult OnPostChangeEditEmployee(EditCustomizeEmployeeSettings command, List reCalculateCommand) { - command.WorkshopId = _workshopId; - OperationResult result = _customizeWorkshopSettingsApplication.EditSimpleRollCallEmployeeSetting(command, reCalculateCommand); + command.WorkshopId = _workshopId; + OperationResult result = _customizeWorkshopSettingsApplication.EditSimpleRollCallEmployeeSetting(command, reCalculateCommand); return new JsonResult(new { success = result.IsSuccedded, @@ -280,14 +294,14 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall public IActionResult OnPostReCalculateValues(List command) { - var result = _rollCallApplication.RecalculateValues(_workshopId, command); + var result = _rollCallApplication.RecalculateValues(_workshopId, command); - return new JsonResult(new - { - success = result.IsSuccedded, - message = result.Message - }); - } + return new JsonResult(new + { + success = result.IsSuccedded, + message = result.Message + }); + } public IActionResult OnGetDownloadExcel() { @@ -361,13 +375,13 @@ namespace ServiceHost.Areas.Client.Pages.Company.RollCall public IActionResult OnPostValidateGroupEdit(List command) { - var result = _customizeWorkshopSettingsApplication.ValidateReCalculateValueForGroupEdit(command, _workshopId); - return new JsonResult(new - { - success = result.IsSuccedded, + var result= _customizeWorkshopSettingsApplication.ValidateReCalculateValueForGroupEdit(command,_workshopId); + return new JsonResult(new + { + success = result.IsSuccedded, message = result.Message, data = result.Data - }); + }); } // public IActionResult OnGetGroupingSetting(long groupId) diff --git a/ServiceHost/Areas/Client/Pages/Company/RollCall/ModalEditGroup.cshtml b/ServiceHost/Areas/Client/Pages/Company/RollCall/ModalEditGroup.cshtml index 00728add..47606ccf 100644 --- a/ServiceHost/Areas/Client/Pages/Company/RollCall/ModalEditGroup.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/RollCall/ModalEditGroup.cshtml @@ -488,4 +488,4 @@ var ajaxReCalculateValuesUrl = `@Url.Page("./Grouping", "ReCalculateValues")`; - \ No newline at end of file + \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/RollCall/_Partials/ConfirmEmployeeChangeModal.cshtml b/ServiceHost/Areas/Client/Pages/Company/RollCall/_Partials/ConfirmEmployeeChangeModal.cshtml index c190fecc..16d95897 100644 --- a/ServiceHost/Areas/Client/Pages/Company/RollCall/_Partials/ConfirmEmployeeChangeModal.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/RollCall/_Partials/ConfirmEmployeeChangeModal.cshtml @@ -4,59 +4,60 @@ } + \ No newline at end of file diff --git a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/ConfirmEmployeeChange.js b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/ConfirmEmployeeChange.js index 1a621d3a..82dc353b 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/ConfirmEmployeeChange.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/ConfirmEmployeeChange.js @@ -22,7 +22,7 @@ // datePattern: ['Y', 'm', 'd'] // }); - loadEmployeeIsChangeAjax(); + loadEmployeeIsChangeAjax(); }); function loadEmployeeIsChangeAjax() { @@ -72,16 +72,20 @@ function loadEmployeeIsChangeAjax() { }); } - +var getChangedGlobal = false; function ajaxConfirm() { - saveDataLocal(); - employeeList(); var isYesCheck = $('#YesConfirm').is(':checked'); if (isYesCheck) { - $('#ConfirmModal').show(); + getChangedGlobal = true; + //$('#ConfirmModal').show(); } else { - postChangeEditGroup(); + getChangedGlobal = false; + //postChangeEditGroup(); } + + $('#ConfirmModal').show(); + saveDataLocal(); + employeeList(); } @@ -94,18 +98,21 @@ function employeeList() { contentType: 'charset=utf-8', dataType: 'json', type: 'GET', - url: ajaxEmployeesHaveToChangeUrl, - data: { 'groupId': groupId, 'isChange': isChange }, + url: ajaxEmployeesForRecalculateValuesUrl, + data: { 'groupId': groupId, 'getChanged': getChangedGlobal }, headers: { "RequestVerificationToken": `${antiForgeryToken}` }, success: function (response) { var employeeList = response.data; var index = 1; if (response.success) { - employeeList.forEach(function (item) { - htmlEmployeeList += `
+ if (employeeList.length > 0) { + employeeList.forEach(function(item) { + htmlEmployeeList += + `
${index++} - ${item.name} + ${item.name + }
@@ -126,25 +133,30 @@ function employeeList() {
`; - }); - - $('#employeeTable').html(htmlEmployeeList); - - - - $('.dateInput').each(function () { - new Cleave(this, { - delimiters: ['/', '/'], - blocks: [4, 2, 2], - numericOnly: true }); - // new Cleave(this, { - // date: true, - // datePattern: ['Y', 'm', 'd'] - // }); - $(this).val(dateNow); - }); + $('#employeeTable').html(htmlEmployeeList); + + + $('.dateInput').each(function() { + new Cleave(this, + { + delimiters: ['/', '/'], + blocks: [4, 2, 2], + numericOnly: true + }); + // new Cleave(this, { + // date: true, + // datePattern: ['Y', 'm', 'd'] + // }); + + $(this).val(dateNow); + }); + } else { + $('#ConfirmModal').hide(); + ajaxSaveSubmit(); + } + } }, failure: function (response) { @@ -154,7 +166,7 @@ function employeeList() { } $('#initialDateInput').on('input', function () { - $('.dateInput').mask('0000/00/00') + $('.dateInput').mask('0000/00/00'); //new Cleave('.dateInput', { // delimiters: ['/', '/'], // blocks: [4, 2, 2], diff --git a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/Grouping.js b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/Grouping.js index c317aca0..e85360f2 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/Grouping.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/Grouping.js @@ -371,6 +371,9 @@ function loadEmployeeAjax(groupSettingId) { $(`#loadEmployeeItemsMobile_${groupSettingId}`).html(htmlEmpty); } } + + console.log('-----------------------------------------------'); + console.log(isShiftChangedGlobal); }, failure: function (response) { console.log(5, response); diff --git a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/ModalEditGroup.js b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/ModalEditGroup.js index 502811ba..7a329e6b 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/ModalEditGroup.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/RollCall/js/ModalEditGroup.js @@ -747,17 +747,18 @@ function timeValidCheck(value) { //******************** برای نوشتن تاریخ ******************** -function ajaxEditGroupingSaveData() { +async function ajaxEditGroupingSaveData() { if ($('#Name').val() === "") { showAlert('لطفا نام گروه را وارد نمایید', $('#Name')); return; } - if (isShiftChangedGlobal) { $('#ConfirmEmployeeModal').show(); } else { - ajaxSaveSubmit(); + $('#ConfirmModal').show(); + saveDataLocal(); + employeeList(); } } @@ -805,6 +806,11 @@ function saveDataLocal() { } //var hasBreakTime = $("#BreakTime").prop("checked") ? "true" : "false"; var breakTimeValue = $("#TimeOnly").val(); + + //var isShiftChanged = 'true'; + //if ($('#YesConfirm').prop("checked") || $('#NotConfirm').prop("checked")) { + // isShiftChanged = $('#YesConfirm').prop("checked") ? "true" : "false"; + //} var isShiftChanged = $('#YesConfirm').prop("checked") ? "true" : "false";