109 lines
6.4 KiB
C#
109 lines
6.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using _0_Framework.Domain;
|
|
using CompanyManagment.App.Contracts.LeftWork;
|
|
using CompanyManagment.App.Contracts.YearlySalary;
|
|
using System.Threading.Tasks;
|
|
using CompanyManagment.App.Contracts.Checkout;
|
|
using CompanyManagment.App.Contracts.Holiday;
|
|
using CompanyManagment.App.Contracts.Contract;
|
|
|
|
namespace Company.Domain.YearlySalaryAgg;
|
|
|
|
public interface IYearlySalaryRepository : IRepository<long, YearlySalary>
|
|
{
|
|
/// <summary>
|
|
/// تست محاسبه مزد پایه
|
|
/// </summary>
|
|
void TestDayliFeeCompute();
|
|
List<string> GetYears();
|
|
List<YearlySalaryViewModel> GetYearlySalary();
|
|
|
|
/// <summary>
|
|
/// دریافت مزد روزانه فیش حقوقی
|
|
/// </summary>
|
|
/// <param name="contract"></param>
|
|
/// <param name="checkoutStart"></param>
|
|
/// <param name="checkoutEnd"></param>
|
|
/// <returns></returns>
|
|
Task<double> GetCheckoutDailyWage(EditContract contract, DateTime checkoutStart, DateTime checkoutEnd);
|
|
|
|
/// <summary>
|
|
/// دریافت مزد روزانه بر اساس تاریخ شروع و پایان
|
|
/// </summary>
|
|
/// <param name="start"></param>
|
|
/// <param name="end"></param>
|
|
/// <returns></returns>
|
|
Task<(double dailyWage, long yearlySalaryId)> GetDailyWageByStartEnd(DateTime start, DateTime end);
|
|
|
|
MontlywageBunosYearsViewModel GetMontlyBunosYears(TimeSpan weeklyTime, DateTime contractStart,DateTime contractEnd, double daylyWage, string weeklyWorkingTime, int officialholiday, int friday, string totalHoursH, string totalHorsM, string basic, int fridayStartToEnd, double dayliFeeComplete, bool hasRollCall, bool holidaysWorking,string shiftWork);
|
|
double GetLeavePay(DateTime contractStart, DateTime contractEnd, double daylyWage, double consumableItem, double housingAllowance, double familyAllowance , string weeklyWorkingTime, int officialholiday, int friday, string totalHoursH, string totalHorsM);
|
|
double GetOverTimeWorking(double dayliWage, string overTimeWorkH, string overTimeWorkM);
|
|
double GetOverNightWorking(double dayliWage, string overNightWorkH, string overNightWorkM, string weeklyWorkingTime, int officialholiday, int friday, DateTime contractStart, DateTime contractEnd, string totalHoursH, string totalHorsM);
|
|
|
|
/// <summary>
|
|
/// متد ارتقاء مزد دلخواه
|
|
/// </summary>
|
|
/// <param name="newContractStart"></param>
|
|
/// <param name="lastContractStart"></param>
|
|
/// <param name="lastContractManualDailyWage"></param>
|
|
/// <returns></returns>
|
|
Task<UpgradeManualDailyWageModel> UpgradeManualDailyWage(DateTime newContractStart, DateTime lastContractStart,
|
|
double lastContractManualDailyWage);
|
|
|
|
/// <summary>
|
|
/// متد محاسبه پایه سنوات و لیست پایه سنوات های پرسنل
|
|
/// </summary>
|
|
/// <param name="contractStart"></param>
|
|
/// <param name="contractEnd"></param>
|
|
/// <param name="employeeId"></param>
|
|
/// <param name="workshopId"></param>
|
|
/// <param name="leftWorkList"></param>
|
|
/// <returns></returns>
|
|
Task<BaseYearDataViewModel> BaseYearCompute(DateTime contractStart, DateTime contractEnd, long employeeId,
|
|
long workshopId, List<LeftWorkViewModel> leftWorkList);
|
|
DayliFeeViewModel DayliFeeComputing(DateTime startDateW,DateTime contractStart, DateTime endDateW, long employeeId, long workshopId,List<LeftWorkViewModel> leftWorkList);
|
|
Task<DayliFeeViewModel> DayliFeeComputingAsync(DateTime startDateW, DateTime contractStart, DateTime endDateW, long employeeId, long workshopId, List<LeftWorkViewModel> leftWorkList);
|
|
string ConsumableItems(DateTime endDateW);
|
|
string HousingAllowance(DateTime endDateW);
|
|
string FamilyAllowance(long personelID, DateTime startContract, DateTime endCantract);
|
|
string FamilyAllowanceAutoExtention(long personelID, DateTime startContract);
|
|
Task<string> ConsumableItemsAsync(DateTime endDateW);
|
|
Task<string> HousingAllowanceAsync(DateTime endDateW);
|
|
Task<string> FamilyAllowanceAsync(long personelID, DateTime EndCantract);
|
|
EditYearlySalary GetDetails(long id);
|
|
List<YearlySalaryViewModel> Search(YearlySalarySearchModel searchModel);
|
|
int FindConnection();
|
|
EditYearlySalary GetDetailsBySearchModel(YearlySalarySearchModel searchModel);
|
|
double MarriedAllowance(DateTime endDateW, long employeeId);
|
|
|
|
|
|
#region newComputeOptions
|
|
|
|
BunosesAndYearsPayStatus Years(DateTime separationStartDate,DateTime leftWorkDate, DateTime separationEndDate, double daylyWage, string yearsOptions,bool hasleft,DateTime startWorkDate,DateTime contractStart, DateTime contractEnd, long workshopId,long employeeId, bool isOldContract);
|
|
LeaveAndAbsenceViewModel LeavePay(string startDateFa,DateTime leftWorkDate,DateTime separationStartDate, DateTime separationEndDate, double daylyWage, string computeOptions, bool hasleft, DateTime startWorkDate, DateTime contractStart, DateTime contractEnd, long workshopId, long employeeId,
|
|
int fridayStartToEnd,int officialHoliday, string totalHoursH, string totalHorsM, double consumableItem,
|
|
double housingAllowance, double familyAllowance,double marriedAllowance, bool isOldContract);
|
|
BunosesAndYearsPayStatus Bunoses(string startDateFa, DateTime leftWorkDate, DateTime separationStartDate, DateTime separationEndDate, double daylyWage, string bonusesOptions, bool hasleft, DateTime startWorkDate, DateTime contractStart, DateTime contractEnd, long workshopId, long employeeId, bool isOldContract);
|
|
|
|
List<ContractsCanToLeave> LeftWorkCantoleaveList(DateTime startDate, DateTime endDate,long workshopId, long employeeId, bool hasleft,DateTime leftWorkDate, int fridayStartToEnd, int officialHoliday, string totalHoursH, string totalHorsM, DateTime separationStartDate);
|
|
|
|
List<ContractsCanToLeave> EndOfYearCantoleaveList(DateTime startDate, DateTime endDate, long workshopId, long employeeId, bool hasleft, DateTime leftWorkDate, int fridayStartToEnd, int officialHoliday, string totalHoursH, string totalHorsM, DateTime separationStartDate);
|
|
|
|
|
|
ContractsCanToLeave OnCheckoutCantoleaveList(DateTime startDate, DateTime endDate, long workshopId, long employeeId,
|
|
double leaveHoursesPerDay, double totalChekoutDays, double hoursePerDay);
|
|
Task<HolidayApiVewModel> HolidayGregorian(DateTime gregorianDate);
|
|
Task<HolidayApiVewModel> HolidayShamsi(string shamsiDate);
|
|
|
|
#endregion
|
|
|
|
|
|
#region Insurance
|
|
|
|
InsuranceYearlySalaryModel GetInsuranceItems(DateTime startDate, DateTime endDate, string year);
|
|
|
|
#endregion
|
|
|
|
|
|
} |