From 38bc25667ded31dc1eb38b76bfa947ed32cd0219 Mon Sep 17 00:00:00 2001 From: venbatechnologies Date: Thu, 26 Apr 2018 17:51:40 +0530 Subject: [PATCH] payslip changes --- application/controllers/payslip.php | 206 +++++++++++++++-- application/models/monthlypay_model.php | 4 +- application/views/monthlypayinputs.php | 281 ++++++++++++++++++++++-- 3 files changed, 454 insertions(+), 37 deletions(-) diff --git a/application/controllers/payslip.php b/application/controllers/payslip.php index c96b690b..47545af6 100755 --- a/application/controllers/payslip.php +++ b/application/controllers/payslip.php @@ -504,14 +504,95 @@ function phpAlert($msg) { $this->loadViews("payslipupload2", $this->global, NULL); } - public function monthlyInputs() + public function monthlyInputs() { $current = date("m-Y"); - $data['month'] = $this-> monthlypay_model->monthlyListing($current); + $data['month'] = $this->monthlypay_model->monthlyListing($current); // $data['fresh'] = $this-> monthlypay_model->getEmpPayDetails($current); - $data['dropdownvalue'] = $current; - $data['fresh'] = $this-> monthlypay_model->getEmpPayDetailsforMonthInputs($current); - $this->global['pageTitle'] = 'Siddharth : Payroll Monthly Inputs'; + $data['dropdownvalue'] = $current; + $data['fresh'] = $this->monthlypay_model->getEmpPayDetailsforMonthInputs($current); + //print_r( $data['fresh']); + + $employeeSalary = []; +foreach($data['fresh'] as $value){ + + + $NoofDays=$value->NoofDays;//Month day 30,31,28 + $HRA_Amount = $value->HRA_Amount; + $Basic_Pay = $value->Basic_Pay; + $TotalSalary = $value->TotalSalary; + $Food_Allowances= $value->Food_Allowances; + $Days_worked = $value->Days_worked; // working day + $LOP_Days = $value->LOP_Days; // not working day + $Paid_leave = $value->Paid_leave; // leave day + $OT_Hrs_Worked = $value->OT_Hrs_Worked; //OT hours + $Monthly_Due= $value->Monthly_Due;// loan due amt + $Incentives=$value->Incentives; + $Allowances =$value->Allowances; + $HRA_Rate=$value->HRA_Rate; + $PF_Rate=$value->PF_Rate; + $ESI_Rate=$value->ESI_Rate; + + + + + $daySalarys = $Days_worked + $Paid_leave; + + //echo "hra amount";print_r(array($HRA_Amount,$Basic_Pay,$totalsalary)); + //$Allowances = $allowances * $values; + $dayFood_Allowance = $Food_Allowances * $Days_worked; + + $daySalary = $Basic_Pay / $NoofDays; + /**per day salary working hour**/ + //echo $daySalary.'
'; + + $dayHra = $HRA_Amount / $NoofDays; + /** per day hra amount **/ + //echo $dayHra.'
'; + + $onehoursSalary = ($daySalary + $dayHra) / 8; + /**one hour salay ot calculation**/ + if ($OT_Hrs_Worked != 0) + { + $totSalayOT = $OT_Hrs_Worked * $onehoursSalary; + } + else + { + $totSalayOT = 0; + } + $currentDaySalary = $daySalary * $daySalarys; + /** current day salary working days calculation**/ + + + $currentDayHra = $dayHra * $daySalarys; + /** total working days hra calculations**/ + // echo $currentDayHra.'
'; + $currentDatePF = $currentDaySalary + $currentDayHra + $totSalayOT; + /** current date pf calculation**/ + if ($TotalSalary <= 20000) + { + + $esiAmount = $currentDatePF * $ESI_Rate / 100; + /** esiamount not elgiable for 20000 **/ + } + else + { + $esiAmount = 0; + } + $pfAmount = $currentDaySalary * $PF_Rate/ 100; + /** pf amount per day**/ + + //echo $totalothour;die; + $salaryInCurrentdays = $currentDaySalary + $totSalayOT + $currentDayHra + $dayFood_Allowance + $Allowances + $Incentives; + $salaryInCurrentday = $salaryInCurrentdays - ($esiAmount + $pfAmount) - $Monthly_Due; + $employeeSalary []= round($salaryInCurrentday); + + + +} + $data['empSalary'] = $employeeSalary; + + $this->global['pageTitle'] = 'Siddharth : Payroll Monthly Inputs'; $this->loadViews("monthlypayinputs", $this->global,$data,NULL); @@ -522,11 +603,92 @@ function phpAlert($msg) { $current = $this->input->post('monthyear'); - $data['month'] = $this-> monthlypay_model->monthlyListing($current); + $data['month'] = $this->monthlypay_model->monthlyListing($current); + //print_r($data['month']); $data['dropdownvalue'] = $current; - $data['fresh'] = $this-> monthlypay_model->getEmpPayDetailsforMonthInputs($current); - + $data['fresh'] = $this->monthlypay_model->getEmpPayDetailsforMonthInputs($current); + + $employeeSalary = []; +foreach($data['fresh'] as $value){ + + + $NoofDays=$value->NoofDays;//Month day 30,31,28 + $HRA_Amount = $value->HRA_Amount; + $Basic_Pay = $value->Basic_Pay; + $TotalSalary = $value->TotalSalary; + $Food_Allowances= $value->Food_Allowances; + $Days_worked = $value->Days_worked; // working day + $LOP_Days = $value->LOP_Days; // not working day + $Paid_leave = $value->Paid_leave; // leave day + $OT_Hrs_Worked = $value->OT_Hrs_Worked; //OT hours + $Monthly_Due= $value->Monthly_Due;// loan due amt + $Incentives=$value->Incentives; + $Allowances =$value->Allowances; + $HRA_Rate=$value->HRA_Rate; + $PF_Rate=$value->PF_Rate; + $ESI_Rate=$value->ESI_Rate; + + + + + $daySalarys = $Days_worked + $Paid_leave; + + //echo "hra amount";print_r(array($HRA_Amount,$Basic_Pay,$totalsalary)); + //$Allowances = $allowances * $values; + $dayFood_Allowance = $Food_Allowances * $Days_worked; + + $daySalary = $Basic_Pay / $NoofDays; + /**per day salary working hour**/ + //echo $daySalary.'
'; + + $dayHra = $HRA_Amount / $NoofDays; + /** per day hra amount **/ + //echo $dayHra.'
'; + + $onehoursSalary = ($daySalary + $dayHra) / 8; + /**one hour salay ot calculation**/ + if ($OT_Hrs_Worked != 0) + { + $totSalayOT = $OT_Hrs_Worked * $onehoursSalary; + } + else + { + $totSalayOT = 0; + } + $currentDaySalary = $daySalary * $daySalarys; + /** current day salary working days calculation**/ + + + $currentDayHra = $dayHra * $daySalarys; + /** total working days hra calculations**/ + // echo $currentDayHra.'
'; + $currentDatePF = $currentDaySalary + $currentDayHra + $totSalayOT; + /** current date pf calculation**/ + if ($TotalSalary <= 20000) + { + + $esiAmount = $currentDatePF * $ESI_Rate/ 100; + /** esiamount not elgiable for 20000 **/ + } + else + { + $esiAmount = 0; + } + $pfAmount = $currentDaySalary * $PF_Rate/ 100; + /** pf amount per day**/ + + //echo $totalothour;die; + $salaryInCurrentdays = $currentDaySalary + $totSalayOT + $currentDayHra + $dayFood_Allowance + $Allowances + $Incentives; + $salaryInCurrentday = $salaryInCurrentdays - ($esiAmount + $pfAmount) - $Monthly_Due; + $employeeSalary []= round($salaryInCurrentday); + + + +} + $data['empSalary'] = $employeeSalary; + + //echo sizeof($data['fresh'])."-".sizeof($data['empSalary']);die; $this->global['pageTitle'] = 'Siddharth : Payroll Monthly Inputs'; $this->loadViews("monthlypayinputs", $this->global,$data,NULL); } @@ -571,13 +733,18 @@ function phpAlert($msg) { { $ErrorFlag = 0; - $EmpID = $j['Employee Id']; - $Name = $j['Employee Name']; + $Emp = $j['Employee']; + + $EmpID = substr($Emp,0,4); + + //$Name = $j['Employee Name']; + //echo $EmpID; die; + $DaysWorked = $j['Days Worked']; $LOP_Days = $j['LOP Days']; $Paid_leave = $j['Paid Leave']; - $OT_Hrs_Worked = $j['OT Hours Worked in Hrs']; - $Loan_Recovered = $j['Loan Recovered in ₹']; + $OT_Hrs_Worked = $j['OT Hrs']; + $Loan_Recovered = $j['Manual Loan Due ₹']; $Incentives = $j['Incentives in ₹']; $Festival_Bonus = $j['Festival Bonus in ₹']; $Other_Deductions = $j['Other Deductions in ₹']; @@ -673,13 +840,18 @@ function phpAlert($msg) { { foreach($json as $j) { - $EmpID = $j['Employee Id']; - $Name = $j['Employee Name']; + $Emp = $j['Employee']; + + $EmpID = substr($Emp,0,4); + + + //$Name = $j['Employee']; + $DaysWorked = $j['Days Worked']; $LOP_Days = $j['LOP Days']; $Paid_leave = $j['Paid Leave']; - $OT_Hrs_Worked = $j['OT Hours Worked in Hrs']; - $Loan_Recovered = $j['Loan Recovered in ₹']; + $OT_Hrs_Worked = $j['OT Hrs']; + $Loan_Recovered = $j['Manual Loan Due ₹']; if(is_string($Loan_Recovered)) { $Loan_Recovered = strtoupper($Loan_Recovered); @@ -1108,7 +1280,7 @@ function getEmployee() $LOPDays = $sheet->getCell('D'.$x)->getValue(); $Paid_leave =$sheet->getCell('E'.$x)->getValue(); $OTHoursWorked =$sheet->getCell('F'.$x)->getValue(); - $loanRecovered=$sheet->getCell('G'.$x)->getValue(); + $LoanRecovered=$sheet->getCell('G'.$x)->getValue(); if(is_string($loanRecovered)) { $loanRecovered = strtoupper($loanRecovered); diff --git a/application/models/monthlypay_model.php b/application/models/monthlypay_model.php index 7c277aca..5c7c005f 100755 --- a/application/models/monthlypay_model.php +++ b/application/models/monthlypay_model.php @@ -28,7 +28,7 @@ class monthlypay_model extends CI_Model // $this->db->where('T_Employee_Details.DateofJoining <=',$lastdate); // $this->db->where('Month_Year',$current); - $sql="select T_Monthly_Pay_Inputs.*,T_Employee_Details.FirstName,T_Employee_Details.LastName,T_Loan_Master.Loan_ID,T_Payroll.Key + $sql="select T_Monthly_Pay_Inputs.*,T_Employee_Details.FirstName,T_Employee_Details.LastName,T_Loan_Master.Loan_ID,T_Loan_Master.Monthly_Due,T_Payroll.Key from T_Monthly_Pay_Inputs left join T_Employee_Details on T_Monthly_Pay_Inputs.EmpID=T_Employee_Details.EmpID and T_Employee_Details.DateofJoining <= ? left join T_Payroll on T_Monthly_Pay_Inputs.EmpID=T_Payroll.EmpID @@ -79,7 +79,7 @@ class monthlypay_model extends CI_Model //$monthyear_val = date('Y-m',strtotime($current)); $lastdate = $year_val.'-'.$month_val.'-'.$date_val; //echo $lastdate; - $sql = "select T_Emp_Pay_Data.EmpID,T_Employee_Details.FirstName,T_Employee_Details.LastName,T_Employee_Details.DateofJoining,T_Attendance.Days_Worked as Days_worked,T_Attendance.Absent as LOP_Days,T_Attendance.Paid_Leave as Paid_leave,T_Attendance.Total_OTHrs as OT_Hrs_Worked,T_Attendance.NoofDays,T_Loan_Master.Loan_ID,T_Payroll.Key from T_Emp_Pay_Data + $sql = "select T_Emp_Pay_Data.EmpID, T_Emp_Pay_Data.Incentives,T_Emp_Pay_Data.*,T_Employee_Details.FirstName,T_Employee_Details.LastName,T_Employee_Details.DateofJoining,T_Attendance.Days_Worked as Days_worked,T_Attendance.Absent as LOP_Days,T_Attendance.Paid_Leave as Paid_leave,T_Attendance.Total_OTHrs as OT_Hrs_Worked,T_Attendance.NoofDays,T_Loan_Master.Loan_ID,T_Loan_Master.Monthly_Due,T_Payroll.Key from T_Emp_Pay_Data left join T_Employee_Details on T_Employee_Details.EmpID = T_Emp_Pay_Data.EmpID left join T_Payroll on T_Employee_Details.EmpID = T_Payroll.EmpID and month(T_Payroll.PayOn) = month(?) and year(T_Payroll.PayOn) = year(?) left join T_Attendance on T_Emp_Pay_Data.EmpID = T_Attendance.EmpID diff --git a/application/views/monthlypayinputs.php b/application/views/monthlypayinputs.php index d483f362..96b3910d 100755 --- a/application/views/monthlypayinputs.php +++ b/application/views/monthlypayinputs.php @@ -10,8 +10,8 @@ } else{ $ex1 = $ex[0]; - } - } + } + } else{ $ex1 = $ex[0]; } @@ -145,17 +145,23 @@ $('html').bind('keypress', function(e) S.No - Employee Id - Employee Name + Employee + Days Worked LOP Days Paid Leave - OT Hours Worked in Hrs - Loan Recovered in ₹ + OT Hrs + + Auto Loan Due ₹ + + Manual Loan Due ₹ Incentives in ₹ Other Deductions in ₹ Festival Bonus in ₹ + + Estimate in ₹ + @@ -170,9 +176,13 @@ $('html').bind('keypress', function(e) if(!empty($sample)) + { - - foreach($sample as $record) + + //print_r($sample); + $index = 0; + $i = 0; + foreach($sample as $i=> $record) { $index++; @@ -194,20 +204,63 @@ $('html').bind('keypress', function(e) - EmpID ?> - FirstName ." ". $record->LastName ?> - Key)){echo "contenteditable='false';"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >Days_worked)){echo $record->Days_worked;}else{echo "0.00";}?> - Key)){echo "contenteditable='false';"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >LOP_Days)){echo $record->LOP_Days;}else{echo "0.00";}?> - Key)){echo "contenteditable='false';"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >Paid_leave)){echo number_format($record->Paid_leave,2,'.','');}else { echo number_format(0.00,2,'.','');} ?> - Key)){echo "contenteditable='false';"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >OT_Hrs_Worked)){echo $record->OT_Hrs_Worked;}else { echo number_format(0.00,2,'.','');} ?> - Key) && !empty($record->Loan_ID)){ echo "contenteditable='true'; style='background-color:#ffcccc;text-align:right' title='Loan Pending'"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >Loan_Recovered)){if(is_numeric($record->Loan_Recovered)){echo number_format($record->Loan_Recovered,2,'.','');}else {echo $record->Loan_Recovered;}}else{echo number_format(0.00,2,'.','');} ?> - Key)){echo "contenteditable='true';"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >Incentives)){echo $record->Incentives;}else{ echo number_format(0.00,2,'.','');;} ?> - Key)){echo "contenteditable='true';"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >Other_Deductions)){echo $record->Other_Deductions; }else{ echo number_format(0.00,2,'.','');;} ?> - Key)){echo "contenteditable='true';"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >Festival_Bonus)){echo $record->Festival_Bonus; }else{ echo number_format(0.00,2,'.','');;} ?> + + EmpID ."-".$record->FirstName ."". $record->LastName ?> + + + Key)){echo "contenteditable='false';"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >Days_worked)){echo $record->Days_worked;}else{echo "0.00";}?> + + Key)){echo "contenteditable='false';"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >LOP_Days)){echo $record->LOP_Days;}else{echo "0.00";}?> + + Key)){echo "contenteditable='false';"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >Paid_leave)){echo number_format($record->Paid_leave,2,'.','');}else { echo number_format(0.00,2,'.','');} ?> + + Key)){echo "contenteditable='false';"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >OT_Hrs_Worked)){echo $record->OT_Hrs_Worked;}else { echo number_format(0.00,2,'.','');} ?> + + Key)){echo "contenteditable='false';"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >Monthly_Due)){echo $record->Monthly_Due;}else { echo number_format(0.00,2,'.','');} ?> + + + + + + + Key) && !empty($record->Loan_ID)){ echo "contenteditable='true'; style='background-color:#ffcccc;text-align:right' title='Loan Pending'"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >Loan_Recovered)){if(is_numeric($record->Loan_Recovered)){echo number_format($record->Loan_Recovered,2,'.','');}else {echo $record->Loan_Recovered;}}else{echo number_format(0.00,2,'.','');} ?> + + Key)){echo "contenteditable='true';"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >Incentives)){echo $record->Incentives;}else{ echo number_format(0.00,2,'.','');;} ?> + + Key)){echo "contenteditable='true';"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >Other_Deductions)){echo $record->Other_Deductions; }else{ echo number_format(0.00,2,'.','');;} ?> + + Key)){echo "contenteditable='true';"; } ?> Key)){?> title="Payslip Calculated" style="text-align:right;color:blue;"style="text-align:right;" >Festival_Bonus)){echo $record->Festival_Bonus; }else{ echo number_format(0.00,2,'.','');;} ?> + + + + + + + + + + + + + + + + + + + 31 && (iKeyCode < 48 || iKeyCode > 57)) + { return false;} + + return true; + } + +function isCheckKeyCode(event){ + + var iKeyCode = (event.which) ? event.which : event.keyCode + if (iKeyCode != 46 && iKeyCode > 31 && (iKeyCode < 48 || iKeyCode > 57 ) && (iKeyCode ==78 && iKeyCode == 65)) + { return false;} + + return true; + +} function getAllData() @@ -381,4 +453,177 @@ $('html').bind('keypress', function(e) } + + function changeInput(event,k) +{ + + + //alert("hello"); + var str=event.target.id; + var sno = str.substr(8); +//alert(sno); + + var dayWorks=parseFloat(document.getElementById('dayWork'+sno).textContent); + var lopDay=parseFloat(document.getElementById('lopDay'+sno).textContent); + var paidLeave =parseFloat(document.getElementById('paidLeave'+sno).textContent); + var otHrsWork =parseFloat(document.getElementById('otHrsWork'+sno).textContent); + var monthDue =parseFloat(document.getElementById('monthDue'+sno).textContent); + var loanRecd=parseFloat(document.getElementById('loanRecd'+sno).textContent); + var incentie=parseFloat(document.getElementById('incentie'+sno).textContent); + + var otherDet =parseFloat(document.getElementById('otherDet'+sno).textContent); + var Festival =parseFloat(document.getElementById('Festival'+sno).textContent); + var empsal =parseFloat(document.getElementById('empsal'+sno).textContent); + + var bpay =parseFloat(document.getElementById('bPay'+sno).value); + + var hraRate=parseFloat(document.getElementById('hraRate'+sno).value); + var allow=parseFloat(document.getElementById('allow'+sno).value); + var fAllow =parseFloat(document.getElementById('fAllow'+sno).value); + var pfRate =parseFloat(document.getElementById('pfRate'+sno).value); + var eslRate =parseFloat(document.getElementById('eslRate'+sno).value); + var hraAmt =parseFloat(document.getElementById('hraAmt'+sno).value); + + + //console.log(incentie); + + var dayWorkPaid=dayWorks+paidLeave; + // console.log("day"+dayWorkPaid); + var NoofDays=dayWorks+paidLeave +lopDay; + // console.log("monthday"+NoofDays); + var Food_Allowances = fAllow * dayWorks; + // console.log("workedFA"+Food_Allowances); + + var daySalary = bpay / NoofDays; + // console.log("1daysalary "+daySalary); + var dayHra = hraAmt / NoofDays; + // console.log("1dayHRA"+dayHra); + var onehoursSalary = (daySalary + dayHra) / 8; + //console.log("onehours "+onehoursSalary); + var totSalayOT =0; + + if (otHrsWork!= 0) + { + totSalayOT = otHrsWork * onehoursSalary; + } + else + { + totSalayOT = 0; + } + //console.log(totSalayOT); + + var currentDaySalary = daySalary * dayWorkPaid; + //console.log("11days salary"+currentDaySalary); + + var currentDayHra = dayHra * dayWorkPaid; + // console.log("11days hra"+currentDayHra); + + + + //------loan calculator start----------/ + var current_loan_amt = 0; + // if(parseFloat(monthDue)>=parseFloat(loanRecd)) + // { + // var oldloan = parseFloat(monthDue) - parseFloat(loanRecd); + // //console.log("if" + oldloan); + // var loandue = parseFloat(monthDue) - parseFloat(oldloan); + // // console.log("if "+loandue); + // }else{ + // var oldloan = parseFloat(monthDue) - parseFloat(loanRecd);//Auto Due + // //console.log("else" + oldloan); + // var loandue = parseFloat(monthDue)- parseFloat(oldloan);//Manual Due + // //console.log("else"+loandue); + // } + + + +var autoLoan =parseFloat(monthDue); +var manualLoan =parseFloat(loanRecd); + + if(manualLoan == 0){ + current_loan_amt = autoLoan; + } + else if(manualLoan == 'NA') + { + current_loan_amt = 0; + } + else if(manualLoan >= 0) + { + current_loan_amt = manualLoan; + } + + console.log(current_loan_amt); + + if(parseFloat(incentie) == parseFloat(incentie)){ + + var incent =parseFloat(incentie); + //console.log("Incentives"+incent); + + } + if(parseFloat(Festival) == parseFloat(Festival)){ + + var Festivals =parseFloat(Festival); + //console.log("Festivals"+Festivals); + + } + + if(parseFloat( otherDet) == parseFloat( otherDet)){ + + var otherDets =parseFloat( otherDet); + //console.log("otherDets"+ otherDets); + + } + + var currentDatePF = currentDaySalary + currentDayHra + totSalayOT; + // console.log("pf "+currentDatePF); + + // var totalsalary= empsal + hraAmt; + var totalsalary =currentDaySalary+currentDayHra; + // console.log("total"+totalsalary); + var esiAmount=0; + + if (totalsalary <= 20000) + { + + esiAmount = currentDatePF * eslRate / 100; + /** esiamount not elgiable for 20000 **/ + } + else + { + esiAmount = 0; + } + + + var pfAmount = currentDaySalary * pfRate / 100; + // console.log("11daypf"+pfAmount); + + var empSalaryAdd= currentDaySalary + totSalayOT + currentDayHra + Food_Allowances + allow +incent+Festivals; + + var empSalarySub = current_loan_amt + esiAmount + pfAmount + otherDets; + + + + var empMonthSalary = empSalaryAdd - empSalarySub + + var employeeSalary = Math.round(empMonthSalary); + + //console.log( employeeSalary); + + var cals =(employeeSalary).toFixed(0); + + document.getElementById("empsal"+sno).innerHTML = cals; + + + //$data['empSalary'] = $employeeSalary; + + + + + + + +} + + + \ No newline at end of file