diff --git a/CompanyManagment.App.Contracts/ClassificationScheme/EditEmployeeGroup.cs b/CompanyManagment.App.Contracts/ClassificationScheme/EditEmployeeGroup.cs
index 0d4ed7bd..e680c19e 100644
--- a/CompanyManagment.App.Contracts/ClassificationScheme/EditEmployeeGroup.cs
+++ b/CompanyManagment.App.Contracts/ClassificationScheme/EditEmployeeGroup.cs
@@ -100,5 +100,10 @@ public class EditEmployeeGroupList
///
public long SchemeId { get; set; }
+ ///
+ /// شماره گروه
+ ///
+ public string GroupNo { get; set; }
+
}
\ No newline at end of file
diff --git a/CompanyManagment.App.Contracts/YearlySalary/BaseYearDataViewModel.cs b/CompanyManagment.App.Contracts/YearlySalary/BaseYearDataViewModel.cs
index 058e3dc2..b4f9a358 100644
--- a/CompanyManagment.App.Contracts/YearlySalary/BaseYearDataViewModel.cs
+++ b/CompanyManagment.App.Contracts/YearlySalary/BaseYearDataViewModel.cs
@@ -94,4 +94,9 @@ public class BaseYearDataList
/// آیا تاریخ پایان کار دارد
///
public bool HasLeftWork { get; set; }
+
+ ///
+ /// شماره گروه
+ ///
+ public string GroupNo { get; set; }
}
\ No newline at end of file
diff --git a/CompanyManagment.EFCore/Repository/ClassificationEmployeeRepository.cs b/CompanyManagment.EFCore/Repository/ClassificationEmployeeRepository.cs
index 70605d41..a855e97f 100644
--- a/CompanyManagment.EFCore/Repository/ClassificationEmployeeRepository.cs
+++ b/CompanyManagment.EFCore/Repository/ClassificationEmployeeRepository.cs
@@ -185,7 +185,7 @@ public class ClassificationEmployeeRepository : RepositoryBase
public async Task> GetEmployeeMemberizeData(long employeeId)
{
- return await _context.ClassificationEmployees.Where(x => x.EmployeeId == employeeId).Select(x=> new EditEmployeeGroupList
+ return await _context.ClassificationEmployees.Where(x => x.EmployeeId == employeeId).Include(x=>x.ClassificationGroup).Select(x=> new EditEmployeeGroupList
{
Id = x.id,
WorkshopId = x.WorkshopId,
@@ -196,6 +196,8 @@ public class ClassificationEmployeeRepository : RepositoryBasex.StartGroupDate).ToListAsync();
diff --git a/CompanyManagment.EFCore/Repository/ClassificationSchemeRepository.cs b/CompanyManagment.EFCore/Repository/ClassificationSchemeRepository.cs
index 1707ef00..1935b6a9 100644
--- a/CompanyManagment.EFCore/Repository/ClassificationSchemeRepository.cs
+++ b/CompanyManagment.EFCore/Repository/ClassificationSchemeRepository.cs
@@ -100,6 +100,39 @@ public class ClassificationSchemeRepository :RepositoryBasex.ClassificationGroup)
+ .Where(x => x.WorkshopId == workshopId && x.EmployeeId == employeeId).OrderBy(x=>x.StartGroupDate)
+ .Select(x=> new{x.StartGroupDate, x.EndGroupDate, x.ClassificationGroup.GroupNo})
+ .OrderByDescending(x=>x.StartGroupDate)
+ .ToListAsync();
+ var employeeGroupMemberData = new List<(DateTime startGroupDate, DateTime EndGroupDate, string GroupNo)>();
+ if (employeeGroupMember.Any())
+ {
+
+ var lastGroup = employeeGroupMember.FirstOrDefault();
+ foreach (var group in employeeGroupMember)
+ {
+ if (group == lastGroup)
+ {
+
+ employeeGroupMemberData.Add(new ValueTuple(group.StartGroupDate.Value, contractEnd, group.GroupNo));
+ }
+ else
+ {
+ var endOfGroup = employeeGroupMemberData.Last().startGroupDate.AddDays(-1);
+ employeeGroupMemberData.Add(new ValueTuple(group.StartGroupDate.Value, endOfGroup, group.GroupNo));
+
+ }
+ }
+
+ }
+
+
+
+
+
+
//لیست شروع بکار / ترک کار پرسنل
@@ -325,7 +358,7 @@ public class ClassificationSchemeRepository :RepositoryBase();
+ var baseList = new List<(double baseYaer, DateTime start, DateTime end, string baseYearPay, DateTime baseYearPayGr, string year, bool hasStartWork, bool hasLeftWork, string groupNo)>();
if (baseYearDateList.Count > 0)
@@ -335,8 +368,11 @@ public class ClassificationSchemeRepository :RepositoryBase x.StartDate <= firstBaseYearDate && x.EndDate >= firstBaseYearDate);
var firstClassifiedBaseYear = classifiedBaseYearList.FirstOrDefault(x => x.StartDate <= firstBaseYearDate && x.EndDate >= firstBaseYearDate);
-
+
//پایه سنوات سال جاری
+ var firstGroupData = employeeGroupMemberData.FirstOrDefault(x => x.startGroupDate <= firstBaseYearDate && x.EndGroupDate >= firstBaseYearDate);
+
+ groupNo = firstGroupData.GroupNo;
var firstBasicObject = Tools.GetDynamicDouble(firstClassifiedBaseYear, $"Group{groupNo}");
double firstBasic = firstBasicObject != null ? firstBasicObject.Value : 0;
var firstfixFeePercentage = firstbasicSalari
@@ -350,7 +386,7 @@ public class ClassificationSchemeRepository :RepositoryBase x.StartDate > firstbasicSalari.EndDate).ToList();
- var first = (firstBasic, firstbasicSalari.StartDate, firstbasicSalari.EndDate, firstBaseYearDate.ToFarsi(), firstBaseYearDate, firstbasicSalari.Year, false, false);
+ var first = (firstBasic, firstbasicSalari.StartDate, firstbasicSalari.EndDate, firstBaseYearDate.ToFarsi(), firstBaseYearDate, firstbasicSalari.Year, false, false, $"گروه {groupNo}");
baseList.Add(first);
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine($"{1398} -> firstBasic : {firstBasic}");
@@ -396,6 +432,11 @@ public class ClassificationSchemeRepository :RepositoryBase x.startGroupDate <= currentBaseYear.EndDate && x.EndGroupDate >= currentBaseYear.StartDate);
+
+ groupNo = transferGroupData.GroupNo;
+
var currentBasicObject = Tools.GetDynamicDouble(currentBaseYear, $"Group{groupNo}");
double currentBasic = currentBasicObject != null ? currentBasicObject.Value : 0;
//var currentBasic = currentSalary
@@ -428,7 +469,7 @@ public class ClassificationSchemeRepository :RepositoryBase x.BaseYearPayDayGr).ToList(),
};
diff --git a/ServiceHost/Areas/Admin/Pages/Company/Workshops/ClassificationScheme.cshtml b/ServiceHost/Areas/Admin/Pages/Company/Workshops/ClassificationScheme.cshtml
index 4b958fde..fec146c2 100644
--- a/ServiceHost/Areas/Admin/Pages/Company/Workshops/ClassificationScheme.cshtml
+++ b/ServiceHost/Areas/Admin/Pages/Company/Workshops/ClassificationScheme.cshtml
@@ -5,6 +5,7 @@