Skip to content
Snippets Groups Projects
Commit 3d312498 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

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

parents 084f018d f75b531b
Branches
Tags
No related merge requests found
...@@ -40,7 +40,7 @@ Objectif : Connecteur import Actul+ & système différentiel pour comparer des c ...@@ -40,7 +40,7 @@ Objectif : Connecteur import Actul+ & système différentiel pour comparer des c
# OSE 15.6 (à venir) # OSE 15.6 (à venir)
## Correction de bug ## Correction de bugs
* Dans ODF, la liste des éléments dont on peut forcer la synchronisation tient maintenant compte des données à restaurer en plus de celles à insérer * Dans ODF, la liste des éléments dont on peut forcer la synchronisation tient maintenant compte des données à restaurer en plus de celles à insérer
* Correction sur le rafraichissement du rôle de l'intervenant lors d'un changement d'année universitaire (#39020) * Correction sur le rafraichissement du rôle de l'intervenant lors d'un changement d'année universitaire (#39020)
......
This diff is collapsed.
CREATE OR REPLACE PACKAGE "FORMULE_UNICAEN" AS CREATE OR REPLACE PACKAGE FORMULE_UNICAEN AS
debug_enabled BOOLEAN DEFAULT FALSE;
debug_etat_volume_horaire_id NUMERIC DEFAULT 1;
debug_volume_horaire_id NUMERIC;
debug_volume_horaire_ref_id NUMERIC;
PROCEDURE CALCUL_RESULTAT_V2;
PROCEDURE CALCUL_RESULTAT; PROCEDURE CALCUL_RESULTAT;
PROCEDURE PURGE_EM_NON_FC; FUNCTION calcCell( c VARCHAR2, l NUMERIC ) RETURN FLOAT;
FUNCTION INTERVENANT_QUERY RETURN CLOB; FUNCTION INTERVENANT_QUERY RETURN CLOB;
FUNCTION VOLUME_HORAIRE_QUERY RETURN CLOB; FUNCTION VOLUME_HORAIRE_QUERY RETURN CLOB;
......
This diff is collapsed.
CREATE OR REPLACE PACKAGE "FORMULE_UNICAEN_2016" AS
debug_enabled BOOLEAN DEFAULT FALSE;
debug_etat_volume_horaire_id NUMERIC DEFAULT 1;
debug_volume_horaire_id NUMERIC;
debug_volume_horaire_ref_id NUMERIC;
PROCEDURE CALCUL_RESULTAT_V2;
PROCEDURE CALCUL_RESULTAT;
PROCEDURE PURGE_EM_NON_FC;
FUNCTION INTERVENANT_QUERY RETURN CLOB;
FUNCTION VOLUME_HORAIRE_QUERY RETURN CLOB;
END FORMULE_UNICAEN_2016;
\ No newline at end of file
...@@ -16,7 +16,7 @@ return [ ...@@ -16,7 +16,7 @@ return [
'length' => 0, 'length' => 0,
'scale' => '0', 'scale' => '0',
'precision' => NULL, 'precision' => NULL,
'nullable' => FALSE, 'nullable' => TRUE,
'default' => NULL, 'default' => NULL,
'position' => 5, 'position' => 5,
'commentaire' => NULL, 'commentaire' => NULL,
......
...@@ -693,6 +693,18 @@ return [ ...@@ -693,6 +693,18 @@ return [
'position' => 44, 'position' => 44,
'commentaire' => NULL, 'commentaire' => NULL,
], ],
'AFFECTATION_FIN' => [
'name' => 'AFFECTATION_FIN',
'type' => 'date',
'bdd-type' => 'DATE',
'length' => 0,
'scale' => NULL,
'precision' => NULL,
'nullable' => TRUE,
'default' => NULL,
'position' => 58,
'commentaire' => NULL,
],
], ],
'columns-order' => 'ID,ANNEE_ID,CODE,UTILISATEUR_CODE,STRUCTURE_ID,STATUT_ID,GRADE_ID,DISCIPLINE_ID,CIVILITE_ID,NOM_USUEL,PRENOM,DATE_NAISSANCE,NOM_PATRONYMIQUE,COMMUNE_NAISSANCE,PAYS_NAISSANCE_ID,DEPARTEMENT_NAISSANCE_ID,PAYS_NATIONALITE_ID,TEL_PRO,TEL_PERSO,EMAIL_PRO,EMAIL_PERSO,ADDR_PRECISIONS,ADDR_NUMERO,ADDR_NUMERO_COMPL_ID,ADDR_VOIRIE_ID,ADDR_VOIE,ADDR_LIEU_DIT,ADDR_CODE_POSTAL,ADDR_COMMUNE,ADDR_PAYS_ID,NUMERO_INSEE,NUMERO_INSEE_PROVISOIRE,IBAN,BIC,RIB_HORS_SEPA,AUTRE_1,AUTRE_2,AUTRE_3,AUTRE_4,AUTRE_5,EMPLOYEUR_ID,MONTANT_INDEMNITE_FC,CRITERE_RECHERCHE,SOURCE_ID,SOURCE_CODE,SYNC_STATUT,SYNC_STRUCTURE,HISTO_CREATION,HISTO_CREATEUR_ID,HISTO_MODIFICATION,HISTO_MODIFICATEUR_ID,HISTO_DESTRUCTION,HISTO_DESTRUCTEUR_ID', 'columns-order' => 'ID,ANNEE_ID,CODE,UTILISATEUR_CODE,STRUCTURE_ID,STATUT_ID,GRADE_ID,DISCIPLINE_ID,CIVILITE_ID,NOM_USUEL,PRENOM,DATE_NAISSANCE,NOM_PATRONYMIQUE,COMMUNE_NAISSANCE,PAYS_NAISSANCE_ID,DEPARTEMENT_NAISSANCE_ID,PAYS_NATIONALITE_ID,TEL_PRO,TEL_PERSO,EMAIL_PRO,EMAIL_PERSO,ADDR_PRECISIONS,ADDR_NUMERO,ADDR_NUMERO_COMPL_ID,ADDR_VOIRIE_ID,ADDR_VOIE,ADDR_LIEU_DIT,ADDR_CODE_POSTAL,ADDR_COMMUNE,ADDR_PAYS_ID,NUMERO_INSEE,NUMERO_INSEE_PROVISOIRE,IBAN,BIC,RIB_HORS_SEPA,AUTRE_1,AUTRE_2,AUTRE_3,AUTRE_4,AUTRE_5,EMPLOYEUR_ID,MONTANT_INDEMNITE_FC,CRITERE_RECHERCHE,SOURCE_ID,SOURCE_CODE,SYNC_STATUT,SYNC_STRUCTURE,HISTO_CREATION,HISTO_CREATEUR_ID,HISTO_MODIFICATION,HISTO_MODIFICATEUR_ID,HISTO_DESTRUCTION,HISTO_DESTRUCTEUR_ID',
]; ];
......
...@@ -136,8 +136,8 @@ return [ ...@@ -136,8 +136,8 @@ return [
'FORMULE' => [ 'FORMULE' => [
1 => [ 1 => [
'LIBELLE' => 'Université de Caen', 'LIBELLE' => 'Université de Caen (version 2016)',
'PACKAGE_NAME' => 'FORMULE_UNICAEN', 'PACKAGE_NAME' => 'FORMULE_UNICAEN_2016',
], ],
2 => [ 2 => [
'LIBELLE' => 'Université de Montpellier', 'LIBELLE' => 'Université de Montpellier',
...@@ -213,6 +213,10 @@ return [ ...@@ -213,6 +213,10 @@ return [
'LIBELLE' => 'Université Sorbonne Nouvelle', 'LIBELLE' => 'Université Sorbonne Nouvelle',
'PACKAGE_NAME' => 'FORMULE_SORBONNE_NOUVELLE', 'PACKAGE_NAME' => 'FORMULE_SORBONNE_NOUVELLE',
], ],
19 => [
'LIBELLE' => 'Université de Caen (version 2021)',
'PACKAGE_NAME' => 'FORMULE_UNICAEN',
],
], ],
'MODELE_CONTRAT' => [ 'MODELE_CONTRAT' => [
......
...@@ -45,6 +45,7 @@ SELECT ...@@ -45,6 +45,7 @@ SELECT
autre_3, autre_3,
autre_4, autre_4,
autre_5, autre_5,
affectation_fin,
employeur_id, employeur_id,
CASE WHEN statuts_identiques = 0 AND i_source_id IS NOT NULL AND action <> 'insert' THEN i_source_id ELSE s_source_id END source_id, CASE WHEN statuts_identiques = 0 AND i_source_id IS NOT NULL AND action <> 'insert' THEN i_source_id ELSE s_source_id END source_id,
source_code, source_code,
...@@ -247,6 +248,7 @@ FROM ( ...@@ -247,6 +248,7 @@ FROM (
s.autre_3 autre_3, s.autre_3 autre_3,
s.autre_4 autre_4, s.autre_4 autre_4,
s.autre_5 autre_5, s.autre_5 autre_5,
s.affectation_fin affectation_fin,
empl.id employeur_id, empl.id employeur_id,
isrc.id i_source_id, isrc.id i_source_id,
ssrc.id s_source_id, ssrc.id s_source_id,
......
...@@ -16,7 +16,7 @@ WITH i AS ( ...@@ -16,7 +16,7 @@ WITH i AS (
WHEN icto.code_ose IS NOT NULL THEN icto.code_ose WHEN icto.code_ose IS NOT NULL THEN icto.code_ose
ELSE 'AUTRES' END z_statut_id, ELSE 'AUTRES' END z_statut_id,
CASE CASE
WHEN (vinds.t_titulaire='O' OR vinds.t_cdi='O' OR vinds.t_cdd='O') THEN 'permanent' WHEN icto.code_ose IS NOT NULL AND icto.code_ose NOT IN ('BIATSS','NON_AUTORISE') THEN 'permanent'
ELSE 'vacataire' END z_type, ELSE 'vacataire' END z_type,
icto.id_orig source_code, icto.id_orig source_code,
COALESCE(icto.d_debut, to_date('01/01/1900', 'dd/mm/YYYY')) validite_debut, COALESCE(icto.d_debut, to_date('01/01/1900', 'dd/mm/YYYY')) validite_debut,
...@@ -43,7 +43,7 @@ WITH i AS ( ...@@ -43,7 +43,7 @@ WITH i AS (
LEFT JOIN octo.v_individu_contrat_type_ose@octoprod icto ON uni.c_individu_chaine = icto.individu_id AND (icto.code_ose IN('DOCTOR') AND icto.d_debut - 184 <= SYSDATE) LEFT JOIN octo.v_individu_contrat_type_ose@octoprod icto ON uni.c_individu_chaine = icto.individu_id AND (icto.code_ose IN('DOCTOR') AND icto.d_debut - 184 <= SYSDATE)
WHERE inds.d_debut - 184 <= SYSDATE WHERE inds.d_debut - 184 <= SYSDATE
--On ne remonte pas de statut autre pour ceux qui ont déjà un certain type de contrat --On ne remonte pas de statut autre pour ceux qui ont déjà un certain type de contrat
AND icto.individu_id IS NULL --AND icto.individu_id IS NULL
--Combinaison des témoins octopus pour récupérer les bonnes populations --Combinaison des témoins octopus pour récupérer les bonnes populations
AND ((inds.t_enseignant = 'O' AND inds.t_vacataire = 'O') AND ((inds.t_enseignant = 'O' AND inds.t_vacataire = 'O')
OR (inds.t_enseignant = 'O' AND inds.t_heberge = 'O') OR (inds.t_enseignant = 'O' AND inds.t_heberge = 'O')
...@@ -234,7 +234,12 @@ SELECT DISTINCT ...@@ -234,7 +234,12 @@ SELECT DISTINCT
THEN NULL THEN NULL
WHEN (i.z_type = 'vacataire' AND i.validite_fin < compte.date_fin AND i.validite_fin IS NOT NULL) THEN compte.date_fin WHEN (i.z_type = 'vacataire' AND i.validite_fin < compte.date_fin AND i.validite_fin IS NOT NULL) THEN compte.date_fin
ELSE i.validite_fin ELSE i.validite_fin
END validite_fin END validite_fin,
CASE
WHEN i.validite_fin = to_date('01/01/9999', 'dd/mm/YYYY')
THEN NULL
ELSE i.validite_fin
END affectation_fin
FROM i FROM i
JOIN induni JOIN induni
ON i.code = induni.c_individu_chaine --AND induni.c_source IN ('HARP', 'OCTO', 'SIHAM')) ON i.code = induni.c_individu_chaine --AND induni.c_source IN ('HARP', 'OCTO', 'SIHAM'))
...@@ -266,3 +271,5 @@ FROM i ...@@ -266,3 +271,5 @@ FROM i
--On récupére la discipline adaptée directement dans Octopus --On récupére la discipline adaptée directement dans Octopus
LEFT JOIN cnua cnua ON cnua.individu_id = induni.c_individu_chaine LEFT JOIN cnua cnua ON cnua.individu_id = induni.c_individu_chaine
WHERE i.validite_fin >= (SYSDATE - (365 * 2)) WHERE i.validite_fin >= (SYSDATE - (365 * 2))
CREATE CREATE
OR REPLACE FORCE VIEW SRC_GRADE AS OR REPLACE FORCE VIEW SRC_GRADE AS
SELECT g.lib_court libelle_court, SELECT
g.lib_court libelle_court,
g.lib_long libelle_long, g.lib_long libelle_long,
s.id source_id, s.id source_id,
g.c_grade source_code, g.c_grade source_code
null echelle, FROM octo.grade@octoprod g
--null corps_id JOIN octo.grade_map@octoprod gm ON gm.grade_id = g.id AND gm.c_source = 'SIHAM'
FROM grade@octoprod g
JOIN source s ON s.code = 'Octopus' JOIN source s ON s.code = 'Octopus'
WHERE SYSDATE BETWEEN COALESCE(g.d_ouverture, SYSDATE) AND COALESCE(g.d_fermeture + 1, SYSDATE) WHERE SYSDATE BETWEEN COALESCE(g.d_ouverture, SYSDATE) AND COALESCE(g.d_fermeture + 1, SYSDATE) AND histo_destruction IS NULL
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment