546 lines
16 KiB
PHP
546 lines
16 KiB
PHP
<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
|
|
|
|
class monthlypay_model extends CI_Model
|
|
{
|
|
|
|
/**
|
|
* This function is used to get the user listing count
|
|
* @param string $searchText : This is optional search text
|
|
* @param number $page : This is pagination offset
|
|
* @param number $segment : This is pagination limit
|
|
* @return array $result : This is result
|
|
*/
|
|
function monthlyListing($current="")
|
|
{
|
|
|
|
$month = $current;
|
|
if(strlen($month) == 6)
|
|
{
|
|
$month = '0'.$month;
|
|
}
|
|
//echo $month;
|
|
|
|
$curr_split = explode('-',$current);
|
|
$month_val = $curr_split[0];
|
|
$year_val = $curr_split[1];
|
|
$date_val =cal_days_in_month(CAL_GREGORIAN,$month_val,$year_val);
|
|
$lastdate = $year_val.'-'.$month_val.'-'.$date_val;
|
|
//echo $lastdate ;
|
|
|
|
// $this->db->select('T_Monthly_Pay_Inputs.*,T_Employee_Details.FirstName,T_Employee_Details.LastName,T_Payroll.Key,T_Loan_Master.Loan_ID');
|
|
// $this->db->from('T_Monthly_Pay_Inputs');
|
|
// $this->db->join('T_Employee_Details','T_Monthly_Pay_Inputs.EmpID=T_Employee_Details.EmpID');
|
|
// $this->db->join('T_Payroll','T_Monthly_Pay_Inputs.EmpID=T_Payroll.EmpID','left');
|
|
// $this->db->join('T_Loan_Master','T_Monthly_Pay_Inputs.EmpID=T_Loan_Master.EmpID','left');
|
|
// $this->db->order_by('T_Employee_Details.EmpID','asc');
|
|
// $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_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
|
|
left join T_Loan_Master on T_Monthly_Pay_Inputs.EmpID=T_Loan_Master.EmpID and T_Loan_Master.is_Active = 1
|
|
where Month_Year = ?
|
|
order by T_Employee_Details.EmpID asc";
|
|
|
|
$query = $this->db->query($sql,array($lastdate,$current));
|
|
// print_r($query->result());
|
|
$result = $query->result();
|
|
|
|
return $result;
|
|
}
|
|
|
|
|
|
function getEmpPayDetails($current="",$s="")
|
|
{
|
|
|
|
$month_val = date('m',strtotime($current));
|
|
$year_val = date('Y',strtotime($current));
|
|
$date_val =cal_days_in_month(CAL_GREGORIAN,$month_val,$year_val);
|
|
//$monthyear_val = date('Y-m',strtotime($current));
|
|
$lastdate = $year_val.'-'.$month_val.'-'.$date_val;
|
|
$this->db->select('T_Employee_Details.EmpID,T_Employee_Details.FirstName,T_Employee_Details.LastName,T_Employee_Details.DateofJoining');
|
|
$this->db->from('T_Employee_Details');
|
|
//$this->db->join('T_Emp_Pay_Data','T_Emp_Pay_Data.EmpID=T_Employee_Details.EmpID','Left');
|
|
$this->db->where('T_Employee_Details.IsActive',1);
|
|
$this->db->where('T_Employee_Details.DateofJoining <=',$lastdate);
|
|
$this->db->order_by('EmpID','asc');
|
|
$query = $this->db->get();
|
|
$result = $query->result();
|
|
return $result;
|
|
|
|
|
|
}
|
|
|
|
function getEmpPayDetailsforMonthInputs($current="")
|
|
{
|
|
|
|
//$month = '0'.$current;
|
|
|
|
$month = $current;
|
|
if(strlen($month) == 6)
|
|
{
|
|
$month = '0'.$month;
|
|
}
|
|
|
|
//echo $month;
|
|
|
|
$current = '01-'.$current;
|
|
//echo $current;
|
|
$current = date_create($current);
|
|
$current = date_format($current,'Y-m-d');
|
|
//echo 'Final'.$current;
|
|
$month_val = date('m',strtotime($current));
|
|
$year_val = date('Y',strtotime($current));
|
|
$date_val =cal_days_in_month(CAL_GREGORIAN,$month_val,$year_val);
|
|
//$monthyear_val = date('Y-m',strtotime($current));
|
|
$lastdate = $year_val.'-'.$month_val.'-'.$date_val;
|
|
//echo $lastdate;
|
|
|
|
//left join T_Payroll on T_Employee_Details.EmpID = T_Payroll.EmpID and month(T_Payroll.PayOn) = month(?) and year(T_Payroll.PayOn) = year(?)
|
|
$sql ="select T_Emp_Pay_Data.EmpID, T_Emp_Pay_Data.Incentives as MasterIncentives,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_Loan_Master.Due_Start_Date as DueDate,T_Loan_Master.Loan_Amount,T_Loan_Master.Paid_Amount,T_Payroll.Key,T_Monthly_Pay_Inputs.Incentives as MonthlyIncentives,T_Monthly_Pay_Inputs.Loan_Recovered,T_Monthly_Pay_Inputs.Estimate,T_Monthly_Pay_Inputs.Festival_Bonus,T_Monthly_Pay_Inputs.Other_Deductions,T_Loan_History .Balance_Amount
|
|
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 T_Payroll.PayOn = ?
|
|
|
|
left join T_Attendance on T_Emp_Pay_Data.EmpID = T_Attendance.EmpID
|
|
left join T_Monthly_Pay_Inputs on T_Monthly_Pay_Inputs.EmpID = T_Emp_Pay_Data.EmpID and T_Monthly_Pay_Inputs.Month_Year = ?
|
|
left join T_Loan_Master on T_Emp_Pay_Data.EmpID = T_Loan_Master.EmpID and T_Loan_Master.is_Active = 1
|
|
left join T_Loan_History on T_Loan_History .Loan_ID = T_Loan_Master.Loan_ID
|
|
where T_Employee_Details.DateofJoining <= ?
|
|
and month(T_Attendance.Month_Year) = month(?) and year(T_Attendance.Month_Year) = year(?)
|
|
order by T_Employee_Details.EmpID";
|
|
|
|
$query = $this->db->query($sql,array($month,$month,$lastdate,$current,$current));
|
|
return $query->result();
|
|
}
|
|
|
|
|
|
function getPublicHoldays($current="")
|
|
{
|
|
if(!empty($current))
|
|
{
|
|
$sql = "select * from T_Public_Holidays where month(H_Date) = month(?) and year(H_Date) = year(?)";
|
|
$query = $this->db->query($sql,array($current,$current));
|
|
return $query->result();
|
|
}
|
|
else
|
|
{
|
|
$sql = "select * from T_Public_Holidays where year(H_Date)=year(CURRENT_DATE) order by H_Date";
|
|
$query = $this->db->query($sql);
|
|
return $query->result();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
function checkHoliday($Date)
|
|
{
|
|
$Date = date('Y-m-d',strtotime($Date));
|
|
//echo $Date;die();[
|
|
|
|
$sql="select count(*) as count from T_Public_Holidays where H_Date = ?";
|
|
$query = $this->db->query($sql,array($Date));
|
|
return $query->result_array();
|
|
}
|
|
|
|
function saveHolidays($data,$string)
|
|
{
|
|
//print_r($data);
|
|
if($string == 'i')
|
|
{
|
|
$this->db->insert('T_Public_Holidays',$data);
|
|
$i= $this->db->affected_rows();
|
|
return $i;
|
|
}
|
|
else if($string == 'u')
|
|
{
|
|
$this->db->where('H_date',$data['H_Date']);
|
|
$this->db->update('T_Public_Holidays',$data);
|
|
$i = $this->db->affected_rows();
|
|
return $i;
|
|
}
|
|
}
|
|
|
|
|
|
function deleteHoliday($d)
|
|
{
|
|
$d = date_format(date_create($d),'Y-m-d');
|
|
$this->db->where('H_date',$d);
|
|
$this->db->delete('T_Public_Holidays');
|
|
return $this->db->affected_rows();
|
|
}
|
|
function monthlyAttendance($current="")
|
|
{
|
|
|
|
$month_val = date('m',strtotime($current));
|
|
$year_val = date('Y',strtotime($current));
|
|
$date_val =cal_days_in_month(CAL_GREGORIAN,$month_val,$year_val);
|
|
$lastdate = $year_val.'-'.$month_val.'-'.$date_val;
|
|
|
|
$this->db->select('T_Attendance.*,T_Employee_Details.FirstName,T_Employee_Details.LastName');
|
|
$this->db->from('T_Attendance');
|
|
$this->db->join('T_Employee_Details','T_Attendance.EmpID=T_Employee_Details.EmpID');
|
|
// $this->db->where('year(T_Employee_Details.DateofJoining) <= ',$year_val);
|
|
// $this->db->where('month(T_Employee_Details.DateofJoining) <= ',$month_val);
|
|
$this->db->where('T_Employee_Details.DateofJoining <= ',$lastdate);
|
|
$this->db->where('Month_Year',$current);
|
|
$this->db->where('T_Employee_Details.IsActive',1);
|
|
$this->db->order_by('T_Attendance.EmpID', 'asc');
|
|
$query = $this->db->get();
|
|
|
|
$result = $query->result();
|
|
|
|
return $result;
|
|
}
|
|
function saveMonthlyData_model($data)
|
|
{
|
|
|
|
$month = $data['Month_Year'];
|
|
$empid = $data['EmpID'];
|
|
$count=0;
|
|
|
|
$this->db->select('count(*) as count');
|
|
$this->db->from('T_Monthly_Pay_Inputs');
|
|
$this->db->where('Month_Year',$month);
|
|
$this->db->where('EmpID',$empid);
|
|
$isExits = $this->db->get();
|
|
$res = $isExits->result_array();
|
|
|
|
if(!empty($res))
|
|
{
|
|
|
|
$count = $res[0]['count'];
|
|
}
|
|
|
|
|
|
if($count == 0 )
|
|
{
|
|
$i = $this->db->insert('T_Monthly_Pay_Inputs',$data);
|
|
return $i;
|
|
|
|
}
|
|
elseif($count == 1)
|
|
{
|
|
$this->db->where('Month_Year',$month);
|
|
$this->db->where('EmpID',$empid);
|
|
$i = $this->db->update('T_Monthly_Pay_Inputs',$data);
|
|
return $i;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function saveAttendance($monthattendance,$Month_Year,$EmpID)
|
|
{
|
|
$this->db->select('count(*) as c');
|
|
$this->db->from('T_Attendance');
|
|
$this->db->where('Month_Year',$Month_Year);
|
|
$this->db->where('EmpID',$EmpID);
|
|
$isExist = $this->db->get();
|
|
$isExist = $isExist->result_array();
|
|
$ans = $isExist[0]['c'];
|
|
|
|
if($ans == 0)
|
|
{
|
|
|
|
//array_pop();
|
|
$this->db->insert('T_Attendance',$monthattendance);
|
|
return $this->db->affected_rows();
|
|
//echo "INS";
|
|
// if($this->db->affected_rows() > 0)
|
|
// {
|
|
|
|
// return true;
|
|
// }
|
|
// else
|
|
// {
|
|
// return false;
|
|
// }
|
|
}
|
|
else
|
|
{
|
|
$this->db->where('Month_Year',$Month_Year);
|
|
$this->db->where('EmpID',$EmpID);
|
|
$this->db->update('T_Attendance',$monthattendance);
|
|
//echo "UPDATE";
|
|
return $this->db->affected_rows();
|
|
|
|
}
|
|
}
|
|
|
|
|
|
function addNewmonthlisting($m_list)
|
|
{
|
|
$this->db->trans_start();
|
|
$this->db->insert('T_Monthly_Pay_Inputs', $asset);
|
|
|
|
$Asset_Code = $this->db->insert_id();
|
|
|
|
$this->db->trans_complete();
|
|
|
|
return $m_list;
|
|
}
|
|
function getUserInfo($EmpID,$month_year)
|
|
{
|
|
$this->db->select('T_Monthly_Pay_Inputs.*,T_Employee_Details.FirstName,T_Employee_Details.LastName');
|
|
$this->db->from('T_Monthly_Pay_Inputs');
|
|
$this->db->join('T_Employee_Details','T_Monthly_Pay_Inputs.EmpID=T_Employee_Details.EmpID');
|
|
|
|
$this->db->where('T_Monthly_Pay_Inputs.EmpID', $EmpID);
|
|
$this->db->where('T_Monthly_Pay_Inputs.Month_Year', $month_year);
|
|
$query = $this->db->get();
|
|
|
|
return $query->result();
|
|
}
|
|
|
|
|
|
function editmonth($monthdata, $EmpID)
|
|
{
|
|
$monthyear=$monthdata['Month_Year'];
|
|
|
|
|
|
|
|
$this->db->where('EmpID' ,$EmpID);
|
|
|
|
$this->db->where('Month_Year',$monthyear);
|
|
$this->db->update('T_Monthly_Pay_Inputs',$monthdata);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
|
|
function viewmonth($monthdata, $employeeid)
|
|
{
|
|
$this->db->order_by('Month_Year');
|
|
$this->db->where('EmpID', $employeeid);
|
|
$this->db->update('T_Monthly_Pay_Inputs', $monthdata);
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
|
|
/*permission form model */
|
|
function emplist()
|
|
{
|
|
|
|
$sql="select Emp.EmpID,CONCAT(FirstName,' ',LastName)as name ,Emp.Departmentcode, Dep.DepartmentName FROM T_Employee_Details as Emp
|
|
join T_DepartmentDetails as Dep on Dep.DEPCode=Emp.Departmentcode where Emp.IsActive = 1;";
|
|
$query =$this->db->query($sql);
|
|
return $query->result();
|
|
|
|
|
|
|
|
}
|
|
|
|
function addper($Permissiondata)
|
|
{
|
|
|
|
|
|
//if(!empty($Permissiondata){
|
|
$this->db->trans_start();
|
|
$this->db->insert('T_Permission', $Permissiondata);
|
|
|
|
//$Asset_Code = $this->db->insert_id();
|
|
$Permission = $this->db->affected_rows();
|
|
|
|
$this->db->trans_complete();
|
|
|
|
return $Permission;
|
|
|
|
}
|
|
|
|
function perlist()
|
|
{
|
|
|
|
$this->db->select('*');
|
|
$this->db->from('T_Permission');
|
|
$query =$this->db->get();
|
|
return $query->result();
|
|
|
|
}
|
|
|
|
function pdf($SNO)
|
|
{
|
|
$this->db->select('per.*,emp.FirstName,LastName,dep.DepartmentName');
|
|
$this->db->from('T_Permission per');
|
|
$this->db->join('T_Employee_Details emp','emp.EmpID = per.EmpID');
|
|
$this->db->join('T_DepartmentDetails dep','dep.DEPCode = emp.Departmentcode');
|
|
$this->db->where('per.SNO',$SNO );
|
|
$query =$this->db->get();
|
|
return $query->result();
|
|
}
|
|
|
|
function reportvalue($fin_year)
|
|
{
|
|
|
|
|
|
$curr_split = explode('-',$fin_year);
|
|
$pre_year = $curr_split[0];
|
|
$curr_year = $curr_split[1];
|
|
|
|
$sql= "select T_Monthly_Pay_Inputs.EmpID,T_Employee_Details.FirstName,T_Employee_Details.LastName,sum(Incentives) as Incentives,sum(Festival_Bonus) as Bonus
|
|
from T_Monthly_Pay_Inputs
|
|
join T_Employee_Details on T_Monthly_Pay_Inputs.EmpID = T_Employee_Details.EmpID
|
|
where
|
|
substr(T_Monthly_Pay_Inputs.Month_Year,4) = ?
|
|
and substr(T_Monthly_Pay_Inputs.Month_Year,1,2) >= 4
|
|
or substr(T_Monthly_Pay_Inputs.Month_Year,4) = ?
|
|
and substr(T_Monthly_Pay_Inputs.Month_Year,1,2) <= 3
|
|
group by T_Monthly_Pay_Inputs.EmpID";
|
|
|
|
$query = $this->db->query($sql,array($pre_year,$curr_year));
|
|
return $query->result();
|
|
}
|
|
function Monthwisereportvalue($Fin_year,$EmployeeID)
|
|
{
|
|
|
|
|
|
$curr_split = explode('-',$Fin_year);
|
|
$pre_year = $curr_split[0];
|
|
$curr_year = $curr_split[1];
|
|
|
|
$sql= "select T_Monthly_Pay_Inputs.EmpID,T_Monthly_Pay_Inputs.Month_Year,T_Employee_Details.FirstName,T_Employee_Details.LastName,sum(Incentives) as Incentives,sum(Festival_Bonus) as Bonus
|
|
from T_Monthly_Pay_Inputs
|
|
join T_Employee_Details on T_Monthly_Pay_Inputs.EmpID = T_Employee_Details.EmpID
|
|
and T_Monthly_Pay_Inputs.EmpID = ?
|
|
where substr(T_Monthly_Pay_Inputs.Month_Year,4) = ? and substr(T_Monthly_Pay_Inputs.Month_Year,1,2) >= 4
|
|
or substr(T_Monthly_Pay_Inputs.Month_Year,4) = ? and substr(T_Monthly_Pay_Inputs.Month_Year,1,2) <= 3
|
|
group by T_Monthly_Pay_Inputs.Month_Year";
|
|
|
|
$query = $this->db->query($sql,array($EmployeeID,$pre_year,$curr_year));
|
|
return $query->result();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//this function Production Salary cost details
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function productionsalarycosts($productions)
|
|
{
|
|
$this->db->insert('T_ProductionSalaryCost',$productions);
|
|
|
|
$r = $this->db->affected_rows();
|
|
return $r;
|
|
}
|
|
|
|
function updateproduction($productions,$sno)
|
|
{
|
|
|
|
|
|
$this->db->where('sno',$sno);
|
|
$this->db->update('T_ProductionSalaryCost',$productions);
|
|
$r = $this->db->affected_rows();
|
|
return $r;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
function productionsalarycost()
|
|
{
|
|
$this->db->select('*');
|
|
$this->db->from('T_ProductionSalaryCost');
|
|
$query =$this->db->get();
|
|
return $query->result();
|
|
}
|
|
|
|
|
|
|
|
function attyesterday($WH,$daydate)
|
|
{
|
|
|
|
|
|
|
|
$sql="select att.EmpID,".$WH.",a.FirstName from T_Attendance as att
|
|
join T_Employee_Details as a on a.EmpID= att.EmpID
|
|
where Month_Year = ? and att.EmpID in (select EmpID from T_Attendance)";
|
|
$query = $this->db->query($sql,array($daydate));
|
|
|
|
return $query->result_array();
|
|
}
|
|
|
|
|
|
function dayAllPersentEmpSalary($WH,$OT,$date)
|
|
{
|
|
|
|
$sql="select EmpID,".$WH.",".$OT." from T_Attendance where Month_Year = ? and EmpID in (select EmpID from T_Attendance)";
|
|
$query = $this->db->query($sql,array($date));
|
|
|
|
return $query->result_array();
|
|
}
|
|
|
|
|
|
|
|
function persentEmployeeDetails($EmpID){
|
|
|
|
$sql= "select * FROM T_Emp_Pay_Data where EmpID = ?;";
|
|
$query = $this->db->query($sql,array($EmpID));
|
|
|
|
return $query->result();
|
|
|
|
}
|
|
|
|
|
|
|
|
// function cost($ab)
|
|
// {
|
|
|
|
|
|
|
|
// $sql = "select * from T_ProductionSalaryCost where month(date)=month('".$ab."')";
|
|
|
|
// //echo $sql;die;
|
|
|
|
// $query = $this->db->query($sql);
|
|
|
|
// return $query->result();
|
|
// }
|
|
|
|
|
|
|
|
function cost($ab,$from,$to)
|
|
{
|
|
// echo $ab;echo $from;echo $to;
|
|
// die;
|
|
$sql = "select * from T_ProductionSalaryCost where
|
|
month(date)= month('".$ab."')";
|
|
|
|
if ($from and $to != '')
|
|
{
|
|
$sql.="or date >= '".$from."'
|
|
and date <= '".$to."'";
|
|
|
|
}
|
|
|
|
// echo $sql;
|
|
|
|
$query = $this->db->query($sql);
|
|
return $query->result();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
?>
|
|
|