-- ===================================================================== -- Divers traitements sur les données après l'installation des données -- ===================================================================== -- Pas d'utilisation du masquage des indicateurs. -- Forçage de l'affichage. UPDATE rh.t_indicateurs SET is_hide = 0 ; -- Initialisation du paramétre de rubrique "Heures payées" à 0. UPDATE rh.t_rubriques SET heures_payees = '0' WHERE heures_payees IS NULL ; -- Initialisation des coefficients base/tx salarial/txpatronal lorsque null UPDATE rh.t_rubriques SET coefficient_base = 1 WHERE coefficient_base IS NULL ; UPDATE rh.t_rubriques SET coefficient_txs = 1 WHERE coefficient_txs IS NULL ; UPDATE rh.t_rubriques SET coefficient_txp = 1 WHERE coefficient_txp IS NULL ; -- Initialisation du nombre d'heures mensuelles servant de base au calcul de l'ETP. UPDATE rh.t_etablissements SET base_calcul_etp = 151.67 WHERE 1!=1 OR base_calcul_etp IS NULL OR base_calcul_etp = 0.0 ; -- Ajout des paramétrages. DROP TABLE IF EXISTS w_divers ; CREATE TEMP TABLE w_divers AS SELECT 'OCTIME_TPS_VALIDE' as code, 'Compteur à utiliser pour le temps validé (5 ou 6).' as texte, '5' as valeur, NULL::date as valeur_date, 'Compteur à utiliser pour le temps validé (5 ou 6).' as description UNION SELECT 'OCTIME_TPS_VALIDE_A' as code, 'Ajuster le temps validé.' as texte, '0' as valeur, NULL::date as valeur_date, 'Ajuster le temps validé (0 désactivé par défaut).' as description UNION SELECT 'OCTIME_VENTILATION', 'Ventilation analytique Octime (0 désactivé).', '0', NULL::date, 'Ventilation analytique Octime (0 désactivé).' UNION SELECT 'OCTIME_SERVICE_ID', 'Provenance du service Octime.', '2', NULL::date, 'Provenance du service Octime.' UNION -- Paramétrage permettant de définir la provenance de la notion d'établissement Octime. -- 0 = Manuel -- 1-3 = niveaux Octime -- 4 = cas Fondation Hopale où l'ent/ets est un préfixe du matricule. SELECT 'OCTIME_ETS_ID', 'Provenance de l''établissement Octime.', '0', NULL::date, 'Provenance de l''établissement Octime.' UNION -- Code établissement saisi à la main lorsque OCTIME_ETS_ID = 0. -- Doit correspondre à t_entreprises.planning_code||t_etablissements.planning_code. SELECT 'OCTIME_ETS_MANUEL', 'Code de l''établissement lorsque OCTIME_ETS_ID = 0.', '', NULL::date, 'Code de l''établissement lorsque OCTIME_ETS_ID = 0' UNION SELECT 'OCTIME_SALARIE', 'Méthode de rapprochement salariés paie/planning.', '1', NULL::date, 'Méthode de rapprochement salariés paie/planning.' UNION SELECT 'OCTIME_INTERIM_STR', 'Stratégie d''identification des intérimaires.', '0', NULL::date, 'Stratégie d''identification des intérimaires.' UNION SELECT 'OCTIME_INTERIM_PREFIXE', 'Préfixe à ajouter aux matricules intérimaire.', '', NULL::date, 'Préfixe à ajouter aux matricules intérimaire.' UNION SELECT 'OCTIME_OLDMAT_PREFIXE', 'Préfixe à ajouter aux matricules de l''ancien prestataire.', '', NULL::date, 'Préfixe à ajouter aux matricules de l''ancien prestataire.' UNION SELECT 'OCTIME_MAX_NIVEAU', 'Niveau Octime maximum à importer.', '3', NULL::date, 'Niveau Octime maximum à importer (3 par défaut, 4 maximum).' UNION SELECT 'INTERIM_CNT_CODE', 'Code du type de contrat intérim planning.', 'INT', NULL::date, 'Code du type de contrat intérim planning.' UNION SELECT 'IMP_EXC_MAR', 'Exclusion de motifs d''arrêt lors de l''import.', '', NULL::date, 'Exclure des motifs d''arrêt lors de l''import' UNION SELECT 'IMP_INC_MAR', 'Inclusion de motifs d''arrêt lors de l''import.', '', NULL::date, 'Séparer les codes par des virgules.' UNION SELECT 'OPT_STD_HP', 'Historique de paie classique ou paramétré.', '0', NULL::date, 'Historique de paie classique ou paramétré.' UNION SELECT 'OPT_INTERIM_PLANNING', 'Remonter les intérimaires depuis le planning.', '0', NULL::date, 'Remonter les intérimaires depuis le planning.' UNION SELECT 'OPT_HP_UP', 'Historique de paie màj (pour fusion).', '0', NULL::date, 'Historique de paie màj (pour fusion).' UNION SELECT 'OPT_CNT_FIN_FUSION', 'Fusion des contrats consécutifs ayant le(s) motif(s) de fin paramétré(s) ici.', '', NULL::date, 'Vide (défaut) : pas de fusion. Un ou plusieurs motifs (séparés par des virgules) : activé.' UNION SELECT 'OPT_VENT_PAIE', 'Remonter la ventilation de paie.', '1', NULL::date, '0 : pas de ventilation. 1 (défaut) : activé.' UNION SELECT 'HEURES_W', 'Heures Travaillées.', '0', NULL::date, 'Calcul des Heures Travaillées (0 = Heures Payées - Heures NON Travaillées, 1 = Heures Travaillées)' UNION SELECT 'SIGEMS_AUTO', 'Sigems - Auto-détection du paramétrage des rubriques selon le compte.', '0', NULL::date, '0 = Non (par défaut), 1 = Oui (stratégie 1), N = futures stratégies...' UNION SELECT 'SIGEMS_TS', 'Sigems - Taxe sur les Salaires.', '0', NULL::date, 'Intégration de la Taxe sur les Salaires (0 = Non, 1 = Oui)' UNION SELECT 'SAGE_STATUT', 'Sage - Statut iCTI.', 'CATEGORIE', NULL::date, 'Le statut iCTI doit être pris de la zone Sage "Catégorie" (CATEGORIE) ou "Niveau" (NIVEAU)' UNION SELECT 'SAGE_GRILLE', 'Sage - Grille iCTI.', 'UNITE', NULL::date, 'La grille iCTI doit être prise de la zone Sage "Unité" (UNITE) ou "Coefficient" (COEFFICIENT)' UNION SELECT 'SAGE_QUALIFICATION', 'Sage - Qualification iCTI.', 'UNITE', NULL::date, 'La qualification iCTI doit être pris de la zone Sage "Unité" (UNITE), "Département" (DEPARTEMENT), "Qualification" (QUALIFICATION) ou "Emploi" (EMPLOI)' UNION SELECT 'SAGE_EMPLOI', 'Sage - Code emploi iCTI.', 'EMPLOI', NULL::date, 'Le code emploi iCTI doit être pris de la zone Sage "Emploi" (EMPLOI) ou "Qualification" (QUALIFICATION)' UNION SELECT 'SAGE_TYPE_HORAIRE', 'Sage - Type d''horaire iCTI.', 'VALEURCUMUL_81', NULL::date, 'Le type d''horaire iCTI doit être pris de la zone Sage "Valeur cumul 81" (VALEURCUMUL_81) ou "Unité" (UNITE)' UNION SELECT 'SAGE_SERVICE', 'Sage - Service iCTI.', 'SERVICE', NULL::date, 'Le service iCTI doit être pris de la zone Sage "Service" (SERVICE) ou "Département" (DEPARTEMENT)' UNION SELECT 'SAGE_TEMPS_TRAVAIL', 'Sage - Type de temps de travail.', 'ETP', NULL::date, 'Privilégier l''ETP (ETP) ou l''Horaire (HORAIRE)' UNION SELECT 'CEGID_SERVICE', 'Cegid - Colonne où prendre les services iCTI.', '3', NULL::date, '1, 2 ou 3 (déf.).' UNION SELECT 'CEGID_TYPE_CONTRAT', 'Cegid - Colonne où prendre les types de contrat iCTI.', '1', NULL::date, '1 (déf.), 2, 3 ou 4.' UNION SELECT 'CEGID_GRILLE', 'Cegid - Colonne où prendre les grilles iCTI.', 'GRILLE', NULL::date, 'GRILLE (déf.) ou QUALIFICATION.' UNION SELECT 'CEGID_QUALIFICATION', 'Cegid - Colonne où prendre les qualifications iCTI.', 'QUALIFICATION', NULL::date, 'QUALIFICATION (déf.) ou EMPLOI.' UNION SELECT 'CEGID_MOTIF_FIN', 'Cegid - Colonne où prendre les motifs de fin iCTI.', '0', NULL::date, 'O (déf.) ou 1.' UNION SELECT 'CEGID_STATUT', 'Cegid - Colonne où prendre les statuts iCTI.', 'DADSCAT', NULL::date, 'DADSCAT (déf.), DADSPROF ou INDICE.' UNION SELECT 'CEGI_CST_FJ', 'Constante CEGI codant pour les Forfaits Jours', 'DADSH', NULL::date, 'DADSH (défaut) ou autre.' UNION SELECT 'CEGI_CODE_TTT', 'Type de temps de travail tiré de la constante CEGI AAAAC', 'AAAAC', NULL::date, 'AAAAC (défaut), AARM ou autre.' UNION SELECT 'CEGI_SEXE', 'Cegi - Code sexe masculin.', '1', NULL::date, '1 par défaut (2 ou 3 sinon).' UNION SELECT 'CEGI_GRILLE', 'Cegi - Colonne où prendre les grilles iCTI.', 'ECHELON', NULL::date, 'ECHELON (déf.) ou GRILLE.' UNION SELECT 'CEGID_GRP_GRILLE', 'Cegi - Colonne où prendre les groupes de grille iCTI.', 'COEFF', NULL::date, 'COEFF (déf.), IND ou BUL.' UNION SELECT 'CEGID_GRP_GRILLE_CST', 'Cegi - Constante de paie où prendre le coefficient (CEGID_GRP_GRILLE = BUL).', '54', NULL::date, '54 (déf.) ou autre constante de paie.' UNION SELECT 'CEGI_QUALIFICATION', 'Cegi - Colonne où prendre les qualifications iCTI.', 'QUALCONV', NULL::date, 'QUALCONV (déf.), QUALIFICATION.' UNION SELECT 'CEGI_CODE_EMPLOI', 'Cegi - Colonne où prendre les codes emplois iCTI.', 'MODCNT', NULL::date, 'MODCNT (déf.), QUALIFICATION.' UNION SELECT 'CEGI_STATUT', 'Cegi - Colonne où prendre les statuts iCTI.', 'CATSOC', NULL::date, 'CATSOC (déf.), GRILLE.' UNION SELECT 'CEGI_SITE_SERVICE', 'Cegi Planning - Remonter la notion de site (=établissement).', '0', NULL::date, '0 = non (par déf.), 1 = oui.' UNION SELECT 'CEGI_ABS_VALIDE', 'Cegi Planning - Remonter UNIQUEMENT les absences validées.', '1', NULL::date, '1 = oui (par déf.), 0 = non.' UNION SELECT 'CEGI_ABS_EXCL', 'Cegi Planning - Codes absence à exclure.', '', NULL::date, 'ex. : AMITH, JFCHO, ...' UNION SELECT 'CEGI_PAUSE_EXCL', 'Cegi Planning - Codes pauses à exclure.', '', NULL::date, 'ex. : PAU, ...' UNION SELECT 'CEGI_UNITE_HEURE', 'Cegi Planning - Unités Cegi exprimées en heures.', '102', NULL::date, '102 (par déf.), valeurs séparées par des virgules.' UNION SELECT 'CEGI_FORFAIT_JOUR', 'Alimenter la base de la rubrique 1052 de forfait jour à partir de AAAAC.', '0', NULL::date, '0 (défaut) désactivé. Activé lorsqu''à 1.' UNION SELECT 'CEGI_VENTILATION', 'Remonter la ventilation analytique CEGI.', '0', NULL::date, '0 (défaut) désactivé. Activé lorsqu''entre 1 et 3.' UNION SELECT 'CEGI_TPA_ID', 'Identifiant Cegi du plan analytique à remonter.', '0', NULL::date, '0 (défaut) désactivé. Consulter la table prod_cegi.rhp_cmtyplana pour obtenir la valeur de TPA_ID.' UNION SELECT 'SHS_ANCIENNETE', 'SHS - Mode de calcul des anciennetés.', '0', NULL::date, 'SHS - 0 = reprise du calcul SHS (défaut), 1 = calcul effectué par iCTI.' UNION SELECT 'SHS_MOTIF', 'SHS - Utiliser la précision à la place du motif d''arrêt.', '0', NULL::date, 'Utiliser la précision à la place du motif d''arrêt (0 = Non par défaut, 1 = Oui)' UNION SELECT 'PAIE_VENTILATION', 'Remonter la ventilation analytique de paie.', '0', NULL::date, '0 (défaut) désactivé. Activé lorsqu''entre 1 et 3.' UNION SELECT 'PEGASE_VEN_PROV', 'Provenance de la ventilation PEGASE.', '1', NULL::date, 'Onglet n°1 par défaut. Peut être 2, 3 ou plus selon les établissements.' UNION SELECT 'BS_CLA_AGE', 'Classe d''âges du Bilan Social.', 'CTI_AGE', NULL::date, 'Classe d''âges du Bilan Social.' UNION SELECT 'BS_CLA_ANC', 'Classe d''anciennetés du Bilan Social.', 'CTI_ANC', NULL::date, 'Classe d''anciennetés du Bilan Social.' UNION SELECT 'FUSION_STRATEGIE', 'Stratégie de rapprochement des matricules ancien/nouveau prestataire.', '0', NULL::date, 'Stratégie de rapprochement des matricules ancien/nouveau prestataire.' UNION SELECT 'FUSION_IGNORE_ARRETS', 'Ignorer les arrêts de travail lors d''une fusion.', '0', NULL::date, 'Ignorer les arrêts de travail lors d''une fusion.' UNION SELECT 'EXERCICE_DECALE', 'L''exercice de paie commence au mois de janvier (0) ou décembre (1).', '0', NULL::date, 'L''exercice de paie commence au mois de janvier (0) ou décembre (1).' UNION SELECT 'CORRECTION_DE_ETS', 'Corriger la date d''entrée établissement en se basant sur la date de début du premier contrat.', '0', NULL::date, 'Corriger la date d''entrée établissement en se basant sur la date de début du premier contrat.' UNION SELECT 'CORRECTION_DS_ETS', 'Corriger la date de sortie établissement en se basant sur la date de fin du dernier contrat.', '0', NULL::date, 'Corriger la date de sortie établissement en se basant sur la date de fin du dernier contrat.' UNION SELECT 'VENTIL_JOUR', 'Ventilation par jour', '0', NULL::date, '(0) garder la ventilation du prestataire (1) Ventiler par jour (césure à minuit)' UNION SELECT 'AGILETIME_PAUSE', 'Id code(s) heure(s) de pause Agiletime', '21,27', NULL::date, 'Définition du ou des id correspondant à des heures de pause à retrancher séparés par , sans espaces' UNION SELECT 'AGILETIME_TODEL', 'Id du code heure à ne pas prendre en compte', '15', NULL::date, 'Définition du ou des id correspondant à des heures de pause à ignorer séparés par , sans espaces' UNION SELECT 'QUALIF_ASSOC', 'Association automatique des qualifications paie/planning', '2', NULL::date, '0: désactivé, 1: code, 2:texte, 3:les deux' UNION SELECT 'SERVICE_ASSOC', 'Association automatique des services paie/planning', '2', NULL::date, '0: désactivé, 1: code, 2:texte, 3:les deux' UNION SELECT 'SENSPARAMETRE_CLASSE', 'Sens consolidation classes/listes.', '0', NULL::date, '0: désactivé, M: Montant, D: Descendant' UNION SELECT 'OPT_IMP_QUALIF', 'Option d''import de la Qualification', '0', NULL::date, '0: valeur par défaut, 1: mise à jour du code et du texte' UNION SELECT 'FUSIONSALARIE', 'Fusion des salariés', '0', NULL::date, '1 = Fusion des salariés activée' UNION SELECT 'FUSIONENTREESALARIE', 'Fusion des dates entrées salariés (quelque soit entreprise)', '0', NULL::date, '1 = Fusion des dates entrée salariés activée' UNION SELECT 'EXPERT_ACTIVE', 'Contrôles EXPERT activés', '1', NULL::date, '1=Activé' UNION SELECT 'EIG_SERVICE', 'Provenance du service EIG', '0', NULL::date, '0: Service, 1: Section contrat, 2: Section contrat - Service' UNION SELECT 'EIG_ETABLISSEMENT', 'Provenance de l''établissement EIG', '1', NULL::date, '0: Bulletin, 1: Contrat, 2: Personne' UNION SELECT 'ADP_TYPE_CONTRAT', 'Colonne pour type de contrat ', '0', NULL::date, '0: Nature du contrat (cnlcnt), 1: Type de contrat (lnmcnt)' UNION SELECT 'ADP_SERVICE_COLUMN', 'Colonne pour service', 'SACAFF', NULL::date, 'SACAFF, SACAFFEC01, SACAFFEC02, SACAFFEC05 (dft)' UNION SELECT 'CEGI_PLANNING_FORCE_TYPE_HORAIRE_ABSENCE', 'Cegi Planning - Pour forcer des codes de types horaires en temps d''absence', '', NULL::date, 'Valeurs séparées par des virgules' UNION SELECT 'CPP_COEF_VALORISATION_INTERIM', 'Coefficient de valorisation des moyennes salariales pour les intérimaires', '1.20', NULL::date, 'Coefficient de valorisation des moyennes salariales pour les intérimaires' UNION SELECT 'CPP_JOUR_DEBUT_MOIS_PAIE', 'Croisement Paie Planning : Date du premier jour d''affectation de la paie', '1', NULL::date, 'Croisement Paie Planning : Date du premier jour d''affectation de la paie' UNION SELECT 'CEGI_PLANNING_ABSENCE_HEURE', 'Cegi Planning - Codes d''absences dont l''unité de temps utilisée est l''heure', '', NULL::date, 'Valeurs séparées par des virgules' UNION SELECT 'CEGI_PLANNING_TYPE_HORAIRE_TEMPS_VALIDE_VERS_TEMPS_DU', 'Cegi Planning - Codes de types horaires à transférer du temps_validé vers le temps_du', '', NULL::date, 'Valeurs séparées par des virgules' ; INSERT INTO rh.t_divers( code, texte, valeur, valeur_date, description) SELECT code, texte, valeur, valeur_date, description FROM w_divers WHERE code NOT IN (SELECT code FROM rh.t_divers) ; UPDATE rh.t_divers SET texte = w_divers.texte, description = w_divers.description FROM w_divers WHERE 1=1 AND t_divers.code = w_divers.code AND (1!=1 OR t_divers.texte != w_divers.texte OR t_divers.description != w_divers.description) ; -- Màj du paramétre par défaut CEGID_STATUT qui passe de DADS à DADSCAT. UPDATE rh.t_divers SET valeur = 'DADSCAT' WHERE 1=1 AND code = 'CEGID_STATUT' AND valeur = 'DADS' ; -- Maintenance de ce qui existe en prod (SALARIE_CORR => OCTIME_SALARIE). UPDATE rh.t_divers SET valeur = (SELECT valeur FROM rh.t_divers WHERE code = 'SALARIE_CORR') WHERE 1=1 AND code = 'OCTIME_SALARIE' AND (SELECT count(*) FROM rh.t_divers WHERE code = 'SALARIE_CORR') > 0 ; DELETE FROM rh.t_divers WHERE code = 'SALARIE_CORR' ; -- Création d'une liste CTI de rubrique(s) à paramétrer permettant d'identifier d'eventuelles rubriques d'heures contrat. DROP TABLE IF EXISTS w_dbsetup ; CREATE TEMP TABLE w_dbsetup (oid text, texte text,chapitre text,code text, is_cti text, contenu_by_code text, include_code text, exclude_code text, show_omit text, utilisateur_createur text, est_partagee_modification text,table_code text) ; INSERT INTO w_dbsetup VALUES('0', 'Heures contrat', 'Paramétrage', 'CTI_HCNT', '1', '0', '', '', '0', '', '1', 'RUP') ; UPDATE rh.t_listes SET texte = w_dbsetup.texte, chapitre = w_dbsetup.chapitre, table_id = t_listes_tables.oid, is_cti = w_dbsetup.is_cti, show_omit = w_dbsetup.show_omit, contenu_by_code = w_dbsetup.contenu_by_code, include_code = w_dbsetup.include_code, exclude_code = w_dbsetup.exclude_code, utilisateur_createur = CASE WHEN t_listes.utilisateur_createur = '' OR w_dbsetup.est_partagee_modification <> '1' THEN w_dbsetup.utilisateur_createur ELSE t_listes.utilisateur_createur END, est_partagee_modification = w_dbsetup.est_partagee_modification FROM w_dbsetup, rh.t_listes_tables WHERE true AND w_dbsetup.table_code = t_listes_tables.code AND t_listes.code = w_dbsetup.code ; INSERT INTO rh.t_listes(code, texte, chapitre, table_id, is_cti, show_omit, contenu_by_code, include_code, exclude_code, utilisateur_createur, est_partagee_modification) SELECT w_dbsetup.code, w_dbsetup.texte, w_dbsetup.chapitre, t_listes_tables.oid, w_dbsetup.is_cti, w_dbsetup.show_omit, w_dbsetup.contenu_by_code, w_dbsetup.include_code, w_dbsetup.exclude_code, w_dbsetup.utilisateur_createur, w_dbsetup.est_partagee_modification FROM w_dbsetup, rh.t_listes_tables WHERE true AND w_dbsetup.table_code = t_listes_tables.code AND w_dbsetup.code NOT IN (SELECT code FROM rh.t_listes) ; -- Initialisation du code cotisation pour un salarié. UPDATE rh.p_salaries SET code_cotisation_id = 0 WHERE code_cotisation_id IS NULL ; UPDATE rh.p_historique_paie SET compte_id = 0 WHERE compte_id IS NULL ; -- Màj des établissements dans p_contrats_mois lorsque non renseigné lors de l'import. -- Doit aussi être effectué dans le SHARE à l'issu de chaque import. UPDATE rh.p_contrats_mois SET etablissement_id = p_contrats.etablissement_id FROM rh.p_contrats WHERE 1=1 AND p_contrats_mois.contrat_id = p_contrats.oid AND p_contrats_mois.etablissement_id IS NULL ; -- Màj de l'établissement pour chaque ligne de paie lorsque non renseigné. -- Doit aussi être effectué dans le SHARE à l'issu de chaque import. UPDATE rh.p_historique_paie SET etablissement_id = p_contrats_mois.etablissement_id FROM rh.p_contrats_mois WHERE 1=1 AND p_historique_paie.contrat_mois_id = p_contrats_mois.oid AND p_historique_paie.etablissement_id IS NULL ; -- Alimentation des anciennetés en jours lorsque non renseigné lors de l'import. -- (365 + 365 + 365 + 366) / (12 * 4) = 30.4375 UPDATE rh.p_contrats SET anciennete_anterieure_jours = anciennete_anterieure_calculee_mois * 30.4375 WHERE 1!=1 OR anciennete_anterieure_jours = 0 OR anciennete_anterieure_jours IS NULL ; UPDATE rh.p_contrats_mois SET anciennete_jours = anciennete_mois * 30.4375 WHERE 1!=1 OR anciennete_jours = 0 OR anciennete_jours IS NULL ; -- Correction sur les rapports Essentiels passés à is_hide = 1 par erreur. UPDATE rh.t_rapports SET is_hide = '0' WHERE 1=1 AND code IN ('CTI_ESS_10', 'CTI_ESS_11') AND is_hide = '1' ; -- Les Handicaps sont désactivés TRUNCATE rh.p_handicap ;