function createOverTimePolicy($company_id, $type, $accrual_policy_id = NULL) { $otpf = new OverTimePolicyFactory(); $otpf->setCompany($company_id); switch ($type) { case 10: $otpf->setName('OverTime (>8hrs)'); $otpf->setType(10); $otpf->setTriggerTime(3600 * 8); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 1')); $otpf->setAccrualPolicyId(0); $otpf->setAccrualRate(0); break; case 20: $otpf->setName('Daily (>10hrs)'); $otpf->setType(10); $otpf->setTriggerTime(3600 * 10); $otpf->setRate('1.0'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId($accrual_policy_id); $otpf->setAccrualRate('1.0'); } if ($otpf->isValid()) { $insert_id = $otpf->Save(); Debug::Text('Overtime Policy ID: ' . $insert_id, __FILE__, __LINE__, __METHOD__, 10); return $insert_id; } Debug::Text('Failed Creating Overtime Policy!', __FILE__, __LINE__, __METHOD__, 10); return FALSE; }
function createOverTimePolicy($company_id, $type, $accrual_policy_id = NULL) { $otpf = new OverTimePolicyFactory(); $otpf->setCompany($company_id); switch ($type) { case 100: $otpf->setName('Daily (>8hrs)'); $otpf->setType(10); $otpf->setTriggerTime(3600 * 8); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 1')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 110: $otpf->setName('Daily (>9hrs)'); $otpf->setType(10); $otpf->setTriggerTime(3600 * 9); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 120: $otpf->setName('Daily (>10hrs)'); $otpf->setType(10); $otpf->setTriggerTime(3600 * 10); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 200: $otpf->setName('Weekly (>47hrs)'); $otpf->setType(20); $otpf->setTriggerTime(3600 * 47); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 210: $otpf->setName('Weekly (>59hrs)'); $otpf->setType(20); $otpf->setTriggerTime(3600 * 59); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 220: $otpf->setName('Weekly (>71hrs)'); $otpf->setType(20); $otpf->setTriggerTime(3600 * 71); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 230: $otpf->setName('Weekly (>31hrs)'); $otpf->setType(20); $otpf->setTriggerTime(3600 * 31); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 240: $otpf->setName('Weekly (>39hrs)'); $otpf->setType(20); $otpf->setTriggerTime(3600 * 39); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 250: $otpf->setName('Weekly (>47hrs)'); $otpf->setType(20); $otpf->setTriggerTime(3600 * 47); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 500: $otpf->setName('Holiday'); $otpf->setType(180); $otpf->setTriggerTime(0); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; } if ($otpf->isValid()) { $insert_id = $otpf->Save(); Debug::Text('Overtime Policy ID: ' . $insert_id, __FILE__, __LINE__, __METHOD__, 10); return $insert_id; } Debug::Text('Failed Creating Overtime Policy!', __FILE__, __LINE__, __METHOD__, 10); return FALSE; }
// See index.php /* * Get FORM variables */ extract(FormVariables::GetVariables(array('action', 'id', 'data'))); if (isset($data['trigger_time'])) { $data['trigger_time'] = TTDate::parseTimeUnit($data['trigger_time']); } $otpf = new OverTimePolicyFactory(); $action = Misc::findSubmitButton(); $action = strtolower($action); switch ($action) { case 'submit': Debug::Text('Submit!', __FILE__, __LINE__, __METHOD__, 10); $otpf->setId($data['id']); $otpf->setCompany($current_company->getId()); $otpf->setName($data['name']); $otpf->setType($data['type_id']); //$otpf->setLevel( $data['level'] ); $otpf->setTriggerTime($data['trigger_time']); $otpf->setRate($data['rate']); $otpf->setWageGroup($data['wage_group_id']); $otpf->setAccrualPolicyId($data['accrual_policy_id']); $otpf->setAccrualRate($data['accrual_rate']); $otpf->setPayStubEntryAccountId($data['pay_stub_entry_account_id']); if ($otpf->isValid()) { $otpf->Save(); Redirect::Page(URLBuilder::getURL(NULL, 'OverTimePolicyList.php')); break; } default:
function createOverTimePolicy($company_id, $type, $accrual_policy_id = NULL) { $otpf = new OverTimePolicyFactory(); $otpf->setCompany($company_id); switch ($type) { // //Changing the OT rates will make a big difference is how these tests are calculated. // case 100: $otpf->setName('Daily (>8hrs)'); $otpf->setType(10); $otpf->setTriggerTime(3600 * 8); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 1')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 110: $otpf->setName('Daily (>9hrs)'); $otpf->setType(10); $otpf->setTriggerTime(3600 * 9); $otpf->setRate('2.0'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 120: $otpf->setName('Daily (>10hrs)'); $otpf->setType(10); $otpf->setTriggerTime(3600 * 10); $otpf->setRate('2.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 200: $otpf->setName('Weekly (>47hrs)'); $otpf->setType(20); $otpf->setTriggerTime(3600 * 47); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 210: $otpf->setName('Weekly (>59hrs)'); $otpf->setType(20); $otpf->setTriggerTime(3600 * 59); $otpf->setRate('2.0'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 220: $otpf->setName('Weekly (>71hrs)'); $otpf->setType(20); $otpf->setTriggerTime(3600 * 71); $otpf->setRate('2.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 230: $otpf->setName('Weekly (>31hrs)'); $otpf->setType(20); $otpf->setTriggerTime(3600 * 31); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 240: $otpf->setName('Weekly (>39hrs)'); $otpf->setType(20); $otpf->setTriggerTime(3600 * 39); $otpf->setRate('2.0'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 250: $otpf->setName('Weekly (>47hrs)'); $otpf->setType(20); $otpf->setTriggerTime(3600 * 47); $otpf->setRate('2.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 300: $otpf->setName('BiWeekly (>80hrs)'); $otpf->setType(30); $otpf->setTriggerTime(3600 * 80); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 310: $otpf->setName('BiWeekly (>84hrs)'); $otpf->setType(30); $otpf->setTriggerTime(3600 * 84); $otpf->setRate('2.0'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 320: $otpf->setName('BiWeekly (>86hrs)'); $otpf->setType(30); $otpf->setTriggerTime(3600 * 86); $otpf->setRate('2.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 500: $otpf->setName('Holiday'); $otpf->setType(180); $otpf->setTriggerTime(0); $otpf->setRate('1.5'); $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; case 510: $otpf->setName('Holiday'); $otpf->setType(180); $otpf->setTriggerTime(0); $otpf->setRate('4.0'); //This should have the highest rate as it always takes precedance. $otpf->setPayStubEntryAccountId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($company_id, 10, 'Over Time 2')); $otpf->setAccrualPolicyId((int) $accrual_policy_id); $otpf->setAccrualRate(1.0); break; } if ($otpf->isValid()) { $insert_id = $otpf->Save(); Debug::Text('Overtime Policy ID: ' . $insert_id, __FILE__, __LINE__, __METHOD__, 10); return $insert_id; } Debug::Text('Failed Creating Overtime Policy!', __FILE__, __LINE__, __METHOD__, 10); return FALSE; }