added payslip printing of all employee

added payslip printing of all employee
pull/42/head
paulcortez 2 months ago
parent 23afdfc614
commit e749b42b63

@ -73,7 +73,8 @@ $routes->post('payroll/saveemppaytransaddinded', 'PayrollController::saveEmpPayT
$routes->get('payroll/emppaytransdelinded/(:num)/(:num)', 'PayrollController::deleteEmpPayTransIncomeDeduction/$1/$2');
$routes->get('payroll/emppaytransdel/(:num)', 'PayrollController::employeePayrollTransactionsDeleteEmp/$1');
$routes->get('payroll/emppaytransreport/(:num)/(:num)', 'PayrollController::empPayransReport/$1/$2');
$routes->get('payroll/emppaytransreport/(:num)/(:num)', 'PayrollController::empPayTransReport/$1/$2');
$routes->get('payroll/empslip/(:num)/(:num)', 'PayrollController::empPayslip/$1/$2');
$routes->get('payroll/paytransreview/(:num)', 'PayrollController::payrollTransactionsReview/$1');

@ -932,7 +932,7 @@ class PayrollController extends BaseController
return redirect()->back()->with('error', 'Failed to delete income or deduction');
}
public function empPayransReport($paytransid, $paygroupid)
public function empPayTransReport($paytransid, $paygroupid)
{
$data['payTrans'] = (new PayrollTransactionModel())->find($paytransid);
$data['payGroup'] = (new PayrollGroupModel())->find($paygroupid);
@ -946,14 +946,14 @@ class PayrollController extends BaseController
//return view('payroll/emppaytransreportview', $data);
$inDedList = [];
$inDedList = []; //This is for the creation of the header
foreach($empPayTransInDeds as $empPayTransInDed)
{
if(!in_array("[".$empPayTransInDed->inded_id."]".$empPayTransInDed->payslip_display, $inDedList))
$inDedList[] = "[".$empPayTransInDed->inded_id."]".$empPayTransInDed->payslip_display;
}
$empInDedList = [];
$empInDedList = []; //This is for the content that will align with the header
foreach($empPayTransInDeds as $empPayTransInDed)
{
if(isset($empInDedList[$empPayTransInDed->employee_id.':'.$empPayTransInDed->inded_id]))
@ -963,7 +963,7 @@ class PayrollController extends BaseController
}
$HTMLColumns = [
$HTMLHeadCols = [
'ID',
'Last Name',
'First Name',
@ -971,12 +971,15 @@ class PayrollController extends BaseController
'Daily Rate',
'Work Days',
'Monthly Basic',
'Income Tax',
'Income Tax'
];
$HTMLTailCols = [
'Gross Amt',
'Deduction Amt',
'Net Amt'
];
$HTMLColumns = array_merge($HTMLColumns, $inDedList);
$HTMLColumns = array_merge($HTMLHeadCols, $inDedList, $HTMLTailCols);
$empPayTransHTMLTable->setHeading($HTMLColumns);
foreach($empPayTransactions as $empPayTrans)
@ -989,7 +992,10 @@ class PayrollController extends BaseController
$empPayTrans->basic_daily_pay,
$empPayTrans->actual_work_days,
$empPayTrans->basic_pay,
$empPayTrans->income_tax,
$empPayTrans->income_tax
];
$HTMLTailColValues = [
$empPayTrans->gross_income,
$empPayTrans->total_deduction,
$empPayTrans->net_pay
@ -1006,6 +1012,8 @@ class PayrollController extends BaseController
$HTMLColValues = array_merge($HTMLColValues, ['0.00']);
}
$HTMLColValues = array_merge($HTMLColValues, $HTMLTailColValues);
$empPayTransHTMLTable->addRow($HTMLColValues);
}
@ -1014,6 +1022,18 @@ class PayrollController extends BaseController
return view('payroll/emppaytransreportview', $data);
}
public function empPayslip($paytransid, $paygroupid)
{
$data['payTrans'] = (new PayrollTransactionModel())->find($paytransid);
$data['payGroup'] = (new PayrollGroupModel())->find($paygroupid);
$employeePayTransactionModel = new EmployeePayTransactionModel();
$data['empPayTransInDeds'] = $employeePayTransactionModel->getEmpPayTransInDedByPayTransIdGroupId($paytransid, $paygroupid);
$data['empPayTransactions'] = $employeePayTransactionModel->getEmpPayTransByPayTransIdGroupId($paytransid, $paygroupid);
return view('payroll/emppayslipviewprint', $data);
}
public function payrollTransactionsReview($paytransid)
{
$data['paytransid'] = $paytransid;

@ -0,0 +1,163 @@
<!-- Extend area where template is defined -->
<?= $this->extend('templates/adminlte/printcontent') ?>
<!-- .Extend -->
<!-- Title of the page -->
<?= $this->section('title') ?>Payslip Printing<?= $this->endSection() ?>
<!-- .Title -->
<!-- Main content -->
<?= $this->section('main') ?>
<?php foreach($empPayTransactions as $empPayTrans): ?>
<!-- title row -->
<div class="row">
<div class="col-12">
<h2 class="page-header">
KARAT WORLD
<small class="float-right"><span class="text-muted">Employee:</span> [<?= $empPayTrans->company_issued_id ?>] <?= $empPayTrans->last_name.", ".$empPayTrans->first_name ?></small>
</h2>
</div>
<!-- /.col -->
</div>
<!-- info row -->
<div class="row invoice-info">
<div class="col-sm-4 invoice-col">
Payslip of <strong><?= $empPayTrans->last_name.", ".$empPayTrans->first_name ?></strong>
</div>
<!-- /.col -->
<div class="col-sm-4 invoice-col">
Payroll Period <br>
<strong><?= date("F d, Y", strtotime($payTrans->payroll_from))." to ".date("F d, Y", strtotime($payTrans->payroll_to)) ?></strong><br>
</div>
<!-- /.col -->
<div class="col-sm-4 invoice-col">
Payroll Date <br>
<strong><?= ($payTrans->payschedule_id == 1) ? date("F 7, Y", strtotime($payTrans->payroll_to)) : date("F t, Y", strtotime($payTrans->payroll_to)) ?></strong>
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<!-- Table row -->
<div class="row">
<div class="col-12 table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>Description</th>
<th>Deduction</th>
<th>Income</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Basic Pay @<?= number_format($empPayTrans->basic_daily_pay, 2, '.', ',') ?> x <?= number_format($empPayTrans->actual_work_days, 2, '.', ',') ?> days</td>
<td>&nbsp;</td>
<td><?= number_format($empPayTrans->basic_pay, 2, '.', ',') ?></td>
<td>&nbsp;</td>
</tr>
<?php
$grossIncome = $empPayTrans->basic_pay;
$totalDeduction = 0;
foreach($empPayTransInDeds as $empPayTransIncome):
if($empPayTransIncome->emppaytrans_id == $empPayTrans->emppaytrans_id && $empPayTransIncome->is_income == 1):
?>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<?= $empPayTransIncome->payslip_display ?></td>
<td>&nbsp;</td>
<td><?= number_format($empPayTransIncome->amount, 2, '.', ',') ?></td>
<td>&nbsp;</td>
</tr>
<?php
$grossIncome += $empPayTransIncome->amount;
endif;
endforeach;
?>
<tr>
<td><strong>Gross Income</strong></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td class="text-right"><strong><?= number_format($grossIncome, 2, ".", ",") ?></strong></td>
</tr>
<?php
foreach($empPayTransInDeds as $empPayTransDeduction):
if($empPayTransIncome->emppaytrans_id == $empPayTrans->emppaytrans_id && $empPayTransIncome->is_income == 1):
?>
<tr>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<?= $empPayTransDeduction->payslip_display ?></td>
<td>-<?= number_format($empPayTransDeduction->amount, 2, '.', ','); ?></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<?php
$totalDeduction += $empPayTransDeduction->amount;
endif;
endforeach;
?>
<tr>
<td><strong>Total Deduction</strong></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td class="text-right">-<strong><?= number_format($totalDeduction, 2, ".", ",") ?></strong></td>
</tr>
</tbody>
</table>
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<div class="row">
<!-- accepted payments column -->
<div class="col-6">
<p class="text-muted well well-sm shadow-none" style="margin-top: 10px;">
I have fully read and understood all details concerning my wage for the above stated period. Wherein, I am fully satisfied with the computations made, without prejudice to my behalf. That all data stated above, I hereby acknowledge, to be true and correct.
</p>
<p class="lead"><?= $empPayTrans->last_name.", ".$empPayTrans->first_name ?></p>
<p>____________________________________</p>
<p class="text-muted well well-sm shadow-none" style="margin-top: 10px;">
<i>Signature of Employee</i>
</p>
</div>
<!-- /.col -->
<div class="col-6">
<p class="lead">Summary of Payslip</p>
<div class="table-responsive">
<table class="table">
<tr>
<th style="width:50%">Gross Income:</th>
<td><?= number_format($grossIncome, 2, ".", ",") ?></td>
</tr>
<tr>
<th>Total Deduction</th>
<td>(<?= number_format($totalDeduction, 2, ".", ",") ?>)</td>
</tr>
<tr>
<th>Tax:</th>
<td>(<?= number_format($empPayTrans->income_tax, 2, ".", ",") ?>)</td>
</tr>
<tr>
<th>Net Income:</th>
<td><?= number_format($empPayTrans->net_pay, 2, ".", ",") ?></td>
</tr>
</table>
</div>
</div>
<!-- /.col -->
</div>
<!-- /.row -->
<div style="page-break-after: always;"></div>
<?php endforeach; ?>
<?= $this->endSection() ?>
<!-- .Main content -->

@ -46,6 +46,9 @@
<div class="card-body">
<?= $tblEmpPayTransInDed ?>
</div>
<div class="card-footer">
<a class="btn btn-primary" href="/payroll/empslip/<?= $payTrans->paytrans_id.'/'.$payGroup->pay_group_id ?>" target="_blank">View Payslip</a>
</div>
</div>
</div>
</div>

Loading…
Cancel
Save