Commit 080e0c90 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Merge branch 'master' of https://git.unicaen.fr/open-source/OSE into ll-bddadmin

 Conflicts:
	admin/actions/update-employeur.php
	admin/src/DataGen.php
	code/test5.php
	composer.lock
parents fb334193 0c0a7678
Loading
Loading
Loading
Loading
+128 −4
Original line number Diff line number Diff line
# Version stable

[OSE 18.2](#ose-182-15062022)
[OSE 19.4](#ose-194-21102022)

# OSE 19 (à venir)

# OSE 20 (à venir)

## Nouveautés

* Les modèles de contrats de travail sont maintenant gérés comme n'importe quel autre état de sortie
* Reconduction de l'offre de formation pour les éléments de OSE porté par un élément synchroniser
* Possibilité de rentrer un taux de charge par statut d'intervenant
* Ajout d'un choix par statut pour "contrat de travail et avenants" pour laisser la possibilité à l'intervenant de télécharger sont contrat en pdf
* Ajout d'un choix par statut pour "Modifications de service dû" pour laisser la possibilité à l'intervenant de modifier son service dû
* Migration technnique vers le framework Bootstrap 5 et modernisation de l'identité visuelle

## Corrections de bugs

* Sur la page "Services", la sélection d'un élément après selection d'une composante et d'une formation est désormais fonctionnel
* Correction des indicateur 910 et 920 qui étaient non fonctionnels dans le cas d'une autovalidation ou d'une absence de contrat
* Correction de la suppression d'un role dans la page d'administration des roles.
* Correction mineure sur les notes intervenants au niveau de l'historique (#46303)
* La durée de vie attendue des pièces justificatives est maintenant celle de l'année en cours et plus celle de l'année de dépôt de la pièce
* Les annulations de mises en paiement sont désormais bien prises en compte dès la première annulation
* Il est désormais possible de cloturer le service réalisé même si aucune heure n'est saisie
* Les indicateurs 530 et 540 ne renvoient plus de vacataires
* Les étapes d'ODF complémentaire peuvent de nouveau être modifiées (#46922)

## Notes de mise à jour

* Supprimer la ligne faisant référence à TBL_NOEUD dans Administration/Synchronisation/Tables, table NOEUD, champ "Traitements postérieurs : à exécuter après la synchro".



# OSE 19.5 (à venir)

## Corrections de bugs

* Dans le module Charges, la saisie de seuils par défaut refonctionne normalement (#47451)
* Les plafonds de périmètre "volume horaire" sont de nouveau activables (#47340,#45225)
* Filtre des pays avec dates de validité périmées dans les listing des données personnelles (#47492)
* Correction sur le script de mise à jour des employeurs
* Correction sur les notes de l'intervenant au niveau de l'historique (#46303)



# OSE 19.4 (21/10/2022)

## Corrections de bugs/petites évolutions

* Les types d'intervention personnalisés par statut peuvent de nouveau être saisis (#46930)
* Modification de la formule de calcul de Poitiers
* Modification de la formule de calcul de Rennes 2
* Modification de la formule de calcul de Lyon 2
* Modification de la formule de calcul de Nice Cote d'Azur



# OSE 19.3 (08/09/2022)

## Corrections de bugs

* Pb lié à la 19.2 : la vue V_ETAT_PAIEMENT n'était pas mise à jour correctement. 



# OSE 19.2 (06/09/2022)

## Nouveautés

* Prise en compte du nouveau point d'indice valable à partir du 1er juillet 2022



# OSE 19.1 (21/07/2022)

## nouveautés

* Formule de calcul de Picardie
* Nouvel état de sortie pour les écarts des heures complémentaires, maintenant personnalisable (#45807)
* Possibilité de faire une PEC ou REN (SIHAM) l'année universitaire N-1
* Nouvel état de sortie pour télécharger une synthèse des privilèges par rôle (#45629)
* Nouveau paramètre du module export RH (SIHAM) permettant de synchroniser le code intervenant avec le matricule SIHAM lors d'une PEC ou d'un renouvellement

## Corrections de bugs

* La synchronisation via la ligne de commande ne fonctionnait plus. C'est rétabli



# OSE 19.0 (12/07/2022)

## Nouveautés

@@ -16,8 +102,9 @@
* Nouvel état de sortie pour l'extraction des paiements dans le cadre de la pré-liquidation SIHAM
* Ajout d'un bouton de refus de pièce justificative avec envoie d'email à l'intervenant
* Changement du bouton de cloture de service pour un libellé plus parlant et un style de bouton plus prononcé
* Formules nouvelles ou mises à jour : Rennes 2, Paris Saclay, Guyane, Côte d'Azur, La Réunion, Poitiers, Brest
* Formules nouvelles ou mises à jour : Rennes 2, Paris Saclay, Guyane, Côte d'Azur, La Réunion, Poitiers, Brest, Rouen
* Possibilité de créer un nouveau test de formule en téléversant une feuille de calcul au format tableur
* Ajout d'un champs cci pour l'envoi de mail aux intervenants et le refus de pièces jointes (#45083)

## Corrections de bugs

@@ -27,6 +114,43 @@
* Forcer l'activiation de l'étape pièces justificatives même si il n'y a pas de service prévisionnel de renseigné.
* Choix du bon modèle de contrat dans le cas de plusieurs modèles de contrat (par structure et/ou par statut) (#45520)
* Bouton Prévu->réalisé Apparait correctement pour le service réalisé.
* Correction sur la reconduction des centres de coût et modulateurs (#45746)


## Notes de mise à jour

* Si vous êtes en version 17.x, se référer à toutes les notes de migration de la version [18.0](#ose-18-23052022)
Une fois la migration réalisée et quelques tests effectués, vous devrez supprimer manuellement les tables de sauvegarde listées ci-dessous.
Si vous ne le faites pas, le risque est que les scripts de migration de la version 17 à la version 18 soient rejoués sans qu'il n'en soit nécessaire, avec en sus un *risque de perte de données* pour des intervenants ayant changé de statut entre temps.


* Si vous êtes déjà en version 18.x et si ce n'est déjà fait, il vous faudra supprimer les tables de sauvegardes liées à la migration 17 --> 18 et
la table STATUT_INTERVENANT
**avant** de migrer en 19.0.

#### Liste des tables de sauvegardes de migration 17=>18 concernées :
```sql
DROP TABLE save_v18_dossier_autre_statut;
DROP TABLE save_v18_plafond;
DROP TABLE save_v18_plafond_app;
DROP TABLE save_v18_referentiel;
DROP TABLE save_v18_statut;
DROP TABLE save_v18_statut_privilege;
DROP TABLE save_v18_structure;
DROP TABLE save_v18_ta_statut;
DROP TABLE save_v18_tis;
DROP TABLE save_v18_tpjs;
DROP TABLE save_v18_dossier;
DROP TABLE save_v18_intervenant;
DROP TABLE save_v18_privilege;
DROP TABLE save_v18_role_privilege;
DROP TABLE statut_intervenant;

```





# OSE 18.2 (15/06/2022)

@@ -52,7 +176,7 @@

Si vous êtes en version 17, se référer à toutes les notes de migration de la version 18.0

Si vous êtes déjà en version 18.0, il vous faudra supprimer les tables de sauvegardes liées à la migration 17 --> 18 et
Si vous êtes déjà en version 18.x et si ce n'est déjà fait, il vous faudra supprimer les tables de sauvegardes liées à la migration 17 --> 18 et
la table STATUT_INTERVENANT
**avant** de migrer en 18.1.

+1 −0
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@ Dépendances requises :
    * zip
    * bcmath
    * gd
    * soap
    * OCI8 (pilote pour Oracle).

Le mode installation de OSE liste toutes les dépendances nécessaires et teste leur présence sur votre serveur.
+4 −3
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ $actions = [
    "notifier-indicateurs"      => "Envoi des mails relatifs aux indicateurs",
    "synchronisation"           => "<job> : Effectue la synchronisation des données pour le <job> transmis",
    "chargens-calcul-effectifs" => "Calcul des effectifs du module Charges",
    "calcul-tableaux-bord"      => "Recalcule tous les tableaux de bord de calculs itermédiaires",
    "calcul-tableaux-bord"      => "Recalcule tous les tableaux de bord de calculs intermédiaires",
    "formule-calcul"            => "Calcul de toutes les heures complémentaires à l'aide de la formule",
    "creer-utilisateur"         => "Création d'un nouvel utilisateur de OSE. Possibilité de créer une fiche intervenant dans la foulée",
    "changement-mot-de-passe"   => "Changement de mot de passe (pour un utilisateur local uniquement)",
@@ -27,8 +27,9 @@ $actions = [
    "update-employeur"          => "Mise à jour de la table employeur à partir d'une source (par défault source INSEE)",
    "build-synchronisation"     => "Reconstruction des vues différentielles et des procédures de mise à jour",
    "fichiers-vers-filesystem"  => "Déplace le contenu des fichiers (table FICHIER) vers le système de fichiers",
    "save-bdd"                  => "Sauvegarde une base de données dans un répertoire du système de fichiers",
    "load-bdd"                  => "Charge une base de données à partir d'un répertoire du système de fichiers",
    "save-bdd <Fichier cible>"  => "Sauvegarde une base de données dans un fichier"
        . "\n\t--fichiers=n : Ignore le contenu des fichiers stockée dans la table FICHIER",
    "load-bdd <Fichier source>" => "Charge une base de données à partir d'un fichier de sauvegarde",
];
$actionsDev = [
    "update-ddl"            => "Mise à jour du fichier de définition de la base de données à partir de cette dernière",
+4 −9
Original line number Diff line number Diff line
@@ -2,6 +2,8 @@

$bdd = $oa->getBdd();

$filename = $c->getArg()[2];

$c->println("Chargement d'une base de données", $c::COLOR_CYAN);
if ($c->getOption('doload') !== 'oui') {
    $c->println("Ce script va charger votre base à l'aide des données fournies. Ceci écrasera vos données actuelles. Voulez-vous poursuivre l'opération ?\n(tapez \"oui\" pour continuer)...");
@@ -10,13 +12,6 @@ if ($c->getOption('doload') !== 'oui') {
    if ($doLoad != 'oui') $c->printDie("Interruption de l'opération de chargement de la base de données");
}

$bdd->load($filename);

if (!$c->hasOption('dir')) {
    $c->print("Veuillez entrer le répertoire où se trouvent les données à charger: ");
}
$dir = $c->getInput('dir');


$bdd->load($dir);

$bdd->majSequences();
 No newline at end of file
//$bdd->majSequences();
 No newline at end of file
+76 −0
Original line number Diff line number Diff line
<?php

$bdd = $oa->getBdd();


$c->begin('Mise à jour du taux horaire');


$c->msg('Ajout du nouveau taux');

$dsql = "DELETE FROM TAUX_HORAIRE_HETD WHERE ID NOT IN (1,2)";
$bdd->exec($dsql);

$isql = "
INSERT INTO TAUX_HORAIRE_HETD(
  ID,
  VALEUR,
  HISTO_CREATION,
  HISTO_CREATEUR_ID,
  HISTO_MODIFICATION,
  HISTO_MODIFICATEUR_ID
) VALUES (
  3,
  42.86,
  TO_DATE('01/09/2022 00:00', 'dd/mm/YYYY HH24:MI'),
  (SELECT id FROM utilisateur where username='oseappli'),
  TO_DATE('01/07/2022 00:00', 'dd/mm/YYYY HH24:MI'),
  (SELECT id FROM utilisateur where username='oseappli')
)
";
$bdd->exec($isql);


$vreps = [
    'V_CONTRAT_MAIN'                => [
        'left join taux_horaire_hetd( +)th[\n\(\= ._,a-zA-Z]*' => "LEFT JOIN taux_horaire_hetd    th ON th.valeur = OSE_FORMULE.GET_TAUX_HORAIRE_HETD(a.date_debut",
        'th.histo_creation'                        => 'th.histo_modification',
    ],
    'V_ETAT_PAIEMENT'               => [
        'OSE_FORMULE.GET_TAUX_HORAIRE_HETD\( *NVL\( *mep.date_mise_en_paiement, *SYSDATE *\) *\)' => 'a.taux_hetd',
    ],
    'V_EXPORT_PAIEMENT_WINPAIE'     => [
        'ose_formule.get_taux_horaire_hetd\( *nvl\( *t2.date_mise_en_paiement, *sysdate\) *\)' => '(select taux_hetd from annee ann where ann.id = i.annee_id)',
    ],
    'V_EXPORT_PAIEMENT_SIHAM'       => [
        'ose_formule.get_taux_horaire_hetd\( *nvl\( *t2.date_mise_en_paiement, *sysdate\)\)' => '(select taux_hetd from annee ann where ann.id = i.annee_id)',
    ],
    'V_EXP_HETD_CENTRE_COUT'        => [
        'OSE_FORMULE.GET_TAUX_HORAIRE_HETD\( *NVL\( *mep.date_mise_en_paiement, *SYSDATE *\) *\)' => 'a.taux_hetd',
        'OSE_FORMULE.GET_TAUX_HORAIRE_HETD\( *SYSDATE *\)'                                        => '(select taux_hetd from annee ann where ann.id = annee_id)',
    ],
    'V_IMPUTATION_BUDGETAIRE_SIHAM' => [
        'ose_formule.get_taux_horaire_hetd\( *nvl\( *mep.date_mise_en_paiement, *sysdate *\) *\)' => 'a.taux_hetd',
    ],
];
$dir   = '/app/data/ddl/view/';

foreach ($vreps as $view => $reps) {

    $vcm = $bdd->view()->get($view);

    $count = 0;
    if (isset($vcm[$view]['definition'])) {
        $vcm = $vcm[$view]['definition'];
        foreach ($reps as $s => $r) {
            $cnt = 0;
            $vcm = preg_replace('/' . $s . '/si', $r, $vcm, -1, $cnt);
            $count += $cnt;
        }

        $c->msg('Mise à jour de la vue ' . $view.' : '.$count.' modification(s) apportée(s)');
        $bdd->exec($vcm);
    }
}

$c->end('Taux horaire actualisé');
Loading