Loading admin/migration/v20ModeEnseignement.php +15 −108 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ class v20ModeEnseignement extends AbstractMigration public function utile(): bool { return true; return $this->manager->hasNewColumn('STATUT', 'MODE_REFERENTIEL_REALISE'); } Loading @@ -30,131 +28,40 @@ class v20ModeEnseignement extends AbstractMigration $c = $this->manager->getOseAdmin()->getConsole(); $bdd = $this->manager->getBdd(); $c->begin("Migration des modes de saisie sur le statut"); $c->println("Sauvegarde de la table paramètres"); //Sauvegarde de la table paramètre $this->manager->sauvegarderTable('PARAMETRE', 'SAVE_PARAMETRE'); //On met à jour les statuts } public function after() { echo 'test'; $c = $this->manager->getOseAdmin()->getConsole(); $bdd = $this->manager->getBdd(); //On récupère le paramètrage par défaut des modes de saisi des enseignements $modes = $bdd->select("SELECT nom, valeur FROM SAVE_PARAMETRE WHERE nom IN ('modalite_services_prev_ens', 'modalite_services_real_ens')"); //$c->printArray($modes); foreach ($modes as $mode) { //On met à jour le mode previsionnel au niveau des statuts if ($mode['NOM'] = 'modalite_services_prev_ens') { if ($mode['NOM'] == 'modalite_services_prev_ens') { $val = $mode['VALEUR']; $c->msg('Mise à jour du mode prévisionnel sur les statuts : ' . $val); $sqlUpdate = "UPDATE statut SET mode_service_previsionnel = '" . $val . "'"; // $bdd->exec($sqlUpdate); $c->println('Mise à jour du mode prévisionnel sur les statuts : ' . $val); $sqlUpdate = "UPDATE statut SET MODE_ENSEIGNEMENT_PREVISIONNEL = '" . $val . "'"; $c->println($sqlUpdate); $bdd->exec($sqlUpdate); } //On met à jour le mode realiser au niveau des statuts if ($mode['NOM'] = 'modalite_services_prev_ens') { if ($mode['NOM'] == 'modalite_services_real_ens') { $val = $mode['VALEUR']; $c->msg('Mise à jour du mode prévisionnel sur les statuts : ' . $val); $sqlUpdate = "UPDATE statut SET mode_service_realise = '" . $val . "'"; // $bdd->exec($sqlUpdate); } } $c->end("Fin migration des modes de saisie sur le statut"); } /* public function after() { $c = $this->manager->getOseAdmin()->getConsole(); $bdd = $this->manager->getBdd(); $c->begin("Convertion des contrats de travail en états de sortie"); $this->manager->sauvegarderTable('MODELE_CONTRAT', 'SAVE_MODELE_CONTRAT'); // On supprime l'ancienne table afin de ne jamais recommencer la migration, puis on travaille sur la sauvegarde $bdd->table()->drop('MODELE_CONTRAT'); $modeles = $bdd->select("SELECT * FROM SAVE_MODELE_CONTRAT"); $c->println('Mise à jour du mode prévisionnel sur les statuts : ' . $val); $sqlUpdate = "UPDATE statut SET MODE_ENSEIGNEMENT_REALISE = '" . $val . "'"; $etatsSortie = []; $statuts = []; $sts = $bdd->select('select distinct code from statut WHERE histo_destruction IS NULL'); foreach ($sts as $st) { $statuts[$st['CODE']] = null; } foreach ($modeles as $modele) { $id = (int)$modele['ID']; $code = 'CONTRAT_' . $id; $libelle = 'Contrat de travail - ' . $modele['LIBELLE']; $statutId = $modele['STATUT_ID'] ? (int)$modele['STATUT_ID'] : null; $fichier = $modele['FICHIER']; $requete = $modele['REQUETE'] ?: 'SELECT * FROM v_contrat_main'; if ($statutId) { $statutCode = $bdd->select("SELECT code FROM statut WHERE id = $statutId")[0]['CODE']; $statuts[$statutCode] = $code; } else { $statutCode = null; foreach ($statuts as $scode => $sc) { if (empty($sc)) { $statuts[$scode] = $code; } $c->println($sqlUpdate); $bdd->exec($sqlUpdate); } } $etatSortie = [ 'CODE' => $code, 'LIBELLE' => $libelle, 'FICHIER' => $fichier, 'REQUETE' => $requete, 'PDF_TRAITEMENT' => '$mainData = reset($data); $data = []; $exemplaires = []; for ($i = 1; $i <= 3; $i++) { $exemplaire = $mainData[\'exemplaire\' . $i] ?? \'0\'; if ($exemplaire !== \'0\') { $exemplaires[$i] = $exemplaire; } unset($mainData[\'exemplaire\' . $i]); $c->println("Fin migration des modes de saisie sur le statut"); } foreach ($exemplaires as $exemplaire) { $newExemplaire = $mainData; $newExemplaire[\'exemplaire\'] = $exemplaire; $data[] = $newExemplaire; } return $data;', 'CLE' => 'CONTRAT_ID', 'BLOC1_NOM' => 'serviceCode', 'BLOC1_ZONE' => 'table:table-row', 'BLOC1_REQUETE' => 'SELECT * FROM V_CONTRAT_SERVICES', ]; $etatsSortie[] = $etatSortie; } $c->msg("Création des nouveaux états"); foreach ($etatsSortie as $etatSortie) { $bdd->getTable('ETAT_SORTIE')->insert($etatSortie); foreach ($statuts as $scode => $setat) { if ($setat === $etatSortie['CODE']) { $statuts[$scode] = $etatSortie['ID']; } } } $c->msg("Configuration des statuts"); foreach ($statuts as $scode => $modeleId) { $bdd->exec("UPDATE STATUT SET contrat_etat_sortie_id = $modeleId WHERE CODE = :code", ['code' => $scode]); } $c->end("Convertion terminée"); }*/ } No newline at end of file Loading
admin/migration/v20ModeEnseignement.php +15 −108 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ class v20ModeEnseignement extends AbstractMigration public function utile(): bool { return true; return $this->manager->hasNewColumn('STATUT', 'MODE_REFERENTIEL_REALISE'); } Loading @@ -30,131 +28,40 @@ class v20ModeEnseignement extends AbstractMigration $c = $this->manager->getOseAdmin()->getConsole(); $bdd = $this->manager->getBdd(); $c->begin("Migration des modes de saisie sur le statut"); $c->println("Sauvegarde de la table paramètres"); //Sauvegarde de la table paramètre $this->manager->sauvegarderTable('PARAMETRE', 'SAVE_PARAMETRE'); //On met à jour les statuts } public function after() { echo 'test'; $c = $this->manager->getOseAdmin()->getConsole(); $bdd = $this->manager->getBdd(); //On récupère le paramètrage par défaut des modes de saisi des enseignements $modes = $bdd->select("SELECT nom, valeur FROM SAVE_PARAMETRE WHERE nom IN ('modalite_services_prev_ens', 'modalite_services_real_ens')"); //$c->printArray($modes); foreach ($modes as $mode) { //On met à jour le mode previsionnel au niveau des statuts if ($mode['NOM'] = 'modalite_services_prev_ens') { if ($mode['NOM'] == 'modalite_services_prev_ens') { $val = $mode['VALEUR']; $c->msg('Mise à jour du mode prévisionnel sur les statuts : ' . $val); $sqlUpdate = "UPDATE statut SET mode_service_previsionnel = '" . $val . "'"; // $bdd->exec($sqlUpdate); $c->println('Mise à jour du mode prévisionnel sur les statuts : ' . $val); $sqlUpdate = "UPDATE statut SET MODE_ENSEIGNEMENT_PREVISIONNEL = '" . $val . "'"; $c->println($sqlUpdate); $bdd->exec($sqlUpdate); } //On met à jour le mode realiser au niveau des statuts if ($mode['NOM'] = 'modalite_services_prev_ens') { if ($mode['NOM'] == 'modalite_services_real_ens') { $val = $mode['VALEUR']; $c->msg('Mise à jour du mode prévisionnel sur les statuts : ' . $val); $sqlUpdate = "UPDATE statut SET mode_service_realise = '" . $val . "'"; // $bdd->exec($sqlUpdate); } } $c->end("Fin migration des modes de saisie sur le statut"); } /* public function after() { $c = $this->manager->getOseAdmin()->getConsole(); $bdd = $this->manager->getBdd(); $c->begin("Convertion des contrats de travail en états de sortie"); $this->manager->sauvegarderTable('MODELE_CONTRAT', 'SAVE_MODELE_CONTRAT'); // On supprime l'ancienne table afin de ne jamais recommencer la migration, puis on travaille sur la sauvegarde $bdd->table()->drop('MODELE_CONTRAT'); $modeles = $bdd->select("SELECT * FROM SAVE_MODELE_CONTRAT"); $c->println('Mise à jour du mode prévisionnel sur les statuts : ' . $val); $sqlUpdate = "UPDATE statut SET MODE_ENSEIGNEMENT_REALISE = '" . $val . "'"; $etatsSortie = []; $statuts = []; $sts = $bdd->select('select distinct code from statut WHERE histo_destruction IS NULL'); foreach ($sts as $st) { $statuts[$st['CODE']] = null; } foreach ($modeles as $modele) { $id = (int)$modele['ID']; $code = 'CONTRAT_' . $id; $libelle = 'Contrat de travail - ' . $modele['LIBELLE']; $statutId = $modele['STATUT_ID'] ? (int)$modele['STATUT_ID'] : null; $fichier = $modele['FICHIER']; $requete = $modele['REQUETE'] ?: 'SELECT * FROM v_contrat_main'; if ($statutId) { $statutCode = $bdd->select("SELECT code FROM statut WHERE id = $statutId")[0]['CODE']; $statuts[$statutCode] = $code; } else { $statutCode = null; foreach ($statuts as $scode => $sc) { if (empty($sc)) { $statuts[$scode] = $code; } $c->println($sqlUpdate); $bdd->exec($sqlUpdate); } } $etatSortie = [ 'CODE' => $code, 'LIBELLE' => $libelle, 'FICHIER' => $fichier, 'REQUETE' => $requete, 'PDF_TRAITEMENT' => '$mainData = reset($data); $data = []; $exemplaires = []; for ($i = 1; $i <= 3; $i++) { $exemplaire = $mainData[\'exemplaire\' . $i] ?? \'0\'; if ($exemplaire !== \'0\') { $exemplaires[$i] = $exemplaire; } unset($mainData[\'exemplaire\' . $i]); $c->println("Fin migration des modes de saisie sur le statut"); } foreach ($exemplaires as $exemplaire) { $newExemplaire = $mainData; $newExemplaire[\'exemplaire\'] = $exemplaire; $data[] = $newExemplaire; } return $data;', 'CLE' => 'CONTRAT_ID', 'BLOC1_NOM' => 'serviceCode', 'BLOC1_ZONE' => 'table:table-row', 'BLOC1_REQUETE' => 'SELECT * FROM V_CONTRAT_SERVICES', ]; $etatsSortie[] = $etatSortie; } $c->msg("Création des nouveaux états"); foreach ($etatsSortie as $etatSortie) { $bdd->getTable('ETAT_SORTIE')->insert($etatSortie); foreach ($statuts as $scode => $setat) { if ($setat === $etatSortie['CODE']) { $statuts[$scode] = $etatSortie['ID']; } } } $c->msg("Configuration des statuts"); foreach ($statuts as $scode => $modeleId) { $bdd->exec("UPDATE STATUT SET contrat_etat_sortie_id = $modeleId WHERE CODE = :code", ['code' => $scode]); } $c->end("Convertion terminée"); }*/ } No newline at end of file