TimeTrex API Manual

PayStubFactory extends Factory
in package

Table of Contents

$cache  : Cache_Lite_Function|Cache_Lite_Output
$data  : mixed
$db  : mixed
$is_new  : mixed
$old_data  : mixed
$rs  : mixed
$tmp_data  : mixed
$validate_only  : mixed
$Validator  : mixed
$api_message_id  : mixed
$currency_obj  : mixed
$enable_system_log_detail  : mixed
$is_unique_pay_stub  : mixed
$is_unique_pay_stub_type  : mixed
$old_currency_id  : mixed
$pay_period_obj  : mixed
$pay_stub_entry_account_link_obj  : mixed
$pay_stub_entry_accounts_obj  : mixed
$pk_sequence_name  : mixed
$progress_bar_obj  : mixed
$table  : mixed
$user_obj  : mixed
$calc_current_ytd  : bool
$calc_ytd  : bool
$enable_notification  : bool
$ignore_column_list  : bool
$is_recalc_ytd  : bool
$is_valid  : mixed
$linked_accruals  : bool
$process_entries  : bool
$process_transactions  : bool
$sync_pending_pay_stub_transaction_dates  : bool
__construct()  : mixed
Factory constructor.
__toString()  : bool|string
Print primary columns from object.
_getFactoryOptions()  : array<string|int, mixed>|bool|null
_getVariableToFunctionMap()  : array<string|int, mixed>
addDeductionSum()  : bool
addEarningSum()  : bool
addEmployerDeductionSum()  : bool
addEntry()  : bool
addLog()  : bool
addNetPay()  : bool
addTransaction()  : bool
For the api to edit transactions ensure that you validate at the API before calling this method.
addUnUsedYTDEntries()  : bool
bulkDelete()  : bool
CalcDifferences()  : bool
calcPayStubEntriesYTD()  : bool
calculateDefaultTransactions()  : bool
calculateTemporaryTotals()  : array<string|int, mixed>
Calculate the real-time total accounts while the pay stub is being generated. This should allow Tax/Deductions records to calculate based on including/excluding Net Pay.
castGenericDataValue()  : mixed
Generic casting function that all set/get*() functions should pass through.
checkDeductions()  : bool
checkEarnings()  : bool
Returns TRUE unless Amount explicitly does not match Gross Pay use checkNoEarnings to see if any earnings exist or not.
checkIfPayStubOrderChanged()  : bool
checkNegativeNetPay()  : bool
checkNetPay()  : bool
checkNoEarnings()  : bool
checkTransactions()  : bool
checkZeroNetPay()  : bool
clearCacheSavedInTransaction()  : bool
clearData()  : bool
clearGeoCode()  : bool
clearNonMappedData()  : array<string|int, mixed>|null
Removes array elements from $data that are not in the function map.
clearOldData()  : bool
CommitSavePoint()  : bool
CommitTransaction()  : mixed
convertFlexArray()  : array<string|int, mixed>
decodeCustomFields()  : bool
decodeGenericJSONData()  : bool
Decode generic 'other_json' column data.
decodeJSONColumn()  : bool
Decodes JSON columns that are not the 'other_json' column.
Delete()  : bool
Deletes the record directly from the database.
deleteEntries()  : bool
deleteZeroAmountEntries()  : bool
There may be cases where Tax/Deduction records need to do calculations on hours (ie: unpaid absences) when there is no pay, but they need to do other calculations to add pay.
encodeCustomFields()  : bool
encodeGenericJSONData()  : bool
Encode generic 'other_json' column data. This should only be done in Save() after all validation has occurred already and we are just about to commit it to the DB.
encodeJSONColumns()  : bool
Encode any JSON columns that are not 'other_json' column. This should only be done in Save() after all validation has occurred already and we are just about to commit it to the DB.
ExecuteSQL()  : bool
Execute SQL queries and handle paging properly for select statements.
FailTransaction()  : mixed
fromBool()  : bool
fromJSONBool()  : bool
getAffectedRows()  : int|bool
getAPIMessageID()  : bool|null
Used for updating progress bar for API calls.
getCache()  : bool|mixed
getColumn()  : bool|mixed
Generic function get any data from the data array.
getColumnList()  : array<string|int, mixed>|bool
getCompanyGenericMapData()  : mixed
Generic function to return and cache CompanyGenericMap data, this greatly improves performance of CalculatePolicy when many policies exist.
getCreatedAndUpdatedColumns()  : bool
getCreatedBy()  : bool|mixed
getCreatedDate()  : int
getCurrency()  : bool|mixed
getCurrencyObject()  : bool|CurrencyFactory
getCurrencyRate()  : bool|mixed
getCurrent()  : mixed
Grabs the current object
getCurrentRow()  : int|bool
getCustomField()  : void
Get a single custom field by ID.
getCustomFields()  : mixed
getCustomFieldsColumns()  : array<string|int, mixed>
getCustomFieldsDataForObject()  : array<string|int, mixed>
Get custom field data for this specific object, so it can be easily cached in memory without having to go to the database or unserialize it from cache for every row.
getCustomFieldsDefaultData()  : mixed
getCustomFieldsParseHints()  : array<string|int, mixed>
getCustomFieldTableName()  : string
getDataDifferences()  : array<string|int, mixed>
Returns the differences in data from the DB vs the in-memory object, so the data will be the OLD data. Used in Validation/postSave() functions to determine if a field has changed or not.
getDateRangeSQL()  : bool|string
This function takes plain input from the user and creates a SQL statement for filtering based on a date range.
getDeductions()  : bool|int|mixed
getDeductionSum()  : array<string|int, mixed>
getDeleted()  : bool
getDeletedBy()  : bool|mixed
getDeletedDate()  : bool|mixed
getDisplayID()  : bool|mixed
getEarningSum()  : array<string|int, mixed>
getEmployerDeductions()  : bool|int|mixed
getEmployerDeductionSum()  : array<string|int, mixed>
getEmptyRecordSet()  : mixed
getEnableCalcCurrentYTD()  : bool
getEnableCalcYTD()  : bool
getEnableLinkedAccruals()  : bool
getEnableNotification()  : bool
getEnableProcessEntries()  : bool
getEnableProcessTransactions()  : bool
getEnableSyncPendingPayStubTransactionDates()  : bool
getEnableSystemLogDetail()  : bool
getEndDate()  : bool|int
getGenericDataValue()  : bool|mixed
Generic getter/setter functions that should be used when Validation code is moved from get/set functions to Validate() function.
getGenericJSONDataValue()  : bool|mixed
Generic getter/setter functions for handling generic JSON data in 'other_json' SQL column.
getGenericObject()  : object|bool
Generic function to return and cache class objects ListFactory, ListFactoryMethod, Variable, ID, IDMethod
getGenericOldDataValue()  : bool|mixed
getGenericTempDataValue()  : bool
Generic getter/setter functions that should be used when Validation code is moved from get/set functions to Validate() function.
getGrossPay()  : bool|int|mixed
getId()  : bool|mixed
getIDSByListFactory()  : array<string|int, mixed>|bool
getIsReCalculatingYTD()  : bool
getIterator()  : FactoryListIterator
getLabelId()  : bool|mixed|string
getNetPay()  : bool|int|mixed
getNetPaySum()  : array<string|int, mixed>|bool
getNextInsertId()  : bool|string
getObjectAsArray()  : mixed
getOptions()  : array<string|int, mixed>|bool
getPayPeriod()  : bool|mixed
getPayPeriodObject()  : bool|PayPeriodObject
getPayStub()  : bool|string
getPayStubEntryAccountArray()  : bool|mixed
getPayStubEntryAccountLinkObject()  : bool|null
getPayStubEntryAccountsArray()  : array<string|int, mixed>|bool|null
getPermissionColumns()  : bool
getProgressBarObject()  : null|ProgressBar
getRecordCount()  : int|bool
getRun()  : int
getSequenceName()  : bool
getStartDate()  : bool|int
getStatus()  : bool|int
getStatusBy()  : bool|mixed
getStatusDate()  : bool|mixed
getSumByEntriesArrayAndTypeIDAndPayStubAccountID()  : array<string|int, mixed>|bool
getTable()  : bool|string
getTainted()  : bool
getTemp()  : bool
getTotalEntries()  : int
Returns total number of entries on the current pay stub.
getTotalPendingTransactions()  : int
getTotalTransactions()  : int
getTransactionDate()  : bool|int
getTransactionMode()  : string
getTransactionsSum()  : int|string
getType()  : bool|int
getUpdatedBy()  : bool|mixed
getUpdatedDate()  : int
getUser()  : bool|mixed
getUserObject()  : bool|UserFactory
getValidSQLColumns()  : array<string|int, mixed>
getVariableToFunctionMap()  : array<string|int, mixed>|bool
handlePayStubAmendmentStatuses()  : bool
handleSaveSQLReturning()  : bool
Used to handle any "RETURNING ..." clause on a SQL INSERT/UPDATE query.
handleUserExpenseStatuses()  : bool
hasDataChanged()  : bool
Determine if the record data has changed at all.
isAccrualBalanceOutstanding()  : bool
isClientFriendly()  : bool
Check if the remote client is our main UI app controlled by us, vs. a user utilizing the API for example.
isDataDifferent()  : bool
Used to check the differences between a single key in the $old_data vs. $data arrays.
isNew()  : bool
Determines if the data is new data, or updated data. Basically determines if a database INSERT or UPDATE SQL statement is generated.
isSQLExceptionRetryable()  : bool
Determines if a SQL exception is one that can be retried or not.
isUniquePayStub()  : bool|null
isUniquePayStubType()  : bool|null
isValid()  : bool
Call class specific validation function just before saving.
isValidEndDate()  : bool
isValidStartDate()  : bool
isValidTransactionDate()  : bool
isWarning()  : bool
Call class specific validation function just before saving.
loadCurrentPayStubEntries()  : bool
loadCurrentPayStubTransactions()  : bool
loadPreviousPayStub()  : bool
markPayStubEntriesForYTDCalculation()  : bool
modifyInsertQuery()  : mixed
Modifies the automatically generated SQL INSERT query for adding things like " ON CONFLICT ..."
parseCustomFieldsFromArray()  : mixed
postSave()  : bool
prepareEntry()  : array<string|int, mixed>|bool
Prepares the Pay Stub entry for adding.
preSave()  : bool
preValidate()  : bool
processEntries()  : bool
reCalculateCurrentYTD()  : bool
reCalculatePayStubYTD()  : bool
reCalculateYTD()  : bool
removeCache()  : bool
RetryTransaction()  : mixed
Accepts a Closure and is retried at set intervals which should be in a transaction.
rewind()  : bool
Rewinds record set iterator to begining. The same as ADODB's MoveFirst() function.
RollbackSavePoint()  : bool
Save()  : bool|int|string
Determines to insert or update, and does it.
saveCache()  : bool
savePayStubEntries()  : bool
savePayStubTransactions()  : bool
sendNotificationPayStub()  : bool
serializeRS()  : string
Serialize ADODB recordset.
setAPIMessageID()  : bool
setCacheLifeTime()  : bool
setCreatedAndUpdatedColumns()  : bool
setCreatedBy()  : bool
setCreatedDate()  : bool
setCurrency()  : bool
setCurrencyRate()  : bool
Currency exchange rate to convert the amount back to the base currency. Rate=1 would usually only happen if the current currency is the base currency.
setCustomField()  : void
Set a single custom field by ID.
setCustomFields()  : bool
setDefaultDates()  : bool
setDeleted()  : bool
setDeletedBy()  : bool|null
setDeletedDate()  : bool
setEnableCalcCurrentYTD()  : bool
setEnableCalcYTD()  : bool
setEnableLinkedAccruals()  : bool
setEnableNotification()  : bool
setEnableProcessEntries()  : bool
setEnableProcessTransactions()  : bool
setEnableSyncPendingPayStubTransactionDates()  : bool
setEnableSystemLogDetail()  : bool
setEndDate()  : bool
setGenericDataValue()  : bool
setGenericJSONDataValue()  : bool
Generic getter/setter functions for handling generic JSON data in 'other_json' SQL column.
setGenericObject()  : bool
Allow method to pre-populate/overwrite the cache if needed.
setGenericTempDataValue()  : bool
setId()  : bool
setIsReCalculatingYTD()  : bool
setIsValid()  : bool
Sets the is_valid flag, mostly used to set it to FALSE to force a full re-validation.
setObjectFromArray()  : bool
setPayPeriod()  : bool
setProgressBarObject()  : bool
setQueryStatementTimeout()  : bool
setRun()  : bool
setStartDate()  : bool
setStatus()  : bool
setStatusBy()  : bool
setStatusDate()  : bool
setTainted()  : bool
setTemp()  : bool
setTransactionDate()  : bool
setTransactionMode()  : mixed
setType()  : bool
setUpdatedBy()  : bool|null
setUpdatedDate()  : bool|int|null|string
setUser()  : bool
StartSavePoint()  : bool
StartTransaction()  : mixed
syncPendingPayStubTransactionDates()  : bool
toBool()  : int
toJSONBool()  : string
Validate()  : bool
validateCustomFields()  : mixed
ValidateEntries()  : bool
ValidateTransactions()  : bool
castInteger()  : bool|int|string
getColumnsFromAliases()  : array<string|int, mixed>
getCustomFieldWhereSQL()  : string
getDatabaseType()  : string
getListSQL()  : bool|int|string|array<string|int, mixed>
getSortSQL()  : bool|string
getSQLStringAggregate()  : string
getSQLToEpochFunction()  : string
getSQLToTimeFunction()  : string
getSQLToTimeStampFunction()  : string
getWhereClauseSQL()  : null|string
getWhereSQL()  : bool|string
handleSQLSyntax()  : string
SQL where clause Syntax: or % as wildcard.
stripSQLSyntax()  : mixed
getInsertQuery()  : mixed
getRecordSetColumnList()  : array<string|int, mixed>|bool
getUpdateQuery()  : bool
parseColumnName()  : bool|string
Parses out the exact column name, without any aliases, or = signs in it.

