issues fixes

This commit is contained in:
VE10-Sanjeev 2025-03-28 03:11:33 +00:00
parent 29c77a5376
commit b5ee1b5eb1
11 changed files with 414 additions and 48 deletions

View File

@ -124,6 +124,7 @@ $routes->get('employeedetails/ViewEmployee', 'Employeedetails::ViewEmployee');
$routes->get('employeedetails/downloadEmployeeDetails', 'Employeedetails::downloadEmployeeDetails');
$routes->post('employeedetails/UpdateEmployee', 'Employeedetails::UpdateEmployee');
$routes->get('exportemployee', 'Employeedetails::exportemployee');
$routes->post('employeeHistory', 'Employeedetails::employeeHistory');
$routes->post('employeeEmailExist', 'Employeedetails::CheckEmail');
@ -199,6 +200,7 @@ $routes->post('monthlypay/deletePublicHoliday', 'Monthlypay::deletePublicHoliday
$routes->get('leaveApplicationForm', 'Monthlypay::leaveApplicationForm');
$routes->post('fetchLeaveApplicationForm', 'Monthlypay::fetchLeaveApplicationForm');
$routes->get('deleteLeaveApplicationForm', 'Monthlypay::deleteLeaveApplicationForm');
$routes->match(['GET', 'POST'], 'leaveApplicationPDF/(:any)', 'Monthlypay::leaveApplicationPDF/$1');
$routes->match(['GET', 'POST'], 'overTimeDetails', 'Monthlypay::overTimeDetails');
$routes->get('emppaydate/addemppaydate', 'Emppaydate::addemppaydate');

View File

@ -64,6 +64,12 @@ class Employeedetails extends BaseController
$this->loadViews("employeeListing", $this->global, $data, NULL);
}
function employeeHistory()
{
$Emp = $this->request->getPost('emp');
$result = $this->employeedetails_model->employeeHistory($Emp);
return $this->response->setJSON($result);
}
/*
Validation for Gender status Dropdown
*/
@ -757,7 +763,7 @@ class Employeedetails extends BaseController
$ValidTill = $this->request->getPost('ValidTill');
$addinfo = $this->request->getPost('addinfo');
$driverlicense = $this->request->getPost('driverlicense');
$reason = $this->request->getPost('reason');
// dd($driverlicense);
@ -851,7 +857,8 @@ class Employeedetails extends BaseController
'is_driver' => $is_driver,
'esi_applicable' => $esi_applicable,
'pf_applicable' => $pf_applicable,
'work_location' => $work_location
'work_location' => $work_location,
'reason' => $reason
);
//print_r($Employee);die();
$result = $this->employeedetails_model->UpdateEmployee($Employee, $EmpId);

View File

