ReportFactRepository
in package
A repository class responsible for retrieving and normalizing fact data for reports.
Table of Contents
Properties
Methods
- __construct() : mixed
- getFactsForReport() : array<string|int, mixed>
- Retrieves a list of facts for a report based on the specified company plant and taxonomy version.
- derivePeriodEnd() : string|null
- Derives the end date of the year based on the provided date.
- derivePeriodStart() : string|null
- Derives the start of the period based on the provided date.
- extractValue() : array<string|int, mixed>|null
- Extracts and formats the value details from a given data row.
- mapUnitCodeToMeasure() : string
- Maps a given unit code to its corresponding measure representation.
- normalizeDate() : string|null
- Normalizes the given value to a date string in the format 'YYYY-MM-DD'.
- normalizeFactRow() : array<string|int, mixed>|null
- Normalizes a fact row by extracting and transforming relevant data into a structured array.
- normalizeNumeric() : string
- Normalizes the given value to a numeric string representation.
Properties
$mySql
private
MySql
$mySql
Methods
__construct()
public
__construct(MySql $mySql) : mixed
Parameters
- $mySql : MySql
getFactsForReport()
Retrieves a list of facts for a report based on the specified company plant and taxonomy version.
public
getFactsForReport(int $companyPlantId, int $taxonomyVersionId[, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>
Parameters
- $companyPlantId : int
-
The ID of the company plant for which facts are to be retrieved.
- $taxonomyVersionId : int
-
The ID of the taxonomy version to filter the facts.
- $options : array<string|int, mixed> = []
-
Optional parameters, which may include:
- 'entity_identifier' (string): The entity identifier to use, defaults to '529900PLACEHOLDER'.
- 'entity_scheme' (string): The entity scheme to use, defaults to 'http://standards.iso.org/iso/17442'.
Return values
array<string|int, mixed> —An array of normalized fact data for the specified company plant and taxonomy version.
derivePeriodEnd()
Derives the end date of the year based on the provided date.
private
derivePeriodEnd(string|null $date) : string|null
Parameters
- $date : string|null
-
The input date in the format 'YYYY-MM-DD' or null.
Return values
string|null —The derived end date in the format 'YYYY-12-31' or null if input date is null.
derivePeriodStart()
Derives the start of the period based on the provided date.
private
derivePeriodStart(string|null $date) : string|null
Parameters
- $date : string|null
-
The input date in the format 'YYYY-MM-DD' or null.
Return values
string|null —The start of the period in the format 'YYYY-01-01', or null if the input is null.
extractValue()
Extracts and formats the value details from a given data row.
private
extractValue(array<string|int, mixed> $row) : array<string|int, mixed>|null
Parameters
- $row : array<string|int, mixed>
-
The data row containing various amount and unit fields.
Return values
array<string|int, mixed>|null —An associative array containing 'value', 'decimals', and 'unit_measure' if a valid value exists, or null if no value can be extracted.
mapUnitCodeToMeasure()
Maps a given unit code to its corresponding measure representation.
private
mapUnitCodeToMeasure(string $unitCode) : string
Parameters
- $unitCode : string
-
The unit code to be mapped. It is case-insensitive and can include codes such as 'EUR', 'USD', 'GBP', or empty strings.
Return values
string —The mapped measure representation, such as 'xbrli:pure' for pure units, 'iso4217:EUR' for Euros, or a formatted unit when no predefined mapping exists.
normalizeDate()
Normalizes the given value to a date string in the format 'YYYY-MM-DD'.
private
normalizeDate(mixed $value) : string|null
Parameters
- $value : mixed
-
The value to be normalized. Can be null, an empty string, or any value that can be cast to a string.
Return values
string|null —The normalized date string if the value is valid, or null if the value is null or an empty string.
normalizeFactRow()
Normalizes a fact row by extracting and transforming relevant data into a structured array.
private
normalizeFactRow(array<string|int, mixed> $row, string $entityIdentifier, string $entityScheme) : array<string|int, mixed>|null
Parameters
- $row : array<string|int, mixed>
-
The raw data row containing fact information.
- $entityIdentifier : string
-
The identifier of the entity associated with the fact.
- $entityScheme : string
-
The scheme or type of the entity associated with the fact.
Return values
array<string|int, mixed>|null —The normalized fact row as an associative array, or null if the row cannot be normalized.
normalizeNumeric()
Normalizes the given value to a numeric string representation.
private
normalizeNumeric(mixed $value) : string
Parameters
- $value : mixed
-
The value to normalize. It can be of any type, including null, string, or numeric.
Return values
string —The normalized numeric string representation of the given value.