add new prop to contractTable - compute dailyWage

This commit is contained in:
SamSys
2025-08-23 04:27:04 +03:30
parent df1e6f62b8
commit 2f60883ea2
14 changed files with 10501 additions and 33 deletions

View File

@@ -17,7 +17,7 @@ public class Contract : EntityBase
public Contract(long personnelCode, long employeeId, long employerId,
long workshopIds, long yearlySalaryId, DateTime contarctStart, DateTime contractEnd, string dayliWage,
string archiveCode, DateTime getWorkDate, DateTime setContractDate, string jobType,
string contractType, string workshopAddress1, string workshopAddress2, string consumableItems, long jobTypeId, string housingAllowance, string agreementSalary, string workingHoursWeekly, string familyAllowance, string contractPeriod)
string contractType, string workshopAddress1, string workshopAddress2, string consumableItems, long jobTypeId, string housingAllowance, string agreementSalary, string workingHoursWeekly, string familyAllowance, string contractPeriod, double dailySalaryAffected, double baseYearAffected, double dailySalaryUnAffected, double baseYearUnAffected, bool hasManualDailyWage)
{
PersonnelCode = personnelCode;
EmployeeId = employeeId;
@@ -45,6 +45,17 @@ public class Contract : EntityBase
WorkingHoursWeekly = workingHoursWeekly;
FamilyAllowance = familyAllowance;
ContractPeriod = contractPeriod;
//پراپرتی های جدید برای دستمزد دلخواه
#region NewManualDailyWage
DailySalaryAffected = dailySalaryAffected;
BaseYearAffected = baseYearAffected;
DailySalaryUnAffected = dailySalaryUnAffected;
BaseYearUnAffected = baseYearUnAffected;
HasManualDailyWage = hasManualDailyWage;
#endregion
Signature = "0";
@@ -70,31 +81,31 @@ public class Contract : EntityBase
/// </summary>
public string DayliWage { get; private set; }
///// <summary>
///// دستمزد روزانه خام بعد از تاثیر ساعت کار
///// </summary>
//public double DailySalaryAffected { get; set; }
/// <summary>
/// دستمزد روزانه خام بعد از تاثیر ساعت کار
/// </summary>
public double DailySalaryAffected { get; set; }
///// <summary>
///// پایه سنوات بعد از تاثیر ساعت کار
///// </summary>
//public double BaseYearAffected { get; set; }
/// <summary>
/// پایه سنوات بعد از تاثیر ساعت کار
/// </summary>
public double BaseYearAffected { get; set; }
///// <summary>
///// دستمزد روزانه قبل از تاثیر ساعت کار
///// </summary>
//public double DailySalaryUnAffected { get; set; }
/// <summary>
/// دستمزد روزانه قبل از تاثیر ساعت کار
/// </summary>
public double DailySalaryUnAffected { get; set; }
///// <summary>
///// پایه سنوات قبل از تاثیر ساعت کار
///// </summary>
//public double BaseYearUnAffected { get; set; }
/// <summary>
/// پایه سنوات قبل از تاثیر ساعت کار
/// </summary>
public double BaseYearUnAffected { get; set; }
///// <summary>
///// آیا دستمزد روزانه دستی وارد شده است؟
///// </summary>
//public bool HasManualDailyWage { get; set; }
/// <summary>
/// آیا دستمزد روزانه دستی وارد شده است؟
/// </summary>
public bool HasManualDailyWage { get; set; }
public string IsActiveString { get; private set; }

View File

@@ -61,5 +61,23 @@ public class ComputingViewModel
/// </summary>
public TimeSpan EmployeeMandatoryHours { get; set; }
/// <summary>
/// پایه سنوات قبل از تاثیر ساعت کار
/// </summary>
public double BaseYearUnAffected { get; set; }
/// <summary>
/// پایه سنوات بعد از تاثیر ساعت کار
/// </summary>
public double BaseYearAffected { get; set; }
/// <summary>
/// دستمزد روزانه خام بعد از تاثیر ساعت کار
/// </summary>
public double DailySalaryAffected { get; set; }
//public List<string> holidays;
}

View File

