merged loan and SalaryAid to OfficialCheckout
This commit is contained in:
@@ -906,30 +906,39 @@ public static class Tools
|
||||
string result = "";
|
||||
switch (value)
|
||||
{
|
||||
case "1":
|
||||
case "01":
|
||||
result = "فروردین";
|
||||
break;
|
||||
case "2":
|
||||
case "02":
|
||||
result = "اردیبهشت";
|
||||
break;
|
||||
case "3":
|
||||
case "03":
|
||||
result = "خرداد";
|
||||
break;
|
||||
case "4":
|
||||
case "04":
|
||||
result = "تیر";
|
||||
break;
|
||||
case "5":
|
||||
case "05":
|
||||
result = "مرداد";
|
||||
break;
|
||||
case "6":
|
||||
case "06":
|
||||
result = "شهریور";
|
||||
break;
|
||||
case "7":
|
||||
case "07":
|
||||
result = "مهر";
|
||||
break;
|
||||
case "8":
|
||||
case "08":
|
||||
result = "آبان";
|
||||
break;
|
||||
case "9":
|
||||
case "09":
|
||||
result = "آذر";
|
||||
break;
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Domain;
|
||||
using Company.Domain.CheckoutAgg.ValueObjects;
|
||||
using Company.Domain.CustomizeCheckoutAgg.ValueObjects;
|
||||
using Company.Domain.WorkshopAgg;
|
||||
|
||||
namespace Company.Domain.CheckoutAgg;
|
||||
@@ -21,7 +25,11 @@ public class Checkout : EntityBase
|
||||
double salaryAidDeduction, double absenceDeduction, string sumOfWorkingDays
|
||||
, string archiveCode, string personnelCode,
|
||||
string totalClaims, string totalDeductions, double totalPayment, string signature, double marriedAllowance, bool leaveCheckout,
|
||||
double creditLeaves, double absencePeriod, double averageHoursPerDay, bool hasRollCall, string overTimeWorkvalue, string overNightWorkValue, string fridayWorkValue, string rotatingShifValue, string absenceValue, string totalDayOfLeaveCompute, string totalDayOfYearsCompute, string totalDayOfBunosesCompute)
|
||||
double creditLeaves, double absencePeriod, double averageHoursPerDay, bool hasRollCall, string overTimeWorkvalue,
|
||||
string overNightWorkValue, string fridayWorkValue, string rotatingShifValue, string absenceValue,
|
||||
string totalDayOfLeaveCompute, string totalDayOfYearsCompute, string totalDayOfBunosesCompute,
|
||||
ICollection<CheckoutLoanInstallment> loanInstallments,
|
||||
ICollection<CheckoutSalaryAid> salaryAids)
|
||||
{
|
||||
EmployeeFullName = employeeFullName;
|
||||
FathersName = fathersName;
|
||||
@@ -78,6 +86,8 @@ public class Checkout : EntityBase
|
||||
TotalDayOfLeaveCompute = totalDayOfLeaveCompute;
|
||||
TotalDayOfYearsCompute = totalDayOfYearsCompute;
|
||||
TotalDayOfBunosesCompute = totalDayOfBunosesCompute;
|
||||
LoanInstallments = loanInstallments;
|
||||
SalaryAids = salaryAids;
|
||||
}
|
||||
|
||||
public string EmployeeFullName { get; private set; }
|
||||
@@ -181,7 +191,15 @@ public class Checkout : EntityBase
|
||||
/// </summary>
|
||||
public string TotalDayOfBunosesCompute { get; private set; }
|
||||
|
||||
public Workshop Workshop { get; set; }
|
||||
|
||||
#region valueObjects
|
||||
|
||||
public ICollection<CheckoutLoanInstallment> LoanInstallments { get; set; } = [];
|
||||
public ICollection<CheckoutSalaryAid> SalaryAids { get; set; } = [];
|
||||
#endregion
|
||||
|
||||
|
||||
public Workshop Workshop { get; set; }
|
||||
//public WorkingHours WorkingHours { get; set; }
|
||||
|
||||
public void Edit(string employeeFullName, string fathersName, string nationalCode, string dateOfBirth,
|
||||
@@ -278,4 +296,16 @@ public class Checkout : EntityBase
|
||||
this.TotalDeductions = totalDeductions;
|
||||
this.TotalPayment = totalPayment;
|
||||
}
|
||||
|
||||
|
||||
public void SetSalaryAid(ICollection<CheckoutSalaryAid> salaryAids,double salaryAidAmount)
|
||||
{
|
||||
SalaryAids = salaryAids;
|
||||
SalaryAidDeduction = salaryAidAmount;
|
||||
}
|
||||
public void SetLoanInstallment(ICollection<CheckoutLoanInstallment> lonaInstallments, double installmentsAmount)
|
||||
{
|
||||
LoanInstallments = lonaInstallments;
|
||||
InstallmentDeduction = installmentsAmount;
|
||||
}
|
||||
}
|
||||
@@ -10,9 +10,19 @@ namespace Company.Domain.CheckoutAgg;
|
||||
|
||||
public interface ICheckoutRepository : IRepository<long, Checkout>
|
||||
{
|
||||
/// <summary>
|
||||
/// چک میکند که آیا پرسنل در سال و ماه درخواستی در این کارگاه فیش حقوقی دارد یا خیر
|
||||
/// </summary>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <param name="employeId"></param>
|
||||
/// <param name="سال به صورت رشته عددی"></param>
|
||||
/// <param name="ماه بصورت رشته عددی"></param>
|
||||
/// <returns></returns>
|
||||
(bool hasChekout, double FamilyAlloance, double OverTimePay) HasCheckout(long workshopId, long employeId,
|
||||
string year, string month);
|
||||
EditCheckout GetDetails(long id);
|
||||
|
||||
void CreateCkeckout(Checkout command);
|
||||
Task CreateCkeckout(Checkout command);
|
||||
|
||||
Task<List<CheckoutViewModel>> Search(CheckoutSearchModel searchModel);
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
using _0_Framework.Application;
|
||||
|
||||
namespace Company.Domain.CheckoutAgg.ValueObjects;
|
||||
|
||||
public class CheckoutLoanInstallment
|
||||
{
|
||||
public CheckoutLoanInstallment(string amountForMonth, string month, string year, IsActive isActive, string loanRemaining, string loanAmount, long entityId)
|
||||
{
|
||||
AmountForMonth = amountForMonth;
|
||||
Month = month;
|
||||
Year = year;
|
||||
IsActive = isActive;
|
||||
LoanRemaining = loanRemaining;
|
||||
LoanAmount = loanAmount;
|
||||
EntityId = entityId;
|
||||
}
|
||||
|
||||
public string AmountForMonth { get; private set; }
|
||||
public string Month { get; private set; }
|
||||
public string Year { get; private set; }
|
||||
public string LoanRemaining { get; set; }
|
||||
public IsActive IsActive { get; private set; }
|
||||
public string LoanAmount { get; set; }
|
||||
public long EntityId { get; set; }
|
||||
}
|
||||
24
Company.Domain/CheckoutAgg/ValueObjects/CheckoutSalaryAid.cs
Normal file
24
Company.Domain/CheckoutAgg/ValueObjects/CheckoutSalaryAid.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using AccountManagement.Domain.AccountAgg;
|
||||
|
||||
namespace Company.Domain.CheckoutAgg.ValueObjects;
|
||||
|
||||
public class CheckoutSalaryAid
|
||||
{
|
||||
public CheckoutSalaryAid(string amount, DateTime salaryAidDateTime, string salaryAidDateTimeFa, DateTime calculationDateTime, string calculationDateTimeFa, long entityId)
|
||||
{
|
||||
Amount = amount;
|
||||
SalaryAidDateTime = salaryAidDateTime;
|
||||
SalaryAidDateTimeFa = salaryAidDateTimeFa;
|
||||
CalculationDateTime = calculationDateTime;
|
||||
CalculationDateTimeFa = calculationDateTimeFa;
|
||||
EntityId = entityId;
|
||||
}
|
||||
public string Amount { get; private set; }
|
||||
public DateTime SalaryAidDateTime { get; private set; }
|
||||
public string SalaryAidDateTimeFa { get; private set; }
|
||||
|
||||
public DateTime CalculationDateTime { get; private set; }
|
||||
public string CalculationDateTimeFa { get; private set; }
|
||||
public long EntityId { get; set; }
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
@@ -14,4 +14,8 @@
|
||||
<ProjectReference Include="..\CompanyManagment.App.Contracts\CompanyManagment.App.Contracts.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="CheckoutAgg\ValueObjects\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -12,7 +12,7 @@ public class EmployeeInsurancListData : EntityBase
|
||||
{
|
||||
public EmployeeInsurancListData(long insuranceListId, long employeeId, int workingDays, double dailyWage, double monthlySalary,
|
||||
double monthlyBenefits, double monthlyBenefitsIncluded, double benefitsIncludedContinuous, double benefitsIncludedNonContinuous,
|
||||
double insuranceShare, DateTime startWorkDate, DateTime? leftWorkDate, long jobId,bool includeStatus, double baseYears, double marriedAllowance)
|
||||
double insuranceShare, DateTime startWorkDate, DateTime? leftWorkDate, long jobId,bool includeStatus, double baseYears, double marriedAllowance, double overTimePay, double familyAllowance)
|
||||
{
|
||||
InsuranceListId = insuranceListId;
|
||||
EmployeeId = employeeId;
|
||||
@@ -30,6 +30,8 @@ public class EmployeeInsurancListData : EntityBase
|
||||
IncludeStatus = includeStatus;
|
||||
BaseYears = baseYears;
|
||||
MarriedAllowance = marriedAllowance;
|
||||
OverTimePay = overTimePay;
|
||||
FamilyAllowance = familyAllowance;
|
||||
DailyWagePlusBaseYears = dailyWage + baseYears;
|
||||
}
|
||||
|
||||
@@ -110,10 +112,20 @@ public class EmployeeInsurancListData : EntityBase
|
||||
/// </summary>
|
||||
public double MarriedAllowance { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// اضافه کار فیش حقوقی
|
||||
/// </summary>
|
||||
public double OverTimePay { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق اولاد فیش حقوقی
|
||||
/// </summary>
|
||||
public double FamilyAllowance { get; private set; }
|
||||
|
||||
|
||||
public void Edit(int workingDays, double dailyWage, double monthlySalary, double monthlyBenefits, double monthlyBenefitsIncluded,
|
||||
double benefitsIncludedContinuous, double benefitsIncludedNonContinuous, double insuranceShare, DateTime startWorkDate,
|
||||
DateTime? leftWorkDate, long jobId, bool includeStatus, double baseYears, double marriedAllowance)
|
||||
DateTime? leftWorkDate, long jobId, bool includeStatus, double baseYears, double marriedAllowance, double overTimePay, double familyAllowance)
|
||||
{
|
||||
|
||||
WorkingDays = workingDays;
|
||||
@@ -130,6 +142,8 @@ public class EmployeeInsurancListData : EntityBase
|
||||
IncludeStatus= includeStatus;
|
||||
BaseYears = baseYears;
|
||||
MarriedAllowance = marriedAllowance;
|
||||
OverTimePay = overTimePay;
|
||||
FamilyAllowance = familyAllowance;
|
||||
DailyWagePlusBaseYears = dailyWage + baseYears;
|
||||
}
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
using OfficeOpenXml;
|
||||
using OfficeOpenXml.Drawing.Chart;
|
||||
using System.Collections;
|
||||
|
||||
namespace Company.Domain.RollCallAgg.DomainService;
|
||||
|
||||
@@ -25,11 +26,12 @@ public interface IRollCallDomainService
|
||||
long workshopId);
|
||||
|
||||
TimeOnly GetEmployeeOffSetForRegularSettings(long employeeId, long workshopId);
|
||||
DateTime GetEmployeeShiftDateByRollCallStartDate(long workshopId, long employeeId, DateTime rollCallStartDate,DateTime rollCallEndDate);
|
||||
DateTime GetEmployeeShiftDateByRollCallStartDate(long workshopId, long employeeId, DateTime rollCallStartDate, DateTime rollCallEndDate);
|
||||
|
||||
void CalculateTimeDifferences(RollCall rollCall);
|
||||
|
||||
(DateTime start, DateTime end) FindRotatingShift(DateTime startRollCall, DateTime endRollCall, ICollection<CustomizeRotatingShift> rotatingShifts);
|
||||
(DateTime start, DateTime end) FindRotatingShift(List<(DateTime StartDate, DateTime EndDate)> rollcalls, ICollection<CustomizeRotatingShift> rotatingShifts);
|
||||
}
|
||||
|
||||
public class RollCallDomainService : IRollCallDomainService
|
||||
@@ -173,16 +175,16 @@ public class RollCallDomainService : IRollCallDomainService
|
||||
}
|
||||
|
||||
public DateTime GetEmployeeShiftDateByRollCallStartDate(long workshopId, long employeeId,
|
||||
DateTime rollCallStartDate,DateTime rollCallEndDate)
|
||||
DateTime rollCallStartDate, DateTime rollCallEndDate)
|
||||
{
|
||||
var shiftDetails = GetEmployeeShiftDetails(employeeId, workshopId);
|
||||
|
||||
|
||||
var offset = GetEmployeeOffSetForRegularSettings(employeeId, workshopId);
|
||||
|
||||
return shiftDetails.shiftType switch
|
||||
{
|
||||
WorkshopShiftStatus.Regular => CalculateRegularShiftDate(rollCallStartDate, offset),
|
||||
WorkshopShiftStatus.Rotating => FindRotatingShift(rollCallStartDate,rollCallEndDate,shiftDetails.rotatingShifts).start.Date,
|
||||
WorkshopShiftStatus.Rotating => FindRotatingShift(rollCallStartDate, rollCallEndDate, shiftDetails.rotatingShifts).start.Date,
|
||||
WorkshopShiftStatus.Irregular => rollCallStartDate.Date,
|
||||
_ => throw new ArgumentOutOfRangeException()
|
||||
};
|
||||
@@ -216,6 +218,7 @@ public class RollCallDomainService : IRollCallDomainService
|
||||
rollCalls.Remove(deletedRollCall);
|
||||
rollCalls.Add(rollCall);
|
||||
|
||||
rollCall.ClearTimeDiff();
|
||||
switch (shiftDetails.shiftType)
|
||||
{
|
||||
case WorkshopShiftStatus.Regular:
|
||||
@@ -256,7 +259,8 @@ public class RollCallDomainService : IRollCallDomainService
|
||||
|
||||
var lateEntryRollCall = rollCallsInShift.OrderBy(x => x.StartDate).FirstOrDefault(x => x.StartDate > employeeShift.start);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var previousShift = employeeShifts.OrderByDescending(x => x.start)
|
||||
.FirstOrDefault(x => x.end < employeeShift.start);
|
||||
@@ -299,8 +303,6 @@ public class RollCallDomainService : IRollCallDomainService
|
||||
|
||||
var lateExitRollCall = rollCallsInShift.OrderBy(x => x.EndDate).FirstOrDefault(x => x.EndDate > employeeShift.end);
|
||||
|
||||
|
||||
|
||||
// تعجیل در خروج - زود رفتن
|
||||
var nextShift = employeeShifts.OrderBy(x => x.start)
|
||||
.FirstOrDefault(x => x.start > employeeShift.end);
|
||||
@@ -353,7 +355,9 @@ public class RollCallDomainService : IRollCallDomainService
|
||||
|
||||
var rotatingShifts = shiftDetails.rotatingShifts;
|
||||
|
||||
var shift = FindRotatingShift(starDateTime, endDateTime, rotatingShifts);
|
||||
var rollCallStartEnds = rollCalls.Select(x => (x.StartDate.Value, x.EndDate.Value)).ToList();
|
||||
|
||||
var shift = FindRotatingShift(rollCallStartEnds, rotatingShifts);
|
||||
|
||||
var rotatingShiftStart = shift.start;
|
||||
var rotatingShiftEnd = shift.end;
|
||||
@@ -373,8 +377,8 @@ public class RollCallDomainService : IRollCallDomainService
|
||||
var earlyEntryRollCallRotating = rollCallsInRotatingShift.OrderBy(x => x.StartDate).FirstOrDefault(x => x.StartDate < shift.start);
|
||||
|
||||
var lateEntryRollCallRotating = rollCallsInRotatingShift.OrderBy(x => x.StartDate).FirstOrDefault(x => x.StartDate > shift.start);
|
||||
|
||||
|
||||
//برای خالی کردن اولیه حضور غیاب انتخاب شده
|
||||
earlyEntryRollCallRotating?.SetEarlyEnter(TimeSpan.Zero);
|
||||
|
||||
if (earlyEntryRollCallRotating != null)
|
||||
{
|
||||
@@ -403,9 +407,10 @@ public class RollCallDomainService : IRollCallDomainService
|
||||
var earlyExitRollCallRotating = rollCallsInRotatingShift.OrderByDescending(x => x.EndDate).FirstOrDefault(x => x.EndDate < shift.end);
|
||||
|
||||
var lateExitRollCallRotating = rollCallsInRotatingShift.OrderBy(x => x.EndDate).FirstOrDefault(x => x.EndDate > shift.end);
|
||||
//برای خالی کردن اولیه حضور غیاب انتخاب شده
|
||||
earlyExitRollCallRotating?.SetEarlyExit(TimeSpan.Zero);
|
||||
|
||||
|
||||
|
||||
|
||||
if (earlyExitRollCallRotating != null && (rollCallsInRotatingShift.Any(x =>
|
||||
x.StartDate < rotatingShiftEnd && x.StartDate > earlyExitRollCallRotating.EndDate) == false))
|
||||
@@ -448,17 +453,6 @@ public class RollCallDomainService : IRollCallDomainService
|
||||
DateTime startDate = startRollCall.Date;
|
||||
DateTime endDate = endRollCall.Date;
|
||||
|
||||
|
||||
|
||||
DateTime startEntryWithDate = startDate.Add(startRollCall.TimeOfDay);
|
||||
DateTime endEntryWithDate = endDate.Add(endRollCall.TimeOfDay);
|
||||
|
||||
DateTime oneHourBeforeStart = startEntryWithDate.AddHours(-1);
|
||||
DateTime oneHourAfterStart = startEntryWithDate.AddHours(1);
|
||||
DateTime oneHourBeforeEnd = endEntryWithDate.AddHours(-1);
|
||||
DateTime oneHourAfterEnd = endEntryWithDate.AddHours(1);
|
||||
|
||||
|
||||
var shiftDateTimes = rotatingShifts.SelectMany(shift =>
|
||||
{
|
||||
var shifts = new List<(DateTime Start, DateTime End)>();
|
||||
@@ -477,56 +471,69 @@ public class RollCallDomainService : IRollCallDomainService
|
||||
|
||||
#region مقایسه شروع حضور غیاب با شیفت
|
||||
|
||||
var startFilteredTimes = shiftDateTimes.Where(shift =>
|
||||
(oneHourBeforeStart <= shift.Start && oneHourAfterStart >= shift.Start) ||
|
||||
(oneHourBeforeStart <= shift.End && oneHourAfterStart >= shift.End)).ToList();
|
||||
//var startFilteredTimes = shiftDateTimes.Where(shift =>
|
||||
// (twoHourBeforeStart <= shift.Start && twoHourAfterStart >= shift.Start) ||
|
||||
// (twoHourBeforeStart <= shift.End && twoHourAfterStart >= shift.End)).ToList();
|
||||
|
||||
if (startFilteredTimes.Count == 0)
|
||||
{
|
||||
startFilteredTimes = shiftDateTimes;
|
||||
}
|
||||
else if (startFilteredTimes.Count == 1)
|
||||
{
|
||||
var startChosenShift = startFilteredTimes.First();
|
||||
//if (startFilteredTimes.Count == 0)
|
||||
//{
|
||||
// startFilteredTimes = shiftDateTimes;
|
||||
//}
|
||||
//else if (startFilteredTimes.Count == 1)
|
||||
//{
|
||||
// var startChosenShift = startFilteredTimes.First();
|
||||
|
||||
if (startChosenShift.End < startChosenShift.Start)
|
||||
startChosenShift.End = startChosenShift.End.AddDays(1);
|
||||
// if (startChosenShift.End < startChosenShift.Start)
|
||||
// startChosenShift.End = startChosenShift.End.AddDays(1);
|
||||
|
||||
return startChosenShift;
|
||||
}
|
||||
// return startChosenShift;
|
||||
//}
|
||||
|
||||
|
||||
#endregion
|
||||
//#endregion
|
||||
|
||||
#region مقایسه پایان حضورغیاب با شیفت
|
||||
|
||||
var endFilteredTimes = shiftDateTimes.Where(shift =>
|
||||
(oneHourBeforeEnd <= shift.Start && oneHourAfterEnd >= shift.Start) ||
|
||||
(oneHourBeforeEnd <= shift.End && oneHourAfterEnd >= shift.End)).ToList();
|
||||
if (endFilteredTimes.Count == 0)
|
||||
{
|
||||
endFilteredTimes = startFilteredTimes;
|
||||
}
|
||||
else if (endFilteredTimes.Count == 1)
|
||||
{
|
||||
var endChosenShift = endFilteredTimes.First();
|
||||
return endChosenShift;
|
||||
}
|
||||
//#region مقایسه پایان حضورغیاب با شیفت
|
||||
|
||||
//var endFilteredTimes = shiftDateTimes.Where(shift =>
|
||||
// (twoHourBeforeEnd <= shift.Start && twoHourAfterEnd >= shift.Start) ||
|
||||
// (twoHourBeforeEnd <= shift.End && twoHourAfterEnd >= shift.End)).ToList();
|
||||
//if (endFilteredTimes.Count == 0)
|
||||
//{
|
||||
// endFilteredTimes = startFilteredTimes;
|
||||
//}
|
||||
//else if (endFilteredTimes.Count == 1)
|
||||
//{
|
||||
// var endChosenShift = endFilteredTimes.First();
|
||||
// return endChosenShift;
|
||||
//}
|
||||
|
||||
#endregion
|
||||
|
||||
#region اشتراک حضور غیاب و شیفت
|
||||
|
||||
var overlapShifts = endFilteredTimes.Select(shift => new
|
||||
{
|
||||
Shift = shift,
|
||||
Overlap = new TimeSpan(Math.Max(0,
|
||||
Math.Min(shift.End.Ticks, oneHourAfterEnd.Ticks) -
|
||||
Math.Max(shift.Start.Ticks, oneHourBeforeStart.Ticks)))
|
||||
});
|
||||
var overlapShifts = shiftDateTimes
|
||||
.Select(shift => new
|
||||
{
|
||||
Shift = shift,
|
||||
Overlap = new TimeSpan(Math.Max(0,
|
||||
Math.Min(shift.End.Ticks, endRollCall.Ticks) -
|
||||
Math.Max(shift.Start.Ticks, startRollCall.Ticks))),
|
||||
// زمان حضور فرد در شیفت (مجموع Overlap با شیفت)
|
||||
TotalTimeInShift = new TimeSpan(Math.Max(0,
|
||||
Math.Min(shift.End.Ticks, endRollCall.Ticks) -
|
||||
Math.Max(shift.Start.Ticks, startRollCall.Ticks))),
|
||||
StartDistance = Math.Abs((shift.Start - startRollCall).Ticks),
|
||||
EndDistance = Math.Abs((shift.End - endRollCall).Ticks),
|
||||
TotalDistance = Math.Abs((shift.Start - startRollCall).Ticks) + Math.Abs((shift.End - endRollCall).Ticks)
|
||||
})
|
||||
.OrderByDescending(s => s.TotalTimeInShift) // 1. بیشترین زمان حضور فرد
|
||||
.ThenByDescending(s => s.Overlap) // 2. بیشترین Overlap
|
||||
.ThenBy(s => s.TotalDistance)
|
||||
.ThenBy(s => s.StartDistance)
|
||||
.ThenBy(x => x.EndDistance); // 3. اگر برابر بود،
|
||||
|
||||
var overlapChosenShift = overlapShifts.MaxBy(s => s.Overlap);
|
||||
|
||||
var overlapChosenShift = overlapShifts.First();
|
||||
var end = overlapChosenShift.Shift.End;
|
||||
if (overlapChosenShift.Shift.End < overlapChosenShift.Shift.Start)
|
||||
end = overlapChosenShift.Shift.End.AddDays(1);
|
||||
@@ -537,6 +544,134 @@ public class RollCallDomainService : IRollCallDomainService
|
||||
#endregion
|
||||
}
|
||||
|
||||
public (DateTime start, DateTime end) FindRotatingShift(List<(DateTime StartDate, DateTime EndDate)> rollCalls, ICollection<CustomizeRotatingShift> rotatingShifts)
|
||||
{
|
||||
|
||||
DateTime startDate = rollCalls.MinBy(x => x.StartDate).StartDate.Date;
|
||||
DateTime endDate = rollCalls.MaxBy(x => x.EndDate).EndDate.Date;
|
||||
|
||||
var shiftDateTimes = rotatingShifts.SelectMany(shift =>
|
||||
{
|
||||
var shifts = new List<(DateTime Start, DateTime End)>();
|
||||
for (int i = -1; i <= 1; i++)
|
||||
{
|
||||
var shiftStart = startDate.AddDays(i).Date;
|
||||
shiftStart = shiftStart.Add(shift.StartTime.ToTimeSpan());
|
||||
var shiftEnd = shift.StartTime < shift.EndTime
|
||||
? startDate.AddDays(i).Date.Add(shift.EndTime.ToTimeSpan())
|
||||
: startDate.AddDays(i + 1).Date.Add(shift.EndTime.ToTimeSpan());
|
||||
shifts.Add((shiftStart, shiftEnd));
|
||||
}
|
||||
|
||||
return shifts;
|
||||
}).ToList();
|
||||
|
||||
//var shiftScores = shiftDateTimes
|
||||
// .Select(shift =>
|
||||
// {
|
||||
// var totalOverlap = TimeSpan.Zero;
|
||||
|
||||
// var firstRollCall = rollCalls.MinBy(x => x.StartDate);
|
||||
// var lastRollCall = rollCalls.MaxBy(x => x.EndDate);
|
||||
|
||||
// long totalStartDistance = Math.Abs((shift.Start - firstRollCall.StartDate).Ticks);
|
||||
// long totalEndDistance = Math.Abs((shift.End - lastRollCall.EndDate).Ticks);
|
||||
|
||||
|
||||
// foreach (var rollCall in rollCalls)
|
||||
// {
|
||||
// var start = rollCall.StartDate;
|
||||
// var end = rollCall.EndDate;
|
||||
|
||||
// var overlapTicks = Math.Max(0,
|
||||
// Math.Min(shift.End.Ticks, end.Ticks) -
|
||||
// Math.Max(shift.Start.Ticks, start.Ticks));
|
||||
|
||||
// totalOverlap += new TimeSpan(overlapTicks);
|
||||
// //totalStartDistance += Math.Abs((shift.Start - start).Ticks);
|
||||
// //totalEndDistance += Math.Abs((shift.End - end).Ticks);
|
||||
// }
|
||||
|
||||
// return new
|
||||
// {
|
||||
// Shift = shift,
|
||||
// TotalOverlap = totalOverlap,
|
||||
// TotalDistance = totalStartDistance + totalEndDistance,
|
||||
// StartDistance = totalStartDistance,
|
||||
// EndDistance = totalEndDistance
|
||||
// };
|
||||
// })
|
||||
// .OrderBy(s => s.StartDistance)
|
||||
// .ThenBy(s => s.TotalDistance)
|
||||
// .ThenByDescending(s => s.TotalOverlap)
|
||||
// .ThenBy(s => s.EndDistance);
|
||||
|
||||
|
||||
// مرحله 1: گروهبندی بر اساس نزدیکی زمان شروع به اولین حضور و غیاب
|
||||
var groupedByStart = shiftDateTimes
|
||||
.GroupBy(shift =>
|
||||
{
|
||||
var firstRollCallStart = rollCalls.Min(x => x.StartDate);
|
||||
var ticksDiff = Math.Abs((shift.Start - firstRollCallStart).Ticks);
|
||||
return Math.Round(TimeSpan.FromTicks(ticksDiff).TotalMinutes / 30); // گروهبندی هر 30 دقیقه
|
||||
})
|
||||
.OrderBy(g => g.Key)
|
||||
.First(); // نزدیکترین گروه به شروع
|
||||
|
||||
// مرحله 2 (جایگزین مرحله ۴): گروهبندی بر اساس نزدیکی پایان شیفت به آخرین حضور و غیاب
|
||||
var filteredByEnd = groupedByStart
|
||||
.Select(shift =>
|
||||
{
|
||||
var lastRollCallEnd = rollCalls.Max(x => x.EndDate);
|
||||
var endDistance = Math.Abs((shift.End - lastRollCallEnd).Ticks);
|
||||
return new { Shift = shift, EndDistance = endDistance };
|
||||
})
|
||||
.GroupBy(x => x.EndDistance / TimeSpan.FromMinutes(30).Ticks) // گروهبندی هر 30 دقیقه
|
||||
.OrderBy(g => g.Key)
|
||||
.First() // نزدیکترین پایان
|
||||
.ToList();
|
||||
|
||||
// مرحله 3: فیلتر بر اساس بیشترین همپوشانی با حضور و غیابها
|
||||
var filteredByOverlap = filteredByEnd
|
||||
.Select(shift =>
|
||||
{
|
||||
var totalOverlap = TimeSpan.Zero;
|
||||
foreach (var rollCall in rollCalls)
|
||||
{
|
||||
var overlapTicks = Math.Max(0,
|
||||
Math.Min(shift.Shift.End.Ticks, rollCall.EndDate.Ticks) -
|
||||
Math.Max(shift.Shift.Start.Ticks, rollCall.StartDate.Ticks));
|
||||
totalOverlap += new TimeSpan(overlapTicks);
|
||||
}
|
||||
return new { Shift = shift.Shift, TotalOverlap = totalOverlap };
|
||||
})
|
||||
.GroupBy(x => Math.Round(x.TotalOverlap.TotalMinutes /5)) // گروهبندی همپوشانی
|
||||
.OrderByDescending(g => g.Key) // بیشترین همپوشانی اول
|
||||
.First()
|
||||
.ToList();
|
||||
|
||||
// مرحله 4 (جایگزین مرحله ۲): فیلتر نهایی بر اساس کمترین مجموع فاصله (TotalDistance)
|
||||
var bestShift = filteredByOverlap
|
||||
.Select(shift =>
|
||||
{
|
||||
var firstRollCall = rollCalls.MinBy(x => x.StartDate);
|
||||
var lastRollCall = rollCalls.MaxBy(x => x.EndDate);
|
||||
var totalDistance =
|
||||
Math.Abs((shift.Shift.Start - firstRollCall.StartDate).Ticks) +
|
||||
Math.Abs((shift.Shift.End - lastRollCall.EndDate).Ticks);
|
||||
return new { Shift = shift.Shift, TotalDistance = totalDistance };
|
||||
})
|
||||
.OrderBy(x => x.TotalDistance) // کمترین فاصله کلی
|
||||
.First(); // بهترین شیفت نهایی
|
||||
var overlapChosenShift = bestShift;
|
||||
var end = overlapChosenShift.Shift.End;
|
||||
if (overlapChosenShift.Shift.End < overlapChosenShift.Shift.Start)
|
||||
end = overlapChosenShift.Shift.End.AddDays(1);
|
||||
|
||||
|
||||
return (overlapChosenShift.Shift.Start, end);
|
||||
}
|
||||
|
||||
private DateTime CalculateRegularShiftDate(DateTime startDate, TimeOnly offset)
|
||||
{
|
||||
DateTime nextOffSetDateTime;
|
||||
|
||||
@@ -6,7 +6,9 @@ using Company.Domain.CustomizeWorkshopEmployeeSettingsAgg.Entities;
|
||||
using CompanyManagment.App.Contracts.Contract;
|
||||
using CompanyManagment.App.Contracts.CustomizeCheckout;
|
||||
using CompanyManagment.App.Contracts.Leave;
|
||||
using CompanyManagment.App.Contracts.Loan;
|
||||
using CompanyManagment.App.Contracts.RollCall;
|
||||
using CompanyManagment.App.Contracts.SalaryAid;
|
||||
using CompanyManagment.App.Contracts.WorkingHoursTemp;
|
||||
|
||||
namespace Company.Domain.RollCallAgg;
|
||||
@@ -24,6 +26,12 @@ public interface IRollCallMandatoryRepository : IRepository<long, RollCall>
|
||||
List<LateToWorkEarlyExistSpannig> LateToWorkEarlyExit(List<GroupedRollCalls> groupedRollCall,
|
||||
ICollection<CustomizeWorkshopEmployeeSettingsShift> shiftSettings, List<LeaveViewModel> leavList);
|
||||
|
||||
List<LoanInstallmentViewModel> LoanInstallmentForCheckout(long employeeId, long workshopId, DateTime contractStart,
|
||||
DateTime contractEnd);
|
||||
|
||||
List<SalaryAidViewModel> SalaryAidsForCheckout(long employeeId, long workshopId, DateTime checkoutStart,
|
||||
DateTime checkoutEnd);
|
||||
|
||||
Task<ComputingViewModel> RotatingShiftReport(long workshopId, long employeeId, DateTime contractStart,
|
||||
DateTime contractEnd, string shiftwork);
|
||||
}
|
||||
@@ -90,7 +90,9 @@ public class Workshop : EntityBase
|
||||
//}
|
||||
public Workshop(string workshopName,string workshopSureName, string insuranceCode, string typeOfOwnership, string archiveCode, string agentName, string agentPhone,
|
||||
string state, string city, string address, string typeOfInsuranceSend, string typeOfContract, string contractTerm,
|
||||
string agreementNumber, bool fixedSalary, string population,long? insuranceJobId, string zoneName, bool addBonusesPay, bool addYearsPay, bool addLeavePay, bool totalPaymentHide, bool isClassified, string computeOptions, string bonusesOptions, string yearsOptions, string hasRollCallFreeVip, bool workshopHolidayWorking)
|
||||
string agreementNumber, bool fixedSalary, string population,long? insuranceJobId, string zoneName, bool addBonusesPay, bool addYearsPay, bool addLeavePay, bool totalPaymentHide,
|
||||
bool isClassified, string computeOptions, string bonusesOptions, string yearsOptions, string hasRollCallFreeVip, bool workshopHolidayWorking,
|
||||
bool insuranceCheckoutOvertime, bool insuranceCheckoutFamilyAllowance)
|
||||
{
|
||||
WorkshopName = workshopName;
|
||||
WorkshopSureName = workshopSureName;
|
||||
@@ -132,6 +134,8 @@ public class Workshop : EntityBase
|
||||
YearsOptions = yearsOptions;
|
||||
HasRollCallFreeVip = hasRollCallFreeVip;
|
||||
WorkshopHolidayWorking = workshopHolidayWorking;
|
||||
InsuranceCheckoutOvertime = insuranceCheckoutOvertime;
|
||||
InsuranceCheckoutFamilyAllowance = insuranceCheckoutFamilyAllowance;
|
||||
}
|
||||
|
||||
|
||||
@@ -198,6 +202,14 @@ public class Workshop : EntityBase
|
||||
//کارگاه هایی که در تعطیلات رسمی باز هستند
|
||||
public bool WorkshopHolidayWorking { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// محاسبه اضافه کار فیش حقوقی در لیست بیمه
|
||||
/// </summary>
|
||||
public bool InsuranceCheckoutOvertime { get; private set; }
|
||||
/// <summary>
|
||||
/// محاسبه حق اولاد در لیست بیمه
|
||||
/// </summary>
|
||||
public bool InsuranceCheckoutFamilyAllowance { get; private set; }
|
||||
//public Employer Employer { get; private set; }
|
||||
|
||||
public Workshop()
|
||||
@@ -229,7 +241,9 @@ public class Workshop : EntityBase
|
||||
|
||||
public void Edit(string workshopName, string workshopSureName, string insuranceCode,string typeOfOwnership, string archiveCode, string agentName, string agentPhone,
|
||||
string state, string city, string address, string typeOfInsuranceSend, string typeOfContract, string contractTerm,
|
||||
string agreementNumber, bool fixedSalary, string population, long? insuranceJobId, string zoneName, bool addBonusesPay, bool addYearsPay, bool addLeavePay,bool totalPaymentHide, bool isClassified, string computeOptions, string bonusesOptions, string yearsOptions, string hasRollCallFreeVip, bool workshopHolidayWorking)
|
||||
string agreementNumber, bool fixedSalary, string population, long? insuranceJobId, string zoneName, bool addBonusesPay, bool addYearsPay, bool addLeavePay,
|
||||
bool totalPaymentHide, bool isClassified, string computeOptions, string bonusesOptions, string yearsOptions, string hasRollCallFreeVip, bool workshopHolidayWorking,
|
||||
bool insuranceCheckoutOvertime, bool insuranceCheckoutFamilyAllowance)
|
||||
{
|
||||
WorkshopName = workshopName;
|
||||
WorkshopSureName = workshopSureName;
|
||||
@@ -268,7 +282,9 @@ public class Workshop : EntityBase
|
||||
YearsOptions = yearsOptions;
|
||||
HasRollCallFreeVip = hasRollCallFreeVip;
|
||||
WorkshopHolidayWorking = workshopHolidayWorking;
|
||||
}
|
||||
InsuranceCheckoutOvertime = insuranceCheckoutOvertime;
|
||||
InsuranceCheckoutFamilyAllowance = insuranceCheckoutFamilyAllowance;
|
||||
}
|
||||
|
||||
|
||||
public void Active(string archiveCode)
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using CompanyManagment.App.Contracts.Employer;
|
||||
using CompanyManagment.App.Contracts.Loan;
|
||||
using CompanyManagment.App.Contracts.RollCall;
|
||||
using CompanyManagment.App.Contracts.SalaryAid;
|
||||
using CompanyManagment.App.Contracts.WorkingHoursTemp;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.Checkout;
|
||||
@@ -121,4 +123,6 @@ public class CheckoutViewModel
|
||||
/// </summary>
|
||||
public string TotalDayOfBunosesCompute { get; set; }
|
||||
public List<CheckoutDailyRollCallViewModel> MonthlyRollCall { get; set; }
|
||||
public List<LoanInstallmentViewModel> InstallmentViewModels { get; set; }
|
||||
public List<SalaryAidViewModel> SalaryAidViewModels { get; set; }
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using CompanyManagment.App.Contracts.Loan;
|
||||
using CompanyManagment.App.Contracts.SalaryAid;
|
||||
using CompanyManagment.App.Contracts.WorkingHoursTemp;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.Contract;
|
||||
|
||||
@@ -90,4 +90,14 @@ public class CreateEmployeeInsurancListData
|
||||
/// DSW_SPOUSE
|
||||
/// </summary>
|
||||
public double MarriedAllowance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// اضافه کار فیش حقوقی
|
||||
/// </summary>
|
||||
public double OverTimePay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق اولاد فیش حقوقی
|
||||
/// </summary>
|
||||
public double FamilyAllowance { get; set; }
|
||||
}
|
||||
@@ -50,7 +50,7 @@ public class EmployeeInsurancListDataViewModel
|
||||
/// </summary>
|
||||
public double BenefitsIncludedNonContinuous { get; set; }
|
||||
/// <summary>
|
||||
/// جمع کل دستمزد و مزایای ماهانه
|
||||
/// جمع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول
|
||||
/// DSW_TOTL
|
||||
/// </summary>
|
||||
public double IncludedAndNotIncluded { get; set; }
|
||||
@@ -119,5 +119,15 @@ public class EmployeeInsurancListDataViewModel
|
||||
/// </summary>
|
||||
public double MarriedAllowance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// اضافه کار فیش حقوقی
|
||||
/// </summary>
|
||||
public double OverTimePay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق اولاد فیش حقوقی
|
||||
/// </summary>
|
||||
public double FamilyAllowance { get; set; }
|
||||
|
||||
|
||||
}
|
||||
@@ -253,21 +253,49 @@ public class EmployeeDetailsForInsuranceListViewModel
|
||||
/// DSW_SPOUSE
|
||||
/// </summary>
|
||||
public double MarriedAllowance { get; set; }
|
||||
///// <summary>
|
||||
///// مجموع پایه سنواتی کارکنان
|
||||
///// DSK_INC
|
||||
///// </summary>
|
||||
//public double SumOfBaseYears { get; set; }
|
||||
|
||||
///// <summary>
|
||||
///// جمع پایه سنوات و دستمزد روزانه کارکنان
|
||||
///// DSW_INC
|
||||
///// </summary>
|
||||
//public double SumOfDailyWagePlusBaseYears { get; set; }
|
||||
/// <summary>
|
||||
/// آیا پرسنل دارای فیش حقوقی برای این ماه است
|
||||
/// -
|
||||
/// جهت محاسبه اضافه کار و حق اولاد
|
||||
/// </summary>
|
||||
public bool EmployeeHasCheckout { get; set; }
|
||||
|
||||
///// <summary>
|
||||
///// مجموع حق تاهل کارکنان
|
||||
///// DSK_SPOUSE
|
||||
///// </summary>
|
||||
//public double SumOfMarriedAllowance { get; set; }
|
||||
/// <summary>
|
||||
/// اضافه کار فیش حقوقی
|
||||
/// </summary>
|
||||
public double OverTimePay { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// حق اولاد فیش حقوقی
|
||||
/// </summary>
|
||||
public double FamilyAllowance { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// محاسبه اضافه کار
|
||||
/// </summary>
|
||||
public bool OverTimeIsSet { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
///محاسبه حق اولاد
|
||||
/// </summary>
|
||||
public bool FamilyAllowanceIsSet { get; set; }
|
||||
///// <summary>
|
||||
///// مجموع پایه سنواتی کارکنان
|
||||
///// DSK_INC
|
||||
///// </summary>
|
||||
//public double SumOfBaseYears { get; set; }
|
||||
|
||||
///// <summary>
|
||||
///// جمع پایه سنوات و دستمزد روزانه کارکنان
|
||||
///// DSW_INC
|
||||
///// </summary>
|
||||
//public double SumOfDailyWagePlusBaseYears { get; set; }
|
||||
|
||||
///// <summary>
|
||||
///// مجموع حق تاهل کارکنان
|
||||
///// DSK_SPOUSE
|
||||
///// </summary>
|
||||
//public double SumOfMarriedAllowance { get; set; }
|
||||
}
|
||||
@@ -28,4 +28,13 @@ public class CreateInsuranceWorkshopInfo
|
||||
public long? InsuranceJobId { get; set; }
|
||||
//public bool ConfirmSentlist { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// محاسبه اضافه کار فیش حقوقی در لیست بیمه
|
||||
/// </summary>
|
||||
public bool InsuranceCheckoutOvertime { get; set; }
|
||||
/// <summary>
|
||||
/// محاسبه حق اولاد در لیست بیمه
|
||||
/// </summary>
|
||||
public bool InsuranceCheckoutFamilyAllowance { get; set; }
|
||||
|
||||
}
|
||||
@@ -9,6 +9,16 @@ public interface IRollCallMandatoryApplication
|
||||
{
|
||||
bool HasRollCallRecord(long employeeId, long workshopId, DateTime contractStart);
|
||||
ComputingViewModel MandatoryCompute(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd, CreateWorkingHoursTemp command, bool holidayWorking);
|
||||
|
||||
/// <summary>
|
||||
/// گزارش نوبت کاری حضور غیاب
|
||||
/// </summary>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <param name="employeeId"></param>
|
||||
/// <param name="contractStart"></param>
|
||||
/// <param name="contractEnd"></param>
|
||||
/// <param name="shiftwork"></param>
|
||||
/// <returns></returns>
|
||||
Task<ComputingViewModel> RotatingShiftReport(long workshopId, long employeeId, DateTime contractStart,
|
||||
DateTime contractEnd, string shiftwork);
|
||||
}
|
||||
@@ -4,11 +4,11 @@ namespace CompanyManagment.App.Contracts.SalaryAid;
|
||||
|
||||
public class CreateSalaryAidViewModel
|
||||
{
|
||||
public List<long> EmployeeIds { get; set; }
|
||||
public long WorkshopId { get; set; }
|
||||
public string Amount { get; set; }
|
||||
public string SalaryDateTime { get; set; }
|
||||
public string CalculationDateTime { get; set; }
|
||||
public List<long> EmployeeIds { get; set; }
|
||||
public long WorkshopId { get; set; }
|
||||
public string Amount { get; set; }
|
||||
public string SalaryDateTime { get; set; }
|
||||
public string CalculationDateTime { get; set; }
|
||||
public string NationalCode { get; set; }
|
||||
public int CalculationMonth { get; set; }
|
||||
public int CalculationYear { get; set; }
|
||||
|
||||
@@ -107,4 +107,13 @@ public class CreateWorkshop
|
||||
|
||||
public string HasCustomizeCheckoutService { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// محاسبه اضافه کار فیش حقوقی در لیست بیمه
|
||||
/// </summary>
|
||||
public bool InsuranceCheckoutOvertime { get; set; }
|
||||
/// <summary>
|
||||
/// محاسبه حق اولاد در لیست بیمه
|
||||
/// </summary>
|
||||
public bool InsuranceCheckoutFamilyAllowance { get; set; }
|
||||
|
||||
}
|
||||
@@ -22,6 +22,7 @@ public class PrintListWorkshop
|
||||
public string TypeOfOwnership { get; set; }
|
||||
|
||||
public string ArchiveCode { get; set; }
|
||||
public int ArchiveCodeInt { get; set; }
|
||||
|
||||
public string AgentName { get; set; }
|
||||
|
||||
|
||||
@@ -5,9 +5,11 @@ using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
using Company.Domain.CheckoutAgg;
|
||||
using Company.Domain.CheckoutAgg.ValueObjects;
|
||||
using Company.Domain.LeftWorkAgg;
|
||||
using Company.Domain.YearlySalaryAgg;
|
||||
using Company.Domain.empolyerAgg;
|
||||
using Company.Domain.RollCallAgg;
|
||||
using CompanyManagment.App.Contracts.Checkout;
|
||||
using CompanyManagment.App.Contracts.PersonalContractingParty;
|
||||
using CompanyManagment.App.Contracts.Leave;
|
||||
@@ -24,11 +26,12 @@ public class CheckoutApplication : ICheckoutApplication
|
||||
private readonly IPersonalContractingPartyApp _contractingPartyApp;
|
||||
private readonly ILeaveApplication _leaveApplication;
|
||||
private readonly IMandatoryHoursApplication _mandatoryHoursApplication;
|
||||
private readonly IRollCallMandatoryRepository _rollCallMandatoryRepository;
|
||||
|
||||
|
||||
public CheckoutApplication(ICheckoutRepository checkoutRepository, IYearlySalaryRepository yearlySalaryRepository,
|
||||
ILeftWorkRepository leftWorkRepository,
|
||||
IEmployerRepository employerRepository, IPersonalContractingPartyApp contractingPartyApp, ILeaveApplication leaveApplication, IMandatoryHoursApplication mandatoryHoursApplication)
|
||||
IEmployerRepository employerRepository, IPersonalContractingPartyApp contractingPartyApp, ILeaveApplication leaveApplication, IMandatoryHoursApplication mandatoryHoursApplication, IRollCallMandatoryRepository rollCallMandatoryRepository)
|
||||
{
|
||||
_checkoutRepository = checkoutRepository;
|
||||
_yearlySalaryRepository = yearlySalaryRepository;
|
||||
@@ -37,6 +40,7 @@ public class CheckoutApplication : ICheckoutApplication
|
||||
_contractingPartyApp = contractingPartyApp;
|
||||
_leaveApplication = leaveApplication;
|
||||
_mandatoryHoursApplication = mandatoryHoursApplication;
|
||||
_rollCallMandatoryRepository = rollCallMandatoryRepository;
|
||||
}
|
||||
|
||||
[SuppressMessage("ReSharper.DPA", "DPA0007: Large number of DB records", MessageId = "count: 241")]
|
||||
@@ -157,12 +161,26 @@ public class CheckoutApplication : ICheckoutApplication
|
||||
}
|
||||
|
||||
}
|
||||
var checkoutStart = $"{command.Year}/{command.Month}/01";
|
||||
var checkoutEnd = checkoutStart.FindeEndOfMonth();
|
||||
var salaryAids =
|
||||
_rollCallMandatoryRepository.SalaryAidsForCheckout(command.EmployeeId, command.WorkshopId, checkoutStart.ToGeorgianDateTime(), checkoutEnd.ToGeorgianDateTime())
|
||||
.Select(x => new CheckoutSalaryAid(x.Amount, x.SalaryAidDateTimeGe, x.SalaryAidDateTimeFa, x.CalculationDateTimeGe, x.CalculationDateTimeFa,x.Id)).ToList();
|
||||
|
||||
command.SalaryAidDeduction = salaryAids.Sum(x => x.Amount.MoneyToDouble());
|
||||
|
||||
|
||||
var loanInstallments = _rollCallMandatoryRepository.LoanInstallmentForCheckout(command.EmployeeId,
|
||||
command.WorkshopId, command.ContractStartGr, command.ContractEndGr)
|
||||
.Select(x => new CheckoutLoanInstallment(x.Amount, x.Month, x.Year, x.IsActive, x.RemainingAmount, x.LoanAmount,x.Id)).ToList();
|
||||
|
||||
command.InstallmentDeduction = loanInstallments.Sum(x => x.AmountForMonth.MoneyToDouble());
|
||||
|
||||
|
||||
var totalClaimsDouble = monthlyWage + bacicYears + consumableItem + housingAllowance + marriedAllowance + command.OvertimePay +
|
||||
command.NightworkPay + familyAllowance + bunos + years + command.LeavePay + command.FridayPay + command.ShiftPay;
|
||||
var totalClaims = totalClaimsDouble.ToMoney();
|
||||
var totalDeductionDouble = insuranceDeduction + command.AbsenceDeduction;
|
||||
var totalDeductionDouble = insuranceDeduction + command.AbsenceDeduction + command.InstallmentDeduction + command.SalaryAidDeduction;
|
||||
var totalDeductions = totalDeductionDouble.ToMoney();
|
||||
var totalPayment = totalClaimsDouble - totalDeductionDouble;
|
||||
|
||||
@@ -177,14 +195,16 @@ public class CheckoutApplication : ICheckoutApplication
|
||||
{
|
||||
command.Signature = "0";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
var checkout = new Checkout(command.EmployeeFullName, command.FathersName ,command.NationalCode
|
||||
, command.DateOfBirth, command.EmployeeId, command.WorkshopName, command.WorkshopId, command.ContractNo, command.ContractStartGr, command.ContractEndGr, month, year,
|
||||
command.ContractId, command.WorkingHoursId, monthlyWage, bacicYears, consumableItem, housingAllowance
|
||||
, command.OvertimePay, command.NightworkPay, command.FridayPay, 0, command.ShiftPay, familyAllowance, bunos, years, command.LeavePay, insuranceDeduction, 0, 0, 0, command.AbsenceDeduction, sumOfWorkingDays,
|
||||
, command.OvertimePay, command.NightworkPay, command.FridayPay, 0, command.ShiftPay, familyAllowance, bunos, years, command.LeavePay, insuranceDeduction, 0, command.InstallmentDeduction, command.SalaryAidDeduction, command.AbsenceDeduction, sumOfWorkingDays,
|
||||
command.ArchiveCode, command.PersonnelCode, totalClaims, totalDeductions, totalPayment, command.Signature,marriedAllowance,command.LeaveCheckout,command.CreditLeaves,command.AbsencePeriod,command.AverageHoursPerDay,command.HasRollCall,command.OverTimeWorkValue,command.OverNightWorkValue
|
||||
,command.FridayWorkValue, command.RotatingShiftValue,command.AbsenceValue,command.TotalDayOfLeaveCompute,command.TotalDayOfYearsCompute,command.TotalDayOfBunosesCompute);
|
||||
_checkoutRepository.CreateCkeckout(checkout);
|
||||
,command.FridayWorkValue, command.RotatingShiftValue,command.AbsenceValue,command.TotalDayOfLeaveCompute,command.TotalDayOfYearsCompute,command.TotalDayOfBunosesCompute,loanInstallments, salaryAids);
|
||||
_checkoutRepository.CreateCkeckout(checkout).GetAwaiter().GetResult();
|
||||
//_checkoutRepository.SaveChanges();
|
||||
|
||||
//var employeeFullName = new SqlParameter("@EmployeeFullName", SqlDbType.NVarChar, 50);
|
||||
|
||||
@@ -352,6 +352,15 @@ public class CustomizeWorkshopSettingsApplication(ICustomizeWorkshopSettingsRepo
|
||||
return op.Failed("گروه انتخاب شده نا معتبر است");
|
||||
}
|
||||
|
||||
if (_customizeWorkshopEmployeeSettingsRepository
|
||||
.Exists(x => x.WorkshopId == command.WorkshopId && command.EmployeeIds.Contains(x.EmployeeId)))
|
||||
{
|
||||
foreach (var employeeId in command.EmployeeIds)
|
||||
{
|
||||
_customizeWorkshopEmployeeSettingsRepository.RemoveByWorkshopIdAndEmployeeId(command.WorkshopId, employeeId);
|
||||
}
|
||||
}
|
||||
|
||||
if (customizeWorkshopGroupSettings.MainGroup)
|
||||
{
|
||||
var createDefaultEmployee = CreateEmployeeSettings(command);
|
||||
|
||||
@@ -28,7 +28,7 @@ public class EmployeeInsurancListDataApplication : IEmployeeInsurancListDataAppl
|
||||
|
||||
var employeeInsurancListData = new EmployeeInsurancListData(command.InsuranceListId, command.EmployeeId, command.WorkingDays, command.DailyWage, command.MonthlySalary, command.MonthlyBenefits,
|
||||
command.MonthlyBenefitsIncluded, command.BenefitsIncludedContinuous, command.BenefitsIncludedNonContinuous, command.InsuranceShare,
|
||||
command.StartWorkDate,command.LeftWorkDate,command.JobId,command.IncludeStatus, command.BaseYears,command.MarriedAllowance);
|
||||
command.StartWorkDate,command.LeftWorkDate,command.JobId,command.IncludeStatus, command.BaseYears,command.MarriedAllowance,command.OverTimePay,command.FamilyAllowance);
|
||||
_employeeInsurancListDataRepository.Create(employeeInsurancListData);
|
||||
_employeeInsurancListDataRepository.SaveChanges();
|
||||
return operation.Succcedded();
|
||||
|
||||
@@ -5,6 +5,7 @@ using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
|
||||
using Company.Domain.CheckoutAgg;
|
||||
using Company.Domain.DateSalaryAgg;
|
||||
using Company.Domain.DateSalaryItemAgg;
|
||||
using Company.Domain.EmployeeAgg;
|
||||
@@ -55,8 +56,9 @@ public class InsuranceListApplication: IInsuranceListApplication
|
||||
private readonly IPersonalContractingPartyApp _contractingPartyApp;
|
||||
private readonly ILeftWorkInsuranceRepository _leftWorkInsuranceRepository;
|
||||
private readonly IInsuranceYearlySalaryApplication _insuranceYearlySalaryApplication;
|
||||
private readonly ICheckoutRepository _checkoutRepository;
|
||||
|
||||
public InsuranceListApplication( IInsuranceListRepository insuranceListRepositpry, IEmployeeInsurancListDataRepository employeeInsurancListDataRepository, IInsuranceEmployeeInfoRepository insuranceEmployeeInfoRepository, IEmployeeRepository employeeRepository, IWorkshopRepository workShopRepository, ILeftWorkInsuranceApplication leftWorkInsuranceApplication, IInsuranceEmployeeInfoApplication insuranceEmployeeInfoApplication, IEmployeeInsurancListDataApplication employeeInsurancListDataApplication, IYearlySalaryApplication yearlySalaryApplication,IYearlySalaryItemApplication yearlySalaryItemApplication ,IInsuranceWorkshopInfoRepository insuranceWorkshopInfoRepository,IInsuranceJobItemRepositpry insuranceJobItemRepository, IDateSalaryRepository dateSalaryRepository, IDateSalaryItemRepository dateSalaryItemRepository, IPersonalContractingPartyApp contractingPartyApp, ILeftWorkInsuranceRepository leftWorkInsuranceRepository, IInsuranceYearlySalaryApplication insuranceYearlySalaryApplication)
|
||||
public InsuranceListApplication( IInsuranceListRepository insuranceListRepositpry, IEmployeeInsurancListDataRepository employeeInsurancListDataRepository, IInsuranceEmployeeInfoRepository insuranceEmployeeInfoRepository, IEmployeeRepository employeeRepository, IWorkshopRepository workShopRepository, ILeftWorkInsuranceApplication leftWorkInsuranceApplication, IInsuranceEmployeeInfoApplication insuranceEmployeeInfoApplication, IEmployeeInsurancListDataApplication employeeInsurancListDataApplication, IYearlySalaryApplication yearlySalaryApplication,IYearlySalaryItemApplication yearlySalaryItemApplication ,IInsuranceWorkshopInfoRepository insuranceWorkshopInfoRepository,IInsuranceJobItemRepositpry insuranceJobItemRepository, IDateSalaryRepository dateSalaryRepository, IDateSalaryItemRepository dateSalaryItemRepository, IPersonalContractingPartyApp contractingPartyApp, ILeftWorkInsuranceRepository leftWorkInsuranceRepository, IInsuranceYearlySalaryApplication insuranceYearlySalaryApplication, ICheckoutRepository checkoutRepository)
|
||||
{
|
||||
// _transactionManager = transactionManager;
|
||||
|
||||
@@ -77,6 +79,7 @@ public class InsuranceListApplication: IInsuranceListApplication
|
||||
_contractingPartyApp = contractingPartyApp;
|
||||
_leftWorkInsuranceRepository = leftWorkInsuranceRepository;
|
||||
_insuranceYearlySalaryApplication = insuranceYearlySalaryApplication;
|
||||
_checkoutRepository = checkoutRepository;
|
||||
}
|
||||
|
||||
public OperationResult Create(CreateInsuranceList command)
|
||||
@@ -379,7 +382,7 @@ public class InsuranceListApplication: IInsuranceListApplication
|
||||
|
||||
var result = new MainEmployeeDetailsViewModel();
|
||||
var workshopId = searchModel.WorkshopIds.FirstOrDefault();
|
||||
//var employerId = _workShopRepository.GetDetails(workshopId).EmployerIdList.FirstOrDefault();
|
||||
var workshop = _workShopRepository.GetDetails(workshopId);
|
||||
//var isBolock = _contractingPartyApp.IsBlockByEmployerId(employerId);
|
||||
var isBolock = _contractingPartyApp.IsBlockCheckByWorkshopId(workshopId);
|
||||
double monthlybaseYear = 0;
|
||||
@@ -388,6 +391,7 @@ public class InsuranceListApplication: IInsuranceListApplication
|
||||
x.Year == searchModel.Year && x.Month == searchModel.Month &&
|
||||
searchModel.WorkshopIds.Contains(x.WorkshopId)))
|
||||
{
|
||||
|
||||
var startMonthFa = $"{searchModel.Year}/{searchModel.Month.PadLeft(2, '0')}/01";
|
||||
DateTime startDateGr = startMonthFa.ToGeorgianDateTime();
|
||||
DateTime endDateGr = startMonthFa.FindeEndOfMonth()
|
||||
@@ -408,10 +412,41 @@ public class InsuranceListApplication: IInsuranceListApplication
|
||||
_insuranceListRepositpry.GetEmployeeInsuranceDataAmonthAgo(startDateGr, workshopId);
|
||||
watch.Start();
|
||||
var computeResult = employeesInfoAndLeftWorks.Select(employee =>
|
||||
{
|
||||
var dateOfBirth = employee.DateOfBirthGr.ToFarsi();
|
||||
var dateOfIssue = employee.DateOfIssueGr.ToFarsi();
|
||||
var leftDate = employee.LeftWorkDateGr != null ? employee.LeftWorkDateGr.Value.AddDays(-1) : new DateTime();
|
||||
{
|
||||
var dateOfBirth = employee.DateOfBirthGr.ToFarsi();
|
||||
var dateOfIssue = employee.DateOfIssueGr.ToFarsi();
|
||||
var leftDate = employee.LeftWorkDateGr != null ? employee.LeftWorkDateGr.Value.AddDays(-1) : new DateTime();
|
||||
|
||||
bool isManager = employee.JobId is 10 or 16 or 17 or 18 or 3498;
|
||||
|
||||
//آیا در کارگاه تیک محاسبه اضافه کار یا حق اولاد زده شده است؟
|
||||
bool hasWorkshopOverTimeOrFamilyAllowance =
|
||||
workshop.InsuranceCheckoutFamilyAllowance || workshop.InsuranceCheckoutOvertime;
|
||||
|
||||
//آیا پرسنل فیش حقوق دارد
|
||||
//این مورد زمانی چک می شود که تیک محاسبه در کارگاه زده شده باشد
|
||||
// در غیر اینصورت بصورت پیشفرض دارای فیش حقوق در نظر گرفته می شود
|
||||
bool employeeHasCheckout = true;
|
||||
double familyAllowance = 0;
|
||||
double overTimePay = 0;
|
||||
if (hasWorkshopOverTimeOrFamilyAllowance && (leftDate >= startDateGr || employee.LeftWorkDateGr == null))
|
||||
{
|
||||
var checkout = _checkoutRepository.HasCheckout(workshopId, employee.EmployeeId,
|
||||
searchModel.Year, searchModel.Month);
|
||||
if (checkout.hasChekout)
|
||||
{
|
||||
|
||||
familyAllowance = checkout.FamilyAlloance;
|
||||
overTimePay = checkout.OverTimePay;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
employeeHasCheckout = isManager == false ? false : true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
var workingDays = Tools.GetEmployeeInsuranceWorkingDays(employee.StartWorkDateGr, leftDate, startDateGr,endDateGr, employee.EmployeeId);
|
||||
var leftWorkFa = workingDays.hasLeftWorkInMonth ? employee.LeftWorkDateGr.ToFarsi(): "";
|
||||
@@ -424,7 +459,7 @@ public class InsuranceListApplication: IInsuranceListApplication
|
||||
var baseYears = _insuranceListRepositpry.GetEmployeeInsuranceBaseYear(employee.EmployeeId, workshopId,
|
||||
workingDays.countWorkingDays, startDateGr, endDateGr,workingDays.startWork, workingDays.endWork, workingDays.hasLeftWorkInMonth);
|
||||
//آیا کارفرما یا مدیر عامل است؟
|
||||
bool isManager = employee.JobId is 10 or 16 or 17 or 18 or 3498;
|
||||
|
||||
baseYears.baseYear = isManager ? 0 : baseYears.baseYear;
|
||||
Console.WriteLine(employee.JobId + " - "+ baseYears.baseYear);
|
||||
//جمع مزد روزانه و پایه سنوات
|
||||
@@ -439,12 +474,16 @@ public class InsuranceListApplication: IInsuranceListApplication
|
||||
|
||||
//محاسبه مزایای ماهانه
|
||||
var monthlyBenefits = GetMonthlyBenefits(endOfMonth, yearlysaleries.ConsumableItems, yearlysaleries.HousingAllowance, marriedAllowance, workingDays.countWorkingDays, searchModel.TypeOfInsuranceSendWorkshop, employee.JobId, employee.EmployeeId,employee.IncludeStatus);
|
||||
|
||||
|
||||
//if (employee.EmployeeId is 7999)// سید عباس خوشکلام سلیمان
|
||||
// monthlyBenefits = 80869389;
|
||||
//if (employee.EmployeeId is 43787)// شهرام براهیمی سیقلان
|
||||
// monthlyBenefits = 54748472;
|
||||
if (workshop.InsuranceCheckoutOvertime && employeeHasCheckout && !isManager)
|
||||
{
|
||||
|
||||
monthlyBenefits = GetRoundValue(monthlyBenefits += overTimePay);
|
||||
}
|
||||
|
||||
var marriedAllowanceCompute = MarriedAllowance(employee.MaritalStatus, employee.JobId, employee.IncludeStatus,
|
||||
workingDays.countWorkingDays, yearlysaleries.MarriedAllowance, endOfMonth);
|
||||
@@ -467,13 +506,22 @@ public class InsuranceListApplication: IInsuranceListApplication
|
||||
//مزیای عیر مشمول لیست قبل
|
||||
var benefitsIncludedNonContinuous =
|
||||
employeeListData != null ? employeeListData.BenefitsIncludedNonContinuous : 0;
|
||||
if (workshop.InsuranceCheckoutFamilyAllowance && employeeHasCheckout && !isManager)
|
||||
{
|
||||
|
||||
benefitsIncludedNonContinuous = GetRoundValue(benefitsIncludedNonContinuous + familyAllowance);
|
||||
}
|
||||
|
||||
|
||||
|
||||
var includedAndNotIncluded = benefitsIncludedContinuous + benefitsIncludedNonContinuous;
|
||||
|
||||
|
||||
return new EmployeeDetailsForInsuranceListViewModel
|
||||
{
|
||||
#region EmployeeInfo
|
||||
|
||||
InsuranceEmployeeInformationId = employee.InsuranceEmployeeInformationId,
|
||||
EmployeeHasCheckout = employeeHasCheckout,
|
||||
InsuranceEmployeeInformationId = employee.InsuranceEmployeeInformationId,
|
||||
EmployeeId = employee.EmployeeId,
|
||||
FName = employee.FName,
|
||||
LName = employee.LName,
|
||||
@@ -535,10 +583,10 @@ public class InsuranceListApplication: IInsuranceListApplication
|
||||
//جمع مزایای مشمول و دستمزد ماهانه
|
||||
BenefitsIncludedContinuous = benefitsIncludedContinuous,
|
||||
|
||||
//مزایای غیر مشمول
|
||||
//مزایای غیر مشمول *
|
||||
BenefitsIncludedNonContinuous = benefitsIncludedNonContinuous,
|
||||
|
||||
// جمع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول
|
||||
// جمع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول *
|
||||
IncludedAndNotIncluded = includedAndNotIncluded,
|
||||
|
||||
//حق بیمه سهم بیمه شده
|
||||
@@ -559,6 +607,8 @@ public class InsuranceListApplication: IInsuranceListApplication
|
||||
YearlySalaryItem = yearlysaleries.DayliWage,
|
||||
MonthlyBaseYearsStr = "0",
|
||||
MonthlyBaseYears = 0,
|
||||
OverTimePay = overTimePay,
|
||||
FamilyAllowance = familyAllowance
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -1423,6 +1473,7 @@ public class InsuranceListApplication: IInsuranceListApplication
|
||||
var workingDays = Tools.GetEmployeeInsuranceWorkingDays(employeeData.StartWorkDateGr, leftDate, startDateGr, endDateGr, employeeData.EmployeeId);
|
||||
var leftWorkFa = workingDays.hasLeftWorkInMonth ? employeeData.LeftWorkDateGr.ToFarsi() : "";
|
||||
var startWorkFa = employeeData.StartWorkDateGr.ToFarsi();
|
||||
var workshop = _workShopRepository.GetDetails(workshopId);
|
||||
|
||||
//آیا کارفرما است
|
||||
bool isManager = employeeData.JobId is 10 or 16 or 17 or 18 or 3498;
|
||||
@@ -1432,9 +1483,53 @@ public class InsuranceListApplication: IInsuranceListApplication
|
||||
|
||||
// محاسبه بیمه بیکاری
|
||||
var unEmploymentInsurance = (employeeData.BenefitsIncludedContinuous * 3) / 100;
|
||||
|
||||
|
||||
//آیا در کارگاه تیک محاسبه اضافه کار یا حق اولاد زده شده است؟
|
||||
//این مورد زمانی چک می شود که تیک محاسبه در کارگاه زده شده باشد
|
||||
// در غیر اینصورت بصورت پیشفرض دارای فیش حقوق در نظر گرفته می شود
|
||||
bool hasWorkshopOverTimeOrFamilyAllowance =
|
||||
workshop.InsuranceCheckoutFamilyAllowance || workshop.InsuranceCheckoutOvertime;
|
||||
|
||||
bool employeeHasCheckout = true;
|
||||
bool hasOverTimePay = false;
|
||||
bool hasFamilyAllowance = false;
|
||||
|
||||
if (hasWorkshopOverTimeOrFamilyAllowance && (leftDate >= startDateGr || employeeData.LeftWorkDateGr == null))
|
||||
{
|
||||
var checkout = _checkoutRepository.HasCheckout(workshopId, employeeData.EmployeeId,
|
||||
searchModel.Year, searchModel.Month);
|
||||
if (checkout.hasChekout)
|
||||
{
|
||||
if (checkout.OverTimePay > 0)
|
||||
hasOverTimePay = true;
|
||||
if (checkout.FamilyAlloance > 0)
|
||||
hasFamilyAllowance = true;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
employeeHasCheckout = isManager == false ? false : true;
|
||||
}
|
||||
}
|
||||
|
||||
bool familyAllowanceIsSet = true;
|
||||
bool overTimePayIsSet = true;
|
||||
if (workshop.InsuranceCheckoutFamilyAllowance && employeeHasCheckout && employeeData.FamilyAllowance == 0 && hasFamilyAllowance && !isManager)
|
||||
{
|
||||
|
||||
familyAllowanceIsSet = false;
|
||||
}
|
||||
|
||||
if (workshop.InsuranceCheckoutOvertime && employeeHasCheckout && employeeData.OverTimePay == 0 && hasOverTimePay && !isManager)
|
||||
{
|
||||
|
||||
overTimePayIsSet = false;
|
||||
}
|
||||
return new EmployeeDetailsForInsuranceListViewModel
|
||||
{
|
||||
#region EmployeeInfo
|
||||
#region EmployeeInfo
|
||||
EmployeeHasCheckout = employeeHasCheckout,
|
||||
EmployeeInsurancListDataId = employeeData.EmployeeInsurancListDataId,
|
||||
|
||||
InsuranceEmployeeInformationId = employeeData.InsuranceEmployeeInformationId,
|
||||
@@ -1523,6 +1618,9 @@ public class InsuranceListApplication: IInsuranceListApplication
|
||||
YearlySalaryItem = yearlysaleries.DayliWage,
|
||||
MonthlyBaseYearsStr = "0",
|
||||
MonthlyBaseYears = 0,
|
||||
|
||||
OverTimeIsSet = overTimePayIsSet,
|
||||
FamilyAllowanceIsSet = familyAllowanceIsSet
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
@@ -44,6 +44,8 @@ public class InsuranceWorkshopInfoApplication: IInsuranceWorkshopInfoApplication
|
||||
workshop.InsuranceJobId = workshopObj.InsuranceJobId;
|
||||
workshop.InsuranceCode = workshopObj.InsuranceCode;
|
||||
workshop.AgreementNumber = workshopObj.AgreementNumber;
|
||||
workshop.InsuranceCheckoutOvertime = workshopObj.InsuranceCheckoutOvertime;
|
||||
workshop.InsuranceCheckoutFamilyAllowance = workshopObj.InsuranceCheckoutFamilyAllowance;
|
||||
return workshop;
|
||||
}
|
||||
else
|
||||
@@ -60,6 +62,8 @@ public class InsuranceWorkshopInfoApplication: IInsuranceWorkshopInfoApplication
|
||||
workshop.FixedSalary = workshopObj.FixedSalary;
|
||||
workshop.Population = workshopObj.Population;
|
||||
workshop.InsuranceJobId = workshopObj.InsuranceJobId;
|
||||
workshop.InsuranceCheckoutOvertime = workshopObj.InsuranceCheckoutOvertime;
|
||||
workshop.InsuranceCheckoutFamilyAllowance = workshopObj.InsuranceCheckoutFamilyAllowance;
|
||||
return workshop;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Reflection.Metadata.Ecma335;
|
||||
using System.Threading.Tasks;
|
||||
using System.Transactions;
|
||||
using _0_Framework.Application;
|
||||
using Company.Domain.CheckoutAgg;
|
||||
using Company.Domain.CustomizeCheckoutAgg;
|
||||
using Company.Domain.CustomizeCheckoutTempAgg;
|
||||
using Company.Domain.LoanAgg;
|
||||
using Company.Domain.LoanAgg.Entities;
|
||||
using CompanyManagment.App.Contracts.CustomizeCheckout;
|
||||
using CompanyManagment.App.Contracts.Loan;
|
||||
using Hangfire.States;
|
||||
using Microsoft.AspNetCore.Mvc.Infrastructure;
|
||||
using Microsoft.Extensions.Configuration.UserSecrets;
|
||||
|
||||
namespace CompanyManagment.Application;
|
||||
|
||||
@@ -27,14 +21,16 @@ public class LoanApplication : ILoanApplication
|
||||
private readonly ICustomizeCheckoutTempRepository _customizeCheckoutTempRepository;
|
||||
private readonly ICustomizeCheckoutApplication _customizeCheckoutApplication;
|
||||
private readonly ICustomizeCheckoutTempApplication _customizeCheckoutTempApplication;
|
||||
private readonly ICustomizeCheckoutRepository _checkoutRepository;
|
||||
|
||||
public LoanApplication(ILoanRepository loanRepository, ICustomizeCheckoutRepository customizeCheckoutRepository, ICustomizeCheckoutTempRepository customizeCheckoutTempRepository, IAuthHelper authHelper, ICustomizeCheckoutApplication customizeCheckoutApplication, ICustomizeCheckoutTempApplication customizeCheckoutTempApplication)
|
||||
public LoanApplication(ILoanRepository loanRepository, ICustomizeCheckoutRepository customizeCheckoutRepository, ICustomizeCheckoutTempRepository customizeCheckoutTempRepository, IAuthHelper authHelper, ICustomizeCheckoutApplication customizeCheckoutApplication, ICustomizeCheckoutTempApplication customizeCheckoutTempApplication, ICustomizeCheckoutRepository checkoutRepository)
|
||||
{
|
||||
_loanRepository = loanRepository;
|
||||
_customizeCheckoutRepository = customizeCheckoutRepository;
|
||||
_authHelper = authHelper;
|
||||
_customizeCheckoutApplication = customizeCheckoutApplication;
|
||||
_customizeCheckoutTempApplication = customizeCheckoutTempApplication;
|
||||
_checkoutRepository = checkoutRepository;
|
||||
_customizeCheckoutTempRepository = customizeCheckoutTempRepository;
|
||||
}
|
||||
|
||||
@@ -90,7 +86,7 @@ public class LoanApplication : ILoanApplication
|
||||
}
|
||||
#endregion
|
||||
|
||||
var (userId, userType,_) = _authHelper.GetUserTypeWithId();
|
||||
var (userId, userType, _) = _authHelper.GetUserTypeWithId();
|
||||
using var transaction = new TransactionScope();
|
||||
foreach (var employeeId in command.EmployeeIds)
|
||||
{
|
||||
@@ -165,6 +161,7 @@ public class LoanApplication : ILoanApplication
|
||||
}
|
||||
|
||||
_loanRepository.SaveChanges();
|
||||
transaction.Complete();
|
||||
return op.Succcedded();
|
||||
}
|
||||
|
||||
@@ -306,6 +303,14 @@ public class LoanApplication : ILoanApplication
|
||||
return op.Failed("این پرسنل در این تاریخ دارای فیش حقوقی است");
|
||||
}
|
||||
|
||||
|
||||
if (_checkoutRepository.Exists(x =>
|
||||
entity.EmployeeId == x.EmployeeId && x.WorkshopId == entity.WorkshopId &&
|
||||
(x.ContractStart >= entity.StartInstallmentPayment && x.ContractStart <= lastInstallment)))
|
||||
{
|
||||
return op.Failed("پرسنل در بازه اقساط خود دارای فیش رسمی است");
|
||||
}
|
||||
|
||||
if (_customizeCheckoutTempRepository.Exists(x =>
|
||||
entity.EmployeeId == x.EmployeeId && x.WorkshopId == entity.WorkshopId &&
|
||||
(x.ContractStart >= entity.StartInstallmentPayment && x.ContractStart <= lastInstallment)))
|
||||
@@ -324,6 +329,33 @@ public class LoanApplication : ILoanApplication
|
||||
{
|
||||
OperationResult op = new OperationResult();
|
||||
var loans = _loanRepository.GetBy(ids);
|
||||
foreach (var entity in loans)
|
||||
{
|
||||
var lastInstallment = entity.LoanInstallments.MaxBy(x => x.InstallmentDate).InstallmentDate;
|
||||
|
||||
if (_customizeCheckoutRepository.Exists(x =>
|
||||
entity.EmployeeId == x.EmployeeId && x.WorkshopId == entity.WorkshopId &&
|
||||
(x.ContractStart >= entity.StartInstallmentPayment && x.ContractStart <= lastInstallment)))
|
||||
{
|
||||
return op.Failed("این پرسنل در این تاریخ دارای فیش حقوقی است");
|
||||
}
|
||||
|
||||
|
||||
if (_checkoutRepository.Exists(x =>
|
||||
entity.EmployeeId == x.EmployeeId && x.WorkshopId == entity.WorkshopId &&
|
||||
(x.ContractStart >= entity.StartInstallmentPayment && x.ContractStart <= lastInstallment)))
|
||||
{
|
||||
return op.Failed("پرسنل در بازه اقساط خود دارای فیش رسمی است");
|
||||
}
|
||||
|
||||
if (_customizeCheckoutTempRepository.Exists(x =>
|
||||
entity.EmployeeId == x.EmployeeId && x.WorkshopId == entity.WorkshopId &&
|
||||
(x.ContractStart >= entity.StartInstallmentPayment && x.ContractStart <= lastInstallment)))
|
||||
{
|
||||
return op.Failed("پرسنل در بازه اقساط خود دارای فیش غیررسمی است");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
_loanRepository.RemoveRange(loans);
|
||||
_loanRepository.SaveChanges();
|
||||
|
||||
@@ -470,7 +470,7 @@ public class RollCallApplication : IRollCallApplication
|
||||
|
||||
|
||||
if (newRollCallDates.Any(x => employeeRollCalls.Any(y =>
|
||||
y.StartDate.Value.Date != command.DateFa.ToGeorgianDateTime().Date &&
|
||||
y.ShiftDate.Date != command.DateFa.ToGeorgianDateTime().Date &&
|
||||
x.EndDate >= y.StartDate.Value && x.StartDate <= y.EndDate.Value)))
|
||||
return operation.Failed("بازه های وارد شده با حضور غیاب های مربوط به روز های قبل و بعد تداخل زمانی دارد");
|
||||
|
||||
@@ -504,6 +504,12 @@ public class RollCallApplication : IRollCallApplication
|
||||
_rollCallRepository.AddRange(rollCallsAsEntityModels);
|
||||
_rollCallRepository.SaveChanges();
|
||||
foreach (var rollCallsAsEntityModel in rollCallsAsEntityModels)
|
||||
{
|
||||
rollCallsAsEntityModel.ClearTimeDiff();
|
||||
rollCallsAsEntityModel.SetShiftDate(_rollCallDomainService);
|
||||
}
|
||||
_rollCallRepository.SaveChanges();
|
||||
foreach (var rollCallsAsEntityModel in rollCallsAsEntityModels)
|
||||
{
|
||||
rollCallsAsEntityModel.Edit(rollCallsAsEntityModel.StartDate.Value, rollCallsAsEntityModel.EndDate.Value, _rollCallDomainService);
|
||||
}
|
||||
@@ -644,7 +650,7 @@ public class RollCallApplication : IRollCallApplication
|
||||
}
|
||||
|
||||
if (newRollCallDates.Any(x => employeeRollCalls.Any(y =>
|
||||
y.StartDate.Value.Date != command.DateFa.ToGeorgianDateTime().Date &&
|
||||
y.ShiftDate.Date != command.DateFa.ToGeorgianDateTime().Date &&
|
||||
x.EndDate >= y.StartDate.Value && x.StartDate <= y.EndDate.Value)))
|
||||
return operation.Failed("بازه های وارد شده با حضور غیاب های مربوط به روز های قبل و بعد تداخل زمانی دارد");
|
||||
|
||||
@@ -673,6 +679,12 @@ public class RollCallApplication : IRollCallApplication
|
||||
|
||||
_rollCallRepository.AddRange(rollCallsAsEntityModels);
|
||||
_rollCallRepository.SaveChanges();
|
||||
foreach (var rollCallsAsEntityModel in rollCallsAsEntityModels)
|
||||
{
|
||||
rollCallsAsEntityModel.ClearTimeDiff();
|
||||
rollCallsAsEntityModel.SetShiftDate(_rollCallDomainService);
|
||||
}
|
||||
_rollCallRepository.SaveChanges();
|
||||
|
||||
foreach (var rollCallsAsEntityModel in rollCallsAsEntityModels)
|
||||
{
|
||||
|
||||
@@ -27,16 +27,18 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
private readonly IAuthHelper _authHelper;
|
||||
private readonly ICustomizeCheckoutApplication _customizeCheckoutApplication;
|
||||
private readonly ICustomizeCheckoutTempApplication _customizeCheckoutTempApplication;
|
||||
private readonly ICheckoutRepository _checkoutRepository;
|
||||
|
||||
|
||||
public SalaryAidApplication(ISalaryAidRepository salaryAidRepository, ICustomizeCheckoutRepository customizeCheckoutRepository,
|
||||
IEmployeeRepository employeeRepository, ICustomizeCheckoutTempRepository customizeCheckoutTempRepository, IAuthHelper authHelper, ICustomizeCheckoutApplication customizeCheckoutApplication, ICustomizeCheckoutTempApplication customizeCheckoutTempApplication)
|
||||
IEmployeeRepository employeeRepository, ICustomizeCheckoutTempRepository customizeCheckoutTempRepository, IAuthHelper authHelper, ICustomizeCheckoutApplication customizeCheckoutApplication, ICustomizeCheckoutTempApplication customizeCheckoutTempApplication, ICheckoutRepository checkoutRepository)
|
||||
{
|
||||
_salaryAidRepository = salaryAidRepository;
|
||||
_customizeCheckoutRepository = customizeCheckoutRepository;
|
||||
_authHelper = authHelper;
|
||||
_customizeCheckoutApplication = customizeCheckoutApplication;
|
||||
_customizeCheckoutTempApplication = customizeCheckoutTempApplication;
|
||||
_checkoutRepository = checkoutRepository;
|
||||
_employeeRepository = employeeRepository;
|
||||
_customizeCheckoutTempRepository = customizeCheckoutTempRepository;
|
||||
}
|
||||
@@ -95,18 +97,18 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
}
|
||||
|
||||
var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr,
|
||||
calculationDateGr, command.WorkshopId, command.EmployeeIds);
|
||||
calculationDateGr, command.WorkshopId, command.EmployeeIds);
|
||||
|
||||
//if (existsCheckouts.Checkout)
|
||||
// return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی رسمی صادر شده است مساعده ای دهید");
|
||||
if (existsCheckouts.Checkout)
|
||||
return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی رسمی صادر شده است مساعده ای دهید");
|
||||
|
||||
|
||||
var (userId, userType,_) = _authHelper.GetUserTypeWithId();
|
||||
var (userId, userType, _) = _authHelper.GetUserTypeWithId();
|
||||
using var transaction = new TransactionScope();
|
||||
foreach (var employeeId in command.EmployeeIds)
|
||||
{
|
||||
|
||||
var entity = new SalaryAid(employeeId, command.WorkshopId, command.Amount.MoneyToDouble(), startDate,userId,userType,command.CalculationMonth,command.CalculationYear);
|
||||
var entity = new SalaryAid(employeeId, command.WorkshopId, command.Amount.MoneyToDouble(), startDate, userId, userType, command.CalculationMonth, command.CalculationYear);
|
||||
_salaryAidRepository.Create(entity);
|
||||
_salaryAidRepository.SaveChanges();
|
||||
if (existsCheckouts.CustomizeCheckout)
|
||||
@@ -186,7 +188,7 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
var prevCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr,
|
||||
oneMonthAgoGr, entity.WorkshopId, [entity.EmployeeId]);
|
||||
|
||||
if (prevCheckouts.CustomizeCheckout || prevCheckouts.CustomizeCheckoutTemp)
|
||||
if (prevCheckouts.CustomizeCheckout || prevCheckouts.CustomizeCheckoutTemp)
|
||||
{
|
||||
return op.Failed("شما نمیتوانید در تاریخ قبل از یک ماه گذشته که فیش صادر شده باشد مساعده ای دهید");
|
||||
}
|
||||
@@ -194,16 +196,16 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
|
||||
|
||||
var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr,
|
||||
calculationDateGr, entity.WorkshopId, [entity.EmployeeId]);
|
||||
calculationDateGr, entity.WorkshopId, [entity.EmployeeId]);
|
||||
|
||||
//if (existsCheckouts.Checkout)
|
||||
// return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی رسمی صادر شده است مساعده ای دهید");
|
||||
if (existsCheckouts.Checkout)
|
||||
return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی رسمی صادر شده است مساعده ای دهید");
|
||||
|
||||
|
||||
using var transaction = new TransactionScope();
|
||||
var (userId, userType,_) = _authHelper.GetUserTypeWithId();
|
||||
var (userId, userType, _) = _authHelper.GetUserTypeWithId();
|
||||
|
||||
entity.Edit(Tools.MoneyToDouble(command.Amount),startDate,userId,userType,command.CalculationMonth,command.CalculationYear);
|
||||
entity.Edit(Tools.MoneyToDouble(command.Amount), startDate, userId, userType, command.CalculationMonth, command.CalculationYear);
|
||||
_salaryAidRepository.SaveChanges();
|
||||
|
||||
if (existsCheckouts.CustomizeCheckout)
|
||||
@@ -270,6 +272,12 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
return op.Failed("این پرسنل در این تاریخ دارای فیش حقوقی موقت است");
|
||||
}
|
||||
|
||||
if (_checkoutRepository.Exists(x => x.WorkshopId == entity.WorkshopId && entity.EmployeeId == x.EmployeeId &&
|
||||
x.ContractStart <= entity.CalculationDate && x.ContractEnd >= entity.CalculationDate))
|
||||
{
|
||||
return op.Failed("این پرسنل در این تاریخ دارای فیش حقوقی رسمی است");
|
||||
}
|
||||
|
||||
_salaryAidRepository.Remove(entity);
|
||||
_salaryAidRepository.SaveChanges();
|
||||
return op.Succcedded();
|
||||
@@ -325,14 +333,18 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
}
|
||||
|
||||
var existsCheckouts = _customizeCheckoutRepository.ValidateExistsCheckouts(calculationDateGr,
|
||||
calculationDateGr, command.WorkshopId, command.EmployeeIds);
|
||||
calculationDateGr, command.WorkshopId, command.EmployeeIds);
|
||||
|
||||
|
||||
if (existsCheckouts.Checkout)
|
||||
return op.Failed("شما نمیتوانید برای پرسنلی در تاریخی که برای فیش حقوقی رسمی صادر شده است مساعده ای دهید");
|
||||
|
||||
var month = Convert.ToInt32(command.CalculationMonth);
|
||||
var year = Convert.ToInt32(command.CalculationYear);
|
||||
|
||||
|
||||
|
||||
var (userId, userType,_) = _authHelper.GetUserTypeWithId();
|
||||
var (userId, userType, _) = _authHelper.GetUserTypeWithId();
|
||||
|
||||
foreach (var employeeId in command.EmployeeIds)
|
||||
{
|
||||
@@ -343,8 +355,8 @@ public class SalaryAidApplication : ISalaryAidApplication
|
||||
id = employee.id;
|
||||
}
|
||||
|
||||
var entity = new SalaryAid(id, command.WorkshopId, command.Amount.MoneyToDouble(), startDate, userId, userType, command.CalculationMonth, command.CalculationYear);
|
||||
_salaryAidRepository.Create(entity);
|
||||
var entity = new SalaryAid(id, command.WorkshopId, command.Amount.MoneyToDouble(), startDate, userId, userType, command.CalculationMonth, command.CalculationYear);
|
||||
_salaryAidRepository.Create(entity);
|
||||
_salaryAidRepository.SaveChanges();
|
||||
|
||||
if (existsCheckouts.CustomizeCheckout)
|
||||
|
||||
@@ -145,7 +145,7 @@ public class WorkshopAppliction : IWorkshopApplication
|
||||
command.ArchiveCode, command.AgentName, command.AgentPhone, command.State, command.City,
|
||||
command.Address,
|
||||
command.TypeOfInsuranceSend, command.TypeOfContract,command.ContractTerm,command.AgreementNumber
|
||||
,command.FixedSalary, command.Population,command.InsuranceJobId,command.ZoneName,command.AddBonusesPay,command.AddYearsPay,command.AddLeavePay,command.TotalPaymentHide,command.IsClassified,command.ComputeOptions,command.BonusesOptions,command.YearsOptions,command.HasRollCallFreeVip,command.WorkshopHolidayWorking);
|
||||
,command.FixedSalary, command.Population,command.InsuranceJobId,command.ZoneName,command.AddBonusesPay,command.AddYearsPay,command.AddLeavePay,command.TotalPaymentHide,command.IsClassified,command.ComputeOptions,command.BonusesOptions,command.YearsOptions,command.HasRollCallFreeVip,command.WorkshopHolidayWorking, command.InsuranceCheckoutOvertime, command.InsuranceCheckoutFamilyAllowance);
|
||||
_workshopRepository.Create(workshop);
|
||||
_workshopRepository.SaveChanges();
|
||||
|
||||
@@ -315,7 +315,7 @@ public class WorkshopAppliction : IWorkshopApplication
|
||||
command.Address,
|
||||
command.TypeOfInsuranceSend, command.TypeOfContract,command.ContractTerm, command.AgreementNumber
|
||||
, command.FixedSalary, command.Population, command.InsuranceJobId, command.ZoneName,
|
||||
command.AddBonusesPay, command.AddYearsPay, command.AddLeavePay, command.TotalPaymentHide,command.IsClassified, command.ComputeOptions,command.BonusesOptions, command.YearsOptions,command.HasRollCallFreeVip, command.WorkshopHolidayWorking);
|
||||
command.AddBonusesPay, command.AddYearsPay, command.AddLeavePay, command.TotalPaymentHide,command.IsClassified, command.ComputeOptions,command.BonusesOptions, command.YearsOptions,command.HasRollCallFreeVip, command.WorkshopHolidayWorking, command.InsuranceCheckoutOvertime,command.InsuranceCheckoutFamilyAllowance);
|
||||
_workshopRepository.SaveChanges();
|
||||
|
||||
_workshopRepository.RemoveOldRelation(command.Id);
|
||||
@@ -583,12 +583,13 @@ public class WorkshopAppliction : IWorkshopApplication
|
||||
//if (string.IsNullOrWhiteSpace(command.TypeOfInsuranceSend))
|
||||
// return operation.Failed("لطفا نوع ارسال لیست بیمه را مشخص کنید");
|
||||
|
||||
var workshop = new Workshop(command.WorkshopName, command.WorkshopSureName, command.InsuranceCode,
|
||||
command.TypeOfOwnership,
|
||||
command.ArchiveCode, command.AgentName, command.AgentPhone, command.State, command.City,
|
||||
command.Address,
|
||||
command.TypeOfInsuranceSend, command.TypeOfContract, command.ContractTerm, command.AgreementNumber
|
||||
, command.FixedSalary, command.Population, command.InsuranceJobId, command.ZoneName, command.AddBonusesPay, command.AddYearsPay, command.AddLeavePay,command.TotalPaymentHide, command.IsClassified, command.ComputeOptions, command.BonusesOptions, command.YearsOptions,command.HasRollCallFreeVip, command.WorkshopHolidayWorking);
|
||||
var workshop = new Workshop(command.WorkshopName, command.WorkshopSureName, command.InsuranceCode,command.TypeOfOwnership,
|
||||
command.ArchiveCode, command.AgentName, command.AgentPhone, command.State, command.City, command.Address,
|
||||
command.TypeOfInsuranceSend, command.TypeOfContract, command.ContractTerm, command.AgreementNumber, command.FixedSalary,
|
||||
command.Population, command.InsuranceJobId, command.ZoneName, command.AddBonusesPay,
|
||||
command.AddYearsPay, command.AddLeavePay,command.TotalPaymentHide, command.IsClassified, command.ComputeOptions,
|
||||
command.BonusesOptions, command.YearsOptions,command.HasRollCallFreeVip, command.WorkshopHolidayWorking,
|
||||
command.InsuranceCheckoutOvertime,command.InsuranceCheckoutFamilyAllowance);
|
||||
_workshopRepository.Create(workshop);
|
||||
_workshopRepository.SaveChanges();
|
||||
|
||||
@@ -665,7 +666,9 @@ public class WorkshopAppliction : IWorkshopApplication
|
||||
command.Address,
|
||||
command.TypeOfInsuranceSend, command.TypeOfContract, command.ContractTerm, command.AgreementNumber
|
||||
, command.FixedSalary, command.Population, command.InsuranceJobId, command.ZoneName,
|
||||
command.AddBonusesPay, command.AddYearsPay, command.AddLeavePay,command.TotalPaymentHide,command.IsClassified, command.ComputeOptions, command.BonusesOptions, command.YearsOptions,command.HasRollCallFreeVip, command.WorkshopHolidayWorking);
|
||||
command.AddBonusesPay, command.AddYearsPay, command.AddLeavePay,command.TotalPaymentHide,command.IsClassified,
|
||||
command.ComputeOptions, command.BonusesOptions, command.YearsOptions,command.HasRollCallFreeVip, command.WorkshopHolidayWorking,
|
||||
command.InsuranceCheckoutOvertime, command.InsuranceCheckoutFamilyAllowance);
|
||||
_workshopRepository.SaveChanges();
|
||||
|
||||
//_workshopRepository.RemoveOldRelation(command.Id);
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using Company.Domain.CheckoutAgg;
|
||||
using System;
|
||||
using _0_Framework.Application;
|
||||
using Company.Domain.CheckoutAgg;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
@@ -52,5 +54,24 @@ class CheckoutMapping : IEntityTypeConfiguration<Checkout>
|
||||
.WithMany(x => x.Checkouts)
|
||||
.HasForeignKey(x => x.WorkshopId);
|
||||
|
||||
builder.OwnsMany(x => x.LoanInstallments, installments =>
|
||||
{
|
||||
installments.Property(x => x.AmountForMonth).HasMaxLength(25);
|
||||
installments.Property(x => x.IsActive).HasConversion(
|
||||
v => v.ToString(),
|
||||
v => (IsActive)Enum.Parse(typeof(IsActive), v)).HasMaxLength(5);
|
||||
installments.Property(x => x.Year).HasMaxLength(4);
|
||||
installments.Property(x => x.Month).HasMaxLength(2);
|
||||
installments.Property(x => x.LoanRemaining).HasMaxLength(25);
|
||||
installments.Property(x => x.LoanAmount).HasMaxLength(30);
|
||||
|
||||
});
|
||||
|
||||
builder.OwnsMany(x => x.SalaryAids, salaryAid =>
|
||||
{
|
||||
salaryAid.Property(x => x.SalaryAidDateTimeFa).HasMaxLength(15);
|
||||
salaryAid.Property(x => x.Amount).HasMaxLength(25);
|
||||
salaryAid.Property(x => x.CalculationDateTimeFa).HasMaxLength(15);
|
||||
});
|
||||
}
|
||||
}
|
||||
9409
CompanyManagment.EFCore/Migrations/20250423104557_add calculationDate to salaryAid.Designer.cs
generated
Normal file
9409
CompanyManagment.EFCore/Migrations/20250423104557_add calculationDate to salaryAid.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class addcalculationDatetosalaryAid : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class addcalculationDatetocustomizecheckoutsalaryAid : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
9508
CompanyManagment.EFCore/Migrations/20250423132557_add salaryAid and loan to checkout.Designer.cs
generated
Normal file
9508
CompanyManagment.EFCore/Migrations/20250423132557_add salaryAid and loan to checkout.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,74 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class addsalaryAidandloantocheckout : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.CreateTable(
|
||||
name: "CheckoutLoanInstallment",
|
||||
columns: table => new
|
||||
{
|
||||
Checkoutid = table.Column<long>(type: "bigint", nullable: false),
|
||||
Id = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
AmountForMonth = table.Column<string>(type: "nvarchar(25)", maxLength: 25, nullable: true),
|
||||
Month = table.Column<string>(type: "nvarchar(2)", maxLength: 2, nullable: true),
|
||||
Year = table.Column<string>(type: "nvarchar(4)", maxLength: 4, nullable: true),
|
||||
LoanRemaining = table.Column<string>(type: "nvarchar(25)", maxLength: 25, nullable: true),
|
||||
IsActive = table.Column<string>(type: "nvarchar(5)", maxLength: 5, nullable: false),
|
||||
LoanAmount = table.Column<string>(type: "nvarchar(30)", maxLength: 30, nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_CheckoutLoanInstallment", x => new { x.Checkoutid, x.Id });
|
||||
table.ForeignKey(
|
||||
name: "FK_CheckoutLoanInstallment_Checkouts_Checkoutid",
|
||||
column: x => x.Checkoutid,
|
||||
principalTable: "Checkouts",
|
||||
principalColumn: "id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "CheckoutSalaryAid",
|
||||
columns: table => new
|
||||
{
|
||||
Checkoutid = table.Column<long>(type: "bigint", nullable: false),
|
||||
Id = table.Column<int>(type: "int", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
Amount = table.Column<string>(type: "nvarchar(25)", maxLength: 25, nullable: true),
|
||||
SalaryAidDateTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
SalaryAidDateTimeFa = table.Column<string>(type: "nvarchar(15)", maxLength: 15, nullable: true),
|
||||
CalculationDateTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CalculationDateTimeFa = table.Column<string>(type: "nvarchar(15)", maxLength: 15, nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_CheckoutSalaryAid", x => new { x.Checkoutid, x.Id });
|
||||
table.ForeignKey(
|
||||
name: "FK_CheckoutSalaryAid_Checkouts_Checkoutid",
|
||||
column: x => x.Checkoutid,
|
||||
principalTable: "Checkouts",
|
||||
principalColumn: "id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "CheckoutLoanInstallment");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "CheckoutSalaryAid");
|
||||
}
|
||||
}
|
||||
}
|
||||
9413
CompanyManagment.EFCore/Migrations/20250429180132_addNewPropToWorkshop.Designer.cs
generated
Normal file
9413
CompanyManagment.EFCore/Migrations/20250429180132_addNewPropToWorkshop.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,40 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class addNewPropToWorkshop : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "InsuranceCheckoutFamilyAllowance",
|
||||
table: "Workshops",
|
||||
type: "bit",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
|
||||
migrationBuilder.AddColumn<bool>(
|
||||
name: "InsuranceCheckoutOvertime",
|
||||
table: "Workshops",
|
||||
type: "bit",
|
||||
nullable: false,
|
||||
defaultValue: false);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "InsuranceCheckoutFamilyAllowance",
|
||||
table: "Workshops");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "InsuranceCheckoutOvertime",
|
||||
table: "Workshops");
|
||||
}
|
||||
}
|
||||
}
|
||||
9483
CompanyManagment.EFCore/Migrations/20250510145511_NewPropToEmployeeInsuranceListData.Designer.cs
generated
Normal file
9483
CompanyManagment.EFCore/Migrations/20250510145511_NewPropToEmployeeInsuranceListData.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,40 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class NewPropToEmployeeInsuranceListData : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<double>(
|
||||
name: "FamilyAllowance",
|
||||
table: "EmployeeInsurancListData",
|
||||
type: "float",
|
||||
nullable: false,
|
||||
defaultValue: 0.0);
|
||||
|
||||
migrationBuilder.AddColumn<double>(
|
||||
name: "OverTimePay",
|
||||
table: "EmployeeInsurancListData",
|
||||
type: "float",
|
||||
nullable: false,
|
||||
defaultValue: 0.0);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "FamilyAllowance",
|
||||
table: "EmployeeInsurancListData");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "OverTimePay",
|
||||
table: "EmployeeInsurancListData");
|
||||
}
|
||||
}
|
||||
}
|
||||
9624
CompanyManagment.EFCore/Migrations/20250512140344_add entity Id to Checkout ValueObjects.Designer.cs
generated
Normal file
9624
CompanyManagment.EFCore/Migrations/20250512140344_add entity Id to Checkout ValueObjects.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,40 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class addentityIdtoCheckoutValueObjects : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<long>(
|
||||
name: "EntityId",
|
||||
table: "CheckoutSalaryAid",
|
||||
type: "bigint",
|
||||
nullable: false,
|
||||
defaultValue: 0L);
|
||||
|
||||
migrationBuilder.AddColumn<long>(
|
||||
name: "EntityId",
|
||||
table: "CheckoutLoanInstallment",
|
||||
type: "bigint",
|
||||
nullable: false,
|
||||
defaultValue: 0L);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EntityId",
|
||||
table: "CheckoutSalaryAid");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "EntityId",
|
||||
table: "CheckoutLoanInstallment");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2001,6 +2001,9 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
b.Property<long>("EmployeeId")
|
||||
.HasColumnType("bigint");
|
||||
|
||||
b.Property<double>("FamilyAllowance")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.Property<bool>("IncludeStatus")
|
||||
.HasColumnType("bit");
|
||||
|
||||
@@ -2028,6 +2031,9 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
b.Property<double>("MonthlySalary")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.Property<double>("OverTimePay")
|
||||
.HasColumnType("float");
|
||||
|
||||
b.Property<DateTime>("StartWorkDate")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
@@ -5599,6 +5605,12 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
.HasMaxLength(5)
|
||||
.HasColumnType("nvarchar(5)");
|
||||
|
||||
b.Property<bool>("InsuranceCheckoutFamilyAllowance")
|
||||
.HasColumnType("bit");
|
||||
|
||||
b.Property<bool>("InsuranceCheckoutOvertime")
|
||||
.HasColumnType("bit");
|
||||
|
||||
b.Property<string>("InsuranceCode")
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("nvarchar(100)");
|
||||
@@ -6105,6 +6117,97 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.OwnsMany("Company.Domain.CheckoutAgg.ValueObjects.CheckoutLoanInstallment", "LoanInstallments", b1 =>
|
||||
{
|
||||
b1.Property<long>("Checkoutid")
|
||||
.HasColumnType("bigint");
|
||||
|
||||
b1.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property<int>("Id"));
|
||||
|
||||
b1.Property<string>("AmountForMonth")
|
||||
.HasMaxLength(25)
|
||||
.HasColumnType("nvarchar(25)");
|
||||
|
||||
b1.Property<long>("EntityId")
|
||||
.HasColumnType("bigint");
|
||||
|
||||
b1.Property<string>("IsActive")
|
||||
.IsRequired()
|
||||
.HasMaxLength(5)
|
||||
.HasColumnType("nvarchar(5)");
|
||||
|
||||
b1.Property<string>("LoanAmount")
|
||||
.HasMaxLength(30)
|
||||
.HasColumnType("nvarchar(30)");
|
||||
|
||||
b1.Property<string>("LoanRemaining")
|
||||
.HasMaxLength(25)
|
||||
.HasColumnType("nvarchar(25)");
|
||||
|
||||
b1.Property<string>("Month")
|
||||
.HasMaxLength(2)
|
||||
.HasColumnType("nvarchar(2)");
|
||||
|
||||
b1.Property<string>("Year")
|
||||
.HasMaxLength(4)
|
||||
.HasColumnType("nvarchar(4)");
|
||||
|
||||
b1.HasKey("Checkoutid", "Id");
|
||||
|
||||
b1.ToTable("CheckoutLoanInstallment");
|
||||
|
||||
b1.WithOwner()
|
||||
.HasForeignKey("Checkoutid");
|
||||
});
|
||||
|
||||
b.OwnsMany("Company.Domain.CheckoutAgg.ValueObjects.CheckoutSalaryAid", "SalaryAids", b1 =>
|
||||
{
|
||||
b1.Property<long>("Checkoutid")
|
||||
.HasColumnType("bigint");
|
||||
|
||||
b1.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property<int>("Id"));
|
||||
|
||||
b1.Property<string>("Amount")
|
||||
.HasMaxLength(25)
|
||||
.HasColumnType("nvarchar(25)");
|
||||
|
||||
b1.Property<DateTime>("CalculationDateTime")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b1.Property<string>("CalculationDateTimeFa")
|
||||
.HasMaxLength(15)
|
||||
.HasColumnType("nvarchar(15)");
|
||||
|
||||
b1.Property<long>("EntityId")
|
||||
.HasColumnType("bigint");
|
||||
|
||||
b1.Property<DateTime>("SalaryAidDateTime")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b1.Property<string>("SalaryAidDateTimeFa")
|
||||
.HasMaxLength(15)
|
||||
.HasColumnType("nvarchar(15)");
|
||||
|
||||
b1.HasKey("Checkoutid", "Id");
|
||||
|
||||
b1.ToTable("CheckoutSalaryAid");
|
||||
|
||||
b1.WithOwner()
|
||||
.HasForeignKey("Checkoutid");
|
||||
});
|
||||
|
||||
b.Navigation("LoanInstallments");
|
||||
|
||||
b.Navigation("SalaryAids");
|
||||
|
||||
b.Navigation("Workshop");
|
||||
});
|
||||
|
||||
|
||||
@@ -13,6 +13,8 @@ using CompanyManagment.App.Contracts.Contract;
|
||||
using CompanyManagment.App.Contracts.Employee;
|
||||
using CompanyManagment.App.Contracts.Leave;
|
||||
using CompanyManagment.App.Contracts.LeftWork;
|
||||
using CompanyManagment.App.Contracts.Loan;
|
||||
using CompanyManagment.App.Contracts.SalaryAid;
|
||||
using CompanyManagment.App.Contracts.WorkingHours;
|
||||
using CompanyManagment.App.Contracts.WorkingHoursTemp;
|
||||
using CompanyManagment.App.Contracts.Workshop;
|
||||
@@ -47,6 +49,27 @@ public class CheckoutRepository : RepositoryBase<long, Checkout>, ICheckoutRepos
|
||||
_rollCallRepository = rollCallRepository;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// چیک میکند که آیا پرسنل در سال و ماه درخواستی در این کارگاه فیش حقوقی دارد یا خیر
|
||||
/// </summary>
|
||||
/// <param name="workshopId"></param>
|
||||
/// <param name="employeId"></param>
|
||||
/// <param name="سال به صورت رشته عددی"></param>
|
||||
/// <param name="ماه بصورت رشته عددی"></param>
|
||||
/// <returns></returns>
|
||||
public (bool hasChekout, double FamilyAlloance, double OverTimePay) HasCheckout(long workshopId, long employeId, string year, string month)
|
||||
{
|
||||
var farisMonthName = Tools.ToFarsiMonthByNumber(month);
|
||||
|
||||
var res = _context.CheckoutSet.FirstOrDefault(x =>
|
||||
x.WorkshopId == workshopId && x.EmployeeId == employeId && x.Year == year && x.Month == farisMonthName &&
|
||||
x.IsActiveString == "true");
|
||||
if (res == null)
|
||||
return (false, 0, 0);
|
||||
|
||||
return (true, res.FamilyAllowance, res.OvertimePay);
|
||||
}
|
||||
|
||||
public EditCheckout GetDetails(long id)
|
||||
{
|
||||
return _context.CheckoutSet.Select(x => new EditCheckout()
|
||||
@@ -95,14 +118,24 @@ public class CheckoutRepository : RepositoryBase<long, Checkout>, ICheckoutRepos
|
||||
.FirstOrDefault(x => x.Id == id);
|
||||
}
|
||||
|
||||
public void CreateCkeckout(Checkout command)
|
||||
public async Task CreateCkeckout(Checkout command)
|
||||
{
|
||||
|
||||
var creationDates = DateTime.Now;
|
||||
|
||||
//var result = await _context.Database.ExecuteSqlInterpolatedAsync($"EXEC InsertQuery_Checkout {id},{employeeFullName},{isActiveString},{signature},{fathersName},{nationalCode},{dateOfBirth},{employeeId},{workshopName},{workshopId},{contractNo},{contractStart},{contractEnd},{month},{year},{contractId},{workingHoursId},{monthlySalary},{baseYearsPay},{consumableItems},{housingAllowance},{overtimePay},{nightworkPay},{fridayPay},{missionPay},{shiftPay},{familyAllowance},{bonusesPay},{yearsPay},{leavePay},{insuranceDeduction},{taxDeducation},{installmentDeduction},{salaryAidDeduction},{absenceDeduction},{creationDate},{archiveCode},{personnelCode},{sumOfWorkingDays},{totalClaims},{taxDeducation},{totalPayment}");
|
||||
var result = _context.Database.ExecuteSqlInterpolated(
|
||||
$"EXEC InsertQuery_CreateChekoute {command.EmployeeFullName},{"true"},{command.Signature},{command.FathersName},{command.NationalCode},{command.DateOfBirth},{command.EmployeeId},{command.WorkshopName},{command.WorkshopId},{command.ContractNo},{command.ContractStart},{command.ContractEnd},{command.Month},{command.Year},{command.ContractId},{command.WorkingHoursId},{command.MonthlySalary},{command.BaseYearsPay},{command.ConsumableItems},{command.HousingAllowance},{command.OvertimePay},{command.NightworkPay},{command.FridayPay},{command.MissionPay},{command.ShiftPay},{command.FamilyAllowance},{command.BonusesPay},{command.YearsPay},{command.LeavePay},{command.InsuranceDeduction},{command.TaxDeducation},{command.InstallmentDeduction},{command.SalaryAidDeduction},{command.AbsenceDeduction},{creationDates},{command.ArchiveCode},{command.PersonnelCode},{command.SumOfWorkingDays},{command.TotalClaims},{command.TotalDeductions},{command.TotalPayment},{0},{command.MarriedAllowance},{command.AbsencePeriod},{command.AverageHoursPerDay},{command.CreditLeaves},{command.LeaveCheckout},{command.HasRollCall},{command.OverTimeWorkValue},{command.OverNightWorkValue},{command.FridayWorkValue},{command.RotatingShiftValue},{command.AbsenceValue}, {command.TotalDayOfLeaveCompute},{command.TotalDayOfYearsCompute},{command.TotalDayOfBunosesCompute}");
|
||||
var result = ( _context.Database
|
||||
.SqlQuery<long>(
|
||||
$"EXEC InsertQuery_CreateChekoute {command.EmployeeFullName},{"true"},{command.Signature},{command.FathersName},{command.NationalCode},{command.DateOfBirth},{command.EmployeeId},{command.WorkshopName},{command.WorkshopId},{command.ContractNo},{command.ContractStart},{command.ContractEnd},{command.Month},{command.Year},{command.ContractId},{command.WorkingHoursId},{command.MonthlySalary},{command.BaseYearsPay},{command.ConsumableItems},{command.HousingAllowance},{command.OvertimePay},{command.NightworkPay},{command.FridayPay},{command.MissionPay},{command.ShiftPay},{command.FamilyAllowance},{command.BonusesPay},{command.YearsPay},{command.LeavePay},{command.InsuranceDeduction},{command.TaxDeducation},{command.InstallmentDeduction},{command.SalaryAidDeduction},{command.AbsenceDeduction},{creationDates},{command.ArchiveCode},{command.PersonnelCode},{command.SumOfWorkingDays},{command.TotalClaims},{command.TotalDeductions},{command.TotalPayment},{0},{command.MarriedAllowance},{command.AbsencePeriod},{command.AverageHoursPerDay},{command.CreditLeaves},{command.LeaveCheckout},{command.HasRollCall},{command.OverTimeWorkValue},{command.OverNightWorkValue},{command.FridayWorkValue},{command.RotatingShiftValue},{command.AbsenceValue}, {command.TotalDayOfLeaveCompute},{command.TotalDayOfYearsCompute},{command.TotalDayOfBunosesCompute}")
|
||||
.AsEnumerable())// این قسمت مهمه!
|
||||
.FirstOrDefault();
|
||||
|
||||
var entity = await _context.CheckoutSet.FirstOrDefaultAsync(x => x.id == result);
|
||||
|
||||
entity.SetSalaryAid(command.SalaryAids,command.SalaryAidDeduction);
|
||||
entity.SetLoanInstallment(command.LoanInstallments,command.InstallmentDeduction);
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -462,7 +495,8 @@ public class CheckoutRepository : RepositoryBase<long, Checkout>, ICheckoutRepos
|
||||
var query = new List<CheckoutViewModel>();
|
||||
foreach (var item in id)
|
||||
{
|
||||
var ch = _context.CheckoutSet.Select(x => new CheckoutViewModel()
|
||||
var ch = _context.CheckoutSet
|
||||
.AsSplitQuery().Select(x => new CheckoutViewModel()
|
||||
{
|
||||
Id = x.id,
|
||||
WorkshopId = x.WorkshopId,
|
||||
@@ -516,9 +550,26 @@ public class CheckoutRepository : RepositoryBase<long, Checkout>, ICheckoutRepos
|
||||
MaritalStatus = "",
|
||||
TotalDayOfLeaveCompute = x.TotalDayOfLeaveCompute,
|
||||
TotalDayOfYearsCompute = x.TotalDayOfYearsCompute,
|
||||
TotalDayOfBunosesCompute = x.TotalDayOfBunosesCompute
|
||||
TotalDayOfBunosesCompute = x.TotalDayOfBunosesCompute,
|
||||
InstallmentViewModels = x.LoanInstallments.Select(i => new LoanInstallmentViewModel()
|
||||
{
|
||||
Amount = i.AmountForMonth,
|
||||
AmountDouble = i.AmountForMonth.MoneyToDouble(),
|
||||
Year = i.Year,
|
||||
Month = i.Month,
|
||||
IsActive = i.IsActive,
|
||||
RemainingAmount = i.LoanRemaining,
|
||||
LoanAmount = i.LoanAmount
|
||||
}).ToList(),
|
||||
SalaryAidViewModels = x.SalaryAids.Select(s => new SalaryAidViewModel()
|
||||
{
|
||||
Amount = s.Amount,
|
||||
AmountDouble = s.Amount.MoneyToDouble(),
|
||||
SalaryAidDateTimeFa = s.SalaryAidDateTimeFa,
|
||||
SalaryAidDateTimeGe = s.SalaryAidDateTime
|
||||
}).ToList(),
|
||||
|
||||
}).SingleOrDefault(x => x.Id == item);
|
||||
}).SingleOrDefault(x => x.Id == item);
|
||||
var workshopName = _context.Workshops.FirstOrDefault(x => x.id == ch.WorkshopId);
|
||||
ch.WorkshopName = workshopName.WorkshopName;
|
||||
ch.TotalPaymentHide = workshopName.TotalPaymentHide;
|
||||
@@ -731,7 +782,8 @@ public class CheckoutRepository : RepositoryBase<long, Checkout>, ICheckoutRepos
|
||||
|
||||
public CheckoutViewModel PrintOne(long id)
|
||||
{
|
||||
var ch = _context.CheckoutSet.Select(x => new CheckoutViewModel()
|
||||
var ch = _context.CheckoutSet
|
||||
.AsSplitQuery().Select(x => new CheckoutViewModel()
|
||||
{
|
||||
Id = x.id,
|
||||
WorkshopId = x.WorkshopId,
|
||||
@@ -783,10 +835,26 @@ public class CheckoutRepository : RepositoryBase<long, Checkout>, ICheckoutRepos
|
||||
MaritalStatus = "",
|
||||
TotalDayOfLeaveCompute = x.TotalDayOfLeaveCompute,
|
||||
TotalDayOfYearsCompute = x.TotalDayOfYearsCompute,
|
||||
TotalDayOfBunosesCompute = x.TotalDayOfBunosesCompute
|
||||
TotalDayOfBunosesCompute = x.TotalDayOfBunosesCompute,
|
||||
InstallmentViewModels = x.LoanInstallments.Select(i => new LoanInstallmentViewModel()
|
||||
{
|
||||
Amount = i.AmountForMonth,
|
||||
AmountDouble = i.AmountForMonth.MoneyToDouble(),
|
||||
Year = i.Year,
|
||||
Month = i.Month,
|
||||
IsActive = i.IsActive,
|
||||
RemainingAmount = i.LoanRemaining,
|
||||
LoanAmount = i.LoanAmount
|
||||
}).ToList(),
|
||||
SalaryAidViewModels = x.SalaryAids.Select(s => new SalaryAidViewModel()
|
||||
{
|
||||
Amount = s.Amount,
|
||||
AmountDouble = s.Amount.MoneyToDouble(),
|
||||
SalaryAidDateTimeFa = s.SalaryAidDateTimeFa,
|
||||
SalaryAidDateTimeGe = s.SalaryAidDateTime
|
||||
}).ToList(),
|
||||
|
||||
|
||||
}).SingleOrDefault(x => x.Id == id);
|
||||
}).SingleOrDefault(x => x.Id == id);
|
||||
|
||||
var workshopName = _context.Workshops.FirstOrDefault(x => x.id == ch.WorkshopId);
|
||||
ch.WorkshopName = workshopName.WorkshopName;
|
||||
@@ -923,7 +991,8 @@ public class CheckoutRepository : RepositoryBase<long, Checkout>, ICheckoutRepos
|
||||
return new List<CheckoutViewModel>();
|
||||
}
|
||||
#endregion
|
||||
var query = _context.CheckoutSet.Select(x => new CheckoutViewModel()
|
||||
var query = _context.CheckoutSet
|
||||
.AsSplitQuery().Select(x => new CheckoutViewModel()
|
||||
{
|
||||
Id = x.id,
|
||||
EmployeeId = x.EmployeeId,
|
||||
@@ -940,8 +1009,25 @@ public class CheckoutRepository : RepositoryBase<long, Checkout>, ICheckoutRepos
|
||||
EmployeeFullName = x.EmployeeFullName,
|
||||
PersonnelCode = x.PersonnelCode,
|
||||
PersonnelCodeInt = Convert.ToInt32(x.PersonnelCode),
|
||||
InstallmentViewModels = x.LoanInstallments.Select(i => new LoanInstallmentViewModel()
|
||||
{
|
||||
Amount = i.AmountForMonth,
|
||||
AmountDouble = i.AmountForMonth.MoneyToDouble(),
|
||||
Year = i.Year,
|
||||
Month = i.Month,
|
||||
IsActive = i.IsActive,
|
||||
RemainingAmount = i.LoanRemaining,
|
||||
LoanAmount = i.LoanAmount
|
||||
}).ToList(),
|
||||
SalaryAidViewModels = x.SalaryAids.Select(s => new SalaryAidViewModel()
|
||||
{
|
||||
Amount = s.Amount,
|
||||
AmountDouble = s.Amount.MoneyToDouble(),
|
||||
SalaryAidDateTimeFa = s.SalaryAidDateTimeFa,
|
||||
SalaryAidDateTimeGe = s.SalaryAidDateTime
|
||||
}).ToList(),
|
||||
|
||||
}).Where(x => x.WorkshopId == searchModel.WorkshopId);
|
||||
}).Where(x => x.WorkshopId == searchModel.WorkshopId);
|
||||
if (searchModel.EmployeeId > 0)
|
||||
{
|
||||
query = query.Where(x => x.EmployeeId == searchModel.EmployeeId);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.InfraStructure;
|
||||
using Company.Domain.DateSalaryAgg;
|
||||
using Company.Domain.DateSalaryItemAgg;
|
||||
@@ -54,8 +55,8 @@ public class DateSalaryRepository : RepositoryBase<long, DateSalary>, IDateSalar
|
||||
}
|
||||
public DateSalaryViewModel GetDateSalaryViewModel(DateSalarySearchModel searchModel)
|
||||
{
|
||||
var query = _context.DateSalaries.Where(x =>x.StartDateGr >= searchModel.StartDateGr && searchModel.StartDateGr<x.EndDateGr &&
|
||||
x.StartDateGr > searchModel.EndDateGr && searchModel.EndDateGr <= x.EndDateGr).FirstOrDefault();
|
||||
|
||||
var query = _context.DateSalaries.FirstOrDefault(x => x.StartDateGr < searchModel.EndDateGr && x.EndDateGr > searchModel.StartDateGr);
|
||||
var dateSalary = new DateSalaryViewModel();
|
||||
if (query != null)
|
||||
{
|
||||
|
||||
@@ -1035,28 +1035,10 @@ public class EmployeeDocumentsRepository : RepositoryBase<long, EmployeeDocument
|
||||
{
|
||||
var now = DateTime.Now;
|
||||
|
||||
// آمادهسازی activeEmployees یکبار با EF و انتقال به حافظه
|
||||
var activeEmployees = _companyContext.LeftWorkList
|
||||
.Where(x => workshops.Contains(x.WorkshopId) && x.LeftWorkDate.AddDays(-1) >= now)
|
||||
.Select(x => new { x.WorkshopId, x.EmployeeId });
|
||||
|
||||
var clientTemp = _companyContext.EmployeeClientTemps
|
||||
.Where(x => workshops.Contains(x.WorkshopId))
|
||||
.Select(x => new { x.WorkshopId, x.EmployeeId });
|
||||
|
||||
var leftWorkTemp = _companyContext.LeftWorkTemps
|
||||
.Where(x => workshops.Contains(x.WorkshopId))
|
||||
.Select(x => new { x.WorkshopId, x.EmployeeId });
|
||||
|
||||
// ترکیب کل لیستها در حافظه
|
||||
var allActiveEmployees = activeEmployees
|
||||
.Concat(clientTemp)
|
||||
.Concat(leftWorkTemp);
|
||||
|
||||
// دریافت فقط اطلاعات مورد نیاز
|
||||
var employeeDocumentsQuery = _companyContext.EmployeeDocuments
|
||||
.Where(x => workshops.Contains(x.WorkshopId)
|
||||
&& allActiveEmployees.Any(a=>a.WorkshopId == x.WorkshopId && a.EmployeeId == x.EmployeeId)
|
||||
&& x.IsSentToChecker == false
|
||||
&& x.HasRejectedItems)
|
||||
.Where(x => x.EmployeeDocumentItemCollection
|
||||
@@ -1104,29 +1086,10 @@ public class EmployeeDocumentsRepository : RepositoryBase<long, EmployeeDocument
|
||||
|
||||
public async Task<List<EmployeeDocumentsViewModel>> GetRejectedItemsByWorkshopIdAndRoleForAdminWorkFlow(long workshopId, long roleId)
|
||||
{
|
||||
var employeeIdsInWorkshop = await _companyContext.LeftWorkList
|
||||
.Where(x => x.WorkshopId == workshopId && x.LeftWorkDate.AddDays(-1) >= DateTime.Today)
|
||||
.Select(x => new { x.EmployeeId, FullName = x.Employee.FName + " " + x.Employee.LName })
|
||||
.Union(
|
||||
_companyContext.EmployeeClientTemps
|
||||
.Where(x => x.WorkshopId == workshopId)
|
||||
.Select(x => new { x.EmployeeId, FullName = x.EmployeeFullName })
|
||||
)
|
||||
.Union(
|
||||
_companyContext.LeftWorkTemps
|
||||
.Where(x => x.WorkshopId == workshopId)
|
||||
.Join(_companyContext.Employees, x => x.EmployeeId, e => e.id,
|
||||
(x, e) => new { x.EmployeeId, FullName = e.FName + " " + e.LName })
|
||||
)
|
||||
.Distinct()
|
||||
.ToListAsync();
|
||||
|
||||
var employeeIdList = employeeIdsInWorkshop.Select(x => x.EmployeeId).ToList();
|
||||
|
||||
var edItemsQuery = _companyContext.EmployeeDocumentItems
|
||||
.Where(x => x.WorkshopId == workshopId &&
|
||||
x.DocumentStatus == DocumentStatus.Rejected &&
|
||||
employeeIdList.Contains(x.EmployeeId) &&
|
||||
x.EmployeeDocuments.IsSentToChecker == false &&
|
||||
x.EmployeeDocuments.HasRejectedItems)
|
||||
.Include(x => x.EmployeeDocuments).AsSplitQuery();
|
||||
@@ -1165,6 +1128,9 @@ public class EmployeeDocumentsRepository : RepositoryBase<long, EmployeeDocument
|
||||
.Select(x => new MediaViewModel { Id = x.id, Path = x.Path })
|
||||
.ToListAsync();
|
||||
|
||||
var employeeIds = edItemsGrouped.Select(x => x.EmployeeId).ToList();
|
||||
|
||||
var employees = _companyContext.Employees.Where(x => employeeIds.Contains(x.id)).ToList();
|
||||
|
||||
|
||||
var result = edItemsGrouped.GroupBy(x => x.EmployeeId)
|
||||
@@ -1184,7 +1150,7 @@ public class EmployeeDocumentsRepository : RepositoryBase<long, EmployeeDocument
|
||||
StatusString = y.DocumentStatus.ToString()
|
||||
}).ToList();
|
||||
|
||||
var employeeInfo = employeeIdsInWorkshop.First(e => e.EmployeeId == x.Key);
|
||||
var employeeInfo = employees.First(e => e.id == x.Key);
|
||||
|
||||
//var requiredItemsUploaded = employeeLatestConfirmedDocuments
|
||||
// .Where(y => requiredDocs.Contains(y.DocumentItemLabel)).Select(y => y.DocumentItemLabel)
|
||||
|
||||
@@ -121,14 +121,14 @@ public class InsuranceListRepository : RepositoryBase<long, InsuranceList>, IIns
|
||||
item.BenefitsIncludedContinuous,
|
||||
item.BenefitsIncludedNonContinuous,
|
||||
item.InsuranceShare, item.StartWorkDate,
|
||||
item.LeftWorkDate, item.JobId,item.IncludeStatus,item.BaseYears,item.MarriedAllowance);
|
||||
item.LeftWorkDate, item.JobId,item.IncludeStatus,item.BaseYears,item.MarriedAllowance,item.OverTimePay,item.FamilyAllowance);
|
||||
_employeeInsurancListDataRepository.Create(employeeInsurancListData);
|
||||
}
|
||||
else
|
||||
{
|
||||
var employeeInsurancListDataObj = _employeeInsurancListDataRepository.Get(item.EmployeeInsurancListDataId);
|
||||
employeeInsurancListDataObj.Edit(item.WorkingDays,item.DailyWage,item.MonthlySalary,item.MonthlyBenefits,item .MonthlyBenefitsIncluded,item.BenefitsIncludedContinuous,
|
||||
item.BenefitsIncludedNonContinuous,item.InsuranceShare,item.StartWorkDate,item.LeftWorkDate,item.JobId,item.IncludeStatus,item.BaseYears,item.MarriedAllowance);
|
||||
item.BenefitsIncludedNonContinuous,item.InsuranceShare,item.StartWorkDate,item.LeftWorkDate,item.JobId,item.IncludeStatus,item.BaseYears,item.MarriedAllowance,item.OverTimePay,item.FamilyAllowance);
|
||||
}
|
||||
}
|
||||
_employeeInsurancListDataRepository.SaveChanges();
|
||||
@@ -641,7 +641,7 @@ public class InsuranceListRepository : RepositoryBase<long, InsuranceList>, IIns
|
||||
item.BenefitsIncludedContinuous,
|
||||
item.BenefitsIncludedNonContinuous,
|
||||
item.InsuranceShare, item.StartWorkDate,
|
||||
item.LeftWorkDate, item.JobId,item.IncludeStatus,item.BaseYears,item.MarriedAllowance);
|
||||
item.LeftWorkDate, item.JobId,item.IncludeStatus,item.BaseYears,item.MarriedAllowance,item.OverTimePay,item.FamilyAllowance);
|
||||
_employeeInsurancListDataRepository.Create(employeeInsurancListData);
|
||||
|
||||
}_employeeInsurancListDataRepository.SaveChanges();
|
||||
@@ -1374,6 +1374,12 @@ public class InsuranceListRepository : RepositoryBase<long, InsuranceList>, IIns
|
||||
|
||||
//حق بیمه سهم بیمه شده
|
||||
InsuranceShare = result.x.result.employeeData.InsuranceShare,
|
||||
|
||||
//اضافه کار فیش حقوقی
|
||||
OverTimePay = result.x.result.employeeData.OverTimePay,
|
||||
|
||||
//حق اولا فیش حقوقی
|
||||
FamilyAllowance = result.x.result.employeeData.FamilyAllowance,
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -609,6 +609,7 @@ CreateWorkingHoursTemp command, bool holidayWorking)
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Result
|
||||
|
||||
var res = new ComputingViewModel()
|
||||
@@ -639,7 +640,7 @@ CreateWorkingHoursTemp command, bool holidayWorking)
|
||||
TotalHolidayAndNotM = totalHolidaysAndNotM.ToString(),
|
||||
DayliFeeComplete = dayliFeeComplete,
|
||||
MarriedAllowance = MarriedAllowanceStr,
|
||||
RotatingShiftValue = shiftPayValue
|
||||
RotatingShiftValue = shiftPayValue,
|
||||
};
|
||||
|
||||
#endregion
|
||||
@@ -2735,6 +2736,7 @@ CreateWorkingHoursTemp command, bool holidayWorking)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
private CustomizeCheckoutMandatoryViewModel CheckoutWithoutCalculationForKebabMahdi(long workshopId, long employeeId, DateTime contractStart, DateTime contractEnd)
|
||||
{
|
||||
var firstDayOfMonth = $"{(contractStart.ToFarsi())[..8]}/01".ToGeorgianDateTime();
|
||||
@@ -2836,7 +2838,7 @@ CreateWorkingHoursTemp command, bool holidayWorking)
|
||||
}).ToList();
|
||||
}
|
||||
|
||||
private List<LoanInstallmentViewModel> LoanInstallmentForCheckout(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd)
|
||||
public List<LoanInstallmentViewModel> LoanInstallmentForCheckout(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd)
|
||||
{
|
||||
return _context.Loans
|
||||
.Where(x => x.EmployeeId == employeeId && x.WorkshopId == workshopId)
|
||||
@@ -2856,7 +2858,7 @@ CreateWorkingHoursTemp command, bool holidayWorking)
|
||||
}).ToList();
|
||||
}
|
||||
|
||||
private List<SalaryAidViewModel> SalaryAidsForCheckout(long employeeId, long workshopId, DateTime checkoutStart, DateTime checkoutEnd)
|
||||
public List<SalaryAidViewModel> SalaryAidsForCheckout(long employeeId, long workshopId, DateTime checkoutStart, DateTime checkoutEnd)
|
||||
{
|
||||
return _context.SalaryAids
|
||||
.Where(x => x.CalculationDate >= checkoutStart && x.CalculationDate <= checkoutEnd && x.EmployeeId == employeeId && x.WorkshopId == workshopId).Select(x => new SalaryAidViewModel()
|
||||
@@ -3755,7 +3757,7 @@ CreateWorkingHoursTemp command, bool holidayWorking)
|
||||
|
||||
|
||||
public static (DateTime start, DateTime end) FindRotatingShift(DateTime startRollCall, DateTime endRollCall,
|
||||
ICollection<CustomizeRotatingShift> rotatingShifts)
|
||||
ICollection<CustomizeRotatingShift> rotatingShifts)
|
||||
{
|
||||
DateTime startDate = startRollCall.Date;
|
||||
DateTime endDate = endRollCall.Date;
|
||||
@@ -3765,10 +3767,10 @@ CreateWorkingHoursTemp command, bool holidayWorking)
|
||||
DateTime startEntryWithDate = startDate.Add(startRollCall.TimeOfDay);
|
||||
DateTime endEntryWithDate = endDate.Add(endRollCall.TimeOfDay);
|
||||
|
||||
DateTime oneHourBeforeStart = startEntryWithDate.AddHours(-1);
|
||||
DateTime oneHourAfterStart = startEntryWithDate.AddHours(1);
|
||||
DateTime oneHourBeforeEnd = endEntryWithDate.AddHours(-1);
|
||||
DateTime oneHourAfterEnd = endEntryWithDate.AddHours(1);
|
||||
DateTime twoHourBeforeStart = startEntryWithDate.AddHours(-2);
|
||||
DateTime twoHourAfterStart = startEntryWithDate.AddHours(2);
|
||||
DateTime twoHourBeforeEnd = endEntryWithDate.AddHours(-2);
|
||||
DateTime twoHourAfterEnd = endEntryWithDate.AddHours(2);
|
||||
|
||||
|
||||
var shiftDateTimes = rotatingShifts.SelectMany(shift =>
|
||||
@@ -3789,56 +3791,68 @@ CreateWorkingHoursTemp command, bool holidayWorking)
|
||||
|
||||
#region مقایسه شروع حضور غیاب با شیفت
|
||||
|
||||
var startFilteredTimes = shiftDateTimes.Where(shift =>
|
||||
(oneHourBeforeStart <= shift.Start && oneHourAfterStart >= shift.Start) ||
|
||||
(oneHourBeforeStart <= shift.End && oneHourAfterStart >= shift.End)).ToList();
|
||||
//var startFilteredTimes = shiftDateTimes.Where(shift =>
|
||||
// (twoHourBeforeStart <= shift.Start && twoHourAfterStart >= shift.Start) ||
|
||||
// (twoHourBeforeStart <= shift.End && twoHourAfterStart >= shift.End)).ToList();
|
||||
|
||||
if (startFilteredTimes.Count == 0)
|
||||
{
|
||||
startFilteredTimes = shiftDateTimes;
|
||||
}
|
||||
else if (startFilteredTimes.Count == 1)
|
||||
{
|
||||
var startChosenShift = startFilteredTimes.First();
|
||||
//if (startFilteredTimes.Count == 0)
|
||||
//{
|
||||
// startFilteredTimes = shiftDateTimes;
|
||||
//}
|
||||
//else if (startFilteredTimes.Count == 1)
|
||||
//{
|
||||
// var startChosenShift = startFilteredTimes.First();
|
||||
|
||||
if (startChosenShift.End < startChosenShift.Start)
|
||||
startChosenShift.End = startChosenShift.End.AddDays(1);
|
||||
// if (startChosenShift.End < startChosenShift.Start)
|
||||
// startChosenShift.End = startChosenShift.End.AddDays(1);
|
||||
|
||||
return startChosenShift;
|
||||
}
|
||||
// return startChosenShift;
|
||||
//}
|
||||
|
||||
|
||||
#endregion
|
||||
//#endregion
|
||||
|
||||
#region مقایسه پایان حضورغیاب با شیفت
|
||||
|
||||
var endFilteredTimes = shiftDateTimes.Where(shift =>
|
||||
(oneHourBeforeEnd <= shift.Start && oneHourAfterEnd >= shift.Start) ||
|
||||
(oneHourBeforeEnd <= shift.End && oneHourAfterEnd >= shift.End)).ToList();
|
||||
if (endFilteredTimes.Count == 0)
|
||||
{
|
||||
endFilteredTimes = startFilteredTimes;
|
||||
}
|
||||
else if (endFilteredTimes.Count == 1)
|
||||
{
|
||||
var endChosenShift = endFilteredTimes.First();
|
||||
return endChosenShift;
|
||||
}
|
||||
//#region مقایسه پایان حضورغیاب با شیفت
|
||||
|
||||
//var endFilteredTimes = shiftDateTimes.Where(shift =>
|
||||
// (twoHourBeforeEnd <= shift.Start && twoHourAfterEnd >= shift.Start) ||
|
||||
// (twoHourBeforeEnd <= shift.End && twoHourAfterEnd >= shift.End)).ToList();
|
||||
//if (endFilteredTimes.Count == 0)
|
||||
//{
|
||||
// endFilteredTimes = startFilteredTimes;
|
||||
//}
|
||||
//else if (endFilteredTimes.Count == 1)
|
||||
//{
|
||||
// var endChosenShift = endFilteredTimes.First();
|
||||
// return endChosenShift;
|
||||
//}
|
||||
|
||||
#endregion
|
||||
|
||||
#region اشتراک حضور غیاب و شیفت
|
||||
|
||||
var overlapShifts = endFilteredTimes.Select(shift => new
|
||||
{
|
||||
Shift = shift,
|
||||
Overlap = new TimeSpan(Math.Max(0,
|
||||
Math.Min(shift.End.Ticks, oneHourAfterEnd.Ticks) -
|
||||
Math.Max(shift.Start.Ticks, oneHourBeforeStart.Ticks)))
|
||||
});
|
||||
var overlapShifts = shiftDateTimes
|
||||
.Select(shift => new
|
||||
{
|
||||
Shift = shift,
|
||||
Overlap = new TimeSpan(Math.Max(0,
|
||||
Math.Min(shift.End.Ticks, endRollCall.Ticks) -
|
||||
Math.Max(shift.Start.Ticks, startRollCall.Ticks))),
|
||||
// زمان حضور فرد در شیفت (مجموع Overlap با شیفت)
|
||||
TotalTimeInShift = new TimeSpan(Math.Max(0,
|
||||
Math.Min(shift.End.Ticks, endRollCall.Ticks) -
|
||||
Math.Max(shift.Start.Ticks, startRollCall.Ticks))),
|
||||
StartDistance = Math.Abs((shift.Start - startRollCall).Ticks),
|
||||
EndDistance = Math.Abs((shift.End - endRollCall).Ticks),
|
||||
TotalDistance = Math.Abs((shift.Start - startRollCall).Ticks) + Math.Abs((shift.End - endRollCall).Ticks)
|
||||
})
|
||||
.OrderByDescending(s => s.TotalTimeInShift) // 1. بیشترین زمان حضور فرد
|
||||
.ThenByDescending(s => s.Overlap) // 2. بیشترین Overlap
|
||||
.ThenBy(s => s.TotalDistance)
|
||||
.ThenBy(s => s.StartDistance)
|
||||
.ThenBy(x => x.EndDistance); // 3. اگر برابر بود، Start نزدیکتر
|
||||
|
||||
var overlapChosenShift = overlapShifts.MaxBy(s => s.Overlap);
|
||||
var overlapChosenShift = overlapShifts.First();
|
||||
var end = overlapChosenShift.Shift.End;
|
||||
if (overlapChosenShift.Shift.End < overlapChosenShift.Shift.Start)
|
||||
end = overlapChosenShift.Shift.End.AddDays(1);
|
||||
|
||||
@@ -469,12 +469,12 @@ public class RollCallRepository : RepositoryBase<long, RollCall>, IRollCallRepos
|
||||
}
|
||||
else if (late != TimeSpan.Zero)
|
||||
{
|
||||
var minutes = late.TotalMinutes > 99 ? "99" : late.TotalMinutes.ToString();
|
||||
var minutes = late.TotalMinutes > 999 ? "999" : late.TotalMinutes.ToString();
|
||||
return $"{minutes}+";
|
||||
}
|
||||
else if (early != TimeSpan.Zero)
|
||||
{
|
||||
var minutes = early.TotalMinutes > 99 ? "99" : early.TotalMinutes.ToString();
|
||||
var minutes = early.TotalMinutes > 999 ? "999" : early.TotalMinutes.ToString();
|
||||
return $"{minutes}-";
|
||||
}
|
||||
else
|
||||
@@ -491,12 +491,12 @@ public class RollCallRepository : RepositoryBase<long, RollCall>, IRollCallRepos
|
||||
}
|
||||
else if (late != TimeSpan.Zero)
|
||||
{
|
||||
var minutes = late.TotalMinutes > 99 ? "99" : late.TotalMinutes.ToString();
|
||||
var minutes = late.TotalMinutes > 999 ? "999" : late.TotalMinutes.ToString();
|
||||
return $"{minutes}-";
|
||||
}
|
||||
else if (early != TimeSpan.Zero)
|
||||
{
|
||||
var minutes = early.TotalMinutes > 99 ? "99" : early.TotalMinutes.ToString();
|
||||
var minutes = early.TotalMinutes > 999 ? "999" : early.TotalMinutes.ToString();
|
||||
return $"{minutes}+";
|
||||
}
|
||||
else
|
||||
@@ -756,7 +756,8 @@ public class RollCallRepository : RepositoryBase<long, RollCall>, IRollCallRepos
|
||||
WorkshopId = workshopId,
|
||||
StartDate = x.StartDate,
|
||||
EndDate = x.EndDate,
|
||||
DateGr = x.ShiftDate
|
||||
DateGr = x.ShiftDate,
|
||||
ShiftDate = x.ShiftDate
|
||||
}).ToList();
|
||||
}
|
||||
|
||||
|
||||
@@ -195,7 +195,9 @@ public class WorkshopRepository : RepositoryBase<long, Company.Domain.WorkshopAg
|
||||
IsOldContract = x.IsOldContract,
|
||||
EmployerIdList = emp,
|
||||
HasRollCallFreeVip = x.HasRollCallFreeVip,
|
||||
WorkshopHolidayWorking = x.WorkshopHolidayWorking
|
||||
WorkshopHolidayWorking = x.WorkshopHolidayWorking,
|
||||
InsuranceCheckoutOvertime = x.InsuranceCheckoutOvertime,
|
||||
InsuranceCheckoutFamilyAllowance = x.InsuranceCheckoutFamilyAllowance
|
||||
|
||||
}).FirstOrDefault(x => x.Id == id);
|
||||
}
|
||||
@@ -1553,6 +1555,7 @@ public class WorkshopRepository : RepositoryBase<long, Company.Domain.WorkshopAg
|
||||
WorkshopFullName = x.WorkshopFullName,
|
||||
TypeOfOwnership = x.TypeOfOwnership,
|
||||
ArchiveCode = x.ArchiveCode,
|
||||
ArchiveCodeInt = Convert.ToInt32(x.ArchiveCode),
|
||||
AgentName = x.AgentName,
|
||||
AgentPhone = x.AgentPhone,
|
||||
State = x.State,
|
||||
@@ -1591,7 +1594,7 @@ public class WorkshopRepository : RepositoryBase<long, Company.Domain.WorkshopAg
|
||||
item.HasBlockContractingParty = blockContractingPartyIds.Intersect(empContractingPartyIds).Any();
|
||||
}
|
||||
|
||||
return list;
|
||||
return list.OrderBy(x=>x.ArchiveCodeInt).ToList();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -23,6 +23,10 @@
|
||||
.container2:last-of-type {
|
||||
height: 280mm;
|
||||
}
|
||||
|
||||
body * {
|
||||
line-height: 1.42857143 !important;
|
||||
}
|
||||
|
||||
.modal-dialog {
|
||||
max-width: 100%;
|
||||
@@ -59,9 +63,16 @@
|
||||
height: 100%;
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
overflow: hidden;
|
||||
overflow: hidden;
|
||||
line-height: 1.42857143 !important;
|
||||
}
|
||||
|
||||
#printThis {
|
||||
position: relative;
|
||||
margin: 0 auto;
|
||||
width: 21cm;
|
||||
}
|
||||
|
||||
#printSection, #printSection * {
|
||||
visibility: visible;
|
||||
page-break-after: auto;
|
||||
@@ -78,7 +89,7 @@
|
||||
|
||||
#printSection {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
page-break-after: auto;
|
||||
top: 0;
|
||||
}
|
||||
@@ -282,6 +293,27 @@
|
||||
-webkit-print-color-adjust: exact;
|
||||
|
||||
}
|
||||
|
||||
.headerInfo {
|
||||
border-radius: 6px;
|
||||
border: 1px solid #000000 !important;
|
||||
}
|
||||
|
||||
.cusSpanTitle {
|
||||
border-radius: 4px;
|
||||
font-weight: bold;
|
||||
background-color: #ebe6e6 !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
padding: 0 3px;
|
||||
margin: auto 4px;
|
||||
}
|
||||
|
||||
.table-container {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
}
|
||||
</style>
|
||||
|
||||
var btnActive = "btn-active";
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
@using _0_Framework.Application
|
||||
@model CompanyManagment.App.Contracts.Checkout.CheckoutViewModel
|
||||
@{
|
||||
|
||||
string adminVersion = _0_Framework.Application.Version.AdminVersion;
|
||||
}
|
||||
|
||||
<link href="~/assetsadmin/page/checkouts/css/printdetailsrollcall.css" rel="stylesheet" />
|
||||
<link href="~/assetsadmin/page/checkouts/css/printdetailsrollcall.css?ver=@adminVersion" rel="stylesheet" />
|
||||
|
||||
<div class="modal-header" style="border-bottom: unset">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
@@ -19,294 +19,371 @@
|
||||
<div class="modal-body print" id="printThis">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<fieldset style="border: 1px solid black;
|
||||
<fieldset style="border: 1px solid black;
|
||||
padding: revert;
|
||||
border-radius: 10px;
|
||||
height: 28cm;
|
||||
margin: 3mm 5mm 0 5mm; ">
|
||||
<div class="row" dir="rtl">
|
||||
<div class="col-xs-3 d-inline-block"><fieldset style="border: 1px solid black; border-radius: 15px; padding: 1px 15px 1px 15px; margin-top: 5px; width: 60%; font-size: 12px; text-align: center;"> @Model.ContractNo</fieldset></div>
|
||||
<div class="col-xs-6 d-inline-block text-center"><p style="margin-top:10px !important;font-size: 18px; font-family: 'IranNastaliq' !important; ">بسمه تعالی</p> <p style="font-size: 15px; font-weight: bold">فیش حقوقی و رسید پرداخت حقوق</p> </div>
|
||||
<div class="col-xs-3 d-inline-block"></div>
|
||||
</div>
|
||||
<div class="row" style="padding: 0px 12px;font-size: 14px; margin-bottom: 10px; ">
|
||||
<div class="row">
|
||||
<span style="width: 280px;padding: 0px 10px 0px 0px !important; float:right"><span>اینجانب <span> </span> <span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.EmployeeFullName</span> </span></span>
|
||||
<span style="margin-right: 5px; float:right">
|
||||
<span> نام پدر: </span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.FathersName))
|
||||
{
|
||||
<span style="visibility: hidden">"1111111111"</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.FathersName</span>
|
||||
|
||||
}
|
||||
</span>
|
||||
<span style="padding: 0px !important; float: left">
|
||||
|
||||
<span>به کد ملی:</span> <span> </span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.NationalCode))
|
||||
{
|
||||
<span style="margin-left: 15px; visibility: hidden">222333111</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="margin-left: 15px; font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.NationalCode</span>
|
||||
}
|
||||
|
||||
<span>متولد:</span> <span> </span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.DateOfBirth))
|
||||
{
|
||||
<span style="margin-left: 10px; visibility: hidden">1401/01/01</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="margin-left: 10px; font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.DateOfBirth</span>
|
||||
}
|
||||
</span>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12" style="font-size: 14px; text-align: justify">
|
||||
<div class="row" dir="rtl">
|
||||
<div class="col-xs-3 d-inline-block"></div>
|
||||
<div class="col-xs-6 d-inline-block text-center">
|
||||
<p style="font-size: 18px; font-family: 'IranNastaliq' !important; margin-top:0 !important;">بسمه تعالی</p>
|
||||
<p style="font-size: 15px; font-weight: bold; margin: 2px;">فیش حقوقی و رسید پرداخت حقوق</p>
|
||||
</div>
|
||||
<div class="col-xs-3 d-inline-block"><fieldset style="border: 1px solid black; border-radius: 15px; padding: 1px 15px 1px 15px; margin-top: 5px; width: 70%; font-size: 12px; text-align: center;"> @Model.ContractNo</fieldset></div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="headerInfo">
|
||||
<div class="row" style="font-size: 12px; margin-bottom: 3px;">
|
||||
<div class="col-xs-12" style="padding: 0 10px;">
|
||||
<div style="display: flex;align-items: center;border-bottom: 1px solid #000000 !important;height: 23px;">
|
||||
<div style="width: 34%; padding: 3px 0 !important;">
|
||||
<div>
|
||||
<span class="cusSpanTitle">اینجانب</span>
|
||||
<span>@Model.EmployeeFullName</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 22%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">نام پدر<span>:</span></span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.FathersName))
|
||||
{
|
||||
<span style="visibility: hidden">""</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>@Model.FathersName</span>
|
||||
|
||||
}
|
||||
</div>
|
||||
<div style="width: 22%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">به کد ملی<span>:</span></span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.NationalCode))
|
||||
{
|
||||
<span style="margin-left: 15px; visibility: hidden"></span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>
|
||||
@Model.NationalCode
|
||||
</span>
|
||||
}
|
||||
</div>
|
||||
<div style="width: 22%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">متولد<span>:</span></span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.DateOfBirth))
|
||||
{
|
||||
<span style="visibility: hidden">1401/01/01</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>@Model.DateOfBirth</span>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12" style="font-size: 12px; text-align: justify; padding: 0 10px;">
|
||||
<div style="display: flex;align-items: center;border-bottom: 1px solid #000000 !important;height: 23px; padding: 0;">
|
||||
@{
|
||||
if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقیقی")
|
||||
{
|
||||
<span> پـرسنل کارگاه<span> </span><span> </span><span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.WorkshopName</span> </span>
|
||||
<span> </span>
|
||||
<span>به کارفرمایی <span> </span> آقای/خانم</span> <span> </span>
|
||||
<div style="width: 50%; padding: 3px 0 !important;">
|
||||
<div>
|
||||
<span class="cusSpanTitle">نام کارگاه<span>:</span> </span>
|
||||
<span>@Model.WorkshopName</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span> </span>
|
||||
if (@Model.EmployerList.Count > 1)
|
||||
{
|
||||
<span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
@Model.EmployerList[0].EmployerFullName <span>،</span>
|
||||
<span> </span>@Model.EmployerList[1].EmployerFullName
|
||||
@if (@Model.EmployerList.Count > 2)
|
||||
{
|
||||
<span>و غیره</span>
|
||||
}
|
||||
</span> <br />
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
@Model.EmployerList.FirstOrDefault().EmployerFullName
|
||||
</span>
|
||||
|
||||
<br />
|
||||
}
|
||||
<div style="width: 50%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">نام کارفرما<span>:</span> </span>
|
||||
@if (Model.EmployerList.Count > 1)
|
||||
{
|
||||
<span>
|
||||
@Model.EmployerList[0].EmployerFullName <span>،</span>
|
||||
<span> </span>@Model.EmployerList[1].EmployerFullName
|
||||
@if (@Model.EmployerList.Count > 2)
|
||||
{
|
||||
<span>و غیره</span>
|
||||
}
|
||||
</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>
|
||||
@Model.EmployerList.FirstOrDefault().EmployerFullName
|
||||
</span>
|
||||
}
|
||||
</div>
|
||||
|
||||
}
|
||||
else if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقوقی")
|
||||
{
|
||||
<span> پـرسنل شرکت/موسسه<span> </span><span> </span><span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.WorkshopName</span> </span>
|
||||
<br />
|
||||
<div style="width: 100%; padding: 3px 0 !important;">
|
||||
<span class="cusSpanTitle">پـرسنل شرکت/موسسه<span>:</span> </span>
|
||||
<span>
|
||||
@Model.WorkshopName
|
||||
</span>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
<div style="text-align: justify; padding: 0 6px;">
|
||||
@{
|
||||
var items = new List<string>();
|
||||
|
||||
if (Model.MonthlySalary != "0") items.Add("حقوق و مزد");
|
||||
if (Model.ConsumableItems != "0") items.Add("کمک هزینه اقلام مصرفی خانوار");
|
||||
if (Model.HousingAllowance != "0") items.Add("کمک هزینه مسکن");
|
||||
if (!string.IsNullOrWhiteSpace(Model.OvertimePay) && Model.OvertimePay != "0") items.Add("فوق العاده اضافه کاری");
|
||||
if (!string.IsNullOrWhiteSpace(Model.NightworkPay) && Model.NightworkPay != "0") items.Add("فوق العاده شب کاری");
|
||||
if (!string.IsNullOrWhiteSpace(Model.FridayPay) && Model.FridayPay != "0") items.Add("فوق العاده جمعه کاری");
|
||||
if (Model.MissionPay != "0") items.Add("فوق العاده ماموریت");
|
||||
if (Model.ShiftPay != "0") items.Add("فوق العاده نوبت کاری");
|
||||
if (Model.FamilyAllowance != "0") items.Add("کمک هزینه عائله مندی");
|
||||
if (Model.MarriedAllowance != "0") items.Add("حق تاهل");
|
||||
if (Model.RewardPay != "0") items.Add("پاداش");
|
||||
if (Model.BonusesPay != "0") items.Add("عیدی و پاداش");
|
||||
if (Model.YearsPay != "0") items.Add("سنوات");
|
||||
if (Model.LeavePay != "0") items.Add("مزد مرخصی");
|
||||
|
||||
string finalText = "";
|
||||
if (items.Count == 1)
|
||||
{
|
||||
finalText = items[0];
|
||||
}
|
||||
else if (items.Count > 1)
|
||||
{
|
||||
finalText = string.Join("<span>،</span> ", items.Take(items.Count - 1)) + " و " + items.Last();
|
||||
}
|
||||
}
|
||||
|
||||
<span>کلیه حق السعی خود اعم از حقوق، کمک هزینه اقلام مصرفی خانوار، کمک هزینه مسکن </span>
|
||||
|
||||
<span>و همچنین عیدی و پاداش، سنوات و...</span>
|
||||
<span style="background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;"> <span style="font-weight: bold">@Model.Month</span> ماه </span>
|
||||
<span style="background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;"> سال <span style="font-weight: bold">@Model.Year</span> </span>
|
||||
<span> برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام. </span>
|
||||
|
||||
<span>
|
||||
کلیه حق السعی خود اعم از @Html.Raw(finalText) @Model.Month ماه سال @Model.Year برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="row m-t-20">
|
||||
<fieldset style="border: 1px solid black !important;-webkit-print-color-adjust: exact;print-color-adjust: exact; border-radius: 10px 10px 10px 10px; margin: 0px 10px;overflow:hidden">
|
||||
<table style="/* table-layout: fixed; */ width: 100%">
|
||||
|
||||
<tr style="border-bottom: 1px solid; height: 25px; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
@* <th style="text-align: center; width: 8mm; font-size: 12px; padding: 2px; border-collapse: separate; border-radius: 0px 10px 0px 0px;"> </th> *@
|
||||
<th colspan="4" style="text-align: center; position: relative ; font-size: 13px;padding-top:4px;border-left: 2px solid #000;"> مطالبات </th>
|
||||
@* <th style="text-align: center;"> </th>
|
||||
<th style="text-align: center; border-left: 2px solid #000; font-size: 12px"> </th> *@
|
||||
<th colspan="3" style="text-align: center; font-size: 13px; position: relative; padding-top: 4px;"> کسورات </th>
|
||||
@* <th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 0px 0px 0px 0px;"> </th>
|
||||
<th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 10px 0px 0px 0px;"> </th> *@
|
||||
</tr>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="row m-t-20">
|
||||
<fieldset style="border: 1px solid black !important;-webkit-print-color-adjust: exact;print-color-adjust: exact; border-radius: 10px 10px 10px 10px; margin: 0px 10px;overflow:hidden">
|
||||
<table style="/* table-layout: fixed; */ width: 100%">
|
||||
<tr style="border-bottom: 1px solid; background-color: #e1e1e1 !important ;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<th style="width: 5%; text-align: center; border-left: 1px solid #000; font-size: 12px;padding: 2px"> ردیف </th>
|
||||
<th style="width: 23%; text-align: center; border-left: 1px solid #000; font-size: 12px"> شرح </th>
|
||||
<th style="width: 10%; text-align: center; border-left: 1px solid #000; font-size: 9px"> ساعت/روز/تعداد </th>
|
||||
<th style="width: 12%; text-align: center; border-left: 2px solid #000; font-size: 12px"> مبلغ(ریال) </th>
|
||||
<th style="width: 28%; text-align: center; border-left: 1px solid #000; font-size: 12px"> شرح </th>
|
||||
<th style="width: 10%; text-align: center; border-left: 1px solid #000; font-size: 9px"> ساعت/روز/تعداد </th>
|
||||
<th style="width: 12%; text-align: center; font-size: 12px"> مبلغ(ریال) </th>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr style="border-bottom: 1px solid; height: 25px; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<th style="text-align: center; width: 8mm; font-size: 12px; padding: 2px; border-collapse: separate; border-radius: 0px 10px 0px 0px;"> </th>
|
||||
<th style="text-align: center; position: absolute ; right: 55mm; font-size: 13px;padding-top:4px"> مطالبات </th>
|
||||
<th style="text-align: center;"> </th>
|
||||
<th style="text-align: center; border-left: 2px solid #000; font-size: 12px"> </th>
|
||||
<th style="text-align: center; font-size: 13px; position: absolute; left: 50mm; padding-top: 4px;"> کسورات </th>
|
||||
<th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 0px 0px 0px 0px;"> </th>
|
||||
<th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 10px 0px 0px 0px;"> </th>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">1</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حقوق و مزد </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @Model.SumOfWorkingDays </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MonthlySalary == "0" ? "-" : Model.MonthlySalary) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حق بیمه سهم کارگر </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.InsuranceDeduction == "0" ? "-" : Model.InsuranceDeduction) </td>
|
||||
</tr>
|
||||
|
||||
<tr style="border-bottom: 1px solid; background-color: #e1e1e1 !important ;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<th style="width: 5%; text-align: center; border-left: 1px solid #000; font-size: 12px;padding: 2px"> ردیف </th>
|
||||
<th style="width: 23%; text-align: center; border-left: 1px solid #000; font-size: 12px"> شرح </th>
|
||||
<th style="width: 10%; text-align: center; border-left: 1px solid #000; font-size: 9px"> ساعت/روز/تعداد </th>
|
||||
<th style="width: 12%; text-align: center; border-left: 2px solid #000; font-size: 12px"> مبلغ(ریال) </th>
|
||||
<th style="width: 28%; text-align: center; border-left: 1px solid #000; font-size: 12px"> شرح </th>
|
||||
<th style="width: 10%; text-align: center; border-left: 1px solid #000; font-size: 9px"> ساعت/روز/تعداد </th>
|
||||
<th style="width: 12%; text-align: center; font-size: 12px"> مبلغ(ریال) </th>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">2</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> پایه سنوات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.BaseYearsPay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.BaseYearsPay == "0" ? "-" : Model.BaseYearsPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مالیات بر حقوق </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.TaxDeducation == "0" ? "-" : Model.TaxDeducation) </td>
|
||||
</tr>
|
||||
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">3</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000; white-space: nowrap;"> کمک هزینه اقلام مصرفی خانوار </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.ConsumableItems == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.ConsumableItems == "0" ? "-" : Model.ConsumableItems) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> قسط تسهیلات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.InstallmentDeduction == "0" ? "-" : Model.InstallmentDeduction) </td>
|
||||
</tr>
|
||||
|
||||
<tr style="font-size: 12px; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">1</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حقوق و مزد </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MonthlySalary == "0" ? "-" : Model.MonthlySalary) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حق بیمه سهم کارگر </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.InsuranceDeduction == "0" ? "-" : Model.InsuranceDeduction) </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">4</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> کمک هزینه مسکن </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.HousingAllowance == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.HousingAllowance == "0" ? "-" : Model.HousingAllowance) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مساعده </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.SalaryAidDeduction == "0" ? "-" : Model.SalaryAidDeduction) </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">5</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده اضافه کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.OverTimeWorkValue == "00:00" || string.IsNullOrWhiteSpace(Model.OverTimeWorkValue)) ? "-" : Model.OverTimeWorkValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @((Model.OvertimePay == "0" || string.IsNullOrWhiteSpace(Model.OvertimePay)) ? "-" : Model.OvertimePay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> غیبت </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.AbsenceDeduction == "0" ? "-" : Model.AbsenceDeduction) </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">6</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده شب کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.OverNightWorkValue == "00:00" || string.IsNullOrWhiteSpace(Model.OverNightWorkValue)) ? "-" : Model.OverNightWorkValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @((Model.NightworkPay == "0" || string.IsNullOrWhiteSpace(Model.NightworkPay)) ? "-" : Model.NightworkPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">7</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده جمعه کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.FridayWorkValue == "0" || string.IsNullOrWhiteSpace(Model.FridayWorkValue)) ? "-" : Model.FridayWorkValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @((Model.FridayPay == "0" || string.IsNullOrWhiteSpace(Model.FridayPay)) ? "-" : Model.FridayPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">8</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده ماموریت </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MissionPay == "0" ? "-" : Model.MissionPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">9</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده نوبت کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.RotatingShiftValue == "0" || string.IsNullOrWhiteSpace(Model.RotatingShiftValue)) ? "-" : "%" + Model.RotatingShiftValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.ShiftPay == "0" ? "-" : Model.ShiftPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">10</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> کمک هزینه عائله مندی </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.FamilyAllowance == "0" ? "-" : Model.FamilyAllowance) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">11</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حق تاهل </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @Model.MaritalStatus </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MarriedAllowance == "0" ? "-" : Model.MarriedAllowance) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">12</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> پاداش </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.RewardPay == "0" ? "-" : Model.RewardPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">13</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> عیدی و پاداش </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.BonusesPay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.BonusesPay == "0" ? "-" : Model.BonusesPay) </td>
|
||||
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">2</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> پایه سنوات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.BaseYearsPay == "0" ? "-" : Model.BaseYearsPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مالیات بر حقوق </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.TaxDeducation == "0" ? "-" : Model.TaxDeducation) </td>
|
||||
</tr>
|
||||
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">3</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> کمک هزینه اقلام مصرفی خانوار </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.ConsumableItems == "0" ? "-" : Model.ConsumableItems) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> قسط تسهیلات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.InstallmentDeduction == "0" ? "-" : Model.InstallmentDeduction) </td>
|
||||
</tr>
|
||||
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">4</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> کمک هزینه مسکن </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.HousingAllowance == "0" ? "-" : Model.HousingAllowance) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مساعده </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.SalaryAidDeduction == "0" ? "-" : Model.SalaryAidDeduction) </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">5</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده اضافه کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.OvertimePay == "0" ? "-" : Model.OvertimePay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> غیبت </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.AbsenceDeduction == "0" ? "-" : Model.AbsenceDeduction) </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">6</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده شب کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.NightworkPay == "0" ? "-" : Model.NightworkPay) </td>
|
||||
@{
|
||||
if (Model.IsLeft)
|
||||
{
|
||||
<td style="text-align: center; background-color: #ffffff !important;" colspan="3" rowspan="3">
|
||||
<div style="border-top: 1px solid #000;border-top-left-radius: 15px;border-top-right-radius: 15px; height: 65px;">
|
||||
<div style="padding: 0 6px; text-align: start;display: block;align-items: center;height: 64px;margin: 6px;">
|
||||
<span>طبق تصفیه حساب نهایی تنظیمی فوق، آخرین روز اشتغال بکار اینجانب</span>
|
||||
<span>@Model.LastDayOfWork</span>
|
||||
<span>بوده و قطع همکاری با کارفرما و کارگاه از تاریخ</span>
|
||||
<span>@Model.LeftWorkDate</span>
|
||||
<span>می باشد</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">7</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده جمعه کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.FridayPay == "0" ? "-" : Model.FridayPay) </td>
|
||||
}
|
||||
}
|
||||
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">14</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> سنوات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.YearsPay == "0" ? "-" : Model.SumOfWorkingDays)</td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.YearsPay == "0" ? "-" : Model.YearsPay) </td>
|
||||
|
||||
@{
|
||||
if (!Model.IsLeft)
|
||||
{
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">8</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده ماموریت </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MissionPay == "0" ? "-" : Model.MissionPay) </td>
|
||||
}
|
||||
}
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">15</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مزد مرخصی </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.LeavePay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.LeavePay == "0" ? "-" : Model.LeavePay) </td>
|
||||
|
||||
@{
|
||||
if (!Model.IsLeft)
|
||||
{
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">9</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده نوبت کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.ShiftPay == "0" ? "-" : Model.ShiftPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">10</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> کمک هزینه عائله مندی </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.FamilyAllowance == "0" ? "-" : Model.FamilyAllowance) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">11</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حق تاهل </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MarriedAllowance == "0" ? "-" : Model.MarriedAllowance) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">12</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> پاداش </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.RewardPay == "0" ? "-" : Model.RewardPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">13</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> عیدی و پاداش </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.BonusesPay == "0" ? "-" : Model.BonusesPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">14</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> سنوات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.YearsPay == "0" ? "-" : Model.YearsPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">15</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مزد مرخصی </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.LeavePay == "0" ? "-" : Model.LeavePay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; height: 20px; background-color: #dddcdc !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; border-bottom: 1px solid #000; border-top: 1px solid #000; ">
|
||||
<td style="text-align: center; padding: 2px "></td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> جمع مطالبات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.TotalClaims == "0" ? "-" : Model.TotalClaims) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> جمع کسورات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.TotalDeductions == "0" ? "-" : Model.TotalDeductions) </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; border-radius: 0px 0px 10px 10px !important; height: 20px; background-color: #efefef !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; padding: 2px; border-radius: 0px 0px 10px 0px "></td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000; "> مبلغ قابل پرداخت </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.TotalPayment == "0" ? "-" : Model.TotalPayment) </td>
|
||||
<td style="padding-right: 8px;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-radius:0px 0px 0px 10px"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</tr>
|
||||
<tr style="font-size: 12px; height: 20px; background-color: #dddcdc !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; border-bottom: 1px solid #000; border-top: 1px solid #000; ">
|
||||
<td style="text-align: center; padding: 2px "></td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> جمع مطالبات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.TotalClaims == "0" ? "-" : Model.TotalClaims) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> جمع کسورات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.TotalDeductions == "0" ? "-" : Model.TotalDeductions) </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; border-radius: 0px 0px 10px 10px !important; height: 20px; background-color: #efefef !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; padding: 2px; border-radius: 0px 0px 10px 0px "></td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000; "> مبلغ قابل پرداخت </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.TotalPayment == "0" ? "-" : Model.TotalPayment) </td>
|
||||
<td style="padding-right: 8px;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-radius:0px 0px 0px 10px"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<div style="">
|
||||
<div class="" style="margin-top: 8px;background-color: #F6F6F6 !important;border: 1px solid #000;border-radius: 10px;display: grid;gap: 8px;padding: 8px 0;-webkit-print-color-adjust: exact;print-color-adjust: exact;padding: 6px;grid-template-columns: repeat(2, minmax(0, 1fr));width: 100%;">
|
||||
@@ -321,14 +398,14 @@
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">خروج</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 11%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">استراحت</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 10%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">منقطع</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 15%;padding: 0 0 0 0px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">ساعت کارکرد</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 15%;padding: 0 0 0 0px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;white-space:nowrap">کارکرد</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@for (int i = 0; i < 15; i++)
|
||||
{
|
||||
<tr style="@((@Model.MonthlyRollCall[i].IsHoliday || @Model.MonthlyRollCall[i].IsFriday) ? "background-color: #BBBBBB !important;" : "background-color: #FFFFFF !important;") font-size: 8px;border-collapse: separate;-webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
<td style="font-size: 8px; padding: 1px 3px;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid; border-radius: 0 5px 5px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@Model.MonthlyRollCall[i].DateTimeGr.ToFarsi() - @Model.MonthlyRollCall[i].DateTimeGr.DayOfWeek.DayOfWeeKToPersian()</td>
|
||||
<td style="white-space: nowrap; font-size: 8px; padding: 1px 3px;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid; border-radius: 0 5px 5px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@Model.MonthlyRollCall[i].DateTimeGr.ToFarsi() - @Model.MonthlyRollCall[i].DateTimeGr.DayOfWeek.DayOfWeeKToPersian()</td>
|
||||
|
||||
|
||||
@if (@Model.MonthlyRollCall[i].IsAbsent)
|
||||
@@ -405,7 +482,7 @@
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">خروج</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 11%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">استراحت</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 10%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">منقطع</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 15%;padding: 0 0 0 0px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">ساعت کارکرد</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 15%;padding: 0 0 0 0px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;white-space:nowrap">کارکرد</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -415,7 +492,7 @@
|
||||
@foreach (var day in Model.MonthlyRollCall)
|
||||
{
|
||||
<tr style="@((day.IsHoliday || day.IsFriday) ? "background-color: #BBBBBB !important;" : "background-color: #FFFFFF !important;") font-size: 8px;border-collapse: separate;-webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
<td style="font-size: 8px; padding: 1px 3px;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid; border-radius: 0 5px 5px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.DateTimeGr.ToFarsi() - @day.DateTimeGr.DayOfWeek.DayOfWeeKToPersian()</td>
|
||||
<td style="white-space: nowrap;font-size: 8px; padding: 1px 3px;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid; border-radius: 0 5px 5px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.DateTimeGr.ToFarsi() - @day.DateTimeGr.DayOfWeek.DayOfWeeKToPersian()</td>
|
||||
|
||||
|
||||
@if (day.IsAbsent)
|
||||
@@ -500,42 +577,96 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" style="padding: 0 12px;">
|
||||
<table style="width: 100%;margin: 12px 0 0 0;">
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<td style="width: 60%;">
|
||||
@{
|
||||
if (Model.IsLeft)
|
||||
<div class="" style="margin: 10px 0 0 0;display: flex;gap: 0px;">
|
||||
<div style="width: 60%;">
|
||||
<div class="row" style="padding: 0 12px;">
|
||||
<fieldset style="border: 1px solid black !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; border-radius: 10px 10px 10px 10px; margin: 0px 0px; overflow: hidden; padding: 0; display: flex; width: 100%;">
|
||||
|
||||
<div class="table-container">
|
||||
<table style="width: 100%;">
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 50%;">
|
||||
</colgroup>
|
||||
|
||||
<tr style="border-left: 2px solid black; text-align: center; font-size: 9px; padding: 1px 4px; height: 15px; border-bottom: 1px solid; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<th colspan="3" style="text-align: center; font-size: 11px;">مساعده</th>
|
||||
</tr>
|
||||
|
||||
<tr style="border-bottom: 1px solid; border-left: 1px solid black; background-color: #e1e1e1 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 9px; height: 15px;">
|
||||
<th style="padding: 1px 4px; text-align: center; border-left: 1px solid black; min-width: 3rem; font-size: 11px;">تاریخ</th>
|
||||
<th style="padding: 1px 4px; text-align: center; border-left: 2px solid black; min-width: 4rem; font-size: 11px;">مبلغ</th>
|
||||
</tr>
|
||||
|
||||
@for (int i = 0; i < 5; i++)
|
||||
{
|
||||
<span style="float: right; margin-right: 15px; font-size: 11.2px;height: 36px;">
|
||||
<span>طبق تصفیه حساب نهایی تنظیمی فوق، آخرین روز اشتغال بکار اینجانب</span><span> </span>
|
||||
<span>@Model.LastDayOfWork</span><span> </span>
|
||||
<span>بوده و قطع همکاری با کارفرما و کارگاه از تاریخ</span><span> </span>
|
||||
<span>@Model.LeftWorkDate</span><span> </span>
|
||||
<span>می باشد</span>
|
||||
</span>
|
||||
<tr class="trTable" style="text-align: right; font-size: 10px; height: 15px;">
|
||||
<td style="font-size: 8px; text-align: center;border-left: 1px solid black">
|
||||
@(Model.SalaryAidViewModels != null && i < Model.SalaryAidViewModels.Count
|
||||
? Model.SalaryAidViewModels[i]?.SalaryAidDateTimeFa ?? ""
|
||||
: "")
|
||||
</td>
|
||||
<td style="font-size: 8px; text-align: center;border-left: 2px solid black">
|
||||
@(Model.SalaryAidViewModels != null && i < Model.SalaryAidViewModels.Count
|
||||
? Model.SalaryAidViewModels[i]?.Amount ?? ""
|
||||
: "")
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
</td>
|
||||
<td style="width: 40%;">
|
||||
<div style="display: flex; justify-content: end;" class="signSection">
|
||||
<div style="margin-left: 15px; position: relative; width: 80px; border: 1px solid #000; height: 88px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate;background-color: #FFFFFF !important;-webkit-print-color-adjust: exact;print-color-adjust: exact;font-size: 12px;margin: -10px 8px 0 0;display: table-caption;padding: 0 4px;white-space: nowrap;">اثر انگشت</span>
|
||||
</div>
|
||||
<div style="position: relative; width: 160px; border: 1px solid #000; height: 88px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate;background-color: #FFFFFF !important;-webkit-print-color-adjust: exact;print-color-adjust: exact;font-size: 12px;margin: -10px 54px 0 0;display: table-caption;padding: 0 4px;">امضاء</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
<table style="width: 100%;">
|
||||
<colgroup>
|
||||
<col style="width: 40%;">
|
||||
<col style="width: 60%;">
|
||||
</colgroup>
|
||||
|
||||
<tr style="text-align: center; font-size: 11px; padding: 1px 4px; height: 15px; border-bottom: 1px solid; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<th colspan="3" style="text-align: center; font-size: 11px;">وام</th>
|
||||
</tr>
|
||||
|
||||
<tr style="border-bottom: 1px solid; background-color: #e1e1e1 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 9px; height: 15px;">
|
||||
<th style="padding: 1px 4px; text-align: center; border-left: 1px solid black; min-width: 4rem; font-size: 11px;">مبلغ کل وام</th>
|
||||
<th style="padding: 1px 4px; text-align: center; min-width: 4rem; font-size: 11px;">مبلغ باقیمانده وام</th>
|
||||
</tr>
|
||||
|
||||
@for (int i = 0; i < 5; i++)
|
||||
{
|
||||
<tr class="trTable" style="text-align: right; font-size: 9px; height: 15px;">
|
||||
<td style="font-size: 8px; text-align: center;border-left: 1px solid black">
|
||||
@(Model.InstallmentViewModels != null && i < Model.InstallmentViewModels.Count
|
||||
? Model.InstallmentViewModels[i]?.LoanAmount ?? ""
|
||||
: "")
|
||||
</td>
|
||||
<td style="font-size: 8px; text-align: center;">
|
||||
@(Model.InstallmentViewModels != null && i < Model.InstallmentViewModels.Count
|
||||
? Model.InstallmentViewModels[i]?.RemainingAmount ?? ""
|
||||
: "")
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 40%; display: flex; justify-content: end;align-items: end;">
|
||||
<div style="display: flex; justify-content: end;" class="signSection">
|
||||
<div style="margin-left: 15px; position: relative; width: 80px; border: 1px solid #000; height: 114px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate; background-color: #FFFFFF !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 12px; margin: -10px 8px 0 0; display: table-caption; padding: 0 4px; white-space: nowrap;">اثر انگشت</span>
|
||||
</div>
|
||||
<div style="position: relative; width: 160px; border: 1px solid #000; height: 114px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate; background-color: #FFFFFF !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 12px; margin: -10px 54px 0 0; display: table-caption; padding: 0 4px;">امضاء</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -545,7 +676,7 @@
|
||||
<input type="hidden" asp-for="Id" value="@Model.Id" />
|
||||
|
||||
|
||||
<input type="hidden" id="shiftWorkval" name="shiftWorkval" value="@Model.CreateWorkingHoursTemp.ShiftWork">
|
||||
<input type="hidden" id="shiftWorkval" name="shiftWorkval" value="@Model.CreateWorkingHoursTemp.ShiftWork">
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,133 +1,168 @@
|
||||
@using _0_Framework.Application
|
||||
@model CompanyManagment.App.Contracts.Checkout.CheckoutViewModel
|
||||
|
||||
|
||||
|
||||
<div class="container container2" id="printThis">
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<fieldset style="border: 1px solid black;
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<fieldset style="border: 1px solid black;
|
||||
padding: revert;
|
||||
border-radius: 10px;
|
||||
height: 28cm;
|
||||
margin: 3mm 5mm 0 5mm; ">
|
||||
<div class="row" dir="rtl">
|
||||
<div class="col-xs-3 d-inline-block"><fieldset style="border: 1px solid black; border-radius: 15px; padding: 1px 15px 1px 15px; margin-top: 5px; width: 60%; font-size: 12px; text-align: center;"> @Model.ContractNo</fieldset></div>
|
||||
<div class="col-xs-6 d-inline-block text-center">
|
||||
<p style="margin-top:10px !important;font-size: 18px; font-family: 'IranNastaliq' !important; ">بسمه تعالی</p>
|
||||
<p style="font-size: 15px; font-weight: bold">فیش حقوقی و رسید پرداخت حقوق</p>
|
||||
</div>
|
||||
<div class="col-xs-3 d-inline-block"></div>
|
||||
</div>
|
||||
<div class="row" style="padding: 0px 12px;font-size: 14px; margin-bottom: 10px; ">
|
||||
<div class="row">
|
||||
<span style="width: 280px;padding: 0px 10px 0px 0px !important; float:right"><span>اینجانب <span> </span> <span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.EmployeeFullName</span> </span></span>
|
||||
<span style="margin-right: 5px; float:right">
|
||||
<span> نام پدر: </span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.FathersName))
|
||||
{
|
||||
<span style="visibility: hidden">"1111111111"</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.FathersName</span>
|
||||
|
||||
}
|
||||
</span>
|
||||
<span style="padding: 0px !important; float: left">
|
||||
|
||||
<span>به کد ملی:</span> <span> </span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.NationalCode))
|
||||
{
|
||||
<span style="margin-left: 15px; visibility: hidden">222333111</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="margin-left: 15px; font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.NationalCode</span>
|
||||
}
|
||||
|
||||
<span>متولد:</span> <span> </span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.DateOfBirth))
|
||||
{
|
||||
<span style="margin-left: 10px; visibility: hidden">1401/01/01</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="margin-left: 10px; font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.DateOfBirth</span>
|
||||
}
|
||||
</span>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12" style="font-size: 14px; text-align: justify">
|
||||
<div class="row" dir="rtl">
|
||||
<div class="col-xs-3 d-inline-block"><fieldset style="border: 1px solid black; border-radius: 15px; padding: 1px 15px 1px 15px; margin-top: 5px; width: 70%; font-size: 12px; text-align: center;"> @Model.ContractNo</fieldset></div>
|
||||
<div class="col-xs-6 d-inline-block text-center">
|
||||
<p style="font-size: 18px; font-family: 'IranNastaliq' !important; margin-top:0 !important;">بسمه تعالی</p>
|
||||
<p style="font-size: 15px; font-weight: bold; margin: 2px;">فیش حقوقی و رسید پرداخت حقوق</p>
|
||||
</div>
|
||||
<div class="col-xs-3 d-inline-block"></div>
|
||||
</div>
|
||||
|
||||
<div class="headerInfo">
|
||||
<div class="row" style="font-size: 12px; margin-bottom: 3px;">
|
||||
<div class="col-xs-12" style="padding: 0 10px;">
|
||||
<div style="display: flex;align-items: center;border-bottom: 1px solid #000000 !important;height: 23px;">
|
||||
<div style="width: 34%; padding: 3px 0 !important;">
|
||||
<div>
|
||||
<span class="cusSpanTitle">اینجانب</span>
|
||||
<span>@Model.EmployeeFullName</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 22%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">نام پدر<span>:</span></span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.FathersName))
|
||||
{
|
||||
<span style="visibility: hidden">""</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>@Model.FathersName</span>
|
||||
|
||||
}
|
||||
</div>
|
||||
<div style="width: 22%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">به کد ملی<span>:</span></span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.NationalCode))
|
||||
{
|
||||
<span style="margin-left: 15px; visibility: hidden"></span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>
|
||||
@Model.NationalCode
|
||||
</span>
|
||||
}
|
||||
</div>
|
||||
<div style="width: 22%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">متولد<span>:</span></span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.DateOfBirth))
|
||||
{
|
||||
<span style="visibility: hidden">1401/01/01</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>@Model.DateOfBirth</span>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12" style="font-size: 12px; text-align: justify; padding: 0 10px;">
|
||||
<div style="display: flex;align-items: center;border-bottom: 1px solid #000000 !important;height: 23px; padding: 0;">
|
||||
@{
|
||||
if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقیقی")
|
||||
{
|
||||
<span> پـرسنل کارگاه<span> </span><span> </span><span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.WorkshopName</span> </span>
|
||||
<span> </span>
|
||||
<span>به کارفرمایی <span> </span> آقای/خانم</span>
|
||||
<span> </span>
|
||||
<span> </span>
|
||||
if (@Model.EmployerList.Count > 1)
|
||||
{
|
||||
<span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
@Model.EmployerList[0].EmployerFullName <span>،</span>
|
||||
<span> </span>@Model.EmployerList[1].EmployerFullName
|
||||
@if (@Model.EmployerList.Count > 2)
|
||||
{
|
||||
<span>و غیره</span>
|
||||
}
|
||||
</span>
|
||||
<br />
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
@Model.EmployerList.FirstOrDefault().EmployerFullName
|
||||
</span>
|
||||
<br />
|
||||
}
|
||||
<div style="width: 50%; padding: 3px 0 !important;">
|
||||
<div>
|
||||
<span class="cusSpanTitle">نام کارگاه<span>:</span> </span>
|
||||
<span>@Model.WorkshopName</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="width: 50%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">نام کارفرما<span>:</span> </span>
|
||||
@if (Model.EmployerList.Count > 1)
|
||||
{
|
||||
<span>
|
||||
@Model.EmployerList[0].EmployerFullName <span>،</span>
|
||||
<span> </span>@Model.EmployerList[1].EmployerFullName
|
||||
@if (@Model.EmployerList.Count > 2)
|
||||
{
|
||||
<span>و غیره</span>
|
||||
}
|
||||
</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>
|
||||
@Model.EmployerList.FirstOrDefault().EmployerFullName
|
||||
</span>
|
||||
}
|
||||
</div>
|
||||
|
||||
}
|
||||
else if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقوقی")
|
||||
{
|
||||
<span> پـرسنل شرکت/موسسه<span> </span><span> </span><span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.WorkshopName</span> </span>
|
||||
<br />
|
||||
<div style="width: 100%; padding: 3px 0 !important;">
|
||||
<span class="cusSpanTitle">پـرسنل شرکت/موسسه<span>:</span> </span>
|
||||
<span>
|
||||
@Model.WorkshopName
|
||||
</span>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
<div style="text-align: justify; padding: 0 6px;">
|
||||
@{
|
||||
var items = new List<string>();
|
||||
|
||||
if (Model.MonthlySalary != "0") items.Add("حقوق و مزد");
|
||||
if (Model.ConsumableItems != "0") items.Add("کمک هزینه اقلام مصرفی خانوار");
|
||||
if (Model.HousingAllowance != "0") items.Add("کمک هزینه مسکن");
|
||||
if (!string.IsNullOrWhiteSpace(Model.OvertimePay) && Model.OvertimePay != "0") items.Add("فوق العاده اضافه کاری");
|
||||
if (!string.IsNullOrWhiteSpace(Model.NightworkPay) && Model.NightworkPay != "0") items.Add("فوق العاده شب کاری");
|
||||
if (!string.IsNullOrWhiteSpace(Model.FridayPay) && Model.FridayPay != "0") items.Add("فوق العاده جمعه کاری");
|
||||
if (Model.MissionPay != "0") items.Add("فوق العاده ماموریت");
|
||||
if (Model.ShiftPay != "0") items.Add("فوق العاده نوبت کاری");
|
||||
if (Model.FamilyAllowance != "0") items.Add("کمک هزینه عائله مندی");
|
||||
if (Model.MarriedAllowance != "0") items.Add("حق تاهل");
|
||||
if (Model.RewardPay != "0") items.Add("پاداش");
|
||||
if (Model.BonusesPay != "0") items.Add("عیدی و پاداش");
|
||||
if (Model.YearsPay != "0") items.Add("سنوات");
|
||||
if (Model.LeavePay != "0") items.Add("مزد مرخصی");
|
||||
|
||||
string finalText = "";
|
||||
if (items.Count == 1)
|
||||
{
|
||||
finalText = items[0];
|
||||
}
|
||||
else if (items.Count > 1)
|
||||
{
|
||||
finalText = string.Join("<span>،</span> ", items.Take(items.Count - 1)) + " و " + items.Last();
|
||||
}
|
||||
}
|
||||
|
||||
<span>کلیه حق السعی خود اعم از حقوق، کمک هزینه اقلام مصرفی خانوار، کمک هزینه مسکن </span>
|
||||
|
||||
<span>و همچنین عیدی و پاداش، سنوات و...</span>
|
||||
<span style="background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;"> <span style="font-weight: bold">@Model.Month</span> ماه </span>
|
||||
<span style="background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;"> سال <span style="font-weight: bold">@Model.Year</span> </span>
|
||||
<span> برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام. </span>
|
||||
|
||||
<span>
|
||||
کلیه حق السعی خود اعم از @Html.Raw(finalText) @Model.Month ماه سال @Model.Year برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام.
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="row m-t-20">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row m-t-20">
|
||||
<fieldset style="border: 1px solid black !important;-webkit-print-color-adjust: exact;print-color-adjust: exact; border-radius: 10px 10px 10px 10px; margin: 0px 10px;overflow:hidden">
|
||||
<table style="/* table-layout: fixed; */ width: 100%">
|
||||
|
||||
|
||||
<tr style="border-bottom: 1px solid; height: 25px; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<th style="text-align: center; width: 8mm; font-size: 12px; padding: 2px; border-collapse: separate; border-radius: 0px 10px 0px 0px;"> </th>
|
||||
<th style="text-align: center; position: absolute ; right: 55mm; font-size: 13px;padding-top:4px"> مطالبات </th>
|
||||
<th style="text-align: center;"> </th>
|
||||
<th style="text-align: center; border-left: 2px solid #000; font-size: 12px"> </th>
|
||||
<th style="text-align: center; font-size: 13px; position: absolute; left: 50mm; padding-top: 4px;"> کسورات </th>
|
||||
<th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 0px 0px 0px 0px;"> </th>
|
||||
<th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 10px 0px 0px 0px;"> </th>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr style="border-bottom: 1px solid; height: 25px; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
@* <th style="text-align: center; width: 8mm; font-size: 12px; padding: 2px; border-collapse: separate; border-radius: 0px 10px 0px 0px;"> </th> *@
|
||||
<th colspan="4" style="text-align: center; position: relative ; font-size: 13px;padding-top:4px;border-left: 2px solid #000;"> مطالبات </th>
|
||||
@* <th style="text-align: center;"> </th>
|
||||
<th style="text-align: center; border-left: 2px solid #000; font-size: 12px"> </th> *@
|
||||
<th colspan="3" style="text-align: center; font-size: 13px; position: relative; padding-top: 4px;"> کسورات </th>
|
||||
@* <th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 0px 0px 0px 0px;"> </th>
|
||||
<th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 10px 0px 0px 0px;"> </th> *@
|
||||
</tr>
|
||||
|
||||
<tr style="border-bottom: 1px solid; background-color: #e1e1e1 !important ;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<th style="width: 5%; text-align: center; border-left: 1px solid #000; font-size: 12px;padding: 2px"> ردیف </th>
|
||||
<th style="width: 23%; text-align: center; border-left: 1px solid #000; font-size: 12px"> شرح </th>
|
||||
@@ -142,7 +177,7 @@
|
||||
<tr style="font-size: 12px; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">1</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حقوق و مزد </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @Model.SumOfWorkingDays </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MonthlySalary == "0" ? "-" : Model.MonthlySalary) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حق بیمه سهم کارگر </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
@@ -152,7 +187,7 @@
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">2</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> پایه سنوات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.BaseYearsPay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.BaseYearsPay == "0" ? "-" : Model.BaseYearsPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مالیات بر حقوق </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
@@ -161,8 +196,8 @@
|
||||
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">3</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> کمک هزینه اقلام مصرفی خانوار </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000; white-space: nowrap;"> کمک هزینه اقلام مصرفی خانوار </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.ConsumableItems == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.ConsumableItems == "0" ? "-" : Model.ConsumableItems) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> قسط تسهیلات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
@@ -172,7 +207,7 @@
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">4</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> کمک هزینه مسکن </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.HousingAllowance == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.HousingAllowance == "0" ? "-" : Model.HousingAllowance) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مساعده </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
@@ -181,28 +216,28 @@
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">5</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده اضافه کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.OvertimePay == "0" ? "-" : Model.OvertimePay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> غیبت </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.OverTimeWorkValue == "00:00" || string.IsNullOrWhiteSpace(Model.OverTimeWorkValue)) ? "-" : Model.OverTimeWorkValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @((Model.OvertimePay == "0" || string.IsNullOrWhiteSpace(Model.OvertimePay)) ? "-" : Model.OvertimePay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> غیبت </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.AbsenceDeduction == "0" ? "-" : Model.AbsenceDeduction) </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">6</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده شب کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.NightworkPay == "0" ? "-" : Model.NightworkPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.OverNightWorkValue == "00:00" || string.IsNullOrWhiteSpace(Model.OverNightWorkValue)) ? "-" : Model.OverNightWorkValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @((Model.NightworkPay == "0" || string.IsNullOrWhiteSpace(Model.NightworkPay)) ? "-" : Model.NightworkPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">7</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده جمعه کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.FridayPay == "0" ? "-" : Model.FridayPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.FridayWorkValue == "0" || string.IsNullOrWhiteSpace(Model.FridayWorkValue)) ? "-" : Model.FridayWorkValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @((Model.FridayPay == "0" || string.IsNullOrWhiteSpace(Model.FridayPay)) ? "-" : Model.FridayPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
@@ -210,17 +245,17 @@
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده ماموریت </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MissionPay == "0" ? "-" : Model.MissionPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">9</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده نوبت کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.RotatingShiftValue == "0" || string.IsNullOrWhiteSpace(Model.RotatingShiftValue)) ? "-" : "%" + Model.RotatingShiftValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.ShiftPay == "0" ? "-" : Model.ShiftPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
@@ -235,7 +270,7 @@
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">11</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حق تاهل </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @Model.MaritalStatus </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MarriedAllowance == "0" ? "-" : Model.MarriedAllowance) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
@@ -250,33 +285,66 @@
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">13</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> عیدی و پاداش </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.BonusesPay == "0" ? "-" : Model.BonusesPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">14</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> سنوات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.YearsPay == "0" ? "-" : Model.YearsPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">15</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مزد مرخصی </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.LeavePay == "0" ? "-" : Model.LeavePay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">13</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> عیدی و پاداش </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.BonusesPay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.BonusesPay == "0" ? "-" : Model.BonusesPay) </td>
|
||||
|
||||
@{
|
||||
if (Model.IsLeft)
|
||||
{
|
||||
<td style="text-align: center; background-color: #ffffff !important;" colspan="3" rowspan="3">
|
||||
<div style="border-top: 1px solid #000;border-top-left-radius: 15px;border-top-right-radius: 15px; height: 65px;">
|
||||
<div style="padding: 0 6px; text-align: start;display: block;align-items: center;height: 64px;margin: 6px;">
|
||||
<span>طبق تصفیه حساب نهایی تنظیمی فوق، آخرین روز اشتغال بکار اینجانب</span>
|
||||
<span>@Model.LastDayOfWork</span>
|
||||
<span>بوده و قطع همکاری با کارفرما و کارگاه از تاریخ</span>
|
||||
<span>@Model.LeftWorkDate</span>
|
||||
<span>می باشد</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
}
|
||||
}
|
||||
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">14</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> سنوات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.YearsPay == "0" ? "-" : Model.SumOfWorkingDays)</td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.YearsPay == "0" ? "-" : Model.YearsPay) </td>
|
||||
|
||||
@{
|
||||
if (!Model.IsLeft)
|
||||
{
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
}
|
||||
}
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">15</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مزد مرخصی </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.LeavePay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.LeavePay == "0" ? "-" : Model.LeavePay) </td>
|
||||
|
||||
@{
|
||||
if (!Model.IsLeft)
|
||||
{
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
}
|
||||
}
|
||||
</tr>
|
||||
<tr style="font-size: 12px; height: 20px; background-color: #dddcdc !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; border-bottom: 1px solid #000; border-top: 1px solid #000; ">
|
||||
<td style="text-align: center; padding: 2px "></td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> جمع مطالبات </td>
|
||||
@@ -312,14 +380,14 @@
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">خروج</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 11%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">استراحت</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 10%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">منقطع</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 15%;padding: 0 0 0 0px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">ساعت کارکرد</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 15%;padding: 0 0 0 0px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;white-space:nowrap">کارکرد</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@for (int i = 0; i < 15; i++)
|
||||
{
|
||||
<tr style="@((@Model.MonthlyRollCall[i].IsHoliday || @Model.MonthlyRollCall[i].IsFriday) ? "background-color: #BBBBBB !important;" : "background-color: #FFFFFF !important;") font-size: 8px;border-collapse: separate;-webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
<td style="font-size: 8px; padding: 1px 3px;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid; border-radius: 0 5px 5px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@Model.MonthlyRollCall[i].DateTimeGr.ToFarsi() - @Model.MonthlyRollCall[i].DateTimeGr.DayOfWeek.DayOfWeeKToPersian()</td>
|
||||
<td style="white-space: nowrap; font-size: 8px; padding: 1px 3px;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid; border-radius: 0 5px 5px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@Model.MonthlyRollCall[i].DateTimeGr.ToFarsi() - @Model.MonthlyRollCall[i].DateTimeGr.DayOfWeek.DayOfWeeKToPersian()</td>
|
||||
|
||||
|
||||
@if (@Model.MonthlyRollCall[i].IsAbsent)
|
||||
@@ -396,7 +464,7 @@
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">خروج</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 11%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">استراحت</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 10%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">منقطع</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 15%;padding: 0 0 0 0px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">ساعت کارکرد</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 15%;padding: 0 0 0 0px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;white-space:nowrap">کارکرد</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -406,7 +474,7 @@
|
||||
@foreach (var day in Model.MonthlyRollCall)
|
||||
{
|
||||
<tr style="@((day.IsHoliday || day.IsFriday) ? "background-color: #BBBBBB !important;" : "background-color: #FFFFFF !important;") font-size: 8px;border-collapse: separate;-webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
<td style="font-size: 8px; padding: 1px 3px;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid; border-radius: 0 5px 5px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.DateTimeGr.ToFarsi() - @day.DateTimeGr.DayOfWeek.DayOfWeeKToPersian()</td>
|
||||
<td style="white-space: nowrap; font-size: 8px; padding: 1px 3px;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid; border-radius: 0 5px 5px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.DateTimeGr.ToFarsi() - @day.DateTimeGr.DayOfWeek.DayOfWeeKToPersian()</td>
|
||||
|
||||
|
||||
@if (day.IsAbsent)
|
||||
@@ -490,51 +558,98 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" style="padding: 0 12px;">
|
||||
<table style="width: 100%;margin: 12px 0 0 0;">
|
||||
<tbody>
|
||||
<div class="" style="margin: 10px 0 0 0;display: flex;gap: 0px;">
|
||||
<div style="width: 60%;">
|
||||
<div class="row" style="padding: 0 12px;">
|
||||
<fieldset style="border: 1px solid black !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; border-radius: 10px 10px 10px 10px; margin: 0px 0px; overflow: hidden; padding: 0; display: flex; width: 100%;">
|
||||
|
||||
<tr>
|
||||
<td style="width: 60%;">
|
||||
@{
|
||||
if (Model.IsLeft)
|
||||
{
|
||||
<span style="float: right; margin-right: 15px; font-size: 11.2px;height: 36px;">
|
||||
<span>طبق تصفیه حساب نهایی تنظیمی فوق، آخرین روز اشتغال بکار اینجانب</span><span> </span>
|
||||
<span>@Model.LastDayOfWork</span><span> </span>
|
||||
<span>بوده و قطع همکاری با کارفرما و کارگاه از تاریخ</span><span> </span>
|
||||
<span>@Model.LeftWorkDate</span><span> </span>
|
||||
<span>می باشد</span>
|
||||
</span>
|
||||
}
|
||||
}
|
||||
</td>
|
||||
<td style="width: 40%;">
|
||||
<div style="display: flex; justify-content: end;" class="signSection">
|
||||
<div style="margin-left: 15px; position: relative; width: 80px; border: 1px solid #000; height: 78px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate;background-color: #FFFFFF !important;-webkit-print-color-adjust: exact;print-color-adjust: exact;font-size: 12px;margin: -10px 8px 0 0;display: table-caption;padding: 0 4px;white-space: nowrap;">اثر انگشت</span>
|
||||
</div>
|
||||
<div style="position: relative; width: 160px; border: 1px solid #000; height: 78px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate;background-color: #FFFFFF !important;-webkit-print-color-adjust: exact;print-color-adjust: exact;font-size: 12px;margin: -10px 54px 0 0;display: table-caption;padding: 0 4px;">امضاء</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<div class="table-container">
|
||||
<table style="width: 100%;">
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 50%;">
|
||||
</colgroup>
|
||||
|
||||
<tr style="border-left: 2px solid black; text-align: center; font-size: 10px; padding: 1px 4px; height: 15px; border-bottom: 1px solid; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<th colspan="3" style="text-align: center; font-size: 11px;">مساعده</th>
|
||||
</tr>
|
||||
|
||||
<tr style="border-bottom: 1px solid; border-left: 1px solid black; background-color: #e1e1e1 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 9px; height: 15px;">
|
||||
<th style="padding: 1px 4px; text-align: center; border-left: 1px solid black; min-width: 3rem; font-size: 11px;">تاریخ</th>
|
||||
<th style="padding: 1px 4px; text-align: center; border-left: 2px solid black; min-width: 4rem; font-size: 11px;">مبلغ</th>
|
||||
</tr>
|
||||
|
||||
@for (int i = 0; i < 5; i++)
|
||||
{
|
||||
<tr class="trTable" style="text-align: right; font-size: 10px; height: 15px;">
|
||||
<td style="font-size: 8px; text-align: center;border-left: 1px solid black">
|
||||
@(Model.SalaryAidViewModels != null && i < Model.SalaryAidViewModels.Count
|
||||
? Model.SalaryAidViewModels[i]?.SalaryAidDateTimeFa ?? ""
|
||||
: "")
|
||||
</td>
|
||||
<td style="font-size: 8px; text-align: center;border-left: 2px solid black">
|
||||
@(Model.SalaryAidViewModels != null && i < Model.SalaryAidViewModels.Count
|
||||
? Model.SalaryAidViewModels[i]?.Amount ?? ""
|
||||
: "")
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
</table>
|
||||
|
||||
<table style="width: 100%;">
|
||||
<colgroup>
|
||||
<col style="width: 40%;">
|
||||
<col style="width: 60%;">
|
||||
</colgroup>
|
||||
|
||||
<tr style="text-align: center; font-size: 11px; padding: 1px 4px; height: 15px; border-bottom: 1px solid; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<th colspan="3" style="text-align: center; font-size: 11px;">وام</th>
|
||||
</tr>
|
||||
|
||||
<tr style="border-bottom: 1px solid; background-color: #e1e1e1 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 9px; height: 15px;">
|
||||
<th style="padding: 1px 4px; text-align: center; border-left: 1px solid black; min-width: 4rem; font-size: 11px;">مبلغ کل وام</th>
|
||||
<th style="padding: 1px 4px; text-align: center; min-width: 4rem; font-size: 11px;">مبلغ باقیمانده وام</th>
|
||||
</tr>
|
||||
|
||||
@for (int i = 0; i < 5; i++)
|
||||
{
|
||||
<tr class="trTable" style="text-align: right; font-size: 9px; height: 15px;">
|
||||
<td style="font-size: 8px; text-align: center;border-left: 1px solid black">
|
||||
@(Model.InstallmentViewModels != null && i < Model.InstallmentViewModels.Count
|
||||
? Model.InstallmentViewModels[i]?.LoanAmount ?? ""
|
||||
: "")
|
||||
</td>
|
||||
<td style="font-size: 8px; text-align: center;">
|
||||
@(Model.InstallmentViewModels != null && i < Model.InstallmentViewModels.Count
|
||||
? Model.InstallmentViewModels[i]?.RemainingAmount ?? ""
|
||||
: "")
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 40%; display: flex; justify-content: end;align-items: end;">
|
||||
<div style="display: flex; justify-content: end;" class="signSection">
|
||||
<div style="margin-left: 15px; position: relative; width: 80px; border: 1px solid #000; height: 114px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate; background-color: #FFFFFF !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 12px; margin: -10px 8px 0 0; display: table-caption; padding: 0 4px; white-space: nowrap;">اثر انگشت</span>
|
||||
</div>
|
||||
<div style="position: relative; width: 160px; border: 1px solid #000; height: 114px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate; background-color: #FFFFFF !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 12px; margin: -10px 54px 0 0; display: table-caption; padding: 0 4px;">امضاء</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<input type="hidden" asp-for="Id" value="@Model.Id" />
|
||||
|
||||
<input type="hidden" id="shiftWorkval" name="shiftWorkval" value="@Model.CreateWorkingHoursTemp.ShiftWork">
|
||||
|
||||
|
||||
<input type="hidden" id="shiftWorkval" name="shiftWorkval" value="@Model.CreateWorkingHoursTemp.ShiftWork">
|
||||
@@ -0,0 +1,606 @@
|
||||
@using _0_Framework.Application
|
||||
@model CompanyManagment.App.Contracts.Checkout.CheckoutViewModel
|
||||
|
||||
|
||||
|
||||
<div class="container container2" id="printThis">
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<fieldset style="border: 1px solid black;
|
||||
padding: revert;
|
||||
border-radius: 10px;
|
||||
height: 28cm;
|
||||
margin: 3mm 5mm 0 5mm; ">
|
||||
<div class="row" dir="rtl">
|
||||
<div class="col-xs-3 d-inline-block"><fieldset style="border: 1px solid black; border-radius: 15px; padding: 1px 15px 1px 15px; margin-top: 5px; width: 60%; font-size: 12px; text-align: center;"> @Model.ContractNo</fieldset></div>
|
||||
<div class="col-xs-6 d-inline-block text-center">
|
||||
<p style="margin-top:10px !important;font-size: 18px; font-family: 'IranNastaliq' !important; ">بسمه تعالی</p>
|
||||
<p style="font-size: 15px; font-weight: bold">فیش حقوقی و رسید پرداخت حقوق</p>
|
||||
</div>
|
||||
<div class="col-xs-3 d-inline-block"></div>
|
||||
</div>
|
||||
<div class="row" style="padding: 0px 12px;font-size: 14px; margin-bottom: 10px; ">
|
||||
<div class="row">
|
||||
<span style="width: 280px;padding: 0px 10px 0px 0px !important; float:right"><span>اینجانب <span> </span> <span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.EmployeeFullName</span> </span></span>
|
||||
<span style="margin-right: 5px; float:right">
|
||||
<span> نام پدر: </span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.FathersName))
|
||||
{
|
||||
<span style="visibility: hidden">"1111111111"</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.FathersName</span>
|
||||
|
||||
}
|
||||
</span>
|
||||
<span style="padding: 0px !important; float: left">
|
||||
|
||||
<span>به کد ملی:</span> <span> </span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.NationalCode))
|
||||
{
|
||||
<span style="margin-left: 15px; visibility: hidden">222333111</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="margin-left: 15px; font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.NationalCode</span>
|
||||
}
|
||||
|
||||
<span>متولد:</span> <span> </span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.DateOfBirth))
|
||||
{
|
||||
<span style="margin-left: 10px; visibility: hidden">1401/01/01</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="margin-left: 10px; font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.DateOfBirth</span>
|
||||
}
|
||||
</span>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12" style="font-size: 14px; text-align: justify">
|
||||
|
||||
@{
|
||||
if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقیقی")
|
||||
{
|
||||
<span> پـرسنل کارگاه<span> </span><span> </span><span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.WorkshopName</span> </span>
|
||||
<span> </span>
|
||||
<span>به کارفرمایی <span> </span> آقای/خانم</span>
|
||||
<span> </span>
|
||||
<span> </span>
|
||||
if (@Model.EmployerList.Count > 1)
|
||||
{
|
||||
<span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
@Model.EmployerList[0].EmployerFullName <span>،</span>
|
||||
<span> </span>@Model.EmployerList[1].EmployerFullName
|
||||
@if (@Model.EmployerList.Count > 2)
|
||||
{
|
||||
<span>و غیره</span>
|
||||
}
|
||||
</span>
|
||||
<br />
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
@Model.EmployerList.FirstOrDefault().EmployerFullName
|
||||
</span>
|
||||
<br />
|
||||
}
|
||||
|
||||
}
|
||||
else if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقوقی")
|
||||
{
|
||||
<span> پـرسنل شرکت/موسسه<span> </span><span> </span><span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.WorkshopName</span> </span>
|
||||
<br />
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
<span>کلیه حق السعی خود اعم از حقوق، کمک هزینه اقلام مصرفی خانوار، کمک هزینه مسکن </span>
|
||||
|
||||
<span>و همچنین عیدی و پاداش، سنوات و...</span>
|
||||
<span style="background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;"> <span style="font-weight: bold">@Model.Month</span> ماه </span>
|
||||
<span style="background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;"> سال <span style="font-weight: bold">@Model.Year</span> </span>
|
||||
<span> برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام. </span>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="row m-t-20">
|
||||
<fieldset style="border: 1px solid black !important;-webkit-print-color-adjust: exact;print-color-adjust: exact; border-radius: 10px 10px 10px 10px; margin: 0px 10px;overflow:hidden">
|
||||
<table style="/* table-layout: fixed; */ width: 100%">
|
||||
|
||||
|
||||
<tr style="border-bottom: 1px solid; height: 25px; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<th style="text-align: center; width: 8mm; font-size: 12px; padding: 2px; border-collapse: separate; border-radius: 0px 10px 0px 0px;"> </th>
|
||||
<th style="text-align: center; position: absolute ; right: 55mm; font-size: 13px;padding-top:4px"> مطالبات </th>
|
||||
<th style="text-align: center;"> </th>
|
||||
<th style="text-align: center; border-left: 2px solid #000; font-size: 12px"> </th>
|
||||
<th style="text-align: center; font-size: 13px; position: absolute; left: 50mm; padding-top: 4px;"> کسورات </th>
|
||||
<th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 0px 0px 0px 0px;"> </th>
|
||||
<th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 10px 0px 0px 0px;"> </th>
|
||||
</tr>
|
||||
|
||||
<tr style="border-bottom: 1px solid; background-color: #e1e1e1 !important ;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<th style="width: 5%; text-align: center; border-left: 1px solid #000; font-size: 12px;padding: 2px"> ردیف </th>
|
||||
<th style="width: 23%; text-align: center; border-left: 1px solid #000; font-size: 12px"> شرح </th>
|
||||
<th style="width: 10%; text-align: center; border-left: 1px solid #000; font-size: 9px"> ساعت/روز/تعداد </th>
|
||||
<th style="width: 12%; text-align: center; border-left: 2px solid #000; font-size: 12px"> مبلغ(ریال) </th>
|
||||
<th style="width: 28%; text-align: center; border-left: 1px solid #000; font-size: 12px"> شرح </th>
|
||||
<th style="width: 10%; text-align: center; border-left: 1px solid #000; font-size: 9px"> ساعت/روز/تعداد </th>
|
||||
<th style="width: 12%; text-align: center; font-size: 12px"> مبلغ(ریال) </th>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr style="font-size: 12px; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">1</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حقوق و مزد </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @Model.SumOfWorkingDays </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MonthlySalary == "0" ? "-" : Model.MonthlySalary) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حق بیمه سهم کارگر </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.InsuranceDeduction == "0" ? "-" : Model.InsuranceDeduction) </td>
|
||||
</tr>
|
||||
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">2</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> پایه سنوات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.BaseYearsPay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.BaseYearsPay == "0" ? "-" : Model.BaseYearsPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مالیات بر حقوق </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.TaxDeducation == "0" ? "-" : Model.TaxDeducation) </td>
|
||||
</tr>
|
||||
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">3</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> کمک هزینه اقلام مصرفی خانوار </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.ConsumableItems == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.ConsumableItems == "0" ? "-" : Model.ConsumableItems) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> قسط تسهیلات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.InstallmentDeduction == "0" ? "-" : Model.InstallmentDeduction) </td>
|
||||
</tr>
|
||||
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">4</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> کمک هزینه مسکن </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.HousingAllowance == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.HousingAllowance == "0" ? "-" : Model.HousingAllowance) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مساعده </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.SalaryAidDeduction == "0" ? "-" : Model.SalaryAidDeduction) </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">5</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده اضافه کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.OverTimeWorkValue == "00:00" || string.IsNullOrWhiteSpace(Model.OverTimeWorkValue)) ? "-" : Model.OverTimeWorkValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @((Model.OvertimePay == "0" || string.IsNullOrWhiteSpace(Model.OvertimePay)) ? "-" : Model.OvertimePay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> غیبت </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.AbsenceDeduction == "0" ? "-" : Model.AbsenceDeduction) </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">6</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده شب کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.OverNightWorkValue == "00:00" || string.IsNullOrWhiteSpace(Model.OverNightWorkValue)) ? "-" : Model.OverNightWorkValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @((Model.NightworkPay == "0" || string.IsNullOrWhiteSpace(Model.NightworkPay)) ? "-" : Model.NightworkPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">7</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده جمعه کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.FridayWorkValue == "0" || string.IsNullOrWhiteSpace(Model.FridayWorkValue)) ? "-" : Model.FridayWorkValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @((Model.FridayPay == "0" || string.IsNullOrWhiteSpace(Model.FridayPay)) ? "-" : Model.FridayPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">8</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده ماموریت </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MissionPay == "0" ? "-" : Model.MissionPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">9</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده نوبت کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.RotatingShiftValue == "0" || string.IsNullOrWhiteSpace(Model.RotatingShiftValue)) ? "-" : "%" + Model.RotatingShiftValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.ShiftPay == "0" ? "-" : Model.ShiftPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">10</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> کمک هزینه عائله مندی </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.FamilyAllowance == "0" ? "-" : Model.FamilyAllowance) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">11</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حق تاهل </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @Model.MaritalStatus </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MarriedAllowance == "0" ? "-" : Model.MarriedAllowance) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">12</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> پاداش </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.RewardPay == "0" ? "-" : Model.RewardPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">13</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> عیدی و پاداش </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.BonusesPay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.BonusesPay == "0" ? "-" : Model.BonusesPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">14</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> سنوات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.YearsPay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.YearsPay == "0" ? "-" : Model.YearsPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">15</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مزد مرخصی </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.LeavePay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.LeavePay == "0" ? "-" : Model.LeavePay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; height: 20px; background-color: #dddcdc !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; border-bottom: 1px solid #000; border-top: 1px solid #000; ">
|
||||
<td style="text-align: center; padding: 2px "></td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> جمع مطالبات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.TotalClaims == "0" ? "-" : Model.TotalClaims) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> جمع کسورات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.TotalDeductions == "0" ? "-" : Model.TotalDeductions) </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; border-radius: 0px 0px 10px 10px !important; height: 20px; background-color: #efefef !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; padding: 2px; border-radius: 0px 0px 10px 0px "></td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000; "> مبلغ قابل پرداخت </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.TotalPayment == "0" ? "-" : Model.TotalPayment) </td>
|
||||
<td style="padding-right: 8px;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-radius:0px 0px 0px 10px"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<div style="">
|
||||
<div class="" style="margin-top: 8px;background-color: #F6F6F6 !important;border: 1px solid #000;border-radius: 10px;display: grid;gap: 8px;padding: 8px 0;-webkit-print-color-adjust: exact;print-color-adjust: exact;padding: 6px;grid-template-columns: repeat(2, minmax(0, 1fr));width: 100%;">
|
||||
<div class="" style="background-color: #DDDCDC !important; border: 1px solid #CCCCCC;border-radius: 7px;padding: 7px; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<table style="width: 100%">
|
||||
<thead style="background-color: #AFAFAF;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<tr style="font-size: 8px;border-collapse: separate;background-color: #AFAFAF !important;-webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
<th style="font-size: 8px !important;width: 28%;padding: 2px 10px !important;border-left: 0;border-radius: 0 5px 5px 0 !important;-webkit-print-color-adjust: exact;print-color-adjust: exact;">تاریخ</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">ورود</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">خروج</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">ورود</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">خروج</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 11%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">استراحت</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 10%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">منقطع</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 15%;padding: 0 0 0 0px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">ساعت کارکرد</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@for (int i = 0; i < 15; i++)
|
||||
{
|
||||
<tr style="@((@Model.MonthlyRollCall[i].IsHoliday || @Model.MonthlyRollCall[i].IsFriday) ? "background-color: #BBBBBB !important;" : "background-color: #FFFFFF !important;") font-size: 8px;border-collapse: separate;-webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
<td style="font-size: 8px; padding: 1px 3px;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid; border-radius: 0 5px 5px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@Model.MonthlyRollCall[i].DateTimeGr.ToFarsi() - @Model.MonthlyRollCall[i].DateTimeGr.DayOfWeek.DayOfWeeKToPersian()</td>
|
||||
|
||||
|
||||
@if (@Model.MonthlyRollCall[i].IsAbsent)
|
||||
{
|
||||
<td colspan="2" style="font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="display: flex;justify-content: center;">
|
||||
<span style="width: 40px;display: block;border-radius: 50px;background-color: #737373;color: #fff;">غیبت</span>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="2" style="font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="display: flex;justify-content: center;">
|
||||
@* <span style="width: 40px;display: block;border-radius: 50px;background-color: #737373;color: #fff;">غیبت</span> *@
|
||||
</div>
|
||||
</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
@if (string.IsNullOrWhiteSpace(Model.MonthlyRollCall[i].LeaveType))
|
||||
{
|
||||
<td style="font-size: 8px; text-align: center;border-width: 2px 0 2px 0;border-color: #DDDCDC;border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">@Model.MonthlyRollCall[i].StartDate1</td>
|
||||
<td style="font-size: 8px; text-align: center;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">@Model.MonthlyRollCall[i].EndDate1</td>
|
||||
<td style="font-size: 8px; text-align: center;border-width: 2px 0 2px 0;border-color: #DDDCDC;border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">@Model.MonthlyRollCall[i].StartDate2</td>
|
||||
<td style="font-size: 8px; text-align: center;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">@Model.MonthlyRollCall[i].EndDate2</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td colspan="2" style="font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="display: flex;justify-content: center;">
|
||||
<span style="width: 41px; display: block; border-radius: 50px; background-color: #fff; color: #737373;border: 1px solid #737373;">
|
||||
@Model.MonthlyRollCall[i].LeaveType
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="2" style="font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="display: flex;justify-content: center;">
|
||||
@* <span style="width: 40px; display: block; border-radius: 50px; background-color: #fff; color: #737373;border: 1px solid #737373;">
|
||||
@Model.MonthlyRollCall[i].LeaveType
|
||||
</span> *@
|
||||
</div>
|
||||
</td>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
<td style="font-size: 8px; text-align: center;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">@Model.MonthlyRollCall[i].BreakTimeString</td>
|
||||
<td style="font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid;vertical-align: center;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
@if (@Model.MonthlyRollCall[i].IsSliced)
|
||||
{
|
||||
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" style="display: block; margin: auto;">
|
||||
<circle stroke-width="2" cx="12" cy="12" r="9" stroke="#222222" />
|
||||
<path stroke-width="2" d="M8 12L11 15L16 9" stroke="#222222" stroke-linecap="round" />
|
||||
</svg>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>-</span>
|
||||
}
|
||||
</td>
|
||||
<td style="font-size: 8px;text-align: center;border-width: 2px 0 2px 0;border-color: #DDDCDC;border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact;border-radius: 5px 0 0 5px;">@Model.MonthlyRollCall[i].TotalWorkingHours</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="" style="background-color: #DDDCDC !important; border: 1px solid #CCCCCC;border-radius: 7px;padding: 7px; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<table style="width: 100%">
|
||||
<thead style="background-color: #AFAFAF;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<tr style="font-size: 8px;border-collapse: separate;background-color: #AFAFAF !important;-webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
<th style="font-size: 8px !important;width: 28%;padding: 2px 10px !important;border-left: 0;border-radius: 0 5px 5px 0 !important;-webkit-print-color-adjust: exact;print-color-adjust: exact;">تاریخ</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">ورود</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">خروج</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">ورود</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">خروج</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 11%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">استراحت</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 10%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">منقطع</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 15%;padding: 0 0 0 0px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">ساعت کارکرد</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@{
|
||||
Model.MonthlyRollCall = Model.MonthlyRollCall.Skip(15).ToList();
|
||||
}
|
||||
@foreach (var day in Model.MonthlyRollCall)
|
||||
{
|
||||
<tr style="@((day.IsHoliday || day.IsFriday) ? "background-color: #BBBBBB !important;" : "background-color: #FFFFFF !important;") font-size: 8px;border-collapse: separate;-webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
<td style="font-size: 8px; padding: 1px 3px;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid; border-radius: 0 5px 5px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.DateTimeGr.ToFarsi() - @day.DateTimeGr.DayOfWeek.DayOfWeeKToPersian()</td>
|
||||
|
||||
|
||||
@if (day.IsAbsent)
|
||||
{
|
||||
<td colspan="2" style="font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="display: flex;justify-content: center;">
|
||||
<span style="width: 38px;display: block;border-radius: 50px;background-color: #737373;color: #fff;">غیبت</span>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="2" style="font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="display: flex;justify-content: center;">
|
||||
@* <span style="width: 40px;display: block;border-radius: 50px;background-color: #737373;color: #fff;">غیبت</span> *@
|
||||
</div>
|
||||
</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
@if (string.IsNullOrWhiteSpace(day.LeaveType))
|
||||
{
|
||||
<td style="font-size: 8px !important; text-align: center;border-width: 2px 0 2px 0;border-color: #DDDCDC;border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.StartDate1</td>
|
||||
<td style="font-size: 8px !important; text-align: center;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.EndDate1</td>
|
||||
<td style="font-size: 8px !important; text-align: center;border-width: 2px 0 2px 0;border-color: #DDDCDC;border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.StartDate2</td>
|
||||
<td style="font-size: 8px !important; text-align: center;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.EndDate2</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td colspan="2" style="font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="display: flex;justify-content: center;">
|
||||
<span style="width: 41px; display: block; border-radius: 50px; background-color: #fff; color: #737373;border: 1px solid #737373;">
|
||||
@day.LeaveType
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="2" style="font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="display: flex;justify-content: center;">
|
||||
@* <span style="width: 80px; display: block; border-radius: 50px; background-color: #fff; color: #737373;border: 1px solid #737373;">
|
||||
مرخصی @day.LeaveType
|
||||
</span> *@
|
||||
</div>
|
||||
</td>
|
||||
}
|
||||
}
|
||||
|
||||
<td style="font-size: 8px !important; text-align: center;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.BreakTimeString</td>
|
||||
<td style="font-size: 8px !important; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid;vertical-align: center;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
@if (day.IsSliced)
|
||||
{
|
||||
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" style="display: block; margin: auto;">
|
||||
<circle stroke-width="2" cx="12" cy="12" r="9" stroke="#222222" />
|
||||
<path stroke-width="2" d="M8 12L11 15L16 9" stroke="#222222" stroke-linecap="round" />
|
||||
</svg>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>-</span>
|
||||
}
|
||||
</td>
|
||||
<td style="font-size: 8px;text-align: center;border-width: 2px 0 2px 0;border-color: #DDDCDC;border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact;border-radius: 5px 0 0 5px;">@day.TotalWorkingHours</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div style="grid-column: span 2 / span 2;padding: 0;">
|
||||
<div style="background-color: #FFFFFF !important; border: 1px solid #CCCCCC;border-radius: 7px; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<table style="width: 100%;">
|
||||
<tbody>
|
||||
|
||||
<tr style="font-size: 12px; border-collapse: separate; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<td style="font-size: 8px; padding: 5px 3px;border-width: 0 0 0 1px;border-color: #D9D9D9;border-style: solid; border-radius: 0 6px 6px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; text-align: center;width: 25%;background: #FFFFFF;">موظفی @Model.Month @Model.Year : @Model.TotalMandatoryTimeStr</td>
|
||||
<td style="font-size: 8px; padding: 5px 3px;border-width: 0 0 0 1px;border-color: #D9D9D9;border-style: solid; border-radius: 0 0px 0px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; text-align: center;width: 25%;background: #FFFFFF;">ساعات حضور : @Model.TotalPresentTimeStr</td>
|
||||
<td style="font-size: 8px; padding: 5px 3px;border-width: 0 0 0 1px;border-color: #D9D9D9;border-style: solid; border-radius: 0 0px 0px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; text-align: center;width: 25%;background: #FFFFFF;">ساعات استراحت : @Model.TotalBreakTimeStr</td>
|
||||
<td style="font-size: 8px; padding: 5px 3px;border-width: 0 0 0 0px;border-color: #D9D9D9;border-style: solid; border-radius: 6px 0 0 6px; -webkit-print-color-adjust: exact;print-color-adjust: exact; text-align: center;width: 25%;background: #FFFFFF;">ساعات کارکرد : @Model.TotalWorkingTimeStr</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" style="padding: 0 12px;">
|
||||
<table style="width: 100%;margin: 12px 0 0 0;">
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<td style="width: 60%;">
|
||||
@{
|
||||
if (Model.IsLeft)
|
||||
{
|
||||
<span style="float: right; margin-right: 15px; font-size: 11.2px;height: 36px;">
|
||||
<span>طبق تصفیه حساب نهایی تنظیمی فوق، آخرین روز اشتغال بکار اینجانب</span><span> </span>
|
||||
<span>@Model.LastDayOfWork</span><span> </span>
|
||||
<span>بوده و قطع همکاری با کارفرما و کارگاه از تاریخ</span><span> </span>
|
||||
<span>@Model.LeftWorkDate</span><span> </span>
|
||||
<span>می باشد</span>
|
||||
</span>
|
||||
}
|
||||
}
|
||||
</td>
|
||||
<td style="width: 40%;">
|
||||
<div style="display: flex; justify-content: end;" class="signSection">
|
||||
<div style="margin-left: 15px; position: relative; width: 80px; border: 1px solid #000; height: 78px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate;background-color: #FFFFFF !important;-webkit-print-color-adjust: exact;print-color-adjust: exact;font-size: 12px;margin: -10px 8px 0 0;display: table-caption;padding: 0 4px;white-space: nowrap;">اثر انگشت</span>
|
||||
</div>
|
||||
<div style="position: relative; width: 160px; border: 1px solid #000; height: 78px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate;background-color: #FFFFFF !important;-webkit-print-color-adjust: exact;print-color-adjust: exact;font-size: 12px;margin: -10px 54px 0 0;display: table-caption;padding: 0 4px;">امضاء</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
@* <div class="row">
|
||||
<fieldset style="border-radius: 10px 10px 10px 10px; margin: 0px 10px;">
|
||||
<div class="row" style="padding: 10px 0 0px 0;">
|
||||
@{
|
||||
if (Model.IsLeft)
|
||||
{
|
||||
<span style="float: right; margin-right: 15px; font-size: 11.2px;height: 36px;">
|
||||
<span>طبق تصفیه حساب نهایی تنظیمی فوق، آخرین روز اشتغال بکار اینجانب</span><span> </span>
|
||||
<span>@Model.LastDayOfWork</span><span> </span>
|
||||
<span>بوده و قطع همکاری با کارفرما و کارگاه از تاریخ</span><span> </span>
|
||||
<span>@Model.LeftWorkDate</span><span> </span>
|
||||
<span>می باشد</span>
|
||||
</span>
|
||||
}
|
||||
}
|
||||
|
||||
</div> *@
|
||||
|
||||
@* <div class="row" style="padding: 0px 14px; font-size: 14px;">
|
||||
<div class="row"> *@
|
||||
@*<div class="col-xs-3"><span>اینجانب <span> </span> <span> </span><span> </span><span style="font-weight: bold">@Model.EmployeeFullName</span> </span></div>
|
||||
<div class="col-xs-3"><span> نام پدر: <span> </span><span> </span> <span> </span><span style="font-weight: bold">@Model.FathersName</span></span></div>
|
||||
<div class="col-xs-3"><span>به کد ملی:<span> </span><span> </span><span style="font-weight: bold">@Model.NationalCode</span> </span></div>
|
||||
<div class="col-xs-3" style="direction: ltr"> متولد: <span> </span><span> </span><span> </span><span> </span><span style="font-weight: bold">@Model.DateOfBirth</span></div>*@
|
||||
@* </div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12" style="font-size: 14px; text-align: justify"> *@
|
||||
@*<span> پـرسنل شـرکت<span> </span><span> </span><span style="font-weight: bold">@Model.WorkshopName</span> </span>
|
||||
<span> </span>
|
||||
<span>به کارفرمایی <span> </span> آقای/خانم/شرکت</span> <span> </span><span> </span>
|
||||
@{
|
||||
foreach (var item in @Model.EmployerList)
|
||||
{
|
||||
<span style="font-weight: bold">@item.EmployerFullName </span> <span>،</span>
|
||||
}
|
||||
}
|
||||
<span> </span><span> </span>
|
||||
<span>مبلغ ............. ریال را بصورت نقدی از کارفرما دریافت نمودم. </span>*@
|
||||
|
||||
|
||||
|
||||
@* </div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div classs="col-xs-12">
|
||||
<div style="float: left;display: flex;position: absolute;left: 26px;bottom: 12px;">
|
||||
<div style="margin-left: 15px; position: relative; width: 80px; border: 1px solid #000; height: 98px; border-radius: 10px;">
|
||||
<span style="position: absolute; top: -9px; right: 50%; transform: translate(50%, 0px); border-collapse: separate;background-color: #FFFFFF !important;-webkit-print-color-adjust: exact;print-color-adjust: exact; font-size: 12px;width: 55px;">اثر انگشت</span>
|
||||
</div>
|
||||
<div style="margin-left: 15px; position: relative; width: 160px; border: 1px solid #000; height: 98px; border-radius: 10px;">
|
||||
<span style="position: absolute; top: -9px; right: 50%; transform: translate(50%, 0px); border-collapse: separate;background-color: #FFFFFF !important;-webkit-print-color-adjust: exact;print-color-adjust: exact; font-size: 12px;">امضاء</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</fieldset>
|
||||
</div> *@
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<input type="hidden" asp-for="Id" value="@Model.Id" />
|
||||
|
||||
<input type="hidden" id="shiftWorkval" name="shiftWorkval" value="@Model.CreateWorkingHoursTemp.ShiftWork">
|
||||
|
||||
|
||||
@@ -1248,6 +1248,8 @@
|
||||
var includeStatus = Number($(this).attr('data-includeStatus')) == 1 ? true : false;
|
||||
|
||||
var leftWorkDate = $(this).find('td:eq(1)').attr("data-leftworkdate");
|
||||
var overTimePay = $(this).find('td:eq(1)').attr("data-OverTimePay");
|
||||
var familyAllowance = $(this).find('td:eq(1)').attr("data-FamilyAllowance");
|
||||
var nationality = $(this).attr("data-nationality");
|
||||
//console.log(leftWorkDate);
|
||||
var startWorkDate = $(this).find('td:eq(2)').attr("data-startworkdate");
|
||||
@@ -1343,6 +1345,10 @@
|
||||
}].MarriedAllowance" id="EmployeeInsurancListDataList_${i}__MarriedAllowance" value="${marriedAllowance}" />`);
|
||||
$("#divEmployeeInsurancListData").append(`<input type="hidden" name="EmployeeInsurancListDataList[${i
|
||||
}].BaseYears" id="EmployeeInsurancListDataList_${i}__BaseYears" value="${baseYears}" />`);
|
||||
$("#divEmployeeInsurancListData").append(`<input type="hidden" name="EmployeeInsurancListDataList[${i
|
||||
}].OverTimePay" id="EmployeeInsurancListDataList_${i}__OverTimePay" value="${overTimePay}" />`);
|
||||
$("#divEmployeeInsurancListData").append(`<input type="hidden" name="EmployeeInsurancListDataList[${i
|
||||
}].FamilyAllowance" id="EmployeeInsurancListDataList_${i}FamilyAllowance" value="${familyAllowance}" />`);
|
||||
});
|
||||
$("#form").submit();
|
||||
} else {
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
{
|
||||
var index = 1;
|
||||
|
||||
if (Model.EmployeeDetailsForInsuranceList.Any(x => !x.IsMaritalStatusSet))
|
||||
if (Model.EmployeeDetailsForInsuranceList.Any(x => !x.IsMaritalStatusSet || !x.EmployeeHasCheckout))
|
||||
{
|
||||
<script>
|
||||
|
||||
@@ -51,12 +51,12 @@
|
||||
<th colspan="4">
|
||||
|
||||
<p style="color: red">
|
||||
ابتدا وضعیت تاهل پرسنل در لیست زیر را مشخص نمایید
|
||||
ابتدا خطاهای پرسنل در لیست زیر را برطرف نمایید
|
||||
</p>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
<th class="header-style sorting_asc_disabled sorting_desc_disabled"> نوع خطا </th>
|
||||
<th class="header-style sorting_asc_disabled sorting_desc_disabled"> کدملی </th>
|
||||
<th class="header-styledit-btn sorting_asc_disabled sorting_desc_disabled"> نام خانوادگی </th>
|
||||
<th class="header-style sorting_asc_disabled sorting_desc_disabled"> نام </th>
|
||||
@@ -69,10 +69,24 @@
|
||||
<tbody>
|
||||
@foreach (var item in Model.EmployeeDetailsForInsuranceList)
|
||||
{
|
||||
if (!item.IsMaritalStatusSet)
|
||||
if (!item.IsMaritalStatusSet || !item.EmployeeHasCheckout)
|
||||
{
|
||||
<tr>
|
||||
<td class="td-ellipsis emptyTR" >
|
||||
|
||||
@{
|
||||
if (!item.IsMaritalStatusSet)
|
||||
{
|
||||
<span style="color: #ff00ce"> وضعیت تاهل ندارد </span>
|
||||
<br />
|
||||
}
|
||||
|
||||
if (!item.EmployeeHasCheckout)
|
||||
{
|
||||
<span style="color: red">فیش حقوقی ندارد</span>
|
||||
}
|
||||
}
|
||||
</td>
|
||||
<td class="td-ellipsis @(item.Nationality == "ایرانی" ? "emptyTR" : "")">@item.NationalCode</td>
|
||||
<td class="td-ellipsis emptyTR">@item.LName</td>
|
||||
<td class="td-ellipsis emptyTR">@item.FName</td>
|
||||
@@ -153,6 +167,8 @@
|
||||
|
||||
@foreach (var item in Model.EmployeeDetailsForInsuranceList)
|
||||
{
|
||||
<input type="hidden" id="familyAllownce" value="@item.FamilyAllowance" asp-for="@item.FamilyAllowance"/>
|
||||
<input type="hidden" value="@item.OverTimePay" asp-for="@item.OverTimePay"/>
|
||||
if (item.LeftWorkDate == item.StartMonthCurrent)
|
||||
{
|
||||
<tr data-hasconfilictjobs="@item.HasConfilictJobs" data-nationality="@item.Nationality" data-yearlySalaryItem="@item.YearlySalaryItem" data-IncludeStatus="@Convert.ToInt32(item.IncludeStatus)" class="leftwork" data-employeeId="@item.EmployeeId" data-insuranceEmployeeInformationId="@item.InsuranceEmployeeInformationId" data-DateOfIssue="@item.DateOfIssue">
|
||||
@@ -162,7 +178,7 @@
|
||||
<i class="fa faSize fa-sign-out"></i>
|
||||
</a>*@
|
||||
</td>
|
||||
<td data-LeftWorkDate="@item.LeftWorkDateGr" class="small-font td-ellipsis ">@item.LeftWorkDate</td>
|
||||
<td data-OverTimePay="@item.OverTimePay" data-FamilyAllowance="@item.FamilyAllowance" data-LeftWorkDate="@item.LeftWorkDateGr" class="small-font td-ellipsis ">@item.LeftWorkDate</td>
|
||||
<td data-StartWorkDate="@item.StartWorkDateGr" class="small-font td-ellipsis emptyTR">@item.StartWorkDate</td>
|
||||
<td data-Id="@item.JobId" data-jobcode="@item.JobCode" class="@(item.HasConfilictJobs && item.JobId != 10 ? "blink" : "") small-font td-ellipsis emptyTR" id="JobName">@item.JobName</td>
|
||||
<td data-InsuranceShare="0" data-EmployerShare="0" data-UnemploymentInsurance="0" class="small-font td-ellipsis emptyTR">0</td>
|
||||
@@ -195,7 +211,7 @@
|
||||
<i class="fa faSize fa-sign-out"></i>
|
||||
</a>*@
|
||||
</td>
|
||||
<td data-LeftWorkDate="@item.LeftWorkDateGr" class="small-font td-ellipsis ">@item.LeftWorkDate</td>
|
||||
<td data-OverTimePay="@item.OverTimePay" data-FamilyAllowance="@item.FamilyAllowance" data-LeftWorkDate="@item.LeftWorkDateGr" class="small-font td-ellipsis ">@item.LeftWorkDate</td>
|
||||
<td data-StartWorkDate="@item.StartWorkDateGr" class="small-font td-ellipsis emptyTR">@item.StartWorkDate</td>
|
||||
<td data-Id="@item.JobId" data-jobcode="@item.JobCode" class="@(item.HasConfilictJobs && item.JobId != 10 ? "blink" : "") small-font td-ellipsis emptyTR jobName">@item.JobName</td>
|
||||
<td data-InsuranceShare="@item.InsuranceShare" data-EmployerShare="@item.EmployerShare" data-UnemploymentInsurance="@item.UnEmploymentInsurance" class="small-font td-ellipsis emptyTR">@item.InsuranceShare.ToMoney()</td>
|
||||
@@ -216,6 +232,7 @@
|
||||
<td class="td-ellipsis emptyTR">@item.LName</td>
|
||||
<td class="td-ellipsis emptyTR">@item.FName</td>
|
||||
<td class="td-ellipsis emptyTR">@item.InsuranceCode</td>
|
||||
|
||||
<td class="td-ellipsis ">@index</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
@if (Model.EmployeeDetailsForInsuranceList != null)
|
||||
{
|
||||
var index = 1;
|
||||
|
||||
if (Model.EmployeeDetailsForInsuranceList.Any(x => !x.IsMaritalStatusSet))
|
||||
|
||||
if (Model.EmployeeDetailsForInsuranceList.Any(x => !x.IsMaritalStatusSet || !x.EmployeeHasCheckout))
|
||||
{
|
||||
<script>
|
||||
|
||||
@@ -51,12 +51,12 @@
|
||||
<th colspan="4">
|
||||
|
||||
<p style="color: red">
|
||||
ابتدا وضعیت تاهل پرسنل در لیست زیر را مشخص نمایید
|
||||
ابتدا خطاهای پرسنل در لیست زیر را برطرف نمایید
|
||||
</p>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
<th class="header-style sorting_asc_disabled sorting_desc_disabled"> نوع خطا </th>
|
||||
<th class="header-style sorting_asc_disabled sorting_desc_disabled"> کدملی </th>
|
||||
<th class="header-styledit-btn sorting_asc_disabled sorting_desc_disabled"> نام خانوادگی </th>
|
||||
<th class="header-style sorting_asc_disabled sorting_desc_disabled"> نام </th>
|
||||
@@ -69,10 +69,24 @@
|
||||
<tbody>
|
||||
@foreach (var item in Model.EmployeeDetailsForInsuranceList)
|
||||
{
|
||||
if (!item.IsMaritalStatusSet)
|
||||
if (!item.IsMaritalStatusSet || !item.EmployeeHasCheckout)
|
||||
{
|
||||
<tr>
|
||||
<td class="td-ellipsis emptyTR">
|
||||
|
||||
@{
|
||||
if (!item.IsMaritalStatusSet)
|
||||
{
|
||||
<span style="color: #ff00ce"> وضعیت تاهل ندارد </span>
|
||||
<br />
|
||||
}
|
||||
|
||||
if (!item.EmployeeHasCheckout)
|
||||
{
|
||||
<span style="color: red">فیش حقوقی ندارد</span>
|
||||
}
|
||||
}
|
||||
</td>
|
||||
<td class="td-ellipsis @(item.Nationality == "ایرانی" ? "emptyTR" : "")">@item.NationalCode</td>
|
||||
<td class="td-ellipsis emptyTR">@item.LName</td>
|
||||
<td class="td-ellipsis emptyTR">@item.FName</td>
|
||||
@@ -85,12 +99,69 @@
|
||||
</tbody>
|
||||
</table>
|
||||
}
|
||||
else if (Model.EmployeeDetailsForInsuranceList.Any(x=>x.FamilyAllowanceIsSet == false || x.OverTimeIsSet == false))
|
||||
{
|
||||
<script>
|
||||
$('#maritalStatusErr').val(true);
|
||||
</script>
|
||||
|
||||
<table id="DSKWOR" class="table table-bordered table-striped dataTable" style="min-width: 473px;">
|
||||
<colgroup>
|
||||
|
||||
<col class="colgp-4">
|
||||
<col class="colgp-3">
|
||||
<col class="colgp-2">
|
||||
<col class="colgp-1">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="4">
|
||||
|
||||
<p style="color: red">
|
||||
<span> محاسبات اضافه کار یا حق اولاد پرسنل زیر در لیست بیمه وجود ندارد </span>
|
||||
<br/>
|
||||
<span>لطفا لیست بیمه را حذف و مجددا ایجاد نمایید</span>
|
||||
</p>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
<th class="header-style sorting_asc_disabled sorting_desc_disabled"> کدملی </th>
|
||||
<th class="header-styledit-btn sorting_asc_disabled sorting_desc_disabled"> نام خانوادگی </th>
|
||||
<th class="header-style sorting_asc_disabled sorting_desc_disabled"> نام </th>
|
||||
<th class="header-style sorting_asc_disabled sorting_desc_disabled">#</th>
|
||||
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach (var item in Model.EmployeeDetailsForInsuranceList)
|
||||
{
|
||||
if (!item.OverTimeIsSet || !item.FamilyAllowanceIsSet)
|
||||
{
|
||||
<tr>
|
||||
|
||||
<td class="td-ellipsis @(item.Nationality == "ایرانی" ? "emptyTR" : "")">@item.NationalCode</td>
|
||||
<td class="td-ellipsis emptyTR">@item.LName</td>
|
||||
<td class="td-ellipsis emptyTR">@item.FName</td>
|
||||
<td class="td-ellipsis ">@index</td>
|
||||
</tr>
|
||||
index++;
|
||||
}
|
||||
}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
}
|
||||
else
|
||||
{
|
||||
<script>
|
||||
<script>
|
||||
|
||||
$('#maritalStatusErr').val(false);
|
||||
</script>
|
||||
|
||||
|
||||
}
|
||||
|
||||
<div class="col-md-6 @(Model.EmployeeDetailsForInsuranceList.Any(x => !x.IsMaritalStatusSet) ? "hideDataTable" : "")" style="float: left;">
|
||||
|
||||
@@ -719,8 +719,7 @@ public class IndexModel : PageModel
|
||||
|
||||
foreach (var item in createInsuranceList.EmployeeInsurancListDataList)
|
||||
{
|
||||
var employee = createInsuranceList.EmployeeDetailsForInsuranceList
|
||||
.Where(p => p.EmployeeId == item.EmployeeId).FirstOrDefault();
|
||||
var employee = createInsuranceList.EmployeeDetailsForInsuranceList.FirstOrDefault(p => p.EmployeeId == item.EmployeeId);
|
||||
|
||||
//var employeeObj = _employeeApplication.GetDetails(item.EmployeeId);
|
||||
|
||||
@@ -785,7 +784,7 @@ public class IndexModel : PageModel
|
||||
dswrec[20] = item.MonthlyBenefits.ToString();
|
||||
//دستمزد و مزایای ماهانه مشمول
|
||||
dswrec[21] = item.MonthlyBenefitsIncluded.ToString();
|
||||
//جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول
|
||||
//جمع کل دستمزد و مزایای ماهانه مشمول غیرمشمول
|
||||
dswrec[22] = item.IncludedAndNotIncluded.ToString();
|
||||
//حق بیمه سهم بیمه شده
|
||||
dswrec[23] = item.InsuranceShare.ToString();
|
||||
|
||||
@@ -874,6 +874,19 @@
|
||||
@if (Model.Command.PermissionIds != null && Model.Command.PermissionIds.Contains(10324))
|
||||
{
|
||||
<div class="col-md-12 col-xs-12">
|
||||
<div class="row card m-b-10">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<h4>محاسبه اضافه کار و حق عائله مندی در لیست بیمه کارگاه</h4>
|
||||
<div>
|
||||
<label class="input-label"><input type="checkbox" asp-for="Command.InsuranceCheckoutOvertime" class="checkboxes"> <span>اضافه کار فیش حقوقی در لیست بیمه محاسبه گردد</span></label>
|
||||
</div>
|
||||
<div>
|
||||
<label class="input-label"><input type="checkbox" asp-for="Command.InsuranceCheckoutFamilyAllowance" class="checkboxes"><span class="m-r-5">حق عائله مندی فیش حقوقی در لیست بیمه محاسبه گردد </span></label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row card">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<h4>ارسال لیست بیمه کارگاه</h4>
|
||||
|
||||
@@ -876,6 +876,19 @@
|
||||
<input type="hidden" id="PermissionInsurance" asp-for="@Model.HasPermissionInsurance" value="@Model.HasPermissionInsurance" />
|
||||
<div style="@(Model.HasPermissionInsurance ? "" : "display: none;")">
|
||||
<div class="col-md-12 col-xs-12">
|
||||
<div class="row card m-b-10">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<h4>محاسبه اضافه کار و حق عائله مندی در لیست بیمه کارگاه</h4>
|
||||
<div>
|
||||
<label class="input-label"><input type="checkbox" asp-for="Command.InsuranceCheckoutOvertime" class="checkboxes"> <span>اضافه کار فیش حقوقی در لیست بیمه محاسبه گردد</span></label>
|
||||
</div>
|
||||
<div>
|
||||
<label class="input-label"><input type="checkbox" asp-for="Command.InsuranceCheckoutFamilyAllowance" class="checkboxes"><span class="m-r-5">حق عائله مندی فیش حقوقی در لیست بیمه محاسبه گردد </span></label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row card">
|
||||
<div class="col-md-6 col-xs-12">
|
||||
<h4>ارسال لیست بیمه کارگاه</h4>
|
||||
@@ -888,7 +901,7 @@
|
||||
<div>
|
||||
<label class="form-control-label"><input type="checkbox" value="Familylist" class="myCheckbox checkboxes sendList"> ارسال لیست بیمه کارگاه خانوادگی</label>
|
||||
</div>
|
||||
<input type="hidden" asp-for="Command.TypeOfInsuranceSend" id="asp-hidden" />
|
||||
<input type="hidden" asp-for="Command.TypeOfInsuranceSend" id="asp-hidden"/>
|
||||
</div>
|
||||
<div class="col-md-3 col-xs-12 disabled" id="myDiv4">
|
||||
<label class="input-label">کد کارگاهی بیمه</label>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
||||
using AccountManagement.Domain.AccountLeftWorkAgg;
|
||||
using AccountMangement.Infrastructure.EFCore;
|
||||
using Company.Domain.CustomizeCheckoutAgg.ValueObjects;
|
||||
@@ -63,9 +64,12 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
|
||||
public IActionResult OnPostShiftDateNew()
|
||||
{
|
||||
var startRollCall = new DateTime(2025, 3, 21);
|
||||
var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.EndDate != null).ToList();
|
||||
var r1 = rollCalls.Take(10000).ToList();
|
||||
var startRollCall = new DateTime(2025, 4, 21);
|
||||
var employees = _context.CustomizeWorkshopEmployeeSettings
|
||||
.Where(x => x.WorkshopShiftStatus == WorkshopShiftStatus.Rotating).Select(x => x.EmployeeId).ToList();
|
||||
|
||||
var rollCalls = _context.RollCalls.Where(x => x.ShiftDate >= startRollCall && x.EndDate != null &&employees.Contains(x.EmployeeId)).ToList();
|
||||
var r1 = rollCalls.ToList();
|
||||
|
||||
Console.ForegroundColor = ConsoleColor.DarkRed;
|
||||
Console.WriteLine("endStep 1 ============");
|
||||
@@ -220,14 +224,28 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
//Console.WriteLine("endStep 1 ============");
|
||||
//SetRollCall(r1);
|
||||
|
||||
await RefactorEmployeeDocumentItem();
|
||||
await ChangeIsConfirmed();
|
||||
await RemoveEmployeeClientTemps();
|
||||
|
||||
await SetCalculationDateInSalaryAid();
|
||||
ViewData["message"] = "تومام دو";
|
||||
return Page();
|
||||
}
|
||||
|
||||
private async System.Threading.Tasks.Task SetCalculationDateInSalaryAid()
|
||||
{
|
||||
var salaryAids = await _context.SalaryAids.ToListAsync();
|
||||
foreach (var salaryAid in salaryAids)
|
||||
{
|
||||
var calculationDate = salaryAid.SalaryAidDateTime;
|
||||
|
||||
var calculationMonth = Convert.ToInt32(calculationDate.ToFarsiMonth());
|
||||
var calculationYear = Convert.ToInt32(calculationDate.ToFarsiYear());
|
||||
|
||||
salaryAid.Edit(salaryAid.Amount,salaryAid.SalaryAidDateTime,0,UserType.Anonymous,calculationMonth, calculationYear);
|
||||
|
||||
}
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
private async System.Threading.Tasks.Task RemoveEmployeeClientTemps()
|
||||
{
|
||||
var employeeDocuments = _context.EmployeeDocuments
|
||||
@@ -432,9 +450,15 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
var endedRollCalls2 = r1.Where(x => x.EndDate != null).ToList();
|
||||
var countSetTDRollCall = endedRollCalls2.Count;
|
||||
var stepSetTDRollCal = 1;
|
||||
|
||||
foreach (var rollCall in endedRollCalls2)
|
||||
{
|
||||
rollCall.ClearTimeDiff();
|
||||
}
|
||||
_context.SaveChanges();
|
||||
foreach (var endedRollCall in endedRollCalls2)
|
||||
{
|
||||
endedRollCall.SetShiftDate(_rollCallDomainService);
|
||||
endedRollCall.Edit(endedRollCall.StartDate.Value, endedRollCall.EndDate.Value, _rollCallDomainService);
|
||||
Console.WriteLine($"{stepSetTDRollCal} - {countSetTDRollCall} ended Set Time Differences{endedRollCall.id}");
|
||||
stepSetTDRollCal += 1;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
@page
|
||||
@model ServiceHost.Areas.Client.Pages.Company.Checkouts.CheckoutPrintAllModel
|
||||
|
||||
<link href="~/assetsclient/pages/checkouts/css/printonerollcall.css" rel="stylesheet" />
|
||||
@{
|
||||
<link href="~/assetsclient/pages/checkouts/css/checkoutprintall.css" rel="stylesheet" />
|
||||
string clientVersion = _0_Framework.Application.Version.StyleVersion;
|
||||
|
||||
<link href="~/assetsclient/pages/checkouts/css/checkoutprintall.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/assetsclient/pages/checkouts/css/printonerollcall.css?ver=@clientVersion" rel="stylesheet" />
|
||||
|
||||
var btnActive = "btn-active";
|
||||
var btnDeactive = "btn-deactive";
|
||||
|
||||
@@ -81,6 +81,12 @@
|
||||
background-color: #ffffff !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
|
||||
#printThis {
|
||||
position: relative;
|
||||
margin: 0 auto;
|
||||
width: 21cm;
|
||||
}
|
||||
|
||||
.container2 {
|
||||
height: 100%;
|
||||
@@ -113,8 +119,8 @@
|
||||
#printSection {
|
||||
position: absolute !important;
|
||||
right: 0 !important;
|
||||
page-break-after: auto !important;
|
||||
top: 0 !important;
|
||||
page-break-after: auto !important;
|
||||
}
|
||||
|
||||
.head {
|
||||
@@ -411,7 +417,7 @@
|
||||
<div class="col-12">
|
||||
<span style="width: 280px;padding: 0px 0px 0px 0px !important; float:right"><span>اینجانب <span> </span> <span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@items.EmployeeFullName</span> </span></span>
|
||||
<span style="margin-right: 5px; float:right">
|
||||
<span> نام پدر: </span>
|
||||
<span> نام پدر<span>:</span></span>
|
||||
@if (string.IsNullOrWhiteSpace(@items.FathersName))
|
||||
{
|
||||
<span style="visibility: hidden">"1111111111"</span>
|
||||
@@ -424,7 +430,7 @@
|
||||
</span>
|
||||
<span style="padding: 0px !important; float: left">
|
||||
|
||||
<span>به کد ملی:</span> <span> </span>
|
||||
<span>به کد ملی<span>:</span></span> <span> </span>
|
||||
@if (string.IsNullOrWhiteSpace(@items.NationalCode))
|
||||
{
|
||||
<span style="margin-left: 15px; visibility: hidden">222333111</span>
|
||||
@@ -434,7 +440,7 @@
|
||||
<span style="margin-left: 15px; font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@items.NationalCode</span>
|
||||
}
|
||||
|
||||
<span>متولد:</span> <span> </span>
|
||||
<span>متولد<span>:</span></span> <span> </span>
|
||||
@if (string.IsNullOrWhiteSpace(@items.DateOfBirth))
|
||||
{
|
||||
<span style="margin-left: 10px; visibility: hidden">1401/01/01</span>
|
||||
@@ -454,7 +460,7 @@
|
||||
{
|
||||
<span> پـرسنل کارگاه<span> </span><span> </span><span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@items.WorkshopName</span> </span>
|
||||
<span> </span>
|
||||
<span>به کارفرمایی <span> </span> آقای/خانم</span> <span> </span>
|
||||
<span>به کارفرمایی <span> </span> آقای<span>/</span>خانم</span> <span> </span>
|
||||
|
||||
<span> </span>
|
||||
if (@items.EmployerList.Count > 1)
|
||||
@@ -488,10 +494,10 @@
|
||||
|
||||
<span>کلیه حق السعی خود اعم از حقوق، کمک هزینه اقلام مصرفی خانوار، کمک هزینه مسکن </span>
|
||||
|
||||
<span>و همچنین عیدی و پاداش، سنوات و...</span>
|
||||
<span>و همچنین عیدی و پاداش، سنوات و<span>...</span></span>
|
||||
<span style="background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;"> <span style="font-weight: bold">@items.Month</span> ماه </span>
|
||||
<span style="background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;"> سال <span style="font-weight: bold">@items.Year</span> </span>
|
||||
<span> برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام. </span>
|
||||
<span> برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام<span>:</span></span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -3167,6 +3173,7 @@
|
||||
<span>بوده و قطع همکاری با کارفرما و کارگاه از تاریخ</span><span> </span>
|
||||
<span>@items.LeftWorkDate</span><span> </span>
|
||||
<span>می باشد</span>
|
||||
<span>.</span>
|
||||
</span>
|
||||
}
|
||||
}
|
||||
@@ -3223,26 +3230,42 @@
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="~/assetsclient/libs/html2pdf/html2pdf.bundle.min.js"></script>
|
||||
<script>
|
||||
|
||||
$(document).ready(function () {
|
||||
printElement(document.getElementById("printThis"));
|
||||
});
|
||||
|
||||
|
||||
function printElement(elem) {
|
||||
var domClone = elem.cloneNode(true);
|
||||
if (window.matchMedia('(max-width: 767px)').matches) {
|
||||
var checkoutId = $('#Id').val();
|
||||
|
||||
var $printSection = document.getElementById("printSection");
|
||||
var opt = {
|
||||
margin: 2,
|
||||
filename: `checkout_${checkoutId}.pdf`,
|
||||
image: { type: 'jpeg', quality: 0.98 },
|
||||
html2canvas: { scale: 2 },
|
||||
jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' }
|
||||
};
|
||||
|
||||
html2pdf().set(opt).from(elem).save();
|
||||
$("#MainModal").modal("hide");
|
||||
} else {
|
||||
var domClone = elem.cloneNode(true);
|
||||
|
||||
if (!$printSection) {
|
||||
$printSection = document.createElement("div");
|
||||
$printSection.id = "printSection";
|
||||
document.body.appendChild($printSection);
|
||||
var $printSection = document.getElementById("printSection");
|
||||
|
||||
if (!$printSection) {
|
||||
$printSection = document.createElement("div");
|
||||
$printSection.id = "printSection";
|
||||
document.body.appendChild($printSection);
|
||||
}
|
||||
|
||||
$printSection.innerHTML = "";
|
||||
$printSection.appendChild(domClone);
|
||||
window.print();
|
||||
}
|
||||
|
||||
$printSection.innerHTML = "";
|
||||
$printSection.appendChild(domClone);
|
||||
window.print();
|
||||
}
|
||||
</script>
|
||||
@@ -1,8 +1,11 @@
|
||||
@using _0_Framework.Application
|
||||
@using System.Security.Cryptography.X509Certificates
|
||||
@model CompanyManagment.App.Contracts.Checkout.CheckoutViewModel
|
||||
|
||||
<link href="~/assetsclient/pages/checkouts/css/printonerollcall.css" rel="stylesheet" />
|
||||
@{
|
||||
string clientVersion = _0_Framework.Application.Version.StyleVersion;
|
||||
}
|
||||
|
||||
<link href="~/assetsclient/pages/checkouts/css/printonerollcall.css?ver=@clientVersion" rel="stylesheet" />
|
||||
|
||||
<div class="modal-header" style="border-bottom: unset">
|
||||
<button type="button" id="closingOnePrint" class="btn-close position-absolute text-start" data-bs-dismiss="modal" aria-label="Close" style="margin-top: 15px;"></button>
|
||||
@@ -22,160 +25,202 @@
|
||||
border-radius: 10px;
|
||||
height: 28cm;
|
||||
margin: 3mm 5mm 0 5mm; ">
|
||||
<div class="row" dir="rtl">
|
||||
<div class="col-3 d-inline-block"><fieldset style="border: 1px solid black; border-radius: 15px; padding: 1px 15px 1px 15px; margin-top: 5px; width: 60%; font-size: 12px; text-align: center;"> @Model.ContractNo</fieldset></div>
|
||||
<div class="col-6 d-inline-block text-center"><p style="margin-top:10px !important;font-size: 18px; font-family: 'IranNastaliq' !important; ">بسمه تعالی</p> <p style="font-size: 15px; font-weight: bold">فیش حقوقی و رسید پرداخت حقوق</p> </div>
|
||||
<div class="col-3 d-inline-block"></div>
|
||||
</div>
|
||||
<div class="row" style="font-size: 14px; margin-bottom: 10px; ">
|
||||
<div class="col-12">
|
||||
<span style="width: 280px;padding: 0px 0px 0px 0px !important; float:right"><span>اینجانب <span> </span> <span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.EmployeeFullName</span> </span></span>
|
||||
<span style="margin-right: 5px; float:right">
|
||||
<span> نام پدر: </span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.FathersName))
|
||||
{
|
||||
<span style="visibility: hidden">""</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.FathersName</span>
|
||||
<div class="row" dir="rtl">
|
||||
<div class="col-3 d-inline-block"><fieldset style="border: 1px solid black; border-radius: 15px; padding: 1px 15px 1px 15px; margin-top: 5px; width: 60%; font-size: 12px; text-align: center;"> @Model.ContractNo</fieldset></div>
|
||||
<div class="col-6 d-inline-block text-center">
|
||||
<p style="font-size: 18px; font-family: 'IranNastaliq' !important; margin: 0;">بسمه تعالی</p>
|
||||
<p style="font-size: 15px; font-weight: bold; margin: 0;">فیش حقوقی و رسید پرداخت حقوق</p>
|
||||
</div>
|
||||
<div class="col-3 d-inline-block"></div>
|
||||
</div>
|
||||
|
||||
}
|
||||
</span>
|
||||
<span style="padding: 0px !important; float: left">
|
||||
<div class="headerInfo">
|
||||
<div class="row" style="font-size: 12px; margin-bottom: 3px; ">
|
||||
<div class="col-12" style="padding: 0 10px;">
|
||||
<div class="d-flex align-items-center" style="border-bottom: 1px solid #000000 !important;">
|
||||
<div style="width: 34%; padding: 3px 0 !important;">
|
||||
<div>
|
||||
<span class="cusSpanTitle">اینجانب</span>
|
||||
<span>@Model.EmployeeFullName</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 22%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">نام پدر<span>:</span></span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.FathersName))
|
||||
{
|
||||
<span style="visibility: hidden">""</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>@Model.FathersName</span>
|
||||
|
||||
<span>به کد ملی:</span> <span> </span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.NationalCode))
|
||||
{
|
||||
<span style="margin-left: 15px; visibility: hidden"></span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="margin-left: 15px; font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.NationalCode</span>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
<div style="width: 22%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">به کد ملی<span>:</span></span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.NationalCode))
|
||||
{
|
||||
<span style="margin-left: 15px; visibility: hidden"></span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>
|
||||
@Model.NationalCode
|
||||
</span>
|
||||
}
|
||||
</div>
|
||||
<div style="width: 22%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">متولد<span>:</span></span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.DateOfBirth))
|
||||
{
|
||||
<span style="visibility: hidden">1401/01/01</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>@Model.DateOfBirth</span>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span>متولد:</span> <span> </span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.DateOfBirth))
|
||||
{
|
||||
<span style="margin-left: 10px; visibility: hidden">1401/01/01</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="margin-left: 0px; font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.DateOfBirth</span>
|
||||
}
|
||||
</span>
|
||||
<div class="col-12" style="font-size: 12px; text-align: justify; padding: 0 10px;">
|
||||
<div style="display: flex;align-items: center;border-bottom: 1px solid #000000 !important;height: 23px; padding: 0;">
|
||||
@{
|
||||
if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقیقی")
|
||||
{
|
||||
<div style="width: 50%; padding: 3px 0 !important;">
|
||||
<div>
|
||||
<span class="cusSpanTitle">نام کارگاه<span>:</span> </span>
|
||||
<span>@Model.WorkshopName</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="width: 50%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">نام کارفرما<span>:</span> </span>
|
||||
@if (Model.EmployerList.Count > 1)
|
||||
{
|
||||
<span>
|
||||
@Model.EmployerList[0].EmployerFullName <span>،</span>
|
||||
<span> </span>@Model.EmployerList[1].EmployerFullName
|
||||
@if (@Model.EmployerList.Count > 2)
|
||||
{
|
||||
<span>و غیره</span>
|
||||
}
|
||||
</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>
|
||||
@Model.EmployerList.FirstOrDefault().EmployerFullName
|
||||
</span>
|
||||
}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-12" style="font-size: 14px; text-align: justify">
|
||||
}
|
||||
else if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقوقی")
|
||||
{
|
||||
<div style="width: 100%; padding: 3px 0 !important;">
|
||||
<span class="cusSpanTitle">پـرسنل شرکت/موسسه<span>:</span> </span>
|
||||
<span>
|
||||
@Model.WorkshopName
|
||||
</span>
|
||||
</div> }
|
||||
}
|
||||
</div>
|
||||
<div style="text-align: justify; padding: 0 6px;">
|
||||
@{
|
||||
var items = new List<string>();
|
||||
|
||||
@{
|
||||
if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقیقی")
|
||||
{
|
||||
<span> پـرسنل کارگاه<span> </span><span> </span><span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.WorkshopName</span> </span>
|
||||
<span> </span>
|
||||
<span>به کارفرمایی <span> </span> آقای/خانم</span> <span> </span>
|
||||
if (Model.MonthlySalary != "0") items.Add("حقوق و مزد");
|
||||
if (Model.ConsumableItems != "0") items.Add("کمک هزینه اقلام مصرفی خانوار");
|
||||
if (Model.HousingAllowance != "0") items.Add("کمک هزینه مسکن");
|
||||
if (!string.IsNullOrWhiteSpace(Model.OvertimePay) && Model.OvertimePay != "0") items.Add("فوق العاده اضافه کاری");
|
||||
if (!string.IsNullOrWhiteSpace(Model.NightworkPay) && Model.NightworkPay != "0") items.Add("فوق العاده شب کاری");
|
||||
if (!string.IsNullOrWhiteSpace(Model.FridayPay) && Model.FridayPay != "0") items.Add("فوق العاده جمعه کاری");
|
||||
if (Model.MissionPay != "0") items.Add("فوق العاده ماموریت");
|
||||
if (Model.ShiftPay != "0") items.Add("فوق العاده نوبت کاری");
|
||||
if (Model.FamilyAllowance != "0") items.Add("کمک هزینه عائله مندی");
|
||||
if (Model.MarriedAllowance != "0") items.Add("حق تاهل");
|
||||
if (Model.RewardPay != "0") items.Add("پاداش");
|
||||
if (Model.BonusesPay != "0") items.Add("عیدی و پاداش");
|
||||
if (Model.YearsPay != "0") items.Add("سنوات");
|
||||
if (Model.LeavePay != "0") items.Add("مزد مرخصی");
|
||||
|
||||
<span> </span>
|
||||
if (@Model.EmployerList.Count > 1)
|
||||
{
|
||||
<span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
@Model.EmployerList[0].EmployerFullName <span>،</span>
|
||||
<span> </span>@Model.EmployerList[1].EmployerFullName
|
||||
@if (@Model.EmployerList.Count > 2)
|
||||
{
|
||||
<span>و غیره</span>
|
||||
}
|
||||
</span> <br />
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
@Model.EmployerList.FirstOrDefault().EmployerFullName
|
||||
</span>
|
||||
string finalText = "";
|
||||
if (items.Count == 1)
|
||||
{
|
||||
finalText = items[0];
|
||||
}
|
||||
else if (items.Count > 1)
|
||||
{
|
||||
finalText = string.Join("<span>،</span> ", items.Take(items.Count - 1)) + " و " + items.Last();
|
||||
}
|
||||
}
|
||||
|
||||
<br />
|
||||
}
|
||||
|
||||
}
|
||||
else if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقوقی")
|
||||
{
|
||||
<span> پـرسنل شرکت/موسسه<span> </span><span> </span><span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.WorkshopName</span> </span>
|
||||
<br />
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
<span>کلیه حق السعی خود اعم از حقوق، کمک هزینه اقلام مصرفی خانوار، کمک هزینه مسکن </span>
|
||||
|
||||
<span>و همچنین عیدی و پاداش، سنوات و...</span>
|
||||
<span style="background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;"> <span style="font-weight: bold">@Model.Month</span> ماه </span>
|
||||
<span style="background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;"> سال <span style="font-weight: bold">@Model.Year</span> </span>
|
||||
<span> برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام. </span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<span>
|
||||
کلیه حق السعی خود اعم از @Html.Raw(finalText) @Model.Month ماه سال @Model.Year برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" style="margin-top: 10px;padding: 0 12px;">
|
||||
<fieldset style="border: 1px solid black !important;-webkit-print-color-adjust: exact;print-color-adjust: exact; border-radius: 10px 10px 10px 10px; margin: 0px 0px; overflow: hidden;padding: 0;">
|
||||
<table style="/* table-layout: fixed; */ width: 100%">
|
||||
|
||||
|
||||
<tr style="border-bottom: 1px solid; height: 25px; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<th style="text-align: center; width: 8mm; font-size: 12px; padding: 2px; border-collapse: separate; border-radius: 0px 10px 0px 0px;"> </th>
|
||||
<th style="text-align: center; position: absolute ; right: 55mm; font-size: 13px;padding-top:4px"> مطالبات </th>
|
||||
<th style="text-align: center;"> </th>
|
||||
<th style="text-align: center; border-left: 2px solid #000; font-size: 12px"> </th>
|
||||
<th style="text-align: center; font-size: 13px; position: absolute; left: 50mm; padding-top: 4px;"> کسورات </th>
|
||||
<th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 0px 0px 0px 0px;"> </th>
|
||||
<th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 10px 0px 0px 0px;"> </th>
|
||||
</tr>
|
||||
|
||||
<tr style="border-bottom: 1px solid; height: 25px; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
@* <th style="text-align: center; width: 8mm; font-size: 12px; padding: 2px; border-collapse: separate; border-radius: 0px 10px 0px 0px;"> </th> *@
|
||||
<th colspan="4" style="text-align: center; position: relative ; font-size: 13px;padding-top:4px;border-left: 2px solid #000;"> مطالبات </th>
|
||||
@* <th style="text-align: center;"> </th>
|
||||
<th style="text-align: center; border-left: 2px solid #000; font-size: 12px"> </th> *@
|
||||
<th colspan="3" style="text-align: center; font-size: 13px; position: relative; padding-top: 4px;"> کسورات </th>
|
||||
@* <th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 0px 0px 0px 0px;"> </th>
|
||||
<th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 10px 0px 0px 0px;"> </th> *@
|
||||
</tr>
|
||||
|
||||
<tr style="border-bottom: 1px solid; background-color: #e1e1e1 !important ;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<th style="width: 5%; text-align: center; border-left: 1px solid #000; font-size: 12px;padding: 2px"> ردیف </th>
|
||||
<th style="width: 23%; text-align: center; border-left: 1px solid #000; font-size: 12px"> شرح </th>
|
||||
<th style="width: 10%; text-align: center; border-left: 1px solid #000; font-size: 9px"> ساعت/روز/تعداد </th>
|
||||
<th style="width: 12%; text-align: center; border-left: 2px solid #000; font-size: 12px"> مبلغ(ریال) </th>
|
||||
<th style="width: 28%; text-align: center; border-left: 1px solid #000; font-size: 12px"> شرح </th>
|
||||
<th style="width: 10%; text-align: center; border-left: 1px solid #000; font-size: 9px"> ساعت/روز/تعداد </th>
|
||||
<th style="width: 12%; text-align: center; font-size: 12px"> مبلغ(ریال) </th>
|
||||
<th style="width: 5%; text-align: center; border-left: 1px solid #000; font-size: 12px;padding: 2px"> ردیف </th>
|
||||
<th style="width: 23%; text-align: center; border-left: 1px solid #000; font-size: 12px"> شرح </th>
|
||||
<th style="width: 10%; text-align: center; border-left: 1px solid #000; font-size: 9px"> ساعت/روز/تعداد </th>
|
||||
<th style="width: 12%; text-align: center; border-left: 2px solid #000; font-size: 12px"> مبلغ(ریال) </th>
|
||||
<th style="width: 28%; text-align: center; border-left: 1px solid #000; font-size: 12px"> شرح </th>
|
||||
<th style="width: 10%; text-align: center; border-left: 1px solid #000; font-size: 9px"> ساعت/روز/تعداد </th>
|
||||
<th style="width: 12%; text-align: center; font-size: 12px"> مبلغ(ریال) </th>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr style="font-size: 12px; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">1</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حقوق و مزد </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @Model.SumOfWorkingDays </td>
|
||||
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MonthlySalary == "0" ? "-" : Model.MonthlySalary) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حق بیمه سهم کارگر </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.InsuranceDeduction == "0" ? "-" : Model.InsuranceDeduction) </td>
|
||||
</tr>
|
||||
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">2</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> پایه سنوات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.BaseYearsPay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.BaseYearsPay == "0" ? "-" : Model.BaseYearsPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مالیات بر حقوق </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.TaxDeducation == "0" ? "-" : Model.TaxDeducation) </td>
|
||||
</tr>
|
||||
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">3</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> کمک هزینه اقلام مصرفی خانوار </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000; white-space: nowrap;"> کمک هزینه اقلام مصرفی خانوار </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.ConsumableItems == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.ConsumableItems == "0" ? "-" : Model.ConsumableItems) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> قسط تسهیلات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.InstallmentDeduction == "0" ? "-" : Model.InstallmentDeduction) </td>
|
||||
</tr>
|
||||
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">4</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> کمک هزینه مسکن </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.HousingAllowance == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.HousingAllowance == "0" ? "-" : Model.HousingAllowance) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مساعده </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
@@ -184,8 +229,8 @@
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">5</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده اضافه کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.OvertimePay == "0" ? "-" : Model.OvertimePay) </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.OverTimeWorkValue == "00:00" || string.IsNullOrWhiteSpace(Model.OverTimeWorkValue)) ? "-" : Model.OverTimeWorkValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @((Model.OvertimePay == "0" || string.IsNullOrWhiteSpace(Model.OvertimePay)) ? "-" : Model.OvertimePay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> غیبت </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.AbsenceDeduction == "0" ? "-" : Model.AbsenceDeduction) </td>
|
||||
@@ -193,19 +238,19 @@
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">6</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده شب کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.NightworkPay == "0" ? "-" : Model.NightworkPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.OverNightWorkValue == "00:00" || string.IsNullOrWhiteSpace(Model.OverNightWorkValue)) ? "-" : Model.OverNightWorkValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @((Model.NightworkPay == "0" || string.IsNullOrWhiteSpace(Model.NightworkPay)) ? "-" : Model.NightworkPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"></td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"></td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">7</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده جمعه کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.FridayPay == "0" ? "-" : Model.FridayPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.FridayWorkValue == "0" || string.IsNullOrWhiteSpace(Model.FridayWorkValue)) ? "-" : Model.FridayWorkValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @((Model.FridayPay == "0" || string.IsNullOrWhiteSpace(Model.FridayPay)) ? "-" : Model.FridayPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"></td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"></td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
@@ -220,7 +265,7 @@
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">9</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده نوبت کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.RotatingShiftValue == "0" || string.IsNullOrWhiteSpace(Model.RotatingShiftValue)) ? "-" : "%" + Model.RotatingShiftValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.ShiftPay == "0" ? "-" : Model.ShiftPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
@@ -238,7 +283,7 @@
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">11</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حق تاهل </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @Model.MaritalStatus </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MarriedAllowance == "0" ? "-" : Model.MarriedAllowance) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
@@ -256,30 +301,64 @@
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">13</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> عیدی و پاداش </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.BonusesPay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.BonusesPay == "0" ? "-" : Model.BonusesPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
|
||||
@{
|
||||
if (Model.IsLeft)
|
||||
{
|
||||
<td style="text-align: center; background-color: #ffffff !important;" colspan="3" rowspan="3">
|
||||
<div style="border-top: 1px solid #000;border-top-left-radius: 15px;border-top-right-radius: 15px; height: 65px;">
|
||||
<div style="padding: 0 6px; text-align: start;display: block;align-items: center;height: 64px;margin: 6px;">
|
||||
<span>طبق تصفیه حساب نهایی تنظیمی فوق، آخرین روز اشتغال بکار اینجانب</span>
|
||||
<span>@Model.LastDayOfWork</span>
|
||||
<span>بوده و قطع همکاری با کارفرما و کارگاه از تاریخ</span>
|
||||
<span>@Model.LeftWorkDate</span>
|
||||
<span>می باشد</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
}
|
||||
}
|
||||
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">14</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> سنوات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.YearsPay == "0" ? "-" : Model.SumOfWorkingDays)</td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.YearsPay == "0" ? "-" : Model.YearsPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
|
||||
@{
|
||||
if (!Model.IsLeft)
|
||||
{
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
}
|
||||
}
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">15</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مزد مرخصی </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.LeavePay == "0" ? "-" : Model.LeavePay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">15</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مزد مرخصی </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.LeavePay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.LeavePay == "0" ? "-" : Model.LeavePay) </td>
|
||||
|
||||
@{
|
||||
if (!Model.IsLeft)
|
||||
{
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
}
|
||||
}
|
||||
</tr>
|
||||
|
||||
<tr style="font-size: 12px; height: 20px; background-color: #dddcdc !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; border-bottom: 1px solid #000; border-top: 1px solid #000; ">
|
||||
<td style="text-align: center; padding: 2px "></td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> جمع مطالبات </td>
|
||||
@@ -304,7 +383,175 @@
|
||||
|
||||
<div style="padding: 0 12px;">
|
||||
<div class="row" style="margin-top: 8px;background-color: #F6F6F6 !important;border: 1px solid #000;border-radius: 10px;display: grid;gap: 8px;padding: 8px 0;-webkit-print-color-adjust: exact;print-color-adjust: exact;padding: 6px;grid-template-columns: repeat(2, minmax(0, 1fr));">
|
||||
<div class="col-6 w-100" style="background-color: #DDDCDC !important; border: 1px solid #CCCCCC;border-radius: 7px;padding: 7px; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
|
||||
|
||||
<div class="col-6 w-100" style="background-color: #DDDCDC !important; border: 1px solid #CCCCCC; border-radius: 7px; padding: 7px; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="background-color: #AFAFAF; -webkit-print-color-adjust: exact; print-color-adjust: exact; display: flex; flex-wrap: wrap; font-size: 8px;align-items: center;border-radius: 5px">
|
||||
<div style="width: 30%; padding: 2px 10px; border-left: 0; border-radius: 0 5px 5px 0;">تاریخ</div>
|
||||
<div style="width: 10%; text-align: center;">ورود</div>
|
||||
<div style="width: 10%; text-align: center;">خروج</div>
|
||||
<div style="width: 10%; text-align: center;">ورود</div>
|
||||
<div style="width: 10%; text-align: center;">خروج</div>
|
||||
<div style="width: 10%; text-align: center;">استراحت</div>
|
||||
<div style="width: 10%; text-align: center;">منقطع</div>
|
||||
<div style="width: 10%; text-align: center; border-radius: 5px 0 0 5px;">کارکرد</div>
|
||||
</div>
|
||||
@for (int i = 0; i < 15; i++)
|
||||
{
|
||||
var dailyRollCall = Model.MonthlyRollCall[i];
|
||||
<div style="display: flex; flex-wrap: wrap; white-space: nowrap; font-size: 8px; border-collapse: separate; background-color: @(dailyRollCall.IsHoliday || dailyRollCall.IsFriday ? "#BBBBBB" : "#FFFFFF") !important;border-radius: 7px;">
|
||||
<div style="width: 30%; padding: 1px 3px; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; border-radius: 0 5px 5px 0;">
|
||||
@dailyRollCall.DateTimeGr.ToFarsi() - @dailyRollCall.DateTimeGr.DayOfWeek.DayOfWeeKToPersian()
|
||||
</div>
|
||||
@if (dailyRollCall.IsAbsent)
|
||||
{
|
||||
<div style="width: 20%; text-align: center; display: flex; justify-content: center;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid;">
|
||||
<span style="width: 40px; display: block; border-radius: 50px; background-color: #737373; color: #fff;">غیبت</span>
|
||||
</div>
|
||||
|
||||
<div style="width: 20%; text-align: center; display: flex; justify-content: center;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid;">
|
||||
@if (dailyRollCall.IsBirthDay)
|
||||
{
|
||||
<span style="width: 38px; display: block; border-radius: 50px; background-color: #fff; color: #737373; border: 1px solid #737373;">تولد</span>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
@if (string.IsNullOrWhiteSpace(dailyRollCall.LeaveType))
|
||||
{
|
||||
<div style="width: 10%; text-align: center; border-width: 2px 0 2px 0; border-color: #DDDCDC; border-style: solid;">@dailyRollCall.StartDate1</div>
|
||||
<div style="width: 10%; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid;">@dailyRollCall.EndDate1</div>
|
||||
|
||||
<div style="width: 10%; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid;">@dailyRollCall.EndDate2</div>
|
||||
<div style="width: 10%; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid;">@dailyRollCall.EndDate2</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div style="width: 20%;font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;align-items: center;display: flex;">
|
||||
<div style="display: flex; justify-content: center;align-items: center;width: 100%;">
|
||||
<span style="width: 38px; display: block; border-radius: 50px; background-color: #fff; color: #737373; border: 1px solid #737373; font-size: 7.5px; font-weight: 500;">
|
||||
@dailyRollCall.LeaveType
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="width: 20%;font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="display: flex; justify-content: center;">
|
||||
@if (dailyRollCall.IsBirthDay)
|
||||
{
|
||||
<span style="width: 38px; display: block; border-radius: 50px; background-color: #fff; color: #737373; border: 1px solid #737373;">تولد</span>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
|
||||
<div style="width: 10%; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact;">@dailyRollCall.BreakTimeString</div>
|
||||
<div style="width: 10%; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
@if (@dailyRollCall.IsSliced)
|
||||
{
|
||||
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" style="display: block; margin: auto;">
|
||||
<circle stroke-width="2" cx="12" cy="12" r="9" stroke="#222222" />
|
||||
<path stroke-width="2" d="M8 12L11 15L16 9" stroke="#222222" stroke-linecap="round" />
|
||||
</svg>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>-</span>
|
||||
}
|
||||
</div>
|
||||
<div style="width: 10%; text-align: center; border-width: 2px 0 2px 0; border-color: #DDDCDC; border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact;border-radius: 5px 0 0 5px;">@dailyRollCall.TotalWorkingHours</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
<div class="col-6 w-100" style="background-color: #DDDCDC !important; border: 1px solid #CCCCCC; border-radius: 7px; padding: 7px; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="background-color: #AFAFAF; -webkit-print-color-adjust: exact; print-color-adjust: exact; display: flex; flex-wrap: wrap; font-size: 8px;align-items: center;border-radius: 5px">
|
||||
<div style="width: 30%; padding: 2px 10px; border-left: 0; border-radius: 0 5px 5px 0;">تاریخ</div>
|
||||
<div style="width: 10%; text-align: center;">ورود</div>
|
||||
<div style="width: 10%; text-align: center;">خروج</div>
|
||||
<div style="width: 10%; text-align: center;">ورود</div>
|
||||
<div style="width: 10%; text-align: center;">خروج</div>
|
||||
<div style="width: 10%; text-align: center;">استراحت</div>
|
||||
<div style="width: 10%; text-align: center;">منقطع</div>
|
||||
<div style="width: 10%; text-align: center; border-radius: 5px 0 0 5px;">کارکرد</div>
|
||||
</div>
|
||||
@{
|
||||
Model.MonthlyRollCall = Model.MonthlyRollCall.Skip(15).ToList();
|
||||
}
|
||||
@foreach (var day in Model.MonthlyRollCall)
|
||||
{
|
||||
var dailyRollCall = day;
|
||||
<div style="display: flex; flex-wrap: wrap; white-space: nowrap; font-size: 8px; border-collapse: separate; background-color: @(dailyRollCall.IsHoliday || dailyRollCall.IsFriday ? "#BBBBBB" : "#FFFFFF") !important;border-radius: 7px;">
|
||||
<div style="width: 30%; padding: 1px 3px; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; border-radius: 0 5px 5px 0;">
|
||||
@dailyRollCall.DateTimeGr.ToFarsi() - @dailyRollCall.DateTimeGr.DayOfWeek.DayOfWeeKToPersian()
|
||||
</div>
|
||||
@if (dailyRollCall.IsAbsent)
|
||||
{
|
||||
<div style="width: 20%; text-align: center; display: flex; justify-content: center;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid;">
|
||||
<span style="width: 40px; display: block; border-radius: 50px; background-color: #737373; color: #fff;">غیبت</span>
|
||||
</div>
|
||||
|
||||
<div style="width: 20%; text-align: center; display: flex; justify-content: center;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid;">
|
||||
@if (dailyRollCall.IsBirthDay)
|
||||
{
|
||||
<span style="width: 38px; display: block; border-radius: 50px; background-color: #fff; color: #737373; border: 1px solid #737373;">تولد</span>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
@if (string.IsNullOrWhiteSpace(dailyRollCall.LeaveType))
|
||||
{
|
||||
<div style="width: 10%; text-align: center; border-width: 2px 0 2px 0; border-color: #DDDCDC; border-style: solid;">@dailyRollCall.StartDate1</div>
|
||||
<div style="width: 10%; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid;">@dailyRollCall.EndDate1</div>
|
||||
|
||||
<div style="width: 10%; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid;">@dailyRollCall.EndDate2</div>
|
||||
<div style="width: 10%; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid;">@dailyRollCall.EndDate2</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div style="width: 20%;font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;align-items: center;display: flex;">
|
||||
<div style="display: flex; justify-content: center;align-items: center;width: 100%;">
|
||||
<span style="width: 38px; display: block; border-radius: 50px; background-color: #fff; color: #737373; border: 1px solid #737373; font-size: 7.5px; font-weight: 500;">
|
||||
@dailyRollCall.LeaveType
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="width: 20%;font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="display: flex; justify-content: center;">
|
||||
@if (dailyRollCall.IsBirthDay)
|
||||
{
|
||||
<span style="width: 38px; display: block; border-radius: 50px; background-color: #fff; color: #737373; border: 1px solid #737373;">تولد</span>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
|
||||
<div style="width: 10%; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact;">@dailyRollCall.BreakTimeString</div>
|
||||
<div style="width: 10%; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
@if (@dailyRollCall.IsSliced)
|
||||
{
|
||||
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" style="display: block; margin: auto;">
|
||||
<circle stroke-width="2" cx="12" cy="12" r="9" stroke="#222222" />
|
||||
<path stroke-width="2" d="M8 12L11 15L16 9" stroke="#222222" stroke-linecap="round" />
|
||||
</svg>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>-</span>
|
||||
}
|
||||
</div>
|
||||
<div style="width: 10%; text-align: center; border-width: 2px 0 2px 0; border-color: #DDDCDC; border-style: solid;-webkit-print-color-adjust: exact;print-color-adjust: exact;border-radius: 5px 0 0 5px;">@dailyRollCall.TotalWorkingHours</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
|
||||
@* <div class="col-6 w-100" style="background-color: #DDDCDC !important; border: 1px solid #CCCCCC;border-radius: 7px;padding: 7px; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<table style="width: 100%">
|
||||
<thead style="background-color: #AFAFAF;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<tr style="font-size: 8px;border-collapse: separate;background-color: #AFAFAF !important;-webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
@@ -315,7 +562,7 @@
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">خروج</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 12%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">استراحت</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 10%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">منقطع</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 14%;padding: 0 0 0 5px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">ساعت کارکرد</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 14%;padding: 0 0 0 5px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;white-space:nowrap">ساعت کارکرد</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -333,7 +580,7 @@
|
||||
</td>
|
||||
<td colspan="2" style="font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="display: flex;justify-content: center;">
|
||||
@* <span style="width: 40px;display: block;border-radius: 50px;background-color: #737373;color: #fff;">غیبت</span> *@
|
||||
<span style="width: 40px;display: block;border-radius: 50px;background-color: #737373;color: #fff;">غیبت</span>
|
||||
</div>
|
||||
</td>
|
||||
}
|
||||
@@ -357,9 +604,9 @@
|
||||
</td>
|
||||
<td colspan="2" style="font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="display: flex;justify-content: center;">
|
||||
@* <span style="width: 80px; display: block; border-radius: 50px; background-color: #fff; color: #737373;border: 1px solid #737373;">
|
||||
<span style="width: 80px; display: block; border-radius: 50px; background-color: #fff; color: #737373;border: 1px solid #737373;">
|
||||
@Model.MonthlyRollCall[i].LeaveType
|
||||
</span> *@
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
}
|
||||
@@ -396,7 +643,7 @@
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">خروج</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 12%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">استراحت</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 10%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">منقطع</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 14%;padding: 0 0 0 5px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">ساعت کارکرد</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 14%;padding: 0 0 0 5px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;white-space:nowrap">ساعت کارکرد</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -417,7 +664,7 @@
|
||||
</td>
|
||||
<td colspan="2" style="font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="display: flex;justify-content: center;">
|
||||
@* <span style="width: 40px;display: block;border-radius: 50px;background-color: #737373;color: #fff;">غیبت</span> *@
|
||||
<span style="width: 40px;display: block;border-radius: 50px;background-color: #737373;color: #fff;">غیبت</span>
|
||||
</div>
|
||||
</td>
|
||||
}
|
||||
@@ -440,11 +687,11 @@
|
||||
</div>
|
||||
</td>
|
||||
<td colspan="2" style="font-size: 8px; text-align: center; border-width: 2px 0 2px 2px; border-color: #DDDCDC; border-style: solid; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<div style="display: flex;justify-content: center;">
|
||||
@* <span style="width: 80px; display: block; border-radius: 50px; background-color: #fff; color: #737373;border: 1px solid #737373;">
|
||||
@day.LeaveType
|
||||
</span> *@
|
||||
</div>
|
||||
<div style="display: flex; justify-content: center;">
|
||||
<span style="width: 80px; display: block; border-radius: 50px; background-color: #fff; color: #737373; border: 1px solid #737373;">
|
||||
@day.LeaveType
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
}
|
||||
}
|
||||
@@ -469,17 +716,17 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
*@
|
||||
<div style="grid-column: span 2 / span 2;padding: 0;">
|
||||
<div style="background-color: #FFFFFF !important; border: 1px solid #CCCCCC;border-radius: 7px; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<table style="width: 100%;">
|
||||
<tbody>
|
||||
|
||||
<tr style="font-size: 12px; border-collapse: separate; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<td style="font-size: 8px; padding: 5px 3px;border-width: 0 0 0 1px;border-color: #D9D9D9;border-style: solid; border-radius: 0 6px 6px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; text-align: center;width: 25%;background: #FFFFFF;">موظفی @Model.Month @Model.Year : @Model.TotalMandatoryTimeStr</td>
|
||||
<td style="font-size: 8px; padding: 5px 3px;border-width: 0 0 0 1px;border-color: #D9D9D9;border-style: solid; border-radius: 0 0px 0px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; text-align: center;width: 25%;background: #FFFFFF;">ساعات حضور : @Model.TotalPresentTimeStr</td>
|
||||
<td style="font-size: 8px; padding: 5px 3px;border-width: 0 0 0 1px;border-color: #D9D9D9;border-style: solid; border-radius: 0 0px 0px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; text-align: center;width: 25%;background: #FFFFFF;">ساعات استراحت : @Model.TotalBreakTimeStr</td>
|
||||
<td style="font-size: 8px; padding: 5px 3px;border-width: 0 0 0 0px;border-color: #D9D9D9;border-style: solid; border-radius: 6px 0 0 6px; -webkit-print-color-adjust: exact;print-color-adjust: exact; text-align: center;width: 25%;background: #FFFFFF;">ساعات کارکرد : @Model.TotalWorkingTimeStr</td>
|
||||
<td style="font-size: 8px; padding: 5px 3px;border-width: 0 0 0 1px;border-color: #D9D9D9;border-style: solid; border-radius: 0 6px 6px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; text-align: center;width: 25%;background: #FFFFFF;">موظفی @Model.Month @Model.Year <span>:</span> @Model.TotalMandatoryTimeStr</td>
|
||||
<td style="font-size: 8px; padding: 5px 3px;border-width: 0 0 0 1px;border-color: #D9D9D9;border-style: solid; border-radius: 0 0px 0px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; text-align: center;width: 25%;background: #FFFFFF;">ساعات حضور <span>:</span> @Model.TotalPresentTimeStr</td>
|
||||
<td style="font-size: 8px; padding: 5px 3px;border-width: 0 0 0 1px;border-color: #D9D9D9;border-style: solid; border-radius: 0 0px 0px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; text-align: center;width: 25%;background: #FFFFFF;">ساعات استراحت <span>:</span> @Model.TotalBreakTimeStr</td>
|
||||
<td style="font-size: 8px; padding: 5px 3px;border-width: 0 0 0 0px;border-color: #D9D9D9;border-style: solid; border-radius: 6px 0 0 6px; -webkit-print-color-adjust: exact;print-color-adjust: exact; text-align: center;width: 25%;background: #FFFFFF;">ساعات کارکرد <span>:</span> @Model.TotalWorkingTimeStr</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
@@ -489,45 +736,94 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" style="padding: 0 12px;">
|
||||
<table style="width: 100%;margin: 12px 0 0 0;">
|
||||
<tbody>
|
||||
<div class="row" style="margin-top: 10px;">
|
||||
<div style="width: 60%;">
|
||||
<div class="row" style="padding: 0 12px;">
|
||||
<fieldset style="border: 1px solid black !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; border-radius: 10px 10px 10px 10px; margin: 0px 0px; overflow: hidden; padding: 0; display: flex; width: 100%;">
|
||||
|
||||
<tr>
|
||||
<td style="width: 60%;">
|
||||
@{
|
||||
if (Model.IsLeft)
|
||||
{
|
||||
<span style="float: right; margin-left: 15px; font-size: 11.2px;">
|
||||
<span>طبق تصفیه حساب نهایی تنظیمی فوق، آخرین روز اشتغال بکار اینجانب</span><span> </span>
|
||||
<span>@Model.LastDayOfWork</span><span> </span>
|
||||
<span>بوده و قطع همکاری با کارفرما و کارگاه از تاریخ</span><span> </span>
|
||||
<span>@Model.LeftWorkDate</span><span> </span>
|
||||
<span>می باشد</span>
|
||||
</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="float: right; margin-left: 15px; font-size: 11.2px;visibility:hidden;"></span>
|
||||
}
|
||||
}
|
||||
</td>
|
||||
<td style="width: 40%;">
|
||||
<div style="display: flex; justify-content: end;" class="signSection">
|
||||
<div style="margin-left: 15px; position: relative; width: 80px; border: 1px solid #000; height: 78px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate;background-color: #FFFFFF !important;-webkit-print-color-adjust: exact;print-color-adjust: exact;font-size: 12px;margin: -10px 8px 0 0;display: table-caption;padding: 0 4px;white-space: nowrap;">اثر انگشت</span>
|
||||
</div>
|
||||
<div style="position: relative; width: 160px; border: 1px solid #000; height: 78px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate;background-color: #FFFFFF !important;-webkit-print-color-adjust: exact;print-color-adjust: exact;font-size: 12px;margin: -10px 54px 0 0;display: table-caption;padding: 0 4px;">امضاء</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<div class="table-container">
|
||||
<table style="width: 100%;">
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 50%;">
|
||||
</colgroup>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<tr style="border-left: 2px solid black; text-align: center; font-size: 10px; padding: 1px 4px; height: 15px; border-bottom: 1px solid; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<th colspan="3" style="font-size: 10px;">مساعده</th>
|
||||
</tr>
|
||||
|
||||
<tr style="border-bottom: 1px solid; border-left: 1px solid black; background-color: #e1e1e1 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 9px; height: 15px;">
|
||||
<th style="padding: 1px 4px; text-align: center; border-left: 1px solid black; min-width: 3rem; font-size: 10px;">تاریخ</th>
|
||||
<th style="padding: 1px 4px; text-align: center; border-left: 2px solid black; min-width: 4rem; font-size: 10px;">مبلغ</th>
|
||||
</tr>
|
||||
|
||||
@for (int i = 0; i < 5; i++)
|
||||
{
|
||||
<tr class="trTable" style="text-align: right; font-size: 10px; height: 15px;">
|
||||
<td style="font-size: 8px; text-align: center;border-left: 1px solid black">
|
||||
@(Model.SalaryAidViewModels != null && i < Model.SalaryAidViewModels.Count
|
||||
? Model.SalaryAidViewModels[i]?.SalaryAidDateTimeFa ?? ""
|
||||
: "")
|
||||
</td>
|
||||
<td style="font-size: 8px; text-align: center;border-left: 2px solid black">
|
||||
@(Model.SalaryAidViewModels != null && i < Model.SalaryAidViewModels.Count
|
||||
? Model.SalaryAidViewModels[i]?.Amount ?? ""
|
||||
: "")
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
</table>
|
||||
|
||||
<table style="width: 100%;">
|
||||
<colgroup>
|
||||
<col style="width: 40%;">
|
||||
<col style="width: 60%;">
|
||||
</colgroup>
|
||||
|
||||
<tr style="text-align: center; font-size: 10px; padding: 1px 4px; height: 15px; border-bottom: 1px solid; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<th colspan="3" style="text-align: center">وام</th>
|
||||
</tr>
|
||||
|
||||
<tr style="border-bottom: 1px solid; background-color: #e1e1e1 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 9px; height: 15px;">
|
||||
<th style="padding: 1px 4px; text-align: center; border-left: 1px solid black; min-width: 4rem;font-size: 10px;">مبلغ کل وام</th>
|
||||
<th style="padding: 1px 4px; text-align: center; min-width: 4rem;font-size: 10px;">مبلغ باقیمانده وام</th>
|
||||
</tr>
|
||||
|
||||
@for (int i = 0; i < 5; i++)
|
||||
{
|
||||
<tr class="trTable" style="text-align: right; font-size: 9px; height: 15px;">
|
||||
<td style="font-size: 8px; text-align: center;border-left: 1px solid black">
|
||||
@(Model.InstallmentViewModels != null && i < Model.InstallmentViewModels.Count
|
||||
? Model.InstallmentViewModels[i]?.LoanAmount ?? ""
|
||||
: "")
|
||||
</td>
|
||||
<td style="font-size: 8px; text-align: center;">
|
||||
@(Model.InstallmentViewModels != null && i < Model.InstallmentViewModels.Count
|
||||
? Model.InstallmentViewModels[i]?.RemainingAmount ?? ""
|
||||
: "")
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 40%;">
|
||||
<div style="display: flex; justify-content: end;" class="signSection">
|
||||
<div style="margin-left: 15px; position: relative; width: 80px; border: 1px solid #000; height: 114px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate; background-color: #FFFFFF !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 12px; margin: -10px 8px 0 0; display: table-caption; padding: 0 4px; white-space: nowrap;">اثر انگشت</span>
|
||||
</div>
|
||||
<div style="position: relative; width: 160px; border: 1px solid #000; height: 114px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate; background-color: #FFFFFF !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 12px; margin: -10px 54px 0 0; display: table-caption; padding: 0 4px;">امضاء</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
@@ -535,7 +831,6 @@
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<input type="hidden" asp-for="Id" value="@Model.Id" />
|
||||
|
||||
|
||||
@@ -554,5 +849,5 @@
|
||||
</div>
|
||||
</form>
|
||||
<!--<script src="~/AdminTheme/assets/js/workingHoursPrintable.js"></script>-->
|
||||
|
||||
<script src="~/assetsclient/pages/checkouts/js/printonerollcall.js"></script>
|
||||
<script src="~/assetsclient/libs/html2pdf/html2pdf.bundle.min.js"></script>
|
||||
<script src="~/assetsclient/pages/checkouts/js/printonerollcall.js?ver=@clientVersion"></script>
|
||||
|
||||
@@ -11,95 +11,142 @@
|
||||
margin: 3mm 5mm 0 5mm; position: relative;">
|
||||
<div class="row" dir="rtl">
|
||||
<div class="col-3 d-inline-block"><fieldset style="border: 1px solid black;border-radius: 15px;padding: 1px 15px 1px 15px;margin-top: 5px;width: 70%;font-size: 12px;text-align: center;"> @Model.ContractNo</fieldset></div>
|
||||
<div class="col-6 d-inline-block text-center"><p style="margin-top:10px !important;font-size: 18px; font-family: 'IranNastaliq' !important; ">بسمه تعالی</p> <p style="font-size: 15px; font-weight: bold">فیش حقوقی و رسید پرداخت حقوق</p> </div>
|
||||
<div class="col-6 d-inline-block text-center">
|
||||
<p style="font-size: 18px; font-family: 'IranNastaliq' !important; margin: 0;">بسمه تعالی</p>
|
||||
<p style="font-size: 15px; font-weight: bold; margin: 0;">فیش حقوقی و رسید پرداخت حقوق</p>
|
||||
</div>
|
||||
<div class="col-3 d-inline-block"></div>
|
||||
</div>
|
||||
<div class="row" style="font-size: 14px; margin-bottom: 10px; ">
|
||||
<div class="col-12">
|
||||
<span style="width: 280px;padding: 0px 0px 0px 0px !important; float:right"><span>اینجانب <span> </span> <span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.EmployeeFullName</span> </span></span>
|
||||
<span style="margin-right: 5px; float:right">
|
||||
<span> نام پدر: </span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.FathersName))
|
||||
{
|
||||
<span style="visibility: hidden">""</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.FathersName</span>
|
||||
|
||||
}
|
||||
</span>
|
||||
<span style="padding: 0px !important; float: left">
|
||||
<div class="headerInfo">
|
||||
<div class="row" style="font-size: 12px; margin-bottom: 3px;">
|
||||
<div class="col-12" style="padding: 0 10px;">
|
||||
<div class="d-flex align-items-center" style="border-bottom: 1px solid #000000 !important;">
|
||||
<div style="width: 34%; padding: 3px 0 !important;">
|
||||
<div>
|
||||
<span class="cusSpanTitle">اینجانب</span>
|
||||
<span>@Model.EmployeeFullName</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 22%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">نام پدر<span>:</span></span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.FathersName))
|
||||
{
|
||||
<span style="visibility: hidden">""</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>@Model.FathersName</span>
|
||||
|
||||
<span>به کد ملی:</span> <span> </span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.NationalCode))
|
||||
{
|
||||
<span style="margin-left: 15px; visibility: hidden"></span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="margin-left: 15px; font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.NationalCode</span>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
<div style="width: 22%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">به کد ملی<span>:</span></span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.NationalCode))
|
||||
{
|
||||
<span style="margin-left: 15px; visibility: hidden"></span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>
|
||||
@Model.NationalCode
|
||||
</span>
|
||||
}
|
||||
</div>
|
||||
<div style="width: 22%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">متولد<span>:</span></span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.DateOfBirth))
|
||||
{
|
||||
<span style="visibility: hidden">1401/01/01</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>@Model.DateOfBirth</span>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span>متولد:</span> <span> </span>
|
||||
@if (string.IsNullOrWhiteSpace(@Model.DateOfBirth))
|
||||
{
|
||||
<span style="margin-left: 10px; visibility: hidden">1401/01/01</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="margin-left: 0px; font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.DateOfBirth</span>
|
||||
}
|
||||
</span>
|
||||
<div class="col-12" style="font-size: 12px; text-align: justify; padding: 0 10px;">
|
||||
<div style="display: flex;align-items: center;border-bottom: 1px solid #000000 !important;height: 23px; padding: 0;">
|
||||
@{
|
||||
if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقیقی")
|
||||
{
|
||||
<div style="width: 50%; padding: 3px 0 !important;">
|
||||
<div>
|
||||
<span class="cusSpanTitle">نام کارگاه<span>:</span> </span>
|
||||
<span>@Model.WorkshopName</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="width: 50%; padding: 3px 0 !important; border-right: 1px solid #000000 !important;">
|
||||
<span class="cusSpanTitle">نام کارفرما<span>:</span> </span>
|
||||
@if (Model.EmployerList.Count > 1)
|
||||
{
|
||||
<span>
|
||||
@Model.EmployerList[0].EmployerFullName <span>،</span>
|
||||
<span> </span>@Model.EmployerList[1].EmployerFullName
|
||||
@if (@Model.EmployerList.Count > 2)
|
||||
{
|
||||
<span>و غیره</span>
|
||||
}
|
||||
</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>
|
||||
@Model.EmployerList.FirstOrDefault().EmployerFullName
|
||||
</span>
|
||||
}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-12" style="font-size: 14px; text-align: justify">
|
||||
|
||||
@{
|
||||
if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقیقی")
|
||||
{
|
||||
<span> پـرسنل کارگاه<span> </span><span> </span><span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.WorkshopName</span> </span>
|
||||
<span> </span>
|
||||
<span>به کارفرمایی <span> </span> آقای/خانم</span> <span> </span>
|
||||
|
||||
<span> </span>
|
||||
if (@Model.EmployerList.Count > 1)
|
||||
{
|
||||
<span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
@Model.EmployerList[0].EmployerFullName <span>،</span>
|
||||
<span> </span>@Model.EmployerList[1].EmployerFullName
|
||||
@if (@Model.EmployerList.Count > 2)
|
||||
{
|
||||
<span>و غیره</span>
|
||||
}
|
||||
</span> <br />
|
||||
}
|
||||
else if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقوقی")
|
||||
{
|
||||
<div style="width: 100%; padding: 3px 0 !important;">
|
||||
<span class="cusSpanTitle">پـرسنل شرکت/موسسه<span>:</span> </span>
|
||||
<span>
|
||||
@Model.WorkshopName
|
||||
</span>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
@Model.EmployerList.FirstOrDefault().EmployerFullName
|
||||
</span>
|
||||
</div>
|
||||
<div style="text-align: justify; padding: 0 6px;">
|
||||
@{
|
||||
var items = new List<string>();
|
||||
|
||||
<br />
|
||||
if (Model.MonthlySalary != "0") items.Add("حقوق و مزد");
|
||||
if (Model.ConsumableItems != "0") items.Add("کمک هزینه اقلام مصرفی خانوار");
|
||||
if (Model.HousingAllowance != "0") items.Add("کمک هزینه مسکن");
|
||||
if (!string.IsNullOrWhiteSpace(Model.OvertimePay) && Model.OvertimePay != "0") items.Add("فوق العاده اضافه کاری");
|
||||
if (!string.IsNullOrWhiteSpace(Model.NightworkPay) && Model.NightworkPay != "0") items.Add("فوق العاده شب کاری");
|
||||
if (!string.IsNullOrWhiteSpace(Model.FridayPay) && Model.FridayPay != "0") items.Add("فوق العاده جمعه کاری");
|
||||
if (Model.MissionPay != "0") items.Add("فوق العاده ماموریت");
|
||||
if (Model.ShiftPay != "0") items.Add("فوق العاده نوبت کاری");
|
||||
if (Model.FamilyAllowance != "0") items.Add("کمک هزینه عائله مندی");
|
||||
if (Model.MarriedAllowance != "0") items.Add("حق تاهل");
|
||||
if (Model.RewardPay != "0") items.Add("پاداش");
|
||||
if (Model.BonusesPay != "0") items.Add("عیدی و پاداش");
|
||||
if (Model.YearsPay != "0") items.Add("سنوات");
|
||||
if (Model.LeavePay != "0") items.Add("مزد مرخصی");
|
||||
|
||||
string finalText = "";
|
||||
if (items.Count == 1)
|
||||
{
|
||||
finalText = items[0];
|
||||
}
|
||||
else if (items.Count > 1)
|
||||
{
|
||||
finalText = string.Join("<span>،</span> ", items.Take(items.Count - 1)) + " و " + items.Last();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if (@Model.EmployerList.FirstOrDefault().IsLegal == "حقوقی")
|
||||
{
|
||||
<span> پـرسنل شرکت/موسسه<span> </span><span> </span><span style="font-weight: bold; background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">@Model.WorkshopName</span> </span>
|
||||
<br />
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
<span>کلیه حق السعی خود اعم از حقوق، کمک هزینه اقلام مصرفی خانوار، کمک هزینه مسکن </span>
|
||||
|
||||
<span>و همچنین عیدی و پاداش، سنوات و...</span>
|
||||
<span style="background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;"> <span style="font-weight: bold">@Model.Month</span> ماه </span>
|
||||
<span style="background-color: #ebe6e6 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;"> سال <span style="font-weight: bold">@Model.Year</span> </span>
|
||||
<span> برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام. </span>
|
||||
|
||||
<span>
|
||||
کلیه حق السعی خود اعم از @Html.Raw(finalText) @Model.Month ماه سال @Model.Year برابر با قرارداد به شماره فوق را از کارفرما بصورت وجه نقد و واریز به حساب دریافت نموده ام.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -109,13 +156,13 @@
|
||||
|
||||
|
||||
<tr style="border-bottom: 1px solid; height: 25px; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<th style="text-align: center; width: 8mm; font-size: 12px; padding: 2px; border-collapse: separate; border-radius: 0px 10px 0px 0px;"> </th>
|
||||
<th style="text-align: center; position: absolute ; right: 55mm; font-size: 13px;padding-top:4px"> مطالبات </th>
|
||||
<th style="text-align: center;"> </th>
|
||||
<th style="text-align: center; border-left: 2px solid #000; font-size: 12px"> </th>
|
||||
<th style="text-align: center; font-size: 13px; position: absolute; left: 50mm; padding-top: 4px;"> کسورات </th>
|
||||
<th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 0px 0px 0px 0px;"> </th>
|
||||
<th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 10px 0px 0px 0px;"> </th>
|
||||
@* <th style="text-align: center; width: 8mm; font-size: 12px; padding: 2px; border-collapse: separate; border-radius: 0px 10px 0px 0px;"> </th> *@
|
||||
<th colspan="4" style="text-align: center; position: relative ; font-size: 13px;padding-top:4px;border-left: 2px solid #000;"> مطالبات </th>
|
||||
@* <th style="text-align: center;"> </th>
|
||||
<th style="text-align: center; border-left: 2px solid #000; font-size: 12px"> </th> *@
|
||||
<th colspan="3" style="text-align: center; font-size: 13px; position: relative; padding-top: 4px;"> کسورات </th>
|
||||
@* <th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 0px 0px 0px 0px;"> </th>
|
||||
<th style="text-align: center; font-size: 12px; border-collapse: separate; border-radius: 10px 0px 0px 0px;"> </th> *@
|
||||
</tr>
|
||||
|
||||
<tr style="border-bottom: 1px solid; background-color: #e1e1e1 !important ;-webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
@@ -132,7 +179,7 @@
|
||||
<tr style="font-size: 12px; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">1</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حقوق و مزد </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @Model.SumOfWorkingDays </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MonthlySalary == "0" ? "-" : Model.MonthlySalary) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حق بیمه سهم کارگر </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
@@ -142,7 +189,7 @@
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">2</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> پایه سنوات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.BaseYearsPay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.BaseYearsPay == "0" ? "-" : Model.BaseYearsPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مالیات بر حقوق </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
@@ -151,8 +198,8 @@
|
||||
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">3</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> کمک هزینه اقلام مصرفی خانوار </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000; white-space: nowrap;"> کمک هزینه اقلام مصرفی خانوار </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.ConsumableItems == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.ConsumableItems == "0" ? "-" : Model.ConsumableItems) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> قسط تسهیلات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
@@ -162,7 +209,7 @@
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">4</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> کمک هزینه مسکن </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.HousingAllowance == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.HousingAllowance == "0" ? "-" : Model.HousingAllowance) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مساعده </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
@@ -171,8 +218,8 @@
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">5</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده اضافه کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.OvertimePay == "0" ? "-" : Model.OvertimePay) </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.OverTimeWorkValue == "00:00" || string.IsNullOrWhiteSpace(Model.OverTimeWorkValue)) ? "-" : Model.OverTimeWorkValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @((Model.OvertimePay == "0" || string.IsNullOrWhiteSpace(Model.OvertimePay)) ? "-" : Model.OvertimePay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> غیبت </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center;"> @(Model.AbsenceDeduction == "0" ? "-" : Model.AbsenceDeduction) </td>
|
||||
@@ -180,8 +227,8 @@
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">6</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده شب کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.NightworkPay == "0" ? "-" : Model.NightworkPay) </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.OverNightWorkValue == "00:00" || string.IsNullOrWhiteSpace(Model.OverNightWorkValue)) ? "-" : Model.OverNightWorkValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @((Model.NightworkPay == "0" || string.IsNullOrWhiteSpace(Model.NightworkPay)) ? "-" : Model.NightworkPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
@@ -189,8 +236,8 @@
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">7</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده جمعه کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.FridayPay == "0" ? "-" : Model.FridayPay) </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.FridayWorkValue == "0" || string.IsNullOrWhiteSpace(Model.FridayWorkValue)) ? "-" : Model.FridayWorkValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @((Model.FridayPay == "0" || string.IsNullOrWhiteSpace(Model.FridayPay)) ? "-" : Model.FridayPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
@@ -207,7 +254,7 @@
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">9</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> فوق العاده نوبت کاری </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @((Model.RotatingShiftValue == "0" || string.IsNullOrWhiteSpace(Model.RotatingShiftValue)) ? "-" : "%" + Model.RotatingShiftValue) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.ShiftPay == "0" ? "-" : Model.ShiftPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
@@ -225,7 +272,7 @@
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">11</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> حق تاهل </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @Model.MaritalStatus </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.MarriedAllowance == "0" ? "-" : Model.MarriedAllowance) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
@@ -240,33 +287,68 @@
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
</tr>
|
||||
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">13</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> عیدی و پاداش </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.BonusesPay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.BonusesPay == "0" ? "-" : Model.BonusesPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
|
||||
@{
|
||||
if (Model.IsLeft)
|
||||
{
|
||||
<td style="text-align: center; background-color: #ffffff !important;" colspan="3" rowspan="3">
|
||||
<div style="border-top: 1px solid #000;border-top-left-radius: 15px;border-top-right-radius: 15px; height: 65px;">
|
||||
<div style="padding: 0 6px; text-align: start;display: block;align-items: center;height: 64px;margin: 6px;">
|
||||
<span>طبق تصفیه حساب نهایی تنظیمی فوق، آخرین روز اشتغال بکار اینجانب</span>
|
||||
<span>@Model.LastDayOfWork</span>
|
||||
<span>بوده و قطع همکاری با کارفرما و کارگاه از تاریخ</span>
|
||||
<span>@Model.LeftWorkDate</span>
|
||||
<span>می باشد</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
}
|
||||
}
|
||||
|
||||
</tr>
|
||||
<tr style="font-size: 12px; background-color: #f1f1f1 !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">14</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> سنوات </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.YearsPay == "0" ? "-" : Model.SumOfWorkingDays)</td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.YearsPay == "0" ? "-" : Model.YearsPay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
|
||||
@{
|
||||
if (!Model.IsLeft)
|
||||
{
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
}
|
||||
}
|
||||
</tr>
|
||||
<tr style="font-size: 12px;">
|
||||
<td style="text-align: center; border-left: 1px solid #000; padding: 2px ">15</td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> مزد مرخصی </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> - </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> @(Model.LeavePay == "0" ? "-" : Model.SumOfWorkingDays) </td>
|
||||
<td style="text-align: center; border-left: 2px solid #000;"> @(Model.LeavePay == "0" ? "-" : Model.LeavePay) </td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
|
||||
@{
|
||||
if (!Model.IsLeft)
|
||||
{
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center; border-left: 1px solid #000;"> </td>
|
||||
<td style="text-align: center;"> </td>
|
||||
}
|
||||
}
|
||||
</tr>
|
||||
|
||||
<tr style="font-size: 12px; height: 20px; background-color: #dddcdc !important; -webkit-print-color-adjust: exact;print-color-adjust: exact; border-bottom: 1px solid #000; border-top: 1px solid #000; ">
|
||||
<td style="text-align: center; padding: 2px "></td>
|
||||
<td style="padding-right: 8px; border-left: 1px solid #000;"> جمع مطالبات </td>
|
||||
@@ -302,14 +384,14 @@
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">خروج</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 12%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">استراحت</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 10%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">منقطع</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 14%;padding: 0 0 0 5px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">ساعت کارکرد</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 14%;padding: 0 0 0 5px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;white-space:nowrap">کارکرد</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@for (int i = 0; i < 15; i++)
|
||||
{
|
||||
<tr style="@((Model.MonthlyRollCall[i].IsHoliday || Model.MonthlyRollCall[i].IsFriday) ? "background-color: #BBBBBB !important;" : "background-color: #FFFFFF !important;") font-size: 8px;border-collapse: separate;-webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
<td style="font-size: 8px; padding: 1px 3px;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid; border-radius: 0 5px 5px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@Model.MonthlyRollCall[i].DateTimeGr.ToFarsi() - @Model.MonthlyRollCall[i].DateTimeGr.DayOfWeek.DayOfWeeKToPersian()</td>
|
||||
<td style="white-space: nowrap; font-size: 8px; padding: 1px 3px;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid; border-radius: 0 5px 5px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@Model.MonthlyRollCall[i].DateTimeGr.ToFarsi() - @Model.MonthlyRollCall[i].DateTimeGr.DayOfWeek.DayOfWeeKToPersian()</td>
|
||||
|
||||
@if (@Model.MonthlyRollCall[i].IsAbsent)
|
||||
{
|
||||
@@ -383,7 +465,7 @@
|
||||
<th style="font-size: 8px;text-align: center;width: 9%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">خروج</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 12%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">استراحت</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 10%;-webkit-print-color-adjust: exact;print-color-adjust: exact;">منقطع</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 14%;padding: 0 0 0 5px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;">ساعت کارکرد</th>
|
||||
<th style="font-size: 8px;text-align: center;width: 14%;padding: 0 0 0 5px !important;border-radius: 5px 0 0 5px !important; -webkit-print-color-adjust: exact;print-color-adjust: exact;white-space:nowrap">کارکرد</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -393,7 +475,7 @@
|
||||
@foreach (var day in Model.MonthlyRollCall)
|
||||
{
|
||||
<tr style="@((day.IsHoliday || day.IsFriday) ? "background-color: #BBBBBB !important;" : "background-color: #FFFFFF !important;") font-size: 8px;border-collapse: separate;-webkit-print-color-adjust: exact;print-color-adjust: exact;">
|
||||
<td style="font-size: 8px; padding: 1px 3px;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid; border-radius: 0 5px 5px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.DateTimeGr.ToFarsi() - @day.DateTimeGr.DayOfWeek.DayOfWeeKToPersian()</td>
|
||||
<td style="white-space: nowrap; font-size: 8px; padding: 1px 3px;border-width: 2px 0 2px 2px;border-color: #DDDCDC;border-style: solid; border-radius: 0 5px 5px 0; -webkit-print-color-adjust: exact;print-color-adjust: exact; ">@day.DateTimeGr.ToFarsi() - @day.DateTimeGr.DayOfWeek.DayOfWeeKToPersian()</td>
|
||||
|
||||
@if (day.IsAbsent)
|
||||
{
|
||||
@@ -476,43 +558,92 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" style="padding: 0 12px;">
|
||||
<table style="width: 100%;margin: 9px 0 0 0;">
|
||||
<tbody>
|
||||
<div class="row" style="margin-top: 10px;">
|
||||
<div style="width: 60%;">
|
||||
<div class="row" style="padding: 0 12px;">
|
||||
<fieldset style="border: 1px solid black !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; border-radius: 10px 10px 10px 10px; margin: 0px 0px; overflow: hidden; padding: 0; display: flex; width: 100%;">
|
||||
|
||||
<tr>
|
||||
<td style="width: 60%;">
|
||||
@{
|
||||
if (Model.IsLeft)
|
||||
{
|
||||
<span style="float: right; margin-left: 15px; font-size: 11.2px;">
|
||||
<span>طبق تصفیه حساب نهایی تنظیمی فوق، آخرین روز اشتغال بکار اینجانب</span><span> </span>
|
||||
<span>@Model.LastDayOfWork</span><span> </span>
|
||||
<span>بوده و قطع همکاری با کارفرما و کارگاه از تاریخ</span><span> </span>
|
||||
<span>@Model.LeftWorkDate</span><span> </span>
|
||||
<span>می باشد</span>
|
||||
</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span style="float: right; margin-left: 15px; font-size: 11.2px;visibility:hidden;"></span>
|
||||
}
|
||||
}
|
||||
</td>
|
||||
<td style="width: 40%;">
|
||||
<div style="display: flex; justify-content: end;" class="signSection">
|
||||
<div style="margin-left: 15px; position: relative; width: 80px; border: 1px solid #000; height: 78px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate;background-color: #FFFFFF !important;-webkit-print-color-adjust: exact;print-color-adjust: exact;font-size: 12px;margin: -10px 8px 0 0;display: table-caption;padding: 0 4px;white-space: nowrap;">اثر انگشت</span>
|
||||
</div>
|
||||
<div style="position: relative; width: 160px; border: 1px solid #000; height: 78px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate;background-color: #FFFFFF !important;-webkit-print-color-adjust: exact;print-color-adjust: exact;font-size: 12px;margin: -10px 54px 0 0;display: table-caption;padding: 0 4px;">امضاء</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<div class="table-container">
|
||||
<table style="width: 100%;">
|
||||
<colgroup>
|
||||
<col style="width: 50%;">
|
||||
<col style="width: 50%;">
|
||||
</colgroup>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<tr style="border-left: 2px solid black; text-align: center; font-size: 10px; padding: 1px 4px; height: 15px; border-bottom: 1px solid; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<th colspan="3" style="font-size: 10px;">مساعده</th>
|
||||
</tr>
|
||||
|
||||
<tr style="border-bottom: 1px solid; border-left: 1px solid black; background-color: #e1e1e1 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 9px; height: 15px;">
|
||||
<th style="padding: 1px 4px; text-align: center; border-left: 1px solid black; min-width: 3rem; font-size: 10px;">تاریخ</th>
|
||||
<th style="padding: 1px 4px; text-align: center; border-left: 2px solid black; min-width: 4rem; font-size: 10px;">مبلغ</th>
|
||||
</tr>
|
||||
|
||||
@for (int i = 0; i < 5; i++)
|
||||
{
|
||||
<tr class="trTable" style="text-align: right; font-size: 10px; height: 15px;">
|
||||
<td style="font-size: 8px; text-align: center;border-left: 1px solid black">
|
||||
@(Model.SalaryAidViewModels != null && i < Model.SalaryAidViewModels.Count
|
||||
? Model.SalaryAidViewModels[i]?.SalaryAidDateTimeFa ?? ""
|
||||
: "")
|
||||
</td>
|
||||
<td style="font-size: 8px; text-align: center;border-left: 2px solid black">
|
||||
@(Model.SalaryAidViewModels != null && i < Model.SalaryAidViewModels.Count
|
||||
? Model.SalaryAidViewModels[i]?.Amount ?? ""
|
||||
: "")
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
</table>
|
||||
|
||||
<table style="width: 100%;">
|
||||
<colgroup>
|
||||
<col style="width: 40%;">
|
||||
<col style="width: 60%;">
|
||||
</colgroup>
|
||||
|
||||
<tr style="text-align: center; font-size: 10px; padding: 1px 4px; height: 15px; border-bottom: 1px solid; border-collapse: separate; background-color: #cdcdcd !important; -webkit-print-color-adjust: exact; print-color-adjust: exact;">
|
||||
<th colspan="3" style="text-align: center">وام</th>
|
||||
</tr>
|
||||
|
||||
<tr style="border-bottom: 1px solid; background-color: #e1e1e1 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 9px; height: 15px;">
|
||||
<th style="padding: 1px 4px; text-align: center; border-left: 1px solid black; min-width: 4rem;font-size: 10px;">مبلغ کل وام</th>
|
||||
<th style="padding: 1px 4px; text-align: center; min-width: 4rem;font-size: 10px;">مبلغ باقیمانده وام</th>
|
||||
</tr>
|
||||
|
||||
@for (int i = 0; i < 5; i++)
|
||||
{
|
||||
<tr class="trTable" style="text-align: right; font-size: 9px; height: 15px;">
|
||||
<td style="font-size: 8px; text-align: center;border-left: 1px solid black">
|
||||
@(Model.InstallmentViewModels != null && i < Model.InstallmentViewModels.Count
|
||||
? Model.InstallmentViewModels[i]?.LoanAmount ?? ""
|
||||
: "")
|
||||
</td>
|
||||
<td style="font-size: 8px; text-align: center;">
|
||||
@(Model.InstallmentViewModels != null && i < Model.InstallmentViewModels.Count
|
||||
? Model.InstallmentViewModels[i]?.RemainingAmount ?? ""
|
||||
: "")
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 40%;">
|
||||
<div style="display: flex; justify-content: end;" class="signSection">
|
||||
<div style="margin-left: 15px; position: relative; width: 80px; border: 1px solid #000; height: 114px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate; background-color: #FFFFFF !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 12px; margin: -10px 8px 0 0; display: table-caption; padding: 0 4px; white-space: nowrap;">اثر انگشت</span>
|
||||
</div>
|
||||
<div style="position: relative; width: 160px; border: 1px solid #000; height: 114px; border-radius: 10px;">
|
||||
<span style="border-collapse: separate; background-color: #FFFFFF !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; font-size: 12px; margin: -10px 54px 0 0; display: table-caption; padding: 0 4px;">امضاء</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
@@ -522,5 +653,4 @@
|
||||
|
||||
|
||||
<input type="hidden" asp-for="Id" value="@Model.Id" />
|
||||
|
||||
<input type="hidden" id="shiftWorkval" name="shiftWorkval" value="@Model.CreateWorkingHoursTemp.ShiftWork">
|
||||
|
||||
@@ -164,8 +164,5 @@
|
||||
var antiForgeryToken = $('@Html.AntiForgeryToken()').val();
|
||||
var checkAccountAjax = `@Url.Page("./Index", "CheckAccount")`;
|
||||
var saveCreateCameraAccountUrl = `@Url.Page("./Index", "CreateCameraAccount")`;
|
||||
|
||||
console.log(checkAccountAjax);
|
||||
console.log(saveCreateCameraAccountUrl);
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/rollcall/CameraAccounts/js/modalcameraaccount.js?ver=@clientVersion"></script>
|
||||
@@ -216,7 +216,7 @@
|
||||
{
|
||||
@foreach (var item in Model.WorkshopSettingsDetails.ShiftsList.OrderBy(x => x.Placement))
|
||||
{
|
||||
<div class="d-flex flex-grow-1 flex-md-grow-0 gap-3 align-items-center ps-3">
|
||||
<div class="d-flex flex-grow-1 flex-md-grow-0 gap-3 align-items-center">
|
||||
<span class="d-none d-md-block" style="font-size: 10px; font-weight: 500; color: #5C5C5C;">
|
||||
@if (item.Placement == ShiftPlacement.First)
|
||||
{
|
||||
@@ -257,7 +257,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="mostamar-description ps-3 ">
|
||||
<div class="mostamar-description">
|
||||
مجموعه بدون وقفه و بصورت مستمر فعال میباشد
|
||||
</div>
|
||||
}
|
||||
@@ -265,7 +265,7 @@
|
||||
else
|
||||
{
|
||||
|
||||
<div class="d-flex flex-grow-1 flex-md-grow-0 gap-3 align-items-center ps-3">
|
||||
<div class="d-flex flex-grow-1 flex-md-grow-0 gap-3 align-items-center">
|
||||
<span class="d-none d-md-block" style="font-size: 10px; font-weight: 500; color: #5C5C5C;">
|
||||
نوبت اول
|
||||
</span>
|
||||
|
||||
@@ -116,10 +116,10 @@
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
<div Permission="@SubAccountPermissionHelper.AddEmployeePermissionCode" class="col-12 col-sm-12 col-md-6 col-lg-4 col-xl-3 col-xxl-2 mt-3">
|
||||
|
||||
|
||||
|
||||
<div Permission="@SubAccountPermissionHelper.AddEmployeePermissionCode" class="col-12 col-sm-12 col-md-6 col-lg-4 col-xl-3 col-xxl-2 mt-3">
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<div class="content btn-group">
|
||||
@@ -362,26 +362,26 @@
|
||||
});
|
||||
});
|
||||
|
||||
var hasCompletedDashboardTour = localStorage.getItem('hasCompletedDashboardTour');
|
||||
if (!hasCompletedDashboardTour) {
|
||||
introJs().setOptions({
|
||||
nextLabel: 'بعد',
|
||||
prevLabel: 'قبل',
|
||||
doneLabel: 'اتمام',
|
||||
showBullets: false,
|
||||
steps: [
|
||||
{
|
||||
title: 'خوش آمدید به سامانه گزارشگیر 👋',
|
||||
intro: 'برای آموزش این صفحه با ما همراه باشید.'
|
||||
},
|
||||
{
|
||||
title: 'عملیات مربوط به مرخصی',
|
||||
element: document.querySelector('#btnCardLeaveIntro'),
|
||||
intro: 'برای عملیات دسترسی سریع دکمههای مربوط به مرخصی مانند ثبت مرخصی و لیست مرخصی میتوانید از این روش استفاده نمایید.'
|
||||
}
|
||||
]
|
||||
}).start();
|
||||
localStorage.setItem('hasCompletedDashboardTour', true);
|
||||
}
|
||||
// var hasCompletedDashboardTour = localStorage.getItem('hasCompletedDashboardTour');
|
||||
// if (!hasCompletedDashboardTour) {
|
||||
// introJs().setOptions({
|
||||
// nextLabel: 'بعد',
|
||||
// prevLabel: 'قبل',
|
||||
// doneLabel: 'اتمام',
|
||||
// showBullets: false,
|
||||
// steps: [
|
||||
// {
|
||||
// title: 'خوش آمدید به سامانه گزارشگیر 👋',
|
||||
// intro: 'برای آموزش این صفحه با ما همراه باشید.'
|
||||
// },
|
||||
// {
|
||||
// title: 'عملیات مربوط به مرخصی',
|
||||
// element: document.querySelector('#btnCardLeaveIntro'),
|
||||
// intro: 'برای عملیات دسترسی سریع دکمههای مربوط به مرخصی مانند ثبت مرخصی و لیست مرخصی میتوانید از این روش استفاده نمایید.'
|
||||
// }
|
||||
// ]
|
||||
// }).start();
|
||||
// localStorage.setItem('hasCompletedDashboardTour', true);
|
||||
// }
|
||||
</script>
|
||||
}
|
||||
@@ -8,44 +8,44 @@
|
||||
|
||||
|
||||
@{
|
||||
string clientVersion = _0_Framework.Application.Version.StyleVersion;
|
||||
var currentAccount = AuthHelper.CurrentAccountInfo();
|
||||
int countWorkFlow = 0;/* await WorkFlowApplication.GetCountAllWorkFlows(workshopId); */
|
||||
var viewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary()) { { "countWorkFlow", countWorkFlow } };
|
||||
string clientVersion = _0_Framework.Application.Version.StyleVersion;
|
||||
var currentAccount = AuthHelper.CurrentAccountInfo();
|
||||
int countWorkFlow = 0;/* await WorkFlowApplication.GetCountAllWorkFlows(workshopId); */
|
||||
var viewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary()) { { "countWorkFlow", countWorkFlow } };
|
||||
}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="author" content="Coderthemes">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="author" content="Coderthemes">
|
||||
|
||||
<title> گزارشگیر @ViewData["Title"]</title>
|
||||
<title> گزارشگیر @ViewData["Title"]</title>
|
||||
|
||||
<link rel="icon" type="image/x-icon" href="~/AssetsClient/images/favicon.ico">
|
||||
<!-- Base Css Files -->
|
||||
@* <link href="~/clienttheme/css/bootstrap.rtl.min.css" rel="stylesheet" />
|
||||
<link rel="icon" type="image/x-icon" href="~/AssetsClient/images/favicon.ico">
|
||||
<!-- Base Css Files -->
|
||||
@* <link href="~/clienttheme/css/bootstrap.rtl.min.css" rel="stylesheet" />
|
||||
<link href="~/clienttheme/css/style.css" rel="stylesheet" />
|
||||
<link href="~/New/css/responsive.css" rel="stylesheet" /> *@
|
||||
<link href="~/AssetsClient/css/bootstrap.rtl.min.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/libs/intro.js/introjs-rtl.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/libs/intro.js/introjs.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/introjs-custom.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/style.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/sidebar-menu.css?ver=شسشس" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/responsive.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/responsive-modal.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/validation-style.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/libs/font-awesome/css/font-awesome.min.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/material-design-iconic-font.min.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<script src="~/AssetsAdminNew/libs/wavesurfer/wavesurfer.min.js"></script>
|
||||
<link href="~/AdminTheme/assets/sweet-alert/sweet-alert.min.css" rel="stylesheet">
|
||||
<link href="~/AssetsClient/css/bootstrap.rtl.min.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/libs/intro.js/introjs-rtl.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/libs/intro.js/introjs.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/introjs-custom.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/style.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/sidebar-menu.css?ver=شسشس" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/responsive.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/responsive-modal.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/validation-style.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/libs/font-awesome/css/font-awesome.min.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<link href="~/AssetsClient/css/material-design-iconic-font.min.css?ver=@clientVersion" rel="stylesheet" />
|
||||
<script src="~/AssetsAdminNew/libs/wavesurfer/wavesurfer.min.js"></script>
|
||||
<link href="~/AdminTheme/assets/sweet-alert/sweet-alert.min.css" rel="stylesheet">
|
||||
|
||||
|
||||
<link href="~/AssetsClient/libs/select2/css/select2.min.css" rel="stylesheet" />
|
||||
@RenderSection("Styles", false)
|
||||
<link href="~/AssetsClient/libs/select2/css/select2.min.css" rel="stylesheet" />
|
||||
@RenderSection("Styles", false)
|
||||
|
||||
</head>
|
||||
|
||||
@@ -53,161 +53,185 @@
|
||||
|
||||
|
||||
|
||||
<!-- Dark Overlay -->
|
||||
<div id="overlay" class="d-lg-none"></div>
|
||||
<!-- End Dark Overlay -->
|
||||
<!-- ========== Right Sidebar Start ========== -->
|
||||
<partial name="_Menu" view-data="viewData" />
|
||||
<partial name="_headerAndFooter" view-data="viewData" />
|
||||
<!-- Dark Overlay -->
|
||||
<div id="overlay" class="d-lg-none"></div>
|
||||
<!-- End Dark Overlay -->
|
||||
<!-- ========== Right Sidebar Start ========== -->
|
||||
<partial name="_Menu" view-data="viewData" />
|
||||
<partial name="_headerAndFooter" view-data="viewData" />
|
||||
|
||||
<!-- ============================================================== -->
|
||||
<!-- Start right Content here -->
|
||||
<!-- ============================================================== -->
|
||||
@RenderBody()
|
||||
<!-- ============================================================== -->
|
||||
<!-- Start right Content here -->
|
||||
<!-- ============================================================== -->
|
||||
@RenderBody()
|
||||
|
||||
|
||||
<!-- ============================================================== -->
|
||||
<!-- End Right content here -->
|
||||
<!-- ============================================================== -->
|
||||
<!-- ============================================================== -->
|
||||
<!-- End Right content here -->
|
||||
<!-- ============================================================== -->
|
||||
|
||||
|
||||
<partial name="_BtnCreateTicket" />
|
||||
<partial name="_BtnCreateTicket" />
|
||||
|
||||
<partial name="_validationAlert" />
|
||||
<partial name="_validationAlert" />
|
||||
|
||||
|
||||
|
||||
<!-- jQuery -->
|
||||
<!-- jQuery -->
|
||||
|
||||
<script src="~/AssetsClient/js/jquery-3.7.1.min.js"></script>
|
||||
<script src="~/AssetsClient/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="~/assetsclient/js/services/ajax-service.js?ver=@clientVersion"></script>
|
||||
<script src="~/AssetsClient/libs/intro.js/intro.js"></script>
|
||||
<script src="~/AssetsClient/libs/select2/js/select2.js"></script>
|
||||
<script src="~/AssetsClient/libs/select2/js/i18n/fa.js"></script>
|
||||
<script src="~/admintheme/js/jquery.mask_1.14.16.min.js"></script>
|
||||
<script src="~/assetsclient/js/datevalidation.js"></script>
|
||||
<script src="~/assetsclient/js/html2canvas.min.js"></script>
|
||||
<script src="~/AdminTheme/assets/sweet-alert/sweet-alert.min.js"></script>
|
||||
<script src="~/AssetsClient/js/jquery-3.7.1.min.js"></script>
|
||||
<script src="~/AssetsClient/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="~/assetsclient/js/services/ajax-service.js?ver=@clientVersion"></script>
|
||||
<script src="~/AssetsClient/libs/intro.js/intro.js"></script>
|
||||
<script src="~/AssetsClient/libs/select2/js/select2.js"></script>
|
||||
<script src="~/AssetsClient/libs/select2/js/i18n/fa.js"></script>
|
||||
<script src="~/admintheme/js/jquery.mask_1.14.16.min.js"></script>
|
||||
<script src="~/assetsclient/js/datevalidation.js"></script>
|
||||
<script src="~/assetsclient/js/html2canvas.min.js"></script>
|
||||
<script src="~/AdminTheme/assets/sweet-alert/sweet-alert.min.js"></script>
|
||||
<script src="~/assetsclient/js/smooth-scrollbar.js"></script>
|
||||
|
||||
<script>
|
||||
var MainMenuScrollbar = window.Scrollbar;
|
||||
MainMenuScrollbar.init(document.querySelector('.menuContainer'), {
|
||||
alwaysShowTracks: true
|
||||
var MainMenuScrollbar = window.Scrollbar;
|
||||
MainMenuScrollbar.init(document.querySelector('.menuContainer'), {
|
||||
alwaysShowTracks: true
|
||||
});
|
||||
|
||||
var antiForgeryTokenLayout = $('@Html.AntiForgeryToken()').val();
|
||||
var createTicketSaveAjaxLayout = '@Url.Page("/Company/Ticket/Index", "SaveTicket")';
|
||||
var uploadFileTicketAjaxLayout = '@Url.Page("/Company/Ticket/Index", "UploadFile")';
|
||||
var deleteFileTicketAjaxLayout = '@Url.Page("/Company/Ticket/Index", "DeleteFile")';
|
||||
var deleteAllFilesTicketAjaxLayout = '@Url.Page("/Company/Ticket/Index", "RemoveAllTempFiles")';
|
||||
|
||||
// check and show modal Camera Account And Workshop Setting
|
||||
var statusCameraAccountAndWorkshopSettingUrl = `@Url.Page("/Index", "StatusCameraAccountAndWorkshopSetting")`;
|
||||
var linkCameraAccountAndWorkshopSettingUrl = `#showmodal=@Url.Page("/Company/RollCall/Index", "SaveCameraAccountAndWorkshopSetting")`;
|
||||
|
||||
var ajaxServiceLayout = new AjaxService(antiForgeryTokenLayout);
|
||||
|
||||
$(document).ready(function () {
|
||||
statusCameraAccountAndWorkshopSetting();
|
||||
});
|
||||
|
||||
function statusCameraAccountAndWorkshopSetting()
|
||||
{
|
||||
ajaxServiceLayout.get(statusCameraAccountAndWorkshopSettingUrl)
|
||||
.then(response => {
|
||||
const disableIds = [
|
||||
'#UploadEmployeePicturePageUrl',
|
||||
'#ListCurrentDayRollCallsPageUrl',
|
||||
'#ListRollCallHistoryPageUrl',
|
||||
'#GroupingOperationsPageUrl'
|
||||
];
|
||||
|
||||
if (response.hasRollCallService) {
|
||||
$('#RollCallSubMenu').removeClass('disable');
|
||||
|
||||
const shouldDisable = !response.hasCameraAccount || !response.hasRollCallWorkshopSetting;
|
||||
|
||||
disableIds.forEach(id => {
|
||||
$(id).toggleClass('disable', shouldDisable);
|
||||
});
|
||||
|
||||
// if (shouldDisable) {
|
||||
// $('#SetWorkshopWorkingHoursPageUrl a').attr('href', linkCameraAccountAndWorkshopSettingUrl);
|
||||
// } else {
|
||||
// $('#SetWorkshopWorkingHoursPageUrl').removeClass('disable');
|
||||
// }
|
||||
} else {
|
||||
$('#RollCallSubMenu').addClass('disable');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$('#MainModal').on('hidden.bs.modal', function () {
|
||||
$("#ModalContent").html("");
|
||||
$("#printSection").html("");
|
||||
});
|
||||
|
||||
var antiForgeryTokenLayout = $('@Html.AntiForgeryToken()').val();
|
||||
var createTicketSaveAjaxLayout = '@Url.Page("/Company/Ticket/Index", "SaveTicket")';
|
||||
var uploadFileTicketAjaxLayout = '@Url.Page("/Company/Ticket/Index", "UploadFile")';
|
||||
var deleteFileTicketAjaxLayout = '@Url.Page("/Company/Ticket/Index", "DeleteFile")';
|
||||
var deleteAllFilesTicketAjaxLayout = '@Url.Page("/Company/Ticket/Index", "RemoveAllTempFiles")';
|
||||
var url = window.location.href.split('?')[0];
|
||||
var url2 = window.location.href.split('#')[0];
|
||||
$('.sidebar-menu li').removeClass('active');
|
||||
|
||||
// check and show modal Camera Account And Workshop Setting
|
||||
var statusCameraAccountAndWorkshopSettingUrl = `@Url.Page("/Index", "StatusCameraAccountAndWorkshopSetting")`;
|
||||
var linkCameraAccountAndWorkshopSettingUrl = `#showmodal=@Url.Page("/Company/RollCall/Index", "SaveCameraAccountAndWorkshopSetting")`;
|
||||
// $('.selectLi').filter(function () {
|
||||
// if (this.href == url || this.href == url2) {
|
||||
// $(this).parent().addClass('active');
|
||||
// };
|
||||
// });
|
||||
|
||||
var ajaxServiceLayout = new AjaxService(antiForgeryTokenLayout);
|
||||
|
||||
$('.selectLi').filter(function () {
|
||||
let href = this.href.split('?')[0].split('#')[0];
|
||||
return href === url || href === url2;
|
||||
}).each(function () {
|
||||
$(this).parent().addClass('active');
|
||||
|
||||
const $submenu = $(this).closest('.submenu');
|
||||
if ($submenu.length) {
|
||||
$submenu.addClass('open').show();
|
||||
$submenu.closest('.has-submenu').addClass('active');
|
||||
$submenu.closest('.has-submenu').find('.toggle-submenu').addClass('open');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$('.toggle-submenu').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
const $this = $(this);
|
||||
const $submenu = $this.closest('.has-submenu').find('.submenu');
|
||||
|
||||
$('.submenu').not($submenu).slideUp().removeClass('open');
|
||||
$('.toggle-submenu').not($this).removeClass('open');
|
||||
|
||||
$submenu.slideToggle().toggleClass('open');
|
||||
$this.toggleClass('open');
|
||||
});
|
||||
|
||||
$('.selectLi').on('click', function () {
|
||||
$('.sidebar-menu li').removeClass('active');
|
||||
const $clickedLi = $(this).closest('li');
|
||||
$clickedLi.addClass('active');
|
||||
|
||||
if ($clickedLi.closest('.submenu').length) {
|
||||
$clickedLi.closest('.has-submenu').addClass('active');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// function tutorialIntro() {
|
||||
// localStorage.removeItem("hasCompletedDashboardTour");
|
||||
// localStorage.removeItem("hasCompletedWorkShopTour");
|
||||
// localStorage.removeItem("cardContractIntro");
|
||||
// localStorage.removeItem("hasCompletedEmployeesTour");
|
||||
// localStorage.removeItem("hasCompletedEmployeesLeaveTour");
|
||||
// localStorage.removeItem("hasCompletedEmployeesLeaveListTour");
|
||||
// }
|
||||
|
||||
$(document).ready(function () {
|
||||
ajaxServiceLayout.get(statusCameraAccountAndWorkshopSettingUrl)
|
||||
.then(response => {
|
||||
const disableIds = [
|
||||
'#UploadEmployeePicturePageUrl',
|
||||
'#ListCurrentDayRollCallsPageUrl',
|
||||
'#ListRollCallHistoryPageUrl',
|
||||
'#GroupingOperationsPageUrl'
|
||||
];
|
||||
if ($(window).width() < 992) {
|
||||
$(".sidebar-navigation").toggleClass("small");
|
||||
// $(".main-wrapper").toggleClass("small");
|
||||
$(".sidebar").toggleClass("active-sidebar-navigation");
|
||||
|
||||
if (response.hasRollCallService) {
|
||||
$('#RollCallSubMenu').removeClass('disable');
|
||||
$(".header-container").toggleClass("main-wrapper ");
|
||||
$(".header-container").toggleClass("small");
|
||||
|
||||
const shouldDisable = !response.hasCameraAccount || !response.hasRollCallWorkshopSetting;
|
||||
|
||||
disableIds.forEach(id => {
|
||||
$(id).toggleClass('disable', shouldDisable);
|
||||
});
|
||||
$(".content-container").toggleClass("small");
|
||||
// $(".content-container").toggleClass("");
|
||||
|
||||
// if (shouldDisable) {
|
||||
// $('#SetWorkshopWorkingHoursPageUrl a').attr('href', linkCameraAccountAndWorkshopSettingUrl);
|
||||
// } else {
|
||||
// $('#SetWorkshopWorkingHoursPageUrl').removeClass('disable');
|
||||
// }
|
||||
} else {
|
||||
$('#RollCallSubMenu').addClass('disable');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if ($(window).width() > 992) {
|
||||
$('#overlay').toggleClass("overlay");
|
||||
}
|
||||
});
|
||||
|
||||
$('#MainModal').on('hidden.bs.modal', function () {
|
||||
$("#ModalContent").html("");
|
||||
$("#printSection").html("");
|
||||
});
|
||||
|
||||
var url = window.location.href.split('?')[0];
|
||||
var url2 = window.location.href.split('#')[0];
|
||||
$('.sidebar-menu li').removeClass('active');
|
||||
|
||||
// $('.selectLi').filter(function () {
|
||||
// if (this.href == url || this.href == url2) {
|
||||
// $(this).parent().addClass('active');
|
||||
// };
|
||||
// });
|
||||
|
||||
|
||||
$('.selectLi').filter(function () {
|
||||
let href = this.href.split('?')[0].split('#')[0];
|
||||
return href === url || href === url2;
|
||||
}).each(function () {
|
||||
$(this).parent().addClass('active');
|
||||
|
||||
const $submenu = $(this).closest('.submenu');
|
||||
if ($submenu.length) {
|
||||
$submenu.addClass('open').show();
|
||||
$submenu.closest('.has-submenu').addClass('active');
|
||||
$submenu.closest('.has-submenu').find('.toggle-submenu').addClass('open');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$('.toggle-submenu').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
const $this = $(this);
|
||||
const $submenu = $this.closest('.has-submenu').find('.submenu');
|
||||
|
||||
$('.submenu').not($submenu).slideUp().removeClass('open');
|
||||
$('.toggle-submenu').not($this).removeClass('open');
|
||||
|
||||
$submenu.slideToggle().toggleClass('open');
|
||||
$this.toggleClass('open');
|
||||
});
|
||||
|
||||
$('.selectLi').on('click', function () {
|
||||
$('.sidebar-menu li').removeClass('active');
|
||||
const $clickedLi = $(this).closest('li');
|
||||
$clickedLi.addClass('active');
|
||||
|
||||
if ($clickedLi.closest('.submenu').length) {
|
||||
$clickedLi.closest('.has-submenu').addClass('active');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function tutorialIntro() {
|
||||
localStorage.removeItem("hasCompletedDashboardTour");
|
||||
localStorage.removeItem("hasCompletedWorkShopTour");
|
||||
localStorage.removeItem("cardContractIntro");
|
||||
localStorage.removeItem("hasCompletedEmployeesTour");
|
||||
localStorage.removeItem("hasCompletedEmployeesLeaveTour");
|
||||
localStorage.removeItem("hasCompletedEmployeesLeaveListTour");
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
if ($(window).width() < 992) {
|
||||
$(".toggle").click(function () {
|
||||
$(".sidebar-navigation").toggleClass("small");
|
||||
// $(".main-wrapper").toggleClass("small");
|
||||
$(".sidebar").toggleClass("active-sidebar-navigation");
|
||||
@@ -219,282 +243,263 @@
|
||||
$(".content-container").toggleClass("small");
|
||||
// $(".content-container").toggleClass("");
|
||||
|
||||
}
|
||||
|
||||
if ($(window).width() > 992) {
|
||||
$('#overlay').toggleClass("overlay");
|
||||
}
|
||||
});
|
||||
|
||||
$(".toggle").click(function () {
|
||||
$(".sidebar-navigation").toggleClass("small");
|
||||
// $(".main-wrapper").toggleClass("small");
|
||||
$(".sidebar").toggleClass("active-sidebar-navigation");
|
||||
|
||||
$(".header-container").toggleClass("main-wrapper ");
|
||||
$(".header-container").toggleClass("small");
|
||||
|
||||
|
||||
$(".content-container").toggleClass("small");
|
||||
// $(".content-container").toggleClass("");
|
||||
|
||||
$('#overlay').toggleClass("overlay");
|
||||
});
|
||||
|
||||
$("#close-sidemenu-mobile").click(function () {
|
||||
$(".sidebar-navigation").toggleClass("small");
|
||||
$(".sidebar").toggleClass("active-sidebar-navigation");
|
||||
|
||||
$(".header-container").toggleClass("main-wrapper ");
|
||||
$(".header-container").toggleClass("small");
|
||||
|
||||
|
||||
$(".content-container").toggleClass("small");
|
||||
|
||||
$('#overlay').toggleClass("overlay");
|
||||
});
|
||||
|
||||
$("#overlay").click(function () {
|
||||
$(".sidebar-navigation").toggleClass("small");
|
||||
$(".sidebar").toggleClass("active-sidebar-navigation");
|
||||
|
||||
$(".header-container").toggleClass("main-wrapper ");
|
||||
$(".header-container").toggleClass("small");
|
||||
|
||||
|
||||
$(".content-container").toggleClass("small");
|
||||
|
||||
$('#overlay').toggleClass("overlay");
|
||||
});
|
||||
|
||||
//******************** بستن مودال خطا ********************
|
||||
$(document).on('click', '#closeAlert', function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
clearTimeout();
|
||||
});
|
||||
//******************** بستن مودال خطا ********************
|
||||
|
||||
$(document).on("click", function (event) {
|
||||
var target = $(event.target);
|
||||
if (!target.closest(".dropdown-menu").length
|
||||
&& !target.is(".dropdown-menu")
|
||||
&& !target.is(".user-details .user-info .title")
|
||||
) {
|
||||
$(".dropdown").removeClass("open");
|
||||
}
|
||||
});
|
||||
|
||||
function openSideBar() {
|
||||
var screenWidth = $(window).width();
|
||||
var navActive = $('.navigation-right').hasClass('active');
|
||||
var myWrapperEnlarged = $('#myWrapper').hasClass('enlarged');
|
||||
|
||||
if (screenWidth < 600) {
|
||||
$(".navigation-right").removeClass('active');
|
||||
$("#myWrapper").removeClass('enlarged');
|
||||
} else if (navActive && myWrapperEnlarged) {
|
||||
$(".navigation-right").removeClass('active');
|
||||
$("#myWrapper").removeClass('enlarged');
|
||||
} else {
|
||||
$(".navigation-right").addClass('active');
|
||||
$("#myWrapper").addClass('enlarged');
|
||||
}
|
||||
}
|
||||
function openSettings() {
|
||||
let dropdown = $(".user-details .user-info .dropdown");
|
||||
dropdown.toggleClass("open");
|
||||
}
|
||||
function checkUrl() {
|
||||
var url = window.location.href.split('?')[0];
|
||||
$('.aMenu').filter(function () {
|
||||
var id = $(this).attr("id");
|
||||
if (this.href == url || (id == "regiteremployer" && url.indexOf("/Employers/") > -1)) {
|
||||
$(".activeTab").removeClass('activeTab');
|
||||
$(this).parent("li").addClass('activeTab');
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
// $(document).ready(function () {
|
||||
// var Scrollbar1 = window.Scrollbar;
|
||||
// Scrollbar1.init(document.querySelector('#ModelDivScrollbar'), {
|
||||
// alwaysShowTracks: true,
|
||||
// });
|
||||
// });
|
||||
$("#close-sidemenu-mobile").click(function () {
|
||||
$(".sidebar-navigation").toggleClass("small");
|
||||
$(".sidebar").toggleClass("active-sidebar-navigation");
|
||||
|
||||
$(".header-container").toggleClass("main-wrapper ");
|
||||
$(".header-container").toggleClass("small");
|
||||
|
||||
|
||||
function SelectWorkshop(slug) {
|
||||
$.ajax({
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
url: '@Url.Page("/Index", "SelectWorkshop")',
|
||||
headers: { "RequestVerificationToken": antiForgeryTokenLayout },
|
||||
type: 'POST',
|
||||
data: { slug: slug },
|
||||
success: function (response) {
|
||||
if (response.isSuccedded) {
|
||||
$('.alert-success-msg').show();
|
||||
$('.alert-success-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-success-msg').hide();
|
||||
$('.alert-success-msg p').text('');
|
||||
window.location.reload();
|
||||
}, 500);
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
}
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
$(".content-container").toggleClass("small");
|
||||
|
||||
$('#overlay').toggleClass("overlay");
|
||||
});
|
||||
|
||||
$("#overlay").click(function () {
|
||||
$(".sidebar-navigation").toggleClass("small");
|
||||
$(".sidebar").toggleClass("active-sidebar-navigation");
|
||||
|
||||
$(".header-container").toggleClass("main-wrapper ");
|
||||
$(".header-container").toggleClass("small");
|
||||
|
||||
|
||||
$(".content-container").toggleClass("small");
|
||||
|
||||
$('#overlay').toggleClass("overlay");
|
||||
});
|
||||
|
||||
//******************** بستن مودال خطا ********************
|
||||
$(document).on('click', '#closeAlert', function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
clearTimeout();
|
||||
});
|
||||
//******************** بستن مودال خطا ********************
|
||||
|
||||
$(document).on("click", function (event) {
|
||||
var target = $(event.target);
|
||||
if (!target.closest(".dropdown-menu").length
|
||||
&& !target.is(".dropdown-menu")
|
||||
&& !target.is(".user-details .user-info .title")
|
||||
) {
|
||||
$(".dropdown").removeClass("open");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
_RefreshCountMenu();
|
||||
_RefreshCountRollCallMenu();
|
||||
_RefreshCountEmployeeDocumentsMenu();
|
||||
$('input[type="text"], input[type="number"], textarea').each(function () {
|
||||
$(this).on('input', function () {
|
||||
var enteredValue = $(this).val();
|
||||
var englishNumbers = convertPersianNumbersToEnglish(enteredValue);
|
||||
$(this).val(englishNumbers);
|
||||
function openSideBar() {
|
||||
var screenWidth = $(window).width();
|
||||
var navActive = $('.navigation-right').hasClass('active');
|
||||
var myWrapperEnlarged = $('#myWrapper').hasClass('enlarged');
|
||||
|
||||
if (screenWidth < 600) {
|
||||
$(".navigation-right").removeClass('active');
|
||||
$("#myWrapper").removeClass('enlarged');
|
||||
} else if (navActive && myWrapperEnlarged) {
|
||||
$(".navigation-right").removeClass('active');
|
||||
$("#myWrapper").removeClass('enlarged');
|
||||
} else {
|
||||
$(".navigation-right").addClass('active');
|
||||
$("#myWrapper").addClass('enlarged');
|
||||
}
|
||||
}
|
||||
function openSettings() {
|
||||
let dropdown = $(".user-details .user-info .dropdown");
|
||||
dropdown.toggleClass("open");
|
||||
}
|
||||
function checkUrl() {
|
||||
var url = window.location.href.split('?')[0];
|
||||
$('.aMenu').filter(function () {
|
||||
var id = $(this).attr("id");
|
||||
if (this.href == url || (id == "regiteremployer" && url.indexOf("/Employers/") > -1)) {
|
||||
$(".activeTab").removeClass('activeTab');
|
||||
$(this).parent("li").addClass('activeTab');
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
// $(document).ready(function () {
|
||||
// var Scrollbar1 = window.Scrollbar;
|
||||
// Scrollbar1.init(document.querySelector('#ModelDivScrollbar'), {
|
||||
// alwaysShowTracks: true,
|
||||
// });
|
||||
// });
|
||||
|
||||
|
||||
function SelectWorkshop(slug) {
|
||||
$.ajax({
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
url: '@Url.Page("/Index", "SelectWorkshop")',
|
||||
headers: { "RequestVerificationToken": antiForgeryTokenLayout },
|
||||
type: 'POST',
|
||||
data: { slug: slug },
|
||||
success: function (response) {
|
||||
if (response.isSuccedded) {
|
||||
$('.alert-success-msg').show();
|
||||
$('.alert-success-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-success-msg').hide();
|
||||
$('.alert-success-msg p').text('');
|
||||
window.location.reload();
|
||||
}, 500);
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
}
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
_RefreshCountMenu();
|
||||
_RefreshCountRollCallMenu();
|
||||
_RefreshCountEmployeeDocumentsMenu();
|
||||
$('input[type="text"], input[type="number"], textarea').each(function () {
|
||||
$(this).on('input', function () {
|
||||
var enteredValue = $(this).val();
|
||||
var englishNumbers = convertPersianNumbersToEnglish(enteredValue);
|
||||
$(this).val(englishNumbers);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function convertPersianNumbersToEnglish(input) {
|
||||
var persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g];
|
||||
var arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g];
|
||||
function convertPersianNumbersToEnglish(input) {
|
||||
var persianNumbers = [/۰/g, /۱/g, /۲/g, /۳/g, /۴/g, /۵/g, /۶/g, /۷/g, /۸/g, /۹/g];
|
||||
var arabicNumbers = [/٠/g, /١/g, /٢/g, /٣/g, /٤/g, /٥/g, /٦/g, /٧/g, /٨/g, /٩/g];
|
||||
|
||||
var str = input;
|
||||
for (var i = 0; i < 10; i++) {
|
||||
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
|
||||
var str = input;
|
||||
for (var i = 0; i < 10; i++) {
|
||||
str = str.replace(persianNumbers[i], i).replace(arabicNumbers[i], i);
|
||||
}
|
||||
return str;
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
function _RefreshCountMenu() {
|
||||
$.ajax({
|
||||
async: true,
|
||||
dataType: 'json',
|
||||
url: '/Client/Company/WorkFlow?handler=CountWorkFlowLayout',
|
||||
headers: { "RequestVerificationToken": antiForgeryTokenLayout },
|
||||
type: 'GET',
|
||||
success: function (response) {
|
||||
if (response.success) {
|
||||
if (response.countWorkFlow === 0) {
|
||||
$('#_countWorkFlowMenu').hide();
|
||||
$('#spinnerWorkFlow').hide();
|
||||
$('#_countWorkFlowMenuMobile').hide();
|
||||
$('#spinnerWorkFlowMobile').hide();
|
||||
} else {
|
||||
$('#_countWorkFlowMenu').css('display', 'flex');
|
||||
$('#spinnerWorkFlow').hide();
|
||||
$('#_countWorkFlowMenuMobile').show();
|
||||
// $('#spinnerWorkFlowMobile').hide();
|
||||
$('#_countWorkFlowMenu').text(response.countWorkFlow);
|
||||
$('#_countWorkFlowMenuMobile').text(response.countWorkFlow);
|
||||
function _RefreshCountMenu() {
|
||||
$.ajax({
|
||||
async: true,
|
||||
dataType: 'json',
|
||||
url: '/Client/Company/WorkFlow?handler=CountWorkFlowLayout',
|
||||
headers: { "RequestVerificationToken": antiForgeryTokenLayout },
|
||||
type: 'GET',
|
||||
success: function (response) {
|
||||
if (response.success) {
|
||||
if (response.countWorkFlow === 0) {
|
||||
$('#_countWorkFlowMenu').hide();
|
||||
$('#spinnerWorkFlow').hide();
|
||||
$('#_countWorkFlowMenuMobile').hide();
|
||||
$('#spinnerWorkFlowMobile').hide();
|
||||
} else {
|
||||
$('#_countWorkFlowMenu').css('display', 'flex');
|
||||
$('#spinnerWorkFlow').hide();
|
||||
$('#_countWorkFlowMenuMobile').show();
|
||||
// $('#spinnerWorkFlowMobile').hide();
|
||||
$('#_countWorkFlowMenu').text(response.countWorkFlow);
|
||||
$('#_countWorkFlowMenuMobile').text(response.countWorkFlow);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
}
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function _RefreshCountRollCallMenu() {
|
||||
$.ajax({
|
||||
async: true,
|
||||
dataType: 'json',
|
||||
url: '/Client/Company/WorkFlow?handler=CountRollCall',
|
||||
headers: { "RequestVerificationToken": antiForgeryTokenLayout },
|
||||
type: 'GET',
|
||||
success: function (response) {
|
||||
console.log(response);
|
||||
if (response.success) {
|
||||
$('#spinnerRollCall').hide();
|
||||
if (response.countWorkFlow === 0) {
|
||||
$('#_countRollCallMenuSubmenu').hide();
|
||||
} else {
|
||||
$('#_countRollCallMenuSubmenu').css('display', 'flex').text(response.countWorkFlow);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function _RefreshCountEmployeeDocumentsMenu() {
|
||||
$.ajax({
|
||||
async: true,
|
||||
dataType: 'json',
|
||||
url: '/Client/Company/WorkFlow?handler=CountEmployeeDocuments',
|
||||
headers: { "RequestVerificationToken": antiForgeryTokenLayout },
|
||||
type: 'GET',
|
||||
success: function (response) {
|
||||
console.log(response);
|
||||
if (response.success) {
|
||||
$('#spinnerEmployeeDocuments').hide();
|
||||
if (response.countWorkFlow === 0) {
|
||||
$('#_countEmployeeDocumentsMenuSubmenu').hide();
|
||||
} else {
|
||||
$('#_countEmployeeDocumentsMenuSubmenu').css('display', 'flex').text(response.countWorkFlow);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Override the global fetch function to handle errors
|
||||
// const originalErrorHandler = $.ajaxSetup().error;
|
||||
$.ajaxSetup({
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
if (jqXHR.status === 500) {
|
||||
try {
|
||||
const errorData = jqXHR.responseJSON;
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(errorData.message || "خطای سمت سرور");
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
} catch (e) {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text("خطای سمت سرور");
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
console.error("Error parsing response:", e);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
function _RefreshCountRollCallMenu() {
|
||||
$.ajax({
|
||||
async: true,
|
||||
dataType: 'json',
|
||||
url: '/Client/Company/WorkFlow?handler=CountRollCall',
|
||||
headers: { "RequestVerificationToken": antiForgeryTokenLayout },
|
||||
type: 'GET',
|
||||
success: function (response) {
|
||||
console.log(response);
|
||||
if (response.success) {
|
||||
$('#spinnerRollCall').hide();
|
||||
if (response.countWorkFlow === 0) {
|
||||
$('#_countRollCallMenuSubmenu').hide();
|
||||
} else {
|
||||
$('#_countRollCallMenuSubmenu').css('display', 'flex').text(response.countWorkFlow);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
<script src="~/assetsclient/js/tickets_action.js?ver=@clientVersion"></script>
|
||||
@RenderSection("Script", false)
|
||||
function _RefreshCountEmployeeDocumentsMenu() {
|
||||
$.ajax({
|
||||
async: true,
|
||||
dataType: 'json',
|
||||
url: '/Client/Company/WorkFlow?handler=CountEmployeeDocuments',
|
||||
headers: { "RequestVerificationToken": antiForgeryTokenLayout },
|
||||
type: 'GET',
|
||||
success: function (response) {
|
||||
console.log(response);
|
||||
if (response.success) {
|
||||
$('#spinnerEmployeeDocuments').hide();
|
||||
if (response.countWorkFlow === 0) {
|
||||
$('#_countEmployeeDocumentsMenuSubmenu').hide();
|
||||
} else {
|
||||
$('#_countEmployeeDocumentsMenuSubmenu').css('display', 'flex').text(response.countWorkFlow);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
<script>
|
||||
// window.addEventListener('load', function () {
|
||||
// console.clear();
|
||||
// console.log('%c سامانه هوشمند گزارشگیر ©', 'font-family: \'IRANYekanX\', serif; color: #00ff00; font-size: 10px; font-weight: bold;');
|
||||
// });
|
||||
</script>
|
||||
// Override the global fetch function to handle errors
|
||||
// const originalErrorHandler = $.ajaxSetup().error;
|
||||
$.ajaxSetup({
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
if (jqXHR.status === 500) {
|
||||
try {
|
||||
const errorData = jqXHR.responseJSON;
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(errorData.message || "خطای سمت سرور");
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
} catch (e) {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text("خطای سمت سرور");
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
console.error("Error parsing response:", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<script src="~/assetsclient/js/tickets_action.js?ver=@clientVersion"></script>
|
||||
@RenderSection("Script", false)
|
||||
|
||||
<script>
|
||||
// window.addEventListener('load', function () {
|
||||
// console.clear();
|
||||
// console.log('%c سامانه هوشمند گزارشگیر ©', 'font-family: \'IRANYekanX\', serif; color: #00ff00; font-size: 10px; font-weight: bold;');
|
||||
// });
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -189,14 +189,14 @@
|
||||
<span>تنظیمات حساب کاربری</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
@* <li>
|
||||
<a class="dropdown-item w-100" asp-page="/Index" onclick="tutorialIntro()">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" style="color: #2FC1C1">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M15.042 21.672 13.684 16.6m0 0-2.51 2.225.569-9.47 5.227 7.917-3.286-.672ZM12 2.25V4.5m5.834.166-1.591 1.591M20.25 10.5H18M7.757 14.743l-1.59 1.59M6 10.5H3.75m4.007-4.243-1.59-1.59" />
|
||||
</svg>
|
||||
<span>راهنما</span>
|
||||
</a>
|
||||
</li>
|
||||
</li> *@
|
||||
<li>
|
||||
<a class="dropdown-item w-100" asp-area="" asp-page="/Index" asp-page-handler="Logout">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" viewBox="0 0 22 20" fill="none">
|
||||
|
||||
@@ -44,6 +44,12 @@
|
||||
-webkit-print-color-adjust: exact;print-color-adjust: exact;
|
||||
}
|
||||
|
||||
#printThis {
|
||||
position: relative;
|
||||
margin: 0 auto;
|
||||
width: 21cm;
|
||||
}
|
||||
|
||||
#printSection, #printSection * {
|
||||
visibility: visible;
|
||||
page-break-after: auto;
|
||||
@@ -271,3 +277,27 @@ div span.week {
|
||||
print-color-adjust: exact;
|
||||
}
|
||||
|
||||
.trTable:nth-child(even) {
|
||||
background-color: #f1f1f1 !important;
|
||||
}
|
||||
|
||||
.headerInfo {
|
||||
border-radius: 6px;
|
||||
border: 1px solid #000000 !important;
|
||||
}
|
||||
|
||||
.cusSpanTitle {
|
||||
border-radius: 4px;
|
||||
font-weight: bold;
|
||||
background-color: #ebe6e6 !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
padding: 0 3px;
|
||||
margin: auto 4px;
|
||||
}
|
||||
|
||||
.table-container {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
}
|
||||
@@ -16,12 +16,11 @@
|
||||
|
||||
.container2 {
|
||||
height: 297mm;
|
||||
padding-top: 15px;
|
||||
}
|
||||
|
||||
.container2:last-of-type {
|
||||
height: 280mm;
|
||||
}
|
||||
.container2:last-of-type {
|
||||
height: 289mm !important;
|
||||
}
|
||||
|
||||
.modal-dialog {
|
||||
max-width: 100%;
|
||||
@@ -362,3 +361,25 @@ div span.week {
|
||||
z-index: 20;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.headerInfo {
|
||||
border-radius: 6px;
|
||||
border: 1px solid #000000 !important;
|
||||
}
|
||||
|
||||
.cusSpanTitle {
|
||||
border-radius: 4px;
|
||||
font-weight: bold;
|
||||
background-color: #ebe6e6 !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
padding: 0 3px;
|
||||
margin: auto 4px;
|
||||
}
|
||||
|
||||
.table-container {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
}
|
||||
@@ -12,6 +12,10 @@
|
||||
margin: 27mm 16mm 27mm 16mm;
|
||||
}*/
|
||||
|
||||
.trTable:nth-child(even) {
|
||||
background-color: #f1f1f1 !important;
|
||||
}
|
||||
|
||||
@page {
|
||||
size: A4;
|
||||
margin: 0mm;
|
||||
@@ -44,6 +48,13 @@
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
overflow: hidden;
|
||||
line-height: 1.42857143;
|
||||
}
|
||||
|
||||
#printThis {
|
||||
position: relative;
|
||||
margin: 0 auto;
|
||||
width: 21cm;
|
||||
}
|
||||
|
||||
#printSection, #printSection * {
|
||||
@@ -62,9 +73,9 @@
|
||||
|
||||
#printSection {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
page-break-after: auto;
|
||||
right: 0;
|
||||
top: 0;
|
||||
page-break-after: auto;
|
||||
}
|
||||
|
||||
.head {
|
||||
@@ -116,6 +127,7 @@ h5, h6 {
|
||||
|
||||
body .modal {
|
||||
font-size: 11px;
|
||||
line-height: 1.42857143;
|
||||
}
|
||||
|
||||
label .modal {
|
||||
@@ -311,3 +323,25 @@ div span.week {
|
||||
background-color: #dbd8d8 !important;
|
||||
-webkit-print-color-adjust: exact !important;
|
||||
}
|
||||
|
||||
|
||||
.headerInfo {
|
||||
border-radius: 6px;
|
||||
border: 1px solid #000000 !important;
|
||||
}
|
||||
|
||||
.cusSpanTitle {
|
||||
border-radius: 4px;
|
||||
font-weight: bold;
|
||||
background-color: #ebe6e6 !important;
|
||||
-webkit-print-color-adjust: exact;
|
||||
print-color-adjust: exact;
|
||||
padding: 0 3px;
|
||||
margin: auto 4px;
|
||||
}
|
||||
|
||||
.table-container {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
let currentUrlGroup = window.location.href;
|
||||
var currentUrlGroup = window.location.href;
|
||||
|
||||
$(document).ready(function () {
|
||||
$(document).on("click", ".btn-cancel2", function () {
|
||||
|
||||
@@ -46,65 +46,65 @@ $(document).ready(function () {
|
||||
blocks: [4, 2, 2],
|
||||
numericOnly: true
|
||||
});
|
||||
// new Cleave(this, {
|
||||
// date: true,
|
||||
// delimiter: '/',
|
||||
// datePattern: ['Y', 'm', 'd']
|
||||
// });
|
||||
});
|
||||
// new Cleave(this, {
|
||||
// date: true,
|
||||
// delimiter: '/',
|
||||
// datePattern: ['Y', 'm', 'd']
|
||||
// });
|
||||
});
|
||||
|
||||
//******************** انتخاب همه ی چک باکس ها ********************
|
||||
$(".checkAll").change(function () {
|
||||
//let dataValYear = $('#year').val();
|
||||
//let dataValMonth = $('#month').val();
|
||||
//let dataValPersonel = Number($('#employeeId').val());
|
||||
//******************** انتخاب همه ی چک باکس ها ********************
|
||||
$(".checkAll").change(function () {
|
||||
//let dataValYear = $('#year').val();
|
||||
//let dataValMonth = $('#month').val();
|
||||
//let dataValPersonel = Number($('#employeeId').val());
|
||||
|
||||
//if ((dataValYear == '' || dataValMonth == '') && dataValPersonel == 0) {
|
||||
//$('#dropdown-year').addClass("errored");
|
||||
//$('#dropdown-month').addClass("errored");
|
||||
//if ((dataValYear == '' || dataValMonth == '') && dataValPersonel == 0) {
|
||||
//$('#dropdown-year').addClass("errored");
|
||||
//$('#dropdown-month').addClass("errored");
|
||||
|
||||
//$(this).prop('checked', false);
|
||||
//$('.alert-msg').show();
|
||||
//$('.alert-msg p').text('جهت انتخاب گروهی قراردادها ابتدا میبایست سال و ماه مورد نظر را انتخاب نمائید.');
|
||||
//setTimeout(function () {
|
||||
// $('.alert-msg').hide();
|
||||
// $('.alert-msg p').text('');
|
||||
// $('#dropdown-year').removeClass("errored");
|
||||
// $('#dropdown-month').removeClass("errored");
|
||||
//},
|
||||
//3500);
|
||||
//} else {
|
||||
//loadAllToPrint();
|
||||
$('input:checkbox').not(this).not("#group, #list").prop('checked', this.checked);
|
||||
//$(this).prop('checked', false);
|
||||
//$('.alert-msg').show();
|
||||
//$('.alert-msg p').text('جهت انتخاب گروهی قراردادها ابتدا میبایست سال و ماه مورد نظر را انتخاب نمائید.');
|
||||
//setTimeout(function () {
|
||||
// $('.alert-msg').hide();
|
||||
// $('.alert-msg p').text('');
|
||||
// $('#dropdown-year').removeClass("errored");
|
||||
// $('#dropdown-month').removeClass("errored");
|
||||
//},
|
||||
//3500);
|
||||
//} else {
|
||||
//loadAllToPrint();
|
||||
$('input:checkbox').not(this).not("#group, #list").prop('checked', this.checked);
|
||||
|
||||
|
||||
//}
|
||||
});
|
||||
//}
|
||||
});
|
||||
|
||||
$("input:checkbox").not("#group,#list,.checkAll").change(function () {
|
||||
if ($("input:checkbox").not("#group,#list,.checkAll").filter(":not(:checked)").length) {
|
||||
$(".checkAll").prop("checked", false);
|
||||
} else {
|
||||
$(".checkAll").prop("checked", true);
|
||||
}
|
||||
});
|
||||
//******************** انتخاب همه ی چک باکس ها ********************
|
||||
$("input:checkbox").not("#group,#list,.checkAll").change(function () {
|
||||
if ($("input:checkbox").not("#group,#list,.checkAll").filter(":not(:checked)").length) {
|
||||
$(".checkAll").prop("checked", false);
|
||||
} else {
|
||||
$(".checkAll").prop("checked", true);
|
||||
}
|
||||
});
|
||||
//******************** انتخاب همه ی چک باکس ها ********************
|
||||
|
||||
//*********************ستون نام پرسنل در حالتی که فقط اسم پرسنل هست باید هاید بشه************************
|
||||
$("#searchJustName").hide();
|
||||
//*********************ستون نام پرسنل در حالتی که فقط اسم پرسنل هست باید هاید بشه************************
|
||||
$("#searchJustName").hide();
|
||||
|
||||
//************تنظیم چک باکس تایپ لیست*******************
|
||||
$('#group, #groupMobile').change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
$('#list , #listMobile').prop('checked', false);
|
||||
}
|
||||
});
|
||||
//************تنظیم چک باکس تایپ لیست*******************
|
||||
$('#group, #groupMobile').change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
$('#list , #listMobile').prop('checked', false);
|
||||
}
|
||||
});
|
||||
|
||||
$('#list, #listMobile').change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
$('#group , #groupMobile').prop('checked', false);
|
||||
}
|
||||
});
|
||||
$('#list, #listMobile').change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
$('#group , #groupMobile').prop('checked', false);
|
||||
}
|
||||
});
|
||||
//************تنظیم چک باکس تایپ لیست*******************
|
||||
});
|
||||
|
||||
|
||||
@@ -0,0 +1,187 @@
|
||||
$(document).ready(function () {
|
||||
|
||||
});
|
||||
|
||||
var eyeShow = $('.eyeShow');
|
||||
var eyeClose = $('.eyeClose');
|
||||
var reEyeShow = $('.reEyeShow');
|
||||
var reEyeClose = $('.reEyeClose');
|
||||
eyeShow.show();
|
||||
eyeClose.hide();
|
||||
reEyeShow.show();
|
||||
reEyeClose.hide();
|
||||
|
||||
$("#username").on("input", function () {
|
||||
var currentValue = $(this).val();
|
||||
$(this).val(currentValue.replace(/[^a-zA-Z0-9_\-\$\#\@\!\^\&\%\*]/g, ''));
|
||||
});
|
||||
|
||||
$('#username, #signupInputPassword, #repeat_password').on('keyup', function () {
|
||||
if ($('#username').val() && $('#signupInputPassword').val() && $('#repeat_password').val() && $('#signupInputPassword').val() === $('#repeat_password').val()) {
|
||||
$('.btn-register').removeClass('disable');
|
||||
} else {
|
||||
$('.btn-register').addClass('disable');
|
||||
}
|
||||
});
|
||||
|
||||
$('#repeat_password, #signupInputPassword').on('keyup', function() {
|
||||
if ($('#signupInputPassword').val() !== $('#repeat_password').val()) {
|
||||
$('#passwordErrorMessage').text('گذرواژه یکسان نیست');
|
||||
} else {
|
||||
$('#passwordErrorMessage').text('');
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click','#accountModalModal button', function() {
|
||||
|
||||
// alert($(this));
|
||||
// $(this).find('input').type ? 'text' : 'password';
|
||||
// document.getElementById('hybrid').type = 'password';
|
||||
$("#accountModalModal button").find('input').attr("type", "text");
|
||||
|
||||
// var input=document.getElementById(some-id);
|
||||
// var input2= input.cloneNode(false);
|
||||
// input2.type='password';
|
||||
// input.parentNode.replaceChild(input2,input);
|
||||
});
|
||||
|
||||
function passFunction() {
|
||||
var x = document.getElementById("signupInputPassword");
|
||||
|
||||
if (x.type === "password") {
|
||||
x.type = "text";
|
||||
eyeShow.hide();
|
||||
eyeClose.show();
|
||||
} else {
|
||||
x.type = "password";
|
||||
eyeShow.show();
|
||||
eyeClose.hide();
|
||||
}
|
||||
}
|
||||
|
||||
function rePassFunction() {
|
||||
var x = document.getElementById("repeat_password");
|
||||
|
||||
if (x.type === "password") {
|
||||
x.type = "text";
|
||||
reEyeShow.hide();
|
||||
reEyeClose.show();
|
||||
} else {
|
||||
x.type = "password";
|
||||
reEyeShow.show();
|
||||
reEyeClose.hide();
|
||||
}
|
||||
}
|
||||
|
||||
function passwordCheck(password) {
|
||||
if (password.length >= 8)
|
||||
strength += 1;
|
||||
if (password.match(/(?=.*[0-9])/))
|
||||
strength += 1;
|
||||
if (password.match(/(?=.*[!,%,&,@,#,$,^,*,?,_,~,<,>,])/))
|
||||
strength += 1;
|
||||
if (password.match(/(?=.*[A-Z])/))
|
||||
strength += 1;
|
||||
|
||||
displayBar(strength);
|
||||
}
|
||||
|
||||
function displayBar(strength) {
|
||||
$(".password-strength-group").attr('data-strength', strength);
|
||||
}
|
||||
|
||||
$("#signupInputPassword").keyup(function () {
|
||||
strength = 0;
|
||||
var password = $(this).val();
|
||||
passwordCheck(password);
|
||||
});
|
||||
|
||||
//$(document).ready(function () {
|
||||
//var typingTimer;
|
||||
//var typingInterval = 1500;
|
||||
|
||||
//$("#username").on('keyup', function () {
|
||||
// // removed
|
||||
//});
|
||||
//});
|
||||
|
||||
|
||||
function checkAccountExist() {
|
||||
var username = $('#username').val();
|
||||
$('#successSvg').addClass("d-none");
|
||||
$('#errorSvg').addClass("d-none");
|
||||
$('#loadingSpinner').removeClass("d-none");
|
||||
$('.btn-register').addClass('disable');
|
||||
|
||||
try {
|
||||
const response = $.ajax({
|
||||
async: false,
|
||||
type: 'GET',
|
||||
dataType: 'json',
|
||||
url: checkAccountAjax,
|
||||
data: { username: username },
|
||||
headers: { "RequestVerificationToken": antiForgeryToken }
|
||||
});
|
||||
|
||||
var res = response.responseJSON;
|
||||
|
||||
if (res.success) {
|
||||
registerAccount();
|
||||
} else {
|
||||
$('#successSvg').addClass("d-none");
|
||||
$('#errorSvg').removeClass("d-none");
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(res.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 2000);
|
||||
$('.btn-register').removeClass('disable');
|
||||
$('#loadingSpinner').addClass("d-none");
|
||||
}
|
||||
|
||||
} catch (e) {
|
||||
$('#successSvg').addClass("d-none");
|
||||
$('#errorSvg').removeClass("d-none");
|
||||
$('.btn-register').removeClass('disable');
|
||||
$('#loadingSpinner').addClass("d-none");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function registerAccount() {
|
||||
$.ajax({
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
type: 'POST',
|
||||
url: saveCreateCameraAccountUrl,
|
||||
headers: { "RequestVerificationToken": antiForgeryToken },
|
||||
data: $('#create-form').serialize(),
|
||||
success: function (response) {
|
||||
if (response.success) {
|
||||
$('.alert-success-msg').show();
|
||||
$('.alert-success-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-success-msg').hide();
|
||||
$('.alert-success-msg p').text('');
|
||||
}, 2500);
|
||||
|
||||
$('#ajaxCameraAccountDataLoad').html('');
|
||||
loadDataCameraAccountAjax();
|
||||
$('#MainModal').modal('hide');
|
||||
statusCameraAccountAndWorkshopSetting();
|
||||
} else {
|
||||
$('.alert-msg').show();
|
||||
$('.alert-msg p').text(response.message);
|
||||
setTimeout(function () {
|
||||
$('.alert-msg').hide();
|
||||
$('.alert-msg p').text('');
|
||||
}, 3500);
|
||||
}
|
||||
},
|
||||
error: function (err) {
|
||||
console.error("AJAX Error:", err);
|
||||
console.log("Full Response:", xhr);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -282,7 +282,8 @@ function changePasswordSubAccount() {
|
||||
$('.alert-success-msg p').text('');
|
||||
}, 3500);
|
||||
|
||||
loadDataEmployeeSubAccountAjax(0);
|
||||
//loadDataEmployeeSubAccountAjax(0);
|
||||
LoadRolesAndAccountsList();
|
||||
$('#MainModal').modal('hide');
|
||||
//window.location.reload();
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user