From 5508d4e88f3fd8629256f899fdb44d2db184651b Mon Sep 17 00:00:00 2001 From: gozareshgir Date: Wed, 14 Jan 2026 14:39:51 +0330 Subject: [PATCH] Checkout Compute Minuts Base --- .../CreateOrEditCheckoutCommandHandler.cs | 30 ++++++++++++++----- .../GetUserToGroupCreatingQueryHandler.cs | 13 ++++---- 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/Checkouts/Commands/CreateCheckout/CreateOrEditCheckoutCommandHandler.cs b/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/Checkouts/Commands/CreateCheckout/CreateOrEditCheckoutCommandHandler.cs index 9b3fdcb8..0c1343e5 100644 --- a/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/Checkouts/Commands/CreateCheckout/CreateOrEditCheckoutCommandHandler.cs +++ b/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/Checkouts/Commands/CreateCheckout/CreateOrEditCheckoutCommandHandler.cs @@ -209,22 +209,38 @@ public class CreateOrEditCheckoutCommandHandler : IBaseCommandHandler monthlySalaryDefined ? monthlySalaryDefined : monthlySalaryPay; + ////حقوق نهایی + //var monthlySalaryPay = (totalHoursWorked * monthlySalaryDefined) / mandatoryHours; + //// اگر اضافه کار داشت حقوق تعین شده به عنوان حقوق نهایی در نظر گرفته میشود + //monthlySalaryPay = monthlySalaryPay > monthlySalaryDefined ? monthlySalaryDefined : monthlySalaryPay; - //حقوق کسر شده - var deductionFromSalary = monthlySalaryDefined - monthlySalaryPay; + ////حقوق کسر شده + //var deductionFromSalary = monthlySalaryDefined - monthlySalaryPay; + + //new chang salary compute + var monthlySalaryPay = totalHoursWorked * monthlySalaryDefined; //زمان باقی مانده var remainingTime = totalHoursWorked - mandatoryHours; + + //تناسب به دقیقه + #region MyRegion + + //var monthlySalaryDefinedTest = monthlySalaryDefined * mandatoryHours; + //var monthlySalaryPayTest = totalHoursWorked * monthlySalaryDefined; + ////// اگر اضافه کار داشت حقوق تعین شده به عنوان حقوق نهایی در نظر گرفته میشود + //monthlySalaryPayTest = monthlySalaryPayTest > monthlySalaryDefinedTest ? monthlySalaryDefinedTest : monthlySalaryPayTest; + //////حقوق کسر شده + //var deductionFromSalaryTest = monthlySalaryDefinedTest - monthlySalaryPayTest; + + #endregion + var computeResult = new ComputeResultDto { MandatoryHours = mandatoryHours, MonthlySalaryPay = monthlySalaryPay, - DeductionFromSalary = deductionFromSalary, + DeductionFromSalary = 0 /*deductionFromSalary*/, RemainingHours = remainingTime }; Console.WriteLine(mandatoryHours); diff --git a/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/Checkouts/Queries/GetUserToGropCreate/GetUserToGroupCreatingQueryHandler.cs b/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/Checkouts/Queries/GetUserToGropCreate/GetUserToGroupCreatingQueryHandler.cs index 1b04026a..ad4812c9 100644 --- a/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/Checkouts/Queries/GetUserToGropCreate/GetUserToGroupCreatingQueryHandler.cs +++ b/ProgramManager/src/Application/GozareshgirProgramManager.Application/Modules/Checkouts/Queries/GetUserToGropCreate/GetUserToGroupCreatingQueryHandler.cs @@ -1,10 +1,11 @@ -using GozareshgirProgramManager.Application._Common.Interfaces; +using DNTPersianUtils.Core; +using GozareshgirProgramManager.Application._Common.Interfaces; using GozareshgirProgramManager.Application._Common.Models; using GozareshgirProgramManager.Application.Modules.SalaryPaymentSettings.Queries.GetUserListWhoHaveSettings; using GozareshgirProgramManager.Domain._Common; using GozareshgirProgramManager.Domain.CheckoutAgg.Enums; using Microsoft.EntityFrameworkCore; -using PersianTools.Core; +using PersianDateTime = PersianTools.Core.PersianDateTime; namespace GozareshgirProgramManager.Application.Modules.Checkouts.Queries.GetUserToGropCreate; @@ -45,8 +46,8 @@ public class GetUserToGroupCreatingQueryHandler : IBaseQueryHandler x.CheckoutStartDate < lastMonthStart - && x.CheckoutEndDate >= lastMonthStart) + .Where(x => x.CheckoutStartDate < lastMonthEnd + && x.CheckoutEndDate > selectedDate) on u.Id equals ch.UserId into chJoin from ch in chJoin.DefaultIfEmpty()