@@ -140,7 +140,31 @@ public class CreateContract
public string ConvertMonth { get; set; }
public string FormStep { get; set; }
/// <summary>
/// دستمزد روزانه خام بعد از تاثیر ساعت کار
/// </summary>
public double DailySalaryAffected { get; set; }
/// <summary>
/// پایه سنوات بعد از تاثیر ساعت کار
/// </summary>
public double BaseYearAffected { get; set; }
/// <summary>
/// دستمزد روزانه قبل از تاثیر ساعت کار
/// </summary>
public double DailySalaryUnAffected { get; set; }
/// <summary>
/// پایه سنوات قبل از تاثیر ساعت کار
/// </summary>
public double BaseYearUnAffected { get; set; }
/// <summary>
/// آیا دستمزد روزانه دستی وارد شده است؟
/// </summary>
public bool HasManualDailyWage { get; set; }
public List<ContractViweModel> Contracts { get; set; }
public List<WorkshopViewModel> Workshops { get; set; }
public List<EmployerViewModel> Employers { get; set; }

View File

@@ -311,4 +311,9 @@ public class CreateWorkingHoursTemp
public string WeeklyWorkingTime { get; set; }
public long ContractId { get; set; }
public long WorknigHoursId { get; set; }
/// <summary>
/// دستمزد روزانه قبل از تاثیر ساعت کار
/// </summary>
public double DailySalaryUnAffected { get; set; }
}

View File

@@ -1,4 +1,6 @@
namespace CompanyManagment.App.Contracts.Workshop.DTOs;
using System.ComponentModel.DataAnnotations.Schema;
namespace CompanyManagment.App.Contracts.Workshop.DTOs;
public class AutoExtensionEmployeeListDto
{
@@ -32,6 +34,17 @@ public class AutoExtensionEmployeeListDto
public bool EmployeeHasCreateContract { get; set; }
/// <summary>
/// دستمزد روزانه دریافت شده از سمت فرانت
/// </summary>
public string DailySalaryUnAffectedStr => "0";
/// <summary>
/// مزد سالانه نرمال دریافت از سمت فرانت
/// </summary>
public string NormalDailyWage => "0";
public string ContarctStart { get; set; }
public string ContractEnd { get; set; }

View File

@@ -39,5 +39,40 @@ public class createContractModel
public long YearlySalaryId { get; set; }
public long EmployerId { get; set; }
/// <summary>
/// دستمزد روزانه خام بعد از تاثیر ساعت کار
/// </summary>
public double DailySalaryAffected { get; set; }
/// <summary>
/// پایه سنوات بعد از تاثیر ساعت کار
/// </summary>
public double BaseYearAffected { get; set; }
/// <summary>
/// دستمزد روزانه قبل از تاثیر ساعت کار
/// </summary>
public double DailySalaryUnAffected { get; set; }
/// <summary>
/// دستمزد روزانه دریافت شده از سمت فرانت
/// </summary>
public string DailySalaryUnAffectedStr { get; set; }
/// <summary>
/// مزد سالانه نرمال دریافت از سمت فرانت
/// </summary>
public string NormalDailyWage { get; set; }
/// <summary>
/// پایه سنوات قبل از تاثیر ساعت کار
/// </summary>
public double BaseYearUnAffected { get; set; }
/// <summary>
/// آیا دستمزد روزانه دستی وارد شده است؟
/// </summary>
public bool HasManualDailyWage { get; set; }
}

View File

@@ -142,7 +142,9 @@ public class ContractApplication : IContractApplication
yearlySalarId,
start, end, command.DayliWage, command.ArchiveCode, getWorkdate, setContractDate,
command.JobType, command.ContractType, command.WorkshopAddress1, command.WorkshopAddress2,
command.ConsumableItems, command.JobTypeId, command.HousingAllowance, command.AgreementSalary, command.WorkingHoursWeekly, command.FamilyAllowance, command.ContractPeriod);
command.ConsumableItems, command.JobTypeId, command.HousingAllowance, command.AgreementSalary,
command.WorkingHoursWeekly, command.FamilyAllowance, command.ContractPeriod,command.DailySalaryAffected,
command.BaseYearAffected, command.DailySalaryUnAffected,command.BaseYearUnAffected, command.HasManualDailyWage);
_contractRepository.Create(makeContract);
_contractRepository.SaveChanges();
@@ -356,7 +358,9 @@ public class ContractApplication : IContractApplication
command.YearlySalaryId,
start, end, command.DayliWage, command.ArchiveCode, getWorkdate, setContractDate,
command.JobName, command.ContractType, command.WorkshopAddress1, command.WorkshopAddress2,
command.ConsumableItems, command.JobId, command.HousingAllowance, "0", command.WorkingHoursWeekly, command.FamilyAllowance, command.ContractPeriod);
command.ConsumableItems, command.JobId, command.HousingAllowance, "0", command.WorkingHoursWeekly, command.FamilyAllowance, command.ContractPeriod,
command.DailySalaryAffected,
command.BaseYearAffected, command.DailySalaryUnAffected, command.BaseYearUnAffected, command.HasManualDailyWage);
_contractRepository.Create(makeContract);
_contractRepository.SaveChanges();

