911 lines
41 KiB
PHP
Executable File
911 lines
41 KiB
PHP
Executable File
|
|
<style>
|
|
.celda_encabezado_general {
|
|
background-color: #00a65a;
|
|
border: 1px solid #ccc;
|
|
color: #ffffff;
|
|
font-weight: bold;
|
|
padding: 2px 4px;
|
|
text-align: center;
|
|
}
|
|
</style>
|
|
<?php
|
|
|
|
$sample = $fresh;
|
|
|
|
$ex = explode('-', $dropdownvalue);
|
|
|
|
if (strlen($ex[0]) == '2') {
|
|
if ($ex[0] < 10) {
|
|
$ex1 = substr($ex[0], 1);
|
|
} else {
|
|
$ex1 = $ex[0];
|
|
}
|
|
} else {
|
|
$ex1 = $ex[0];
|
|
}
|
|
|
|
$drop = $ex1 . '-' . $ex[1];
|
|
|
|
?>
|
|
|
|
|
|
|
|
<script>
|
|
$('html').bind('keypress', function(e) {
|
|
//alert('Key Pressed');
|
|
if (e.keyCode == 13) {
|
|
return false;
|
|
}
|
|
});
|
|
</script>
|
|
|
|
<style type="text/css">
|
|
.num {
|
|
text-align: right;
|
|
}
|
|
</style>
|
|
<div class="content-wrapper">
|
|
<!-- Content Header (Page header) -->
|
|
<section class="content-header">
|
|
<h1>
|
|
<center></center>
|
|
</h1>
|
|
</section>
|
|
<section class="content">
|
|
|
|
<input type="hidden" id="paydate" value="<?php echo $drop; ?>" />
|
|
<div class="row">
|
|
<div class="col-xs-12">
|
|
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
|
|
|
|
<div class="content-page">
|
|
<div class="content">
|
|
<!-- Start Content-->
|
|
<div class="container-fluid">
|
|
<!-- start page title -->
|
|
<div>
|
|
<div class="row">
|
|
<div class="col-6">
|
|
<div class="page-title-box page-title-box-alt">
|
|
<div class="page-title-right">
|
|
<ol class="breadcrumb m-0">
|
|
<li class="breadcrumb-item"><a href="javascript: void(0);">HR</a></li>
|
|
<li class="breadcrumb-item"><a href="javascript: void(0);">PaySlip</a></li>
|
|
<li class="breadcrumb-item active">
|
|
<h4 class="page-title">Monthly Pay Information</h4>
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-12">
|
|
<div class="card">
|
|
<div class="card-body">
|
|
|
|
<div class="box">
|
|
<div class="box-header">
|
|
<!--<center><h3 class="box-title">-->
|
|
<div class="box-tools">
|
|
|
|
<!-- <p><b>
|
|
The <span style="background-color:#ff4d4d;">Red</span> highlighted Employee have loan
|
|
to pay. Put <span style="background-color:#66ff33;">'NA'</span> for Skip Current
|
|
Month Loan Due.
|
|
</b></p> -->
|
|
|
|
</div>
|
|
<!--</h3></center>-->
|
|
|
|
</div><!-- /.box-header -->
|
|
<?php
|
|
|
|
$year = date("Y");
|
|
$current = date("m-Y");
|
|
|
|
//echo $current;
|
|
$month = date("m");
|
|
if ($month < 10) {
|
|
$month = substr($month, 1);
|
|
}
|
|
$currentselection = $month . "-" . $year;
|
|
$options = array();
|
|
$monthsoptions = array("1" => "Jan", "2" => "Feb", "3" => "Mar", "4" => "Apr", "5" => "May", "6" => "June", "7" => "July", "8" => "Aug", "9" => "Sep", "10" => "Oct", "11" => "Nov", "12" => "Dec");
|
|
|
|
$currentmontharray = array(array($month . "-" . $year => $monthsoptions[$month] . "-" . $year));
|
|
// For find out Next and previous month and year from current year
|
|
$aftersix = array();
|
|
for ($i = 0; $i < 3; $i++) {
|
|
|
|
$month++;
|
|
if ($month > 12) {
|
|
$month = 1;
|
|
$year = $year + 1;
|
|
}
|
|
|
|
$aftersix[] = array($month . "-" . $year => $monthsoptions[$month] . "-" . $year);
|
|
}
|
|
|
|
$year = date("Y");
|
|
$month = date("m");
|
|
|
|
$beforesix = array();
|
|
for ($i = 3; $i > 0; $i--) {
|
|
|
|
$month--;
|
|
if ($month < 1) {
|
|
$month = 12;
|
|
$year = $year - 1;
|
|
}
|
|
|
|
$beforesix[] = array($month . "-" . $year => $monthsoptions[$month] . "-" . $year);
|
|
}
|
|
|
|
$beforesix = array_reverse($beforesix);
|
|
|
|
|
|
$options = array_merge($options, $beforesix);
|
|
//echo count($options);
|
|
|
|
$options = array_merge($options, $currentmontharray);
|
|
$options = array_merge($options, $aftersix);
|
|
|
|
$ot = array();
|
|
foreach ($options as $o) {
|
|
|
|
foreach ($o as $key => $value) {
|
|
|
|
$ot[$key] = $value;
|
|
}
|
|
}
|
|
?>
|
|
<div class="box-body">
|
|
<div class="row" style="margin-bottom:10px">
|
|
<div class="col-md-3">
|
|
<form id="formid">
|
|
<?php echo form_dropdown('monthyear', $ot, set_value('monthyear', $currentselection), 'id="monthyear"', 'class="form-control select2'); ?>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div style="overflow-x:scroll;">
|
|
<table id="monthlylistings" class="table table-bordered table-hover"
|
|
style="background-color:#fff;font-size:12px;white-space: nowrap;">
|
|
<thead style="background-color: #ddd;">
|
|
<tr>
|
|
|
|
<th class="celda_encabezado_general">S.No</th>
|
|
<th class="celda_encabezado_general">Emp ID </th>
|
|
<th class="celda_encabezado_general">Employee </th>
|
|
<th class="celda_encabezado_general">DOJ</th>
|
|
<th class="celda_encabezado_general">Designation</th>
|
|
<th class="celda_encabezado_general">Total Days</th>
|
|
<th class="celda_encabezado_general">Days Worked</th>
|
|
<th class="celda_encabezado_general">LOP Days</th>
|
|
<th class="celda_encabezado_general">Paid Leave</th>
|
|
<th class="celda_encabezado_general">OT Hrs</th>
|
|
<th class="celda_encabezado_general">Total Salary</th>
|
|
<th class="celda_encabezado_general">Per Day Salary</th>
|
|
<th class="celda_encabezado_general">Worked Salary</th>
|
|
<th class="celda_encabezado_general">Per hr Salary</th>
|
|
<th class="celda_encabezado_general">Earned Salary</th>
|
|
<th class="celda_encabezado_general">Basic Salary(0.7)</th>
|
|
<th class="celda_encabezado_general">HRA Salary(0.3)</th>
|
|
<th class="celda_encabezado_general">Gross Salary</th>
|
|
<th class="celda_encabezado_general">ESI</th>
|
|
<th class="celda_encabezado_general">PF</th>
|
|
<th class="celda_encabezado_general">Over Time</th>
|
|
<th class="celda_encabezado_general">Auto Loan Due ₹</th>
|
|
<th class="celda_encabezado_general">TDS Deductions in ₹</th>
|
|
<th class="celda_encabezado_general">Festival Bonus in ₹</th>
|
|
<th class="celda_encabezado_general">Estimate in ₹</th>
|
|
|
|
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
|
|
<?php
|
|
$index = 0;
|
|
$testarray = array();
|
|
|
|
if (!empty($sample)) {
|
|
|
|
|
|
$index = 0;
|
|
$i = 0;
|
|
foreach ($sample as $i => $record) {
|
|
|
|
$index++;
|
|
if (in_array($record->EmpID, $testarray)) {
|
|
$index--;
|
|
} else {
|
|
array_push($testarray, $record->EmpID);
|
|
?>
|
|
|
|
<tr class="lastvalue">
|
|
<td style="text-align:right;" style="background-color:blue;">
|
|
<?php echo $index; ?></td>
|
|
<td style="max-width:80px"><?php echo $record->EmpID; ?></td>
|
|
<td <?php if($record->is_management_team == 1){ ?> style="max-width:150px;background-color: #d8d8ea;" <?php }else{ ?> style="max-width:150px;" <?php } ?> >
|
|
<?php echo $record->FirstName; ?>
|
|
</td>
|
|
<td style="max-width: 100px;">
|
|
<?php
|
|
$date = DateTime::createFromFormat('Y-m-d H:i:s', $record->DateofJoining);
|
|
$newDateFormat = $date->format('d-m-Y');
|
|
echo $newDateFormat;
|
|
?>
|
|
</td>
|
|
|
|
<td style="max-width: 150px;overflow: hidden;text-overflow: ellipsis;">
|
|
<?php echo $record->Designation; ?>
|
|
</td>
|
|
|
|
<td style="max-width:80px;text-align:center;"><?php echo $record->NoofDays; ?></td>
|
|
|
|
<td id="dayWork<?php echo $index ?>"
|
|
<?php if (empty($record->Key)) {
|
|
echo "contenteditable='false';";
|
|
} ?>
|
|
<?php if (!empty($record->Key)) { ?> title="Payslip Calculated"
|
|
style="text-align:center;color:blue;"
|
|
<?php } else { ?>style="text-align:center;" <?php } ?>>
|
|
<?php if (!empty($record->Days_worked)) {
|
|
echo $record->Days_worked + $record->sunday_count;
|
|
} else {
|
|
echo "0.00";
|
|
} ?>
|
|
</td>
|
|
|
|
<td id="lopDay<?php echo $index ?>"
|
|
<?php if (empty($record->Key)) {
|
|
echo "contenteditable='false';";
|
|
} ?>
|
|
<?php if (!empty($record->Key)) { ?> title="Payslip Calculated"
|
|
style="text-align:center;color:blue;"
|
|
<?php } else { ?>style="text-align:center;" <?php } ?>>
|
|
<?php if (!empty($record->LOP_Days)) {
|
|
echo $record->LOP_Days;
|
|
} else {
|
|
echo "0.00";
|
|
} ?>
|
|
</td>
|
|
|
|
<td id="paidLeave<?php echo $index ?>"
|
|
<?php if (empty($record->Key)) {
|
|
echo "contenteditable='false';";
|
|
} ?>
|
|
<?php if (!empty($record->Key)) { ?> title="Payslip Calculated"
|
|
style="text-align:center;color:blue;"
|
|
<?php } else { ?>style="text-align:center;" <?php } ?>>
|
|
<?php if (!empty($record->Paid_leave)) {
|
|
echo number_format($record->Paid_leave, 2, '.', '');
|
|
} else {
|
|
echo number_format(0.00, 2, '.', '');
|
|
} ?>
|
|
</td>
|
|
|
|
<td id="otHrsWork<?php echo $index ?>"
|
|
<?php if (empty($record->Key)) {
|
|
echo "contenteditable='false';";
|
|
} ?>
|
|
<?php if (!empty($record->Key)) { ?> title="Payslip Calculated"
|
|
style="text-align:center;color:blue;"
|
|
<?php } else { ?>style="text-align:center;" <?php } ?>>
|
|
<?php if (!empty($record->OT_Hrs_Worked)) {
|
|
echo $record->OT_Hrs_Worked;
|
|
} else {
|
|
echo number_format(0.00, 2, '.', '');
|
|
} ?>
|
|
</td>
|
|
|
|
<td style="max-width:80px;text-align:right;"><?php echo $record->TotalSalary; ?></td>
|
|
|
|
<td style="max-width:80px;text-align:right;">
|
|
<?php $perDaySalary = $record->TotalSalary / $record->NoofDays;
|
|
echo number_format($perDaySalary, 2, '.', ''); ?>
|
|
</td>
|
|
|
|
<td style="max-width:80px;text-align:right;">
|
|
<?php $workedSalary = $perDaySalary * ($record->Days_worked + $record->sunday_count);
|
|
echo number_format($workedSalary, 2, '.', ''); ?>
|
|
</td>
|
|
|
|
<td style="max-width:80px;text-align:right;">
|
|
<?php $perHrSalary = $perDaySalary / 8;
|
|
echo number_format($perHrSalary, 2); ?>
|
|
</td>
|
|
|
|
<td style="max-width:80px;text-align:right;"><?php echo number_format($workedSalary, 2, '.', ''); ?></td>
|
|
|
|
<td style="max-width:80px;text-align:right;">
|
|
<?php $basicWorked = $workedSalary * 70 / 100;
|
|
echo number_format($basicWorked, 2, '.', ''); ?>
|
|
</td>
|
|
|
|
<td style="max-width:80px;text-align:right;">
|
|
<?php $hraWorked = $workedSalary * 30 / 100;
|
|
echo number_format($hraWorked, 2, '.', ''); ?>
|
|
</td>
|
|
|
|
<td style="max-width:80px;text-align:right;">
|
|
<?php echo number_format($basicWorked + $hraWorked, 2, '.', ''); ?>
|
|
</td>
|
|
|
|
<td id="esiAmt<?php echo $index ?>" style="max-width:80px;text-align:right;"> <?php echo $esi[$i]; ?> </td>
|
|
|
|
<td id="pfAmt<?php echo $index ?>" style="max-width:80px;text-align:right;"> <?php echo $pf[$i]; ?> </td>
|
|
|
|
<td style="max-width:80px;text-align:right;"> <?php echo $over_time[$i]; ?> </td>
|
|
|
|
<td id="monthDue<?php echo $index ?>" onkeypress="return isNumber(event);" onkeyup="changeInput(event);"
|
|
<?php if (empty($record->Key)) { echo "contenteditable='true';"; } ?>
|
|
<?php if (!empty($record->Key)) { ?> title="Payslip Calculated"
|
|
style="text-align:right;color:blue;"
|
|
<?php } else { ?>style="text-align:right;" <?php } ?>>
|
|
|
|
<?php if (!empty($record->Monthly_Due)) {
|
|
echo $record->Monthly_Due;
|
|
$totalmonthloan[] = $record->Monthly_Due;
|
|
} else {
|
|
echo number_format(0.00, 2, '.', '');
|
|
} ?>
|
|
</td>
|
|
|
|
|
|
<td id="otherDet<?php echo $index ?>" onkeypress="return isNumber(event);" onkeyup="changeInput(event);"
|
|
<?php if (empty($record->Key)) {
|
|
echo "contenteditable='true';";
|
|
} ?>
|
|
<?php if (!empty($record->Key)) { ?> title="Payslip Calculated"
|
|
style="text-align:right;color:blue;"
|
|
<?php } else { ?>style="text-align:right;" <?php } ?>>
|
|
|
|
<?php if (!empty($record->Other_Deductions)) {
|
|
echo $record->Other_Deductions;
|
|
$totalotherDet[] = $record->Other_Deductions;
|
|
} else {
|
|
echo number_format(0.00, 2, '.', '');
|
|
} ?>
|
|
</td>
|
|
|
|
<?php $totalotherDet[] = isset($Other_Deductions) ? $Other_Deductions : []; ?>
|
|
|
|
<td id="Festival<?php echo $index ?>" onkeypress="return isNumber(event);"
|
|
onkeyup="changeInput(event);"
|
|
<?php if (empty($record->Key)) {
|
|
echo "contenteditable='true';";
|
|
} ?>
|
|
<?php if (!empty($record->Key)) { ?> title="Payslip Calculated"
|
|
style="text-align:right;color:blue;"
|
|
<?php } else { ?>style="text-align:right;" <?php } ?>>
|
|
<?php if (!empty($record->Festival_Bonus)) {
|
|
echo $record->Festival_Bonus;
|
|
$totalfestival[] = $record->Festival_Bonus;
|
|
} else {
|
|
echo number_format(0.00, 2, '.', '');;
|
|
} ?>
|
|
</td>
|
|
|
|
<?php $totalfestival[] = isset($Festival_Bonus) ? $Festival_Bonus : []; ?>
|
|
|
|
<td id="empsal<?php echo $index ?>"
|
|
<?php if (empty($record->Key)) {
|
|
echo "contenteditable='false';";
|
|
} ?>
|
|
<?php if (!empty($record->Key)) { ?> title="Payslip Calculated"
|
|
style="text-align:right;color:blue;" <?php }else{ ?>style="text-align:right;" <?php } ?>>
|
|
<?php if (!empty($record->Estimate)) {
|
|
echo $record->Estimate;
|
|
$estTotal[] = $record->Estimate;
|
|
} else {
|
|
echo $empSalary[$i];
|
|
$estTotal[] = $empSalary[$i];
|
|
}
|
|
?>
|
|
</td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<input type="hidden" id="sunday<?php echo $index ?>"
|
|
value="<?php echo $record->sunday_count ?>">
|
|
<input type="hidden" id="is_management_team<?php echo $index ?>"
|
|
value="<?php echo $record->is_management_team ?>">
|
|
<input type="hidden" id="esi_applicable<?php echo $index ?>"
|
|
value="<?php echo $record->esi_applicable ?>">
|
|
<input type="hidden" id="pf_applicable<?php echo $index ?>"
|
|
value="<?php echo $record->pf_applicable ?>">
|
|
<input type="hidden" id="bPay<?php echo $index ?>"
|
|
value="<?php echo $record->Basic_Pay ?>">
|
|
<input type="hidden" id="hraRate<?php echo $index ?>"
|
|
value="<?php echo $record->HRA_Rate ?>">
|
|
<input type="hidden" id="allow<?php echo $index ?>"
|
|
value="<?php echo $record->Allowances ?>">
|
|
<input type="hidden" id="fAllow<?php echo $index ?>"
|
|
value="<?php echo $record->Food_Allowances ?>">
|
|
<input type="hidden" id="pfRate<?php echo $index ?>"
|
|
value="<?php echo $record->PF_Rate ?>">
|
|
<input type="hidden" id="eslRate<?php echo $index ?>"
|
|
value="<?php echo $record->ESI_Rate ?>">
|
|
<input type="hidden" id="hraAmt<?php echo $index ?>"
|
|
value="<?php echo $record->HRA_Amount ?>">
|
|
|
|
<input type="hidden" id="loanamt<?php echo $index ?>"
|
|
value="<?php echo isset($record->Loan_Amount) ? $record->Loan_Amount : 0 ?>">
|
|
<input type="hidden" id="paidamt<?php echo $index ?>"
|
|
value="<?php echo $record->Paid_Amount ?>">
|
|
|
|
<input type="hidden" id="duedate<?php echo $index ?>"
|
|
value="<?php echo $record->DueDate ?>">
|
|
|
|
|
|
|
|
|
|
|
|
</tr>
|
|
|
|
<?php
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
?>
|
|
</tbody>
|
|
|
|
<tfoot>
|
|
<tr>
|
|
<th colspan="20"></th>
|
|
<th>Total</th>
|
|
<th id="monthloan" style="text-align:right;">
|
|
<?php echo isset($totalmonthloan) ? number_format(array_sum($totalmonthloan), 2) : ''; ?>
|
|
</th>
|
|
<th id="other" style="text-align:right;">
|
|
<?php echo isset($totalotherDet) ? number_format(array_sum($totalotherDet), 2) : ''; ?>
|
|
</th>
|
|
<th id="fest" style="text-align:right;">
|
|
<?php echo isset($totalfestival) ? number_format(array_sum($totalfestival), 2) : ''; ?>
|
|
</th>
|
|
<th id="estsal" style="text-align:right;">
|
|
<?php echo isset($estTotal) ? number_format(array_sum($estTotal), 2) : ''; ?>
|
|
</th>
|
|
</tr>
|
|
</tfoot>
|
|
</table>
|
|
</div>
|
|
<p> </p>
|
|
<div class="row">
|
|
<div class="col-md-12 text-right" id="savebutton">
|
|
<input type="button" id="submit" value="Save" class="btn btn-success"
|
|
onclick="getAllData();">
|
|
</div>
|
|
</div>
|
|
</div><!-- /.box-body -->
|
|
<!-- <div class="box-footer clearfix">
|
|
|
|
</div> -->
|
|
</div><!-- /.box -->
|
|
</div> <!-- end card body-->
|
|
</div> <!-- end card -->
|
|
</div><!-- end col-->
|
|
</div>
|
|
</div>
|
|
</div> <!-- container -->
|
|
</div> <!-- content -->
|
|
</div>
|
|
|
|
|
|
|
|
<script type="text/javascript" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
|
|
<script type="text/javascript">
|
|
|
|
$('#monthyear').attr('class', 'form-control');
|
|
|
|
var estTotal = [];
|
|
|
|
var totalotherDet = [];
|
|
var totalmonthloan = [];
|
|
|
|
|
|
// $(function() {
|
|
// var i = 0;
|
|
// $('tr.lastvalue').each(function() {
|
|
// i = i + 1;
|
|
// estTotal[i] = $(this).find('td').eq(11).text();
|
|
// });
|
|
|
|
|
|
|
|
|
|
// var i = 0;
|
|
// $('tr.lastvalue').each(function() {
|
|
// i = i + 1;
|
|
// totalotherDet[i] = $(this).find('td').eq(9).text();
|
|
// });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// var i = 0;
|
|
// $('tr.lastvalue').each(function() {
|
|
// i = i + 1;
|
|
// totalmonthloan[i] = $(this).find('td').eq(7).text();
|
|
// });
|
|
|
|
|
|
|
|
// t.on('order.dt search.dt', function() {
|
|
// t.column(0, {
|
|
// search: 'applied',
|
|
// order: 'applied'
|
|
// }).nodes().each(function(cell, i) {
|
|
// cell.innerHTML = i + 1;
|
|
// });
|
|
// }).draw();
|
|
|
|
// var s = "<?php echo $drop; ?>";
|
|
// $('#monthyear').val(s);
|
|
|
|
// savebuttonvalidation();
|
|
|
|
// });
|
|
|
|
function isNumber(evt) {
|
|
|
|
//alert("hi");
|
|
var iKeyCode = (evt.which) ? evt.which : evt.keyCode
|
|
if (iKeyCode != 46 && iKeyCode > 31 && (iKeyCode < 48 || iKeyCode > 57)) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
function isCheckKeyCode(event) {
|
|
|
|
var iKeyCode = (event.which) ? event.which : event.keyCode
|
|
if (iKeyCode != 46 && iKeyCode > 31 && (iKeyCode < 48 || iKeyCode > 57) && (iKeyCode == 78 && iKeyCode == 65)) {
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
function getAllData() {
|
|
|
|
var alldata = $("#monthlylistings").tableToJSON();
|
|
alldata = JSON.stringify(alldata)
|
|
// Parse the JSON string back into an array of objects
|
|
alldata = JSON.parse(alldata);
|
|
|
|
// Filter out objects where "Emp ID" is empty
|
|
alldata = alldata.filter(function(item) {
|
|
return item["Emp ID"].trim() !== "";
|
|
});
|
|
|
|
// Convert the filtered array back to a JSON string if needed
|
|
alldata = JSON.stringify(alldata);
|
|
var month = $('#monthyear').val();
|
|
|
|
$('#loader').show();
|
|
$.ajax({
|
|
data: {
|
|
param1: alldata,
|
|
param2: month
|
|
},
|
|
//dataType:"json",
|
|
type: "POST",
|
|
url: "<?php echo base_url() ?>payslip/saveMonthlyData",
|
|
success: function(data) {
|
|
|
|
if (data) {
|
|
$('#loader').hide();
|
|
alert(data);
|
|
|
|
}
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
$("#monthyear").change(function() {
|
|
|
|
$s = $('#monthyear').val();
|
|
//echo $dropdownvalue;
|
|
//$('#monthyear').attr('selected',true);
|
|
//alert($s);
|
|
|
|
$("#formid").attr("method", "post");
|
|
//alert($s);
|
|
$("#formid").attr("action", "<?php echo base_url() ?>payslip/changeMonth");
|
|
|
|
$('#formid').submit();
|
|
|
|
|
|
});
|
|
|
|
function savebuttonvalidation() {
|
|
var curselection = $("#monthyear").val();
|
|
var currentdate = new Date();
|
|
var currentmonth = currentdate.getMonth();
|
|
var currentyear = currentdate.getFullYear();
|
|
currentmonth++;
|
|
var res = curselection.split("-");
|
|
var selmonth = res[0];
|
|
var selyear = res[1];
|
|
var savebuttonstatus = currentmonth - selmonth;
|
|
var year = currentyear - selyear;
|
|
if (savebuttonstatus >= 2) {
|
|
if (year == 1) {
|
|
$("#savebutton").hide();
|
|
} else {
|
|
$("#savebutton").hide();
|
|
}
|
|
} else if (savebuttonstatus < 0) {
|
|
|
|
if (year == 1) {
|
|
$("#savebutton").show();
|
|
} else if (year == 0) {
|
|
$("#savebutton").hide();
|
|
} else {
|
|
$("#savebutton").hide();
|
|
}
|
|
} else if (savebuttonstatus == 0 && year == 0) {
|
|
$("#savebutton").hide();
|
|
} else if (savebuttonstatus == 1) {
|
|
if (year == 0 || year == 1) {
|
|
$("#savebutton").show();
|
|
} else {
|
|
$("#savebutton").show();
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
var totalfestival = [];
|
|
var totalempSal = [];
|
|
var grandtotal = [];
|
|
|
|
function changeInput(event, k) {
|
|
var str = event.target.id;
|
|
var sno = str.substr(8);
|
|
var dayWorks = parseFloat(document.getElementById('dayWork' + sno).textContent);
|
|
var lopDay = parseFloat(document.getElementById('lopDay' + sno).textContent);
|
|
var paidLeave = parseFloat(document.getElementById('paidLeave' + sno).textContent);
|
|
var otHrsWork = parseFloat(document.getElementById('otHrsWork' + sno).textContent);
|
|
var monthDue = parseFloat(document.getElementById('monthDue' + sno).textContent);
|
|
var duedate = document.getElementById('duedate' + sno).value;
|
|
duedate = new Date(duedate);
|
|
var paydate = document.getElementById('paydate').value;
|
|
if (paydate.length == 6) {
|
|
paydate = '0' + paydate;
|
|
}
|
|
var pmonthonly = paydate.substring(0, 2);
|
|
var pyearonly = paydate.substring(3);
|
|
var pday = new Date(pyearonly, pmonthonly, 0).getDate();
|
|
var finalpaydate = pyearonly + '-' + pmonthonly + '-' + pday;
|
|
finalpaydate = new Date(finalpaydate);
|
|
var otherDet = parseFloat(document.getElementById('otherDet' + sno).textContent);
|
|
totalotherDet[sno] = otherDet;
|
|
var Festival = parseFloat(document.getElementById('Festival' + sno).textContent);
|
|
totalfestival[sno] = Festival;
|
|
var empsal = parseFloat(document.getElementById('empsal' + sno).textContent);
|
|
var bpay = parseFloat(document.getElementById('bPay' + sno).value);
|
|
var hraRate = parseFloat(document.getElementById('hraRate' + sno).value);
|
|
var allow = parseFloat(document.getElementById('allow' + sno).value);
|
|
var fAllow = parseFloat(document.getElementById('fAllow' + sno).value);
|
|
var pfRate = parseFloat(document.getElementById('pfRate' + sno).value);
|
|
var eslRate = parseFloat(document.getElementById('eslRate' + sno).value);
|
|
var hraAmt = parseFloat(document.getElementById('hraAmt' + sno).value);
|
|
// var Balance_Amount =parseFloat(document.getElementById('Balance'+sno).value);
|
|
var loanamt = parseFloat(document.getElementById('loanamt' + sno).value);
|
|
var paidamt = parseFloat(document.getElementById('paidamt' + sno).value);
|
|
var sunday = parseFloat(document.getElementById('sunday' + sno).value);
|
|
var is_management_team = parseFloat(document.getElementById('is_management_team' + sno).value);
|
|
var esi_applicable = parseFloat(document.getElementById('esi_applicable' + sno).value);
|
|
var pf_applicable = parseFloat(document.getElementById('pf_applicable' + sno).value);
|
|
|
|
var pfAmtString = document.getElementById('pfAmt' + sno).textContent;
|
|
pfAmtString = pfAmtString.replace(/,/g, '');
|
|
var pfAmt = parseFloat(pfAmtString);
|
|
|
|
var esiAmtString = document.getElementById('esiAmt' + sno).textContent;
|
|
esiAmtString = esiAmtString.replace(/,/g, '');
|
|
var esiAmt = parseFloat(esiAmtString);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (is_management_team == 1) {
|
|
var dayWorkPaid = dayWorks + paidLeave + lopDay;
|
|
} else {
|
|
var dayWorkPaid = dayWorks + paidLeave;
|
|
}
|
|
|
|
|
|
var NoofDays = dayWorks + paidLeave + lopDay;
|
|
|
|
var Food_Allowances = fAllow * dayWorks;
|
|
|
|
|
|
var daySalary = bpay / NoofDays;
|
|
|
|
var dayHra = hraAmt / NoofDays;
|
|
|
|
var onehoursSalary = (daySalary + dayHra) / 8;
|
|
|
|
|
|
|
|
var totSalayOT = 0;
|
|
if (otHrsWork != 0) {
|
|
totSalayOT = otHrsWork * onehoursSalary;
|
|
} else {
|
|
totSalayOT = 0;
|
|
}
|
|
|
|
|
|
|
|
|
|
var currentDaySalary = daySalary * dayWorkPaid;
|
|
|
|
|
|
var currentDayHra = dayHra * dayWorkPaid;
|
|
|
|
|
|
|
|
|
|
var current_loan_amt = 0;
|
|
var autoLoan = parseFloat(monthDue);
|
|
|
|
var Balance_Amount = loanamt - paidamt;
|
|
|
|
if (autoLoan > Balance_Amount) {
|
|
if (duedate <= finalpaydate) {
|
|
current_loan_amt = Balance_Amount;
|
|
}
|
|
} else {
|
|
current_loan_amt = autoLoan;
|
|
}
|
|
|
|
|
|
if (parseFloat(Festival) == parseFloat(Festival)) {
|
|
|
|
var Festivals = parseFloat(Festival);
|
|
|
|
|
|
}
|
|
|
|
if (parseFloat(otherDet) == parseFloat(otherDet)) {
|
|
|
|
var otherDets = parseFloat(otherDet);
|
|
|
|
|
|
}
|
|
|
|
|
|
pfAmount = 0;
|
|
if (pf_applicable == 1) {
|
|
pfAmount = pfAmt;
|
|
} else {
|
|
pfAmount = 0;
|
|
}
|
|
|
|
esiAmount = 0;
|
|
if (esi_applicable == 1) {
|
|
esiAmount = esiAmt;
|
|
} else {
|
|
esiAmount = 0;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var empSalaryAdd = currentDaySalary + totSalayOT + currentDayHra + Festivals;
|
|
|
|
var empSalarySub = current_loan_amt + esiAmount + pfAmount + otherDets;
|
|
|
|
|
|
|
|
var empMonthSalary = empSalaryAdd - empSalarySub
|
|
|
|
var employeeSalary = Math.round(empMonthSalary);
|
|
|
|
//console.log( employeeSalary);
|
|
|
|
var cals = (employeeSalary).toFixed(0);
|
|
|
|
document.getElementById("empsal" + sno).innerHTML = cals;
|
|
|
|
|
|
// $.each(estTotal, function(i, value) {
|
|
// if (sno == i) {
|
|
// estTotal[i] = cals;
|
|
// }
|
|
// });
|
|
// $.each(totalotherDet, function(i, value) {
|
|
// if (sno == i) {
|
|
// totalotherDet[i] = otherDet;
|
|
// }
|
|
// });
|
|
// $.each(totalmonthloan, function(i, value) {
|
|
// if (sno == i) {
|
|
// totalmonthloan[i] = loanRecd;
|
|
// }
|
|
// });
|
|
|
|
|
|
calculategrandtotal();
|
|
|
|
}
|
|
|
|
function calculategrandtotal()
|
|
{
|
|
var AutoLoanDueIndex = 21;
|
|
var AutoLoanDue = 0;
|
|
$('#monthlylistings tbody tr').each(function() {
|
|
var value = $(this).find('td').eq(AutoLoanDueIndex).text();
|
|
AutoLoanDue += parseFloat(value) || 0;
|
|
});
|
|
$('#monthloan').text(AutoLoanDue);
|
|
|
|
var TDSDeductionsIndex = 22;
|
|
var TDSDeductions = 0;
|
|
$('#monthlylistings tbody tr').each(function() {
|
|
var value = $(this).find('td').eq(TDSDeductionsIndex).text();
|
|
TDSDeductions += parseFloat(value) || 0;
|
|
});
|
|
$('#other').text(TDSDeductions);
|
|
|
|
var FestivalBonusIndex = 23;
|
|
var FestivalBonus = 0;
|
|
$('#monthlylistings tbody tr').each(function() {
|
|
var value = $(this).find('td').eq(FestivalBonusIndex).text();
|
|
FestivalBonus += parseFloat(value) || 0;
|
|
});
|
|
$('#fest').text(FestivalBonus);
|
|
|
|
var EstimateIndex = 24;
|
|
var Estimate = 0;
|
|
$('#monthlylistings tbody tr').each(function() {
|
|
var value = $(this).find('td').eq(EstimateIndex).text();
|
|
Estimate += parseFloat(value) || 0;
|
|
});
|
|
$('#estsal').text(Estimate);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</script>
|