Commit 0657f153 authored by Antony Le Courtes's avatar Antony Le Courtes
Browse files

- Volume horaire mission, source code devient not null, avec un uniqid

- Changement de la ddl
- Mise en place d'un script de migration pour mettre une valeur dans source code avec l'update de la bdd
parent 51c3bce1
Loading
Loading
Loading
Loading
+44 −0
Original line number Diff line number Diff line
<?php





class v23UpdateVolumeHoraireMission extends AbstractMigration
{

    public function description(): string
    {
        return "Mise à jour du source code sur les volumes horaires mission";
    }



    public function utile(): bool
    {
        $c   = $this->manager->getOseAdmin()->console();
        $bdd = $this->manager->getBdd();
        //Si j'ai des source_code null dans la table volume_horaire_missions
        if ($this->manager->has('table', 'VOLUME_HORAIRE_MISSIONS')) {
            $result = $bdd->select("SELECT id FROM volume_horaire_mission where source_code IS NULL");
            if (!empty($result)) {
                return true;
            }
        }

        return false;
    }



    public function before()
    {
        $c   = $this->manager->getOseAdmin()->console();
        $bdd = $this->manager->getBdd();

        //On met à jour le source code avec la valeur de l'id de la ligne qui lui doit être unique
        $c->println("Update source code avec une valeur unique");
        $sqlUpdateSourceCode = "UPDATE volume_horaire_mission SET source_code  = id WHERE source_code IS NULL";
        $bdd->exec($sqlUpdateSourceCode);
    }
}
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -196,7 +196,7 @@ return [
            'length'      => 100,
            'scale'       => NULL,
            'precision'   => NULL,
            'nullable'    => TRUE,
            'nullable'    => FALSE,
            'default'     => NULL,
            'position'    => 9,
            'commentaire' => NULL,
+13 −10
Original line number Diff line number Diff line
@@ -172,6 +172,9 @@ class MissionService extends AbstractEntityService
        if (!$vhm->getSource()) {
            $vhm->setSource($this->getServiceSource()->getOse());
        }
        if (!$vhm->getSourceCode()) {
            $vhm->setSourceCode(uniqid());
        }

        if ($vhm->getTypeVolumeHoraire()->isRealise() && $vhm->estNonHistorise()) {
            if ($vhm->getHoraireFin() < $vhm->getMission()->getDateDebut()) {