ria/app/Views/monthlypayinputs.php

1017 lines
45 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;
}
.fht-table th:nth-child(1),
.fht-table th:nth-child(2),
.fht-table th:nth-child(3)
{
position: sticky;
left: 0;
top: 0;
background-color: #00a65a;
z-index: 7!important;
border-right: 2px solid #ddd;
color: #ffffff;
}
.fht-table td:nth-child(1),
.fht-table td:nth-child(2),
.fht-table td:nth-child(3)
{
position: sticky;
left: 0;
background-color: #ffffff;
z-index: 2;
border-right: 2px solid #ddd;
color: #0e0b0b;
}
.table-responsive {
overflow-y: auto;
max-height: 450px;
}
.fht-table thead th {
position: sticky;
top: 0;
z-index: 5!important;
}
</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 class="col-3 ">
<i id="exportButton" class="fas fa-download download-icon" style="font-size: x-large; margin-top:12px;" title="Export Excel"></i>
</div>
<div class="col-6 text-right" id="savebutton">
<input type="button" id="submit" value="Save" class="btn btn-success" onclick="getAllData();" style="margin-top:0px;">
</div>
</div>
<div class="table-responsive" style="overflow-x:scroll;">
<table id="monthlylistings" class="table table-bordered table-hover fht-table"
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="background-color: #d8d8ea;" <?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;
} 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);
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></th> <th></th> <th></th> <th></th> <th></th>
<th></th> <th></th> <th></th> <th></th> <th></th>
<th></th> <th></th> <th></th> <th></th> <th></th>
<th></th> <th></th> <th></th> <th></th> <th></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>&nbsp;</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 src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
// function exportTableToExcel(tableId, filename = 'monthlyPay.xlsx') {
// var table = document.getElementById(tableId);
// var rows = table.rows;
// var csv = [];
// // Loop through table rows and cells
// for (var i = 0; i < rows.length; i++) {
// var row = rows[i];
// var cols = row.querySelectorAll('td, th');
// var rowData = [];
// // Loop through each cell in the row
// for (var j = 0; j < cols.length; j++) {
// rowData.push(cols[j].innerText);
// }
// csv.push(rowData.join('\t'));
// }
// // Create a Blob from the CSV data
// var blob = new Blob([csv.join('\n')], { type: 'application/vnd.ms-excel' });
// var link = document.createElement('a');
// link.href = URL.createObjectURL(blob);
// link.download = filename;
// // Trigger download
// link.click();
// }
function exportTableToExcel(tableId, filename = 'monthlypay.xlsx') {
var table = document.getElementById(tableId);
var rows = table.rows;
var data = [];
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
var cols = row.querySelectorAll('td, th');
var rowData = [];
for (var j = 0; j < cols.length; j++) {
rowData.push(cols[j].innerText);
}
data.push(rowData);
}
var wb = XLSX.utils.book_new();
var ws = XLSX.utils.aoa_to_sheet(data);
XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');
XLSX.writeFile(wb, filename);
}
// Add click event listener to the export button
document.getElementById('exportButton').addEventListener('click', function () {
exportTableToExcel('monthlylistings');
});
});
$('#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;
if (isNaN(currentDaySalary)) { currentDaySalary = 0; }
var currentDayHra = dayHra * dayWorkPaid;
if (isNaN(currentDayHra)) { currentDayHra = 0; }
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);
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>