diff --git a/app/Controllers/Driver.php b/app/Controllers/Driver.php
index 8f091691..f73d7c7b 100755
--- a/app/Controllers/Driver.php
+++ b/app/Controllers/Driver.php
@@ -401,7 +401,7 @@ class Driver extends BaseController
echo json_encode(count($result));
}
- public function driverPayslip()
+ public function driverPayslip_old()
{
$PayOn = $this->request->getPost('payon');
@@ -426,6 +426,84 @@ class Driver extends BaseController
}
+ public function driverPayslip()
+ {
+
+ $PayOn = $this->request->getPost('payon');
+
+ $Driver = $this->request->getPost('employee');
+
+ $res = $this->driver_model->getMonthlyPayDetails($Driver, $PayOn);
+
+ $result = $res[0];
+
+
+ $loan = [];
+ $loanHistory = [];
+ $loan_id = 0;
+ $BalanceAdvance = 0;
+ if(is_null($result->Loan_ID)){
+
+ }else{
+ if($result->Loan_Recovered > 0)
+ {
+ $loan_id = $result->Loan_ID;
+
+ if($result->Remaining_Due - 1 == 0){ $is_Active = 0; }else{ $is_Active = 1; }
+
+ $loan = [
+ 'Paid_Due' => $result->Paid_Due + 1,
+ 'Remaining_Due' => $result->Remaining_Due - 1,
+ 'Paid_Amount' => $result->Paid_Amount + $result->Loan_Recovered,
+ 'is_Active' => $is_Active
+ ];
+
+
+ $loanHistory = [
+ 'Loan_ID' => $loan_id,
+ 'Due_Amount' => $result->Loan_Recovered,
+ 'Balance_Amount' => (int)$result->Loan_Amount - ((int)$result->Paid_Amount + (int)$result->Loan_Recovered),
+ 'Due_Date' => (string)$PayOn,
+ ];
+
+ $BalanceAdvance = $result->Loan_Amount - ($result->Paid_Amount + $result->Loan_Recovered);
+
+
+ }
+ }
+
+ $data = [
+ 'PayOn' => $result->month_year,
+ 'driver_id' => $result->driver_id,
+ 'no_of_loads' => $result->no_of_loads,
+ 'monthly_salary_amount' => $result->monthly_salary_amount,
+ 'monthly_food_amount' => $result->monthly_food_amount,
+ 'final_payment' => $result->final_payment,
+ 'created_by' => $this->session->get('userId'),
+ 'shed_amount' => $result->total_shed_amount,
+ 'diesel_amount' => $result->total_diesel_amount,
+ 'ESI' => $result->ESI,
+ 'PF' => $result->PF,
+ 'Advance' => $result->Loan_Recovered,
+ 'BalanceAdvance' => $BalanceAdvance,
+ 'LessAdvance' => 0,
+ 'Festival_Bonus' => $result->Festival_Bonus,
+ ];
+
+
+
+ $insert = $this->driver_model->insertPayroll($data);
+ if($insert){
+ if(count($loan)){
+ $this->driver_model->updateLoan($loan_id,$result->driver_id,$loan);
+ }
+ if(count($loanHistory)){
+ $this->driver_model->insertLoanHistory($loanHistory);
+ }
+ }
+ return $insert;
+ }
+
public function driverPrintPdf()
{
diff --git a/app/Controllers/Payslip.php b/app/Controllers/Payslip.php
index e1c7b5b2..28566e81 100755
--- a/app/Controllers/Payslip.php
+++ b/app/Controllers/Payslip.php
@@ -737,7 +737,7 @@ class Payslip extends BaseController
$from_mysql_date = get_date_time_dynamical_format('d-m-Y','Y-m-d',"01-$month_in_number-$year");
$to_mysql_date = get_date_time_dynamical_format('d-m-Y','Y-m-d',"$get_last_date_of_the_month-$month_in_number-$year");
-
+
// $data['monthinputs']
$load_driver_data = $this->driver_model->driverAttendanceForMonthlyPayInputs($from_mysql_date,$to_mysql_date);
// dd($load_driver_data);
@@ -762,35 +762,108 @@ class Payslip extends BaseController
$PF_Rate = $load_driver_data[$i]->PF_Rate;
$ESI_Rate = $load_driver_data[$i]->ESI_Rate;
- $basic = isset($load_driver_data[$i]->driver_earnings_amount) ? (int)$load_driver_data[$i]->driver_earnings_amount + (int)$load_driver_data[$i]->shed_amount+(int)$load_driver_data[$i]->diesel_amount : 0;
+ $salary = isset($load_driver_data[$i]->monthly_salary_amount) ? (int)$load_driver_data[$i]->monthly_salary_amount : 0;
+ $food = isset($load_driver_data[$i]->monthly_food_amount) ? (int)$load_driver_data[$i]->monthly_food_amount : 0;
+ $shed = isset($load_driver_data[$i]->shed_amount) ? (int)$load_driver_data[$i]->shed_amount : 0;
+ $diesel = isset($load_driver_data[$i]->diesel_amount) ? (int)$load_driver_data[$i]->diesel_amount : 0;
- $load_driver_data[$i]->driver_basic = $basic;
- $load_driver_data[$i]->driver_earnings_amount = $monthly_pay_array[$driver_id]->driver_earnings_amount;
+ $Monthly_Due = $load_driver_data[$i]->Monthly_Due; // AUTO LOAN DUE
+ $Loan_Recovered = $load_driver_data[$i]->Loan_Recovered; //MANUAL LOAN DUE
+ $loan = 0;
+ $due_start_date = $load_driver_data[$i]->DueDate;
+ $paydate = $current; //From POST parm
+ if ($Loan_Recovered == 'NA') {
+ $loan = 0.00;
+ } else if ($Loan_Recovered == 0.00) {
+ if (strtotime($due_start_date) <= strtotime($to_mysql_date)) {
+ $loan = $Monthly_Due;
+ }
+ } else if ($Loan_Recovered >= 0.00) {
+ if (strtotime($due_start_date) <= strtotime($to_mysql_date)) {
+ $loan = $Loan_Recovered;
+ }
+ }
- // $load_driver_data[$i]->diesel = $monthly_pay_array[$driver_id]->diesel;
- // $load_driver_data[$i]->shed_duty_amount = $monthly_pay_array[$driver_id]->shed_duty_amount;
- $load_driver_data[$i]->driver_final_payment = $monthly_pay_array[$driver_id]->driver_final_payment;
+ $load_driver_data[$i]->driver_basic = $salary+$food;
+ $Loan_amount = $load_driver_data[$i]->Loan_Amount;
+ $Paid_Amount = $load_driver_data[$i]->Paid_Amount;
+ $Balance_Amount = $Loan_amount - $Paid_Amount;
+ if ($Monthly_Due > $Balance_Amount) {
+ $loan = $Balance_Amount;
+ }
+
+ $empSalaryAdd = $salary+$food;
+ $empSalarySub = $loan;
+ $salaryInCurrentday = $empSalaryAdd - $empSalarySub;
+ $load_driver_data[$i]->driver_final_payment = $salaryInCurrentday+$shed+$diesel;
+
+ $load_driver_data[$i]->driver_salary = $salary;
+ $load_driver_data[$i]->driver_food = $food;
+ $load_driver_data[$i]->driver_shed = $shed;
+ $load_driver_data[$i]->driver_diesel = $diesel;
+
$load_driver_data[$i]->payroll_id = $monthly_pay_array[$driver_id]->payroll_id;
$load_driver_data[$i]->Festival_Bonus = $monthly_pay_array[$driver_id]->Festival_Bonus;
- $load_driver_data[$i]->esi_amount = ($load_driver_data[$i]->esi_applicable == 1) ? $basic * $ESI_Rate / 100 : 0;
- $load_driver_data[$i]->pf_amount = ($load_driver_data[$i]->pf_applicable == 1) ? $basic * $PF_Rate / 100 : 0;
- $load_driver_data[$i]->basic_worked = $basic * 30 / 100;
- $load_driver_data[$i]->hra_worked = $basic * 70 / 100;
+
+ $load_driver_data[$i]->esi_amount = ($load_driver_data[$i]->esi_applicable == 1) ? ($salary+$food) * $ESI_Rate / 100 : 0;
+ $load_driver_data[$i]->pf_amount = ($load_driver_data[$i]->pf_applicable == 1) ? ($salary+$food) * $PF_Rate / 100 : 0;
+ $load_driver_data[$i]->basic_worked = ($salary+$food) * 30 / 100;
+ $load_driver_data[$i]->hra_worked = ($salary+$food) * 70 / 100;
}else {
$PF_Rate = $load_driver_data[$i]->PF_Rate;
$ESI_Rate = $load_driver_data[$i]->ESI_Rate;
+
+ $salary = isset($load_driver_data[$i]->monthly_salary_amount) ? (int)$load_driver_data[$i]->monthly_salary_amount : 0;
+ $food = isset($load_driver_data[$i]->monthly_food_amount) ? (int)$load_driver_data[$i]->monthly_food_amount : 0;
+ $shed = isset($load_driver_data[$i]->shed_amount) ? (int)$load_driver_data[$i]->shed_amount : 0;
+ $diesel = isset($load_driver_data[$i]->diesel_amount) ? (int)$load_driver_data[$i]->diesel_amount : 0;
+
+ $load_driver_data[$i]->driver_basic = $salary+$food;
+
+ $load_driver_data[$i]->driver_salary = $salary;
+ $load_driver_data[$i]->driver_food = $food;
+ $load_driver_data[$i]->driver_shed = $shed;
+ $load_driver_data[$i]->driver_diesel = $diesel;
- $basic = isset($load_driver_data[$i]->driver_earnings_amount) ? (int)$load_driver_data[$i]->driver_earnings_amount + (int)$load_driver_data[$i]->shed_amount+(int)$load_driver_data[$i]->diesel_amount : 0;
- $load_driver_data[$i]->driver_basic = $basic;
- $load_driver_data[$i]->driver_earnings_amount = $load_driver_data[$i]->driver_earnings_amount;
- $load_driver_data[$i]->driver_final_payment = $basic;
$load_driver_data[$i]->payroll_id = '';
$load_driver_data[$i]->Festival_Bonus = 0;
- $load_driver_data[$i]->esi_amount = ($load_driver_data[$i]->esi_applicable == 1) ? $basic * $ESI_Rate / 100 : 0;
- $load_driver_data[$i]->pf_amount = ($load_driver_data[$i]->pf_applicable == 1) ? $basic * $PF_Rate / 100 : 0;
- $load_driver_data[$i]->basic_worked = $basic * 30 / 100;
- $load_driver_data[$i]->hra_worked = $basic * 70 / 100;
+
+ $load_driver_data[$i]->esi_amount = ($load_driver_data[$i]->esi_applicable == 1) ? ($salary+$food) * $ESI_Rate / 100 : 0;
+ $load_driver_data[$i]->pf_amount = ($load_driver_data[$i]->pf_applicable == 1) ? ($salary+$food) * $PF_Rate / 100 : 0;
+ $load_driver_data[$i]->basic_worked = ($salary+$food) * 30 / 100;
+ $load_driver_data[$i]->hra_worked = ($salary+$food) * 70 / 100;
+
+ $Monthly_Due = $load_driver_data[$i]->Monthly_Due; // AUTO LOAN DUE
+ $Loan_Recovered = $load_driver_data[$i]->Loan_Recovered; //MANUAL LOAN DUE
+ $loan = 0;
+ $due_start_date = $load_driver_data[$i]->DueDate;
+ $paydate = $current; //From POST parm
+ if ($Loan_Recovered == 'NA') {
+ $loan = 0.00;
+ } else if ($Loan_Recovered == 0.00) {
+ if (strtotime($due_start_date) <= strtotime($to_mysql_date)) {
+ $loan = $Monthly_Due;
+ }
+ } else if ($Loan_Recovered >= 0.00) {
+ if (strtotime($due_start_date) <= strtotime($to_mysql_date)) {
+ $loan = $Loan_Recovered;
+ }
+ }
+
+ $load_driver_data[$i]->driver_basic = $salary+$food;
+ $Loan_amount = $load_driver_data[$i]->Loan_Amount;
+ $Paid_Amount = $load_driver_data[$i]->Paid_Amount;
+ $Balance_Amount = $Loan_amount - $Paid_Amount;
+ if ($Monthly_Due > $Balance_Amount) {
+ $loan = $Balance_Amount;
+ }
+
+ $empSalaryAdd = $salary+$food;
+ $empSalarySub = $loan;
+ $salaryInCurrentday = $empSalaryAdd - $empSalarySub;
+ $load_driver_data[$i]->driver_final_payment = $salaryInCurrentday+$shed+$diesel;
+
}
}
// dd($load_driver_data);
@@ -973,7 +1046,6 @@ class Payslip extends BaseController
$month = $mon . "-" . $year;
- //echo $month;die();
$total = 0;
$ErrorEmpId = '';
$TotalErrorFlag = 0;
@@ -1102,16 +1174,7 @@ class Payslip extends BaseController
$Festival_Bonus = isset($j['Festival Bonus in ₹']) ? $j['Festival Bonus in ₹'] : 0.00;
$tds_Deductions = isset($j['TDS Deductions in ₹']) ? $j['TDS Deductions in ₹'] : 0.00;
$Estimate = isset($j['Estimate in ₹']) ? $j['Estimate in ₹'] : 0.00;
- $Created_By = $this->session->get('userId');
-
- $ID = $EmpID ;
- $LOAD = $DaysWorked;
- $SALARY = $Basic ;
- $TOTAL = $Basic ;
- $DIESEL = $Festival_Bonus ;
- $GRAND = $Estimate;
- $CREATED = $this->session->get('userId');
- $UPDATED = $this->session->get('userId');
+ $Created_By = $this->session->get('userId');
if($is_driver == 0){
@@ -1142,21 +1205,35 @@ class Payslip extends BaseController
$result = $this->monthlypay_model->saveMonthlyData_model($monthlypaydata);
}else{
- $CREATED = $this->session->get('userId');
- $UPDATED = $this->session->get('userId');
+
+ $get_last_date_of_the_month = cal_days_in_month(CAL_GREGORIAN, $mon, $year);
+ $from_mysql_date = get_date_time_dynamical_format('d-m-Y','Y-m-d',"01-$mon-$year");
+ $to_mysql_date = get_date_time_dynamical_format('d-m-Y','Y-m-d',"$get_last_date_of_the_month-$mon-$year");
+ $load_driver_data = $this->driver_model->driverAttendanceForMonthlyPayInputs($from_mysql_date,$to_mysql_date);
+ $Food = isset($load_driver_data[0]->monthly_food_amount) ? (int)$load_driver_data[0]->monthly_food_amount : 0;
+ $Shed = isset($load_driver_data[0]->shed_amount) ? (int)$load_driver_data[0]->shed_amount : 0;
+ $Diesel = isset($load_driver_data[0]->diesel_amount) ? (int)$load_driver_data[0]->diesel_amount : 0;
$drivermonthlypaydata = array(
- 'month_year' => $month,
- 'driver_id' =>$EmpID,
- 'no_of_loads' =>(strpos($TotalCalDays, "(trip)") !== false) ? explode(" ", $TotalCalDays)[0] : 0,
- 'driver_monthly_salary_amount' => $WorkedSalary,
- 'Festival_Bonus' => $Festival_Bonus,
- 'driver_final_payment' =>$Estimate,
- 'created_by'=>$CREATED,
- 'updated_by'=>$UPDATED
+ 'month_year'=>$month,
+ 'driver_id'=>$EmpID,
+ 'no_of_loads'=>(strpos($TotalCalDays, "(trip)") !== false) ? explode(" ", $TotalCalDays)[0] : 0,
+ 'monthly_food_amount'=>$Food,
+ 'total_diesel_amount'=>$Diesel,
+ 'total_shed_amount'=>$Shed,
+ 'monthly_salary_amount'=>($Basic+$Food),
+ 'final_payment'=>$Estimate,
+ 'HRA'=>$HRA,
+ 'ESI'=>$ESI,
+ 'PF'=>$PF,
+ 'Festival_Bonus'=>$Festival_Bonus,
+ 'Loan_Recovered'=>$Loan_Recovered,
+ 'created_by'=>$Created_By,
+ 'updated_by'=>$Created_By
);
-
+
+ // print_r($drivermonthlypaydata);die;
$result = $this->driver_model->saveMonthlyData($drivermonthlypaydata);
}
@@ -1290,6 +1367,7 @@ class Payslip extends BaseController
$y = substr((string)$Payon, 3);
+ // if condition for all while checkbox is checked means.
if ($All != '') {
$filename = 'PayslipFor-' . $m . '-' . $y;
$result = $this->payroll_model->getEmpAll($Payon);
@@ -1314,18 +1392,20 @@ class Payslip extends BaseController
}
} else {
$EmpID = $this->request->getPost('Employee');
+ // $EmpID = "RIPL136";
$is_driver = $this->driver_model->getDriverName($EmpID,1);
+ // print_r($is_driver);die;
if($is_driver == "1"){
$Data['PayDetails'] = $this->driver_model->GetPayslipdata($Payon, $EmpID);
-
+ // print_r($Data['PayDetails']);die;
$name = $Data['PayDetails'][0]->driver_name;
$filename = 'PayslipFor-' . $EmpID . ' ' . $name . ' ' . $m . ' ' . $y;
- $totalsalary = $Data['PayDetails'][0]->driver_final_payment;
+ $totalsalary = $Data['PayDetails'][0]->final_payment;
$totalsalaryinwords = $this->convertNumberToWords(round($totalsalary));
$Data['amtinwords'] = $totalsalaryinwords;
- $currentDayBasic = isset($Data['PayDetails'][0]->driver_monthly_salary_amount) ? $Data['PayDetails'][0]->driver_monthly_salary_amount : 0;
+ $currentDayBasic = isset($Data['PayDetails'][0]->monthly_salary_amount) ? $Data['PayDetails'][0]->monthly_salary_amount : 0;
$PF_Rate = $Data['PayDetails'][0]->PF_Rate;
$ESI_Rate = $Data['PayDetails'][0]->ESI_Rate;
$Data['esi_amount'] = ($Data['PayDetails'][0]->esi_applicable == 1) ? $currentDayBasic * $ESI_Rate / 100 : 0;
diff --git a/app/Models/Driver_model.php b/app/Models/Driver_model.php
index 6a15d465..55965a99 100755
--- a/app/Models/Driver_model.php
+++ b/app/Models/Driver_model.php
@@ -105,12 +105,15 @@ class Driver_model extends Model
$builder = $this->db->table('t_driver_attendance')
->select('t_driver_attendance.driver_id,driver_details.FirstName as driver_name,driver_details.is_driver,
DATE_FORMAT(date, "%M-%Y") AS month_year,COUNT(t_driver_attendance.load_type) AS no_of_loads,driver_details.*,t_emp_pay_data.PF_Rate,t_emp_pay_data.ESI_Rate')
- ->select('SUM(t_driver_attendance.salary_amount) as driver_monthly_salary_amount,
- SUM(t_driver_attendance.food_amount) as driver_monthly_food_amount,
- SUM(salary_amount + food_amount) AS driver_earnings_amount,
+ ->select('SUM(t_driver_attendance.salary_amount) as monthly_salary_amount,
+ SUM(t_driver_attendance.food_amount) as monthly_food_amount,
diesel_amount,shed_amount,CONCAT_WS(" ", driver_details.FirstName, driver_details.LastName) AS FullName')
+ ->select('t_loan_master.Loan_ID,Loan_Amount,Loan_Issued_Date,Monthly_Due,Due_Start_Date as DueDate,No_of_Dues,Paid_Due,Remaining_Due,Paid_Amount,t_loan_history.Balance_Amount, t_driver_monthly_pay_inputs.Loan_Recovered')
->join('t_employee_details as driver_details', 'driver_details.EmpID = t_driver_attendance.driver_id', 'left')
->join('t_emp_pay_data','t_emp_pay_data.EmpID=driver_details.EmpID','Left')
+ ->join('t_loan_master','t_loan_master.EmpID = driver_details.EmpID','Left')
+ ->join('t_loan_history','t_loan_history.Loan_ID = t_loan_master.Loan_ID','Left')
+ ->join('t_driver_monthly_pay_inputs','t_driver_monthly_pay_inputs.driver_id = driver_details.EmpID','Left')
->where('t_driver_attendance.date BETWEEN "'.$from.'" AND "'.$to.'"')
->groupBy('DATE_FORMAT(t_driver_attendance.date, "%M-%Y")');
@@ -226,15 +229,32 @@ class Driver_model extends Model
function getMonthlyPayDetails($driver_id, $PayOn)
{
$builder = $this->db->table('t_driver_monthly_pay_inputs MonthlyPay ')
- ->select('MonthlyPay.*,driver.EmpID as EmpId,CONCAT_WS(" ", driver.FirstName, driver.LastName) AS FullName')
+ ->select('CONCAT_WS(" ", driver.FirstName, driver.LastName) AS FullName')
+ ->select('MonthlyPay.*,driver.BankAccountNo , driver.PFNO , driver.ESI as ESINO , L.Loan_ID, L.Loan_Amount, L.Loan_Issued_Date, L.Monthly_Due, L.Due_Start_Date, L.No_of_Dues, L.Paid_Due, L.Remaining_Due, L.Paid_Amount')
->join('t_employee_details as driver', 'driver.EmpID = MonthlyPay.driver_id and driver.is_driver = 1', 'left')
+ ->join('t_loan_master as L', 'MonthlyPay.driver_id = L.EmpID and L.is_Active = 1', 'left')
->where('MonthlyPay.driver_id', $driver_id)
->where('MonthlyPay.month_year', $PayOn);
$query = $builder->get();
return $query->getResult();
}
-
+ function insertLoanHistory($data)
+ {
+ $builder = $this->db->table('t_loan_history');
+ $builder->insert($data);
+ $count = $this->db->affectedRows();
+ return $count;
+ }
+ function updateLoan($LoanID,$EmpID,$data)
+ {
+ $builder = $this->db->table('t_loan_master')
+ ->where('Loan_ID', $LoanID)
+ ->where('EmpID', $EmpID)
+ ->update($data);
+ $count = $this->db->affectedRows();
+ return $count;
+ }
function insertPayroll($data)
{
$builder = $this->db->table('t_driver_payroll');
@@ -261,13 +281,16 @@ class Driver_model extends Model
function GetPayslipdata($PayOn = '', $EmpId = '')
{
//echo "FROM MODEL" . $PayOn . $EmpId;
+
+
$builder = $this->db->table('t_driver_payroll Pay')->select('Pay.*')
->select('Emp.EmpID,CONCAT_WS(" ", Emp.FirstName, Emp.LastName) as driver_name,Emp.DateofBirth as Dob,Emp.PANNo as Pan,Emp.BankBranchName as BankName,Emp.BankAccountNo as BankAccountNumber,Emp.IFSCCode as IFSCCode,Emp.DateofJoining as DOJ,Emp.AadharNo,Emp.Designation as Designation,Dep.DepartmentName as DeptName,Emp.esi_applicable,Emp.pf_applicable')
- ->select('att.diesel_amount , att.shed_amount,t_emp_pay_data.PF_Rate,t_emp_pay_data.ESI_Rate,month.Festival_Bonus')
+ ->select('t_emp_pay_data.PF_Rate,t_emp_pay_data.ESI_Rate')
+ ->select('month.Festival_Bonus,month.HRA,month.Loan_Recovered,month.total_diesel_amount,month.total_shed_amount')
+ // ->select('month.monthly_salary_amount,month.monthly_food_amount,month.Festival_Bonus,month.final_payment,month.HRA,month.ESI,month.PF,month.Loan_Recovered,month.total_diesel_amount,month.total_shed_amount')
->join('t_employee_details Emp', 'Pay.driver_id = Emp.EmpID')
->join('t_departmentdetails Dep', 'Emp.Departmentcode = Dep.DEPCode')
->join('t_emp_pay_data','t_emp_pay_data.EmpID=Emp.EmpID','Left')
- ->join('t_driver_attendance att', 'att.driver_id = Emp.EmpID')
->join('t_driver_monthly_pay_inputs month', 'month.driver_id = Emp.EmpID');
if ($PayOn != '') {
$builder->where('Pay.PayOn', $PayOn);
diff --git a/app/Views/driverPayslipGeneratePrint.php b/app/Views/driverPayslipGeneratePrint.php
index a9cc7576..9e82bc46 100755
--- a/app/Views/driverPayslipGeneratePrint.php
+++ b/app/Views/driverPayslipGeneratePrint.php
@@ -20,7 +20,7 @@
-
+
| Name |
driver_name; ?> |
@@ -60,8 +60,8 @@
Bank IFSC |
IFSCCode ?> |
= ' ' ?> |
- |
- |
+Loan Balance |
+BalanceAdvance ?> |
@@ -71,8 +71,8 @@
| Earnings | Amount ₹ | Deductions | Amount ₹ |
-| Monthly Salary |
-driver_monthly_salary_amount; ?> |
+ Basic |
+monthly_salary_amount; ?> |
PF |
|
@@ -85,8 +85,8 @@
| Shed Duty Amount |
shed_amount; ?> |
- |
- |
+ Salary Advance |
+ Advance ?> |
@@ -103,7 +103,7 @@
| Total Earning (Rounded) |
driver_monthly_salary_amount + $PayDetails[0]->Festival_Bonus + $PayDetails[0]->diesel_amount + $PayDetails[0]->shed_amount;
+ $totEarning = $PayDetails[0]->monthly_salary_amount + $PayDetails[0]->Festival_Bonus + $PayDetails[0]->diesel_amount + $PayDetails[0]->shed_amount;
echo number_format(round($totEarning),2)
?>
|
@@ -111,18 +111,18 @@
Total Deduction (Rounded) |
Advance+$esi_amount + $pf_amount ;
echo number_format(round($totDeduction),2)
?>
|
| Net Pay(Rounded) |
-driver_final_payment),2,'.','') ?> |
+final_payment),2,'.','') ?> |
| Total Amount In Words |
- |
+ |
| This is a computer generated document. This document does not require signature. |
diff --git a/app/Views/monthlypayinputs.php b/app/Views/monthlypayinputs.php
index c6974478..badc95a6 100755
--- a/app/Views/monthlypayinputs.php
+++ b/app/Views/monthlypayinputs.php
@@ -511,8 +511,7 @@
if(!empty($drivermonthinputs)){
foreach ($drivermonthinputs as $i => $record) {
$inx++;
- $salary_amount = ($record->driver_basic);
-
+ $sum_of_amount = ($record->driver_basic+$record->driver_shed+$record->driver_diesel);
?>
|
@@ -552,7 +551,7 @@
|
-
+
|
@@ -560,7 +559,7 @@
|
-
+
|
@@ -568,16 +567,17 @@
|
-
+
+ driver_basic, 2, '.', ''); ?>
|
- driver_basic) * 70 / 100;
echo number_format($basicWorked, 2, '.', ''); ?>
|
- driver_basic) * 30 / 100;
echo number_format($hraWorked, 2, '.', ''); ?>
|
@@ -593,13 +593,23 @@
-
- Monthly_Due;
- echo number_format(0.00, 2, '.', ''); ?>
+
+ | payroll_id)) { echo "contenteditable='true';"; } ?>
+ payroll_id)) { ?> title="Payslip Calculated"
+ style="text-align:right;color:blue;"
+ style="text-align:right;" >
+
+ Monthly_Due)) {
+ echo $record->Monthly_Due;
+ $totalmonthloan[] = $record->Monthly_Due;
+ } else {
+ echo number_format(0.00, 2, '.', '');
+ } ?>
|
+
|
@@ -640,6 +650,14 @@
?>
+
+
+
+
+
@@ -854,7 +872,7 @@ $(document).ready(function () {
// Convert the filtered array back to a JSON string if needed
alldata = JSON.stringify(alldata);
var month = $('#monthyear').val();
-
+
$('#loader').show();
$.ajax({
data: {
@@ -1112,15 +1130,60 @@ $(document).ready(function () {
var str = event.target.id;
var sno = str.substr(8);
+ // console.log(sno);return true;
+
var driverEarn = parseFloat(document.getElementById('ttlsalary' + sno).textContent);
var Festivals = parseFloat(document.getElementById('Festival' + sno).textContent);
totalfestival[sno] = Festivals;
+
+ var element = document.getElementById('loanatm' + sno);
+
+ var loanamt = parseFloat(element.value);
+
+ var paidamt = parseFloat(document.getElementById('paidamt' + sno).value);
+ var monthDue = parseFloat(document.getElementById('monthDue' + sno).textContent);
+ var duedate = document.getElementById('duedate' + sno).value;
+
+ duedate = new Date(duedate);
+ var paydate = document.getElementById('paydate').value;
+ var paydate = document.getElementById('paydate').value;
+ if (paydate.length == 6) {
+ paydate = '0' + paydate;
+ }
+ var pmonthonly = paydate.substring(0, 2);
+ var pyearonly = paydate.substring(3);
+ var pday = new Date(pyearonly, pmonthonly, 0).getDate();
+ var finalpaydate = pyearonly + '-' + pmonthonly + '-' + pday;
+ finalpaydate = new Date(finalpaydate);
+
+
+ var current_loan_amt = 0;
+ var autoLoan = parseFloat(monthDue);
+ var Balance_Amount = loanamt - paidamt;
+
+ if (autoLoan > Balance_Amount) {
+ if (duedate <= finalpaydate) {
+ current_loan_amt = Balance_Amount;
+ }
+ } else {
+ current_loan_amt = autoLoan;
+ }
if (isNaN(driverEarn)) { driverEarn = 0; }
- var driverMonthSalary = driverEarn + Festivals
+
+
+
+
+ var driverSalaryAdd = driverEarn + Festivals;
+
+ var driverSalarySub = current_loan_amt;
+ console.log(current_loan_amt);
+
+
+ var driverMonthSalary = driverSalaryAdd - driverSalarySub
var driverSalary = Math.round(driverMonthSalary);
var cals = (driverSalary).toFixed(0);
@@ -1128,6 +1191,14 @@ $(document).ready(function () {
document.getElementById("empsal" + sno).innerHTML = cals;
// copied from calculategrandtotal() because we need those two only thats why
+ var AutoLoanDueIndex = 21;
+ var AutoLoanDue = 0;
+ $('#monthlylistings tbody tr').each(function() {
+ var value = $(this).find('td').eq(AutoLoanDueIndex).text();
+ AutoLoanDue += parseFloat(value) || 0;
+ });
+ $('#monthloan').text(AutoLoanDue);
+
var FestivalBonusIndex = 23;
var FestivalBonus = 0;
$('#monthlylistings tbody tr').each(function() {
|