latest commit 19-05-2025

This commit is contained in:
vadivelJ96 2025-05-19 14:44:51 +05:30
parent e1d3064cd5
commit 8a1dc9dd4d
5 changed files with 226 additions and 27 deletions

View File

@ -243,6 +243,10 @@ $routes->post('payslip/checkExistPay', 'Payslip::checkExistPay');
$routes->post('payslip/callsp', 'Payslip::callsp');
$routes->get('payslip/editPayslip/(:any)', 'Payslip::editPayslip/$1');
$routes->post('payslip/updatePayslip', 'Payslip::updatePayslip');
$routes->post('payslip/isPaySlipGenerated', 'Payslip::isPaySlipGenerated');
$routes->post('payslip/allowEdit', 'Payslip::allowEdit');
// Application Requisition Flow Routes
$routes->match(['GET', 'POST', 'PUT', 'DELETE'], 'Requisition', 'Requisitionform::requisitionlisting');
$routes->match(['GET', 'POST', 'PUT', 'DELETE'], 'RequisitionForm', 'Requisitionform::requisition');

View File

@ -1074,7 +1074,7 @@ class Payslip extends BaseController
$result = array_merge($employee, $driver);
$HTML = "";
$HTML = "<option value='-1'>Select Employee</option>";
if (count($result) > 0) {
@ -1529,6 +1529,46 @@ class Payslip extends BaseController
}
public function isPaySlipGenerated(){
$empid = $this->request->getPost('employee');
$payon = $this->request->getPost('payon');
$is_driver = $this->driver_model->getDriverName($empid,1);
if($is_driver){
$result = $this->driver_model->checkDriverExistPay($empid, $payon);
return $this->response->setJSON(['count' => count($result)]);
}else{
$result = $this->payroll_model->checkExistPayData($empid, $payon);
return $this->response->setJSON(['count' => count($result)]);
}
}
public function allowEdit(){
$empid = $this->request->getPost('employee');
$payon = $this->request->getPost('payon');
$is_driver = $this->driver_model->getDriverName($empid,1);
if($is_driver){
$result = $this->driver_model->allowEdit($empid, $payon);
return $this->response->setJSON(['result' => $result]);
}else{
$result = $this->payroll_model->allowEdit($empid, $payon);
return $this->response->setJSON(['result' => $result]);
}
}

View File