Properties

$cache

public Cache_Lite_Function|Cache_Lite_Output $cache = \null

$tmp_data

public mixed $tmp_data = ['previous_pay_stub' => \null, 'current_pay_stub' => \null]

$enable_system_log_detail

protected mixed $enable_system_log_detail = \true

$pay_stub_entry_account_link_obj

protected mixed $pay_stub_entry_account_link_obj = \null

$sync_pending_pay_stub_transaction_dates

private bool $sync_pending_pay_stub_transaction_dates

Methods

__construct()

Factory constructor.

public __construct() : mixed
Return values
mixed

__toString()

Print primary columns from object.

public __toString() : bool|string
Return values
bool|string

_getFactoryOptions()

public _getFactoryOptions(string $name[, null $param = null ]) : array<string|int, mixed>|bool|null
Parameters
$name : string
$param : null = null
Return values
array<string|int, mixed>|bool|null

_getVariableToFunctionMap()

public _getVariableToFunctionMap(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$data : array<string|int, mixed>
Return values
array<string|int, mixed>

addEmployerDeductionSum()

public addEmployerDeductionSum() : bool
Return values
bool

addEntry()

public addEntry(string $pay_stub_entry_account_id,  $amount[, null $units = null ][, null $rate = null ][, null $description = null ][, string $ps_amendment_id = null ][, null $ytd_amount = null ][, null $ytd_units = null ][, bool $ytd_adjustment = false ][, string $user_expense_id = null ]) : bool
Parameters
$pay_stub_entry_account_id : string

UUID

$amount :
$units : null = null
$rate : null = null
$description : null = null
$ps_amendment_id : string = null

UUID

$ytd_amount : null = null
$ytd_units : null = null
$ytd_adjustment : bool = false
$user_expense_id : string = null

UUID

Return values
bool

addLog()

public addLog( $log_action) : bool
Parameters
$log_action :
Return values
bool

addTransaction()

For the api to edit transactions ensure that you validate at the API before calling this method.

public addTransaction(object $pst_obj) : bool
Parameters
$pst_obj : object
Return values
bool

bulkDelete()

public bulkDelete(string|array<string|int, mixed> $ids) : bool
Parameters
$ids : string|array<string|int, mixed>

UUID

Tags
throws
DBError
Return values
bool

CalcDifferences()

public static CalcDifferences(string $pay_stub_id1, string $pay_stub_id2, int $pay_stub_2_end_date[, int $ps_amendment_date = null ]) : bool
Parameters
$pay_stub_id1 : string

UUID

$pay_stub_id2 : string

UUID

$pay_stub_2_end_date : int

EPOCH

$ps_amendment_date : int = null

EPOCH

Return values
bool

calculateDefaultTransactions()

public calculateDefaultTransactions() : bool
Return values
bool

calculateTemporaryTotals()

Calculate the real-time total accounts while the pay stub is being generated. This should allow Tax/Deductions records to calculate based on including/excluding Net Pay.

public calculateTemporaryTotals( $entries) : array<string|int, mixed>

This only needs to work on 'current' PS entries, as previous entries should already have the net pay calculated.

Parameters
$entries :

array

Return values
array<string|int, mixed>

castGenericDataValue()

Generic casting function that all set/get*() functions should pass through.

public castGenericDataValue( &$value,  $cast) : mixed

However for now lets wait until we have meta data from SQL schema so we can pass those datatypes directly into this.

Parameters
$value :

mixed

$cast :

string

Return values
mixed

checkEarnings()

Returns TRUE unless Amount explicitly does not match Gross Pay use checkNoEarnings to see if any earnings exist or not.

public checkEarnings() : bool
Return values
bool

checkIfPayStubOrderChanged()

public checkIfPayStubOrderChanged() : bool
Return values
bool

clearCacheSavedInTransaction()

public clearCacheSavedInTransaction() : bool
Return values
bool

clearData()

public clearData() : bool
Return values
bool

clearGeoCode()

public clearGeoCode([array<string|int, mixed> $data_diff = null ]) : bool
Parameters
$data_diff : array<string|int, mixed> = null
Return values
bool

clearNonMappedData()

Removes array elements from $data that are not in the function map.

public clearNonMappedData([array<string|int, mixed>|null $data = null ]) : array<string|int, mixed>|null
Parameters
$data : array<string|int, mixed>|null = null
Return values
array<string|int, mixed>|null

clearOldData()

public clearOldData() : bool
Return values
bool

CommitSavePoint()

public CommitSavePoint( $name) : bool
Parameters
$name :
Return values
bool

CommitTransaction()

public CommitTransaction([bool $unnest_transactions = false ]) : mixed
Parameters
$unnest_transactions : bool = false
Tags
throws
DBError
Return values
mixed

convertFlexArray()

public convertFlexArray(array<string|int, mixed> $array) : array<string|int, mixed>
Parameters
$array : array<string|int, mixed>
Return values
array<string|int, mixed>

decodeCustomFields()

public decodeCustomFields() : bool
Return values
bool

decodeGenericJSONData()

Decode generic 'other_json' column data.

public decodeGenericJSONData() : bool
Return values
bool

decodeJSONColumn()

Decodes JSON columns that are not the 'other_json' column.

public decodeJSONColumn( $column) : bool
Parameters
$column :
Return values
bool

Delete()

Deletes the record directly from the database.

public Delete([bool $disable_audit_log = false ]) : bool
Parameters
$disable_audit_log : bool = false
Tags
throws
DBError
Return values
bool

deleteEntries()

public deleteEntries([bool $all_entries = false ]) : bool
Parameters
$all_entries : bool = false
Return values
bool

deleteZeroAmountEntries()

There may be cases where Tax/Deduction records need to do calculations on hours (ie: unpaid absences) when there is no pay, but they need to do other calculations to add pay.

public deleteZeroAmountEntries() : bool

So we need to make sure all paid and unpaid time ($0 amounts) from the timesheets still appears on the pay stubs initially, then gets deleted off after all Tax/Deductions are calculated.

Return values
bool

encodeCustomFields()

public encodeCustomFields() : bool
Return values
bool

encodeGenericJSONData()

Encode generic 'other_json' column data. This should only be done in Save() after all validation has occurred already and we are just about to commit it to the DB.

public encodeGenericJSONData() : bool
Return values
bool

encodeJSONColumns()

Encode any JSON columns that are not 'other_json' column. This should only be done in Save() after all validation has occurred already and we are just about to commit it to the DB.

public encodeJSONColumns() : bool
Return values
bool

ExecuteSQL()

Execute SQL queries and handle paging properly for select statements.

public ExecuteSQL(string $query[, array<string|int, mixed> $ph = null ][, int $limit = null ][, int $page = null ]) : bool
Parameters
$query : string
$ph : array<string|int, mixed> = null
$limit : int = null

Limit the number of records returned

$page : int = null

Page number of records to return for pagination

Tags
throws
DBError
throws
Exception
Return values
bool

FailTransaction()

public FailTransaction() : mixed
Return values
mixed

fromBool()

public fromBool(string|int|bool $value) : bool
Parameters
$value : string|int|bool
Return values
bool

fromJSONBool()

public fromJSONBool(string|int|bool $value) : bool
Parameters
$value : string|int|bool
Return values
bool

getAffectedRows()

public getAffectedRows() : int|bool
Return values
int|bool

getAPIMessageID()

Used for updating progress bar for API calls.

public getAPIMessageID() : bool|null
Return values
bool|null

getCache()

public getCache(string $cache_id[, string $group_id = null ]) : bool|mixed
Parameters
$cache_id : string
$group_id : string = null
Return values
bool|mixed

getColumn()

Generic function get any data from the data array.

public getColumn(string $column) : bool|mixed

Used mainly for the reports that return grouped queries and such.

Parameters
$column : string
Return values
bool|mixed

getColumnList()

public getColumnList() : array<string|int, mixed>|bool
Return values
array<string|int, mixed>|bool

getCompanyGenericMapData()

Generic function to return and cache CompanyGenericMap data, this greatly improves performance of CalculatePolicy when many policies exist.

public getCompanyGenericMapData(string $company_id, int $object_type_id, string $id, string $variable) : mixed
Parameters
$company_id : string

UUID

$object_type_id : int
$id : string

UUID

$variable : string
Return values
mixed

getCreatedAndUpdatedColumns()

public getCreatedAndUpdatedColumns(array<string|int, mixed> &$data[, null $include_columns = null ]) : bool
Parameters
$data : array<string|int, mixed>
$include_columns : null = null
Return values
bool

getCreatedBy()

public getCreatedBy() : bool|mixed
Return values
bool|mixed

getCreatedDate()

public getCreatedDate() : int
Return values
int

getCurrent()

Grabs the current object

public final getCurrent() : mixed
Return values
mixed

getCurrentRow()

public getCurrentRow([int $offset = 1 ]) : int|bool
Parameters
$offset : int = 1
Return values
int|bool

getCustomField()

Get a single custom field by ID.

public getCustomField(string $id) : void
Parameters
$id : string

UUID

Return values
void

getCustomFields()

public getCustomFields( $company_id,  $data[,  $include_columns = null ]) : mixed
Parameters
$company_id :
$data :
$include_columns : = null
Return values
mixed

getCustomFieldsColumns()

public getCustomFieldsColumns(array<string|int, mixed> $columns, string $company_id[, bool $use_sort_prefix = true ][, string|null $table_name = null ]) : array<string|int, mixed>
Parameters
$columns : array<string|int, mixed>
$company_id : string
$use_sort_prefix : bool = true
$table_name : string|null = null
Return values
array<string|int, mixed>

getCustomFieldsDataForObject()

Get custom field data for this specific object, so it can be easily cached in memory without having to go to the database or unserialize it from cache for every row.

public getCustomFieldsDataForObject( $company_id[, mixed $table_name = null ]) : array<string|int, mixed>
Parameters
$company_id :
$table_name : mixed = null
Tags
throws
ReflectionException
Return values
array<string|int, mixed>

getCustomFieldsDefaultData()

public getCustomFieldsDefaultData( $company_id,  $data[, bool $get_all_fields = false ]) : mixed
Parameters
$company_id :
$data :
$get_all_fields : bool = false
Return values
mixed

getCustomFieldsParseHints()

public getCustomFieldsParseHints(array<string|int, mixed> $columns, string $company_id, string|null $table_name) : array<string|int, mixed>
Parameters
$columns : array<string|int, mixed>
$company_id : string
$table_name : string|null
Return values
array<string|int, mixed>

getCustomFieldTableName()

public getCustomFieldTableName() : string
Return values
string

getDataDifferences()

Returns the differences in data from the DB vs the in-memory object, so the data will be the OLD data. Used in Validation/postSave() functions to determine if a field has changed or not.

public getDataDifferences() : array<string|int, mixed>
Return values
array<string|int, mixed>

getDateRangeSQL()

This function takes plain input from the user and creates a SQL statement for filtering based on a date range.

public getDateRangeSQL(string $str, string $column[, string $format = 'epoch' ][, bool $include_blank_dates = false ]) : bool|string

Supported Syntax:

=01-Jan-09 <=01-Jan-09 <01-Jan-09 01-Jan-09 01-Jan-09 & <10-Jan-09

Parameters
$str : string
$column : string
$format : string = 'epoch'
$include_blank_dates : bool = false
Return values
bool|string

getDeductions()

public getDeductions() : bool|int|mixed
Return values
bool|int|mixed

getDeductionSum()

public getDeductionSum() : array<string|int, mixed>
Return values
array<string|int, mixed>

getDeleted()

public getDeleted() : bool
Return values
bool

getDeletedBy()

public getDeletedBy() : bool|mixed
Return values
bool|mixed

getDeletedDate()

public getDeletedDate() : bool|mixed
Return values
bool|mixed

getEarningSum()

public getEarningSum() : array<string|int, mixed>
Return values
array<string|int, mixed>

getEmployerDeductions()

public getEmployerDeductions() : bool|int|mixed
Return values
bool|int|mixed

getEmployerDeductionSum()

public getEmployerDeductionSum() : array<string|int, mixed>
Return values
array<string|int, mixed>

getEmptyRecordSet()

public getEmptyRecordSet([string $id = null ]) : mixed
Parameters
$id : string = null

UUID

Tags
throws
DBError
Return values
mixed

getEnableCalcCurrentYTD()

public getEnableCalcCurrentYTD() : bool
Return values
bool

getEnableLinkedAccruals()

public getEnableLinkedAccruals() : bool
Return values
bool

getEnableProcessEntries()

public getEnableProcessEntries() : bool
Return values
bool

getEnableProcessTransactions()

public getEnableProcessTransactions() : bool
Return values
bool

getEnableSyncPendingPayStubTransactionDates()

public getEnableSyncPendingPayStubTransactionDates() : bool
Return values
bool

getEnableSystemLogDetail()

public getEnableSystemLogDetail() : bool
Return values
bool

getEndDate()

public getEndDate([bool $raw = false ]) : bool|int
Parameters
$raw : bool = false
Return values
bool|int

getGenericDataValue()

Generic getter/setter functions that should be used when Validation code is moved from get/set functions to Validate() function.

public getGenericDataValue(string $name[, null $cast = null ]) : bool|mixed
Parameters
$name : string
$cast : null = null
Return values
bool|mixed

getGenericJSONDataValue()

Generic getter/setter functions for handling generic JSON data in 'other_json' SQL column.

public getGenericJSONDataValue(string $name[, null $cast = null ]) : bool|mixed
Parameters
$name : string
$cast : null = null
Return values
bool|mixed

getGenericObject()

Generic function to return and cache class objects ListFactory, ListFactoryMethod, Variable, ID, IDMethod

public getGenericObject(string $list_factory, string|int $id, string $variable[, string $list_factory_method = 'getById' ][, string $id_method = 'getID' ]) : object|bool
Parameters
$list_factory : string
$id : string|int

UUID

$variable : string
$list_factory_method : string = 'getById'
$id_method : string = 'getID'
Return values
object|bool

getGenericOldDataValue()

public getGenericOldDataValue(string $name) : bool|mixed
Parameters
$name : string

Gets data value from old_data array, or the original value in the database, prior to any changes currently in memory.

Return values
bool|mixed

getGenericTempDataValue()

Generic getter/setter functions that should be used when Validation code is moved from get/set functions to Validate() function.

public getGenericTempDataValue(string $name) : bool
Parameters
$name : string
Return values
bool

getId()

public getId() : bool|mixed
Return values
bool|mixed

getIDSByListFactory()

public getIDSByListFactory(object $lf) : array<string|int, mixed>|bool
Parameters
$lf : object
Return values
array<string|int, mixed>|bool

getLabelId()

public getLabelId() : bool|mixed|string
Return values
bool|mixed|string

getNetPaySum()

public getNetPaySum() : array<string|int, mixed>|bool
Return values
array<string|int, mixed>|bool

getNextInsertId()

public getNextInsertId() : bool|string
Return values
bool|string

getObjectAsArray()

public getObjectAsArray([null $include_columns = null ][, bool $permission_children_ids = false ]) : mixed
Parameters
$include_columns : null = null
$permission_children_ids : bool = false
Return values
mixed

getOptions()

public getOptions(string $name[, string|int $parent = null ]) : array<string|int, mixed>|bool
Parameters
$name : string
$parent : string|int = null
Return values
array<string|int, mixed>|bool

getPayPeriodObject()

public getPayPeriodObject() : bool|PayPeriodObject
Return values
bool|PayPeriodObject

getPayStub()

public getPayStub([null $pslf = null ][, bool $hide_employer_rows = true ]) : bool|string
Parameters
$pslf : null = null
$hide_employer_rows : bool = true
Tags
noinspection

PhpUndefinedConstantInspection

Return values
bool|string

getPayStubEntryAccountArray()

public getPayStubEntryAccountArray(string $id) : bool|mixed
Parameters
$id : string

UUID

Return values
bool|mixed

getPayStubEntryAccountLinkObject()

public getPayStubEntryAccountLinkObject() : bool|null
Return values
bool|null

getPayStubEntryAccountsArray()

public getPayStubEntryAccountsArray() : array<string|int, mixed>|bool|null
Return values
array<string|int, mixed>|bool|null

getPermissionColumns()

public getPermissionColumns(array<string|int, mixed> &$data, string $object_user_id, string $created_by_id[, string $permission_children_ids = null ][, array<string|int, mixed> $include_columns = null ]) : bool
Parameters
$data : array<string|int, mixed>
$object_user_id : string

UUID

$created_by_id : string

UUID

$permission_children_ids : string = null

UUID

$include_columns : array<string|int, mixed> = null
Return values
bool

getRecordCount()

public getRecordCount() : int|bool
Return values
int|bool

getSequenceName()

public getSequenceName() : bool
Return values
bool

getStartDate()

public getStartDate([bool $raw = false ]) : bool|int
Parameters
$raw : bool = false
Return values
bool|int

getSumByEntriesArrayAndTypeIDAndPayStubAccountID()

public getSumByEntriesArrayAndTypeIDAndPayStubAccountID( $ps_entries[, int $type_ids = null ][, string $ps_account_ids = null ]) : array<string|int, mixed>|bool
Parameters
$ps_entries :
$type_ids : int = null

ID

$ps_account_ids : string = null

UUID

Return values
array<string|int, mixed>|bool

getTable()

public getTable([bool $strip_quotes = false ]) : bool|string
Parameters
$strip_quotes : bool = false
Return values
bool|string

getTotalEntries()

Returns total number of entries on the current pay stub.

public getTotalEntries() : int
Return values
int

getTotalPendingTransactions()

public getTotalPendingTransactions() : int
Return values
int

getTransactionDate()

public getTransactionDate([bool $raw = false ]) : bool|int
Parameters
$raw : bool = false
Return values
bool|int

getTransactionMode()

public getTransactionMode([bool $force = false ]) : string
Parameters
$force : bool = false
Return values
string

getTransactionsSum()

public getTransactionsSum() : int|string
Return values
int|string

getUpdatedBy()

public getUpdatedBy() : bool|mixed
Return values
bool|mixed

getUpdatedDate()

public getUpdatedDate() : int
Return values
int

getValidSQLColumns()

public getValidSQLColumns(array<string|int, mixed> $array[, bool $strict = true ][, array<string|int, mixed> $additional_fields = null ]) : array<string|int, mixed>
Parameters
$array : array<string|int, mixed>
$strict : bool = true
$additional_fields : array<string|int, mixed> = null
Tags
throws
Exception
Return values
array<string|int, mixed>

getVariableToFunctionMap()

public getVariableToFunctionMap([array<string|int, mixed> $data = null ]) : array<string|int, mixed>|bool
Parameters
$data : array<string|int, mixed> = null
Return values
array<string|int, mixed>|bool

handlePayStubAmendmentStatuses()

public handlePayStubAmendmentStatuses() : bool
Return values
bool

handleSaveSQLReturning()

Used to handle any "RETURNING ..." clause on a SQL INSERT/UPDATE query.

public handleSaveSQLReturning( $rs) : bool
Parameters
$rs :
Return values
bool

handleUserExpenseStatuses()

public handleUserExpenseStatuses() : bool
Return values
bool

hasDataChanged()

Determine if the record data has changed at all.

public hasDataChanged() : bool
Return values
bool

isAccrualBalanceOutstanding()

public isAccrualBalanceOutstanding() : bool
Return values
bool

isClientFriendly()

Check if the remote client is our main UI app controlled by us, vs. a user utilizing the API for example.

public isClientFriendly() : bool

This is mostly used to determine if we can return columns that are resource intensive to compute when obtaining a list. (ie: Users, Jobs)

Return values
bool

isDataDifferent()

Used to check the differences between a single key in the $old_data vs. $data arrays.

public isDataDifferent( $key,  $data_diff[, null $type_id = null ][, null $new_data = null ]) : bool

This is especially important to use when trying to see if a date or timestamp field in the DB has changed, as they need to be handled in special ways.

Parameters
$key :

string

$data_diff :

array

$type_id : null = null

string

$new_data : null = null

mixed

Return values
bool

isNew()

Determines if the data is new data, or updated data. Basically determines if a database INSERT or UPDATE SQL statement is generated.

public isNew([bool $force_lookup = false ][, string $id = null ]) : bool
Parameters
$force_lookup : bool = false
$id : string = null

UUID

Return values
bool

isSQLExceptionRetryable()

Determines if a SQL exception is one that can be retried or not.

public isSQLExceptionRetryable( $e) : bool
Parameters
$e :

Exception

Return values
bool

isUniquePayStubType()

public isUniquePayStubType() : bool|null
Return values
bool|null

isValid()

Call class specific validation function just before saving.

public isValid([bool $ignore_warning = true ]) : bool
Parameters
$ignore_warning : bool = true
Return values
bool

isValidEndDate()

public isValidEndDate(int $epoch) : bool
Parameters
$epoch : int

EPOCH

Return values
bool

isValidStartDate()

public isValidStartDate(int $epoch) : bool
Parameters
$epoch : int

EPOCH

Return values
bool

isValidTransactionDate()

public isValidTransactionDate(int $epoch) : bool
Parameters
$epoch : int

EPOCH

Return values
bool

isWarning()

Call class specific validation function just before saving.

public isWarning() : bool
Return values
bool

loadCurrentPayStubEntries()

public loadCurrentPayStubEntries() : bool
Return values
bool

loadCurrentPayStubTransactions()

public loadCurrentPayStubTransactions() : bool
Return values
bool

markPayStubEntriesForYTDCalculation()

public markPayStubEntriesForYTDCalculation( &$pay_stub_arr[, bool $clear_out_ytd = true ]) : bool
Parameters
$pay_stub_arr :
$clear_out_ytd : bool = true
Return values
bool

modifyInsertQuery()

Modifies the automatically generated SQL INSERT query for adding things like " ON CONFLICT ..."

public modifyInsertQuery( $query) : mixed
Parameters
$query :
Return values
mixed

parseCustomFieldsFromArray()

public parseCustomFieldsFromArray( $data) : mixed
Parameters
$data :
Return values
mixed

prepareEntry()

Prepares the Pay Stub entry for adding.

public prepareEntry(string $pay_stub_entry_account_id,  $amount[, null $units = null ][, null $rate = null ][, null $description = null ][, string $ps_amendment_id = null ][, null $ytd_amount = null ][, null $ytd_units = null ][, bool $ytd_adjustment = false ][, string $user_expense_id = null ]) : array<string|int, mixed>|bool
Parameters
$pay_stub_entry_account_id : string

UUID

$amount :
$units : null = null
$rate : null = null
$description : null = null
$ps_amendment_id : string = null

UUID

$ytd_amount : null = null
$ytd_units : null = null
$ytd_adjustment : bool = false
$user_expense_id : string = null

UUID

Return values
array<string|int, mixed>|bool

reCalculatePayStubYTD()

public reCalculatePayStubYTD(string $pay_stub_id[, bool $enable_notification = false ]) : bool
Parameters
$pay_stub_id : string

UUID

$enable_notification : bool = false
Return values
bool

removeCache()

public removeCache([string $cache_id = null ][, string $group_id = null ]) : bool
Parameters
$cache_id : string = null
$group_id : string = null
Return values
bool

RetryTransaction()

Accepts a Closure and is retried at set intervals which should be in a transaction.

public RetryTransaction( $transaction_function[, int $retry_max_attempts = 4 ][, int $retry_sleep = 1 ]) : mixed
Parameters
$transaction_function :

Closure

$retry_max_attempts : int = 4
$retry_sleep : int = 1

in seconds

Tags
throws
DBError
Return values
mixed

rewind()

Rewinds record set iterator to begining. The same as ADODB's MoveFirst() function.

public final rewind() : bool
Return values
bool

RollbackSavePoint()

public RollbackSavePoint( $name) : bool
Parameters
$name :
Return values
bool

Save()

Determines to insert or update, and does it.

public Save([bool $reset_data = true ][, bool $force_lookup = false ]) : bool|int|string

Have this handle created, createdby, updated, updatedby.

Parameters
$reset_data : bool = true
$force_lookup : bool = false
Tags
throws
DBError
throws
GeneralError
Return values
bool|int|string

saveCache()

public saveCache(mixed $data, string $cache_id[, string $group_id = null ]) : bool
Parameters
$data : mixed
$cache_id : string
$group_id : string = null
Return values
bool

savePayStubTransactions()

public savePayStubTransactions() : bool
Return values
bool

sendNotificationPayStub()

public sendNotificationPayStub() : bool
Return values
bool

serializeRS()

Serialize ADODB recordset.

public serializeRS(object $rs) : string
Parameters
$rs : object
Tags
noinspection

PhpUndefinedConstantInspection

Return values
string

setAPIMessageID()

public setAPIMessageID(string $id) : bool
Parameters
$id : string

UUID

Return values
bool

setCacheLifeTime()

public setCacheLifeTime(int $secs) : bool
Parameters
$secs : int
Return values
bool

setCreatedAndUpdatedColumns()

public setCreatedAndUpdatedColumns(array<string|int, mixed> $data[, array<string|int, mixed> $variable_to_function_map = [] ]) : bool
Parameters
$data : array<string|int, mixed>
$variable_to_function_map : array<string|int, mixed> = []
Return values
bool

setCreatedBy()

public setCreatedBy([string $id = null ]) : bool
Parameters
$id : string = null

UUID

Return values
bool

setCreatedDate()

public setCreatedDate([int $epoch = null ]) : bool
Parameters
$epoch : int = null

EPOCH

Return values
bool

setCurrency()

public setCurrency(string $value) : bool
Parameters
$value : string

UUID

Return values
bool

setCurrencyRate()

Currency exchange rate to convert the amount back to the base currency. Rate=1 would usually only happen if the current currency is the base currency.

public setCurrencyRate( $value) : bool
Parameters
$value :
Return values
bool

setCustomField()

Set a single custom field by ID.

public setCustomField(mixed $value, string $id) : void
Parameters
$value : mixed
$id : string

UUID

Return values
void

setCustomFields()

public setCustomFields( $data) : bool
Parameters
$data :
Return values
bool

setDeleted()

public setDeleted(bool $bool) : bool
Parameters
$bool : bool
Return values
bool

setDeletedBy()

public setDeletedBy([string $id = null ]) : bool|null
Parameters
$id : string = null

UUID

Return values
bool|null

setDeletedDate()

public setDeletedDate([int $epoch = null ]) : bool
Parameters
$epoch : int = null

EPOCH

Return values
bool

setEnableCalcCurrentYTD()

public setEnableCalcCurrentYTD( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableCalcYTD()

public setEnableCalcYTD( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableLinkedAccruals()

public setEnableLinkedAccruals( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableNotification()

public setEnableNotification( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableProcessEntries()

public setEnableProcessEntries( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableProcessTransactions()

public setEnableProcessTransactions( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableSyncPendingPayStubTransactionDates()

public setEnableSyncPendingPayStubTransactionDates( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableSystemLogDetail()

public setEnableSystemLogDetail( $bool) : bool
Parameters
$bool :
Return values
bool

setEndDate()

public setEndDate(int $value) : bool
Parameters
$value : int

EPOCH

Return values
bool

setGenericDataValue()

public setGenericDataValue(string $name, mixed $data[, null $cast = null ]) : bool
Parameters
$name : string
$data : mixed
$cast : null = null
Return values
bool

setGenericJSONDataValue()

Generic getter/setter functions for handling generic JSON data in 'other_json' SQL column.

public setGenericJSONDataValue(string $name, mixed $data[, null $cast = null ]) : bool
Parameters
$name : string
$data : mixed
$cast : null = null
Return values
bool

setGenericObject()

Allow method to pre-populate/overwrite the cache if needed.

public setGenericObject(object $obj, string $variable) : bool
Parameters
$obj : object
$variable : string
Return values
bool

setGenericTempDataValue()

public setGenericTempDataValue(string $name, mixed $data) : bool
Parameters
$name : string
$data : mixed
Return values
bool

setId()

public setId(string $id) : bool
Parameters
$id : string

UUID

Return values
bool

setIsReCalculatingYTD()

public setIsReCalculatingYTD( $bool) : bool
Parameters
$bool :
Return values
bool

setIsValid()

Sets the is_valid flag, mostly used to set it to FALSE to force a full re-validation.

public setIsValid([bool $is_valid = false ]) : bool

Required because $this->is_valid is a private variable and should stay that way.

Parameters
$is_valid : bool = false
Return values
bool

setObjectFromArray()

public setObjectFromArray( $data) : bool
Parameters
$data :
Return values
bool

setPayPeriod()

public setPayPeriod(string $id) : bool
Parameters
$id : string

UUID

Return values
bool

setProgressBarObject()

public setProgressBarObject(object $obj) : bool
Parameters
$obj : object
Return values
bool

setQueryStatementTimeout()

public setQueryStatementTimeout([null $milliseconds = null ]) : bool
Parameters
$milliseconds : null = null
Return values
bool

setRun()

public setRun(string $id) : bool
Parameters
$id : string

UUID

Return values
bool

setStartDate()

public setStartDate(int $value) : bool
Parameters
$value : int

EPOCH

Return values
bool

setStatus()

public setStatus( $value) : bool
Parameters
$value :
Return values
bool

setStatusBy()

public setStatusBy([string $value = null ]) : bool
Parameters
$value : string = null

UUID

Return values
bool

setStatusDate()

public setStatusDate([int $value = null ]) : bool
Parameters
$value : int = null

EPOCH

Return values
bool

setTainted()

public setTainted( $value) : bool
Parameters
$value :
Return values
bool

setTransactionDate()

public setTransactionDate(int $epoch) : bool
Parameters
$epoch : int

EPOCH

Return values
bool

setTransactionMode()

public setTransactionMode([string $mode = '' ]) : mixed
Parameters
$mode : string = ''
Return values
mixed

setUpdatedBy()

public setUpdatedBy([string $id = null ]) : bool|null
Parameters
$id : string = null

UUID

Return values
bool|null

setUpdatedDate()

public setUpdatedDate([int $epoch = null ]) : bool|int|null|string
Parameters
$epoch : int = null

EPOCH

Return values
bool|int|null|string

setUser()

public setUser(string $id) : bool
Parameters
$id : string

UUID

Return values
bool

StartSavePoint()

public StartSavePoint( $name) : bool
Parameters
$name :
Return values
bool

StartTransaction()

public StartTransaction() : mixed
Return values
mixed

syncPendingPayStubTransactionDates()

public syncPendingPayStubTransactionDates(mixed $data_diff) : bool
Parameters
$data_diff : mixed
Return values
bool

toBool()

public toBool(string|int|bool $value) : int
Parameters
$value : string|int|bool
Return values
int

toJSONBool()

public toJSONBool(string|int|bool $value) : string
Parameters
$value : string|int|bool
Return values
string

Validate()

public Validate([bool $ignore_warning = true ]) : bool
Parameters
$ignore_warning : bool = true
Return values
bool

validateCustomFields()

public validateCustomFields(mixed $company_id[, mixed $enable_required_field_check = true ]) : mixed
Parameters
$company_id : mixed
$enable_required_field_check : mixed = true
Return values
mixed

castInteger()

protected castInteger(int|string $int[, string $type = 'int' ]) : bool|int|string
Parameters
$int : int|string
$type : string = 'int'
Return values
bool|int|string

getColumnsFromAliases()

protected getColumnsFromAliases(array<string|int, mixed> $columns, array<string|int, mixed> $aliases) : array<string|int, mixed>
Parameters
$columns : array<string|int, mixed>
$aliases : array<string|int, mixed>
Return values
array<string|int, mixed>

getCustomFieldWhereSQL()

protected getCustomFieldWhereSQL(mixed $company_id, mixed $column, array<string|int, mixed> $filter_data, array<string|int, mixed> &$ph) : string
Parameters
$company_id : mixed
$column : mixed
$filter_data : array<string|int, mixed>
$ph : array<string|int, mixed>
Return values
string

getDatabaseType()

protected getDatabaseType() : string
Return values
string

getListSQL()

protected getListSQL(array<string|int, mixed>|string|int $array[, array<string|int, mixed> &$ph = null ][, string|bool $cast = false ]) : bool|int|string|array<string|int, mixed>
Parameters
$array : array<string|int, mixed>|string|int
$ph : array<string|int, mixed> = null
$cast : string|bool = false
Return values
bool|int|string|array<string|int, mixed>

getSortSQL()

protected getSortSQL(array<string|int, mixed> $array[, bool $strict = true ][, array<string|int, mixed> $additional_fields = null ]) : bool|string
Parameters
$array : array<string|int, mixed>
$strict : bool = true
$additional_fields : array<string|int, mixed> = null
Return values
bool|string

getSQLStringAggregate()

protected getSQLStringAggregate(string $sql, string $glue) : string
Parameters
$sql : string
$glue : string
Return values
string

getSQLToEpochFunction()

protected getSQLToEpochFunction(string $sql) : string
Parameters
$sql : string
Return values
string

getSQLToTimeFunction()

protected getSQLToTimeFunction(string $sql) : string
Parameters
$sql : string
Return values
string

getSQLToTimeStampFunction()

protected getSQLToTimeStampFunction() : string
Return values
string

getWhereClauseSQL()

protected getWhereClauseSQL(array<string|int, mixed>|string $columns, array<string|int, mixed>|string $args, string $type, array<string|int, mixed> &$ph[, string $query_stub = null ][, bool $and = true ]) : null|string
Parameters
$columns : array<string|int, mixed>|string
$args : array<string|int, mixed>|string
$type : string
$ph : array<string|int, mixed>
$query_stub : string = null
$and : bool = true
Tags
noinspection

PhpParamsInspection

Return values
null|string

getWhereSQL()

protected getWhereSQL(array<string|int, mixed> $array[, bool $append_where = false ]) : bool|string
Parameters
$array : array<string|int, mixed>
$append_where : bool = false
Return values
bool|string

handleSQLSyntax()

SQL where clause Syntax: or % as wildcard.

protected handleSQLSyntax(string $arg) : string

"" as exact match, no default wildcard and no metaphone

Handles '*' and '%' as wildcards, defaults to wildcard on the end always. If no wildcard is to be added, the last character should be |

Parameters
$arg : string
Return values
string

stripSQLSyntax()

protected stripSQLSyntax(string $arg) : mixed
Parameters
$arg : string
Return values
mixed

getInsertQuery()

private getInsertQuery() : mixed
Return values
mixed

getRecordSetColumnList()

private getRecordSetColumnList(object $rs) : array<string|int, mixed>|bool
Parameters
$rs : object
Return values
array<string|int, mixed>|bool

parseColumnName()

Parses out the exact column name, without any aliases, or = signs in it.

private parseColumnName(string $column) : bool|string
Parameters
$column : string
Return values
bool|string

Search results