ria/application/models/payroll_model.php
2018-11-28 10:33:46 +05:30

464 lines
14 KiB
PHP
Executable File

<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
class Payroll_model extends CI_Model
{
/**
* This function is used to insert the File details in database
* @FileDetails array : This will have the set of value which we need to insert into database
* @return number $Payon : Insert row count will be the return value
*/
function UploadFileName($FileDetails)
{
$this->db->insert('T_Payroll_File', $FileDetails);
$Payon = $this->db->affected_rows();
return $Payon;
}
function model_sp($payon,$employee){
//echo "<script>alert('mod');</script>";
//echo "highlight_file(filename)";
//die();
$result=$this->db->query("call P_FINAL_PAYROLL_DATA('".$payon."','".$employee."')") or die(mysql_error());
//$result->next_result();
return $result;
}
/**
* This function is used to update the File details in which is already exists in the database
* @FileDetails array : This will have the set of value which we need to insert into database
* @return number boolean: success of the updation
*/
function UpdateFileName($FileDetails, $PayOn)
{
//echo $EmpID;
$this->db->where('PayOn', $PayOn);
$this->db->update('T_Payroll_File', $FileDetails);
//print_r($this->db->last_query());
return TRUE;
}
/**
* This function is used to check the File details is already exists in the database or not
* @FileDetails array : This will have the set of value which we need to insert into database
* @return number boolean: success of the updation
*/
function checkFileDetailsExists($PayOn)
{
$this->db->select('PayOn');
$this->db->from('T_Payroll_File');
$this->db->where('PayOn',$PayOn);
$query = $this->db->get();
// print_r($this->db->last_query());
if ($query->num_rows > 0) {
return $query->result();
}
}
function checkExistPayData($empid,$payon)
{
$this->db->select('PayOn,EmpID');
$this->db->from('T_Payroll');
$this->db->where('PayOn',$payon);
$this->db->where('EmpID',$empid);
$query = $this->db->get();
return $query->result();
}
function Companydetails()
{
$this->db->select('CompanyName,Address,CollectrateAddress');
$this->db->from('T_Company_Details');
$query = $this->db->get();
return $query->result();
}
function checkFileDetailsExists2($PayOn,$EmpId)
{
//echo $EmpId;
//die();
$this->db->select('Month_Year','EmpID');
$this->db->from('T_Monthly_Pay_Inputs');
$this->db->where('EmpID',$EmpId);
$this->db->where('Month_Year',$PayOn);
$query = $this->db->get();
// print_r($this->db->last_query());
if ($query->num_rows > 0) {
//echo "success";
//return $query->result();
return TRUE;
}
else{
//echo "fail";
return FALSE;
}
}
/**
* This function is used to insert the File data in database
* @FileDetails array : This will have the set of value which we need to insert into database
* @return number $Payon : Insert row count will be the return value
*/
function UploadFileData($FileData)
{
$this->db->insert('T_Payroll', $FileData);
$Payon = $this->db->affected_rows();
//print_r($this->db->last_query());
return $Payon;
}
function UploadFileData2($FileData)
{
$this->db->insert('T_Monthly_Pay_Inputs', $FileData);
$Payon = $this->db->affected_rows();
//print_r($this->db->last_query());
return $Payon;
}
/**
* This function is used to update the File details in which is already exists in the database
* @FileDetails array : This will have the set of value which we need to insert into database
* @return number boolean: success of the updation
*/
function UpdateFiledata($FileData, $PayOn,$EmpId)
{
//echo $EmpID;
$this->db->where('PayOn', $PayOn);
$this->db->where('EmpID', $EmpId);
$this->db->update('T_Payroll', $FileData);
//print_r($this->db->last_query());
//print_r($this->db->last_query());
return TRUE;
}
/**
* This function is used to get the data details in which is already exists in the database
* @FileDetails array : This will have the set of value which we need to insert into database
* @return number boolean: success of the updation
*/
function GetPayslipdata($PayOn='',$EmpId='')
{
//echo "FROM MODEL" . $PayOn . $EmpId;
$this->db->select('Pay.*,Emp.FirstName as FName ,Emp.LastName as Lname,Emp.DateofBirth as Dob,Emp.PANNo as Pan,Emp.BankBranchName as BankName,Emp.AadharNo,Emp.IFSCCode as IFSCCode,Emp.DateofJoining as DOJ,Emp.Designation as Designation,Dep.DepartmentName as DeptName ,Lm.Loan_Issued_Date');
$this->db->from('T_Payroll Pay');
//$this->db->join('T_Payroll_File payfile', 'Pay.PayOn = payfile.PayOn');
$this->db->join('T_Employee_Details Emp', 'Pay.EmpID = Emp.EmpID');
$this->db->join('T_DepartmentDetails Dep', 'Emp.Departmentcode = Dep.DEPCode');
$this->db->join('T_Loan_Master Lm','Lm.EmpID=Pay.EmpID and Lm.is_Active=1',left);
if($PayOn != '')
{
$this->db->where('Pay.PayOn', $PayOn);
}
if($EmpId != '')
{
$this->db->where('Pay.EmpID', $EmpId);
}
if($PayOn != '')
{
$this->db->order_by("Pay.EmpID", "asc");
}
if($PayOn == '' && $EmpId == '')
{
$this->db->order_by("Pay.PayOn", "desc");
}
$query = $this->db->get();
return $query->result();
//print_r($query->result());die();
}
/* *//**
* This function is used to get the PayOn details from T_Payroll_File
* @return array $result : This is result of the query
*/
function getPayOn()
{
$this->db->select('DISTINCT(Month_Year)');
$this->db->from('T_Monthly_Pay_Inputs');
$this->db->order_by("Month_Year", "desc");
$query = $this->db->get();
return $query->result();
}
function getBankInfo($bank="")
{
$this->db->select('*');
$this->db->from('T_Bank_Details');
$this->db->where("Is_Active",1);
if(!empty($bank))
{
$this->db->where('Bank_name',$bank);
}
$query = $this->db->get();
return $query->result();
}
function getReportforBank($bank,$payon)
{
$this->db->distinct();
$this->db->select('Pay.*,Emp.FirstName as FName ,Emp.LastName as Lname,Emp.PANNo as Pan,Emp.BankBranchName as BankName,Emp.IFSCCode as IFSC,Bank.Address as BAddress');
$this->db->from('T_Payroll Pay');
$this->db->join('T_Employee_Details Emp', 'Pay.EmpID = Emp.EmpID');
$this->db->join('T_Bank_Details Bank', 'Emp.BankBranchName = Bank.Bank_name');
$this->db->where('Emp.BankBranchName',$bank);
$this->db->where('Pay.PayOn',$payon);
$this->db->where('Pay.TotalSalary > 0');
$this->db->order_by("Pay.EmpID", "asc");
$query = $this->db->get();
return $query->result();
}
function getReportforPFESI($payon)
{
$this->db->distinct();
$this->db->select('Pay.EmployeeESI,Pay.PF,Pay.CompanyESI,Pay.CompanyPF,Pay.NoofDaysWorked,Pay.OTperHours,Emp.FirstName as FName ,Emp.LastName as Lname,Emp.PFNO,Emp.ESI');
$this->db->from('T_Payroll Pay');
$this->db->join('T_Employee_Details Emp', 'Pay.EmpID = Emp.EmpID');
$this->db->where('Pay.PayOn',$payon);
$this->db->where('Pay.EmployeeESI > 0 ');
$this->db->where('Pay.CompanyESI > 0');
$this->db->order_by("Pay.EmpID", "asc");
$query = $this->db->get();
return $query->result();
}
function getLoanReport($source='',$year1="",$year2="")
{
// echo "<br>---------------------------";
// echo "<br>From Model-";
// echo $source.'-'.$year1.'-'.$year2;
$this->db->distinct();
$this->db->select('Pay.EmpID,Emp.FirstName as FName ,Emp.LastName as Lname,sum(loan.Loan_Amount) as Loan_Amount,sum(loan.Paid_Amount) as Paid_Amount');
$this->db->from('T_Emp_Pay_Data Pay');
$this->db->join('T_Employee_Details Emp', 'Pay.EmpID = Emp.EmpID');
$this->db->join('T_Loan_Master loan', 'Pay.EmpID = loan.EmpID');
if($source != 'company'){
$this->db->where('Pay.EmpID',$source);
}
if($year1 != "" and $year2 != ""){
$this->db->where('month(loan.Loan_Issued_Date)>=',4);
$this->db->where('year(loan.Loan_Issued_Date)=',$year1);
$this->db->or_where('month(loan.Loan_Issued_Date)<=',3);
$this->db->where('year(loan.Loan_Issued_Date)=',$year2);
}
$this->db->group_by('Pay.EmpID');
$this->db->order_by('Pay.EmpID','asc');
$query = $this->db->get();
return $query->result();
//print_r($query->result());die();
}
function getEmpDetailsforLoan()
{
$this->db->select('Pay.EmpID,Pay.FirstName as FName ,Pay.LastName as Lname');
$this->db->from('T_Employee_Details Pay');
$this->db->join('T_Loan_Master loan', 'Pay.EmpID = loan.EmpID');
$this->db->order_by('Pay.EmpID','asc');
$query = $this->db->get();
return $query->result();
}
function getLoanReportforEmp($eid='',$year1="",$year2="",$string="")
{
//$this->db->distinct();
if($string == 'emp'){
$this->db->select('Pay.EmpID,Emp.FirstName as FName ,Emp.LastName as Lname,loan.*');
$this->db->from('T_Emp_Pay_Data Pay');
$this->db->join('T_Employee_Details Emp', 'Pay.EmpID = Emp.EmpID');
$this->db->join('T_Loan_Master loan', 'Pay.EmpID = loan.EmpID','left');
// if($source != 'company'){
$this->db->where('Pay.EmpID',$eid);
//}
if($year1 != "" and $year2 != ""){
$this->db->where('month(loan.Loan_Issued_Date)>=',4);
$this->db->where('year(loan.Loan_Issued_Date)=',$year1);
$this->db->or_where('month(loan.Loan_Issued_Date)<=',3);
$this->db->where('year(loan.Loan_Issued_Date)=',$year2);
//$this->db->group_by('Pay.EmpID');
}
$this->db->order_by('loan.Loan_Issued_Date','asc');
$query = $this->db->get();
return $query->result();
}
elseif($string == 'history')
{
$this->db->select('T_Loan_Master.EmpID,Emp.FirstName,Emp.LastName,T_Loan_Master.Loan_Amount,T_Loan_Master.Loan_Issued_Date,T_Loan_History.*');
$this->db->from('T_Loan_History');
$this->db->join('T_Loan_Master','T_Loan_Master.Loan_ID=T_Loan_History.Loan_ID');
$this->db->join('T_Employee_Details Emp', 'T_Loan_Master.EmpID = Emp.EmpID');
$this->db->where('T_Loan_History.Loan_ID',$eid);
$q = $this->db->get();
// $this->db->order_by('Entry_Date','asc');
// $this->db->where('Loan_ID',$eid);
// $q = $this->db->get('T_Loan_History');
//print_r($q->result());
return $q->result();
// print_r($q->result());
// die();
}
//print_r($query->result());die();
}
/* *//**
* This function is used to get the PayOn details from T_Payroll_FileOTperHours
* @return array $result : This is result of the query
*/
function getEmployeelist($Payon ='')
{
$this->db->select('Pay.EmpID as EmpId,Emp.FirstName as Fname,Emp.LastName as Lname');
$this->db->from('T_Payroll Pay');
$this->db->join('T_Employee_Details Emp', 'Pay.EmpID = Emp.EmpID');
if($Payon != '')
{
$this->db->where('Pay.PayOn', $Payon);
}
$this->db->order_by("Pay.EmpID", "asc");
$query = $this->db->get();
return $query;
}
function getEmployeelist2($Payon ='')
{
$this->db->select('Pay.EmpID as EmpId,Emp.FirstName as Fname,Emp.LastName as Lname');
$this->db->from('T_Monthly_Pay_Inputs Pay');
$this->db->join('T_Employee_Details Emp', 'Pay.EmpID = Emp.EmpID');
if($Payon != '')
{
$this->db->where('Pay.Month_Year', $Payon);
}
$this->db->order_by("Pay.EmpID", "asc");
$query = $this->db->get();
return $query;
}
/* *//**
* This function is used to get the PayOn details from T_Payroll_File
* @return array $result : This is result of the query
*/
function getEmpAll($Payon ='')
{
$this->db->select('Pay.EmpID as EmpId,Emp.FirstName as Fname,Emp.LastName as Lname');
$this->db->from('T_Payroll Pay');
$this->db->join('T_Employee_Details Emp', 'Pay.EmpID = Emp.EmpID');
if($Payon != '')
{
$this->db->where('Pay.PayOn', $Payon);
}
$this->db->order_by("Pay.EmpID", "asc");
$query = $this->db->get();
return $query->result_array();
}
/* *//**
* This function is used to delete the PayOn details from T_Payroll
* @return array $result : This is result of the query
*/
function deleteFileData($PayOn='')
{
$this->db->where("PayOn", $PayOn);
$this->db->delete('T_Payroll');
}
function getEmpID($q='')
{
$this->db->select('EmpID,FirstName,LastName');
$this->db->from('T_Employee_Details');
if($q == "addemppaydate"){
$this->db->where('EmpID NOT IN (SELECT EmpID from T_Emp_Pay_Data)',NULL,FALSE);
}
$query = $this->db->get();
return $query->result();
}
function getEmpIDfromPayData()
{
$this->db->select('EmpID');
$this->db->from('T_Emp_Pay_Data');
$query = $this->db->get();
return $query->result();
}
function updateEmpPayslip($data)
{
$key = $data['Key'];
$PayOn = $data['PayOn'];
$EmpID = $data['EmpID'];
$this->db->where('Key', $key);
$this->db->where('PayOn',$PayOn);
$this->db->where('EmpID',$EmpID);
$result = $this->db->update('T_Payroll',$data);
return $result;
}
function getCompanyInformation()
{
$subQuery = "select CompanyName,Address,GSTNO,PAN,ContactNumber,EmailAddress,AlternateContactNumber,companyWebsite,StateCode
from T_Company_Details ";
$query = $this->db->query($subQuery);
//print_r($query->result());die();
return $query->result();
}
function ChequeDetails($cheque){
$this->db->insert('T_ChequeDetails', $cheque);
}
function getChequeInfo($bank,$payon)
{
$sql = "SELECT Cheque.*
FROM T_ChequeDetails Cheque
WHERE Cheque.BankName = ?
AND Cheque.MonthYear = ? ";
$query = $this->db->query($sql,array($bank,$payon));
//$query_count = $query->num_rows();
//return $query_count;
return $query->result();
}
}
?>