From 2bdfdb366e5db78fbbae889576b28deb35e4eed4 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Tue, 15 Jul 2025 15:39:32 +0330 Subject: [PATCH] fix create employee by client --- .../EmployeeAplication.cs | 177 +++++++++--------- .../_Partials/WorkshopSettingGrouping.cshtml | 2 +- .../pages/Employees/js/CreateEmployeeModal.js | 5 +- 3 files changed, 95 insertions(+), 89 deletions(-) diff --git a/CompanyManagment.Application/EmployeeAplication.cs b/CompanyManagment.Application/EmployeeAplication.cs index acf86fe6..c36fc1e5 100644 --- a/CompanyManagment.Application/EmployeeAplication.cs +++ b/CompanyManagment.Application/EmployeeAplication.cs @@ -60,7 +60,7 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli private readonly IEmployeeClientTempRepository _employeeClientTempRepository; private readonly ICustomizeWorkshopGroupSettingsRepository _customizeWorkshopGroupSettingsRepository; private readonly IEmployeeAuthorizeTempRepository _employeeAuthorizeTempRepository; - private readonly ILeftWorkInsuranceRepository _leftWorkInsuranceRepository ; + private readonly ILeftWorkInsuranceRepository _leftWorkInsuranceRepository; public EmployeeAplication(IEmployeeRepository employeeRepository, CompanyContext context, IWorkshopRepository workShopRepository, IWebHostEnvironment webHostEnvironment, IRollCallEmployeeStatusApplication rollCallEmployeeStatusApplication, IRollCallEmployeeRepository rollCallEmployeeRepository, ICustomizeWorkshopSettingsApplication customizeWorkshopSettingsApplication, IEmployeeDocumentsApplication employeeDocumentsApplication, IEmployeeDocumentsRepository employeeDocumentsRepository, IEmployeeBankInformationApplication employeeBankInformationApplication, ILeftWorkTempRepository leftWorkTempRepository, IUidService uidService, ICustomizeWorkshopEmployeeSettingsRepository customizeWorkshopEmployeeSettingsRepository, IPersonnelCodeRepository personnelCodeRepository, IEmployeeClientTempRepository employeeClientTempRepository, ICustomizeWorkshopGroupSettingsRepository customizeWorkshopGroupSettingsRepository, ILeftWorkRepository leftWorkRepository, IEmployeeAuthorizeTempRepository employeeAuthorizeTempRepository, ILeftWorkInsuranceRepository leftWorkInsuranceRepository) : base(context) { @@ -105,7 +105,7 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli //} - + if (command.Address != null && command.State == null) { @@ -198,9 +198,9 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli } } - - + + string initial = "1300/10/11"; var dateOfBirth = command.DateOfBirth != null ? command.DateOfBirth.ToGeorgianDateTime() : initial.ToGeorgianDateTime(); var dateOfIssue = command.DateOfIssue != null ? command.DateOfIssue.ToGeorgianDateTime() : initial.ToGeorgianDateTime(); @@ -225,7 +225,7 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli return opration.Succcedded(employeeData.id); - + } public OperationResult Edit(EditEmployee command) @@ -240,7 +240,7 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli return opration.Failed("امکان ثبت رکورد تکراری وجود ندارد"); //if (_EmployeeRepository.Exists(x => x.IdNumber == command.IdNumber && x.IdNumber != null && x.id != command.Id)) // return opration.Failed("شماره شناسنامه وارد شده تکراری است"); - + if (command.Address != null && command.State == null) { StatCity = false; @@ -332,7 +332,7 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli } } - + string initial = "1300/10/11"; var dateOfBirth = command.DateOfBirth != null ? command.DateOfBirth.ToGeorgianDateTime() : initial.ToGeorgianDateTime(); var dateOfIssue = command.DateOfIssue != null ? command.DateOfIssue.ToGeorgianDateTime() : initial.ToGeorgianDateTime(); @@ -340,7 +340,7 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli dateOfIssue, command.PlaceOfIssue, command.NationalCode, command.IdNumber, command.Gender, command.Nationality, command.Phone, command.Address, - command.State,command.City, command.MaritalStatus, command.MilitaryService, command.LevelOfEducation, + command.State, command.City, command.MaritalStatus, command.MilitaryService, command.LevelOfEducation, command.FieldOfStudy, command.BankCardNumber, command.BankBranch, command.InsuranceCode, command.InsuranceHistoryByYear, command.InsuranceHistoryByMonth, command.NumberOfChildren, command.OfficePhone @@ -353,7 +353,7 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli return opration.Succcedded(); - + } public EditEmployee GetDetails(long id) @@ -399,8 +399,8 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli public async Task> Search(EmployeeSearchModel searchModel) { - var res=await _EmployeeRepository.Search(searchModel); - + var res = await _EmployeeRepository.Search(searchModel); + foreach (var item in res) { var children = _context.EmployeeChildrenSet.Count(x => x.EmployeeId == item.Id); @@ -996,7 +996,7 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli //{ // return op.Failed("این پرسنل قبلا افزوده شده است و در انتظار تایید میباشد"); //} - + var employee = _EmployeeRepository.GetByNationalCodeIgnoreQueryFilter(command.NationalCode); @@ -1004,16 +1004,16 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli if (employee == null && command.CanceledAuthorize) { - var birthDate = command.BirthDate.ToGeorgianDateTime(); - var dateOfIssue = new DateTime(1922, 1, 1); + var birthDate = command.BirthDate.ToGeorgianDateTime(); + var dateOfIssue = new DateTime(1922, 1, 1); - employee = new Employee(command.FirstName, command.LastName, null, birthDate, - dateOfIssue, null, command.NationalCode, null, command.Gender, "ایرانی", null, null); - _EmployeeRepository.Create(employee); + employee = new Employee(command.FirstName, command.LastName, null, birthDate, + dateOfIssue, null, command.NationalCode, null, command.Gender, "ایرانی", null, null); + _EmployeeRepository.Create(employee); _EmployeeRepository.SaveChanges(); } - if (employee == null) + if (employee == null) { return op.Failed("خطای سیستمی. لطفا دوباره تلاش کنید . درصورت تکرار این مشکل با تیم پشتیبان تماس بگیرید"); } @@ -1027,9 +1027,9 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli var startLeftWork = command.StartLeftWork.ToGeorgianDateTime(); var leftWorkViewModel = _leftWorkRepository.GetLastLeftWorkByEmployeeIdAndWorkshopId(command.WorkshopId, employee.id); - - PersonnelCodeDomain personnelCode = null; + + PersonnelCodeDomain personnelCode = null; if (leftWorkViewModel != null) { if (leftWorkViewModel.HasLeft == false && leftWorkViewModel.LeftWorkDate > DateTime.Now) @@ -1044,16 +1044,16 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli } else { - var insuranceLeftWork = - _leftWorkInsuranceRepository.GetLastLeftWorkByEmployeeIdAndWorkshopId(command.WorkshopId, employee.id); - if (insuranceLeftWork == null) - { - var lastPersonnelCodeByWorkshop = - _personnelCodeRepository.GetLastPersonnelCodeByWorkshop(command.WorkshopId); + var insuranceLeftWork = + _leftWorkInsuranceRepository.GetLastLeftWorkByEmployeeIdAndWorkshopId(command.WorkshopId, employee.id); + if (insuranceLeftWork == null) + { + var lastPersonnelCodeByWorkshop = + _personnelCodeRepository.GetLastPersonnelCodeByWorkshop(command.WorkshopId); - personnelCode = new PersonnelCodeDomain(command.WorkshopId, - employee.id, lastPersonnelCodeByWorkshop + 1); - } + personnelCode = new PersonnelCodeDomain(command.WorkshopId, + employee.id, lastPersonnelCodeByWorkshop + 1); + } } var leftWorkTemp = LeftWorkTemp.CreateStartWork(command.WorkshopId, employee.id, startLeftWork, command.JobId); @@ -1068,22 +1068,23 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli } - if (string.IsNullOrWhiteSpace(command.RollCallUploadEmployeePicture?.Picture1) == false && - string.IsNullOrWhiteSpace(command.RollCallUploadEmployeePicture?.Picture2) == false) + if ((string.IsNullOrWhiteSpace(command.RollCallUploadEmployeePicture?.Picture1) == false && + string.IsNullOrWhiteSpace(command.RollCallUploadEmployeePicture?.Picture2) == false) && + command.CreateCustomizeEmployeeSettings.GroupId > 0) { var directoryPath = $"{_webHostEnvironment.ContentRootPath}\\Faces\\{command.WorkshopId}\\{employee.id}"; if (!Directory.Exists(directoryPath)) Directory.CreateDirectory(directoryPath); var filePath1 = Path.Combine(directoryPath) + $@"\1.jpg"; - - CreateImageFromBase64(command.RollCallUploadEmployeePicture.Picture1, filePath1); - + + CreateImageFromBase64(command.RollCallUploadEmployeePicture.Picture1, filePath1); + var filePath2 = Path.Combine(directoryPath) + $@"\2.jpg"; - - CreateImageFromBase64(command.RollCallUploadEmployeePicture.Picture2, filePath2); - + + CreateImageFromBase64(command.RollCallUploadEmployeePicture.Picture2, filePath2); + var rollCallEmployee = @@ -1119,7 +1120,8 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli if (_customizeWorkshopEmployeeSettingsRepository .Exists(x => x.WorkshopId == workshop.Id && x.EmployeeId == employee.id)) { - _customizeWorkshopEmployeeSettingsRepository.RemoveByWorkshopIdAndEmployeeId(workshop.Id, employee.id); + _customizeWorkshopEmployeeSettingsRepository.RemoveByWorkshopIdAndEmployeeId(workshop.Id, + employee.id); } command.CreateCustomizeEmployeeSettings.EmployeeIds = [employee.id]; @@ -1141,49 +1143,52 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli } } } - else if (command.CreateCustomizeEmployeeSettings.GroupId > 0) + else if (command.CreateCustomizeEmployeeSettings.GroupId > 0 || + (string.IsNullOrWhiteSpace(command.RollCallUploadEmployeePicture?.Picture1) == false && + string.IsNullOrWhiteSpace(command.RollCallUploadEmployeePicture?.Picture2) == false)) { - if (_customizeWorkshopEmployeeSettingsRepository - .Exists(x => x.WorkshopId == workshop.Id && x.EmployeeId == employee.id)) - { - _customizeWorkshopEmployeeSettingsRepository.RemoveByWorkshopIdAndEmployeeId(workshop.Id, employee.id); - } + return op.Failed("برای استفاده از حضورغیاب، تب گروهبندی و آپلودعکس را تکمیل کنید"); + //if (_customizeWorkshopEmployeeSettingsRepository + // .Exists(x => x.WorkshopId == workshop.Id && x.EmployeeId == employee.id)) + //{ + // _customizeWorkshopEmployeeSettingsRepository.RemoveByWorkshopIdAndEmployeeId(workshop.Id, employee.id); + //} - command.CreateCustomizeEmployeeSettings.EmployeeIds = [employee.id]; - command.CreateCustomizeEmployeeSettings.WorkshopId = command.WorkshopId; - var resultCreateEmployeeSettings = - _customizeWorkshopSettingsApplication.CreateEmployeesSettingsAndSetChanges( - command.CreateCustomizeEmployeeSettings); - if (resultCreateEmployeeSettings.IsSuccedded == false) - { - return resultCreateEmployeeSettings; - } + //command.CreateCustomizeEmployeeSettings.EmployeeIds = [employee.id]; + //command.CreateCustomizeEmployeeSettings.WorkshopId = command.WorkshopId; + //var resultCreateEmployeeSettings = + // _customizeWorkshopSettingsApplication.CreateEmployeesSettingsAndSetChanges( + // command.CreateCustomizeEmployeeSettings); + //if (resultCreateEmployeeSettings.IsSuccedded == false) + //{ + // return resultCreateEmployeeSettings; + //} - var rollCallEmployee = - _rollCallEmployeeRepository.GetBy(employee.id, command.WorkshopId); + //var rollCallEmployee = + // _rollCallEmployeeRepository.GetBy(employee.id, command.WorkshopId); - if (rollCallEmployee == null) - { - if (_employeeClientTempRepository.Exists(x => - x.EmployeeId == employee.id && x.WorkshopId == command.WorkshopId)) - { + //if (rollCallEmployee == null) + //{ + // if (_employeeClientTempRepository.Exists(x => + // x.EmployeeId == employee.id && x.WorkshopId == command.WorkshopId)) + // { - rollCallEmployee = new RollCallEmployee(command.WorkshopId, employee.id, employee.FName, - employee.LName); - } - else - { - rollCallEmployee = - new RollCallEmployee(command.WorkshopId, employee.id, employee.FName, employee.LName); - } - _rollCallEmployeeRepository.Create(rollCallEmployee); - _rollCallEmployeeRepository.SaveChanges(); + // rollCallEmployee = new RollCallEmployee(command.WorkshopId, employee.id, employee.FName, + // employee.LName); + // } + // else + // { + // rollCallEmployee = + // new RollCallEmployee(command.WorkshopId, employee.id, employee.FName, employee.LName); + // } + // _rollCallEmployeeRepository.Create(rollCallEmployee); + // _rollCallEmployeeRepository.SaveChanges(); - } } + command.EmployeeDocumentItems = command.EmployeeDocumentItems ?? []; var employeeDocumentResult = _employeeDocumentsApplication.AddRangeEmployeeDocumentItemsByClient(command.WorkshopId, @@ -1259,8 +1264,8 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli if (personalInfo.ResponseContext.Status.Code == 14) { - return op.Failed("سامانه احراز هویت در دسترس نمیباشد لطفا اطلاعات پرسنل را به صورت دستی وارد کنید",new EmployeeByNationalCodeInWorkshopViewModel(){AuthorizedCanceled = true}); - } + return op.Failed("سامانه احراز هویت در دسترس نمیباشد لطفا اطلاعات پرسنل را به صورت دستی وارد کنید", new EmployeeByNationalCodeInWorkshopViewModel() { AuthorizedCanceled = true }); + } if (personalInfo.ResponseContext.Status.Code != 0) { return op.Failed("کد ملی و تاریخ تولد با هم همخانی ندارند"); @@ -1530,9 +1535,9 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli { employee.EditAuthorizeEmployee(employee.DateOfIssue, employee.PlaceOfIssue, employee.Phone, employee.Address, employee.State, employee.City, command.MaritalStatus, - command.MilitaryService, employee.LevelOfEducation, employee.FieldOfStudy, + command.MilitaryService, employee.LevelOfEducation, employee.FieldOfStudy, employee.BankCardNumber, employee.BankBranch, employee.InsuranceCode, - employee.InsuranceHistoryByYear, employee.InsuranceHistoryByMonth, employee.NumberOfChildren, + employee.InsuranceHistoryByYear, employee.InsuranceHistoryByMonth, employee.NumberOfChildren, employee.OfficePhone, employee.MclsUserName, employee.MclsPassword, employee.EserviceUserName, employee.EservicePassword, employee.TaxOfficeUserName, employee.TaxOfficepassword, employee.SanaUserName, employee.SanaPassword); @@ -1660,19 +1665,19 @@ public class EmployeeAplication : RepositoryBase, IEmployeeAppli } - #endregion + #endregion - #region Api + #region Api - public async Task> GetSelectList(string searchText) - { - return await _EmployeeRepository.GetSelectList(searchText); - } + public async Task> GetSelectList(string searchText) + { + return await _EmployeeRepository.GetSelectList(searchText); + } - public async Task> GetList(GetEmployeeListSearchModel searchModel) - { - return await _EmployeeRepository.GetList(searchModel); - } + public async Task> GetList(GetEmployeeListSearchModel searchModel) + { + return await _EmployeeRepository.GetList(searchModel); + } - #endregion + #endregion } \ No newline at end of file diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/_Partials/WorkshopSettingGrouping.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/_Partials/WorkshopSettingGrouping.cshtml index 6ff38ac0..430828d3 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/_Partials/WorkshopSettingGrouping.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/_Partials/WorkshopSettingGrouping.cshtml @@ -324,7 +324,7 @@
- + diff --git a/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/CreateEmployeeModal.js b/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/CreateEmployeeModal.js index 13b7bb96..823a7130 100644 --- a/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/CreateEmployeeModal.js +++ b/ServiceHost/wwwroot/AssetsClient/pages/Employees/js/CreateEmployeeModal.js @@ -414,8 +414,9 @@ function saveFullData() { var command = $('#create-form').serializeArray(); command.forEach(function (item) { formData.append(item.name, item.value); - }); - + }); + var groupId = $("#GroupId").val() + debugger; formData.append("Command.CreateCustomizeEmployeeSettings.BreakTime.HasBreakTimeValue", $('#BreakTime').prop('checked') || $('#BreakTimeFirst').prop('checked') ? "true" : "false"); formData.append("Command.CreateCustomizeEmployeeSettings.BreakTime.BreakTimeValue", $("#TimeOnly").val());