Completed DailYWage and BaseYear report For Contract
This commit is contained in:
@@ -0,0 +1,375 @@
|
||||
@using _0_Framework.Application
|
||||
@model CompanyManagment.App.Contracts.Contract.ContractDailyWageAndBaseYearReport
|
||||
|
||||
@{
|
||||
<style>
|
||||
.modal .modal-dialog .modal-content {
|
||||
width: 110% !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.trTable {
|
||||
background-color: cadetblue;
|
||||
color: aliceblue;
|
||||
border-radius: 5px;
|
||||
padding: 3px;
|
||||
margin: 3px;
|
||||
}
|
||||
|
||||
|
||||
.st {
|
||||
background: #cecece;
|
||||
border-radius: 8px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
box-sizing: border-box;
|
||||
direction: rtl;
|
||||
font-family: "IranSans", sans-serif;
|
||||
margin: 5px 0px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
|
||||
.st .header {
|
||||
background: #0d4c4c;
|
||||
color: #fff;
|
||||
padding: 10px 14px;
|
||||
text-align: center;
|
||||
font-weight: 700;
|
||||
border-radius: 8px 8px 0 0;
|
||||
}
|
||||
|
||||
|
||||
.st .trTable {
|
||||
padding: 4px 9px;
|
||||
margin: 0;
|
||||
display: block;
|
||||
margin: 3px 3px;
|
||||
}
|
||||
|
||||
|
||||
.st .trTable .content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
|
||||
.st .trTable.green {
|
||||
background: forestgreen;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.st .trTable.red {
|
||||
background: #d9534f;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.st .trTable.teal {
|
||||
background: #5fb0b0;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.st .trTable.orange {
|
||||
background: orangered;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.date {
|
||||
font-family: 'IranText' !important;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
</style>
|
||||
}
|
||||
|
||||
<div class="container" style="margin: 10px 0px">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-xs-12 col-sm-6 col-md-6">
|
||||
<div class="st">
|
||||
<div class="trTable" style="background-color: #727272">
|
||||
<div class="content" style="background-color: #727272">
|
||||
<div>نام پرسنل</div>
|
||||
<div>@Model.EmployeeName</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="col-xs-12 col-sm-6 col-md-6">
|
||||
<div class="st">
|
||||
<div class="trTable" style="background-color: #727272">
|
||||
<div class="content" style="background-color: #727272">
|
||||
<div>نام کارگاه</div>
|
||||
<div>@Model.WorkshopName</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@if (Model.OldComputeMethod)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 col-md-12">
|
||||
|
||||
<div class="st">
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="trTable" style="background-color: #fbddda">
|
||||
<div class="content" style="background-color: #fbddda">
|
||||
<div style="color:red">این قراداد با روش قدیم محاسبه مزد ایجاد شده است</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<button type="button" class="btn btn-warning btn-rounded waves-effect waves-light m-b-10" data-dismiss="modal">بستن فرم</button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
@if (Model.Contradiction)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 col-md-12">
|
||||
|
||||
<div class="st">
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="trTable" style="background-color: #fbddda">
|
||||
<div class="content" style="background-color: #fbddda">
|
||||
<div style="color:red">
|
||||
|
||||
<p>مقادیر محاسبه شده در این گزارش با مقادیر ذخیره شده در قراداد مغایرت دارد</p>
|
||||
<p>احتمالا مواردی مانند شروع بکار/ترک کار پرسنل تغییر کرده است</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-6 col-md-6">
|
||||
|
||||
<div class="st">
|
||||
|
||||
<!-- هدر -->
|
||||
<div class="header">محاسبه پایه سنوات</div>
|
||||
|
||||
@if (Model.BaseYearDataViewModel.BaseYearResult > 0)
|
||||
{
|
||||
@foreach (var item in Model.BaseYearDataViewModel.BaseYearDataList)
|
||||
{
|
||||
if (item.HasStartWork)
|
||||
{
|
||||
<div class="trTable green">
|
||||
<div class="content">
|
||||
<div class="date">@item.BaseYearPayDay</div>
|
||||
<div>شروع بکار</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
else if (item.HasLeftWork)
|
||||
{
|
||||
<div class="trTable red">
|
||||
<div class="content">
|
||||
<div class="date">@item.BaseYearPayDay</div>
|
||||
<div>ترک کار</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
if (item.BaseYearPayDay == "-")
|
||||
{
|
||||
<div class="trTable orange">
|
||||
<div class="content">
|
||||
<div>
|
||||
|
||||
<span class="date"> @item.BaseYearPayDayGr.ToFarsi()</span>
|
||||
<span>فقط ارتقاء</span>
|
||||
</div>
|
||||
<div class="date">@item.BaseYear.ToMoney()</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="trTable teal">
|
||||
<div class="content">
|
||||
<div class="date">@item.BaseYearPayDay</div>
|
||||
<div class="date">@item.BaseYear.ToMoney()</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="trTable">
|
||||
<div class="trTable teal">
|
||||
<div class="content">
|
||||
<div>پایه سنوات ندارد</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6 col-md-6">
|
||||
|
||||
<div class="st">
|
||||
|
||||
<!-- هدر -->
|
||||
<div class="header"> محاسبه مزد روزانه </div>
|
||||
|
||||
|
||||
@{
|
||||
if (@Model.DailyWageType == "UpgradedDailyWage")
|
||||
{
|
||||
<div class="trTable">
|
||||
<div class="content">
|
||||
<div>بازه ارتقاء</div>
|
||||
<div> ارتقاء مزد</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@foreach (var dailyWage in @Model.UpgradeManualDailyWageLists)
|
||||
{
|
||||
<div class="trTable">
|
||||
<div class="content date">
|
||||
<div>@dailyWage.StartEndDate</div>
|
||||
<div>@dailyWage.DailyWage</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
}
|
||||
else if (@Model.DailyWageType == "ManualDailyWage")
|
||||
{
|
||||
|
||||
<div class="trTable">
|
||||
<div class="content date">
|
||||
<div>مزد دلخواه</div>
|
||||
<div>@Model.DailySalaryUnAffected</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="trTable">
|
||||
<div class="content date">
|
||||
<div>مزد سالانه</div>
|
||||
<div>@Model.DailySalaryUnAffected</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-6 col-md-6">
|
||||
|
||||
<div class="st">
|
||||
|
||||
<!-- هدر -->
|
||||
<div class="header" style="background-color: #ff6100"> نتایج محاسبه پایه سنوات </div>
|
||||
<div class="trTable date" style="background-color: #727272">
|
||||
<div class="content" style="background-color: #727272">
|
||||
<div> بدون تاثیر ساعت کار</div>
|
||||
<div> @Model.BaseYearDataViewModel.BaseYearResult.ToMoney() </div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="trTable date" style="background-color: #727272">
|
||||
<div class="content" style="background-color: #727272">
|
||||
<div>متاثر از ساعت کار</div>
|
||||
<div> @Model.BaseYearAffected </div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-6 col-md-6">
|
||||
|
||||
<div class="st">
|
||||
|
||||
<!-- هدر -->
|
||||
<div class="header" style="background-color: #ff6100"> نتایج محاسبه مزد روزانه </div>
|
||||
|
||||
<div class="trTable" style="background-color: #727272">
|
||||
<div class="content" style="background-color: #727272">
|
||||
<div>بدون تاثیر ساعت کار</div>
|
||||
<div>@Model.DailySalaryUnAffected</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="trTable" style="background-color: #727272">
|
||||
<div class="content" style="background-color: #727272">
|
||||
<div>متاثر از ساعت کار</div>
|
||||
<div class="date"> @Model.DailySalaryAffected </div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-12 col-md-12">
|
||||
|
||||
<div class="st">
|
||||
|
||||
<!-- هدر -->
|
||||
<div class="header" style="background-color: #596059; padding: 3px"> دستمزد روزانه تجمیعی</div>
|
||||
|
||||
|
||||
<div class="trTable" style="background-color: #3d7373">
|
||||
<div class="content" style="background-color: #3d7373">
|
||||
<div>@Model.ContractDate</div>
|
||||
<div>@Model.DailyWage</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12">
|
||||
<button type="button" class="btn btn-warning btn-rounded waves-effect waves-light m-b-10" data-dismiss="modal">بستن فرم</button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
</div>
|
||||
@@ -47,6 +47,13 @@
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.dailyWageReportIcon {
|
||||
font-size: 20px !important;
|
||||
top: 2px !important;
|
||||
position: relative;
|
||||
padding :6px !important;
|
||||
}
|
||||
|
||||
.ionRad {
|
||||
border-radius: 8px !important;
|
||||
padding: 0px 7px 0px 7px !important;
|
||||
@@ -797,9 +804,13 @@
|
||||
<i class="ion-medkit ionSize"></i>
|
||||
</a>
|
||||
|
||||
<a permission="20121" class="btn btn-inverse pull-left m-rl-5 ionRad2 @(item.IsBlockCantracingParty=="true" ? "disabled":"")"
|
||||
<a permission="20121" class="btn btn-inverse pull-left m-rl-5 ionRad2 @(item.IsBlockCantracingParty=="true" ? "disabled":"")"
|
||||
href="#showmodal=@Url.Page("./Index", "CreatePaidLeave", new {employeeId = item.EmployeeId, workshopId = item.WorkshopIds})">
|
||||
<i class="ion-briefcase ionSize"></i>
|
||||
</a>
|
||||
<a permission="20121" class="btn btn-success pull-left m-rl-5 ionRad2 @(item.IsBlockCantracingParty=="true" ? "disabled":"")"
|
||||
style="background-color: #c630fa !important; border-color: #c630fa !important;" href="#showmodal=@Url.Page("./Index", "DailyWageAndBaseYearReport", new {contractId = item.Id})">
|
||||
<i class="ion-alert dailyWageReportIcon"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="flexible-div op-td mobile-view" style="justify-content: flex-end;">
|
||||
|
||||
@@ -135,6 +135,69 @@ public class IndexModel : PageModel
|
||||
employeeFullName = searchModel.EmployeeName;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// نحوه محاسبه پایه سنوات و ارتقاء مزد رو نمایش میده
|
||||
/// </summary>
|
||||
/// <param name="contractId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<IActionResult> OnGetDailyWageAndBaseYearReport(long contractId)
|
||||
{
|
||||
var res = new ContractDailyWageAndBaseYearReport();
|
||||
var contract = _contractApplication.GetDetails(contractId);
|
||||
var employeeName = _employeeApplication.GetDetails(contract.EmployeeId).EmployeeFullName;
|
||||
var workshopName = _workshopApplication.GetWorkshopInfo(contract.WorkshopIds).WorkshopFullName;
|
||||
var baseYearResult =await _yearlySalaryApplication.BaseYearComputeByContractId(contractId);
|
||||
|
||||
if (contract.DailySalaryUnAffected == 0 || string.IsNullOrWhiteSpace(contract.DailyWageType))
|
||||
{
|
||||
res = new ContractDailyWageAndBaseYearReport()
|
||||
{
|
||||
|
||||
EmployeeName = employeeName,
|
||||
WorkshopName = workshopName,
|
||||
Contradiction = false,
|
||||
OldComputeMethod = true,
|
||||
|
||||
|
||||
};
|
||||
|
||||
return Partial("DailyWageAndBaseYearReport", res);
|
||||
}
|
||||
|
||||
var dailyWageListResult = new List<UpgradeManualDailyWageList>();
|
||||
bool contradiction = false;
|
||||
if (contract.DailyWageType == "UpgradedDailyWage")
|
||||
{
|
||||
var upgradeDailyWageResult = _contractRepository.GetManualDailWageList(contract.WorkshopIds,
|
||||
contract.EmployeeId, contract.ContractStartGr).GetAwaiter().GetResult();
|
||||
dailyWageListResult = upgradeDailyWageResult.UpgradeManualDailyWageLists;
|
||||
|
||||
//اگر مغایرت داشت
|
||||
if (contract.DailySalaryUnAffected.ToMoney().MoneyToDouble() != upgradeDailyWageResult.DailyWage.ToMoney().MoneyToDouble()
|
||||
|| baseYearResult.BaseYearResult.ToMoney().MoneyToDouble() != contract.BaseYearUnAffected.ToMoney().MoneyToDouble())
|
||||
contradiction = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
res = new ContractDailyWageAndBaseYearReport()
|
||||
{
|
||||
BaseYearDataViewModel = baseYearResult,
|
||||
BaseYearAffected = contract.BaseYearAffected > 0 ? contract.BaseYearAffected.ToMoney() : "0",
|
||||
DailySalaryAffected = contract.DailySalaryAffected > 0 ? contract.DailySalaryAffected.ToMoney() : "0",
|
||||
DailySalaryUnAffected = contract.DailySalaryUnAffected > 0 ? contract.DailySalaryUnAffected.ToMoney() : "0",
|
||||
DailyWage = contract.DayliWage,
|
||||
ContractDate = $"تا تاریخ {contract.ContarctStart.FindeEndOfMonth()}",
|
||||
DailyWageType = contract.DailyWageType,
|
||||
UpgradeManualDailyWageLists = dailyWageListResult,
|
||||
EmployeeName = employeeName,
|
||||
WorkshopName = workshopName,
|
||||
Contradiction = contradiction,
|
||||
|
||||
};
|
||||
return Partial("DailyWageAndBaseYearReport", res);
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnGetPersonelMainList(string searchEmployee)
|
||||
{
|
||||
|
||||
@@ -724,12 +724,25 @@ 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;
|
||||
|
||||
switch (item.DailyWageType)
|
||||
{
|
||||
case "1": item.DailyWageType = "NormalDailyWage";
|
||||
break;
|
||||
case "2":
|
||||
item.DailyWageType = item.HasManualDailyWage == true ? "UpgradedDailyWage" : "NormalDailyWage";
|
||||
break;
|
||||
case "3":
|
||||
item.DailyWageType = "ManualDailyWage";
|
||||
break;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
var result =
|
||||
|
||||
@@ -573,6 +573,7 @@ $('#startProcess').on('click',
|
||||
|
||||
createContractModel.NormalDailyWage = $(this).find("input[name=normalDailyWage]").val();
|
||||
createContractModel.DailySalaryUnAffectedStr = $(this).find("input[name=dailySalaryUnAffectedStr]").val();
|
||||
createContractModel.DailyWageType = $(this).find("select[name=dailyWageType]").val();
|
||||
if (createContractModel.DailySalaryUnAffectedStr == "0") {
|
||||
$(this).find("input[name=dailySalaryUnAffectedStr]").addClass("erroreManual");
|
||||
startCreate = false;
|
||||
|
||||
Reference in New Issue
Block a user