View File

@@ -32,6 +32,7 @@ public class ContractMapping : IEntityTypeConfiguration<Contract>
builder.HasOne(x => x.Workshop)
.WithMany(x => x.Contracts2)
.HasForeignKey(x => x.WorkshopIds);

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,73 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace CompanyManagment.EFCore.Migrations
{
/// <inheritdoc />
public partial class ManualDailyWageToContract : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<double>(
name: "BaseYearAffected",
table: "Contracts",
type: "float",
nullable: false,
defaultValue: 0.0);
migrationBuilder.AddColumn<double>(
name: "BaseYearUnAffected",
table: "Contracts",
type: "float",
nullable: false,
defaultValue: 0.0);
migrationBuilder.AddColumn<double>(
name: "DailySalaryAffected",
table: "Contracts",
type: "float",
nullable: false,
defaultValue: 0.0);
migrationBuilder.AddColumn<double>(
name: "DailySalaryUnAffected",
table: "Contracts",
type: "float",
nullable: false,
defaultValue: 0.0);
migrationBuilder.AddColumn<bool>(
name: "HasManualDailyWage",
table: "Contracts",
type: "bit",
nullable: false,
defaultValue: false);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "BaseYearAffected",
table: "Contracts");
migrationBuilder.DropColumn(
name: "BaseYearUnAffected",
table: "Contracts");
migrationBuilder.DropColumn(
name: "DailySalaryAffected",
table: "Contracts");
migrationBuilder.DropColumn(
name: "DailySalaryUnAffected",
table: "Contracts");
migrationBuilder.DropColumn(
name: "HasManualDailyWage",
table: "Contracts");
}
}
}

View File

@@ -748,6 +748,12 @@ namespace CompanyManagment.EFCore.Migrations
.HasMaxLength(255)
.HasColumnType("nvarchar(255)");
b.Property<double>("BaseYearAffected")
.HasColumnType("float");
b.Property<double>("BaseYearUnAffected")
.HasColumnType("float");
b.Property<string>("ConsumableItems")
.IsRequired()
.HasMaxLength(50)
@@ -776,6 +782,12 @@ namespace CompanyManagment.EFCore.Migrations
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<double>("DailySalaryAffected")
.HasColumnType("float");
b.Property<double>("DailySalaryUnAffected")
.HasColumnType("float");
b.Property<string>("DayliWage")
.IsRequired()
.HasMaxLength(50)
@@ -795,6 +807,9 @@ namespace CompanyManagment.EFCore.Migrations
b.Property<DateTime>("GetWorkDate")
.HasColumnType("datetime2");
b.Property<bool>("HasManualDailyWage")
.HasColumnType("bit");
b.Property<string>("HousingAllowance")
.IsRequired()
.HasMaxLength(50)

View File

@@ -766,8 +766,8 @@
<td style="font-family: 'IranSans' !important; font-size: 12px !important; text-align: center; min-width: 70px;direction: ltr">
<input type="hidden" value="0" class="normalDailyWage"/>
<input type="text" disabled="disabled" value="0" class="dayliwage form-control" style="text-align: center; border-radius: 7px; height: 24px;" name="m" />
<input type="hidden" name="normalDailyWage" value="0" class="normalDailyWage" />
<input type="text" name="dailySalaryUnAffectedStr" disabled="disabled" value="0" class="dayliwage form-control" style="text-align: center; border-radius: 7px; height: 24px;" />
<select disabled="disabled" name="dailyWageType" class="selectDailyWageModel" style="background-color: #fafafa;color: rgba(0, 0, 0, 0.6);border: 1px solid #c7c7c7 !important;border-radius: 5px;box-shadow: none;padding:0px 2px 3px">
<option value="0">انتخاب دستمزد</option>
<option value="1">مزد سالانه</option>

View File

