loadQuery(DeliveryNoteRepositoryQuery::class); } public function getDefaultOptionsSearch(): array { return [ self::WITH => [], self::JOIN_WITH => ['user AS user_delivery_note', 'producer'], self::ORDER_BY => 'date ASC', self::ATTRIBUTE_ID_PRODUCER => 'delivery_note.id_producer' ]; } public function findOneDeliveryNoteById(int $id): ?DeliveryNote { return $this->createDefaultQuery() ->filterById($id) ->findOne(); } public function getOneDeliveryNoteExistingFromOrders(array $ordersArray): ?DeliveryNote { $i = 0; $deliveryNote = null; do { $order = $ordersArray[$i]; if ($order->distribution->id_producer == $this->getProducerContextId() && $order->id_delivery_note > 0) { $deliveryNote = $this->findOneDeliveryNoteById($order->id_delivery_note); } $i++; } while ($deliveryNote == null && isset($ordersArray[$i])); return $deliveryNote; } public function findOneDeliveryNoteByOrder(Order $order): ?DeliveryNote { $deliveryNoteExist = null; if ($order->id_delivery_note) { $deliveryNoteExist = $this->findOneDeliveryNoteById($order->id_delivery_note); } return $deliveryNoteExist; } }