Logidav Docs

ProductAutoEndListener
in package

Table of Contents

Properties

$connection  : mixed
$container  : mixed
$logger  : mixed
$rabbitMqService  : mixed

Methods

__construct()  : mixed
getRealQty()  : mixed
Retrieves the real quantity from a consolidation value or directly returns the provided quantity.
onProductAutoEnd()  : mixed
getProductCompositionRealQty()  : int
Calculates the real quantity of product composition based on the parent product quantity and composition quantity.
isProductAutoEndToForce()  : array<string|int, mixed>
Determines if a product should be automatically marked as "end to force" based on its composition and database details.
processComposedProducts()  : array<string|int, mixed>|null
Processes composed products based on their composition offer and determines product quantities and auto-end state.

Properties

Methods

__construct()

public __construct(LoggerInterface $logger, RabbitMqService $rabbitMqService, ContainerInterface $container, Connection $connection) : mixed
Parameters
$logger : LoggerInterface
$rabbitMqService : RabbitMqService
$container : ContainerInterface
$connection : Connection

getRealQty()

Retrieves the real quantity from a consolidation value or directly returns the provided quantity.

public getRealQty(mixed $consolidationQty, mixed $qty) : mixed
Parameters
$consolidationQty : mixed

A possible JSON string containing quantity information.

$qty : mixed

The default quantity to return if consolidationQty is not utilized.

Return values
mixed —

The resolved quantity based on consolidation data or the provided quantity.

getProductCompositionRealQty()

Calculates the real quantity of product composition based on the parent product quantity and composition quantity.

private getProductCompositionRealQty(int $parentProductQty, int $compositionQty) : int
Parameters
$parentProductQty : int

The quantity of the parent product.

$compositionQty : int

The quantity required for one composition.

Return values
int —

The calculated real quantity of product composition, or 0 if the parent product quantity is less than the composition quantity.

isProductAutoEndToForce()

Determines if a product should be automatically marked as "end to force" based on its composition and database details.

private isProductAutoEndToForce(array<string|int, mixed> $productsComposition) : array<string|int, mixed>
Parameters
$productsComposition : array<string|int, mixed>

An array of product SKUs representing the product composition.

Return values
array<string|int, mixed> —

An associative array containing:

  • 'isAutoEnd' (bool): Indicates whether the product is set to auto-end.
  • 'qty' (int|null): The quantity of the product, or null if not applicable.
  • 'consolidation_qty' (int|null): The consolidation quantity of the product, if available.

processComposedProducts()

Processes composed products based on their composition offer and determines product quantities and auto-end state.

private processComposedProducts(string $productCompositionOffre) : array<string|int, mixed>|null
Parameters
$productCompositionOffre : string

The string representation of product composition, where items are separated by semicolons.

Return values
array<string|int, mixed>|null —

An array containing 'isAutoEnd' status and calculated 'realQty' if composition processing results in auto-end, or null otherwise.


        
On this page

Search results