function createPayStubAccount($company_id) { $retval = PayStubEntryAccountFactory::addPresets($company_id); if ($retval == TRUE) { Debug::Text('Created Pay Stub Accounts!', __FILE__, __LINE__, __METHOD__, 10); return TRUE; } Debug::Text('Failed Creating Pay Stub Accounts for Company ID: ' . $company_id, __FILE__, __LINE__, __METHOD__, 10); return FALSE; }
function getAPISearchByCompanyIdAndArrayCriteria($company_id, $filter_data, $limit = NULL, $page = NULL, $where = NULL, $order = NULL) { if ($company_id == '') { return FALSE; } if (!is_array($order)) { //Use Filter Data ordering if its set. if (isset($filter_data['sort_column']) and $filter_data['sort_order']) { $order = array(Misc::trimSortPrefix($filter_data['sort_column']) => $filter_data['sort_order']); } } $additional_order_fields = array('status_id'); $sort_column_aliases = array('status' => 'status_id', 'type' => 'type_id', 'frequency' => 'frequency_id'); $order = $this->getColumnsFromAliases($order, $sort_column_aliases); if ($order == NULL) { $order = array('status_id' => 'asc', 'name' => 'asc'); $strict = FALSE; } else { //Always try to order by status first so INACTIVE employees go to the bottom. if (!isset($order['status_id'])) { $order = Misc::prependArray(array('status_id' => 'asc'), $order); } //Always sort by last name,first name after other columns if (!isset($order['name'])) { $order['name'] = 'asc'; } $strict = TRUE; } //Debug::Arr($order,'Order Data:', __FILE__, __LINE__, __METHOD__,10); //Debug::Arr($filter_data,'Filter Data:', __FILE__, __LINE__, __METHOD__,10); $uf = new UserFactory(); $pseaf = new PayStubEntryAccountFactory(); $ph = array('company_id' => $company_id); $query = ' select a.*, pseaf.name as pay_stub_entry_name, y.first_name as created_by_first_name, y.middle_name as created_by_middle_name, y.last_name as created_by_last_name, z.first_name as updated_by_first_name, z.middle_name as updated_by_middle_name, z.last_name as updated_by_last_name from ' . $this->getTable() . ' as a LEFT JOIN ' . $pseaf->getTable() . ' as pseaf ON ( a.pay_stub_entry_name_id = pseaf.id AND pseaf.deleted = 0 ) LEFT JOIN ' . $uf->getTable() . ' as y ON ( a.created_by = y.id AND y.deleted = 0 ) LEFT JOIN ' . $uf->getTable() . ' as z ON ( a.updated_by = z.id AND z.deleted = 0 ) where a.company_id = ? '; $query .= isset($filter_data['permission_children_ids']) ? $this->getWhereClauseSQL('a.created_by', $filter_data['permission_children_ids'], 'numeric_list', $ph) : NULL; $query .= isset($filter_data['id']) ? $this->getWhereClauseSQL('a.id', $filter_data['id'], 'numeric_list', $ph) : NULL; $query .= isset($filter_data['exclude_id']) ? $this->getWhereClauseSQL('a.id', $filter_data['exclude_id'], 'not_numeric_list', $ph) : NULL; if (isset($filter_data['status']) and trim($filter_data['status']) != '' and !isset($filter_data['status_id'])) { $filter_data['status_id'] = Option::getByFuzzyValue($filter_data['status'], $this->getOptions('status')); } $query .= isset($filter_data['status_id']) ? $this->getWhereClauseSQL('a.status_id', $filter_data['status_id'], 'numeric_list', $ph) : NULL; if (isset($filter_data['type']) and trim($filter_data['type']) != '' and !isset($filter_data['type_id'])) { $filter_data['type_id'] = Option::getByFuzzyValue($filter_data['type'], $this->getOptions('type')); } $query .= isset($filter_data['type_id']) ? $this->getWhereClauseSQL('a.type_id', $filter_data['type_id'], 'numeric_list', $ph) : NULL; $query .= isset($filter_data['frequency_id']) ? $this->getWhereClauseSQL('a.frequency_id', $filter_data['frequency_id'], 'numeric_list', $ph) : NULL; $query .= isset($filter_data['name']) ? $this->getWhereClauseSQL('a.name', $filter_data['name'], 'text', $ph) : NULL; $query .= isset($filter_data['description']) ? $this->getWhereClauseSQL('a.description', $filter_data['description'], 'text', $ph) : NULL; $query .= isset($filter_data['created_by']) ? $this->getWhereClauseSQL(array('a.created_by', 'y.first_name', 'y.last_name'), $filter_data['created_by'], 'user_id_or_name', $ph) : NULL; $query .= isset($filter_data['updated_by']) ? $this->getWhereClauseSQL(array('a.updated_by', 'z.first_name', 'z.last_name'), $filter_data['updated_by'], 'user_id_or_name', $ph) : NULL; /* if ( isset($filter_data['permission_children_ids']) AND isset($filter_data['permission_children_ids'][0]) AND !in_array(-1, (array)$filter_data['permission_children_ids']) ) { $query .= ' AND a.created_by in ('. $this->getListSQL($filter_data['permission_children_ids'], $ph) .') '; } if ( isset($filter_data['id']) AND isset($filter_data['id'][0]) AND !in_array(-1, (array)$filter_data['id']) ) { $query .= ' AND a.id in ('. $this->getListSQL($filter_data['id'], $ph) .') '; } if ( isset($filter_data['exclude_id']) AND isset($filter_data['exclude_id'][0]) AND !in_array(-1, (array)$filter_data['exclude_id']) ) { $query .= ' AND a.id not in ('. $this->getListSQL($filter_data['exclude_id'], $ph) .') '; } if ( isset($filter_data['status_id']) AND isset($filter_data['status_id'][0]) AND !in_array(-1, (array)$filter_data['status_id']) ) { $query .= ' AND a.status_id in ('. $this->getListSQL($filter_data['status_id'], $ph) .') '; } if ( isset($filter_data['type_id']) AND isset($filter_data['type_id'][0]) AND !in_array(-1, (array)$filter_data['type_id']) ) { $query .= ' AND a.type_id in ('. $this->getListSQL($filter_data['type_id'], $ph) .') '; } if ( isset($filter_data['frequency_id']) AND isset($filter_data['frequency_id'][0]) AND !in_array(-1, (array)$filter_data['frequency_id']) ) { $query .= ' AND a.frequency_id in ('. $this->getListSQL($filter_data['frequency_id'], $ph) .') '; } if ( isset($filter_data['name']) AND trim($filter_data['name']) != '' ) { $ph[] = strtolower(trim($filter_data['name'])); $query .= ' AND lower(a.name) LIKE ?'; } if ( isset($filter_data['description']) AND trim($filter_data['description']) != '' ) { $ph[] = strtolower(trim($filter_data['description'])); $query .= ' AND lower(a.description) LIKE ?'; } $query .= ( isset($filter_data['created_by']) ) ? $this->getWhereClauseSQL( array('a.created_by','y.first_name','y.last_name'), $filter_data['created_by'], 'user_id_or_name', $ph ) : NULL; $query .= ( isset($filter_data['updated_by']) ) ? $this->getWhereClauseSQL( array('a.updated_by','z.first_name','z.last_name'), $filter_data['updated_by'], 'user_id_or_name', $ph ) : NULL; */ $query .= ' AND a.deleted = 0 '; $query .= $this->getWhereSQL($where); $query .= $this->getSortSQL($order, $strict, $additional_order_fields); $this->ExecuteSQL($query, $ph, $limit, $page); return $this; }
function postSave() { $this->removeCache($this->getId()); $this->remoteSave(); if ($this->getDeleted() == FALSE) { //Add base currency for this new company. if ($this->getEnableAddCurrency() == TRUE) { $clf = new CurrencyListFactory(); $clf->getByCompanyId($this->getId()); if ($clf->getRecordCount() == 0) { Debug::text('Adding Default Currency', __FILE__, __LINE__, __METHOD__, 9); $cf = new CurrencyFactory(); $country_to_currency_map_arr = $cf->getOptions('country_currency'); if (isset($country_to_currency_map_arr[$this->getCountry()])) { $base_currency = $country_to_currency_map_arr[$this->getCountry()]; Debug::text('Found Base Currency For Country: ' . $this->getCountry() . ' Currency: ' . $base_currency, __FILE__, __LINE__, __METHOD__, 9); } else { Debug::text('DID NOT Find Base Currency For Country: ' . $this->getCountry() . ' Using default USD.', __FILE__, __LINE__, __METHOD__, 9); $base_currency = 'USD'; } $cf->setCompany($this->getId()); $cf->setStatus(10); $cf->setName($base_currency); $cf->setISOCode($base_currency); $cf->setConversionRate('1.000000000'); $cf->setAutoUpdate(FALSE); $cf->setBase(TRUE); $cf->setDefault(TRUE); if ($cf->isValid()) { $cf->Save(); } } } if ($this->getEnableAddPermissionGroupPreset() == TRUE) { Debug::text('Adding Preset Permission Groups', __FILE__, __LINE__, __METHOD__, 9); $pf = new PermissionFactory(); $pf->StartTransaction(); if ($this->getProductEdition() == 20) { $preset_flags = array('job' => 1, 'invoice' => 1, 'document' => 1); } else { $preset_flags = array(); } $preset_options = $pf->getOptions('preset'); foreach ($preset_options as $preset_id => $preset_name) { $pcf = new PermissionControlFactory(); $pcf->setCompany($this->getId()); $pcf->setName($preset_name); $pcf->setDescription(''); if ($pcf->isValid()) { $pcf_id = $pcf->Save(FALSE); $pf->applyPreset($pcf_id, $preset_id, $preset_flags); } } //$pf->FailTransaction(); $pf->CommitTransaction(); } if ($this->getEnableAddStation() == TRUE) { Debug::text('Adding Default Station', __FILE__, __LINE__, __METHOD__, 9); //Enable punching in from all stations $sf = new StationFactory(); $sf->setCompany($this->getId()); $sf->setStatus(20); $sf->setType(10); $sf->setSource('ANY'); $sf->setStation('ANY'); $sf->setDescription('All stations'); $sf->setGroupSelectionType(10); $sf->setBranchSelectionType(10); $sf->setDepartmentSelectionType(10); if ($sf->isValid()) { $sf->Save(); } } if ($this->getEnableAddPayStubEntryAccountPreset() == TRUE) { Debug::text('Adding Pay Stub Entry Account Presets', __FILE__, __LINE__, __METHOD__, 9); PayStubEntryAccountFactory::addPresets($this->getId()); } if ($this->getEnableAddCompanyDeductionPreset() == TRUE) { Debug::text('Adding Company Deduction Presets', __FILE__, __LINE__, __METHOD__, 9); CompanyDeductionFactory::addPresets($this->getId()); } if ($this->getEnableAddRecurringHolidayPreset() == TRUE) { Debug::text('Adding Recurring Holiday Presets', __FILE__, __LINE__, __METHOD__, 9); RecurringHolidayFactory::addPresets($this->getId(), $this->getCountry()); } } if ($this->getDeleted() == TRUE) { $ulf = new UserListFactory(); $ulf->getByCompanyId($this->getID()); if ($ulf->getRecordCount() > 0) { $ulf->StartTransaction(); foreach ($ulf as $u_obj) { Debug::text('Deleting User ID: ' . $u_obj->getId(), __FILE__, __LINE__, __METHOD__, 9); $u_obj->setDeleted(TRUE); if ($u_obj->isValid()) { $u_obj->Save(); } } $ulf->CommitTransaction(); } } return TRUE; }
function createPayStubAccrualAccount() { Debug::text('Saving.... Vacation Accrual', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($this->company_id); $pseaf->setStatus(10); $pseaf->setType(50); $pseaf->setName('Vacation Accrual'); $pseaf->setOrder(400); if ($pseaf->isValid()) { $vacation_accrual_id = $pseaf->Save(); Debug::text('Saving.... Earnings - Vacation Accrual Release', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($this->company_id); $pseaf->setStatus(10); $pseaf->setType(10); $pseaf->setName('Vacation Accrual Release'); $pseaf->setOrder(180); $pseaf->setAccrual($vacation_accrual_id); if ($pseaf->isValid()) { $pseaf->Save(); } unset($vaction_accrual_id); } return TRUE; }
function createPayStubAccounts() { Debug::text('Saving.... Employee Deduction - Other', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($this->company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('Other'); $pseaf->setOrder(290); if ($pseaf->isValid()) { $pseaf->Save(); } Debug::text('Saving.... Employee Deduction - Other2', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($this->company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('Other2'); $pseaf->setOrder(291); if ($pseaf->isValid()) { $pseaf->Save(); } Debug::text('Saving.... Employee Deduction - EI', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($this->company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('EI'); $pseaf->setOrder(292); if ($pseaf->isValid()) { $pseaf->Save(); } Debug::text('Saving.... Employee Deduction - CPP', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($this->company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('CPP'); $pseaf->setOrder(293); if ($pseaf->isValid()) { $pseaf->Save(); } //Link Account EI and CPP accounts $pseallf = new PayStubEntryAccountLinkListFactory(); $pseallf->getByCompanyId($this->company_id); if ($pseallf->getRecordCount() > 0) { $pseal_obj = $pseallf->getCurrent(); $pseal_obj->setEmployeeEI(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($this->company_id, 20, 'EI')); $pseal_obj->setEmployeeCPP(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($this->company_id, 20, 'CPP')); $pseal_obj->Save(); } return TRUE; }
* $Id: EditPayStubEntryAccount.php 1246 2007-09-14 23:47:42Z ipso $ * $Date: 2007-09-14 16:47:42 -0700 (Fri, 14 Sep 2007) $ */ require_once '../../includes/global.inc.php'; require_once Environment::getBasePath() . 'includes/Interface.inc.php'; if (!$permission->Check('pay_stub_account', 'enabled') or !($permission->Check('pay_stub_account', 'edit') or $permission->Check('pay_stub_account', 'edit_own'))) { $permission->Redirect(FALSE); //Redirect } $smarty->assign('title', TTi18n::gettext($title = 'Edit Pay Stub Account')); // See index.php /* * Get FORM variables */ extract(FormVariables::GetVariables(array('action', 'id', 'data'))); $pseaf = new PayStubEntryAccountFactory(); $action = Misc::findSubmitButton(); $action = strtolower($action); switch ($action) { case 'submit': Debug::Text('Submit!', __FILE__, __LINE__, __METHOD__, 10); //Debug::setVerbosity(11); $pseaf->setId($data['id']); $pseaf->setCompany($current_company->getId()); $pseaf->setStatus($data['status_id']); $pseaf->setType($data['type_id']); $pseaf->setName($data['name']); $pseaf->setOrder($data['order']); $pseaf->setAccrual($data['accrual_id']); $pseaf->setDebitAccount($data['debit_account']); $pseaf->setCreditAccount($data['credit_account']);
function createPayStubAccrualAccount() { Debug::text('Saving.... Vacation Accrual', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($this->company_id); $pseaf->setStatus(10); $pseaf->setType(50); $pseaf->setName('Vacation Accrual'); $pseaf->setOrder(400); if ($pseaf->isValid()) { $vacation_accrual_id = $pseaf->Save(); Debug::text('Saving.... Earnings - Vacation Accrual Release', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($this->company_id); $pseaf->setStatus(10); $pseaf->setType(10); $pseaf->setName('Vacation Accrual Release'); $pseaf->setOrder(180); $pseaf->setAccrual($vacation_accrual_id); if ($pseaf->isValid()) { $pseaf->Save(); } //unset($vaction_accrual_id); //Don't need this because we are doing it manually. Debug::text('Saving.... Vacation Accrual Deduction', __FILE__, __LINE__, __METHOD__, 10); $cdf = new CompanyDeductionFactory(); $cdf->setCompany($this->company_id); $cdf->setStatus(10); //Enabled $cdf->setType(20); //Deduction $cdf->setName('Vacation Accrual'); $cdf->setCalculation(10); $cdf->setCalculationOrder(50); $cdf->setPayStubEntryAccount($vacation_accrual_id); $cdf->setUserValue1(4); if ($cdf->isValid()) { Debug::text('bSaving.... Vacation Accrual Deduction', __FILE__, __LINE__, __METHOD__, 10); $cdf->Save(FALSE); $cdf->setIncludePayStubEntryAccount(array(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($this->company_id, 40, 'Total Gross'))); if ($cdf->isValid()) { $cdf->Save(); } } } return TRUE; }
function getAPISearchByCompanyIdAndArrayCriteria($company_id, $filter_data, $limit = NULL, $page = NULL, $where = NULL, $order = NULL) { if ($company_id == '') { return FALSE; } if (!is_array($order)) { //Use Filter Data ordering if its set. if (isset($filter_data['sort_column']) and $filter_data['sort_order']) { $order = array(Misc::trimSortPrefix($filter_data['sort_column']) => $filter_data['sort_order']); } } $additional_order_fields = array('pay_stub_entry_name', 'user_status_id', 'last_name', 'first_name', 'default_branch', 'default_department', 'user_group', 'title'); $sort_column_aliases = array('user_status' => 'user_status_id', 'status' => 'status_id', 'type' => 'type_id'); $order = $this->getColumnsFromAliases($order, $sort_column_aliases); if ($order == NULL) { $order = array('effective_date' => 'desc', 'last_name' => 'asc'); $strict = FALSE; } else { //Always sort by effective_date,last name after other columns if (!isset($order['effective_date'])) { $order['effective_date'] = 'desc'; } if (!isset($order['last_name'])) { $order['last_name'] = 'asc'; } $strict = TRUE; } //Debug::Arr($order,'Order Data:', __FILE__, __LINE__, __METHOD__,10); //Debug::Arr($filter_data,'Filter Data:', __FILE__, __LINE__, __METHOD__,10); if (strncmp($this->db->databaseType, 'mysql', 5) == 0) { $to_timestamp_sql = 'from_unixtime(a.effective_date)'; } else { $to_timestamp_sql = 'to_timestamp(a.effective_date)'; } $uf = new UserFactory(); $bf = new BranchFactory(); $df = new DepartmentFactory(); $ugf = new UserGroupFactory(); $utf = new UserTitleFactory(); $pseaf = new PayStubEntryAccountFactory(); $ppf = new PayPeriodFactory(); $ppsf = new PayPeriodScheduleFactory(); $ppsuf = new PayPeriodScheduleUserFactory(); $ph = array('company_id' => $company_id); $query = ' select a.*, b.first_name as first_name, b.last_name as last_name, b.status_id as user_status_id, b.default_branch_id as default_branch_id, bf.name as default_branch, b.default_department_id as default_department_id, df.name as default_department, b.group_id as group_id, ugf.name as user_group, b.title_id as title_id, utf.name as title, pseaf.name as pay_stub_entry_name, y.first_name as created_by_first_name, y.middle_name as created_by_middle_name, y.last_name as created_by_last_name, z.first_name as updated_by_first_name, z.middle_name as updated_by_middle_name, z.last_name as updated_by_last_name from ' . $this->getTable() . ' as a LEFT JOIN ' . $uf->getTable() . ' as b ON ( a.user_id = b.id AND b.deleted = 0 ) LEFT JOIN ' . $bf->getTable() . ' as bf ON ( b.default_branch_id = bf.id AND bf.deleted = 0) LEFT JOIN ' . $df->getTable() . ' as df ON ( b.default_department_id = df.id AND df.deleted = 0) LEFT JOIN ' . $ugf->getTable() . ' as ugf ON ( b.group_id = ugf.id AND ugf.deleted = 0 ) LEFT JOIN ' . $utf->getTable() . ' as utf ON ( b.title_id = utf.id AND utf.deleted = 0 ) LEFT JOIN ' . $pseaf->getTable() . ' as pseaf ON ( a.pay_stub_entry_name_id = pseaf.id AND pseaf.deleted = 0 ) LEFT JOIN ' . $ppsuf->getTable() . ' as ppsuf ON ( a.user_id = ppsuf.user_id ) LEFT JOIN ' . $ppsf->getTable() . ' as ppsf ON ( ppsuf.pay_period_schedule_id = ppsf.id AND ppsf.deleted = 0 ) LEFT JOIN ' . $ppf->getTable() . ' as ppf ON ( ppsuf.pay_period_schedule_id = ppf.pay_period_schedule_id AND ' . $to_timestamp_sql . ' >= ppf.start_date AND ' . $to_timestamp_sql . ' <= ppf.end_date AND ppf.deleted = 0 ) LEFT JOIN ' . $uf->getTable() . ' as y ON ( a.created_by = y.id AND y.deleted = 0 ) LEFT JOIN ' . $uf->getTable() . ' as z ON ( a.updated_by = z.id AND z.deleted = 0 ) where b.company_id = ? '; if (isset($filter_data['permission_children_ids']) and isset($filter_data['permission_children_ids'][0]) and !in_array(-1, (array) $filter_data['permission_children_ids'])) { $query .= ' AND b.id in (' . $this->getListSQL($filter_data['permission_children_ids'], $ph) . ') '; } if (isset($filter_data['user_id']) and isset($filter_data['user_id'][0]) and !in_array(-1, (array) $filter_data['user_id'])) { $query .= ' AND b.id in (' . $this->getListSQL($filter_data['user_id'], $ph) . ') '; } if (isset($filter_data['id']) and isset($filter_data['id'][0]) and !in_array(-1, (array) $filter_data['id'])) { $query .= ' AND a.id in (' . $this->getListSQL($filter_data['id'], $ph) . ') '; } if (isset($filter_data['exclude_id']) and isset($filter_data['exclude_id'][0]) and !in_array(-1, (array) $filter_data['exclude_id'])) { $query .= ' AND a.id not in (' . $this->getListSQL($filter_data['exclude_id'], $ph) . ') '; } if (isset($filter_data['user_id']) and isset($filter_data['user_id'][0]) and !in_array(-1, (array) $filter_data['user_id'])) { $query .= ' AND a.user_id in (' . $this->getListSQL($filter_data['user_id'], $ph) . ') '; } if (isset($filter_data['pay_period_id']) and isset($filter_data['pay_period_id'][0]) and !in_array(-1, (array) $filter_data['pay_period_id'])) { $query .= ' AND ppf.id in (' . $this->getListSQL($filter_data['pay_period_id'], $ph) . ') '; } if (isset($filter_data['group_id']) and isset($filter_data['group_id'][0]) and !in_array(-1, (array) $filter_data['group_id'])) { if (isset($filter_data['include_subgroups']) and (bool) $filter_data['include_subgroups'] == TRUE) { $uglf = new UserGroupListFactory(); $filter_data['group_id'] = $uglf->getByCompanyIdAndGroupIdAndSubGroupsArray($company_id, $filter_data['group_id'], TRUE); } $query .= ' AND b.group_id in (' . $this->getListSQL($filter_data['group_id'], $ph) . ') '; } if (isset($filter_data['default_branch_id']) and isset($filter_data['default_branch_id'][0]) and !in_array(-1, (array) $filter_data['default_branch_id'])) { $query .= ' AND b.default_branch_id in (' . $this->getListSQL($filter_data['default_branch_id'], $ph) . ') '; } if (isset($filter_data['default_department_id']) and isset($filter_data['default_department_id'][0]) and !in_array(-1, (array) $filter_data['default_department_id'])) { $query .= ' AND b.default_department_id in (' . $this->getListSQL($filter_data['default_department_id'], $ph) . ') '; } if (isset($filter_data['title_id']) and isset($filter_data['title_id'][0]) and !in_array(-1, (array) $filter_data['title_id'])) { $query .= ' AND b.title_id in (' . $this->getListSQL($filter_data['title_id'], $ph) . ') '; } if (isset($filter_data['recurring_ps_amendment_id']) and isset($filter_data['recurring_ps_amendment_id'][0]) and !in_array(-1, (array) $filter_data['recurring_ps_amendment_id'])) { $query .= ' AND a.recurring_ps_amendment_id in (' . $this->getListSQL($filter_data['recurring_ps_amendment_id'], $ph) . ') '; } if (isset($filter_data['start_date']) and trim($filter_data['start_date']) != '') { $ph[] = strtolower(trim($filter_data['start_date'])); $query .= ' AND a.effective_date >= ?'; } if (isset($filter_data['end_date']) and trim($filter_data['end_date']) != '') { $ph[] = strtolower(trim($filter_data['end_date'])); $query .= ' AND a.effective_date <= ?'; } if (isset($filter_data['effective_date']) and trim($filter_data['effective_date']) != '') { $ph[] = strtolower(trim($filter_data['effective_date'])); $query .= ' AND a.effective_date = ?'; } $query .= isset($filter_data['created_by']) ? $this->getWhereClauseSQL(array('a.created_by', 'y.first_name', 'y.last_name'), $filter_data['created_by'], 'user_id_or_name', $ph) : NULL; $query .= isset($filter_data['updated_by']) ? $this->getWhereClauseSQL(array('a.updated_by', 'z.first_name', 'z.last_name'), $filter_data['updated_by'], 'user_id_or_name', $ph) : NULL; //Need to account for employees being assigned to deleted pay period schedules. $query .= ' AND ( ppsuf.id IS NULL OR ppsf.id IS NOT NULL ) AND a.deleted = 0 '; $query .= $this->getWhereSQL($where); $query .= $this->getSortSQL($order, $strict, $additional_order_fields); //Debug::Arr($query,'Query: ', __FILE__, __LINE__, __METHOD__,10); $this->ExecuteSQL($query, $ph, $limit, $page); return $this; }
// See index.php /* * Get FORM variables */ extract(FormVariables::GetVariables(array('action', 'page', 'sort_column', 'sort_order', 'ids'))); URLBuilder::setURL($_SERVER['SCRIPT_NAME'], array('sort_column' => $sort_column, 'sort_order' => $sort_order, 'page' => $page)); $sort_array = NULL; if ($sort_column != '') { $sort_array = array($sort_column => $sort_order); } Debug::Arr($ids, 'Selected Objects', __FILE__, __LINE__, __METHOD__, 10); $action = Misc::findSubmitButton(); switch ($action) { case 'add_presets': //Debug::setVerbosity(11); PayStubEntryAccountFactory::addPresets($current_company->getId()); Redirect::Page(URLBuilder::getURL(NULL, 'PayStubEntryAccountList.php')); case 'add': Redirect::Page(URLBuilder::getURL(NULL, 'EditPayStubEntryAccount.php', FALSE)); break; case 'delete': case 'undelete': if (strtolower($action) == 'delete') { $delete = TRUE; } else { $delete = FALSE; } $psealf = TTnew('PayStubEntryAccountListFactory'); foreach ($ids as $id) { $psealf->getByIdAndCompanyId($id, $current_company->getId()); foreach ($psealf as $psea_obj) {
static function addPresets($company_id) { if ($company_id == '') { return FALSE; } $clf = new CompanyListFactory(); $clf->getById($company_id); if ($clf->getRecordCount() > 0) { $company_obj = $clf->getCurrent(); $country = $company_obj->getCountry(); $province = $company_obj->getProvince(); } else { return FALSE; } $pseaf = new PayStubEntryAccountFactory(); $pseaf->StartTransaction(); /* 10 => 'Earning', 20 => 'Employee Deduction', 30 => 'Employer Deduction', 40 => 'Total', 50 => 'Accrual', 60 => 'Advance Earning', 65 => 'Advance Deduction', */ //See if accounts are already linked $pseallf = new PayStubEntryAccountLinkListFactory(); $pseallf->getByCompanyId($company_id); if ($pseallf->getRecordCount() > 0) { $psealf = $pseallf->getCurrent(); } else { $psealf = new PayStubEntryAccountLinkFactory(); $psealf->setCompany($company_id); } Debug::text('Country: ' . $country, __FILE__, __LINE__, __METHOD__, 10); switch (strtolower($country)) { case 'ca': Debug::text('Saving.... Federal Taxes', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('Federal Income Tax'); $pseaf->setOrder(210); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('Provincial Income Tax'); $pseaf->setOrder(220); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('Additional Income Tax'); $pseaf->setOrder(230); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('CPP'); $pseaf->setOrder(240); if ($pseaf->isValid()) { $psea_id = $pseaf->Save(); $psealf->setEmployeeCPP($psea_id); unset($psea_id); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('EI'); $pseaf->setOrder(250); if ($pseaf->isValid()) { $psea_id = $pseaf->Save(); $psealf->setEmployeeEI($psea_id); unset($psea_id); } //Employer Contributions $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(30); $pseaf->setName('CPP - Employer'); $pseaf->setOrder(300); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(30); $pseaf->setName('EI - Employer'); $pseaf->setOrder(310); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(30); $pseaf->setName('WCB - Employer'); $pseaf->setOrder(320); if ($pseaf->isValid()) { $pseaf->Save(); } Debug::text('Saving.... Vacation Accrual', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(50); $pseaf->setName('Vacation Accrual'); $pseaf->setOrder(400); if ($pseaf->isValid()) { $vacation_accrual_id = $pseaf->Save(); Debug::text('Saving.... Earnings - Vacation Accrual Release', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(10); $pseaf->setName('Vacation Accrual Release'); $pseaf->setOrder(180); $pseaf->setAccrual($vacation_accrual_id); if ($pseaf->isValid()) { $pseaf->Save(); } unset($vaction_accrual_id); } break; case 'us': $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('Federal Income Tax'); $pseaf->setOrder(210); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('Advance EIC'); $pseaf->setOrder(215); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('State Income Tax'); $pseaf->setOrder(220); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('District Income Tax'); $pseaf->setOrder(225); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('Federal Add. Income Tax'); $pseaf->setOrder(230); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('State Add. Income Tax'); $pseaf->setOrder(235); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('Social Security (FICA)'); $pseaf->setOrder(240); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(30); $pseaf->setName('Social Security (FICA)'); $pseaf->setOrder(340); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(30); $pseaf->setName('Fed. Unemployment Ins.'); $pseaf->setOrder(342); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('State Unemployment Ins.'); $pseaf->setOrder(240); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('Medicare'); $pseaf->setOrder(245); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(30); $pseaf->setName('Medicare'); $pseaf->setOrder(346); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('State Disability Ins.'); $pseaf->setOrder(250); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(30); $pseaf->setName('State Unemployment Ins.'); $pseaf->setOrder(350); if ($pseaf->isValid()) { $pseaf->Save(); } $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(30); $pseaf->setName('State Employee Training'); $pseaf->setOrder(352); if ($pseaf->isValid()) { $pseaf->Save(); } break; } Debug::text('Province: ' . $province, __FILE__, __LINE__, __METHOD__, 10); switch (strtolower($province)) { case 'ny': $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(30); $pseaf->setName('State Reemployment'); $pseaf->setOrder(354); if ($pseaf->isValid()) { $pseaf->Save(); } break; } Debug::text('Saving.... Earnings - Regular Time', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(10); $pseaf->setName('Regular Time'); $pseaf->setOrder(100); if ($pseaf->isValid()) { $psea_id = $pseaf->Save(); $psealf->setRegularTime($psea_id); unset($psea_id); } Debug::text('Saving.... Earnings - Over Time 1', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(10); $pseaf->setName('Over Time 1'); $pseaf->setOrder(150); if ($pseaf->isValid()) { $pseaf->Save(); } Debug::text('Saving.... Earnings - Over Time 2', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(10); $pseaf->setName('Over Time 2'); $pseaf->setOrder(151); if ($pseaf->isValid()) { $pseaf->Save(); } Debug::text('Saving.... Earnings - Premium Time 1', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(10); $pseaf->setName('Premium 1'); $pseaf->setOrder(170); if ($pseaf->isValid()) { $pseaf->Save(); } Debug::text('Saving.... Earnings - Premium Time 2', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(10); $pseaf->setName('Premium 2'); $pseaf->setOrder(171); if ($pseaf->isValid()) { $pseaf->Save(); } Debug::text('Saving.... Earnings - Bonus', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(10); $pseaf->setName('Bonus'); $pseaf->setOrder(185); if ($pseaf->isValid()) { $pseaf->Save(); } Debug::text('Saving.... Earnings - Other', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(10); $pseaf->setName('Other'); $pseaf->setOrder(189); if ($pseaf->isValid()) { $pseaf->Save(); } Debug::text('Saving.... Union Dues', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('Union Dues'); $pseaf->setOrder(285); if ($pseaf->isValid()) { $pseaf->Save(); } Debug::text('Saving.... Employee Benefits Plan', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(20); $pseaf->setName('Benefits Plan'); $pseaf->setOrder(225); if ($pseaf->isValid()) { $pseaf->Save(); } Debug::text('Saving.... Employer Benefits Plan', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(30); $pseaf->setName('Benefits Plan'); $pseaf->setOrder(330); if ($pseaf->isValid()) { $pseaf->Save(); } Debug::text('Saving.... Total Earnings', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(40); $pseaf->setName('Total Gross'); $pseaf->setOrder(199); if ($pseaf->isValid()) { $psea_id = $pseaf->Save(); $psealf->setTotalGross($psea_id); unset($psea_id); } Debug::text('Saving.... Total Deductions', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(40); $pseaf->setName('Total Deductions'); $pseaf->setOrder(298); if ($pseaf->isValid()) { $psea_id = $pseaf->Save(); $psealf->setTotalEmployeeDeduction($psea_id); unset($psea_id); } Debug::text('Saving.... Net Pay', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(40); $pseaf->setName('Net Pay'); $pseaf->setOrder(299); if ($pseaf->isValid()) { $psea_id = $pseaf->Save(); $psealf->setTotalNetPay($psea_id); unset($psea_id); } Debug::text('Saving.... Employer Total Cont', __FILE__, __LINE__, __METHOD__, 10); $pseaf = new PayStubEntryAccountFactory(); $pseaf->setCompany($company_id); $pseaf->setStatus(10); $pseaf->setType(40); $pseaf->setName('Employer Total Contributions'); $pseaf->setOrder(399); if ($pseaf->isValid()) { $psea_id = $pseaf->Save(); $psealf->setTotalEmployerDeduction($psea_id); unset($psea_id); } if ($psealf->isValid() == TRUE) { Debug::text('Saving.... PSA Linking', __FILE__, __LINE__, __METHOD__, 10); $psealf->Save(); } else { Debug::text('Saving.... PSA Linking FAILED!', __FILE__, __LINE__, __METHOD__, 10); } $pseaf->CommitTransaction(); //$pseaf->FailTransaction(); return TRUE; }