@@ -712,6 +712,15 @@ public class AutoExtensionModel : PageModel
foreach (var item in createContarctList)
{
#region NewManualDailyWage
double normaldailyWage = item.NormalDailyWage.MoneyToDouble();
double dailySalaryUnAffected = item.DailySalaryUnAffectedStr.MoneyToDouble();
item.HasManualDailyWage = dailySalaryUnAffected > normaldailyWage;
item.DailySalaryUnAffected = dailySalaryUnAffected;
#endregion
var result =
_workingHoursTempApplication.GetByWorkshopIdAndEmployeeId(item.WorkshopId,
item.EmployeeId);
@@ -719,6 +728,7 @@ public class AutoExtensionModel : PageModel
result.WorkshopId = item.WorkshopId;
result.ContarctStart = item.ContractStart;
result.ContractEnd = item.ContractEnd;
result.DailySalaryUnAffected = dailySalaryUnAffected;
var leftWorkSerachModel = new LeftWorkSearchModel
{
EmployeeId = item.EmployeeId,
@@ -729,6 +739,8 @@ public class AutoExtensionModel : PageModel
?.StartWorkDate;
result.GetWorkDate = getWorkDateHide;
result.GetWorkDateHide = getWorkDateHide;
var compute = MandatoryHours(result);
item.DayliWage = compute.SalaryCompute;
item.GetWorkDate = getWorkDateHide;
@@ -746,6 +758,10 @@ public class AutoExtensionModel : PageModel
item.OverNightWorkM = compute.OverNightWorkM;
item.WorkshopAddress2 = result.WorkshopAddress2;
item.DailySalaryAffected = compute.DailySalaryAffected;
item.BaseYearAffected = compute.BaseYearAffected;
item.BaseYearUnAffected = compute.BaseYearUnAffected;
item.YearlySalaryId = yearlySalarId;
var createContractResult = _contractApplication.CreateNew(item);
var percent = i / maxNumber * 100;
@@ -5464,15 +5480,26 @@ public class AutoExtensionModel : PageModel
var endDate = command.ContractEnd.ToGeorgianDateTime();
var dayliFee = "خطای تاریخ";
var contractStartDate = command.ContarctStart.ToGeorgianDateTime();
double baseYearUnAffected = 0;
double baseYearAffected = 0;
double dailySalaryAffected = 0;
if (styear >= 1370)
{
if (leftworkList == null)
leftworkList = new List<LeftWorkViewModel>();
var dayliFeeResult = _yearlySalaryRepository.DayliFeeComputing(startDate, contractStartDate,
contractStartDate, command.EmployeeId, command.WorkshopId, leftworkList);
dayliFee = dayliFeeResult.DayliFee;
basic = dayliFeeResult.Basic;
//var dayliFeeResult = _yearlySalaryRepository.DayliFeeComputing(startDate, contractStartDate,
// contractStartDate, command.EmployeeId, command.WorkshopId, leftworkList);
var baseYear = _yearlySalaryRepository.BaseYearCompute(contractStartDate, endDate, command.EmployeeId,
command.WorkshopId, leftworkList).Result;
dayliFee = (command.DailySalaryUnAffected + baseYear.BaseYearResult).ToMoney();
//basic = dayliFeeResult.Basic;
baseYearUnAffected = baseYear.BaseYearResult;
baseYearAffected = baseYear.BaseYearResult;
dailySalaryAffected = command.DailySalaryUnAffected;
}
#endregion
@@ -5667,6 +5694,13 @@ public class AutoExtensionModel : PageModel
dayliFee = result.ToMoney();
var da = command.DailySalaryUnAffected / 7.33;
dailySalaryAffected = hoursesPerDay * da;
var ba = baseYearUnAffected / 7.33;
baseYearAffected = hoursesPerDay * ba;
var fullDailysalar = dailySalaryAffected + baseYearAffected;
var test = fullDailysalar.ToMoney();
var HousingAllowonceNumberType = HousingAllowance.MoneyToDouble();
var HousingStep1 = HousingAllowonceNumberType / 30; // کمک هزینه خام به ازای روز
@@ -5945,7 +5979,11 @@ public class AutoExtensionModel : PageModel
weeklyTime = weeklyTime,
RotatingResultList = rotatingResultList,
RotatingStatus = rotatingFaResult,
Basic = basic
Basic = basic,
BaseYearAffected = baseYearAffected,
BaseYearUnAffected = baseYearUnAffected,
DailySalaryAffected = dailySalaryAffected,
};

View File

@@ -568,6 +568,10 @@ $('#startProcess').on('click',
createContractModel.EmployerId = employerId;
createContractModel.NormalDailyWage = $(this).find("input[name=normalDailyWage]").val();
createContractModel.DailySalaryUnAffectedStr = $(this).find("input[name=dailySalaryUnAffectedStr]").val();
createContarctList.push(createContractModel);