Commit 69246678 authored by Laurent Lécluse's avatar Laurent Lécluse
Browse files

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

parents a757953c f75b531b
......@@ -40,7 +40,7 @@ Objectif : Connecteur import Actul+ & système différentiel pour comparer des c
# 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
* 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
debug_enabled BOOLEAN DEFAULT FALSE;
debug_etat_volume_horaire_id NUMERIC DEFAULT 1;
debug_volume_horaire_id NUMERIC;
debug_volume_horaire_ref_id NUMERIC;
CREATE OR REPLACE PACKAGE FORMULE_UNICAEN AS
PROCEDURE CALCUL_RESULTAT_V2;
PROCEDURE CALCUL_RESULTAT;
PROCEDURE PURGE_EM_NON_FC;
FUNCTION calcCell( c VARCHAR2, l NUMERIC ) RETURN FLOAT;
FUNCTION INTERVENANT_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 [
'length' => 0,
'scale' => '0',
'precision' => NULL,
'nullable' => FALSE,
'nullable' => TRUE,
'default' => NULL,
'position' => 5,
'commentaire' => NULL,
......
......@@ -693,6 +693,18 @@ return [
'position' => 44,
'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',
];
......
......@@ -136,8 +136,8 @@ return [
'FORMULE' => [
1 => [
'LIBELLE' => 'Université de Caen',
'PACKAGE_NAME' => 'FORMULE_UNICAEN',
'LIBELLE' => 'Université de Caen (version 2016)',
'PACKAGE_NAME' => 'FORMULE_UNICAEN_2016',
],
2 => [
'LIBELLE' => 'Université de Montpellier',
......@@ -213,6 +213,10 @@ return [
'LIBELLE' => 'Université Sorbonne Nouvelle',
'PACKAGE_NAME' => 'FORMULE_SORBONNE_NOUVELLE',
],
19 => [
'LIBELLE' => 'Université de Caen (version 2021)',
'PACKAGE_NAME' => 'FORMULE_UNICAEN',
],
],
'MODELE_CONTRAT' => [
......
......@@ -45,6 +45,7 @@ SELECT
autre_3,
autre_4,
autre_5,
affectation_fin,
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,
source_code,
......@@ -247,6 +248,7 @@ FROM (
s.autre_3 autre_3,
s.autre_4 autre_4,
s.autre_5 autre_5,
s.affectation_fin affectation_fin,
empl.id employeur_id,
isrc.id i_source_id,
ssrc.id s_source_id,
......
......@@ -16,7 +16,7 @@ WITH i AS (
WHEN icto.code_ose IS NOT NULL THEN icto.code_ose
ELSE 'AUTRES' END z_statut_id,
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,
icto.id_orig source_code,
COALESCE(icto.d_debut, to_date('01/01/1900', 'dd/mm/YYYY')) validite_debut,
......@@ -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)
WHERE inds.d_debut - 184 <= SYSDATE
--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
AND ((inds.t_enseignant = 'O' AND inds.t_vacataire = 'O')
OR (inds.t_enseignant = 'O' AND inds.t_heberge = 'O')
......@@ -234,7 +234,12 @@ SELECT DISTINCT
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
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
JOIN induni
ON i.code = induni.c_individu_chaine --AND induni.c_source IN ('HARP', 'OCTO', 'SIHAM'))
......@@ -265,4 +270,6 @@ FROM i
LEFT JOIN compte ON compte.individu_id = induni.c_individu_chaine
--On récupére la discipline adaptée directement dans Octopus
LEFT JOIN cnua cnua ON cnua.individu_id = induni.c_individu_chaine
WHERE i.validite_fin >= (SYSDATE - (365 * 2))
\ No newline at end of file
WHERE i.validite_fin >= (SYSDATE - (365 * 2))
CREATE
OR REPLACE FORCE VIEW SRC_GRADE AS
SELECT g.lib_court libelle_court,
g.lib_long libelle_long,
s.id source_id,
g.c_grade source_code,
null echelle,
--null corps_id
FROM grade@octoprod g
JOIN source s ON s.code = 'Octopus'
WHERE SYSDATE BETWEEN COALESCE(g.d_ouverture, SYSDATE) AND COALESCE(g.d_fermeture + 1, SYSDATE)
SELECT
g.lib_court libelle_court,
g.lib_long libelle_long,
s.id source_id,
g.c_grade source_code
FROM octo.grade@octoprod g
JOIN octo.grade_map@octoprod gm ON gm.grade_id = g.id AND gm.c_source = 'SIHAM'
JOIN source s ON s.code = 'Octopus'
WHERE SYSDATE BETWEEN COALESCE(g.d_ouverture, SYSDATE) AND COALESCE(g.d_fermeture + 1, SYSDATE) AND histo_destruction IS NULL
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment