?
Current Path : /home1/savoy/public_html/savoyglobal.net/sibs_draft/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/sibs_draft/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 numcount_data_employee_sal($table, $emp, $date) { foreach ($emp as $id) { $num[$id] = $this->numcount_data_sal($table, $id, $date); } return $num; } function get_settlement($table, $unposted, $field, $value, $pageno) { $limit = (($pageno - 1) * 10); $data = array(); $res = $this->db->query("select *,emp_settlement.id as id from $table join staffpersonaldetails on staffpersonaldetails.id=" . $table . ".employee_id where unpost= " . $unposted . " AND " . $field . " like '" . $value . "%' limit " . $limit . "," . 10); //echo $this->db->last_query(); foreach ($res->result_array() as $row) { $data[] = $row; } return $data; } 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_employee_sal_data($table, $emp, $date) { $row = array(); foreach ($emp as $id) { $row[$id] = $this->get_sal_data($table, $id, $date); } 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_employee_com_premgen($emp, $date) { $row = array(); foreach ($emp as $id) { $row[$id] = $this->get_com_premgen($id, $date); } return $row; } 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_employee_com_prempay($emp, $date) { $row = array(); foreach ($emp as $id) { $row[$id] = $this->get_com_prempay($id, $date); } return $row; } 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 addholidays() { $data = array(); $tblValues = array('start_date' => $this->mastermodel->convertdateformat($_POST['start_date']), 'end_date' => $this->mastermodel->convertdateformat($_POST['end_date']), 'occasion' => $_POST['occasion']); return $this->db->insert('holidays', $tblValues); } 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[acc_holder]','$_POST[bank_name]','$_POST[acc_no]','$_POST[branch_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'"; $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 addsettlement_types() { $this->db->trans_begin(); $settlement_code = $this->mastermodel->get_account_code('SET-', '100', 'settlement_types', 'settlement_code'); $query1 = "insert into settlement_types (settlement_code,settlement_name,chartgroup_name) values('$settlement_code','$_POST[settlement_name]','$settlement_code')"; $this->db->query($query1); //die(); $parent = $this->accountingsmodel->get_subaccount_setting('settlement'); $chart_type = $this->mastermodel->getSingleFieldValue('chart_master', 'chart_type', 'id', $parent); $tblValues = array('account_code' => $settlement_code, 'account_name' => $_POST['settlement_name'] , 'chart_type' => $chart_type, 'parent' => $parent, 'inactive' => 0); $this->db->insert('chart_master', $tblValues); if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); return 0; } else { $this->db->trans_commit(); return 1; } } function addallowdeduction() { $this->db->trans_begin(); if ($_POST['allowdeductype'] == 'Allowance') { $code = $this->mastermodel->get_account_code('ALLOW-', '100', 'allowdeduc', 'allowdeduccode'); $parent = $this->accountingsmodel->get_subaccount_setting('allowance'); } else { $code = $this->mastermodel->get_account_code('DEDUC-', '100', 'allowdeduc', 'allowdeduccode'); $parent = $this->accountingsmodel->get_subaccount_setting('deduction'); } $query1 = "insert into allowdeduc (allowdeduccode,allowdeducname,allowdeductype,mode,chartgroup_name) values('$code','$_POST[allowdeducname]','$_POST[allowdeductype]','$_POST[mode]','$code')"; $this->db->query($query1); $chart_type = $this->mastermodel->getSingleFieldValue('chart_master', 'chart_type', 'id', $parent); $tblValues = array('account_code' => $code, 'account_name' => $_POST['allowdeducname'] , 'chart_type' => $chart_type, 'parent' => $parent, 'inactive' => 0); $this->db->insert('chart_master', $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 insertsalarysettlement() { $paymentdate = $this->mastermodel->convdatformat($_POST['date']); $relieving_date = $this->mastermodel->convdatformat($_POST['rel_date']); $netpayment = $_POST['basicsalary'] + $_POST['allowance'] - $_POST['deduction']; $query1 = "insert into emp_settlement (employee_id,relieving_date,pay_date,basic_salary,allowance,deduction,netpayment,currencytype,paidamount,commission) values('$_POST[employee_id]','$relieving_date','$paymentdate','$_POST[basicsalary]','$_POST[allowance]','$_POST[deduction]','$netpayment','$_POST[currencytype]','$_POST[payamount]','$_POST[commission]')"; $query = $this->db->query($query1); $settlementid = 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 salarysettlementallowdeduc values('','$settlementid','$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 salarysettlementallowdeduc values('','$settlementid','$coverid[$i]','$newpol[$i]','0')"); $x--; $i++; } if (isset($_POST['settlement_type'])) { foreach ($_POST['settlement_type'] as $key) { $type = $key; $amount = $_POST['amount_' . $key]; $query = $this->db->query("insert into emp_settlement_types values('','$settlementid','$type','$amount')"); } } } function updatesalarysettlement() { $paymentdate = $this->mastermodel->convdatformat($_POST['date']); $relieving_date = $this->mastermodel->convdatformat($_POST['rel_date']); $netpayment = $_POST['basicsalary'] + $_POST['allowance'] - $_POST['deduction']; $settlementid = $_POST['emp_settlement_id']; $query1 = "update emp_settlement set employee_id='$_POST[employee_id]', relieving_date='$relieving_date', pay_date='$paymentdate', basic_salary='$_POST[basicsalary]', allowance='$_POST[allowance]', deduction='$_POST[deduction]', netpayment='$netpayment', currencytype='$_POST[currencytype]', paidamount='$netpayment', unpost='1', commission='$_POST[commission]' where id='$settlementid'"; $query = $this->db->query($query1); // echo $query1;die(); $this->db->where('salarysettlementid', $settlementid); $this->db->delete('salarysettlementallowdeduc'); $this->db->where('salarysettlementid', $settlementid); $this->db->delete('emp_settlement_types'); $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 salarysettlementallowdeduc values('','$settlementid','$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 salarysettlementallowdeduc values('','$settlementid','$coverid[$i]','$newpol[$i]','0')"); $x--; $i++; } if (isset($_POST['settlement_type'])) { foreach ($_POST['settlement_type'] as $key) { $type = $key; $amount = $_POST['amount_' . $key]; $query = $this->db->query("insert into emp_settlement_types values('','$settlementid','$type','$amount')"); } } } 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() { if ($_POST['type'] == 'Agent') { $code = $this->mastermodel->get_account_code('AGENT', '99', 'staffpersonaldetails', 'employeeid'); $parent = $this->accountingsmodel->get_subaccount_setting('agent'); } else { $code = $this->mastermodel->get_account_code('EMP', '99', 'staffpersonaldetails', '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('$code','$_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 $chart_type = $this->mastermodel->getSingleFieldValue('chart_master', 'chart_type', 'id', $parent); $tblValues = array('account_code' => $code, 'account_name' => $enam , 'chart_type' => $chart_type, '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 updatesettlement_types($table) { $query = $this->db->query("update $table set settlement_name='$_POST[settlement_name]' where id='$_POST[id]'"); $tblValues = array('account_name' => $_POST['settlement_name']); $this->db->where('account_code', $_POST['chartgroup_name']); $this->db->update('chart_master', $tblValues); } 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 leavecode='$_POST[leavecode]',leavename='$_POST[leavename]', gender = '$_POST[gender]', carryforward = '$_POST[carryforward]', salaryrefund = '$_POST[refundable]' where id='$_POST[leavetypeid]'"); } function updateholidays($table) { $start_date = $this->mastermodel->convertdateformat($_POST['start_date']); $end_date = $this->mastermodel->convertdateformat($_POST['end_date']); $query = $this->db->query("update $table set occasion='$_POST[occasion]',start_date='$start_date',end_date='$end_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_break_starting_time' => $_POST['break_start_hour'] . ':' . $_POST['break_start_minute'], 'work_shift_break_ending_time' => $_POST['break_end_hour'] . ':' . $_POST['break_end_minute'], '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_break_starting_time' => $_POST['break_start_hour'] . ':' . $_POST['break_start_minute'], 'work_shift_break_ending_time' => $_POST['break_end_hour'] . ':' . $_POST['break_end_minute'], '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->is_special_holiday($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', 0); if ($num == 0) { $tblValues = array('employee_device_id' => $employee, 'attendance_date' => $start_date . " " . $shift_details->work_shift_starting_time, 'attendance_mode' => 0, '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', 1); if ($num == 0) { $tblValues1 = array('employee_device_id' => $employee, 'attendance_date' => $start_date . " " . $shift_details->work_shift_ending_time_half, 'attendance_mode' => 1, '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', 0); if ($num == 0) { $tblValues = array('employee_device_id' => $employee, 'attendance_date' => $start_date . " " . $shift_details->work_shift_starting_time, 'attendance_mode' => 0, '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', 1); if ($num == 0) { $tblValues1 = array('employee_device_id' => $employee, 'attendance_date' => $start_date . " " . $shift_details->work_shift_ending_time, 'attendance_mode' => 1, '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 <= $postdata['num_rows']; $i++) { if (isset($postdata['present_' . $i])) { $tblValues = array( 'attendance_mode' => $postdata['attendance_mode_' . $i], 'attendance_remarks' => $postdata['attendance_remarks_' . $i] ); $this->db->where('timesheet_attendance_id', $postdata['timesheet_attendance_id_' . $i]); $this->db->update('timesheet_attendance', $tblValues); } else { $this->db->where('timesheet_attendance_id', $postdata['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[employee_id]',date='$date',basicsalary='$_POST[basicsalary]',paymethod='$_POST[paymethod]',currencytype='$_POST[currencytype]' where id='$_POST[staffsalaryid]'"); echo mysql_error(); $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'"); $this->db->query("delete from salarybank where sal_id = $salid"); if ($_POST['paymethod'] == 'bank') { $query = $this->db->query("insert into salarybank values('',' $salid', '$_POST[acc_holder]','$_POST[bank_name]','$_POST[acc_no]','$_POST[branch_name]')"); } $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 post_sal_settlement($id) { $this->db->trans_begin(); $tblValues = array('unpost' => 0,); $this->db->where('id', $id); $this->db->update('emp_settlement', $tblValues); if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); return 0; } else { $this->db->trans_commit(); return 1; } } 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; $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; $coverid = array(); $newpol = array(); if (isset($_POST['staffid_' . $empid])) { $x = 1; while (isset($_POST['allowvalue_' . $empid . '_' . $x])) { $coverid[$x] = $_POST['allowid_' . $empid . '_' . $x]; $newpol[$x] = $_POST['allowvalue_' . $empid . '_' . $x]; $x++; } $j = 1; while ($x != 1) { $sql = "insert into salarypaymentallowdeduc values('','$salid','$coverid[$j]','$newpol[$j]','1')"; $query = $this->db->query($sql); $x--; $j++; } $x = 1; while (isset($_POST['deducvalue_' . $empid . '_' . $x])) { $coverid[$x] = $_POST['deducid_' . $empid . '_' . $x]; $newpol[$x] = $_POST['deducvalue_' . $empid . '_' . $x]; $x++; } $j = 1; while ($x != 1) { $query = $this->db->query("insert into salarypaymentallowdeduc values('','$salid','$coverid[$j]','$newpol[$j]','0')"); $x--; $j++; } } else { $allowded = $this->getallowdeductdet($staffsalaryid); 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 postsalarysettlement() { $this->db->trans_begin(); $settlementid = $_POST['emp_settlement_id']; $this->db->where('salarysettlementid', $settlementid); $this->db->delete('salarysettlementallowdeduc'); $this->db->where('salarysettlementid', $settlementid); $this->db->delete('emp_settlement_types'); $paymentdate = $this->mastermodel->convdatformat($_POST['date']); $relieving_date = $this->mastermodel->convdatformat($_POST['rel_date']); $netpayment = $_POST['basicsalary'] + $_POST['allowance'] - $_POST['deduction']; $basicsalary = $_POST['basicsalary']; $query1 = "update emp_settlement set employee_id='$_POST[employee_id]', relieving_date='$relieving_date', pay_date='$paymentdate', basic_salary='$_POST[basicsalary]', allowance='$_POST[allowance]', deduction='$_POST[deduction]', netpayment='$netpayment', currencytype='$_POST[currencytype]', paidamount='$netpayment', commission='$_POST[commission]', unpost=0 where id='$settlementid'"; $query = $this->db->query($query1); $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); $reference = $this->accountingsmodel->get_reference_code('3'); $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' => $paymentdate, 'fiscal_year' => $fyear, 'gl_date' => $paymentdate ); $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' => $paymentdate, 'account' => $allowaccount, 'memo' => $memo, 'amount' => $newpol[$i]); $str = $this->db->insert('gl_trans', $tblValues); $sql = "insert into salarysettlementallowdeduc values('','$settlementid','$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' => $paymentdate, 'account' => $dedaccount, 'memo' => $memo, 'amount' => -$newpol[$i]); $str = $this->db->insert('gl_trans', $tblValues); $sql = "insert into salarysettlementallowdeduc values('','$settlementid','$coverid[$i]','$newpol[$i]','0')"; $query = $this->db->query($sql); $x--; $i++; } if (isset($_POST['settlement_type'])) { foreach ($_POST['settlement_type'] as $key) { $type = $key; $amount = $_POST['amount_' . $key]; $settlement_account = $this->customermodel->getSingleFieldValue('settlement_types', 'chartgroup_name', 'id', $type); $tblValues = array('type_no' => $ref_id, 'tran_date' => $paymentdate, 'account' => $settlement_account, 'memo' => $memo, 'amount' => $amount); $str = $this->db->insert('gl_trans', $tblValues); $query = $this->db->query("insert into emp_settlement_types values('','$settlementid','$type','$amount')"); } } // $k = 1; // while (isset($_POST['txt_conType_' . $k]) && isset($_POST['txt_conAmount_' . $k])) { // $type = $_POST['txt_conType_' . $k]; // $amount = $_POST['txt_conAmount_' . $k]; // $query = $this->db->query("insert into emp_settlement_types values('','$settlementid','$type','$amount')"); // $k++; // } $famount = $netpayment; $tblValues = array('type_no' => $ref_id, 'tran_date' => $paymentdate, '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' => $paymentdate, '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' => $paymentdate, '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); $reference = $this->accountingsmodel->get_reference_code('1'); $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' => $paymentdate, 'fiscal_year' => $fyear, 'gl_date' => $paymentdate ); $this->db->insert('audit_trail', $insValuesA); $tblValues = array('type_no' => $ref_id, 'tran_date' => $paymentdate, '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' => $paymentdate, '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' => $paymentdate, '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' => $paymentdate, '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 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); $reference = $this->accountingsmodel->get_reference_code('3'); $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); $reference = $this->accountingsmodel->get_reference_code('1'); $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); $msalarymonth = date_parse_from_format("d-m-Y", $_POST['date']); $memo = "Salary payment/$empaccount for " . $msalarymonth['month'] . "/" . $msalarymonth['year']; $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); $reference = $this->accountingsmodel->get_reference_code('3'); $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); $reference = $this->accountingsmodel->get_reference_code('3'); $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); $reference = $this->accountingsmodel->get_reference_code('1'); $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); $reference = $this->accountingsmodel->get_reference_code('1'); $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' and `account_code` like '30%'"); $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 `department`.`id`, `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 == 0) { if ($row['attendance_mode'] != 0) return -1; else { $temp = $row['attendance_date']; $inmode++; } } if ($flag == count($res->result_array()) - 1) { if ($row['attendance_mode'] != 1) { 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', '0'); $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 round(abs($to_time - $from_time) / 60, 2); else return ''; } function get_employee_attendance_status($employee_id, $employee_device_id, $date, $attendance_mode) { 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 ''; } if ($attendance_mode == 2) { $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_break_starting_time); if ($to_time < $from_time) return "Early Break Out"; else return ''; } if ($attendance_mode == 3) { $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_break_ending_time); if ($to_time > $from_time) { if (round(abs($to_time - $from_time) / 60, 2) > $row->work_shift_grace_time) return "Late Break In"; else return ''; } 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', '0'); $this->db->order_by('timesheet_attendance.attendance_date', 'asc'); $Q1 = $this->db->get('timesheet_attendance'); $row1 = $Q1->row(); if (!empty($row1) && $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', '1'); $this->db->order_by('timesheet_attendance.attendance_date', 'desc'); $Q1 = $this->db->get('timesheet_attendance'); $row1 = $Q1->row(); if (!empty($row1) && $row1->attendance_date == $date) return 1; else return 0; } function get_punches($device_no, $date) { $data = array(); $date = $this->mastermodel->convertdateformat($date); $this->db->where('employee_device_id', $device_no); $this->db->like('timesheet_attendance.attendance_date', $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 get_leave_day($employee_id, $date) { $this->db->select('*'); $this->db->join('leavetype', 'leavetype.id=assignleave.type'); $this->db->where("'" . $date . "' BETWEEN fromdate AND todate", NULL, FALSE); $this->db->where('leavestatus', "Approved"); $this->db->where('staffid', $employee_id); $Q = $this->db->get('assignleave'); if ($Q->num_rows() > 0) return $Q->row(); else return 0; } function is_special_holiday($date) { $this->db->from('holidays'); $this->db->where('start_date <=', $date); $this->db->where('end_date >=', $date); $num = $this->db->count_all_results(); $this->db->last_query(); return $num; } function unpostedpayslip($sal_id) { $this->db->select('*,emp_salary_slip.id as emp_salary_id'); $this->db->from('emp_salary_slip'); $this->db->join('staffpersonaldetails', 'staffpersonaldetails.id=emp_salary_slip.employee_id'); $this->db->join('staffemployeedetails', 'staffemployeedetails.staffid=emp_salary_slip.employee_id'); $this->db->join('department', 'department.id=staffemployeedetails.deptid'); $this->db->join('designation', 'designation.id=staffemployeedetails.designationid'); $this->db->where('emp_salary_slip.id', $sal_id); $Q = $this->db->get(); //echo $this->db->last_query(); // var_dump($Q->row()); return $Q->row(); } function get_data_allowdeduc($allowdeducttype, $salary_slip_id) { $data = array(); $this->db->where('salarypaymentallowdeduc.allowdeductype', $allowdeducttype); $this->db->where('salarypaymentid', $salary_slip_id); $this->db->join('allowdeduc', "allowdeduc.id=salarypaymentallowdeduc.allowdeducid"); $this->db->order_by('allowdeduccode', 'desc'); $Q = $this->db->get('salarypaymentallowdeduc'); // echo $this->db->last_query(); if ($Q->num_rows() > 0) { foreach ($Q->result_array() as $row) { $data[] = $row; } } $Q->free_result(); return $data; } } ?>