@ -990,6 +990,22 @@ class Monthlypay extends BaseController
}
public function leaveApplicationPDF($leave_application_id){
$data['leave_info'] = $this->monthlypay_model->getheringleaveApplicationForm($leave_application_id);
$data['company_info'] = $this->monthlypay_model->getCompanyInformation();
$html = view('leaveApplicationPDF', $data);
// echo $html;die;
$mpdf = new Mpdf();
$mpdf->WriteHTML($html);
$fName = $data['leave_info'][0]['emp_id'].'-LeaveApplicationForm.pdf';
return $mpdf->Output($fName, "D");
}
public function overTimeDetails()
{
$current = $this->request->getPost('monthyear') ? $this->request->getPost('monthyear') :date("m-Y");

View File

@ -27,6 +27,18 @@ class Employeedetails_model extends Model
return $result;
}
public function employeeHistory($emp)
{
$builder = $this->db->table('t_employee_history as h')
->select('h.old_value,h.new_value,h.column_name,DATE_FORMAT(h.created_at, "%d-%m-%Y") AS indian_date, DATE_FORMAT(h.created_at, "%h:%i:%s %p") AS indian_time, CONCAT_WS(" ", ed.FirstName, ed.LastName) AS updater_name')
->join('tbl_users as u', 'u.userId = h.updated_by', 'left')
->join('t_employee_details as ed', 'ed on u.EmpID = ed.EmpID', 'left')
->where('h.empcode ', $emp)
->orderBy('h.created_at', 'asc');
$query = $builder->get();
$result = $query->getResult();
return $result;
}
function getUserRoles()
{

View File

@ -518,19 +518,23 @@ where Month_Year = ? and att.EmpID in (select EmpID from t_attendance)";
$query = $this->db->query($sql);
return $query->getResult();
}
public function getheringleaveApplicationForm(){
$sql = "select leavetable.* ,Dep.DepartmentName as department,Emp.Designation as designation,
CONCAT_WS(' ', Emp.FirstName, Emp.LastName) AS employeeFullName ,
CONCAT_WS(' ', Emp2.FirstName, Emp2.LastName) AS creatorFullName
from t_employee_leave_application_form as leavetable
left join tbl_users as user on user.userId = leavetable.created_by
left join t_employee_details as Emp2 on Emp2.EmpID = user.EmpID
left join t_employee_details as Emp on Emp.EmpID = leavetable.emp_id
left join t_departmentdetails as Dep on Emp.Departmentcode = Dep.DEPCode
where leavetable.isactive = 1";
$query = $this->db->query($sql);
public function getheringleaveApplicationForm($leave_id = null ){
$builder = $this->db->table("t_employee_leave_application_form as leavetable")
->select("leavetable.* ,Dep.DepartmentName as department,Emp.Designation as designation")
->select("CONCAT_WS(' ', Emp.FirstName, Emp.LastName) AS employeeFullName")
->select("CONCAT_WS(' ', Emp2.FirstName, Emp2.LastName) AS creatorFullName")
->join("tbl_users as user", "user.userId = leavetable.created_by", "left")
->join("t_employee_details as Emp", "Emp.EmpID = leavetable.emp_id", "left")
->join("t_employee_details as Emp2", "Emp2.EmpID = user.EmpID", "left")
->join("t_departmentdetails as Dep", "Emp.Departmentcode = Dep.DEPCode", "left");
if (!empty($leave_id)) {
$builder->where('leavetable.leave_application_id', $leave_id);
}
$builder->where('leavetable.isactive', 1);
$query = $builder->get();
return $query->getResultArray();
}
}
public function getheringemployeeinformation(){
$builder = $this->db->table("t_employee_details as Emp")
->select("Emp.EmpID,Emp.Designation,Emp.Departmentcode,Dep.DEPCode,Emp.Designation,Emp.Departmentcode,Dep.DEPCode,Dep.DepartmentName as DepartmentNamee,Dep.DepartmentName as DepartmentName")
@ -542,6 +546,16 @@ where Month_Year = ? and att.EmpID in (select EmpID from t_attendance)";
$result = $query->getResult();
return $result;
}
function getCompanyInformation()
{
$subQuery = "select CompanyName,replace(Address,'<br>','') as Address,GSTNO,PAN,ContactNumber,EmailAddress,AlternateContactNumber,companyWebsite,StateCode
from t_company_details ";
$query = $this->db->query($subQuery);
return $query->getResult();
}
public function saveleaveApplicationForm($data,$id){
if ($id == 0) {

View File

@ -554,7 +554,7 @@
<input type="text" id="currentaddress" required name="currentaddress"
pattern=".{0,500}" maxlength="500" class="form-control">
</div>
<div class="col-md-4 pad" style="margin-top: 18px;">
<div class="col-md-4 pad" style="margin-top: 36px;">
<input type="checkbox" id="checksame" name="sameaddress"
>
@ -732,7 +732,7 @@
</div>
<div class="col-md-3" style="margin-top: 18px;">
<div class="col-md-3" style="margin-top: 36px;">
<div class="form-group">
<label class="switch">
@ -746,7 +746,7 @@
</label>
</div>
</div>
<div class="col-md-3" style="margin-top: 18px;">
<div class="col-md-3" style="margin-top: 36px;">
<div class="form-group">
<label class="switch">

View File

@ -68,7 +68,7 @@ $pf_applicable = 0;
$TDS_Rate = '';
$tds_apllicable = 0;
$is_driver = 0;
$reason = '';
if (!empty($EmpDetails)) {
foreach ($EmpDetails as $Emp) {
$EmpID = $Emp->EmpID;
@ -153,6 +153,7 @@ if (!empty($EmpDetails)) {
$is_management_team = $Emp->is_management_team;
$esi_applicable = $Emp->esi_applicable;
$pf_applicable = $Emp->pf_applicable;
$reason = $Emp->reason;
}
}
?>
@ -272,14 +273,6 @@ if (!empty($EmpDetails)) {
</div>
<br>
<div class="form-row">
<input type="checkbox" id="isactive" <?php echo $IsActive; ?>
name="isactive" value="1">&nbsp;&nbsp;
<label style="margin-top:8px;">
Is Active
</label>
</div>
</div>
@ -402,7 +395,7 @@ if (!empty($EmpDetails)) {
</div>
<div class="col-md-4 pad" style="margin-top: 18px;">
<div class="col-md-4 pad" style="margin-top: 36px;">
<input type="checkbox" id="checksame" name="sameaddress"
onclick="CheckClick">
<label> Current address same as permanent
@ -449,6 +442,20 @@ if (!empty($EmpDetails)) {
</select>
</div>
<div class="col-md-4 pad">
<input type="checkbox" id="isactive" <?php echo $IsActive; ?>
name="isactive" value="1" onchange="handleCheckboxChange()">&nbsp;&nbsp;
<label style="margin-top:8px;">
Is Active
</label>
</div>
<div class="col-md-4 pad" id="reasonContainer" style="display: none;">
<label>Reason</label>
<textarea class="form-control" id="reason" name="reason" style="display: none;"><?php echo $reason ?></textarea>
</div>
<!-- <div class="col-md-4 pad">
<label>Emergency Contact Name</label>
<input type="text" id="emergencycontactname" maxlength="100"
@ -645,7 +652,7 @@ if (!empty($EmpDetails)) {
</div>
<div class="col-md-3" style="margin-top: 18px;">
<div class="col-md-3" style="margin-top: 36px;">
<div class="form-group">
<label class="switch">
@ -661,7 +668,7 @@ if (!empty($EmpDetails)) {
Team</label>
</div>
</div>
<div class="col-md-3" style="margin-top: 18px;">
<div class="col-md-3" style="margin-top: 36px;">
<div class="form-group">
<label class="switch">
@ -1798,6 +1805,31 @@ if (!empty($EmpDetails)) {
$('#Total_salary').prop('readonly', false);
}
}
function handleCheckboxChange() {
let checkbox = document.getElementById("isactive");
let reasonContainer = document.getElementById("reasonContainer");
let reasonTextarea = document.getElementById("reason");
reasonTextarea.value = "";
reasonContainer.style.display = "inline-block";
reasonTextarea.style.display = "inline-block";
reasonTextarea.setAttribute("required", "true");
reasonTextarea.focus(); // Auto-focus
alert("please Enter the reason!");
// alert("please Enter the reason!");
// document.getElementById('reason').focus();
// reasonInput.setAttribute("required", "true");
// reasonInput.focus();
// if (checkbox.checked) {
// alert("called");
// } else {
// alert("called2");
// }
}
function calculalteHRA() {
//var empid=document.getElementById('emp').value;

View File

@ -107,7 +107,13 @@
<i class="fa fa-trash"></i>&nbsp;&nbsp;&nbsp;
</a>
<?php } ?>
<?php } ?>
<?php if($d['status'] == "APPROVED"){} ?>
<a style="cursor:pointer;" href="<?php echo base_url() . 'leaveApplicationPDF/' . esc($d['leave_application_id']); ?>">
<i class="fa fa-download"></i>&nbsp;&nbsp;&nbsp;
</a>
</td>
</tr>
<?php } ?>
@ -142,11 +148,11 @@
<input type="hidden" class="form-control" id="leave_application_id" name="leave_application_id">
<div class="row mt-2">
<div class="col-md-3" style="text-align: end; align-content: center;">
<div class="col-md-2" style="text-align: end; align-content: center;">
<label class="form" for="emp_name">Employee Name</label>
</div>
<div class="col-md-9">
<select class="form-control" id="emp_name" name="emp_name" onchange="fetchemployees(this);">
<select class="form-control select2" id="emp_name" name="emp_name" onchange="fetchemployees(this);">
<option value="">Select</option>
<?php foreach ($employee_info as $key => $value) { ?>
<option value="<?= $value->EmpID; ?>"
@ -159,7 +165,7 @@
</div>
</div><!--/. r o w 1 -->
<div class="row mt-2">
<div class="col-md-3" style="text-align: end; align-content: center;">
<div class="col-md-2" style="text-align: end; align-content: center;">
<label class="form" for="emp_id">Employee ID</label>
</div>
<div class="col-md-9">
@ -167,7 +173,7 @@
</div>
</div><!--/. r o w 2-->
<div class="row mt-2">
<div class="col-md-3" style="text-align: end; align-content: center;">
<div class="col-md-2" style="text-align: end; align-content: center;">
<label class="form" for="department">Department</label>
</div>
<div class="col-md-9">
@ -175,7 +181,7 @@
</div>
</div><!--/. r o w 3 -->
<div class="row mt-2">
<div class="col-md-3" style="text-align: end; align-content: center;">
<div class="col-md-2" style="text-align: end; align-content: center;">
<label class="form" for="designation">Designation </label>
</div>
<div class="col-md-9">
@ -183,7 +189,7 @@
</div>
</div><!--/. r o w 4 -->
<div class="row mt-2">
<div class="col-md-3" style="text-align: end; align-content: center;">
<div class="col-md-2" style="text-align: end; align-content: center;">
<label class="form" for="No. of days">No. of days </label>
</div>
<div class="col-md-3">
@ -200,11 +206,11 @@
</div>
</div><!--/. r o w 5 -->
<div class="row mt-2">
<div class="col-md-3" style="text-align: end; align-content: center;">
<div class="col-md-2" style="text-align: end; align-content: center;">
<label class="form" for="status_val">Status</label>
</div>
<div class="col-md-9">
<select class="form-control" id="status_val" name="status_val">
<select class="form-control select2" id="status_val" name="status_val">
<option value="">Select</option>
<?php foreach ($status_info as $key => $value) { ?>
<option value="<?= $value; ?>"> <?= $value; ?> </option>
@ -213,7 +219,7 @@
</div>
</div><!--/. r o w 6 -->
<div class="row mt-2">
<div class="col-md-3" style="text-align: end; align-content: center;">
<div class="col-md-2" style="text-align: end; align-content: center;">
<label class="form" for="reason">Reason</label>
</div>
<div class="col-md-9">

View File

@ -142,7 +142,10 @@
<a href="<?php echo base_url() . 'employeedetails/downloadEmployeeDetails/?EmpID=' . $record->EmpID; ?>">
<i class="fas fa-download"></i>
</a>
&nbsp;&nbsp;&nbsp;
<a href="#" data-toggle="modal" data-target="#accordion-modal" data-emp="<?php echo $record->EmpID ?>">
<i class="fas fa-history"style="text-align: center;"></i>
</a>
</td>
<td><?php echo $record->FirstName; ?></td>
@ -169,6 +172,44 @@
</div> <!-- content -->
</div>
<div id="accordion-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
<div class="modal-dialog modal-lg">
<div class="modal-content p-0">
<div id="accordion">
<div class="card mb-0">
<div class="card-header" id="headingOne">
<h5 class="m-0">
<a href="#collapseOne" class="text-dark" data-toggle="collapse" aria-expanded="true" aria-controls="collapseOne">
Salary History #1
</a>
</h5>
</div>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<div id="HisStatement1"></div>
</div>
</div>
</div><!-- /.c a r d 1 -->
<div class="card mb-0">
<div class="card-header" id="headingTwo">
<h5 class="m-0">
<a href="#collapseTwo" class="collapsed text-dark" data-toggle="collapse" aria-expanded="false" aria-controls="collapseTwo">
Active and Deactivate History #2
</a>
</h5>
</div>
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordion">
<div class="card-body">
<div id="HisStatement2"></div>
</div>
</div>
</div><!-- /.c a r d 2 -->
</div><!-- /.a c c o r d i o n -->
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<script type="text/javascript" src="<?php echo base_url(); ?>public/assets/js/common.js" charset="utf-8"></script>
<script>
@ -203,4 +244,80 @@
table.draw();
});
});
$(document).ready(function() {
$("#accordion-modal").on("shown.bs.modal", function(e) {
var emp = $(e.relatedTarget).data('emp');
var noData = '<p style="text-align: center;">No History Data Available</p>';
$("#HisStatement1").empty();
$("#HisStatement2").empty();
if (emp !== "") {
$.ajax({
data: {
emp: emp
},
type: "POST",
url: "<?php echo base_url() ?>employeeHistory",
success: function(data) {
var output1 = '';
var output2 = '';
if (data && data.length > 0) {
let salaryArr = data.filter(d => d.column_name == "TotalSalary");
let activeArr = data.filter(d => d.column_name != "TotalSalary");
if (salaryArr && salaryArr.length > 0) {
salaryArr.forEach(function(record) {
// Declare statement inside the loop to reset for each record
let statement1 = "Salary Changed from <b> `" + record.old_value + "` </b> to <b> `" + record.new_value + "` </b> by " + record.updater_name +
" on " + record.indian_date + " at " + record.indian_time;
output1 += '<p style="font-size:13px;"> &bull;&nbsp;&nbsp; ' + statement1 + '</p>';
});
}else{
output1 = noData;
}
if (activeArr && activeArr.length > 0) {
activeArr.forEach(function(record, index) {
if (record.column_name === "IsActive" && index % 2 === 0) { // Even index for "IsActive"
let action = record.new_value === "0" ? "Deactivated" : "Activated";
statement2 = "User " + action + " by " + record.updater_name +
" on " + record.indian_date + " at " + record.indian_time;
}
if (record.column_name === "reason" && index % 2 !== 0) { // Odd index for "reason"
statement2 += " Reason " + " ( " + record.new_value + " ) ";
output2 += '<p style="font-size:13px;"> &bull;&nbsp;&nbsp; ' + statement2 + '</p>';
}
});
}else{
output2 = noData;
}
}else{
output1 = noData;
output2 = noData;
}
$("#HisStatement1").html(output1);
$("#HisStatement2").html(output2);
},
error: function(xhr, status, error) {
$("#HisStatement1").html(noData);
$("#HisStatement1").html(noData);
console.error('AJAX Error: ' + status + error);
}
});
} else {
$("#HisStatement1").html(noData);
$("#HisStatement2").html(noData);
}
});
});
</script>

View File

@ -0,0 +1,154 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }
body {
margin: 0 auto;
color: #3A3A3A;
background: #FFFFFF;
font-family: sans-serif;
font-size: 0.8em;
}
.main-table {
width: 100%;
border-collapse: collapse;
border: 1px solid #000;
}
.main-table td, .main-table th {
border: 1px solid #000;
padding: 8px;
}
.company-header {
font-size: 1em;
font-weight: bold;
}
.form-title {
font-weight: bold;
padding: 10px 0;
}
#leaveDetails {
width: 100%;
border-collapse: collapse;
}
#leaveDetails td, #leaveDetails th {
border: 1px solid #000 !important;
}
.signature-section {
padding-top: 40px;
}
</style>
</head>
<body>
<?php
$CompanyName = (!empty($company_info) && !empty($company_info[0]->CompanyName)) ? $company_info[0]->CompanyName : "-";
$CompanyAddress = (!empty($company_info) && !empty($company_info[0]->Address)) ? $company_info[0]->Address : "-";
$address = preg_replace('/SURVEY\s*:\s*[^,]+,/', '', $CompanyAddress);
$leave_application_id = (!empty($leave_info) && !empty($leave_info[0]['leave_application_id'])) ? $leave_info[0]['leave_application_id'] : "-";
$emp_name = (!empty($leave_info) && !empty($leave_info[0]['employeeFullName'])) ? $leave_info[0]['employeeFullName'] : "-";
$emp_id = (!empty($leave_info) && !empty($leave_info[0]['emp_id'])) ? $leave_info[0]['emp_id'] : "-";
$department = (!empty($leave_info) && !empty($leave_info[0]['department'])) ? $leave_info[0]['department'] : "-";
$designation = (!empty($leave_info) && !empty($leave_info[0]['designation'])) ? $leave_info[0]['designation'] : "-";
$start_date = (!empty($leave_info) && !empty($leave_info[0]['start_date'])) ? get_date_time_dynamical_format('Y-m-d','d-m-Y',$leave_info[0]['start_date']) : "-";
$end_date = (!empty($leave_info) && !empty($leave_info[0]['end_date'])) ? get_date_time_dynamical_format('Y-m-d','d-m-Y',$leave_info[0]['end_date']) : "-";
$no_of_days = (!empty($leave_info) && !empty($leave_info[0]['no_of_days'])) ? $leave_info[0]['no_of_days'] : "-";
$reason = (!empty($leave_info) && !empty($leave_info[0]['reason'])) ? $leave_info[0]['reason'] : "-";
$status = (!empty($leave_info) && !empty($leave_info[0]['status'])) ? $leave_info[0]['status'] : "-";
?>
<header class="clearfix"></header>
<main>
<table class="main-table">
<!-- Company Name & Address -->
<tr>
<td colspan="12" class="text-center">
<div class="company-header"><?php echo $CompanyName ? _htmlsc($CompanyName) : ""; ?></div>
<?php if ($CompanyAddress) {
echo '<div>' . _htmlsc($CompanyAddress) . '</div>';
} ?>
</td>
</tr>
<!-- Title -->
<tr>
<td colspan="12" class="text-center form-title">Leave Application Form</td>
</tr>
<!-- Employee Details -->
<tr>
<td colspan="5" class="text-right"><?php echo trans('Employee Name'); ?></td>
<td colspan="7" class="text-left"><?php echo _htmlsc($emp_name); ?></td>
</tr>
<tr>
<td colspan="5" class="text-right"><?php echo trans('Employee ID'); ?></td>
<td colspan="7" class="text-left"><?php echo _htmlsc($emp_id); ?></td>
</tr>
<tr>
<td colspan="5" class="text-right"><?php echo trans('Department'); ?></td>
<td colspan="7" class="text-left"><?php echo _htmlsc($department); ?></td>
</tr>
<tr>
<td colspan="5" class="text-right"><?php echo trans('Designation'); ?></td>
<td colspan="7" class="text-left"><?php echo _htmlsc($designation); ?></td>
</tr>
<!-- Leave Details Table -->
<tr>
<td colspan="5" class="text-right"><?php echo trans('No. of days'); ?></td>
<td colspan="7">
<table id="leaveDetails">
<tr>
<th>From Date</th>
<th>To Date</th>
<th>No's Days</th>
</tr>
<tr>
<td><?php echo _htmlsc($start_date); ?></td>
<td><?php echo _htmlsc($end_date); ?></td>
<td><?php echo _htmlsc($no_of_days); ?></td>
</tr>
</table>
</td>
</tr>
<!-- Status and Reason -->
<tr>
<td colspan="5" class="text-right"><?php echo trans('Status'); ?></td>
<td colspan="7" class="text-left"><?php echo _htmlsc($status); ?></td>
</tr>
<tr>
<td colspan="5" class="text-right"><?php echo trans('Reason'); ?></td>
<td colspan="7" class="text-left"><?php echo _htmlsc($reason); ?></td>
</tr>
<!-- Signature Section -->
<tr>
<td colspan="6" class="text-center signature-section">
<h6>Employee Signatory</h6>
</td>
<td colspan="6" class="text-center signature-section">
<h6>Authorized Signatory</h6>
</td>
</tr>
</table>
</main>
</body>
</html>

