?
Current Path : /home1/savoy/public_html/savoyglobal.net/drafthr/system/application/models/ |
Linux gator3171.hostgator.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 |
Current File : /home1/savoy/public_html/savoyglobal.net/drafthr/system/application/models/hrmodel.php |
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');?> <?php /* * To change this template, choose Tools | Templates * and open the template in the editor. */ class hrmodel extends Model { function hrmodel() { parent::Model(); $this->load->model('customermodel'); } function norecords($tabname) { $data = array(); $sql = "select MAX(id) as maxid from $tabname"; // echo $sql; $res = mysql_query($sql); $row = mysql_fetch_array($res); $numcode = $row['maxid']; if ($numcode != '') { return $numcode; } else { return 0; } } function numcount_data($table,$id,$field) { $query = "select * from $table where $field = '$id'"; // echo $query; $query = $this->db->query($query); if ($query->num_rows() == 0) { return 0; } else { return $query->num_rows(); } } function numcount_data_sal($table,$id,$date) { $date=$this->mastermodel->convdatformat($date); $query = "select id,basicsalary,premiumtarget,commission,currencytype,date,staffid from $table where staffid = '$id' and date <= '$date' order by date DESC limit 1"; // echo $query; $res = mysql_query($query); $num= mysql_num_rows($res); return $num; } function get_sal_data($table,$id,$date) { $date=$this->mastermodel->convdatformat($date); $data = array(); $sql = "select paymethod,id,basicsalary,premiumtarget,commission,currencytype,date,staffid from $table where staffid = '$id' and date <= '$date' order by date DESC limit 1"; //echo $sql; $Q= $this->db->query($sql) ; $row=$Q->row(); return $row; } function get_com_premgen($staffid,$date) { $data = array(); $splitdate = explode("-", $date); $sql = "select * from placing_slip_premiumdetails inner join placing_slip inner join placing_slip_stakeholders on placing_slip_premiumdetails.placing_slip_id = placing_slip.id and placing_slip_stakeholders.placing_slip_id = placing_slip.id and MONTH(quotation_date) = '$splitdate[1]' and YEAR(quotation_date) = '$splitdate[2]' and placing_slip_stakeholders.staffid = '$staffid' "; // echo $sql; $Q= $this->db->query($sql) ; if ($Q->num_rows() > 0) { foreach ($Q->result_array() as $row) { $data[] = $row; } } $Q->free_result(); return $data; } function get_com_prempay($staffid,$date) { $data = array(); $splitdate = explode("-", $date); $sql = "select * from placing_slip_payamount inner join placing_slip inner join placing_slip_stakeholders on placing_slip_payamount.placing_slip_id = placing_slip.id and placing_slip_stakeholders.placing_slip_id = placing_slip.id and MONTH(paydate) = '$splitdate[1]' and YEAR(paydate) = '$splitdate[2]' and placing_slip_stakeholders.staffid = '$staffid' "; // echo $sql; $Q= $this->db->query($sql) ; if ($Q->num_rows() > 0) { foreach ($Q->result_array() as $row) { $data[] = $row; } } $Q->free_result(); return $data; } function get_com_prempay_placinglsip($staffid,$date,$plaslip) { $data = array(); $splitdate = explode("-", $date); $sql = "select * from placing_slip_payamount inner join placing_slip inner join placing_slip_stakeholders on placing_slip_payamount.placing_slip_id = placing_slip.id and placing_slip_stakeholders.placing_slip_id = placing_slip.id and MONTH(paydate) = '$splitdate[1]' and YEAR(paydate) = '$splitdate[2]' and placing_slip_stakeholders.staffid = '$staffid' and placing_slip.id = '$plaslip'"; // echo $sql; $Q= $this->db->query($sql) ; if ($Q->num_rows() > 0) { foreach ($Q->result_array() as $row) { $data[] = $row; } } $Q->free_result(); return $data; } function get_com_premgen_paid($staffid,$date) { $data = array(); $splitdate = explode("-", $date); $sql = "select * from placing_slip_premiumdetails inner join placing_slip inner join placing_slip_stakeholders inner join placing_slip_payamount on placing_slip_premiumdetails.placing_slip_id = placing_slip.id and placing_slip_stakeholders.placing_slip_id = placing_slip.id and placing_slip_payamount.placing_slip_id = placing_slip.id and MONTH(paydate) = '$splitdate[1]' and YEAR(paydate) = '$splitdate[2]' and placing_slip_stakeholders.staffid = '$staffid' "; //echo $sql; $Q= $this->db->query($sql) ; if ($Q->num_rows() > 0) { foreach ($Q->result_array() as $row) { $data[] = $row; } } $Q->free_result(); return $data; } function insertstaffsalary($data) { if(isset($_POST['returnticket'])) { $returnticket=1; } else $returnticket = 0; $salarydate=$this->mastermodel->convdatformat($_POST['date']); $sql="insert into staffsalary (staffid,date,basicsalary,commission,premiumtarget,fromticket,toticket,returnticket,nooftickets,currencytype,paymethod) values('$_POST[employee_id]','$salarydate','$_POST[basicsalary]','".$_POST['hiddencomm']."','$_POST[premiumtarget]','$_POST[fromticket]','$_POST[toticket]','$returnticket','$_POST[nooftickets]','$_POST[currencytype]','$_POST[paymethod]')"; $query=$this->db->query($sql) ; $sal_id=$this->db->insert_id(); $sql = "select MAX(id) as maxid from staffsalary"; $res = mysql_query($sql); $row = mysql_fetch_array($res); $x = 1; while (isset($_POST['newpolicy_'.$x])) { $newpol[$x]=$_POST['newpolicy_'.$x]; $coverid[$x]=$_POST['coverid_'.$x]; $x++; } $i=1; while($x!=1) { $query=$this->db->query("insert into staffsalaryallowdeduc values('', '$row[maxid]','$coverid[$i]','$newpol[$i]','1')") ; $x--; $i++; } $x = 1; while (isset($_POST['newpolicy1_'.$x])) { $newpol[$x]=$_POST['newpolicy1_'.$x]; $coverid[$x]=$_POST['coverid1_'.$x]; $x++; } $i=1; while($x!=1) { $query=$this->db->query("insert into staffsalaryallowdeduc values('', '$row[maxid]','$coverid[$i]','$newpol[$i]','0')") ; $x--; $i++; } $x = 1; while (isset($_POST['desc_'.$x])) { $desc[$x]=$_POST['desc_'.$x]; $name[$x]=$_POST['name_'.$x]; $x++; } $i=1; while($x!=1) { $sql = "insert into staffsalarytickets values('', '$row[maxid]','$desc[$i]','$name[$i]')"; $query=$this->db->query($sql) ; $x--; $i++; } $x = 1; while (isset($_POST['txt_conType_'.$x])) { $type[$x]=$_POST['txt_conType_'.$x]; $company[$x]=$_POST['txt_conIns_'.$x]; $policy[$x]=$_POST['txt_conPol_'.$x]; $plan[$x]=$_POST['txt_conPlan_'.$x]; $sum[$x]=$_POST['txt_conSum_'.$x]; $x++; } $i=1; while($x!=1) { $query=$this->db->query("insert into staffsalarymedical values('','$row[maxid]', '$type[$i]','$company[$i]','$policy[$i]','$plan[$i]','$sum[$i]')") ; $x--; $i++; } // if($_POST['paymethod']!='cash') // { // // if($_POST['paymethod']=='bank') // { // // // echo "insert into salarybank values('','1', '$_POST[cheque_no]','$_POST[bank_name]','Bank','Bank'"; // $query=$this->db->query("insert into salarybank values('',' $sal_id', '$_POST[cheque_no]','$_POST[bank_name]','','')"); // // } // else { // $query=$this->db->query("insert into salarybank values('',' $sal_id', '$_POST[cheque_no]','$_POST[bank_name]','$_POST[acc_no]','$_POST[branch_name]')"); // } // } } function getcomset($table,$id,$field) { $data = array(); $sql = "select max(date) as date,cover_id from $table where $field = '$id' group by cover_id"; $Q= $this->db->query($sql); foreach ($Q->result_array() as $row) { $maxdate = $row['date']; // echo $maxdate; $sql = "select * from $table where $field = '$id' and date = '$maxdate' and cover_id='$row[cover_id]'"; //echo $sql; $Q1= $this->db->query($sql); if ($Q1->num_rows() > 0) { foreach ($Q1->result_array() as $row1) { $data[] = $row1; } } } $Q1->free_result(); return $data; } function getstfleavalloc($table,$id,$field) { $data = array(); $year = date("Y"); $sql = "select * from $table inner join leaveallocationdetails on leaveallocation.id = leaveallocationdetails.leaveallocationid and $field = '$id' and year = '$year'"; // echo $sql; //die(); $Q= $this->db->query($sql); if ($Q->num_rows() > 0) { foreach ($Q->result_array() as $row) { $data[] = $row; } } $Q->free_result(); return $data; } function getstfleavallocs($table,$id,$field) { $data = array(); $year = date("Y"); $sql = "select * from $table where $field = '$id' and year = '$year'"; // echo $sql; //die(); $Q= $this->db->query($sql); if ($Q->num_rows() > 0) { foreach ($Q->result_array() as $row) { $data[] = $row; } } $Q->free_result(); return $data; } function addallowdeduction() { $this->db->trans_begin(); $query1="insert into allowdeduc (allowdeduccode,allowdeducname,allowdeductype,mode) values('$_POST[allowdeduccode]','$_POST[allowdeducname]','$_POST[allowdeductype]','$_POST[mode]')"; $query=$this->db->query($query1) ; $allid=$this->db->insert_id() ; $accno=$this->getmaxexpense(); $dedacc=$accno+1; $tblValues=array('account_code'=>$dedacc, 'account_name'=>$_POST['allowdeducname'] ,'chart_type'=>3,'parent'=>0); $this->db->insert('chart_master', $tblValues); $tblValues=array('chartgroup_name'=>$dedacc); $this->db->where('id',$allid); $this->db->update('allowdeduc', $tblValues); if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); return 0; } else { $this->db->trans_commit(); return 1; } } function getstfleavapply($id) { $data = array(); $year = date("Y"); $sql = "select * from assignleave where staffid = '$id' and (fromdate like '".$year."%')"; $Q= $this->db->query($sql); if ($Q->num_rows() > 0) { foreach ($Q->result_array() as $row) { $data[] = $row; } } $Q->free_result(); return $data; } function insertcommissionsettings($data) { $x = 1; while (isset($_POST['newpolicy_'.$x])) { $newpol[$x]=$_POST['newpolicy_'.$x]; $ren[$x]=$_POST['renewal_'.$x]; $coverid[$x]=$_POST['coverid_'.$x]; $x++; } $i=1; while($x!=1) { $query=$this->db->query("insert into commissionsettings (date,cover_id,designationid,newpolicy,renewal) values('$_POST[date]]','$coverid[$i]','$_POST[designationid]','$newpol[$i]','$ren[$i]')") ; $staffs=$this->mastermodel->get_data('staffemployeedetails',$_POST['designationid'],'designationid'); foreach($staffs as $stid) { $query=$this->db->query("insert into staffcommissionsettings (date,cover_id,staffid,newpolicy,renewal) values('$_POST[date]]','$coverid[$i]','$stid[staffid]','$newpol[$i]','$ren[$i]')") ; } $x--; $i++; } } function insertsalarypayment() { $paydate=date('Y-m-d'); $salarydate=$this->mastermodel->convdatformat($_POST['salarydate']); $netpayment=$_POST['basicsalary']+$_POST['allowance']-$_POST['deduction']; $query1="insert into emp_salary_slip (employee_id,salary_date,pay_date,basic_salary,allowance,deduction,netpayment,currencytype,paidamount,commission) values('$_POST[staffid]','$salarydate','$paydate','$_POST[basicsalary]','$_POST[allowance]','$_POST[deduction]','$netpayment','$_POST[currencytype]','$_POST[payamount]','$_POST[commission]')"; $query=$this->db->query($query1) ; $salid=mysql_insert_id(); $x = 1; while (isset($_POST['allowvalue_'.$x])) { $coverid[$x]=$_POST['allowid_'.$x]; $newpol[$x]=$_POST['allowvalue_'.$x]; $x++; } $i=1; while($x!=1) { $sql="insert into salarypaymentallowdeduc values('','$salid','$coverid[$i]','$newpol[$i]','1')"; $query=$this->db->query($sql) ; $x--; $i++; } $x = 1; while (isset($_POST['deducvalue_'.$x])) { $coverid[$x] =$_POST['deducid_'.$x]; $newpol[$x]=$_POST['deducvalue_'.$x]; $x++; } $i=1; while($x!=1) { $query=$this->db->query("insert into salarypaymentallowdeduc values('','$salid','$coverid[$i]','$newpol[$i]','0')") ; $x--; $i++; } } function insertcommissionpayment() { $query=$this->db->query("insert into commissionpayment (staffid,date,commission) values('$_POST[staffid]','$_POST[date]','$_POST[totalpremium]')") ; $sql = "select MAX(id) as maxid from commissionpayment"; $res = mysql_query($sql); $row = mysql_fetch_array($res); $x = 1; while (isset($_POST['cover_id_'.$x])) { $cover_id[$x]=$_POST['cover_id_'.$x]; $comperc[$x]=$_POST['comperc_'.$x]; $comon[$x]=$_POST['comon_'.$x]; $comamt[$x]=$_POST['comamt_'.$x]; $x++; } $i=1; while($x!=1) { $query=$this->db->query("insert into commissionpaymentdetails values('', '$row[maxid]','$cover_id[$i]]','$comperc[$i]','$comon[$i]','$comamt[$i]')") ; $x--; $i++; } } function insertleaveallocation($data) { $x = 1; $query=$this->db->query("insert into leaveallocation (staffid,year) values('$_POST[employee_id]','$_POST[year]')") ; $lastid = mysql_insert_id(); while (isset($_POST['leavetypeid_'.$x])) { $leavetypeid[$x]=$_POST['leavetypeid_'.$x]; $noofdays[$x]=$_POST['noofdays_'.$x]; $x++; } $i=1; while($x!=1) { $query=$this->db->query("insert into leaveallocationdetails values('', '$lastid','$leavetypeid[$i]','$noofdays[$i]')") ; $x--; $i++; } } function insertstaff() { $norec=$this->hrmodel->norecords('staffpersonaldetails'); if($_POST['type']=='Agent') { $employeeid="AGENT".$norec; $parent= $this->accountingsmodel->get_subaccount_setting('agent'); } else { $employeeid=$_POST['employeeid']; $parent= $this->accountingsmodel->get_subaccount_setting('employee'); } $enam=$_POST['name']; $sql="insert into staffpersonaldetails (employeeid,name,gender,dob,maritalstatus,nationality,idno,passportno,typeofvisa,expiryofvisa,type) values('$employeeid','$_POST[name]','$_POST[gender]','$_POST[dob]','$_POST[maritalstatus]','$_POST[nationality]','$_POST[idno]','$_POST[passportno]','$_POST[typeofvisa]','$_POST[expiryofvisa]','$_POST[type]')"; //die(); $query=$this->db->query($sql) ; //insert Employee Bank Account to chart_master $tblValues=array('account_code'=>$employeeid, 'account_name'=>$enam ,'chart_type'=>3,'parent'=>$parent,'inactive'=>0); $this->db->insert('chart_master', $tblValues); $sql = "select MAX(id) as maxid from staffpersonaldetails"; $res = mysql_query($sql); $row = mysql_fetch_array($res); $query1=$this->db->query("insert into staffemployeedetails (staffid,designationid,deptid,gradeid,statusid,joiningdate,reportingtostaffid,branchid,labourcardno,labourcardexpiry,device_no) values('$row[maxid]','$_POST[designation]','$_POST[department]','$_POST[grade]','$_POST[status]','$_POST[joiningdate]','$_POST[reportingtostaffid]','$_POST[branch]','$_POST[labno]','$_POST[labexp]','$_POST[device_no]')") ; $query2=$this->db->query("insert into staffpermaddress (staffid,emailid,phone,mobile,address,pobox,country,city) values('$row[maxid]','$_POST[emailid]','$_POST[phone]','$_POST[mobile]','$_POST[address]','$_POST[pobox]','$_POST[country]','$_POST[city]')"); $query3=$this->db->query("insert into stafflocaladdress (staffid,phone,mobile,address,pobox,country,city) values('$row[maxid]','$_POST[lphone]','$_POST[lmobile]','$_POST[laddress]','$_POST[lpobox]','$_POST[lcountry]','$_POST[lcity]')"); $course[1]=$_POST['txt_conCourse_1']; $uty[1]=$_POST['txt_conUty_1']; $yop[1]=$_POST['txt_conYop_1']; $x = 2; while (isset($_POST['txt_conCourse_'.$x])) { $course[$x]=$_POST['txt_conCourse_'.$x]; $uty[$x]=$_POST['txt_conUty_'.$x]; $yop[$x]=$_POST['txt_conYop_'.$x]; $x++; } $i=1; while($x!=1) { $query=$this->db->query("insert into staffeduquali values ('', '$row[maxid]','$course[$i]','$uty[$i]','$yop[$i]')"); $x--; $i++; } $course[1]=$_POST['txt_conCourseCer_1']; $uty[1]=$_POST['txt_conUInstCer_1']; $yop[1]=$_POST['txt_conYopCer_1']; $x = 2; while (isset($_POST['txt_conCourseCer_'.$x])) { $course[$x]=$_POST['txt_conCourse_'.$x]; $uty[$x]=$_POST['txt_conUInstCer_'.$x]; $yop[$x]=$_POST['txt_conYopCer_'.$x]; $x++; } $i=1; while($x!=1) { $query=$this->db->query("insert into staffaddcert values ('', '$row[maxid]','$course[$i]','$uty[$i]','$yop[$i]')"); $x--; $i++; } $course[1]=$_POST['txt_conEmp_1']; $uty[1]=$_POST['txt_conDesg_1']; $yop[1]=$_POST['txt_conPow_1']; $x = 2; while (isset($_POST['txt_conEmp_'.$x])) { $course[$x]=$_POST['txt_conCourse_'.$x]; $uty[$x]=$_POST['txt_conDesg_'.$x]; $yop[$x]=$_POST['txt_conPow_'.$x]; $x++; } $i=1; while($x!=1) { $query=$this->db->query("insert into staffproffexp values ('', '$row[maxid]','$course[$i]','$uty[$i]','$yop[$i]')"); $x--; $i++; } if($query>0) { return 1; } else { return 0; } } function updatedesignation($table) { $query=$this->db->query("update $table set designation='$_POST[designation]', reportingtoid = $_POST[reportingtoid] where id='$_POST[designationid]'"); } function updateofferletter($table) { $query=$this->db->query("update $table set name='$_POST[name]', email = '$_POST[email]',subdate='$_POST[subdate]', contactno = '$_POST[contactno]', designationid = '$_POST[designationid]', joindate ='$_POST[joindate]' where id='$_POST[offerletterid]'"); } function updateassignleave($table) { $fromdate=$date=$this->mastermodel->convdatformat($_POST['fromdate']); $todate=$date=$this->mastermodel->convdatformat($_POST['todate']); $query=$this->db->query("update $table set fromdate = '$fromdate', todate = '$todate', type = '$_POST[type]', remarks = '$_POST[remarks]' where id='$_POST[assignleaveid]'"); } function updateassignleavepermit($table) { $fromdate=$date=$this->mastermodel->convdatformat($_POST['fromdate']); $todate=$date=$this->mastermodel->convdatformat($_POST['todate']); $query=$this->db->query("update $table set fromdate = '$fromdate', todate = '$todate', type = '$_POST[type]', remarks = '$_POST[remarks]',leavestatus = '$_POST[leavestatus]' where id='$_POST[assignleaveid]'"); } function updatedepartment($table) { $query=$this->db->query("update $table set departmentname='$_POST[departmentname]' where id='$_POST[departmentid]'"); } function updategrade($table) { $query=$this->db->query("update $table set gradename='$_POST[gradename]' where id='$_POST[gradeid]'"); } function updatestatus($table) { $query=$this->db->query("update $table set statusname='$_POST[statusname]' where id='$_POST[statusid]'"); } function updatecommissionsettings($table) { $query=$this->db->query("update $table set cover_id='$_POST[cover_id]',designationid='$_POST[designationid]',newpolicy='$_POST[newpolicy]',renewal='$_POST[renewal]' where id='$_POST[commissionsettingsid]'"); } function updateallowdeduc($table) { $query=$this->db->query("update $table set allowdeducname='$_POST[allowdeducname]', allowdeductype = '$_POST[allowdeductype]',mode='$_POST[mode]' where id='$_POST[allowdeducid]'"); $tblValues=array('account_name'=>$_POST['allowdeducname']); $this->db->where('account_code',$_POST['chartgroup_name']); $this->db->update('chart_master', $tblValues); } function updateleavetype($table) { $query=$this->db->query("update $table set leavename='$_POST[leavename]', gender = '$_POST[gender]', carryforward = '$_POST[carryforward]', salaryrefund = '$_POST[refundable]' where id='$_POST[leavetypeid]'"); } function updateholidays($table) { $query=$this->db->query("update $table set occasion='$_POST[occasion]',date='$_POST[date]' where id='$_POST[holidaysid]'"); } function updateworkshifts() { $data=array(); $tblValues=array( 'work_shift_name'=> $_POST['work_shift_name'], 'work_shift_starting_time'=> $_POST['start_hour'].':'.$_POST['start_minute'], 'work_shift_ending_time'=>$_POST['end_hour'].':'.$_POST['end_minute'], 'work_shift_grace_time'=> $_POST['work_shift_grace_time'], 'work_shift_ending_time_half'=>$_POST['end_hour_half'].':'.$_POST['end_minute_half']); $this->db->where('work_shift_id', $_POST['workshiftid']); $this->db->update('timesheet_work_shift', $tblValues); $this->db->where('work_shift_id', $_POST['workshiftid']); $this->db->delete('timesheet_work_shift_employees'); $i=1; if(isset ($_POST['employees_2'])) { foreach($_POST['employees_2'] as $employee) { $tblValues=array( 'work_shift_id'=>$_POST['workshiftid'], 'employee_id'=>$employee); $this->db->insert('timesheet_work_shift_employees', $tblValues); $i++; //echo $this->db->last_query(); } } } function addweeklyholiday() { $this->db->query("truncate timesheet_weekly_holiday"); foreach($_POST['weekly_holiday'] as $holiday) { $this->db->query("insert into timesheet_weekly_holiday values(null,'". $holiday ."')"); } $this->db->query("truncate timesheet_weekly_holiday_half"); foreach($_POST['weekly_holiday_half'] as $holidayhalf) { $this->db->query("insert into timesheet_weekly_holiday_half values(null,'". $holidayhalf ."')"); } return 1; } function addworkshift() { $data=array(); $tblValues=array( 'work_shift_name'=> $_POST['work_shift_name'], 'work_shift_wef_date'=> $this->mastermodel->convertdateformat($_POST['work_shift_wef_date']), 'work_shift_starting_time'=> $_POST['start_hour'].':'.$_POST['start_minute'], 'work_shift_ending_time'=>$_POST['end_hour'].':'.$_POST['end_minute'], 'work_shift_grace_time'=> $_POST['work_shift_grace_time'], 'work_shift_ending_time_half'=>$_POST['end_hour_half'].':'.$_POST['end_minute_half'] ); $this->db->insert('timesheet_work_shift', $tblValues); $work_shift_id=mysql_insert_id(); $i=1; if(isset ($_POST['employees_2'])) { foreach($_POST['employees_2'] as $employee) { $tblValues=array('id'=>'null', 'work_shift_id'=>$work_shift_id, 'employee_id'=>$employee); $this->db->insert('timesheet_work_shift_employees', $tblValues); $i++; } } } function get_employee_shift($employee_device_id,$date) { $qry="SELECT * from timesheet_work_shift inner join timesheet_work_shift_employees ON (`timesheet_work_shift_employees`.`work_shift_id` = `timesheet_work_shift`.`work_shift_id`) inner join staffemployeedetails ON (`staffemployeedetails`.`staffid` = `timesheet_work_shift_employees`.`employee_id`) WHERE device_no = '$employee_device_id' AND work_shift_wef_date <='$date' order by work_shift_wef_date desc limit 1"; $res=$this->db->query($qry); $data=$res->row(); return $data; } function get_employee_attendance($employee_device_id,$from_date,$to_date) { $data = array(); $from_date = $this->mastermodel->convertdateformat($from_date); $from_date = $from_date." 00:00:00"; $to_date = $this->mastermodel->convertdateformat($to_date); $to_date = $to_date." 23:59:59"; $this->db->where('employee_device_id',$employee_device_id); $this->db->where('attendance_date >=',$from_date); $this->db->where('attendance_date <=',$to_date); $this->db->order_by('attendance_date','asc'); $Q= $this->db->get('timesheet_attendance'); if ($Q->num_rows() > 0) { foreach ($Q->result_array() as $row) { $data[] = $row; } } $Q->free_result(); return $data; } function insertbulkattendance() { $data=array(); $weekly_holidays=$this->mastermodel->getdatas('timesheet_weekly_holiday','weekly_holiday_id'); $holiday=array(); foreach ($weekly_holidays as $weekly) { $holiday[]=$weekly['weekly_holiday']; } $weekly_holidays_half=$this->mastermodel->getdatas('timesheet_weekly_holiday_half','weekly_holiday_id'); $holiday_half=array(); foreach ($weekly_holidays_half as $weekly_half) { $holiday_half[]=$weekly_half['weekly_holiday_half']; } $start_date = $this->mastermodel->convertdateformat($_POST['from_date']); $end_date = $this->mastermodel->convertdateformat($_POST['to_date']); while (strtotime($start_date) <= strtotime($end_date)) { if(in_array(date('l', strtotime($start_date)), $holiday) || $this->mastermodel->number_rows('holidays','date',$start_date)>0) { } else if(in_array(date('l', strtotime($start_date)), $holiday_half)) { foreach($_POST['employee'] as $employee) { $shift_details = $this->get_employee_shift($employee,$start_date); $num = $this->mastermodel->number_rows('timesheet_attendance','employee_device_id',$employee,'attendance_date',$start_date." ".$shift_details->work_shift_starting_time,'attendance_mode',1); if($num==0) { $tblValues= array('employee_device_id'=>$employee, 'attendance_date'=> $start_date." ".$shift_details->work_shift_starting_time, 'attendance_mode'=> 1, 'attendance_remarks'=> $_POST['attendance_remarks'] ); $this->db->insert('timesheet_attendance', $tblValues); } $num = $this->mastermodel->number_rows('timesheet_attendance','employee_device_id',$employee,'attendance_date',$start_date." ".$shift_details->work_shift_ending_time,'attendance_mode',0); if($num==0) { $tblValues1= array('employee_device_id'=>$employee, 'attendance_date'=> $start_date." ".$shift_details->work_shift_ending_time_half, 'attendance_mode'=> 0, 'attendance_remarks'=> $_POST['attendance_remarks'], ); $this->db->insert('timesheet_attendance', $tblValues1); } } } else { foreach($_POST['employee'] as $employee) { $shift_details = $this->get_employee_shift($employee,$start_date); $num = $this->mastermodel->number_rows('timesheet_attendance','employee_device_id',$employee,'attendance_date',$start_date." ".$shift_details->work_shift_starting_time,'attendance_mode',1); if($num==0) { $tblValues= array('employee_device_id'=>$employee, 'attendance_date'=> $start_date." ".$shift_details->work_shift_starting_time, 'attendance_mode'=> 1, 'attendance_remarks'=> $_POST['attendance_remarks'] ); $this->db->insert('timesheet_attendance', $tblValues); } $num = $this->mastermodel->number_rows('timesheet_attendance','employee_device_id',$employee,'attendance_date',$start_date." ".$shift_details->work_shift_ending_time,'attendance_mode',0); if($num==0) { $tblValues1= array('employee_device_id'=>$employee, 'attendance_date'=> $start_date." ".$shift_details->work_shift_ending_time, 'attendance_mode'=> 0, 'attendance_remarks'=> $_POST['attendance_remarks'], ); $this->db->insert('timesheet_attendance', $tblValues1); } } } $start_date = date ("Y-m-d", strtotime("+1 day", strtotime($start_date))); } } function insertupdateattendance($postdata) { $data=array(); for($i=1;$i<=$_POST['num_rows'];$i++) { if(isset($_POST['present_'.$i])) { $tblValues=array( 'attendance_mode'=> $_POST['attendance_mode_'.$i], 'attendance_remarks'=> $_POST['attendance_remarks_'.$i] ); $this->db->where('timesheet_attendance_id', $_POST['timesheet_attendance_id_'.$i]); $this->db->update('timesheet_attendance', $tblValues); } else { $this->db->where('timesheet_attendance_id', $_POST['timesheet_attendance_id_'.$i]); $this->db->delete('timesheet_attendance'); } } } function insertmarkattendance() { $data=array(); $date = $this->mastermodel->convertdateformat($_POST['date']); $tblValues= array('employee_device_id'=>$_POST['device_id'], 'attendance_date'=> $date." ".$_POST['time_hour'].":".$_POST['time_minute'].":00", 'attendance_mode'=> $_POST['attendance_mode'], 'attendance_remarks'=> $_POST['attendance_remarks'] ); $this->db->insert('timesheet_attendance', $tblValues); //echo $this->db->last_query(); //die(); } function updateresumemanagement($table) { $query=$this->db->query("update $table set name='$_POST[name]',department='$_POST[department]',qualification='$_POST[qualification]',email='$_POST[email]',subdate='$_POST[subdate]',expectedsalary='$_POST[expectedsalary]',experience='$_POST[experience]',contactno='$_POST[contactno]' where id='$_POST[resumemanagementid]'"); } function updatestaff() { $query=$this->db->query("update staffpersonaldetails set name='$_POST[name]',gender='$_POST[gender]',dob='$_POST[dob]',maritalstatus='$_POST[maritalstatus]',nationality='$_POST[nationality]',idno='$_POST[idno]',passportno='$_POST[passportno]',typeofvisa='$_POST[typeofvisa]',expiryofvisa='$_POST[expiryofvisa]',type='$_POST[type] where id='$_POST[staffid]'"); $query1=$this->db->query("update staffemployeedetails set designationid='$_POST[designation]',deptid='$_POST[department]',gradeid='$_POST[grade]',statusid='$_POST[status]',joiningdate='$_POST[joiningdate]',reportingtostaffid='$_POST[reportingtostaffid]',branchid='$_POST[branch]',labourcardno='$_POST[labno]',labourcardexpiry='$_POST[labexp]',device_no='$_POST[device_no]' where staffid='$_POST[staffid]'"); $query2=$this->db->query("update staffpermaddress set emailid='$_POST[emailid]',phone='$_POST[phone]',mobile='$_POST[mobile]',address='$_POST[address]',pobox='$_POST[pobox]',country='$_POST[country]',city='$_POST[city]' where staffid='$_POST[staffid]'"); $query3=$this->db->query("update stafflocaladdress set phone='$_POST[lphone]',mobile='$_POST[lmobile]',address='$_POST[laddress]',pobox='$_POST[lpobox]',country='$_POST[lcountry]',city='$_POST[lcity]' where staffid='$_POST[staffid]'"); $numcont=$this->db->query("select * from staffeduquali where staffid='$_POST[staffid]'"); $numcontact=$numcont->num_rows(); $x=1; while (isset($_POST['txt_conCourse_'.$x]) != '') { $course[$x]=$_POST['txt_conCourse_'.$x]; $uty[$x]=$_POST['txt_conUty_'.$x]; $yop[$x]=$_POST['txt_conYop_'.$x]; if($x<=$numcontact) { $id[$x]=$_POST['hided_'.$x]; $sql = "update staffeduquali set `course`='$course[$x]',`university`='$uty[$x]',`yearofpassing`='$yop[$x]' where id='$id[$x]' "; $query=$this->db->query($sql); // echo $sql; } else { if(!empty($_POST['txt_conCourse_'.$x])) { $query=$this->db->query("insert into staffeduquali values ('', '$_POST[staffid]', '$course[$x]', '$uty[$x]', '$yop[$x]')"); } } $x++; } $numcont=$this->db->query("select * from staffaddcert where staffid='$_POST[staffid]'"); $numcontact=$numcont->num_rows(); $x=1; while (isset($_POST['txt_conCourseCer_'.$x]) != '') { $course[$x]=$_POST['txt_conCourseCer_'.$x]; $inst[$x]=$_POST['txt_conUInstCer_'.$x]; $yop[$x]=$_POST['txt_conYopCer_'.$x]; if($x<=$numcontact) { $id[$x]=$_POST['hidcer_'.$x]; $sql = "update staffaddcert set `course`='$course[$x]',`institute`='$inst[$x]',`yearofpassing`='$yop[$x]' where id='$id[$x]' "; $query=$this->db->query($sql); } else { if(!empty($_POST['txt_conCourseCer_'.$x])) { $query=$this->db->query("insert into staffaddcert values ('', '$_POST[staffid]', '$course[$x]', '$inst[$x]', '$yop[$x]')"); } } $x++; } $numcont=$this->db->query("select * from staffproffexp where staffid='$_POST[staffid]'"); $numcontact=$numcont->num_rows(); $x=1; while (isset($_POST['txt_conEmp_'.$x]) != '') { // echo $x."<br>"; $emp[$x]=$_POST['txt_conEmp_'.$x]; $desg[$x]=$_POST['txt_conDesg_'.$x]; $pow[$x]=$_POST['txt_conPow_'.$x]; if($x<=$numcontact) { $id[$x]=$_POST['hidprof_'.$x]; $sql = "update staffproffexp set `employer`='$emp[$x]',`designation`='$desg[$x]',`period`='$pow[$x]' where id='$id[$x]' "; $query=$this->db->query($sql); } else { if(!empty($_POST['txt_conEmp_'.$x])) { $query=$this->db->query("insert into staffproffexp values ('', '$_POST[staffid]', '$emp[$x]', '$desg[$x]', '$pow[$x]')"); } } $x++; } } function updateleaveallocation($data) { $x = 1; $query=$this->db->query("update leaveallocation set staffid = '$_POST[staffid]', year = '$_POST[year]' where id = '$_POST[leaveallocationid]'") ; $lastid = mysql_insert_id(); $sql = "delete from leaveallocationdetails where leaveallocationid = '$_POST[leaveallocationid]'"; $this->db->query($sql); while (isset($_POST['leavetypeid_'.$x])) { $leavetypeid[$x]=$_POST['leavetypeid_'.$x]; $noofdays[$x]=$_POST['noofdays_'.$x]; $x++; } $i=1; while($x!=1) { $query=$this->db->query("insert into leaveallocationdetails values('', '$_POST[leaveallocationid]','$leavetypeid[$i]','$noofdays[$i]')") ; $x--; $i++; } } function updatestaffsalary() { $date=$this->mastermodel->convdatformat($_POST['date']); $query=$this->db->query("update staffsalary set staffid='$_POST[staffid]',date='$date',basicsalary='$_POST[basicsalary]',paymethod='$_POST[paymethod]',currencytype='$_POST[currencytype]' where id='$_POST[staffsalaryid]'"); $numcont=$this->db->query("select * from staffsalaryallowdeduc where staffsalaryid='$_POST[staffsalaryid]' and allowdeductype = '1'"); $numcontact=$numcont->num_rows(); $salid=$_POST['staffsalaryid']; $this->db->query("delete from staffsalaryallowdeduc where staffsalaryid = '$salid'"); $x = 1; while (isset($_POST['newpolicy_'.$x])) { $coverid[$x]=$_POST['allowid_'.$x]; $newpol[$x]=$_POST['newpolicy_'.$x]; $x++; } $i=1; while($x!=1) { $sql="insert into staffsalaryallowdeduc values('','$salid','$coverid[$i]','$newpol[$i]','1')"; $query=$this->db->query($sql) ; $x--; $i++; } $x = 1; while (isset($_POST['newpolicy1_'.$x])) { $coverid[$x] =$_POST['deducid_'.$x]; $newpol[$x]=$_POST['newpolicy1_'.$x]; $x++; } $i=1; while($x!=1) { $query=$this->db->query("insert into staffsalaryallowdeduc values('','$salid','$coverid[$i]','$newpol[$i]','0')") ; $x--; $i++; } $x = 1; $this->db->query("delete from staffsalarymedical where staffsalaryid = '$_POST[staffsalaryid]'"); while (isset($_POST['txt_conType_'.$x])) { $type[$x]=$_POST['txt_conType_'.$x]; $company[$x]=$_POST['txt_conIns_'.$x]; $policy[$x]=$_POST['txt_conPol_'.$x]; $plan[$x]=$_POST['txt_conPlan_'.$x]; $sum[$x]=$_POST['txt_conSum_'.$x]; $x++; } $i=1; while($x!=1) { $query=$this->db->query("insert into staffsalarymedical values('','$_POST[staffsalaryid]', '$type[$i]','$company[$i]','$policy[$i]','$plan[$i]','$sum[$i]')") ; $x--; $i++; } // if($_POST['last_method']=='cash') // { // // // if($_POST['paymethod']=='bank') // { // // // echo "insert into salarybank values('','1', '$_POST[cheque_no]','$_POST[bank_name]','Bank','Bank'"; // $query=$this->db->query("insert into salarybank values('',' $_POST[staffsalaryid]', '$_POST[cheque_no]','$_POST[bank_name]','','')"); // // } // else { // $query=$this->db->query("insert into salarybank values('',' $_POST[staffsalaryid]', '$_POST[cheque_no]','$_POST[bank_name]','$_POST[acc_no]','$_POST[branch_name]')"); // } // // } // // // // // // // if($_POST['paymethod']!='cash') // { // // if($_POST['paymethod']=='bank') // { // // // echo "insert into salarybank values('','1', '$_POST[cheque_no]','$_POST[bank_name]','Bank','Bank'"; // $query=$this->db->query("update salarybank set ch_dep_no='$_POST[cheque_no]',bank_name='$_POST[bank_name]',acc_no='',branch_name='' where sal_id='$_POST[staffsalaryid]'"); // // } // else { // // $query=$this->db->query("update salarybank set ch_dep_no='$_POST[cheque_no]',bank_name='$_POST[bank_name]',acc_no='$_POST[acc_no]',branch_name='$_POST[branch_name]' where sal_id='$_POST[staffsalaryid]'"); // } // } // // else if($_POST['paymethod']=='cash') // { // $query=$this->db->query("delete from salarybank where sal_id='$_POST[staffsalaryid]'"); // } } function updatecomstafffin($table) { $x=1; while (isset($_POST['comid_'.$x]) != '') { $sql = "update staffcommissionsettings set `newpolicy`='".$_POST['newpolicy_'.$x]."',`renewal`='".$_POST['renewal_'.$x]."' where id= '".$_POST['comid_'.$x]."'"; //echo $sql; $query=$this->db->query($sql); $x++; } } function get_data_search($table,$id,$field,$page,$per_page) { if($page) { $start = ($page-1)*$per_page; } else { $start=0; } switch($field) { case "name": $sql = "select * from $table where $field like '".$id."%' limit $start,$per_page"; break; case "designation": $query = "select id from designation where $field like '".$id."%'"; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select * from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid and designationid in ($query) limit $start,$per_page"; break; case "department": $query = "select id from department where departmentname like '".$id."%'"; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select * from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid and deptid in ($query) limit $start,$per_page"; break; } //echo $sql; return $sql; } function get_data_search_others($table,$id,$field,$page,$per_page) { if($page) { $start = ($page-1)*$per_page; } else { $start=0; } if($field == "reportingtoid") { $qry = "select id from designation where designation like '".$id."%'"; $sql = "select * from $table where $field in ($qry) limit $start,$per_page"; } else if($field == "staffid") { $qry = "select id from staffpersonaldetails where name like '".$id."%'"; $sql = "select * from $table where $field in ($qry) limit $start,$per_page"; // echo $sql; } else if($field == "cover_id") { $qry = "select id from covers where cover like '".$id."%'"; $sql = "select * from $table where $field in ($qry) limit $start,$per_page"; } else if($field == "designationid") { $qry = "select id from designation where designation like '".$id."%'"; $sql = "select * from $table where $field in ($qry) limit $start,$per_page"; // echo $sql; } else if($field == "type") { $qry = "select id from leavetype where leavename like '".$id."%'"; //echo $qry; $sql = "select * from $table where $field in ($qry) limit $start,$per_page"; // echo $sql; } else { $sql = "select * from $table where $field like '%".$id."%' limit $start,$per_page"; } return $sql; } function get_data_search_all($table,$id,$field) { switch($field) { case "name": $sql = "select * from $table where $field like '".$id."%'"; break; case "designation": $query = "select id from designation where $field like '".$id."%'"; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select * from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid and designationid in ($query)"; break; case "department": $query = "select id from department where departmentname like '".$id."%'"; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select * from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid and deptid in ($query)"; break; } $res = mysql_query($sql); return mysql_num_rows($res); } function get_data_search_others_all($table,$id,$field) { if($field == "reportingtoid") { $qry = "select id from designation where designation like '".$id."%'"; $sql = "select * from $table where $field in ($qry)"; } else { $sql = "select * from $table where $field like '".$id."%'"; } $res = mysql_query($sql); return mysql_num_rows($res); } function get_data_search_othersnew($table,$id,$field,$page,$per_page) { $staffids=$this->mastermodel->tracestaff(); $staffids=implode(',', $staffids); if ($this->mastermodel->ret_private()) { $where=' where staffid in ('.$staffids.') and'; } else { $where=' where '; } if($page) { $start = ($page-1)*$per_page; } else { $start=0; } if($field == "reportingtoid") { $qry = "select id from designation where designation like '".$id."%'"; $sql = "select * from $table $where $field in ($qry) limit $start,$per_page"; } else if($field == "staffid") { $qry = "select id from staffpersonaldetails where name like '".$id."%'"; $sql = "select * from $table $where $field in ($qry) limit $start,$per_page"; } else if($field == "cover_id") { if($table=='commissionsettings') { $sql="SELECT * FROM commissionsettings c join staffemployeedetails se on se.designationid=c.designationid join covers cv on c.cover_id=cv.id where cover like '".$id."%' and se.staffid in($staffids)"; } else { $qry = "select id from covers where cover like '".$id."%'"; $sql = "select * from $table $where $field in ($qry) limit $start,$per_page"; } } else if($field == "designationid") { $qry = "select id from designation where designation like '".$id."%'"; $sql = "select * from $table where $field in ($qry) limit $start,$per_page"; } else if($field == "type") { $qry = "select id from leavetype where leavename like '".$id."%'"; $sql = "select * from $table $where $field in ($qry) limit $start,$per_page"; } else { $sql = "select * from $table $where $field like '".$id."%' limit $start,$per_page"; } //echo $sql; return $sql; } function get_data_search_others_allnew($table,$id,$field) { $staffids=$this->mastermodel->tracestaff(); $staffids=implode(',', $staffids); if ($this->mastermodel->ret_private()) { $where=' where staffid in ('.$staffids.') and'; } else { $where=' where '; } if($field == "reportingtoid") { $qry = "select id from designation where designation like '".$id."%'"; $sql = "select * from $table $where $field in ($qry)"; } else if($field == "staffid") { $qry = "select id from staffpersonaldetails where name like '".$id."%'"; $sql = "select * from $table $where $field in ($qry)"; } else if($field == "cover_id") { if($table=='commissionsettings') { $sql="SELECT * FROM commissionsettings c join staffemployeedetails se on se.designationid=c.designationid join covers cv on c.cover_id=cv.id where cover like '".$id."%' and se.staffid in($staffids)"; } else { $qry = "select id from covers where cover like '".$id."%'"; $sql = "select * from $table $where $field in ($qry) "; } } else if($field == "designationid") { $qry = "select id from designation where designation like '".$id."%'"; $sql = "select * from $table where $field in ($qry)"; } else if($field == "type") { $qry = "select id from leavetype where leavename like '".$id."%'"; $sql = "select * from $table $where $field in ($qry)"; } else { $sql = "select * from $table $where $field like '".$id."%'"; } // echo $sql; $res = mysql_query($sql); return mysql_num_rows($res); } function get_data_searchnew($table,$id,$field,$page,$per_page) { $staffids=$this->mastermodel->tracestaff(); $staffids=implode(',', $staffids); if ($this->mastermodel->ret_private()) { $where=' where staffpersonaldetails.id in ('.$staffids.') and'; } else { $where=' where '; } if($page) { $start = ($page-1)*$per_page; } else { $start=0; } switch($field) { case "name": $sql = "select * from $table $where $field like '".$id."%' limit $start,$per_page"; break; case "employeeid": $sql = "select * from $table $where $field like '".$id."%' limit $start,$per_page"; break; case "designation": $query = "select id from designation where $field like '".$id."%'"; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select department.departmentname,designation.designation,staffpersonaldetails.id,staffpersonaldetails.employeeid,staffpersonaldetails.name from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid join designation on staffemployeedetails.designationid=designation.id join department on staffemployeedetails.deptid=department.id $where designation.designation like '".$id."%' limit $start,$per_page"; break; case "department": $query = "select id from department where departmentname like '".$id."%'"; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select department.departmentname,staffpersonaldetails.id,staffpersonaldetails.employeeid,staffpersonaldetails.name from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid join department on staffemployeedetails.deptid=department.id $where department.departmentname like '".$id."%' limit $start,$per_page"; break; } return $sql; } function get_data_search_allnew($table,$id,$field) { $staffids=$this->mastermodel->tracestaff(); $staffids=implode(',', $staffids); if ($this->mastermodel->ret_private()) { $where=' where staffpersonaldetails.id in ('.$staffids.') and'; } else { $where=' where '; } switch($field) { case "name": $sql = "select * from $table $where $field like '".$id."%'"; break; case "employeeid": $sql = "select * from $table $where $field like '".$id."%'"; break; case "designation": $query = "select id from designation where $field like '".$id."%'"; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select department.departmentname,designation.designation,staffpersonaldetails.id,staffpersonaldetails.employeeid,staffpersonaldetails.name from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid join designation on staffemployeedetails.designationid=designation.id join department on staffemployeedetails.deptid=department.id $where designation.designation like '".$id."%'"; break; case "department": $query = "select id from department where departmentname like '".$id."%'"; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select department.departmentname,staffpersonaldetails.id,staffpersonaldetails.employeeid,staffpersonaldetails.name from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid join department on staffemployeedetails.deptid=department.id $where department.departmentname like '".$id."%'"; break; } $res = mysql_query($sql); return mysql_num_rows($res); } function employeelist($staffname="",$searchBy="") { $data=array(); if($searchBy == 'employeeid' || $searchBy == 'name') { $qry="SELECT * from staffpersonaldetails where $searchBy like '" . $staffname . "%'"; $Q=$this->db->query($qry); $rows=$Q->result_array(); foreach ($rows as $rw) { $newRow['id']=$rw['id']; $newRow['name']=$rw['name']; $newRow['employeeid']=$rw['employeeid']; $sql = "select designation from designation inner join staffemployeedetails on designation.id = staffemployeedetails.designationid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q1=$this->db->query($sql); $rows1=$Q1->result_array(); foreach ($rows1 as $rw1) $newRow['designation'] = $rw1['designation']; $sql1 = "select departmentname from department inner join staffemployeedetails on department.id = staffemployeedetails.deptid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q2=$this->db->query($sql1); $rows2=$Q2->result_array(); foreach ($rows2 as $rw2) $newRow['department'] = $rw2['departmentname']; $data[]=$newRow; $newRow=""; } } else if($searchBy == 'designation') { $query = "select id from designation where $searchBy like '".$staffname."%'"; // echo $query; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select * from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid and staffemployeedetails.designationid in ($query)"; $Q=$this->db->query($sql); $rows=$Q->result_array(); foreach ($rows as $rw) { $newRow['id']=$rw['id']; $newRow['name']=$rw['name']; $newRow['employeeid']=$rw['employeeid']; $sql = "select designation from designation inner join staffemployeedetails on designation.id = staffemployeedetails.designationid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q1=$this->db->query($sql); $rows1=$Q1->result_array(); foreach ($rows1 as $rw1) $newRow['designation'] = $rw1['designation']; $sql1 = "select departmentname from department inner join staffemployeedetails on department.id = staffemployeedetails.deptid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q2=$this->db->query($sql1); $rows2=$Q2->result_array(); foreach ($rows2 as $rw2) $newRow['department'] = $rw2['departmentname']; $data[]=$newRow; $newRow=""; } } else if($searchBy == 'departmentname') { $query = "select id from department where $searchBy like '".$staffname."%'"; //echo $query; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select * from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid and staffemployeedetails.deptid in ($query)"; $Q=$this->db->query($sql); $rows=$Q->result_array(); foreach ($rows as $rw) { $newRow['id']=$rw['id']; $newRow['name']=$rw['name']; $newRow['employeeid']=$rw['employeeid']; $sql = "select designation from designation inner join staffemployeedetails on designation.id = staffemployeedetails.designationid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q1=$this->db->query($sql); $rows1=$Q1->result_array(); foreach ($rows1 as $rw1) $newRow['designation'] = $rw1['designation']; $sql1 = "select departmentname from department inner join staffemployeedetails on department.id = staffemployeedetails.deptid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q2=$this->db->query($sql1); $rows2=$Q2->result_array(); foreach ($rows2 as $rw2) $newRow['department'] = $rw2['departmentname']; $data[]=$newRow; $newRow=""; } } return $data; } function get_leave_balance($staffid,$type,$year) { $balleav = 0; $sql = "select datediff(todate,fromdate) as leavbal from assignleave where type = '$type' and leavestatus = 'Approved' and staffid = '$staffid' and (fromdate like '".$year."%')" ; $Q=$this->db->query($sql); $rows=$Q->result_array(); foreach ($rows as $rw) { $balleav+=$rw['leavbal']; } return $balleav; } function employeelistpagination($PageNo=1,$pageSize,$staffname="",$searchBy="") { $limtvalue= ($PageNo-1) * $pageSize ."," . $pageSize ; $data=array(); if($searchBy == 'employeeid' || $searchBy == 'name') { $qry="SELECT * from staffpersonaldetails where $searchBy like '" . $staffname . "%' limit ". $limtvalue; $Q=$this->db->query($qry); $rows=$Q->result_array(); foreach ($rows as $rw) { $newRow['id']=$rw['id']; $newRow['name']=$rw['name']; $newRow['employeeid']=$rw['employeeid']; $sql = "select designation from designation inner join staffemployeedetails on designation.id = staffemployeedetails.designationid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q1=$this->db->query($sql); $rows1=$Q1->result_array(); foreach ($rows1 as $rw1) $newRow['designation'] = $rw1['designation']; $sql1 = "select departmentname from department inner join staffemployeedetails on department.id = staffemployeedetails.deptid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q2=$this->db->query($sql1); $rows2=$Q2->result_array(); foreach ($rows2 as $rw2) $newRow['department'] = $rw2['departmentname']; $data[]=$newRow; $newRow=""; } } else if($searchBy == 'designation') { $query = "select id from designation where $searchBy like '".$staffname."%'"; // echo $query; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select * from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid and staffemployeedetails.designationid in ($query)"; $Q=$this->db->query($sql); $rows=$Q->result_array(); foreach ($rows as $rw) { $newRow['id']=$rw['id']; $newRow['name']=$rw['name']; $newRow['employeeid']=$rw['employeeid']; $sql = "select designation from designation inner join staffemployeedetails on designation.id = staffemployeedetails.designationid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q1=$this->db->query($sql); $rows1=$Q1->result_array(); foreach ($rows1 as $rw1) $newRow['designation'] = $rw1['designation']; $sql1 = "select departmentname from department inner join staffemployeedetails on department.id = staffemployeedetails.deptid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q2=$this->db->query($sql1); $rows2=$Q2->result_array(); foreach ($rows2 as $rw2) $newRow['department'] = $rw2['departmentname']; $data[]=$newRow; $newRow=""; } } else if($searchBy == 'departmentname') { $query = "select id from department where $searchBy like '".$staffname."%'"; //echo $query; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select * from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid and staffemployeedetails.deptid in ($query)"; $Q=$this->db->query($sql); $rows=$Q->result_array(); foreach ($rows as $rw) { $newRow['id']=$rw['id']; $newRow['name']=$rw['name']; $newRow['employeeid']=$rw['employeeid']; $sql = "select designation from designation inner join staffemployeedetails on designation.id = staffemployeedetails.designationid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q1=$this->db->query($sql); $rows1=$Q1->result_array(); foreach ($rows1 as $rw1) $newRow['designation'] = $rw1['designation']; $sql1 = "select departmentname from department inner join staffemployeedetails on department.id = staffemployeedetails.deptid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q2=$this->db->query($sql1); $rows2=$Q2->result_array(); foreach ($rows2 as $rw2) $newRow['department'] = $rw2['departmentname']; $data[]=$newRow; $newRow=""; } } return $data; } function agentlistpagination($PageNo=1,$pageSize,$staffname="",$searchBy="") { $limtvalue= ($PageNo-1) * $pageSize ."," . $pageSize ; $data=array(); if($searchBy == 'employeeid' || $searchBy == 'name') { $qry="SELECT * from staffpersonaldetails where $searchBy like '" . $staffname . "%' and type = 'Agent' limit ". $limtvalue; $Q=$this->db->query($qry); $rows=$Q->result_array(); foreach ($rows as $rw) { $newRow['id']=$rw['id']; $newRow['name']=$rw['name']; $newRow['employeeid']=$rw['employeeid']; $sql = "select designation from designation inner join staffemployeedetails on designation.id = staffemployeedetails.designationid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q1=$this->db->query($sql); $rows1=$Q1->result_array(); foreach ($rows1 as $rw1) $newRow['designation'] = $rw1['designation']; $sql1 = "select departmentname from department inner join staffemployeedetails on department.id = staffemployeedetails.deptid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q2=$this->db->query($sql1); $rows2=$Q2->result_array(); foreach ($rows2 as $rw2) $newRow['department'] = $rw2['departmentname']; $data[]=$newRow; $newRow=""; } } else if($searchBy == 'designation') { $query = "select id from designation where $searchBy like '".$staffname."%'"; // echo $query; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select * from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid and staffemployeedetails.designationid in ($query)"; $Q=$this->db->query($sql); $rows=$Q->result_array(); foreach ($rows as $rw) { $newRow['id']=$rw['id']; $newRow['name']=$rw['name']; $newRow['employeeid']=$rw['employeeid']; $sql = "select designation from designation inner join staffemployeedetails on designation.id = staffemployeedetails.designationid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q1=$this->db->query($sql); $rows1=$Q1->result_array(); foreach ($rows1 as $rw1) $newRow['designation'] = $rw1['designation']; $sql1 = "select departmentname from department inner join staffemployeedetails on department.id = staffemployeedetails.deptid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q2=$this->db->query($sql1); $rows2=$Q2->result_array(); foreach ($rows2 as $rw2) $newRow['department'] = $rw2['departmentname']; $data[]=$newRow; $newRow=""; } } else if($searchBy == 'departmentname') { $query = "select id from department where $searchBy like '".$staffname."%'"; //echo $query; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select * from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid and staffemployeedetails.deptid in ($query)"; $Q=$this->db->query($sql); $rows=$Q->result_array(); foreach ($rows as $rw) { $newRow['id']=$rw['id']; $newRow['name']=$rw['name']; $newRow['employeeid']=$rw['employeeid']; $sql = "select designation from designation inner join staffemployeedetails on designation.id = staffemployeedetails.designationid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q1=$this->db->query($sql); $rows1=$Q1->result_array(); foreach ($rows1 as $rw1) $newRow['designation'] = $rw1['designation']; $sql1 = "select departmentname from department inner join staffemployeedetails on department.id = staffemployeedetails.deptid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q2=$this->db->query($sql1); $rows2=$Q2->result_array(); foreach ($rows2 as $rw2) $newRow['department'] = $rw2['departmentname']; $data[]=$newRow; $newRow=""; } } return $data; } function emponlypagination($PageNo=1,$pageSize,$staffname="",$searchBy="") { $limtvalue= ($PageNo-1) * $pageSize ."," . $pageSize ; $data=array(); if($searchBy == 'employeeid' || $searchBy == 'name') { $qry="SELECT * from staffpersonaldetails where $searchBy like '" . $staffname . "%' and type = 'Employee' limit ". $limtvalue; $Q=$this->db->query($qry); $rows=$Q->result_array(); foreach ($rows as $rw) { $newRow['id']=$rw['id']; $newRow['name']=$rw['name']; $newRow['employeeid']=$rw['employeeid']; $sql = "select designation from designation inner join staffemployeedetails on designation.id = staffemployeedetails.designationid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q1=$this->db->query($sql); $rows1=$Q1->result_array(); foreach ($rows1 as $rw1) $newRow['designation'] = $rw1['designation']; $sql1 = "select departmentname from department inner join staffemployeedetails on department.id = staffemployeedetails.deptid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q2=$this->db->query($sql1); $rows2=$Q2->result_array(); foreach ($rows2 as $rw2) $newRow['department'] = $rw2['departmentname']; $data[]=$newRow; $newRow=""; } } else if($searchBy == 'designation') { $query = "select id from designation where $searchBy like '".$staffname."%'"; // echo $query; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select * from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid and staffemployeedetails.designationid in ($query)"; $Q=$this->db->query($sql); $rows=$Q->result_array(); foreach ($rows as $rw) { $newRow['id']=$rw['id']; $newRow['name']=$rw['name']; $newRow['employeeid']=$rw['employeeid']; $sql = "select designation from designation inner join staffemployeedetails on designation.id = staffemployeedetails.designationid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q1=$this->db->query($sql); $rows1=$Q1->result_array(); foreach ($rows1 as $rw1) $newRow['designation'] = $rw1['designation']; $sql1 = "select departmentname from department inner join staffemployeedetails on department.id = staffemployeedetails.deptid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q2=$this->db->query($sql1); $rows2=$Q2->result_array(); foreach ($rows2 as $rw2) $newRow['department'] = $rw2['departmentname']; $data[]=$newRow; $newRow=""; } } else if($searchBy == 'departmentname') { $query = "select id from department where $searchBy like '".$staffname."%'"; //echo $query; $res = mysql_query($query); $row = mysql_fetch_array($res); $sql = "select * from staffpersonaldetails inner join staffemployeedetails on staffpersonaldetails.id = staffemployeedetails.staffid and staffemployeedetails.deptid in ($query)"; $Q=$this->db->query($sql); $rows=$Q->result_array(); foreach ($rows as $rw) { $newRow['id']=$rw['id']; $newRow['name']=$rw['name']; $newRow['employeeid']=$rw['employeeid']; $sql = "select designation from designation inner join staffemployeedetails on designation.id = staffemployeedetails.designationid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q1=$this->db->query($sql); $rows1=$Q1->result_array(); foreach ($rows1 as $rw1) $newRow['designation'] = $rw1['designation']; $sql1 = "select departmentname from department inner join staffemployeedetails on department.id = staffemployeedetails.deptid and staffemployeedetails.staffid = '".$newRow['id']."'"; $Q2=$this->db->query($sql1); $rows2=$Q2->result_array(); foreach ($rows2 as $rw2) $newRow['department'] = $rw2['departmentname']; $data[]=$newRow; $newRow=""; } } return $data; } function addresume($table) { $contactno=$this->input->post('contactno'); $email=$this->input->post('email'); $subdate=$this->input->post('subdate'); $name=$this->input->post('name'); $department=$this->input->post('department'); $qualification=$this->input->post('qualification'); $experience=$this->input->post('experience'); $expectedsalary=$this->input->post('expectedsalary'); $resumefile=$_FILES['userfile']['name']; $tblValues=array('name'=>$name,'department'=>$department,'qualification'=>$qualification,'email'=>$email,'subdate'=>$subdate,'expectedsalary'=>$expectedsalary,'experience'=>$experience,'contactno'=>$contactno,'filename'=>$resumefile); $res=$this->db->insert($table, $tblValues); if($res>0) { return 1; } else { return 0; } } function addoffer($table) { $contactno=$this->input->post('contactno'); $email=$this->input->post('email'); $subdate=$this->input->post('subdate'); $name=$this->input->post('name'); $joindate=$this->input->post('joindate'); $designation=$this->input->post('designationid'); $expectedsalary=$this->input->post('expectedsalary'); $offerfile=$_FILES['userfile']['name']; $tblValues=array('name'=>$name,'designationid'=>$designation,'email'=>$email,'subdate'=>$subdate,'joindate'=>$joindate,'contactno'=>$contactno,'filename'=>$offerfile); $res=$this->db->insert($table, $tblValues); if($res>0) { return 1; } else { return 0; } } function filecheck($file,$table) { $query = "select id from $table where filename = '".$file."'"; $res =$this->db->query($query); $data=$res->num_rows(); return $data; } function monthdays($someMonth, $someYear) { return date("t", strtotime($someYear . "-" . $someMonth . "-01")); } function checksalarymonth($id,$date) { $date=$this->mastermodel->convdatformat($date); $this->db->select('id'); $this->db->from('emp_salary_slip'); $this->db->where('employee_id',$id); $where="month(salary_date)=month('$date') and year(salary_date)=year('$date')"; $this->db->where($where,NULL,FALSE); return $this->db->count_all_results(); } function multiplesalarypayment() { $this->db->trans_begin(); $saldate=$this->mastermodel->convdatformat($_POST['date']); $paydate=date('Y-m-d'); for($i=0;$i<sizeof($_POST['salempdet']);$i++) { if(isset($_POST['salempdet'][$i])) { $empid=$_POST['salempdet'][$i]; $salpay=$this->get_sal_data('staffsalary',$empid,$_POST['date']); $basicsalary = $salpay->basicsalary; $staffsalaryid=$salpay->id; $currency=$salpay->currencytype; $allowded=$this->getallowdeductdet($staffsalaryid); $query1="insert into emp_salary_slip (employee_id,salary_date,pay_date,basic_salary,currencytype) values('$empid','$saldate','$paydate','$basicsalary','$currency')"; $query=$this->db->query($query1) ; $salid=mysql_insert_id(); $allowance=0; $deduction=0; foreach ($allowded as $value) { $tblValues=array('salarypaymentid'=>$salid,'allowdeducid'=>$value['allowdeducid'],'amount'=>$value['amount'],'allowdeductype'=>$value['allowdeductype']); $res=$this->db->insert('salarypaymentallowdeduc', $tblValues); if($value['allowdeductype']==1) //allowance { if($value['mode']==1) { $sf=1; $amount= $value['amount'] * $sf; $asubtotal= $amount; } else { $sf=0.01; $amount= $value['amount'] * $sf; $asubtotal= $basicsalary *$amount; } $allowance+=$asubtotal; } else { if($value['mode']==1) { $sf=1; $amount= $value['amount'] * $sf; $dsubtotal= $amount; } else { $sf=0.01; $amount= $value['amount'] * $sf; $dsubtotal= $basicsalary *$amount; } $deduction+=$dsubtotal; } } $netpayment=$basicsalary+$allowance-$deduction; $tblValues=array('allowance'=>$allowance,'deduction'=>$deduction,'netpayment'=>$netpayment,'paidamount'=>$netpayment); $this->db->where('id',$salid); $res=$this->db->update('emp_salary_slip', $tblValues); } } if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); return 0; } else { $this->db->trans_commit(); return 1; } } function getallowdeductdet($sid) { $data=array(); $res=$this->db->query("select mode,allowdeducid,amount,s.allowdeductype,chartgroup_name from allowdeduc a join staffsalaryallowdeduc s on s.allowdeducid=a.id where s.staffsalaryid='$sid' "); foreach ($res->result_array() as $row) { $data[] = $row; } return $data; } function getallowdeductdetpayslip($sid) { $data=array(); $res=$this->db->query("select mode,allowdeducid,amount,s.allowdeductype,chartgroup_name from allowdeduc a join salarypaymentallowdeduc s on s.allowdeducid=a.id where s.salarypaymentid='$sid' "); foreach ($res->result_array() as $row) { $data[] = $row; } return $data; } function loademployeesalary($post,$date) { $data=array(); $saldate=$this->mastermodel->convdatformat($date); $res=$this->db->query("SELECT es.id as esid,es.salary_date,employee_id,employeeid,name from emp_salary_slip es join staffpersonaldetails sp on sp.id=es.employee_id where month(salary_date)=month('$saldate') and unpost='$post' order by employee_id"); foreach ($res->result_array() as $row) { $data[] = $row; } return $data; } function postsalarypayment() { $this->db->trans_begin(); $salid=$_POST['staffsalaryid']; $this->db->query("delete from emp_salary_slip where id = '$salid'"); $this->db->query("delete from salarypaymentallowdeduc where salarypaymentid = '$salid'"); $paydate=date('Y-m-d'); $salarydate=$_POST['salarydate']; $netpayment=$_POST['basicsalary']+$_POST['allowance']-$_POST['deduction']; $basicsalary=$_POST['basicsalary']; $commissionamount=$_POST['commission']; $query1="insert into emp_salary_slip (employee_id,salary_date,pay_date,basic_salary,allowance,deduction,netpayment,currencytype,paidamount,unpost,commission) values('$_POST[staff_id]','$salarydate','$paydate','$_POST[basicsalary]','$_POST[allowance]','$_POST[deduction]','$netpayment','$_POST[currencytype]','$_POST[payamount]',0,'$_POST[commission]')"; $query=$this->db->query($query1) ; $salid=mysql_insert_id(); $memo=$_POST['memo']; $empaccount=$_POST['emp_account']; $acccode1=$_POST['bankacc']; $acccode=explode('~',$acccode1); $bankcode=$acccode[1]; $bankid=$acccode[0]; $tra_cod= $this->customermodel->getSingleFieldValue('transaction_code','code','trans',3); $next_ref= $this->accountingsmodel->get_reference_code('3'); $refcode=$tra_cod.'/'.date('Y').'/'.$next_ref; $reference=$refcode; $insertvals=array('type'=>'3','reference'=>$reference); // inserting values to refs table $this->db->insert('refs',$insertvals); $ref_id=$this->db->insert_id() ; $fyear=$this->accountingsmodel->fiscalyear(); $insValuesA=array( 'trans_no'=>$ref_id, 'user'=>$_SESSION['userid'], 'date_trans'=>$paydate, 'fiscal_year'=>$fyear, 'gl_date'=>$paydate ); $this->db->insert('audit_trail', $insValuesA); $x = 1; while (isset($_POST['allowvalue_'.$x])) { $coverid[$x]=$_POST['allowid_'.$x]; $newpol[$x]=$_POST['allowvalue_'.$x]; $x++; } $i=1; while($x!=1) { $allowaccount=$this->customermodel->getSingleFieldValue('allowdeduc','chartgroup_name','id',$coverid[$i]); $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$allowaccount,'memo'=>$memo,'amount'=>$newpol[$i]); $str= $this->db->insert('gl_trans', $tblValues); $sql="insert into salarypaymentallowdeduc values('','$salid','$coverid[$i]','$newpol[$i]','1')"; $query=$this->db->query($sql) ; $x--; $i++; } $x = 1; while (isset($_POST['deducvalue_'.$x])) { $coverid[$x] =$_POST['deducid_'.$x]; $newpol[$x]=$_POST['deducvalue_'.$x]; $x++; } $i=1; while($x!=1) { $dedaccount=$this->customermodel->getSingleFieldValue('allowdeduc','chartgroup_name','id',$coverid[$i]); $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$dedaccount,'memo'=>$memo,'amount'=>-$newpol[$i]); $str= $this->db->insert('gl_trans', $tblValues); $query=$this->db->query("insert into salarypaymentallowdeduc values('','$salid','$coverid[$i]','$newpol[$i]','0')") ; $x--; $i++; } $famount=$netpayment+$commissionamount; $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>$memo,'amount'=>-$famount); $str= $this->db->insert('gl_trans', $tblValues); // // $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>'Commission Paid','amount'=>-$commissionamount); // $str= $this->db->insert('gl_trans', $tblValues); $tblValuescu=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>$memo,'amount'=>-$famount); $str= $this->db->insert('agent_trans', $tblValuescu); // $tblValuescu=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>'Commission Paid','amount'=>-$commissionamount); // $str= $this->db->insert('agent_trans', $tblValuescu); $commission_acc=$this->documentsmodel->get_commission_pay_acc(); $accsett=$this->accountingsmodel->Getsubacc_settings(); $salary1=$accsett->row()->salary; $salary= $this->customermodel->getSingleFieldValue('chart_master','account_code','id',$salary1); $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$salary,'memo'=>$memo,'amount'=>$basicsalary); $str= $this->db->insert('gl_trans', $tblValues); if(!empty($commissionamount)) { $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$commission_acc,'memo'=>'Commission Paid','amount'=>$commissionamount); $str= $this->db->insert('gl_trans', $tblValues); } /* Second transaction */ $tra_cod= $this->customermodel->getSingleFieldValue('transaction_code','code','trans',1); $next_ref= $this->accountingsmodel->get_reference_code('1'); $refcode=$tra_cod.'/'.date('Y').'/'.$next_ref; $reference=$refcode; $insertvals=array('type'=>'1','reference'=>$reference); // inserting values to refs table $this->db->insert('refs',$insertvals); $ref_id=$this->db->insert_id() ; $fyear=$this->accountingsmodel->fiscalyear(); $insValuesA=array( 'trans_no'=>$ref_id, 'user'=>$_SESSION['userid'], 'date_trans'=>$paydate, 'fiscal_year'=>$fyear, 'gl_date'=>$paydate ); $this->db->insert('audit_trail', $insValuesA); $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>$memo,'amount'=>$famount); $str= $this->db->insert('gl_trans', $tblValues); // $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>'Commission Paid','amount'=>$commissionamount); // $str= $this->db->insert('gl_trans', $tblValues); $tblValuescu=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>$memo,'amount'=>$famount); $str= $this->db->insert('agent_trans', $tblValuescu); // $tblValuescu=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>'Commission Paid','amount'=>$commissionamount); // $str= $this->db->insert('agent_trans', $tblValuescu); $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$bankcode,'memo'=>$memo,'amount'=>-$famount); $str= $this->db->insert('gl_trans', $tblValues); // $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$bankcode,'memo'=>'Commission Paid','amount'=>-$commissionamount); // $str= $this->db->insert('gl_trans', $tblValues); $tblValues3=array('trans_no'=>$ref_id,'bank_act'=>$bankid,'ref'=>$reference,'trans_date'=>$paydate,'amount'=>-$famount,'reconciled'=>''); $query= $this->db->insert('bank_trans', $tblValues3); // $tblValues3=array('trans_no'=>$ref_id,'bank_act'=>$bankid,'ref'=>$reference,'trans_date'=>$paydate,'amount'=>-$commissionamount,'reconciled'=>''); // $query= $this->db->insert('bank_trans', $tblValues3); if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); return 0; } else { $this->db->trans_commit(); return 1; } } function multiplepostsalarypayment() { $this->db->trans_begin(); $saldate=$this->mastermodel->convdatformat($_POST['date']); $paydate=date('Y-m-d'); $memo=$_POST['memo']; $acccode1=$_POST['bankacc']; $acccode=explode('~',$acccode1); $bankcode=$acccode[1]; $bankid=$acccode[0]; $bnkcount=1; $bnkcount2=1; $salaryamount=0; $salcommamount=0; $all=array(); $trtype=0; for($i=0;$i<sizeof($_POST['salempdet']);$i++) { if(isset($_POST['salempdet'][$i])) { $salid=$_POST['salempdet'][$i]; // echo $salid; $tblValues=array('unpost'=>'0'); $this->db->where('id',$salid); $res=$this->db->update('emp_salary_slip', $tblValues); $salpay=$this->mastermodel->get_data_srow('emp_salary_slip',$salid,'id'); $netpayment = $salpay->netpayment; $empid= $salpay->employee_id; $commissionamount=$salpay->commission; $basicsalary=$salpay->basic_salary; $empaccount=$this->customermodel->getSingleFieldValue('staffpersonaldetails','employeeid','id',$empid); $famount=$netpayment+$commissionamount; $staffsalpay=$this->get_sal_data('staffsalary',$empid,$_POST['date']); $paymethod = $staffsalpay->paymethod; if($paymethod=='bank') { $salaryamount+=$basicsalary; $salcommamount+=$famount; if($bnkcount==1) { $tra_cod= $this->customermodel->getSingleFieldValue('transaction_code','code','trans',3); $next_ref= $this->accountingsmodel->get_reference_code('3'); $refcode=$tra_cod.'/'.date('Y').'/'.$next_ref; $reference=$refcode; $bnkreferencejv=$reference; $insertvals=array('type'=>'3','reference'=>$reference); // inserting values to refs table $this->db->insert('refs',$insertvals); $ref_id=$this->db->insert_id() ; $bankref_idjv=$ref_id; $fyear=$this->accountingsmodel->fiscalyear(); $insValuesA=array( 'trans_no'=>$ref_id, 'user'=>$_SESSION['userid'], 'date_trans'=>$paydate, 'fiscal_year'=>$fyear, 'gl_date'=>$paydate ); $this->db->insert('audit_trail', $insValuesA); } $referencebnkjv=$bnkreferencejv; $ref_idbnkjv=$bankref_idjv; $reference=$referencebnkjv; $ref_id=$ref_idbnkjv; $trtype=1; } else if($paymethod=='cash'||$paymethod=='cheque') { $tra_cod= $this->customermodel->getSingleFieldValue('transaction_code','code','trans',3); $next_ref= $this->accountingsmodel->get_reference_code('3'); $refcode=$tra_cod.'/'.date('Y').'/'.$next_ref; $reference=$refcode; $insertvals=array('type'=>'3','reference'=>$reference); // inserting values to refs table $this->db->insert('refs',$insertvals); $ref_id=$this->db->insert_id() ; $fyear=$this->accountingsmodel->fiscalyear(); $insValuesA=array( 'trans_no'=>$ref_id, 'user'=>$_SESSION['userid'], 'date_trans'=>$paydate, 'fiscal_year'=>$fyear, 'gl_date'=>$paydate ); $this->db->insert('audit_trail', $insValuesA); } $allowded=$this->getallowdeductdetpayslip($salid); $allamt=0; foreach($allowded as $alld) { $alldtype=$alld['allowdeductype']; if($paymethod=='bank') { $alldamount=$alld['amount']; $alldaccount=$alld['chartgroup_name']; if (!isset($all[$alldaccount])) $all[$alldaccount][$alldtype] = $alld['amount']; else $all[$alldaccount][$alldtype] += $alld['amount']; // if(!array_key_exists($alldaccount, $all)) // { // $all[$alldaccount]=$alld['amount']; // } // else // { // $allamt+= $alld['amount']; // $all[$alldaccount]=$allamt; // } } else if($paymethod=='cash'||$paymethod=='cheque') { if($alld['allowdeductype']==0) { $alld['amount']=0-$alld['amount']; } $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$alld['chartgroup_name'],'memo'=>$memo,'amount'=>$alld['amount']); $str= $this->db->insert('gl_trans', $tblValues); } } $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>$memo,'amount'=>-$famount); $str= $this->db->insert('gl_trans', $tblValues); // $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>'Commission Paid','amount'=>-$commissionamount); // $str= $this->db->insert('gl_trans', $tblValues); $tblValuescu=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>$memo,'amount'=>-$famount); $str= $this->db->insert('agent_trans', $tblValuescu); // $tblValuescu=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>'Commission Paid','amount'=>-$commissionamount); // $str= $this->db->insert('agent_trans', $tblValuescu); $commission_acc=$this->documentsmodel->get_commission_pay_acc(); $accsett=$this->accountingsmodel->Getsubacc_settings(); $salary1=$accsett->row()->salary; $salary= $this->customermodel->getSingleFieldValue('chart_master','account_code','id',$salary1); if($paymethod!='bank') { $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$salary,'memo'=>$memo,'amount'=>$basicsalary); $str= $this->db->insert('gl_trans', $tblValues); } if($commissionamount!=0) { $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$commission_acc,'memo'=>'Commission Paid','amount'=>$commissionamount); $str= $this->db->insert('gl_trans', $tblValues); } /* Second transaction */ if($paymethod=='bank') { if($bnkcount==1) { $tra_cod= $this->customermodel->getSingleFieldValue('transaction_code','code','trans',1); $next_ref= $this->accountingsmodel->get_reference_code('1'); $refcode=$tra_cod.'/'.date('Y').'/'.$next_ref; $reference=$refcode; $bnkreferencepv=$reference; $insertvals=array('type'=>'1','reference'=>$reference); // inserting values to refs table $this->db->insert('refs',$insertvals); $ref_id=$this->db->insert_id() ; $bankref_idpv=$ref_id; $fyear=$this->accountingsmodel->fiscalyear(); $insValuesA=array( 'trans_no'=>$ref_id, 'user'=>$_SESSION['userid'], 'date_trans'=>$paydate, 'fiscal_year'=>$fyear, 'gl_date'=>$paydate ); $this->db->insert('audit_trail', $insValuesA); $bnkcount=2; } $referencebnkpv=$bnkreferencepv; $ref_idbnkpv=$bankref_idpv; $reference=$referencebnkpv; $ref_id=$ref_idbnkpv; } else if($paymethod=='cash'||$paymethod=='cheque') { $tra_cod= $this->customermodel->getSingleFieldValue('transaction_code','code','trans',1); $next_ref= $this->accountingsmodel->get_reference_code('1'); $refcode=$tra_cod.'/'.date('Y').'/'.$next_ref; $reference=$refcode; $insertvals=array('type'=>'1','reference'=>$reference); // inserting values to refs table $this->db->insert('refs',$insertvals); $ref_id=$this->db->insert_id() ; $fyear=$this->accountingsmodel->fiscalyear(); $insValuesA=array( 'trans_no'=>$ref_id, 'user'=>$_SESSION['userid'], 'date_trans'=>$paydate, 'fiscal_year'=>$fyear, 'gl_date'=>$paydate ); $this->db->insert('audit_trail', $insValuesA); } $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>$memo,'amount'=>$famount); $str= $this->db->insert('gl_trans', $tblValues); // $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>'Commission Paid','amount'=>$commissionamount); // $str= $this->db->insert('gl_trans', $tblValues); $tblValuescu=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>$memo,'amount'=>$famount); $str= $this->db->insert('agent_trans', $tblValuescu); // $tblValuescu=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$empaccount,'memo'=>'Commission Paid','amount'=>$commissionamount); // $str= $this->db->insert('agent_trans', $tblValuescu); if($paymethod!='bank') { $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$bankcode,'memo'=>$memo,'amount'=>-$famount); $str= $this->db->insert('gl_trans', $tblValues); } // $tblValues=array('type_no'=>$ref_id,'tran_date'=>$paydate,'account'=>$bankcode,'memo'=>'Commission Paid','amount'=>-$commissionamount); // $str= $this->db->insert('gl_trans', $tblValues); $tblValues3=array('trans_no'=>$ref_id,'bank_act'=>$bankid,'ref'=>$reference,'trans_date'=>$paydate,'amount'=>-$famount,'reconciled'=>''); $query= $this->db->insert('bank_trans', $tblValues3); } } if($trtype==1) { $tblValues=array('type_no'=>$ref_idbnkjv,'tran_date'=>$paydate,'account'=>$salary,'memo'=>$memo,'amount'=>$salaryamount); $str= $this->db->insert('gl_trans', $tblValues); $tblValues=array('type_no'=>$ref_idbnkpv,'tran_date'=>$paydate,'account'=>$bankcode,'memo'=>$memo,'amount'=>-$salcommamount); $str= $this->db->insert('gl_trans', $tblValues); foreach($all as $keyd => $valued) { foreach($valued as $k=>$vamount) { if($k==0) { $vamount=0-$vamount; } $tblValues=array('type_no'=>$ref_idbnkjv,'tran_date'=>$paydate,'account'=>$keyd,'memo'=>$memo,'amount'=>$vamount); $str= $this->db->insert('gl_trans', $tblValues); } } } if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); return 0; } else { $this->db->trans_commit(); return 1; } } function getmaxexpense() { $res= $this->db->query("SELECT max(`account_code`) as max FROM `chart_master` WHERE `chart_type`='3'"); $row=$res->row(); return $row->max; } function addassignleave() { $fromdate=$date=$this->mastermodel->convdatformat($_POST['fromdate']); $todate=$date=$this->mastermodel->convdatformat($_POST['todate']); $userid=$_SESSION['userid']; $staffid=$this->customermodel->getSingleFieldValue('users','staff_id','id',$userid); if($staffid!='') { $tblValues=array('staffid'=>$staffid, 'fromdate'=>$fromdate, 'todate'=>$todate, 'type'=>$_POST['type'], 'remarks'=>$_POST['remarks'], 'leavestatus'=>'Pending'); $str= $this->db->insert('assignleave', $tblValues); } } function checkforappliedleave() { $userid=$_SESSION['userid']; $staffid=$this->customermodel->getSingleFieldValue('users','staff_id','id',$userid); $res=$this->db->query("SELECT * FROM `assignleave` a join staffemployeedetails s on a.staffid=s.staffid where s.reportingtostaffid='$staffid' and a.leavestatus='Pending'"); $count=$res->num_rows(); return $count; } function updateleavestatus() { $leavestatus=$_POST['leavestatus']; $id=$_POST['id']; $res=$this->db->query("update assignleave set leavestatus='$leavestatus' where id ='$id'"); if($res>0) { return 1; } else { return 0; } } function get_monthly_attendance_report() { $data=array(); $qry="SELECT * FROM `staffemployeedetails` JOIN `department` on `department`.`id`=`staffemployeedetails`.`deptid` JOIN `designation` ON `designation`.`id` = `staffemployeedetails`.`designationid` JOIN `staffpersonaldetails` ON `staffemployeedetails`.`staffid` = `staffpersonaldetails`.`id` where `staffemployeedetails`.`device_no` !=''"; if($_POST['employee_id']!="") { $qry.=" and `staffpersonaldetails`.`id` = '".$_POST['employee_id']."'"; } else { if($_POST['department_id']!="") $qry.=" and `department`.`id` = '".$_POST['department_id']."'"; if($_POST['designation_id']!="") $qry.=" and `designation`.`id` = '".$_POST['designation_id']."'"; } $qry.="order by `staffpersonaldetails`.`id` asc"; $res=$this->db->query($qry); if ($res->num_rows() > 0) { foreach ($res->result_array() as $row) { $data[] = $row; } } $res->free_result(); return $data; } function get_attendance_day($employee_device_id,$date) { $this->db->from('timesheet_attendance'); $this->db->like('attendance_date',$date); $this->db->where('employee_device_id',$employee_device_id); $num = $this->db->count_all_results(); $this->db->last_query(); return $num; } function get_employee_timesheet_report() { $ts = strtotime($_POST['month']." ".$_POST['year']); $from_date=date('Y-m-01', $ts); $to_date=date('Y-m-t', $ts); return $this->get_employee_attendance($_POST['employee_id'], $from_date, $to_date); } function get_time_day($employee_device_id,$date) { $qry="SELECT * FROM `timesheet_attendance` where `employee_device_id` = '$employee_device_id' and attendance_date like '$date %' order by attendance_date asc"; $res=$this->db->query($qry); if ($res->num_rows() == 0) { return 0; } else { $flag=0; $temp=0; $hours=0; $inmode=0; $outmode=0; foreach ($res->result_array() as $row) { if($flag % 2 == 0) { if($row['attendance_mode'] != 1) return -1; else { $temp = $row['attendance_date']; $inmode++; } } if($flag % 2 == 1) { if($row['attendance_mode'] != 0) { return -1; } else { $hours += round(abs(strtotime($row['attendance_date']) - strtotime($temp))/60/60,2); $temp=0; $outmode++; } } $flag++; } if($inmode == $outmode) return $hours; else return -1; } } function get_late_day($employee_id,$employee_device_id,$date) { $this->db->where('timesheet_attendance.employee_device_id',$employee_device_id); $this->db->like('timesheet_attendance.attendance_date',$date); $this->db->where('timesheet_attendance.attendance_mode','1'); $this->db->order_by('timesheet_attendance.attendance_date','asc'); $Q1=$this->db->get('timesheet_attendance'); $row1=$Q1->row(); if(empty($row1)) return ''; $this->db->where('timesheet_work_shift_employees.employee_id',$employee_id); $this->db->where('work_shift_wef_date <=',$date); $this->db->join('timesheet_work_shift_employees','timesheet_work_shift_employees.work_shift_id=timesheet_work_shift.work_shift_id'); $this->db->order_by('work_shift_wef_date','desc'); $Q=$this->db->get('timesheet_work_shift'); $row=$Q->row(); $to_time = strtotime($row1->attendance_date); $from_time = strtotime($date." ".$row->work_shift_starting_time); if(round(abs($to_time - $from_time) / 60,2) > $row->work_shift_grace_time) return substr($row1->attendance_date,11,5); else return ''; } function get_employee_attendance_status($employee_id,$employee_device_id,$date) { if($this->first_punch_in($employee_device_id,$date)) { $this->db->where('timesheet_work_shift_employees.employee_id',$employee_id); $this->db->where('work_shift_wef_date <=',substr($date,0,11)); $this->db->join('timesheet_work_shift_employees','timesheet_work_shift_employees.work_shift_id=timesheet_work_shift.work_shift_id'); $this->db->order_by('work_shift_wef_date','desc'); $Q=$this->db->get('timesheet_work_shift'); $row=$Q->row(); $to_time = strtotime($date); $from_time = strtotime(substr($date,0,11)." ".$row->work_shift_starting_time); if(round(abs($to_time - $from_time) / 60,2) > $row->work_shift_grace_time) return "Late In"; else return ''; } if($this->last_punch_out($employee_device_id,$date)) { $this->db->where('timesheet_work_shift_employees.employee_id',$employee_id); $this->db->where('work_shift_wef_date <=',substr($date,0,11)); $this->db->join('timesheet_work_shift_employees','timesheet_work_shift_employees.work_shift_id=timesheet_work_shift.work_shift_id'); $this->db->order_by('work_shift_wef_date','desc'); $Q=$this->db->get('timesheet_work_shift'); $row=$Q->row(); $to_time = strtotime($date); $weekly_holidays=$this->mastermodel->getdatas('timesheet_weekly_holiday_half','weekly_holiday_id'); $holiday=array(); foreach ($weekly_holidays as $weekly) { $holiday[]=$weekly['weekly_holiday_half']; } if(in_array(date('l', strtotime($date)), $holiday)) $from_time = strtotime(substr($date,0,11)." ".$row->work_shift_ending_time_half); else $from_time = strtotime(substr($date,0,11)." ".$row->work_shift_ending_time); if($to_time < $from_time) return "Early Out"; else return ''; } } function first_punch_in($employee_device_id,$date) { $this->db->where('timesheet_attendance.employee_device_id',$employee_device_id); $this->db->like('timesheet_attendance.attendance_date',substr($date,0,11)); $this->db->where('timesheet_attendance.attendance_mode','1'); $this->db->order_by('timesheet_attendance.attendance_date','asc'); $Q1=$this->db->get('timesheet_attendance'); $row1=$Q1->row(); if($row1->attendance_date==$date) return 1; else return 0; } function last_punch_out($employee_device_id,$date) { $this->db->where('timesheet_attendance.employee_device_id',$employee_device_id); $this->db->like('timesheet_attendance.attendance_date',substr($date,0,11)); $this->db->where('timesheet_attendance.attendance_mode','0'); $this->db->order_by('timesheet_attendance.attendance_date','desc'); $Q1=$this->db->get('timesheet_attendance'); $row1=$Q1->row(); if($row1->attendance_date==$date) return 1; else return 0; } } ?>