Commit 71adb10a authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Synchro : déclenchement d'un événement Laminas permettant de réagir aux...

Synchro : déclenchement d'un événement Laminas permettant de réagir aux changements de valeurs déclarés dans IMPORT_OBSERV.
parent 7ab05e82
Loading
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
Changelog
=========

8.1.0
-----
- Synchro : déclenchement d'un événement Laminas permettant de réagir aux changements de valeurs déclarés dans IMPORT_OBSERV.

8.0.1
-----
- [FIX] Correction de la config de l'autoloading psr-0.
+19 −8
Original line number Diff line number Diff line
@@ -566,15 +566,9 @@ EOS;
     */
    public function generateSQLForInsertionIntoImportObservResult(DestinationInterface $destination, array $importObservRows): string
    {
        $where = $destination->getWhere();
        $now = $this->platform->getNowExpression();

        $selects = [];
        foreach ($importObservRows as $importObservRow) {
            $selects[] = $this->generateSQLForSelectingDiffViewFromImportObservRow($importObservRow, $where);
        }
        $selects = implode(PHP_EOL . 'UNION ALL' . PHP_EOL, $selects);
        $selects = $this->generateSQLForSelectingDiffViewFromImportObservRows($destination, $importObservRows);

        $now = $this->platform->getNowExpression();
        $nextval = $this->tableHelper->generateSQLForSequenceNextVal('import_observ_result_id_seq');

        return <<<EOS
@@ -586,4 +580,21 @@ select $nextval, $now, import_observ_id, source_id, source_code, detail
from tmp
EOS;
    }

    /**
     * @param DestinationInterface $destination
     * @param array $importObservRows
     * @return string
     */
    public function generateSQLForSelectingDiffViewFromImportObservRows(DestinationInterface $destination, array $importObservRows): string
    {
        $where = $destination->getWhere();

        $selects = [];
        foreach ($importObservRows as $importObservRow) {
            $selects[] = $this->generateSQLForSelectingDiffViewFromImportObservRow($importObservRow, $where);
        }

        return implode(PHP_EOL . 'UNION ALL' . PHP_EOL, $selects);
    }
}
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -12,5 +12,5 @@ abstract class AbstractService
    /**
     * @return EntityRepository
     */
    abstract protected function getRepository(): EntityRepository;
    abstract public function getRepository(): EntityRepository;
}
+2 −12
Original line number Diff line number Diff line
@@ -2,21 +2,11 @@

namespace UnicaenDbImport\Entity\Db\Service\ImportObservResult;

/**
 * @author Unicaen
 */
trait ImportObservResultServiceAwareTrait
{
    /**
     * @var ImportObservResultService
     */
    protected $importObservResultService;
    protected ImportObservResultService $importObservResultService;

    /**
     * @param ImportObservResultService $importObservResultService
     * @return void
     */
    public function setImportObservResultService(ImportObservResultService $importObservResultService)
    public function setImportObservResultService(ImportObservResultService $importObservResultService): void
    {
        $this->importObservResultService = $importObservResultService;
    }
+25 −0
Original line number Diff line number Diff line
<?php

namespace UnicaenDbImport\Event;

use Laminas\EventManager\Event;

class ImportObservEvent extends Event
{
    public const EVENT_NAME = 'import_observ';

    protected $name = self::EVENT_NAME;

    protected array $diffViewRows;

    public function setDiffViewRows(array $diffViewRows): self
    {
        $this->diffViewRows = $diffViewRows;
        return $this;
    }

    public function getDiffViewRows(): array
    {
        return $this->diffViewRows;
    }
}
 No newline at end of file
Loading