From 53e93bd410e210a5208c9774135fdc786630fa63 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Sun, 25 May 2025 17:40:36 +0330 Subject: [PATCH 1/3] cahnge salaryAidOrderBy --- .../SalaryAidGroupedByDateViewModel.cs | 2 + .../SalaryAid/SalaryAidViewModel.cs | 3 +- .../Repository/SalaryAidRepository.cs | 44 ++++++++++++------- 3 files changed, 31 insertions(+), 18 deletions(-) diff --git a/CompanyManagment.App.Contracts/SalaryAid/SalaryAidGroupedByDateViewModel.cs b/CompanyManagment.App.Contracts/SalaryAid/SalaryAidGroupedByDateViewModel.cs index 15072cfb..a725e31f 100644 --- a/CompanyManagment.App.Contracts/SalaryAid/SalaryAidGroupedByDateViewModel.cs +++ b/CompanyManagment.App.Contracts/SalaryAid/SalaryAidGroupedByDateViewModel.cs @@ -6,6 +6,8 @@ public class SalaryAidGroupedByDateViewModel { public string MonthFa { get; set; } public string YearFa { get; set; } + public int Month { get; set; } + public int Year { get; set; } public List SalaryAidViewModels { get; set; } public string TotalAmount { get; set; } diff --git a/CompanyManagment.App.Contracts/SalaryAid/SalaryAidViewModel.cs b/CompanyManagment.App.Contracts/SalaryAid/SalaryAidViewModel.cs index d8ca7715..60416006 100644 --- a/CompanyManagment.App.Contracts/SalaryAid/SalaryAidViewModel.cs +++ b/CompanyManagment.App.Contracts/SalaryAid/SalaryAidViewModel.cs @@ -15,7 +15,8 @@ public class SalaryAidViewModel public string CalculationDateTimeFa { get; set; } public DateTime CalculationDateTimeGe { get; set; } - + public int Month { get; set; } + public int Year { get; set; } public string EmployeeFullName { get; set; } public string PersonnelCode { get; set; } diff --git a/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs b/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs index ba9df547..caf85912 100644 --- a/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs +++ b/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs @@ -117,21 +117,29 @@ public class SalaryAidRepository : RepositoryBase, ISalaryAidRe } query = query.Where(x => x.EmployeeId == searchModel.EmployeeId); - var list = query.ToList().Select(x => new SalaryAidViewModel + var list = query.ToList().Select(x => { - Amount = x.Amount.ToMoney(), - AmountDouble = x.Amount, - EmployeeFullName = employees.FirstOrDefault(e => e.id == x.EmployeeId).FullName, - EmployeeId = x.EmployeeId, - CreationDate = x.CreationDate.ToFarsi(), - Id = x.id, - MonthFa = pc.GetMonth(x.CalculationDate).ToFarsiMonthByIntNumber(), - YearFa = pc.GetYear(x.CalculationDate).ToString(), - PersonnelCode = personnelCodes.FirstOrDefault(p => p.EmployeeId == x.EmployeeId).PersonnelCode.ToString(), - SalaryAidDateTimeFa = x.SalaryAidDateTime.ToFarsi(), - SalaryAidDateTimeGe = x.SalaryAidDateTime, - WorkshopId = x.WorkshopId - + var monthInt = pc.GetMonth(x.CalculationDate); + var yearInt = pc.GetYear(x.CalculationDate); + return new SalaryAidViewModel + { + Amount = x.Amount.ToMoney(), + AmountDouble = x.Amount, + EmployeeFullName = employees.FirstOrDefault(e => e.id == x.EmployeeId).FullName, + EmployeeId = x.EmployeeId, + CreationDate = x.CreationDate.ToFarsi(), + Id = x.id, + MonthFa = monthInt.ToFarsiMonthByIntNumber(), + YearFa = yearInt.ToString(), + Month = monthInt, + Year = yearInt, + PersonnelCode = personnelCodes.FirstOrDefault(p => p.EmployeeId == x.EmployeeId).PersonnelCode + .ToString(), + SalaryAidDateTimeFa = x.SalaryAidDateTime.ToFarsi(), + SalaryAidDateTimeGe = x.SalaryAidDateTime, + WorkshopId = x.WorkshopId, + CalculationDateTimeGe = x.CalculationDate + }; }).ToList(); result.GroupedByDate = list.GroupBy(x => new { x.YearFa, x.MonthFa }).Select(x => new SalaryAidGroupedByDateViewModel() @@ -144,10 +152,12 @@ public class SalaryAidRepository : RepositoryBase, ISalaryAidRe EmployeeName = s.EmployeeFullName, Id = s.Id, PersonnelCode = s.PersonnelCode, - SalaryAidDateTimeFa = s.SalaryAidDateTimeFa + SalaryAidDateTimeFa = s.SalaryAidDateTimeFa, }).ToList(), + Year = x.First().Year, + Month = x.First().Month, TotalAmount = x.Sum(s => s.AmountDouble).ToMoney() - }).ToList(); + }).OrderByDescending(x => x.Year).ThenByDescending(x=>x.Month).ToList(); return result; } else if (!string.IsNullOrWhiteSpace(searchModel.StartDate) && @@ -187,7 +197,7 @@ public class SalaryAidRepository : RepositoryBase, ISalaryAidRe query = query.Where(x => x.SalaryAidDateTime >= startDate && x.SalaryAidDateTime <= endDate); } - result.SalaryAidListViewModels = query.OrderByDescending(x => x.CreationDate).Skip(searchModel.PageIndex).Take(30).ToList().Select( + result.SalaryAidListViewModels = query.OrderByDescending(x => x.SalaryAidDateTime).Skip(searchModel.PageIndex).Take(30).ToList().Select( x => new SalaryAidViewModel() { Amount = x.Amount.ToMoney(), From 406212a1f073288373660342c37e25d07674cbd8 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Sun, 25 May 2025 18:01:41 +0330 Subject: [PATCH 2/3] fix task --- .../TaskApplication.cs | 3 +- AccountManagement.Domain/AssignAgg/Assign.cs | 28 ++++++++++++++----- .../Repository/TaskRepository.cs | 18 ++++++------ 3 files changed, 32 insertions(+), 17 deletions(-) diff --git a/AccountManagement.Application/TaskApplication.cs b/AccountManagement.Application/TaskApplication.cs index a3da6bd2..40ff24a8 100644 --- a/AccountManagement.Application/TaskApplication.cs +++ b/AccountManagement.Application/TaskApplication.cs @@ -597,7 +597,7 @@ public class TaskApplication : ITaskApplication } - + assign.AcceptTimeRequest(); message = string.IsNullOrWhiteSpace(message) ? "درخواست شما مورد تایید قرار گرفت" : message; var messageEntity = new TaskMessage(message, "تایید درخواست مهلت", assign.id); @@ -622,6 +622,7 @@ public class TaskApplication : ITaskApplication { return operation.Failed("چنین وظیفه ای درخواستی برای مهلت ندارد"); } + assign.RejectTimeRequest(); if (assign.EndTaskDate.Date <= DateTime.Now.Date) { diff --git a/AccountManagement.Domain/AssignAgg/Assign.cs b/AccountManagement.Domain/AssignAgg/Assign.cs index bb31be00..6f1a5810 100644 --- a/AccountManagement.Domain/AssignAgg/Assign.cs +++ b/AccountManagement.Domain/AssignAgg/Assign.cs @@ -71,14 +71,16 @@ public class Assign : EntityBase public void AcceptTimeRequest() { - TimeRequest = false; + ClearRequests(); + TimeRequest = false; AcceptedTimeRequest++; EndTaskDate = RequestDate < DateTime.Today ? DateTime.Today : RequestDate.Value; } public void RejectTimeRequest() { - TimeRequest = false; + ClearRequests(); + TimeRequest = false; TimeRequestDescription = null; RequestDate = null; } @@ -92,31 +94,36 @@ public class Assign : EntityBase } public void AcceptCancelRequest() { - IsCanceledRequest = false; + ClearRequests(); + IsCanceledRequest = false; IsCancel = true; } public void RejectCancel() { - CancelDescription = null; + ClearRequests(); + CancelDescription = null; IsCanceledRequest = false; } public void CompleteRequest(string? doneDescription) { - DoneDescription = doneDescription; + ClearRequests(); + DoneDescription = doneDescription; IsDoneRequest = true; } public void RejectCompleteRequest() { - IsDoneRequest = false; + ClearRequests(); + IsDoneRequest = false; DoneDescription = null; } public void Completed() { - IsDoneRequest = false; + ClearRequests(); + IsDoneRequest = false; IsDone = true; } @@ -128,6 +135,13 @@ public class Assign : EntityBase TimeRequest = false; } + public void ClearRequests() + { + IsDoneRequest = false; + IsCanceledRequest = false; + TimeRequest = false; + } + public void InsertNewData(DateTime endTaskDate,bool timeRequest,int acceptedTimeRequest,DateTime? requestDate, string timeRequestDescription, bool isCanceledRequest, bool isCancel,string cancelDescription,bool isDone,bool isDoneRequest,string? doneDescription) { diff --git a/AccountMangement.Infrastructure.EFCore/Repository/TaskRepository.cs b/AccountMangement.Infrastructure.EFCore/Repository/TaskRepository.cs index 84e805e5..e3dd4faa 100644 --- a/AccountMangement.Infrastructure.EFCore/Repository/TaskRepository.cs +++ b/AccountMangement.Infrastructure.EFCore/Repository/TaskRepository.cs @@ -900,7 +900,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository AcceptedTimeRequest = x.AcceptedTimeRequest, IsCancelRequest = x.IsCancelRequest, ContractingPartyName = x.ContractingPartyName, - Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel, false), + Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel,false), MediaCount = x.MediaCount, HasAttachment = x.MediaCount > 0, SelfName = x.SelfName, @@ -1866,7 +1866,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository .Include(x => x.Task).ThenInclude(x => x.TaskSchedule) .Where(x => x.Task.IsActiveString == "true" && x.Task.SenderId == accountId - && x.Task.TaskScheduleId != null && x.Task.TaskScheduleId > 0 && (!x.IsCanceledRequest && !x.TimeRequest && !x.IsDoneRequest) && x.Task.TaskSchedule.IsActive == IsActive.True); + && x.Task.TaskScheduleId != null && x.Task.TaskScheduleId > 0 && (!x.IsCanceledRequest && !x.TimeRequest && !x.IsDoneRequest) && x.Task.TaskSchedule.IsActive== IsActive.True); if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch)) { raw = raw.Where(x => @@ -2153,7 +2153,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository return final; } - public string SetTasksColors(DateTime date, bool isCancel, bool hasRequest) + public string SetTasksColors(DateTime date, bool isCancel,bool hasRequest) { if (hasRequest) return "red"; @@ -2735,7 +2735,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository var raw = _accountContext.Assigns.Include(x => x.Task).ThenInclude(x => x.TaskMedias) .ThenInclude(x => x.Media) .Where(x => - x.Task.IsActiveString == "true" && x.AssignedId == accountId && x.Task.TicketId == null); + x.Task.IsActiveString == "true" && x.AssignedId == accountId && x.Task.TicketId == null &&!x.IsDoneRequest && !x.IsCanceledRequest); if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch)) { raw = raw.Where(x => @@ -2768,7 +2768,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository MediaCount = _accountContext.TaskMedias.Count(m => m.TaskId == x.Task.id), Description = x.Task.Description, IsDoneRequest = x.IsDoneRequest, - + }); if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch)) { @@ -2878,8 +2878,8 @@ public class TaskRepository : RepositoryBase, ITaskRepository var orderResult = result.OrderBy(x => x.IsDone || x.IsCancel) - .ThenByDescending(x => x.EndTaskDateGE <= today.AddDays(1) && !x.HasRequest) - .ThenByDescending(x => x.HasRequest) + .ThenByDescending(x => x.EndTaskDateGE <= today.AddDays(1) && !x.RequestTime) + .ThenByDescending(x => x.RequestTime) .ThenBy(x => x.EndTaskDateGE); // مرتب‌سازی داخلی بر اساس تاریخ @@ -2915,7 +2915,6 @@ public class TaskRepository : RepositoryBase, ITaskRepository SelfName = x.SelfName, Description = x.Description, IsDoneRequest = x.IsDoneRequest, - HasRequest = x.IsDoneRequest || x.RequestTime || x.IsCancelRequest }).ToList(); @@ -2943,7 +2942,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository AcceptedTimeRequest = x.AcceptedTimeRequest, IsCancelRequest = x.IsCancelRequest, ContractingPartyName = x.ContractingPartyName, - Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel, x.HasRequest), + Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel,x.RequestTime), MediaCount = x.MediaCount, HasAttachment = x.MediaCount > 0, SelfName = x.SelfName, @@ -3003,6 +3002,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository AssignedPositionValue = 0 }, HasRequest = x.IsCancelRequest || x.RequestTime || x.IsDoneRequest + }).ToList(); return final; } From 2c6512faa21acccfad273896b88ee13e42cb6e44 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Sun, 25 May 2025 18:17:39 +0330 Subject: [PATCH 3/3] task create modal changes --- .../Pages/Company/Task/Index.cshtml.cs | 32 +++- .../Pages/Company/Ticket/Index.cshtml | 54 ++++--- .../Tasks/js/CreateScheduleModal.js | 4 +- .../wwwroot/AssetsAdminNew/Ticket/js/Index.js | 21 ++- .../Ticket/js/detailTicketModal.js | 153 +----------------- 5 files changed, 73 insertions(+), 191 deletions(-) diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/Task/Index.cshtml.cs b/ServiceHost/Areas/AdminNew/Pages/Company/Task/Index.cshtml.cs index aae0e959..bb20d2a6 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/Task/Index.cshtml.cs +++ b/ServiceHost/Areas/AdminNew/Pages/Company/Task/Index.cshtml.cs @@ -786,7 +786,37 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.Task } } - public IActionResult OnGetChatMessageDetailsTask(long assignId, long taskId) + public IActionResult OnGetCreateSimpleModal() + { + var positionValue = _authHelper.CurrentAccountInfo().PositionValue == null + ? 0 + : _authHelper.CurrentAccountInfo().PositionValue; + + if (positionValue > 0) + { + if (_authHelper.GetPermissions().Any(x => x == 903)) + { + var model = new CreateTaskModal() + { + AccountsList = _accountApplication.GetAccountEqualToLowerPositionValue(), + PositionViewModels = _positionApplication.GetLowerPosition(), + DateFa = DateTime.Now.ToFarsi(), + Id = _authHelper.CurrentAccountId() + }; + return Partial("CreateModal", model); + } + else + { + return Forbid(); + } + } + else + { + return Forbid(); + } + } + + public IActionResult OnGetChatMessageDetailsTask(long assignId, long taskId) { var result = _taskApplication.GetTaskMessages(assignId); diff --git a/ServiceHost/Areas/AdminNew/Pages/Company/Ticket/Index.cshtml b/ServiceHost/Areas/AdminNew/Pages/Company/Ticket/Index.cshtml index 6b2ca62d..2de9a688 100644 --- a/ServiceHost/Areas/AdminNew/Pages/Company/Ticket/Index.cshtml +++ b/ServiceHost/Areas/AdminNew/Pages/Company/Ticket/Index.cshtml @@ -24,7 +24,8 @@ - + @* *@ +