Merge pull request 'added basic computation factor' (#17) from paulcortezl5 into main

Reviewed-on: #17
pull/18/head
paul 7 months ago
commit 70126fb5fc

@ -4,6 +4,19 @@ namespace App\ClassLib;
class PayrollComputation class PayrollComputation
{ {
public array $workdays_type = [
'261.0000' => 'No work and not paid on Sat and Sun or RD',
'313.0000' => 'No work and not paid on Sun or RD',
'365.0000' => 'No work but paid on RD, Reg. & Special Holidays',
'392.5000' => 'Has work including RD, Reg. & Special Holidays',
];
public array $basic_salary_computations = [
'DAILY' => 'Rate Based on Daily Hrs Worked',
'SEMIMONTHLY' => 'Apply Semi-Monthly Rate',
'MONTHLY' => 'Apply Monthly Rate'
];
public function __construct() public function __construct()
{ {
} }

@ -42,7 +42,7 @@ $routes->get('payroll/paytype', 'PayrollController::payrollType');
$routes->post('payroll/addpaytype', 'PayrollController::addPayrollType'); $routes->post('payroll/addpaytype', 'PayrollController::addPayrollType');
$routes->get('payroll/emppayinfo', 'PayrollController::employeePayrollInfo'); $routes->get('payroll/emppayinfo', 'PayrollController::employeePayrollInfo');
$routes->post('payroll/addemppayinfo', 'PayrollController::addEmployeePayrollInfo'); $routes->post('payroll/saveemppayinfo', 'PayrollController::saveEmployeePayrollInfo');
$routes->get('payroll/delempayinfo/(:num)', 'PayrollController::deleteEmployeePayrollInfo/$1'); $routes->get('payroll/delempayinfo/(:num)', 'PayrollController::deleteEmployeePayrollInfo/$1');
$routes->get('payroll/compben', 'PayrollController::employeeCompensationBenefits'); $routes->get('payroll/compben', 'PayrollController::employeeCompensationBenefits');
@ -58,6 +58,7 @@ $routes->post('payroll/addpaytrans', 'PayrollController::addPayrollTransactions'
$routes->get('payroll/emppaytrans/(:num)', 'PayrollController::employeePayrollTransactions/$1'); $routes->get('payroll/emppaytrans/(:num)', 'PayrollController::employeePayrollTransactions/$1');
$routes->get('payroll/emppaytransinit/(:num)/(:num)/(:num)', 'PayrollController::empPayTransInitializePayroll/$1/$2/$3'); $routes->get('payroll/emppaytransinit/(:num)/(:num)/(:num)', 'PayrollController::empPayTransInitializePayroll/$1/$2/$3');
$routes->post('payroll/emppaytransupdateworkdays', 'PayrollController::employeePayrollTransactionsEditDaysWorked'); $routes->post('payroll/emppaytransupdateworkdays', 'PayrollController::employeePayrollTransactionsEditDaysWorked');
$routes->get('payroll/emppaytransrecom/(:num)', 'PayrollController::employeePayrollTransactionsRecompute/$1');
$routes->post('payroll/emppaytransaddinded', 'PayrollController::addEmpPayTransIncomeDeduction'); $routes->post('payroll/emppaytransaddinded', 'PayrollController::addEmpPayTransIncomeDeduction');
$routes->get('payroll/emppaytransdelinded/(:num)/(:num)', 'PayrollController::deleteEmpPayTransIncomeDeduction/$1/$2'); $routes->get('payroll/emppaytransdelinded/(:num)/(:num)', 'PayrollController::deleteEmpPayTransIncomeDeduction/$1/$2');

@ -60,7 +60,18 @@ class PayrollController extends BaseController
$empPayTrans = $empPayTransModel->find($emppaytransid); $empPayTrans = $empPayTransModel->find($emppaytransid);
// Compute basic pay first // Compute basic pay first
$empPayTrans->basic_pay = $empPayTrans->actual_work_days * $empPayTrans->basic_daily_pay; // DAILY, SEMIMONTHLY, MONTHLY reference is in PayrollComputation
switch ($empPayTrans->basic_sal_computation) {
case 'DAILY':
$empPayTrans->basic_pay = $empPayTrans->actual_work_days * $empPayTrans->basic_daily_pay;
break;
case 'SEMIMONTHLY':
$empPayTrans->basic_pay = $empPayTrans->basic_semi_monthly_pay;
break;
case 'MONTHLY':
$empPayTrans->basic_pay = $empPayTrans->basic_monthly_pay;
break;
}
$empPayTrans->taxable_income = $empPayTransInDedModel->getTotalIncomeDeduction($emppaytransid, 1, 1) + $empPayTrans->basic_pay; $empPayTrans->taxable_income = $empPayTransInDedModel->getTotalIncomeDeduction($emppaytransid, 1, 1) + $empPayTrans->basic_pay;
$empPayTrans->nontaxable_income = $empPayTransInDedModel->getTotalIncomeDeduction($emppaytransid, 1, 0); $empPayTrans->nontaxable_income = $empPayTransInDedModel->getTotalIncomeDeduction($emppaytransid, 1, 0);
@ -252,11 +263,14 @@ class PayrollController extends BaseController
public function employeePayrollInfo() public function employeePayrollInfo()
{ {
$payCompute = new PayrollComputation();
$empPayInfoModel = new EmployeePayrollInfoModel(); $empPayInfoModel = new EmployeePayrollInfoModel();
$empPayInfos = $empPayInfoModel->getAllEmpPayInfoXEmpPayType(); $empPayInfos = $empPayInfoModel->getAllEmpPayInfoXEmpPayType();
$data['employees'] = (new EmployeeModel())->findAll(); $data['employees'] = (new EmployeeModel())->findAll();
$data['paytypes'] = (new PayrollTypeModel())->findAll(); $data['paytypes'] = (new PayrollTypeModel())->findAll();
$data['workdaystype'] = $payCompute->workdays_type;
$data['salarycomputations'] = $payCompute->basic_salary_computations;
$empPayInfoHTMLTable = new \CodeIgniter\View\Table(); $empPayInfoHTMLTable = new \CodeIgniter\View\Table();
$empPayInfoHTMLTable->setTemplate(MiscLib::adminLTETableTemplate()); $empPayInfoHTMLTable->setTemplate(MiscLib::adminLTETableTemplate());
@ -268,11 +282,33 @@ class PayrollController extends BaseController
$empPayInfoHTMLTable->setHeading('ID', 'Payroll Type', 'Employee ID', 'Employee Name', 'Monthly', 'Semi-Monthly', 'Daily', 'Hourly', 'Action'); $empPayInfoHTMLTable->setHeading('ID', 'Payroll Type', 'Employee ID', 'Employee Name', 'Monthly', 'Semi-Monthly', 'Daily', 'Hourly', 'Action');
foreach($empPayInfos as $empPayInfo) foreach($empPayInfos as $empPayInfo)
{ {
$empayHTMLData = 'data-emppay_id="'.$empPayInfo->emppay_id.
'" data-employee_id="'.$empPayInfo->employee_id.
'" data-paytype_id="'.$empPayInfo->paytype_id.
'" data-is_atm="'.$empPayInfo->is_ATM.
'" data-savings_account="'.$empPayInfo->savings_account.
'" data-work_days="'.$empPayInfo->work_days.
'" data-basic_sal_computation="'.$empPayInfo->basic_sal_computation.
'" data-basic_monthly_pay="'.$empPayInfo->basic_monthly_pay.
'" data-basic_semi_monthly_pay="'.$empPayInfo->basic_semi_monthly_pay.
'" data-basic_daily_pay="'.$empPayInfo->basic_daily_pay.
'" data-basic_hourly_pay="'.$empPayInfo->basic_hourly_pay.
'" data-has_cola="'.$empPayInfo->has_cola.
'" data-has_philhealth="'.$empPayInfo->has_philhealth.
'" data-has_hdmf="'.$empPayInfo->has_hdmf.
'" data-has_sss="'.$empPayInfo->has_sss.
'" data-has_gsis="'.$empPayInfo->has_gsis.
'" data-company_issued_id="'.$empPayInfo->company_issued_id.
'" data-last_name="'.$empPayInfo->last_name.
'" data-first_name="'.$empPayInfo->first_name.'"';
$iconView = '<a href="#" class="ml-3" data-toggle="tooltip" title="View Information"><i class="fas fa-eye "></i></a>'; $iconView = '<a href="#" class="ml-3" data-toggle="tooltip" title="View Information"><i class="fas fa-eye "></i></a>';
$iconEdit = '<a href="#" class="ml-3" '.$empayHTMLData.' onclick="editEmpPayInfo(this)" data-toggle="tooltip" title="Edit Information"><i class="fas fa-edit "></i></a>';
$iconDelete = '<a href="/payroll/delempayinfo/'.$empPayInfo->emppay_id.'" onclick="return confirm(\'Are you sure you want to delete this employee?\')" class="ml-3" data-toggle="tooltip" title="Delete Information"><i class="fas fa-trash "></i></a>'; $iconDelete = '<a href="/payroll/delempayinfo/'.$empPayInfo->emppay_id.'" onclick="return confirm(\'Are you sure you want to delete this employee?\')" class="ml-3" data-toggle="tooltip" title="Delete Information"><i class="fas fa-trash "></i></a>';
$empPayInfoHTMLTable->addRow($empPayInfo->emppay_id, $empPayInfo->paytype_name, $empPayInfo->company_issued_id, $empPayInfo->last_name . ', ' . $empPayInfo->first_name, $empPayInfo->basic_monthly_pay, $empPayInfo->basic_semi_monthly_pay, $empPayInfo->basic_daily_pay, $empPayInfo->basic_hourly_pay, $iconView." ".$iconDelete); $empPayInfoHTMLTable->addRow($empPayInfo->emppay_id, $empPayInfo->paytype_name, $empPayInfo->company_issued_id, $empPayInfo->last_name . ', ' . $empPayInfo->first_name, $empPayInfo->basic_monthly_pay, $empPayInfo->basic_semi_monthly_pay, $empPayInfo->basic_daily_pay, $empPayInfo->basic_hourly_pay, $iconView." ".$iconEdit." ".$iconDelete);
} }
$data['tblEmpPayInfo'] = $empPayInfoHTMLTable->generate(); $data['tblEmpPayInfo'] = $empPayInfoHTMLTable->generate();
@ -281,7 +317,7 @@ class PayrollController extends BaseController
return view('payroll/empinfoview', $data); return view('payroll/empinfoview', $data);
} }
public function addEmployeePayrollInfo() public function saveEmployeePayrollInfo()
{ {
$empPayInfo = new EmployeePayrollInfo(); $empPayInfo = new EmployeePayrollInfo();
$empPayInfoModel = new EmployeePayrollInfoModel(); $empPayInfoModel = new EmployeePayrollInfoModel();
@ -295,13 +331,17 @@ class PayrollController extends BaseController
$rawData['has_sss'] = isset($rawData['has_sss']) ? 1 : 0; $rawData['has_sss'] = isset($rawData['has_sss']) ? 1 : 0;
$rawData['has_gsis'] = isset($rawData['has_gsis']) ? 1 : 0; $rawData['has_gsis'] = isset($rawData['has_gsis']) ? 1 : 0;
$empPayInfo->fill($rawData); $empPayInfo->fill($rawData);;
$empPayInfoModel->save($empPayInfo);
if($empPayInfoModel->getInsertID() == 0) if($empPayInfoModel->save($empPayInfo))
return redirect()->back()->withInput()->with('error', 'Failed to add employee payroll type'); {
if(isset($rawData['emppay_id']))
return redirect()->to('/payroll/emppayinfo')->with('message', 'Employee Payroll Successfully Updated');
else
return redirect()->to('/payroll/emppayinfo')->with('message', 'Employee Payroll Type Added');
}
else else
return redirect()->to('/payroll/emppayinfo')->with('message', 'Employee Payroll Type Added'); return redirect()->back()->withInput()->with('error', 'Failed to add employee payroll type');
} }
public function deleteEmployeePayrollInfo($emppayid) public function deleteEmployeePayrollInfo($emppayid)
@ -552,7 +592,7 @@ class PayrollController extends BaseController
'has_sss' => $empPayInfo->has_sss, 'has_sss' => $empPayInfo->has_sss,
'has_gsis' => $empPayInfo->has_gsis, 'has_gsis' => $empPayInfo->has_gsis,
'actual_work_days' => $payTrans->no_of_days, 'actual_work_days' => $payTrans->no_of_days,
'basic_pay' => $payTrans->no_of_days * $empPayInfo->basic_daily_pay, 'basic_pay' => 0,
'gross_income' => 0, 'gross_income' => 0,
'taxable_income' => 0, 'taxable_income' => 0,
'nontaxable_income' => 0, 'nontaxable_income' => 0,
@ -592,34 +632,9 @@ class PayrollController extends BaseController
); );
$empPayTransInDedModel->save($empPayTransInDed); $empPayTransInDedModel->save($empPayTransInDed);
// Updating EmpPayTransaction
if($empPayInDed->is_income)
{
$empPayTransaction->gross_income += $amount;
$empPayTransaction->{$empPayInDed->is_taxable ? 'taxable_income' : 'nontaxable_income'} += $amount;
}
else
{
$empPayTransaction->total_deduction += $amount;
$empPayTransaction->{$empPayInDed->is_taxable ? 'taxable_deduction' : 'nontaxable_deduction'} += $amount;
}
// Less nontaxable deduction to taxable income
$empPayTransaction->taxable_income -= $empPayTransaction->nontaxable_income;
// Compute Income Tax
$payCompute = new PayrollComputation();
$empPayTransaction->income_tax = $payCompute->computeIncomeTax($empPayTransaction->taxable_income);
} }
$empPayTransaction->gross_income += $empPayTransaction->basic_pay; $this->computeEmployeePayroll($empPayTransaction->emppaytrans_id, true);
$empPayTransaction->taxable_income += $empPayTransaction->basic_pay;
$empPayTransaction->total_deduction += $empPayTransaction->income_tax;
$empPayTransaction->net_pay = $empPayTransaction->gross_income - $empPayTransaction->total_deduction;
$empPayTransactionModel->save($empPayTransaction);
} }
return redirect()->back()->withInput()->with('message', 'Payroll processed. Please verify the entries.'); return redirect()->back()->withInput()->with('message', 'Payroll processed. Please verify the entries.');
@ -637,6 +652,12 @@ class PayrollController extends BaseController
return redirect()->back()->withInput()->with('message', 'Days worked updated.'); return redirect()->back()->withInput()->with('message', 'Days worked updated.');
} }
public function employeePayrollTransactionsRecompute($emppaytransid)
{
$this->computeEmployeePayroll($emppaytransid, true);
return redirect()->back()->with('message', 'Employee Payroll Recomputed');
}
public function addEmpPayTransIncomeDeduction() public function addEmpPayTransIncomeDeduction()
{ {
$empPayTransInDed = new EmpPayTransIncomeDeduction(); $empPayTransInDed = new EmpPayTransIncomeDeduction();

@ -10,8 +10,8 @@ class AddWorkDaysOnEmpPayInfo extends Migration
{ {
$fields = [ $fields = [
'work_days' => [ 'work_days' => [
'type' => 'INT', 'type' => 'DECIMAL',
'constraint' => 11, 'constraint' => '12,4',
'null' => false, 'null' => false,
'after' => 'savings_account', 'after' => 'savings_account',
], ],

@ -0,0 +1,30 @@
<?php
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
class AddSalComputeOnEmpPayInfo extends Migration
{
public function up()
{
$fields = [
'basic_sal_computation' => [
'type' => 'VARCHAR',
'constraint' => 35,
'null' => true,
'after' => 'work_days',
],
];
$this->forge->addColumn('emp_pay_info', $fields);
}
public function down()
{
$fields = [
'basic_sal_computation',
];
$this->forge->dropColumn('emp_pay_info', $fields);
}
}

@ -13,6 +13,7 @@ class EmployeePayrollInfo extends Entity
'is_ATM' => null, 'is_ATM' => null,
'savings_account' => null, 'savings_account' => null,
'work_days' => null, 'work_days' => null,
'basic_sal_computation' => null,
'basic_monthly_pay' => null, 'basic_monthly_pay' => null,
'basic_semi_monthly_pay' => null, 'basic_semi_monthly_pay' => null,
'basic_daily_pay' => null, 'basic_daily_pay' => null,

@ -17,6 +17,7 @@ class EmployeePayrollInfoModel extends Model
'is_ATM', 'is_ATM',
'savings_account', 'savings_account',
'work_days', 'work_days',
'basic_sal_computation',
'basic_monthly_pay', 'basic_monthly_pay',
'basic_semi_monthly_pay', 'basic_semi_monthly_pay',
'basic_daily_pay', 'basic_daily_pay',

@ -31,11 +31,11 @@
<!-- Main content --> <!-- Main content -->
<?= $this->section('main') ?> <?= $this->section('main') ?>
<!-- Modal Add Branch --> <!-- Modal Add Employee Payroll Info -->
<div class="modal fade" id="mdlEmpPayInfo"> <div class="modal fade" id="mdlAddEmpPayInfo">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<form action="<?= url_to('payroll/addemppayinfo') ?>" method="post"> <form action="<?= url_to('payroll/saveemppayinfo') ?>" method="post">
<div class="modal-header"> <div class="modal-header">
<h4 class="modal-title" >New Employee Payroll Information</h4> <h4 class="modal-title" >New Employee Payroll Information</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
@ -78,9 +78,18 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label>Select Work Days</label> <label>Select Work Days</label>
<select class="form-control" style="width: 100%;" name="work_days" id="lstWorkDays"> <select class="form-control" name="work_days" id="lstWorkDays">
<option value="261">No work and not paid on Sat and Sun or Rest Day</option> <?php foreach($workdaystype as $keys=>$workdays): ?>
<option value="313">No work and not paid on Sun or Rest Day</option> <option value="<?= $keys ?>"><?= $workdays ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="form-group">
<label>How Will Basic Pay Be Computed?</label>
<select class="form-control" name="basic_sal_computation" id="lstSalComputation">
<?php foreach($salarycomputations as $keys=>$salarycomputation): ?>
<option value="<?= $keys ?>"><?= $salarycomputation ?></option>
<?php endforeach; ?>
</select> </select>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -158,6 +167,139 @@
</div> </div>
</div> </div>
<!-- Modal Add Employee Payroll Info -->
<div class="modal fade" id="mdlEditEmpPayInfo">
<div class="modal-dialog">
<div class="modal-content">
<form action="<?= url_to('payroll/saveemppayinfo') ?>" method="post">
<div class="modal-header bg-warning">
<h4 class="modal-title" >New Employee Payroll Information</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="row">
<div class="col-12">
<p class="lead">Employee Payroll Information</p>
<div class="row">
<div class="col-12">
<div class="form-group">
<label for="txtEditEmployeeName">[ID] Employee Name</label>
<input class="form-control" type="text" id="txtEditEmployeeName" readonly>
<input type="hidden" id="hdnEditEmpPayId" name="emppay_id"> <!-- Primary Key -->
<input type="hidden" id="hdnEditEmpId" name="employee_id">
</div>
<div class="form-group">
<label>Select Payroll Type</label>
<select class="form-control" name="paytype_id" id="cmbEditPayTypeID">
<?php foreach($paytypes as $paytype): ?>
<?php $selected = (old('paytype_id') == $paytype->paytype_id) ? 'selected' : ''; ?>
<?= '<option value="'.$paytype->paytype_id.'" '.$selected.'>['.$paytype->paytype_code.'] '.$paytype->paytype_name.'</option>' ?>
<?php endforeach; ?>
</select>
</div>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input class="custom-control-input" type="checkbox" id="chkEditIsATM" name="is_ATM">
<label for="chkEditIsATM" class="custom-control-label">Salary is through ATM.</label>
</div>
</div>
<div class="form-group">
<label for="txtEditSavingsAccount">Savings Account Number</label>
<input class="form-control" type="text" id="txtEditSavingsAccount" name="savings_account" value="<?= old('savings_account') ?>">
</div>
<div class="form-group">
<label>Select Work Days</label>
<select class="form-control" name="work_days" id="cmbEditWorkDays">
<?php foreach($workdaystype as $keys=>$workdays): ?>
<option value="<?= $keys ?>"><?= $workdays ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="form-group">
<label>How Will Basic Pay Be Computed?</label>
<select class="form-control" name="basic_sal_computation" id="cmbEditSalComputation">
<?php foreach($salarycomputations as $keys=>$salarycomputation): ?>
<option value="<?= $keys ?>"><?= $salarycomputation ?></option>
<?php endforeach; ?>
</select>
</div>
<div class="form-group">
<label for="txtEditMonthlyBasicPay">Monthly Basic Salary</label>
<div class="input-group mb-3">
<input class="form-control rounded-0" type="text" id="txtEditMonthlyBasicPay" name="basic_monthly_pay" values="<?= old('basic_monthly_pay') ?>">
<span class="input-group-append">
<button type="button" class="btn btn-info btn-flat" onclick="computeBasicPay('fromMonthly')">Compute</button>
</span>
</div>
<p><small><i>Click compute so other salary field will be filled with computed value</i></small></p>
</div>
<div class="form-group">
<label for="txtEditSemiMonthlyBasicPay">Semi-monthly Basic Salary</label>
<input class="form-control" type="text" id="txtEditSemiMonthlyBasicPay" name="basic_semi_monthly_pay" value="<?= old('basic_semi_monthly_pay') ?>">
</div>
<div class="form-group">
<label for="txtEditDailyBasicPay">Daily Basic Salary</label>
<div class="input-group mb-3">
<input class="form-control rounded-0" type="text" id="txtEditDailyBasicPay" name="basic_daily_pay" values="<?= old('basic_daily_pay') ?>">
<span class="input-group-append">
<button type="button" class="btn btn-info btn-flat" onclick="computeBasicPay('fromDaily')">Compute</button>
</span>
</div>
<p><small><i>Click compute so other salary field will be filled with computed value</i></small></p>
</div>
<div class="form-group">
<label for="txtEditHourlyBasicPay">Hourly Basic Salary</label>
<input class="form-control" type="text" id="txtEditHourlyBasicPay" name="basic_hourly_pay" value="<?= old('basic_hourly_pay') ?>">
</div>
<p id="txtSalaryFormula"></p>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input class="custom-control-input" type="checkbox" id="chkEditHasCola" name="has_cola">
<label for="chkEditHasCola" class="custom-control-label">Has COLA</label>
</div>
</div>
<h4>Government Required Contributions</h4>
<p>Define statutory deduction below which applies to an employee.</p>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input class="custom-control-input" type="checkbox" id="chkEditHasPhilhealth" name="has_philhealth">
<label for="chkEditHasPhilhealth" class="custom-control-label">Has PhilHealth</label>
</div>
</div>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input class="custom-control-input" type="checkbox" id="chkEditHasHDMF" name="has_hdmf">
<label for="chkEditHasHDMF" class="custom-control-label">Has Pag-IBIG</label>
</div>
</div>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input class="custom-control-input" type="checkbox" id="chkEditHasSSS" name="has_sss">
<label for="chkEditHasSSS" class="custom-control-label">Has SSS</label>
</div>
</div>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input class="custom-control-input" type="checkbox" id="chkEditHasGSIS" name="has_gsis">
<label for="chkEditHasGSIS" class="custom-control-label">Has GSIS</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">Save changes</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</form>
</div>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
@ -171,7 +313,7 @@
</div> </div>
</div> </div>
<div class="card-footer"> <div class="card-footer">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#mdlEmpPayInfo">Add Employee Payroll Information</button> <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#mdlAddEmpPayInfo">Add Employee Payroll Information</button>
</div> </div>
</div> </div>
</div> </div>
@ -194,7 +336,7 @@ $(document).ready(function() {
//Initialize Select2 Elements //Initialize Select2 Elements
$('.select2').select2({ $('.select2').select2({
dropdownParent: $('#mdlEmpPayInfo') dropdownParent: $('#mdlAddEmpPayInfo')
}); });
//Initialize Select2 Elements //Initialize Select2 Elements
@ -223,7 +365,30 @@ function computeBasicPay(fromSource)
if(fromSource != 'fromDaily') $("#txtDailyBasicPay").val(monthlyBasic * 12 / Number($("#lstWorkDays").val())); if(fromSource != 'fromDaily') $("#txtDailyBasicPay").val(monthlyBasic * 12 / Number($("#lstWorkDays").val()));
$("#txtHourlyBasicPay").val(monthlyBasic * 12 / Number($("#lstWorkDays").val()) / 8); $("#txtHourlyBasicPay").val(monthlyBasic * 12 / Number($("#lstWorkDays").val()) / 8);
$("#txtSalaryFormula").html("Formula: Basic Salary x 12 x " + $("#lstWorkDays").val()); $("#txtSalaryFormula").html("Formula: Basic Salary x 12 / " + $("#lstWorkDays").val());
}
function editEmpPayInfo(element)
{
$("#hdnEditEmpPayId").val($(element).data("emppay_id"));
$("#txtEditEmployeeName").val("[" + $(element).data("company_issued_id") + "] " + $(element).data("last_name") + ", " + $(element).data("first_name"));
$("#hdnEditEmpId").val($(element).data("employee_id"));
$("#cmbEditPayTypeID").val($(element).data("paytype_id"));
$("#chkEditIsATM").prop('checked', $(element).data("is_atm"));
$("#txtEditSavingsAccount").val($(element).data("savings_account"));
$("#cmbEditWorkDays").val($(element).data("work_days"));
$("#cmbEditSalComputation").val($(element).data("basic_sal_computation"));
$("#txtEditMonthlyBasicPay").val($(element).data("basic_monthly_pay"));
$("#txtEditSemiMonthlyBasicPay").val($(element).data("basic_semi_monthly_pay"));
$("#txtEditDailyBasicPay").val($(element).data("basic_daily_pay"));
$("#txtEditHourlyBasicPay").val($(element).data("basic_hourly_pay"));
$("#chkEditHasCola").prop('checked', $(element).data("has_cola"));
$("#chkEditHasPhilhealth").prop('checked', $(element).data("has_philhealth"));
$("#chkEditHasHDMF").prop('checked', $(element).data("has_hdmf"));
$("#chkEditHasSSS").prop('checked', $(element).data("has_sss"));
$("#chkEditHasGSIS").prop('checked', $(element).data("has_gsis"));
$("#mdlEditEmpPayInfo").modal("show");
} }
</script> </script>

@ -293,6 +293,7 @@
</div> </div>
<div class="card-footer"> <div class="card-footer">
<button type="submit" class="btn btn-primary">Save Changes</button> <button type="submit" class="btn btn-primary">Save Changes</button>
<a href="/payroll/emppaytransrecom/<?= $empPayTransaction['empPayTrans']->emppaytrans_id ?>" class="btn btn-primary">Recompute Payroll</a>
<button type="button" class="btn btn-secondary" onclick="$('#payrollTabInfo<?= $empPayTransaction['empPayTrans']->emppaytrans_id ?>').toggle()">Close</button> <button type="button" class="btn btn-secondary" onclick="$('#payrollTabInfo<?= $empPayTransaction['empPayTrans']->emppaytrans_id ?>').toggle()">Close</button>
</div> </div>
</div> </div>

@ -78,7 +78,7 @@
</div> </div>
</div> </div>
<div class="card-footer"> <div class="card-footer">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#mdlAddBranch">Add Branch</button> <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#mdlAddBranch">Add Payroll Group</button>
</div> </div>
</div> </div>
</div> </div>

Loading…
Cancel
Save