View File

@ -258,7 +258,7 @@
<td style="max-width:80px;text-align:right;">
<?php $OT = $record->OT_Hrs_Worked;
echo $OT;
$totalovertimehrs[] = $record->OT_Hrs_Worked;
$totalOThrs[] = $record->OT_Hrs_Worked;
?>
</td>
@ -275,7 +275,7 @@
// $OTSalary = ($OT_Hrs_Worked != 0) ? $OT_Hrs_Worked * $oneHoursSalary : 0;
$OTSalary = $OT * $perHrSalary;
echo number_format($OTSalary, 2);
$totalovertimeamounts[] = $OTSalary;
$totalOTsalary[] = $OTSalary;
?>
</td>
@ -292,15 +292,21 @@
<tr>
<th style=" background-color: #ffffff;"></th>
<th style=" background-color: #ffffff;"></th>
<th style=" background-color: #ffffff;"></th>
<th>Total</th>
<th style=" background-color: #ffffff;"></th>
<th style=" background-color: #ffffff;"></th>
<th style=" background-color: #ffffff;color: #000000;">Total</th>
<th style="text-align:right;">
<?php echo isset($totalovertimehrs) ? number_format(array_sum($totalovertimehrs), 2) : ''; ?>
<?php echo isset($totalsalary) ? number_format(array_sum($totalsalary), 2) : ''; ?>
</th>
<th style="text-align:right;">
<?php echo isset($totalovertimeamounts) ? number_format(array_sum($totalovertimeamounts), 2) : ''; ?>
<?php echo isset($totalperdaySalary) ? number_format(array_sum($totalperdaySalary), 2) : ''; ?>
</th>
<th style="text-align:right;">
<?php echo isset($totalperhrSalary) ? number_format(array_sum($totalperhrSalary), 2) : ''; ?>
</th>
<th style="text-align:right;">
<?php echo isset($totalOThrs) ? number_format(array_sum($totalOThrs), 2) : ''; ?>
</th>
<th style="text-align:right;">
<?php echo isset($totalOTsalary) ? number_format(array_sum($totalOTsalary), 2) : ''; ?>
</th>
</tr>
</tfoot>