@ -264,6 +264,40 @@ class Driver_model extends Model
return $query->getResult();
}
public function allowEdit($empid, $payon)
{
// Start a transaction
$this->db->transBegin();
// Delete record from t_payroll
$builder1 = $this->db->table('t_driver_payroll')
->where('PayOn', $payon)
->where('driver_id', $empid);
$deleteSuccess = $builder1->delete();
// Check if either failed
if ($deleteSuccess === false ) {
// Rollback all changes if any query failed
$this->db->transRollback();
return [
'status' => 'error',
'message' => 'Transaction failed: Delete or update unsuccessful.' ,
'result' => false
];
}
// If both succeeded, commit the transaction
$this->db->transCommit();
return [
'status' => 'success',
'message' => 'Both t_driver_payroll row deleted successfully...!!',
'result' => true
];
}
function getMonthlyPayDetails($driver_id, $PayOn)
{
$builder = $this->db->table('t_driver_monthly_pay_inputs MonthlyPay ')

View File

@ -74,6 +74,47 @@ class Payroll_model extends Model
return $query->getResult();
}
public function allowEdit($empid, $payon)
{
// Start a transaction
$this->db->transBegin();
// Delete record from t_payroll
$deleteSuccess = $this->db->table('t_payroll')
->where('PayOn', $payon)
->where('EmpID', $empid)
->delete();
// Update record in t_monthly_pay_inputs
$updateSuccess = $this->db->table('t_monthly_pay_inputs')
->where('Month_Year', $payon)
->where('EmpID', $empid)
->set('is_payslip_generated', 0)
->update();
// Check if either failed
if ($deleteSuccess === false || $updateSuccess === false) {
// Rollback all changes if any query failed
$this->db->transRollback();
return [
'status' => 'error',
'message' => 'Transaction failed: Delete or update unsuccessful.' ,
'result' => false
];
}
// If both succeeded, commit the transaction
$this->db->transCommit();
return [
'status' => 'success',
'message' => 'Both t_payroll row deleted and t_monthly_pay_inputs updated successfully...!!',
'result' => true
];
}
function checkFileDetailsExists2($PayOn, $EmpId)
{
//echo $EmpId;

View File

@ -37,6 +37,84 @@ $monthsoptions = array("01" => "Jan", "02" => "Feb", "03" => "Mar", "04" => "Apr
}
});
$("#Employee").change(function() {
let payon = $('#PayOn').val();
let employee = $('#Employee').val();
if (payon != '-1' && employee != '-1') {
$('#loader').show();
$.ajax({
data: {
payon,
employee
},
type: "POST",
url: "<?php echo base_url(); ?>payslip/isPaySlipGenerated",
success: function(data) {
console.log(data);
if(data.count > 0){
$('#allowEdit').show();
}else{
$('#allowEdit').hide();
}
},
error: function(xhr, status, error) {
console.error("Error occurred: " + error);
},
complete: function() {
$('#loader').hide();
console.log("Request completed");
}
});
} else {
alert('Please select the Employee');
return false;
}
});
$("#allowEdit").click(function() {
let payon = $('#PayOn').val();
let employee = $('#Employee').val();
if (payon != '-1' && employee != '-1') {
$('#loader').show();
$.ajax({
data: {
payon,
employee
},
type: "POST",
url: "<?php echo base_url(); ?>payslip/allowEdit",
success: function(data) {
if (data && typeof data === 'object' && data.result?.status === "success") {
$('#allowEdit').hide();
alert("Edit allowed successfully for Employee -Id: " + employee + " for : " + payon + " Kindly visit the Monthly Pay Information ..!!");
} else {
alert("Error in Allow Edit");
}
},
error: function(xhr, status, error) {
console.error("Error occurred: " + error);
},
complete: function() {
$('#loader').hide();
console.log("Request completed");
}
});
} else {
alert('Please select the Employee');
return false;
}
});
$("#Calculate").click(function() {
var payon = $('#PayOn').val();
var employee = $('#Employee').val();
@ -102,6 +180,7 @@ $monthsoptions = array("01" => "Jan", "02" => "Feb", "03" => "Mar", "04" => "Apr
$('form#PayslipGenerator').submit();
$('#loader').hide();
alert("Payslip Downloaded Successfully..!");
$('#allowEdit').show();
} else {
$.ajax({
@ -116,6 +195,7 @@ $monthsoptions = array("01" => "Jan", "02" => "Feb", "03" => "Mar", "04" => "Apr
$('form#PayslipGenerator').submit();
$('#loader').hide();
alert("Salary Calculated Successfully..!");
$('#allowEdit').show();
}
});
@ -158,7 +238,6 @@ $monthsoptions = array("01" => "Jan", "02" => "Feb", "03" => "Mar", "04" => "Apr
<form id="PayslipGenerator" action="<?php echo base_url() ?>PrintPdf" method="post" role="form" style="border:2px dotted; padding:5%">
<div class="row">
<div class="col-md-4">
<span for="selectmonth">Select Month</span>
<select id="PayOn" name="PayOn" class="form-control select2" style="width: 100%;">
<option value="-1">Select Payon Month</option>
@ -175,24 +254,31 @@ $monthsoptions = array("01" => "Jan", "02" => "Feb", "03" => "Mar", "04" => "Apr
}
?>
</select>
</div>
<div id="content"></div>
<div class="col-md-2">
</div>
<div class="col-md-4 col-md-offset-2">
<span>Employee</span>
<select id="Employee" name="Employee" class="form-control select2" type="text" class="form-control">
<option value="-1">Select Employee</option>
</select>
<br />
<!-- <input type="checkbox" name="All" id="All"> Select All<br> -->
</div>
<div class="col-md-6" align="right">
</div>
<div class="col-md-4 col-md-offset-6" align="right" style="padding-top: 23px;">
<input type="button" class="btn btn-info" id="Calculate" value="Calculate Pay" />
</div>
<div class="row">
</div>
<div id="content"></div>
<div class="col-md-2">
</div>
<div class="col-md-4 col-md-offset-2">
<span>Employee</span>
<select id="Employee" name="Employee" class="form-control select2" type="text" class="form-control">
<option value="-1">Select Employee</option>
</select>
<br />
<!-- <input type="checkbox" name="All" id="All"> Select All<br> -->
</div>
</div>
<div class="row">
<div class="col-md-6" align="right">
</div>
<div class="col-md-4 col-md-offset-6" align="right" style="padding-top: 23px;">
<input type="button" class="btn btn-info" id="Calculate" value="Calculate Pay" />
<input type="button" class="btn btn-danger" id="allowEdit" value="Allow Edit" style="display:none;" />
</div>
</div>
<div class="row">
<?php
helper('form');
$error = session()->getFlashdata('error');
@ -212,14 +298,8 @@ $monthsoptions = array("01" => "Jan", "02" => "Feb", "03" => "Mar", "04" => "Apr
<?php echo session()->getFlashdata('success'); ?>
</div>
<?php } ?>
<div class="row">
<div class="col-md-4">
<?php // echo validation_errors('<div class="alert alert-danger alert-dismissable">', ' <button type="button" class="close" data-dismiss="alert" aria-hidden="true"><3E></button></div>');
?>
</div>
</div>
</div>
</div>
</form>
</div>
</div>