Merge pull request 'modified EmpPayInfo to add work_days' (#7) from paulcortezl5 into main

Reviewed-on: #7
pull/8/head
paul 8 months ago
commit 9269bb5503

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

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

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

@ -76,28 +76,42 @@
<label for="txtSavingsAccount">Savings Account Number</label>
<input class="form-control" type="text" id="txtSavingsAccount" name="savings_account" value="<?= old('savings_account') ?>">
</div>
<div class="form-group">
<label>Select Work Days</label>
<select class="form-control" style="width: 100%;" name="work_days" id="lstWorkDays">
<option value="261">No work and not paid on Sat and Sun or Rest Day</option>
<option value="313">No work and not paid on Sun or Rest Day</option>
</select>
</div>
<div class="form-group">
<label for="txtMonthlyBasicPay">Monthly Basic Salary</label>
<div class="input-group mb-3">
<input class="form-control rounded-0" type="text" id="txtMonthlyBasicPay" name="basic_monthly_pay" values="<?= old('basic_monthly_pay') ?>">
<input class="form-control rounded-0" type="number" id="txtMonthlyBasicPay" 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()">Compute</button>
<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="txtSemiMonthlyBasicPay">Semi-monthly Basic Salary</label>
<input class="form-control" type="text" id="txtSemiMonthlyBasicPay" name="basic_semi_monthly_pay" value="<?= old('basic_semi_monthly_pay') ?>">
<input class="form-control" type="number" id="txtSemiMonthlyBasicPay" name="basic_semi_monthly_pay" value="<?= old('basic_semi_monthly_pay') ?>">
</div>
<div class="form-group">
<label for="txtDailyBasicPay">Daily Basic Salary</label>
<input class="form-control" type="text" id="txtDailyBasicPay" name="basic_daily_pay" value="<?= old('basic_daily_pay') ?>">
<label for="txtDailyBasicPay">Daily Basic Salary</label>
<div class="input-group mb-3">
<input class="form-control rounded-0" type="number" id="txtDailyBasicPay" 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="txtHourlyBasicPay">Hourly Basic Salary</label>
<input class="form-control" type="text" id="txtHourlyBasicPay" name="basic_hourly_pay" value="<?= old('basic_hourly_pay') ?>">
<input class="form-control" type="number" id="txtHourlyBasicPay" 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="chkHasCola" name="has_cola">
@ -194,11 +208,27 @@ $(document).ready(function() {
});
});
function computeBasicPay()
function computeBasicPay(fromSource)
{
$("#txtSemiMonthlyBasicPay").val($("#txtMonthlyBasicPay").val() / 2);
$("#txtDailyBasicPay").val($("#txtMonthlyBasicPay").val() * 12 / 313);
$("#txtHourlyBasicPay").val($("#txtMonthlyBasicPay").val() * 12 / 313 / 8);
var monthlyBasic = 0;
switch(fromSource)
{
case 'fromDaily':
monthlyBasic = Number($("#txtDailyBasicPay").val()) * Number($("#lstWorkDays").val()) / 12;
break;
case 'fromMonthly':
monthlyBasic = Number($("#txtMonthlyBasicPay").val());
break;
}
if(fromSource != 'fromMonthly') $("#txtMonthlyBasicPay").val(monthlyBasic);
$("#txtSemiMonthlyBasicPay").val(monthlyBasic / 2);
if(fromSource != 'fromDaily') $("#txtDailyBasicPay").val(monthlyBasic * 12 / Number($("#lstWorkDays").val()));
$("#txtHourlyBasicPay").val(monthlyBasic * 12 / Number($("#lstWorkDays").val()) / 8);
$("#txtSalaryFormula").html("Formula: Basic Salary x 12 x " + $("#lstWorkDays").val());
}
</script>

Loading…
Cancel
Save