function addPayStubAmendments() { //Regular FIXED PS amendment $psaf = new PayStubAmendmentFactory(); $psaf->setUser($this->user_id); $psaf->setPayStubEntryNameId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($this->company_id, 10, 'Bonus')); $psaf->setStatus(50); //Active $psaf->setType(10); $psaf->setRate(10); $psaf->setUnits(10); $psaf->setDescription('Test Fixed PS Amendment'); $psaf->setEffectiveDate($this->pay_period_objs[0]->getEndDate()); $psaf->setAuthorized(TRUE); if ($psaf->isValid()) { $psaf->Save(); } //Regular percent PS amendment $psaf = new PayStubAmendmentFactory(); $psaf->setUser($this->user_id); $psaf->setPayStubEntryNameId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($this->company_id, 10, 'Other')); $psaf->setStatus(50); //Active $psaf->setType(20); $psaf->setPercentAmount(10); //10% $psaf->setPercentAmountEntryNameId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($this->company_id, 10, 'Regular Time')); $psaf->setDescription('Test Percent PS Amendment'); $psaf->setEffectiveDate($this->pay_period_objs[0]->getEndDate()); $psaf->setAuthorized(TRUE); if ($psaf->isValid()) { $psaf->Save(); } //Vacation Accrual Release percent PS amendment $psaf = new PayStubAmendmentFactory(); $psaf->setUser($this->user_id); $psaf->setPayStubEntryNameId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($this->company_id, 10, 'Vacation Accrual Release')); $psaf->setStatus(50); //Active $psaf->setType(20); $psaf->setPercentAmount(50); //50% - Leave some balance to check against. $psaf->setPercentAmountEntryNameId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($this->company_id, 50, 'Vacation Accrual')); $psaf->setDescription('Test Vacation Release Percent PS Amendment'); $psaf->setEffectiveDate($this->pay_period_objs[0]->getEndDate()); $psaf->setAuthorized(TRUE); if ($psaf->isValid()) { $psaf->Save(); } //YTD Adjustment FIXED PS amendment $psaf = new PayStubAmendmentFactory(); $psaf->setUser($this->user_id); $psaf->setPayStubEntryNameId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($this->company_id, 10, 'Premium 2')); $psaf->setStatus(50); //Active $psaf->setType(10); $psaf->setAmount(1.99); $psaf->setYTDAdjustment(TRUE); $psaf->setDescription('Test YTD PS Amendment'); $psaf->setEffectiveDate($this->pay_period_objs[0]->getEndDate()); $psaf->setAuthorized(TRUE); if ($psaf->isValid()) { $psaf->Save(); } //YTD Adjustment FIXED PS amendment $psaf = new PayStubAmendmentFactory(); $psaf->setUser($this->user_id); $psaf->setPayStubEntryNameId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($this->company_id, 10, 'Other')); $psaf->setStatus(50); //Active $psaf->setType(10); //$psaf->setAmount( 0.09 ); $psaf->setAmount(1000); //Increase this so Union Dues are closer to the maximum earnings and are calculated to be less. $psaf->setYTDAdjustment(TRUE); $psaf->setDescription('Test YTD (2) PS Amendment'); $psaf->setEffectiveDate($this->pay_period_objs[0]->getEndDate()); $psaf->setAuthorized(TRUE); if ($psaf->isValid()) { $psaf->Save(); } //YTD Adjustment FIXED PS amendment for testing Maximum EI contribution $psaf = new PayStubAmendmentFactory(); $psaf->setUser($this->user_id); $psaf->setPayStubEntryNameId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($this->company_id, 20, 'EI')); $psaf->setStatus(50); //Active $psaf->setType(10); $psaf->setAmount(700.0); $psaf->setYTDAdjustment(TRUE); $psaf->setDescription('Test EI YTD PS Amendment'); $psaf->setEffectiveDate($this->pay_period_objs[0]->getEndDate()); $psaf->setAuthorized(TRUE); if ($psaf->isValid()) { $psaf->Save(); } //YTD Adjustment FIXED PS amendment for testing Maximum CPP contribution $psaf = new PayStubAmendmentFactory(); $psaf->setUser($this->user_id); $psaf->setPayStubEntryNameId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($this->company_id, 20, 'CPP')); $psaf->setStatus(50); //Active $psaf->setType(10); $psaf->setAmount(1900.0); $psaf->setYTDAdjustment(TRUE); $psaf->setDescription('Test CPP YTD PS Amendment'); $psaf->setEffectiveDate($this->pay_period_objs[0]->getEndDate()); $psaf->setAuthorized(TRUE); if ($psaf->isValid()) { $psaf->Save(); } //YTD Adjustment FIXED PS amendment for testing Vacation Accrual totaling issues. $psaf = new PayStubAmendmentFactory(); $psaf->setUser($this->user_id); $psaf->setPayStubEntryNameId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($this->company_id, 50, 'Vacation Accrual')); $psaf->setStatus(50); //Active $psaf->setType(10); $psaf->setAmount(99.01000000000001); $psaf->setYTDAdjustment(TRUE); $psaf->setDescription('Test Vacation Accrual YTD PS Amendment'); $psaf->setEffectiveDate($this->pay_period_objs[0]->getEndDate()); $psaf->setAuthorized(TRUE); if ($psaf->isValid()) { $psaf->Save(); } // // Add EARNING PS amendments for a pay period that has no Punch hours. // Include a regular time adjustment so we can test Wage Base amounts for some tax/deductions. //Regular FIXED PS amendment as regular time. $psaf = new PayStubAmendmentFactory(); $psaf->setUser($this->user_id); $psaf->setPayStubEntryNameId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($this->company_id, 10, 'Regular Time')); $psaf->setStatus(50); //Active $psaf->setType(10); $psaf->setRate(33.33); $psaf->setUnits(3); $psaf->setDescription('Test Fixed PS Amendment (1)'); $psaf->setEffectiveDate($this->pay_period_objs[1]->getEndDate()); $psaf->setAuthorized(TRUE); if ($psaf->isValid()) { $psaf->Save(); } //Regular FIXED PS amendment as Bonus $psaf = new PayStubAmendmentFactory(); $psaf->setUser($this->user_id); $psaf->setPayStubEntryNameId(CompanyDeductionFactory::getPayStubEntryAccountByCompanyIDAndTypeAndFuzzyName($this->company_id, 10, 'Bonus')); $psaf->setStatus(50); //Active $psaf->setType(10); $psaf->setRate(10); $psaf->setUnits(30); $psaf->setDescription('Test Fixed PS Amendment (2)'); $psaf->setEffectiveDate($this->pay_period_objs[1]->getEndDate()); $psaf->setAuthorized(TRUE); if ($psaf->isValid()) { $psaf->Save(); } return TRUE; }
$psaf->setUser($user_id); $psaf->setPayStubEntryNameId($pay_stub_amendment_data['pay_stub_entry_name_id']); $psaf->setStatus($pay_stub_amendment_data['status_id']); $psaf->setType($pay_stub_amendment_data['type_id']); if ($pay_stub_amendment_data['type_id'] == 10) { $psaf->setRate($pay_stub_amendment_data['rate']); $psaf->setUnits($pay_stub_amendment_data['units']); if (isset($pay_stub_amendment_data['amount'])) { $psaf->setAmount($pay_stub_amendment_data['amount']); } } else { $psaf->setPercentAmount($pay_stub_amendment_data['percent_amount']); $psaf->setPercentAmountEntryNameId($pay_stub_amendment_data['percent_amount_entry_name_id']); } if (isset($pay_stub_amendment_data['ytd_adjustment'])) { $psaf->setYTDAdjustment(TRUE); } else { $psaf->setYTDAdjustment(FALSE); } $psaf->setDescription($pay_stub_amendment_data['description']); $psaf->setEffectiveDate($pay_stub_amendment_data['effective_date']); //Authorize them all for now. $psaf->setAuthorized(TRUE); if ($psaf->isValid()) { if ($psaf->Save() === FALSE) { $fail_transaction = TRUE; break; } } else { $fail_transaction = TRUE; break;