| @ -0,0 +1,28 @@ | |||||
| 10|CDD MI-TEMPS THERAPEUTIQUE | |||||
| 11|CDD SURCROIT DE TRAVAIL | |||||
| 12|CDD REMPL. MALADIE / AT | |||||
| 13|CDD REMPL. MATERNITE | |||||
| 14|CDD REMPL. CONGES PAYES | |||||
| 15|CDD REMPL. CONGES PARENTAL | |||||
| 16|CDD REMPL. DISPONIBILITE | |||||
| 17|CDD REMPL. EVENEMENTS FAMILIAUX | |||||
| 18|CDD REMPL. ENFANTS MALADES | |||||
| 19|CDD REMPL. FORMATION | |||||
| 20|CDD REMPL. RECUPERATION | |||||
| 21|CDD REMPL. DELEGATION | |||||
| 28|CDD SUR POSTE TITULAIRE | |||||
| 29|CDD AUTRES | |||||
| 50|CDI REMPLACEMENT | |||||
| 51|CDI REMPLACEMENT DEPART RETRAITE | |||||
| 52|CDI REMPLACEMENT DEPART PRE-RETRAITE | |||||
| 53|CDI REMPLACEMENT DEMISSION | |||||
| 54|CDI REMPLACEMENT LICENCIEMENT | |||||
| 55|CDI REMPLACEMENT DECES | |||||
| 56|CDI REMPLACEMENT TEMPS PARTIEL DEFINITIF | |||||
| 60|CDI CREATION POSTE 35 HEURES | |||||
| 70|CDI CREATION POSTE NON BUDGETE | |||||
| 71|CDI CREATION POSTE BUDGET COMA | |||||
| 72|CDI CREATION POSTE BUDGET SOINS PALIATIFS | |||||
| 90|CHANGEMENT DE CATEGORIE PROFESSIONNELLE | |||||
| 91|NOUVELLES CONDITIONS CONTRACTUELLES | |||||
| 92|MUTATION | |||||
| @ -0,0 +1,13 @@ | |||||
| 10|Non Cadre | |||||
| 11|Cadre Emploie Multiple | |||||
| 12|Non cadre retraité FP | |||||
| 20|Cadre | |||||
| 30|Cadre Dirigeant | |||||
| 50|Emploi Jeune | |||||
| 51|Qualification | |||||
| 52|Contrat Initiative Emploi | |||||
| 53|Emploi Solidarité | |||||
| 54|Emploi Consolidé | |||||
| 60|Employé TP exo 30% | |||||
| 80|Emploi protégé | |||||
| 90|Apprenti | |||||
| @ -0,0 +1,201 @@ | |||||
| 100|FRANCE | |||||
| 101|DANEMARK | |||||
| 102|ISLANDE | |||||
| 103|NORVEGE | |||||
| 104|SUEDE | |||||
| 105|FINLANDE | |||||
| 106|ESTONIE | |||||
| 107|LETTONIE | |||||
| 108|LITUANIE | |||||
| 109|ALLEMAGNE | |||||
| 110|AUTRICHE | |||||
| 111|BULGARIE | |||||
| 112|HONGRIE | |||||
| 113|LIECHTENSTEIN | |||||
| 114|ROUMANIE | |||||
| 115|TCHECOSLOVAQUIE | |||||
| 119|CROATIE | |||||
| 121|YOUGOSLAVIE | |||||
| 122|POLOGNE | |||||
| 123|RUSSIE | |||||
| 125|ALBANIE | |||||
| 126|GRECE | |||||
| 127|ITALIE | |||||
| 128|SAN MARIN | |||||
| 129|VATICAN | |||||
| 130|ANDORRE | |||||
| 131|BELGIQUE | |||||
| 132|ROYAUME UNI | |||||
| 133|GIBRALTAR | |||||
| 134|ESPAGNE | |||||
| 135|PAYS BAS | |||||
| 136|EIRE | |||||
| 137|LEXEMBOURG | |||||
| 138|MONACO | |||||
| 139|PORTUGAL | |||||
| 140|SUISSE | |||||
| 143|CHYPRE | |||||
| 144|MALTE | |||||
| 145|SLOVNIE | |||||
| 146|ARMENIE | |||||
| 147|AZERBAIDJAN | |||||
| 148|BIELORUSSIE | |||||
| 149|KAZAKHSTAN | |||||
| 150|KIRGHIZISTAN | |||||
| 151|MOLDAVIE | |||||
| 152|OUZELISTAN | |||||
| 153|TADJIKISTAN | |||||
| 154|TUKMENISTAN | |||||
| 155|UKRAINE | |||||
| 201|ARABIE SAOUDITE | |||||
| 203|IRAQ | |||||
| 204|IRAN | |||||
| 205|LIBAN | |||||
| 206|SYRIE | |||||
| 207|ISRAEL | |||||
| 208|TURQUIE | |||||
| 212|AFGHANISTAN | |||||
| 213|PAKISTAN | |||||
| 214|BOUTHAN | |||||
| 215|NEPAL | |||||
| 216|CHINE | |||||
| 217|JAPON | |||||
| 219|THAILANDE | |||||
| 220|PHILIPPINES | |||||
| 222|JORDANIE | |||||
| 223|INDE | |||||
| 224|BIRMANIE | |||||
| 225|BRUNEI | |||||
| 226|SINGAPOUR | |||||
| 227|MALAISIE | |||||
| 229|MALDIVES | |||||
| 230|HONG KONG | |||||
| 231|INDONESIE | |||||
| 232|MACAO | |||||
| 234|CAMBODGE | |||||
| 235|SRI LANKA | |||||
| 236|TAIWAN | |||||
| 237|COREE | |||||
| 238|COREE DU NORD | |||||
| 239|CORRE DU SUD | |||||
| 240|KOWAIT | |||||
| 241|LAOS | |||||
| 242|MONGOLIE | |||||
| 243|VIET NAM | |||||
| 246|BANGLADESH | |||||
| 247|EMIRAT ARABES UNIS | |||||
| 248|QATAR | |||||
| 249|BAHREIN | |||||
| 250|OMAN | |||||
| 251|YEMEN | |||||
| 301|EGYPTE | |||||
| 302|LIBERIA | |||||
| 303|AFRIQUE DU SUD | |||||
| 304|GAMBIE | |||||
| 306|SAINTE HELENE | |||||
| 308|ILES CHAGOS | |||||
| 309|TANZANIE | |||||
| 310|ZIMBABWE | |||||
| 311|NAMIBIE | |||||
| 312|ZAIRE | |||||
| 313|CANARIES | |||||
| 314|GUINEE EQUATORIALE | |||||
| 315|ETHIOPIE | |||||
| 316|LYBIE | |||||
| 318|SOMALIE | |||||
| 319|ACORES MADERE | |||||
| 321|BURUNDI | |||||
| 322|CAMEROUN | |||||
| 323|CENTRAFRIQUE | |||||
| 324|CONGO | |||||
| 326|COTE D'IVOIRE | |||||
| 327|BENIN | |||||
| 328|GABON | |||||
| 329|GHANA | |||||
| 330|GUINEE | |||||
| 331|BURKINA FASSO | |||||
| 332|KENYA | |||||
| 333|MADAGASCAR | |||||
| 334|MALAWI | |||||
| 335|MALI | |||||
| 336|MAURITANIE | |||||
| 337|NIGER | |||||
| 338|NIGERIA | |||||
| 339|OUGANDA | |||||
| 340|RWANDA | |||||
| 341|SENEGAL | |||||
| 342|SIERRA LEONE | |||||
| 343|SOUDAN | |||||
| 344|TCHAD | |||||
| 345|TOGO | |||||
| 346|ZAMBIE | |||||
| 347|BOTSWANA | |||||
| 348|LESOTHO | |||||
| 350|MAROC | |||||
| 351|TUNISIE | |||||
| 352|ALGERIE | |||||
| 390|MAURICE | |||||
| 391|SWAZILAND | |||||
| 392|GUINE-BISSAU | |||||
| 393|MOZAMBIQUE | |||||
| 394|SAO TOME | |||||
| 395|ANGOLA | |||||
| 396|CAP VERT | |||||
| 397|COMORES | |||||
| 398|SEYCHELLE | |||||
| 399|DJIBOUTI | |||||
| 401|CANADA | |||||
| 404|ETATS UNIS | |||||
| 405|MEXIQUE | |||||
| 406|COSTA RICA | |||||
| 407|CUBA | |||||
| 408|SAINT DOMINGUE | |||||
| 409|GUATEMALA | |||||
| 410|HAITI | |||||
| 411|HONDURAS | |||||
| 412|NICARAGUA | |||||
| 413|PANAMA | |||||
| 414|SALVADOR | |||||
| 415|ARGENTINE | |||||
| 416|BRESIL | |||||
| 417|CHILI | |||||
| 418|BILIVIE | |||||
| 419|COLOMBIE | |||||
| 420|EQUATEUR | |||||
| 421|PARAGUAY | |||||
| 422|PEROU | |||||
| 423|URUGUAY | |||||
| 424|VENEZUELA | |||||
| 425|ILES VIERGES BERMUDES CAIMAN | |||||
| 426|JAMAIQUE | |||||
| 427|ILES MALOUINES | |||||
| 428|GYUANA | |||||
| 429|BELIZE | |||||
| 430|GROENLAND | |||||
| 431|ANTILLES NEERLANDAISES | |||||
| 432|PORTO RICO | |||||
| 433|TRINITE ET TOBAGOO | |||||
| 434|BARBADE | |||||
| 435|GRENADE | |||||
| 436|BAHAMAS | |||||
| 437|SURINAM | |||||
| 438|DOMINIQUE | |||||
| 439|SAINT LUCIE | |||||
| 440|SAINT VINCENT ET LES GRENADINES | |||||
| 441|ANTIGUA ET BARBUDA | |||||
| 442|SAINT CHRISTOPHE ET NIEVES | |||||
| 501|AUSTRALIE | |||||
| 502|NOUVELLE ZELANDE | |||||
| 503|ILES PITCAIRN | |||||
| 505|MARIANNES | |||||
| 506|SAMOA OCCIDENTALES | |||||
| 507|NAURU | |||||
| 508|FIDJI | |||||
| 509|TONGA | |||||
| 510|NOUVELLE GUINEE | |||||
| 511|TUVALU | |||||
| 512|SALOMON | |||||
| 513|KIRIBATI | |||||
| 514|VANUATU | |||||
| 515|ILES MARSHALL | |||||
| 516|MICRONESIE | |||||
| @ -0,0 +1,22 @@ | |||||
| CE|RUPTURE ANTICIPEE CDD PAR L'EMPLOYEUR | |||||
| CS|RUPTURE ANTICIPEE CDD PAR LE SALARIE | |||||
| DC|DECES | |||||
| DD|DEMISSION CDD | |||||
| DI|FIN DE CDD AVEC REPRISE | |||||
| DM|DEMISSION | |||||
| FA|FIN CONTRAT APPRENTISSAGE | |||||
| FC|FIN CDD | |||||
| FE|FIN PERIODE D'ESSAI PAR L'EMPLOYEUR | |||||
| FS|FIN PERIODE D'ESSAI PAR LE SALARIE | |||||
| FT|FIN DE STAGE | |||||
| LE|LICENCIEMENT ECONOMIQUE | |||||
| LG|LICENCIEMENT FAUTE GRAVE | |||||
| LI|LICENCIEMENT INAP PHYSIQUE | |||||
| LL|LICENCIEMENT FAUTE LOURDE | |||||
| LM|LICENCIEMENT LONGUE MALADIE | |||||
| LP|LICENCIEMENT CAUSE PERSONNELLE | |||||
| LS|LICENCIEMENT FAUTE SIMPLE | |||||
| RC|RUPTURE CONVENTION DE CONVERSION LIC. ECO. | |||||
| RD|DEPART RETRAITE | |||||
| RM|MISE A LA RETRAITE | |||||
| TF|TRANSFERT FILIALE | |||||
| @ -0,0 +1,795 @@ | |||||
| A000|PAIE DE COMPLEMENT|0 | |||||
| A001|DATE DE PAYE |-1 | |||||
| A002|PERIODE DE PAYE |-1 | |||||
| A004|N° DE CONTRAT|-1 | |||||
| A005|DATE DEBUT PERIODE DE PAIE|0 | |||||
| A006|DATE FIN PERIODE DE PAIE|-1 | |||||
| A007|MODE DE REGLEMENT |0 | |||||
| A010|NOMBRE JOURS SS |-1 | |||||
| A011|NOMBRE JOURS SS MANUEL |-1 | |||||
| A019|BULLETIN EXCLU BASE 10EMME|0 | |||||
| A020|CP ACQUIS|0 | |||||
| A022|CP ANCIENNETE ACQUIS|0 | |||||
| A056|CODE EMPLOI|-1 | |||||
| A060|EMPLOI|0 | |||||
| A064|CODE INSEE EMPLOI |-1 | |||||
| A066|GRILLE INDICIAIRE|0 | |||||
| A067|NIVEAU|0 | |||||
| A068|ECHELON|0 | |||||
| A070|COEFFICIENT|0 | |||||
| A080|HEURES THEORIQUES|0 | |||||
| A085|JOURS OUVRES THEORIQUES PAYES|0 | |||||
| A090|SLD TT COMPTE A PAYER EN BULLETIN COMPL|0 | |||||
| A155|HORAIRE MENSUEL|0 | |||||
| A15A|Heures avenant|0 | |||||
| A200|FORMATION : SANS MAINTIEN DE SALAIRE|0 | |||||
| A250|DROIT RTT MENSUEL|0 | |||||
| A51Q|QUART-TREIZIEME MOIS|0 | |||||
| A51T|DEMI-TREIZIEME MOIS|0 | |||||
| A890|CODE ETABLISSEMENT|-1 | |||||
| A900|SECTION 1|0 | |||||
| A901|SOUS-SECTION|0 | |||||
| A902|SECTION 3|0 | |||||
| A903|SECTION 4|0 | |||||
| A904|SECTION 5|0 | |||||
| A905|SECTION 6|0 | |||||
| A906|SECTION 7|0 | |||||
| A907|SECTION 8|0 | |||||
| A908|SECTION 9|0 | |||||
| A909|SECTION 10|0 | |||||
| A990|VENTILATION COMPTABLE|0 | |||||
| AFIA|Regul Allègemet FILLON|0 | |||||
| ALOF|Allocations familiales|0 | |||||
| AP00|BULLETIN DE PORTABILITE|0 | |||||
| AZGC|Grille des cumuls forcés|0 | |||||
| B001|COMMENTAIRE|-1 | |||||
| B005|SALAIRE CONVENTIONNEL|0 | |||||
| B006|SALAIRE HORAIRE JOUR|-1 | |||||
| B007|SALAIRE HORAIRE NUIT|-1 | |||||
| B008|SALAIRE HORAIRE|-1 | |||||
| B009|SALAIRE CONVENTIONNEL CCU|0 | |||||
| B010|SALAIRE DE BASE|0 | |||||
| B013|COMPLEMENT SALAIRE SMIC|-1 | |||||
| B014|COMPLEMENT RTT|-1 | |||||
| B017|COMMENTAIRE|-1 | |||||
| B018|RAPPEL DE SALAIRE DE BASE|-1 | |||||
| B019|RAPPEL HEURES MOIS PRECEDENT|-1 | |||||
| B01A|RAPPEL SALAIRE INDICIAIRE|-1 | |||||
| B020|--- COMPLEMENT DE SALAIRE|0 | |||||
| B030|INDEMNITE DIFFERENTIELLE|0 | |||||
| B032|COMPLEMENT DE SALAIRE|0 | |||||
| B040|SALAIRE DE BASE|-1 | |||||
| B04V|Vacation|-1 | |||||
| B04W||-1 | |||||
| B05Z|********** ASTREINTE|-1 | |||||
| B060|ASTREINTES A DOMICILE|-1 | |||||
| B061|ASTREINTES NON TRAVAILLEES |-1 | |||||
| B062|ASTREINTES TRAVAILLE|-1 | |||||
| B070|--- PRIMES ETABLISSEMENT|0 | |||||
| B071|ASTREINTE|-1 | |||||
| B072|PRIME DE RESPONSABILITE|-1 | |||||
| B073|PRIME DE LINGERIE|-1 | |||||
| B074|PRIME DE LINGE|-1 | |||||
| B075|ASTREINTE ADMINISTRATIVE|-1 | |||||
| B076|PRIME DE TECHNICITE|-1 | |||||
| B077|PRIME D'ASSIDUITE|-1 | |||||
| B082|COMMENTAIRE|-1 | |||||
| B084|REGUL SALAIRE BRUT CONVENTION|-1 | |||||
| B091|PRIME DE DIALYSE|-1 | |||||
| B092|PRIME EXCEPTIONNELLE|-1 | |||||
| B093|PRIME SUR VARIABLE|-1 | |||||
| B094|PRIME/FONCTION|-1 | |||||
| B095|PRIME D'INSTALLATION|-1 | |||||
| B097|COMMENTAIRE|-1 | |||||
| B098|REGULARISATION DE BRUT|-1 | |||||
| B100|------ HEURES -----|0 | |||||
| B101|COMMENTAIRE|-1 | |||||
| B102|HRS COMPL TEPA|-1 | |||||
| B103|HEURES SUPPL 25 % AVEC RC|-1 | |||||
| B104|HRS COMPLEMENTAIRE|-1 | |||||
| B105|HRS COMPL. 10%|-1 | |||||
| B106|HRS SUPPL 25% TEPA|-1 | |||||
| B107|REGUL HEURES SUPPL. A 25 %|-1 | |||||
| B108|HEURES SUPPL 25%|-1 | |||||
| B109|HRS COMPL. 25%|-1 | |||||
| B110|HEURES SUPPLEMENTAIRES 50%|-1 | |||||
| B111|regul HRS COMPLEMENTAIRE|-1 | |||||
| B112|REGUL HEURES SUPPL. A 50 %|-1 | |||||
| B114|HEURES SUPPLEMNTAIRES 100%|-1 | |||||
| B116|REGUL HEURES SUPPL. A 100 %|-1 | |||||
| B200|----- DEDUCTION ENTRE SORTIE|0 | |||||
| B202|DEDUCTION ENTREE SORTIE|-1 | |||||
| B204|DEDUCTION ENTREE SORTIE|-1 | |||||
| B21Z|----- SUSPENTION DE CONTRAT|0 | |||||
| B220|PERIODE SUSPENSION CONTRAT |-1 | |||||
| B222|SUSPENSION CONGE PARENTAL|-1 | |||||
| B224|SUSPENSION CONGE SABATIQUE|-1 | |||||
| B226|SUSPENSION CREATION ENTREPRISE|-1 | |||||
| B228|SUSPENSION SERVICE MILITAIRE|-1 | |||||
| B230|SUSPENSION CONGE SOLIDARITE |-1 | |||||
| B232|SUSPENSION CONGE FORMATION|-1 | |||||
| B234|SUSPENS CONVENANCE PERSONNELLE|-1 | |||||
| B238|SUSPENSION INCAPACITE DE TRAVAIL|-1 | |||||
| B239|SUSPENSION MISE A PIED|-1 | |||||
| B23A|SUSPENSION THERAPEUTIQUE (H)|-1 | |||||
| B23B|SUSPENSION THERAPEUTIQUE (1/30)|-1 | |||||
| B23C|MAINTIEN THERAPEUTIQUE|-1 | |||||
| B240|-----------------------------ABSENCE RTT|0 | |||||
| B241|COMMENTAIRE|-1 | |||||
| B242|PERIODE ABSENCE RTT|-1 | |||||
| B244|ABSENCE RTT|-1 | |||||
| B246|MAINTIEN RTT|-1 | |||||
| B24A|--------------ABSENCE CPTE EPARGNE TEMPS|0 | |||||
| B24C|PERIODE ABSENCE CET|-1 | |||||
| B24E|HEURES C.E.T. PRISES|-1 | |||||
| B24G|MAINTIEN ABSENCES C.E.T.|-1 | |||||
| B250|-------------------------ABSENCES DIVERS|0 | |||||
| B258|PERIODE ABSENCES DIVERSES|-1 | |||||
| B259|ABSENCES DIVERSES|-1 | |||||
| B260|ABSENCES DIVERSES HRS|-1 | |||||
| B261|PERIODE ABSENCES RECUPERATION|-1 | |||||
| B262|ABSENCE RECUPERATION|-1 | |||||
| B263|MAINTIEN ABSENCE RECUPERATION|-1 | |||||
| B264|PERIODE ABSENCE AUTORISEE|0 | |||||
| B265|ABSENCE AUTORISEE|-1 | |||||
| B266|MAINTIEN ABS AUTORISEE|-1 | |||||
| B26Z|----------------------ABSENCE FORMATIONS|0 | |||||
| B270|PERIODE ABSENCE FORMATION|-1 | |||||
| B271|ABSENCE FORMATION|-1 | |||||
| B272|MAINTIEN ABS. FORMATION|-1 | |||||
| B275|PERIODE ABSENCE FORMATION E.S.S.|-1 | |||||
| B276|ABSENCE FORMATION E.S.S.|-1 | |||||
| B277|MAINTIEN FORMATION E.S.S.|-1 | |||||
| B27Z|------------ABSENCE EVENEMENTS FAMILIAUX|0 | |||||
| B280|PERIODE EVENEMENTS FAMILIAUX|-1 | |||||
| B281|ABSENCE EVENEMENTS FAMILIAUX|-1 | |||||
| B282|MAINTIEN ABS. EVENEMENTS FAMILIAUX|-1 | |||||
| B28Z|-----------------ABSENCE ENFANTS MALADES|0 | |||||
| B290|PERIODE ENFANTS MALADES|-1 | |||||
| B291|ABSENCE ENFANTS MALADES|-1 | |||||
| B292|MAINTIEN ABS. ENFANTS MALADES|-1 | |||||
| B300|-------------------------ABSENCE MALADIE|0 | |||||
| B301|COMMENTAIRE|-1 | |||||
| B302|PERIODE ABSENCE MALADIE|-1 | |||||
| B303|MISE A PIED CONSERVATOIRE|-1 | |||||
| B304|ABSENCE MALADIE |-1 | |||||
| B305|HEURES DE MALADIE|0 | |||||
| B306|MAINTIEN ABS. MALADIE A TAUX 1|-1 | |||||
| B308|MAINTIEN ABS. MALADIE A TAUX 2|-1 | |||||
| B30A|MAINTIEN ABS. MALADIE A TAUX 3|-1 | |||||
| B30E|DEDUCTION DES IJSS MALADIE|-1 | |||||
| B30G|IJSS DE SUBROGATION MALADIE|0 | |||||
| B30I|IJ PREVOYANCE MALADIE|-1 | |||||
| B30J|Régul Absence maladie|-1 | |||||
| B310|-------------ABSENCE ACCIDENT DU TRAVAIL|0 | |||||
| B312|PERIODE ABSENCE AT|-1 | |||||
| B314|ABSENCE AT|-1 | |||||
| B315|HEURES DE AT|0 | |||||
| B316|MAINTIEN ABSENCE AT A TAUX 1|-1 | |||||
| B318|MAINTIEN ABSENCE AT A TAUX 2|-1 | |||||
| B31A|MAINTIEN ABSENCE AT A TAUX 3|-1 | |||||
| B31E|DEDUCTION DES IJSS AT|-1 | |||||
| B31G|IJSS DE SUBROGATION AT|0 | |||||
| B31I|IJ PREVOYANCE AT|-1 | |||||
| B320|----------------------ABSENCE MATERNITE|0 | |||||
| B322|PERIODE ABSENCE MATERNITE|-1 | |||||
| B324|ABSENCE MATERNITE|-1 | |||||
| B325|HEURES DE MATERNITE|0 | |||||
| B326|MAINTIEN ABS MATERNITE|-1 | |||||
| B327|REGUL ABSENCE MATERNITE|-1 | |||||
| B32E|DEDUCTION DES IJSS MATERNITE|-1 | |||||
| B32G|IJSS DE SUBROGATION MATERNITE|0 | |||||
| B32I|IJ PREVOYANCE MATERNITE|-1 | |||||
| B330|------------------ABSENCE CONGE PARENTAL|0 | |||||
| B332|PERIODE ABSENCE CONGES PARENTAL|-1 | |||||
| B334|ABSENCE CONGE PARENTAL|-1 | |||||
| B340|------------------MI TEMPS THERAPEUTIQUE|0 | |||||
| B342|PERIODE MI-TEMPS THERAPEUTIQUE|-1 | |||||
| B344|ABSENCE MI-TEMPS THERAPEUTIQUE|-1 | |||||
| B346|MAINTIEN MI-TEMPS THERAPEUTIQUE|-1 | |||||
| B34E|DEDUCTION DES IJSS MI-TEMPS|-1 | |||||
| B34G|IJSS DE SUBROGATION MI-TEMPS|0 | |||||
| B34I|IJ PREVOYANCE MI-TEMPS|-1 | |||||
| B350|-----------------------ABSENCE PATERNITE|0 | |||||
| B352|PERIODE ABSENCE PATERNITE|-1 | |||||
| B354|ABSENCE D'ABSENCE PATERNITE|-1 | |||||
| B356|MAINTIEN ABSENCE PATERNITE|-1 | |||||
| B360|------------------ABSENCE LONGUE MALADIE|0 | |||||
| B362|PERIODE ABS LONGUE MALADIE|-1 | |||||
| B364|ABSENCE LONGUE MALADIE |-1 | |||||
| B365|HEURES DE LONGUE MALADIE|0 | |||||
| B366|MAINTIEN ABS. LONGUE MALADIE A TAUX 1|-1 | |||||
| B368|MAINTIEN ABS. LONGUE MALADIE A TAUX 2|-1 | |||||
| B36A|MAINTIEN ABS. LONGUE MALADIE A TAUX 3|-1 | |||||
| B36E|DEDUCTION DES IJSS LONGUE MALADIE|-1 | |||||
| B36G|IJSS DE SUBROGATION LONGUE MALADIE|0 | |||||
| B36I|IJ PREVOYANCE LONGUE MALADIE|-1 | |||||
| B500|------ INDEMNITE DIMANCHE FERIE|0 | |||||
| B501|COMMENTAIRE|-1 | |||||
| B502|FERIE NON TRAVAILLE|-1 | |||||
| B503|PAYEMENT RC FERIE NON TRV|0 | |||||
| B504|INDEMINITE DE FERIE NON TRAVAILLE|-1 | |||||
| B505|INDEMNITE FERIE TRAVAILLE|-1 | |||||
| B506|INDEMNITE 1er mai TRAVAILLE|-1 | |||||
| B507|PAYEMENT RC FERIE TRAVAIL|0 | |||||
| B508|INDEMNITE DIMANCHE TRAVAILLE|-1 | |||||
| B509|PAYEMENT RC DIMANCHE TRAVAIL|0 | |||||
| B50A|HEURES RC FERIE ACQUIS|0 | |||||
| B50B|PAIEMENT HEURES RC FERIE|-1 | |||||
| B50C|********** PRIME DE NUIT|-1 | |||||
| B50E|PRIME DE NUIT|-1 | |||||
| B50F|PAYEMENT RC DE NUIT|0 | |||||
| B50G|HEURES RC DE NUIT ACQUIS|0 | |||||
| B50J|PAIEMENT HEURES RC DE NUIT|-1 | |||||
| B50K|PAIEMENT HEURES 1er MAI|-1 | |||||
| B50M|MAINTIEN PRIME DE NUIT AT|-1 | |||||
| B50N|HEURES RC ACQUISES|-1 | |||||
| B50P|COMMENTAIRE|-1 | |||||
| B510|------ PRIME|0 | |||||
| B512|PRIME EXCEPTIONNELLE|-1 | |||||
| B513|PRIME EXCEPTIONNELLE|-1 | |||||
| B514|INDEMNITE DEPART EN RETRAITE|-1 | |||||
| B519|INDEMNITE COMPENSATRICE DE PREAVIS|-1 | |||||
| B51A|------ PRIME DE FIN D'ANNEE|0 | |||||
| B51C|PRIME DE FIN D'ANNEE|-1 | |||||
| B51D|13è mois|-1 | |||||
| B51Q|QUART-TREIZIEME MOIS|-1 | |||||
| B51T|DEMI-TREIZIEME MOIS|-1 | |||||
| B520|--------------------REPOS COMPENSATEURS |0 | |||||
| B521|PERIODE ABSENCE RC|-1 | |||||
| B522|HEURES ABSENCE RC|-1 | |||||
| B523|HEURES MAINTIEN RC|-1 | |||||
| B526|PAIEMENT SOLDE HEURES RC|-1 | |||||
| B528|PAIEMENT HEURES RC|-1 | |||||
| B530|------ AVANTAGE EN NATURE|0 | |||||
| B532|AVANTAGE EN NATURE PETIT DEJEUNE|-1 | |||||
| B533|AVANTAGE EN NATURE REPAS|-1 | |||||
| B53L|AVANTAGES LOGEMENT |-1 | |||||
| B53V|AVANTAGE EN NATURE VOITURE|-1 | |||||
| B54A|------ COMPLEMENT RAG|0 | |||||
| B54S|ETAT RAG Za = Bulletin ZB = Cumul |0 | |||||
| B54V|COMPLEMENT RAG|-1 | |||||
| B54W|** BASE MAINTIEN MOIS/CAL/OUVRE/OUVRA/HR|0 | |||||
| B54Z|** BASE 1/10 CP MOIS/REL/REF/NEW|0 | |||||
| B550|PERIODE CONGES PAYES|-1 | |||||
| B551|ABSENCE CONGES PAYES|-1 | |||||
| B552|INDEMNITE CP Année antérieure|-1 | |||||
| B553|INDEMNITE CP Année encours|-1 | |||||
| B554|INDEMNITE CP Année future|-1 | |||||
| B556|INDEMNITE CP Fractionnement|-1 | |||||
| B558|INDEMNITE CP Ancienneté|-1 | |||||
| B55P|COMMENTAIRE|-1 | |||||
| B55Z|------ IND.COMP. CP -------|0 | |||||
| B561|DECLANCHEMENT IND.COMP. CP CDI|0 | |||||
| B562|IND.COMP. CP Antérieur|-1 | |||||
| B563|IND.COMP. CP Année encours|-1 | |||||
| B564|IND.COMP. CP Année future|-1 | |||||
| B566|IND.COMP. CP Fractionnement|-1 | |||||
| B568|IND.COMP. CP Ancienneté|-1 | |||||
| B56B|PAIEMENT IND.COMP. CP Année antérieure|-1 | |||||
| B56C|PAIEMENT IND.COMP. CP Année encours|-1 | |||||
| B56D|PAIEMENT IND.COMP. CP Année future|-1 | |||||
| B56G|INDEMNITE CONGES PAYES|-1 | |||||
| B56H|PAIEMENT IND.COMP. CP|-1 | |||||
| B56Z|------ IND.COMP. CP CDD -------|0 | |||||
| B570|INDEMNITE DE PRECARITE|-1 | |||||
| B571|DECLANCHEMENT IND.COMP. CP CDD|0 | |||||
| B573|IND.COMP. CP CDD Année encours|-1 | |||||
| B574|IND.COMP. CP CDD Année futur|-1 | |||||
| B576|IND.COMP. CP CDD Fractionnement|-1 | |||||
| B578|IND.COMP. CP CDD Ancienneté|-1 | |||||
| B57M|IND.COMP. CP CDD Année en cours **|-1 | |||||
| B57P|INDEMNITE CONGES PAYES CDD (Mensuelle)|-1 | |||||
| B57Z|------ IND.PRECARITE CDD -------|0 | |||||
| B580|INDEMNITE DE PRECARITE|-1 | |||||
| B582|INDEMNITE DE PRECARITE|-1 | |||||
| B590|COMPLEMENT AU 10EME|-1 | |||||
| B595|INDEMNITE COMPENSATRICE CP|-1 | |||||
| B598|INDEMNITE CONGES PAYES CDD|-1 | |||||
| B5ZZ|----- INDEMNITES JOURNALIERES ----|0 | |||||
| B600|IJSS|-1 | |||||
| B601|REGULARISATION BASE NEGATIVE |-1 | |||||
| B60E|DEDUCTION I.J.S.S. BRUTES A PERCEVOIR|-1 | |||||
| B60M|I.J.S.S. BRUTES|-1 | |||||
| B610|MAINTIEN DU NET|-1 | |||||
| B640|IND. PREVOYANCE SOUMISE|-1 | |||||
| B641|IND. PREVOYANCE EXONEREE|-1 | |||||
| B64M|IND. PREVOYANCE (Régul. base cotis.)|-1 | |||||
| B65A|MAINTIEN SALAIRE 100% BRUT SOUMIS|-1 | |||||
| B65B|MAINTIEN SALAIRE 100% BRUT EXO|-1 | |||||
| B65C|MAINTIEN SALAIRE 80% BRUT SOUMIS|-1 | |||||
| B65D|MAINTIEN SALAIRE 80% BRUT EXO|-1 | |||||
| B65I|I.J.S.S. BRUT SOUMIS|-1 | |||||
| B65J|I.J.S.S. BRUT EXO|-1 | |||||
| B750|INDEMNITE DEPART RETRAITE |-1 | |||||
| B760|IND. LICENCIEMENT CONVENTIONNELLE|-1 | |||||
| B761|IND. LICENCIEMENT non imposable|-1 | |||||
| B765|INTERESSEMENT|-1 | |||||
| B79Z|--- Salaire Emploi protégé (HAND) ----|0 | |||||
| B800|ABATTEMENT Salaire Emploi Protégé (50%)|-1 | |||||
| B805|COMPLEMENT ETAT Salaire Emploi Protégé|-1 | |||||
| B830|----- AVANTAGES EN NATURE -----|0 | |||||
| B833|AVANTAGES EN NATURE REPAS|-1 | |||||
| B851|AVANTAGES NOURRITURE |-1 | |||||
| B855|AVANTAGES LOGEMENT |-1 | |||||
| B860|AVANTAGES VOITURE|-1 | |||||
| B865|AVANTAGES AUTRES |-1 | |||||
| B880|************************** RAPPEL|-1 | |||||
| B88B|RAPPEL COEFFICIEN|-1 | |||||
| B88C|RAPPEL ASTREINTES A DOMICILE|-1 | |||||
| B88D|RAPPEL FERIE NON TRAVAILLE|-1 | |||||
| B88E|RAPPEL INDEMNITE DIMANCHE ET FERIE|-1 | |||||
| B88F|RAPPEL PRIME DE NUIT|-1 | |||||
| B88Z|--- COMPTE EPARGNE TEMPS ----|0 | |||||
| B890|ALIMENTATION COMPTE EPARGNE TEMPS (en H)|-1 | |||||
| B89Z|**** BASE BRUT MOINS IJSS MOIS|0 | |||||
| B900|***************************** TOTAL BRUT|-1 | |||||
| B910|BASE COTISATION |0 | |||||
| B911|URSSAF TA/TB/TC/T3A/TAB |-1 | |||||
| B912|SUP_RETRAITE BR/PL/TA/TB/TC |-1 | |||||
| B9A0|SMIC FILLON|0 | |||||
| B9C0|MONTANT DIFFERENTIEL APPRENTI|0 | |||||
| BFIL|SALAIRE REFERENCE FILLON|0 | |||||
| C002|***** URSSAF ******* |-1 | |||||
| C008|CSG PARTICIPATION PLACEE|0 | |||||
| C105|CSG DEDUCTIBLE- HORS ABATTEMENT|-1 | |||||
| C106|CSG CRDS - HORS ABATTEMENT|0 | |||||
| C107|CSG REGUL |0 | |||||
| C108|CSG CRDS |0 | |||||
| C109|CSG DEDUCTIBLE |-1 | |||||
| C10A|REGUL CSG DEDUCTIBLE |-1 | |||||
| C10F|CSG NON DEDUCTIBLE HORS ABATTEMENT|0 | |||||
| C110|URSSAF / TOTALITE|-1 | |||||
| C11A|URSSAF / TOTALITE AL|-1 | |||||
| C11T|REGUL URSSAF / TOTALITE|-1 | |||||
| C12C|MAJORATION ALLOC. FAMILIALES |-1 | |||||
| C12D|MAJORATION ALLOC. FAMILIALES |-1 | |||||
| C12E|MAJORATION ALLOC. FAMILIALES |-1 | |||||
| C12P|REGUL MAJO ALLOC. FAMILIALES |-1 | |||||
| C12Q|REGUL MAJO ALLOC. FAMILIALES |-1 | |||||
| C12R|REGUL MAJO ALLOC. FAMILIALES PIGISTES|-1 | |||||
| C12S|REGUL MAJO ALLOC. FAMILIALES PIGISTES|-1 | |||||
| C141|FNAL SUPPL. TA|-1 | |||||
| C142|FNAL SUPPL. > PLAFOND|-1 | |||||
| C143|FNAL SUPPL. TA APP|-1 | |||||
| C144|FNAL SUPPL. > PLAFOND APP|-1 | |||||
| C145|FNAL SUPPL. TA ART|-1 | |||||
| C146|FNAL SUPPL. > PLAFOND ART|-1 | |||||
| C149|FORFAIT SOCIAL|-1 | |||||
| C14C|REGUL FNAL TR A|-1 | |||||
| C14D|REGUL FNAL > PLAFOND|-1 | |||||
| C150|URSSAF / PLAFOND |-1 | |||||
| C15T|REGUL URSSAF / PLAFOND|-1 | |||||
| C1A0|***** URSSAF Apprenti ******* |-1 | |||||
| C1A5|URSSAF / PLAFOND APPRENTI|-1 | |||||
| C1C0|***** URSSAF C.E.C. ******* |-1 | |||||
| C1C1|URSSAF / TOTALITE CEC Exonéré|-1 | |||||
| C1C5|URSSAF / PLAFOND CEC Exonéré|-1 | |||||
| C1CA|URSSAF / TOTALITE CEC Exonéré AL|-1 | |||||
| C1CS|CONTRIBUTION SOLIDARITE APPRENTI|-1 | |||||
| C1D0|***** URSSAF DETACHE F.PUBL ******* |-1 | |||||
| C1D1|URSSAF / TOTALITE Détaché Fonct.Publ|-1 | |||||
| C1D5|URSSAF / PLAFOND Détaché Fonct.Publ.|-1 | |||||
| C1DF| FORFAIT SOCIAL|-1 | |||||
| C1DZ|REGUL COTISATION FORFAIT SOCIAL|-1 | |||||
| C1E1|CONTRIBUTION SYNDICALE|-1 | |||||
| C1I0|***** URSSAF C.I.E. ******* |-1 | |||||
| C1I1|URSSAF / TOTALITE CIE Exonéré|-1 | |||||
| C1I5|URSSAF / PLAFOND CIE Exonéré|-1 | |||||
| C1IA|URSSAF / TOTALITE CIE Exonéré AL|-1 | |||||
| C1J0|***** URSSAF C.E.J. ******* |-1 | |||||
| C1J1|URSSAF / TOTALITE CEJ|-1 | |||||
| C1J5|URSSAF / PLAFOND CEJ|-1 | |||||
| C1JA|URSSAF / TOTALITE CEJ AL|-1 | |||||
| C1P0|***** URSSAF MEDECIN PEM ******* |-1 | |||||
| C1P1|URSSAF / TOTALITE Médecin PEM|-1 | |||||
| C1P5|URSSAF / PLAFOND Médecin PEM|-1 | |||||
| C1PA|URSSAF / TOTALITE Médecin PEM AL|-1 | |||||
| C1Q0|***** URSSAF C.Qualif. ******* |-1 | |||||
| C1Q1|URSSAF / TOTALITE C.Qualif. Exonéré|-1 | |||||
| C1Q5|URSSAF / PLAFOND C.Qualif. Exonéré|-1 | |||||
| C1QA|URSSAF / TOTALITE C.Qualif. Exonéré AL|-1 | |||||
| C1R0|***** URSSAF CRE ******* |-1 | |||||
| C1R1|URSSAF / TOTALITE CRE Exonéré|-1 | |||||
| C1R5|URSSAF / PLAFOND CRE Exonéré|-1 | |||||
| C1RA|URSSAF / TOTALITE CRE Exonéré AL|-1 | |||||
| C1S0|***** URSSAF C.E.S. ******* |-1 | |||||
| C1S1|URSSAF / TOTALITE CES Exonéré|-1 | |||||
| C1S5|URSSAF / PLAFOND CES Exonéré|-1 | |||||
| C1SA|URSSAF / TOTALITE CES Exonéré AL|-1 | |||||
| C1T0|***** URSSAF T.P. Exo 30% ******* |-1 | |||||
| C1T1|URSSAF / TOTALITE TP Exo 30%|-1 | |||||
| C1T5|URSSAF / PLAFOND TP Exo 30%|-1 | |||||
| C1TA|URSSAF / TOTALITE TP Exo 30% AL|-1 | |||||
| C200|***** URSSAF COTISATIONS COMMUNES ******|-1 | |||||
| C210|URSSAF FNAL / Totalite|-1 | |||||
| C211|URSSAF FNAL/Totalité REGUL|-1 | |||||
| C215|URSSAF FNAL AP / Tranche A |-1 | |||||
| C220|URSSAF ACCIDENT DU TRAVAIL|-1 | |||||
| C230|URSSAF VERSEMENT TRANSPORT|-1 | |||||
| C23R|URSSAF TRANSPORT REGUL |-1 | |||||
| C240|URSSAF TAXE SUR PREVOYANCE|-1 | |||||
| C242|REGUL TAXE SUR PREVOYANCE|-1 | |||||
| C244|REGUL ALLEGEMENT TEPA|-1 | |||||
| C245|CSG CRDS HRS. SUPP. |-1 | |||||
| C246|ALLEGEMENT HEURES SUPPL. SAL.|-1 | |||||
| C247|ALLEGEMENT HEURES SUPPL. PAT.|-1 | |||||
| C248|ALLEGEMENT HEURES SUPPL. PAT.|-1 | |||||
| C24R|REGUL ALLEGEMENT HRS SUPPL|-1 | |||||
| C250|***** URSSAF ALLEGEMENT ******* |-1 | |||||
| C251|URSSAF Reduction Bas Salaires|-1 | |||||
| C255|URSSAF Alleg AUBRY I|-1 | |||||
| C257|ALLEGEMENT FILLON|-1 | |||||
| C258|ALLEGEMENT FILLON ANNUALISE|-1 | |||||
| C259|URSSAF Alleg AUBRY II|-1 | |||||
| C25Z|******* Total URSSAF |-1 | |||||
| C260|ASSEDIC AC Tranche A |-1 | |||||
| C262|ASSEDIC ASF Tranche A |-1 | |||||
| C265|ASSEDIC AC Apprenti|-1 | |||||
| C266|ASSEDIC ASF Apprenti|-1 | |||||
| C26T|REGUL ASSEDIC Tranche A |-1 | |||||
| C270|ASSEDIC AC Tranche B |-1 | |||||
| C272|ASSEDIC ASF Tranche B |-1 | |||||
| C27R|ASSEDIC TB REGUL |-1 | |||||
| C290|ASSEDIC F.N.G.S. |-1 | |||||
| C291|ASSEDIC F.N.G.S. Apprenti |-1 | |||||
| C292|ASSEDIC F.N.G.S. REGUL |-1 | |||||
| C29Z|******* Total ASSEDIC |-1 | |||||
| C300|Humanis Retr. N.C. Tr.A|-1 | |||||
| C301|Humanis AGFF Tr.A|-1 | |||||
| C302|Humanis Retr. N.C. Tr.B|-1 | |||||
| C303|humanis AGFF Non Cadre Tr.B|-1 | |||||
| C304|Humanis T.B. NC. REGUL |-1 | |||||
| C305|AGFF N.C. T.B. REGUL |-1 | |||||
| C306|HumanisN.C. Tr.A retraité|-1 | |||||
| C307|Humanis AGFF Tr.A retraité|-1 | |||||
| C308|Humanis N.C. Tr.B retraité|-1 | |||||
| C309|Humanis AGFF NC Tr.B retraité|-1 | |||||
| C30A|Humanis Retr. Apprenti Tr.A|-1 | |||||
| C30B|Humanis Retr. Apprenti Tr.B|-1 | |||||
| C30C|Humanis Retr. Cadre Tr.A|-1 | |||||
| C30D|Humanis AGFF Cadre Tr.A|-1 | |||||
| C30M|Humanis Retr. Art.36 Tr.A|-1 | |||||
| C30N|Humanis AGFF Art. 36 Tr.A|-1 | |||||
| C30P|Humanis Regul. Retr. Tr.A|-1 | |||||
| C30Q|Humanis Regul. AGFF NC T.A.|-1 | |||||
| C30R|Humanis Regul. Retr. Cadre Tr.A|-1 | |||||
| C30Z|******* Total non cadre|-1 | |||||
| C500|MEDERIC Retr. Cadre Tr.A|-1 | |||||
| C501|MEDERIC AGFF Cadre Tr.A|-1 | |||||
| C502|MEDERIC Retr. Cadre Tr.B|-1 | |||||
| C503|MEDERIC AGFF Cadre Tr.B|-1 | |||||
| C504|MEDERIC Retr. Cadre Tr.C|-1 | |||||
| C505|REGUL MEDERIC Retr. Cadre Tr.A|-1 | |||||
| C506|REGUL MEDERIC Retr. Cadre Tr.B|-1 | |||||
| C507|REGUL MEDERIC Retr. Cadre Tr.C|-1 | |||||
| C50A|MEDERIC APEC Cadre Tr.B |-1 | |||||
| C50B|MEDERIC APEC Cadre Forfait Annuel|-1 | |||||
| C50C|MEDERIC CET |-1 | |||||
| C50D|MEDERIC APEC Cadre Tr.A |-1 | |||||
| C50G|MEDERIC Retr. cadre GMP|-1 | |||||
| C50H|MEDERIC GMP REGUL|-1 | |||||
| C50M|MEDERIC Retr. Art.36 TrB|-1 | |||||
| C50N|MEDERIC AGFF Art.36 TrB|-1 | |||||
| C50P|MEDERIC CET Art.36 |-1 | |||||
| C50Z|******* Total Cadres|-1 | |||||
| C510|MORNAY Retr. cadre Tr.A|-1 | |||||
| C512|MORNAY AGFF cadre Tr.A|-1 | |||||
| C513|MORNAY Retr. Cadre Tr.B|-1 | |||||
| C514|MORNAY AGFF Cadre Tr.B|-1 | |||||
| C515|MORNAY Retr. Cadre Tr.C|-1 | |||||
| C51A|MORNAY APEC Cadre Tr.B |-1 | |||||
| C51B|MORNAY APEC Cadre Forfait Annuel|-1 | |||||
| C51C|MORNAY CET |-1 | |||||
| C51G|MORNAY Retr. cadre GMP|-1 | |||||
| C51M|MORNAY Retr. Art.36 TrB|-1 | |||||
| C51N|MORNAY AGFF Art.36 TrB|-1 | |||||
| C51P|MORNAY CET Art.36 |-1 | |||||
| C51Z|******* Total cadre|-1 | |||||
| C520|GENERALI Retr. C.D.TrA |-1 | |||||
| C521|GENERALI Retr. C.D.TrB |-1 | |||||
| C522|GENERALI Retr. C.D. Tr.C|-1 | |||||
| C523|GENERALI Prév. C.D.TrA |-1 | |||||
| C524|GENERALI Prév. C.D.TrB |-1 | |||||
| C52Z|******* Total C.D.|-1 | |||||
| C650|VAUBAN Prév. Cadre TrA Incapacité décès|-1 | |||||
| C651|VAUBANPrév. Cadre TrA Maintien|-1 | |||||
| C652|VAUBAN PREV CADRE T.A INC REGUL|-1 | |||||
| C653|VAUBAN PREV CADRE T.A. MAINT.REGUL|-1 | |||||
| C655|VAUBAN Prév. Cadre TrB Incapacité décès|-1 | |||||
| C656|VAUBAN Prév. Cadre TrB Maintien|-1 | |||||
| C657|VAUBAN PREV CADRE T.B. INC REGUL|-1 | |||||
| C658|VAUBAN PREV CADRE T.B. MAINT. REGUL|-1 | |||||
| C65A|VAUBAN Prév. Cadre TrC Incapacité décès|-1 | |||||
| C65B|VAUBAN Prév. Cadre TrC Maintien|-1 | |||||
| C65R|VAUBAN Prév. Cadre REGUL|-1 | |||||
| C65Z|******* Total VAUBAN Prév. Cadre|-1 | |||||
| C660|Collecteam Prév. N.C TrA Incap décès|-1 | |||||
| C661|Collecteam Prév. N.C TrA Maintien|-1 | |||||
| C662|Regul Collecteam Prév. N.C TrA Incap|-1 | |||||
| C665|Collecteam Prév. N.C TrB Incap décès|-1 | |||||
| C666|Collecteam Prév. N.C TrB Maintien|-1 | |||||
| C667|Régul Collecteam Prév. N.C TrB Incap|-1 | |||||
| C66A|Collecteam Prév. N.C TrC Incap décès|-1 | |||||
| C66B|Collecteam Prév. N.C TrC Maintien|-1 | |||||
| C66R|Collecteam Prév. N.C REGUL|-1 | |||||
| C66Z|******* Total Collecteam Prév. N.C|-1 | |||||
| C700|MUTUELLE |-1 | |||||
| C710|MUTUELLE |-1 | |||||
| C805|MEDECINE DU TRAVAIL|0 | |||||
| C810|COMITE ENTREPRISE |0 | |||||
| C811|COMITE ENTREPRISE FONCTIONNEMENT|0 | |||||
| C820|AIDE A LA CONSTRUCTION|0 | |||||
| C82R|AIDE LOGEMENT REGUL |-1 | |||||
| C830|TAXE APPRENTISSAGE|0 | |||||
| C840|FC PLAN DE FORMATION|0 | |||||
| C841|FC FORMATION EN ALTERNANCE|0 | |||||
| C842|FC CONGE INDIVIDUEL FORMATION|0 | |||||
| C844|FORMATION PROFESSIONNEL CDD|0 | |||||
| C850|CONTRIBUTION HANDICAPES|0 | |||||
| C859|SOUS TOTAL AUTRES COTISATIONS|-1 | |||||
| C900|TAXE SUR LES SALAIRES TAUX NORMAL|0 | |||||
| C902|TAXE SUR LES SALAIRES 1ERE TAUX|0 | |||||
| C904|TAXE SUR LES SALAIRES 2EME TAUX|0 | |||||
| C905|TAXE SUR LES SALAIRES 3EME TAUX|0 | |||||
| C906|TAXE SUR LES SALAIRES PRORATA|0 | |||||
| C909|TOTAL TAXE SUR LES SALAIRES|-1 | |||||
| C910|PROVISION CP N|0 | |||||
| C912|CHARGE/PROVISION CP N|0 | |||||
| C920|PROVISION CP N-1|0 | |||||
| C922|CHARGE/PROVISION CP N-1|0 | |||||
| C930|PROVISION CP RELIQUAT|0 | |||||
| C932|CHARGE PROVISION CP RELIQUAT|0 | |||||
| C949|SOUS TOTAL PROVISIONS CP|0 | |||||
| D |********** TOTAL AUTRES COTIS.PATRONALES|-1 | |||||
| D000|******************** TOTAL COTISATIONS|-1 | |||||
| D001|COUT EMPLOYEUR|-1 | |||||
| D008|PARTICIPATION|-1 | |||||
| D009|INTERESSEMENT NET IMPOSABLE |-1 | |||||
| D010|INTERESSEMENT |-1 | |||||
| D015|IND. JOURNALIERES Sécurité Sociale|-1 | |||||
| D018|REGULARISATION DE COTISATION|-1 | |||||
| D01R|REGUL DEDUCTION HEURES SUPPL.|-1 | |||||
| D01S|DEDUCTION HEURES SUPPL.|-1 | |||||
| D020|NET IMPOSABLE |-1 | |||||
| E000|----- NON IMPOSABLE EN PLUS ----|-1 | |||||
| E005|CARTE ORANGE NON|0 | |||||
| E008|PARTICIPATION PLACEE|-1 | |||||
| E010|REMBOURSEMENT TRANSPORT|-1 | |||||
| E012|REMBOURSEMENT TRANSPORT|-1 | |||||
| E014|INDEMNITE DE TRANSPORT EXONEREE|-1 | |||||
| E015|FRAIS DE DEPLACEMENT|-1 | |||||
| E016|FRAIS DE DEPLACEMENT|-1 | |||||
| E017|FRAIS DE DEPLACEMENT|-1 | |||||
| E01R|REGUL REINTEGRATION HEURES SUPPL.|-1 | |||||
| E01S|REINTEGRATION HEURES SUPPL.|-1 | |||||
| E020|REMBOURSEMENT FRAIS|-1 | |||||
| E021|REMBOURSEMENT IJ MALADIE|-1 | |||||
| E022|REMBOURSEMENT SAISIE ARRET|-1 | |||||
| E030|INDEMNITE DE MISE A LA RETRAITE|-1 | |||||
| E040|INDEMNITE DE LICENCIEMENT|-1 | |||||
| E041|INDEM RUPTURE CONVENTIONNELLE|-1 | |||||
| E042|INDEMNITE SPECIALE LICENCIEMENT|-1 | |||||
| E044|AUTRES INDEMNITE LICENCIEMENT|-1 | |||||
| E045|INDEMNITE REQUALIFICATION|-1 | |||||
| E046|IND. POUR IRREGULARITE PROCEDURE|-1 | |||||
| E047|DOMMAGE & INTERET/LICENCIEMENT ABUSIF|-1 | |||||
| E048|INDEMNITE TRANSACTIONNELLE|-1 | |||||
| E050|PRIME DE PANIER|-1 | |||||
| E051|PRIME 1/2 PANIER|-1 | |||||
| E052|PRIME DE PANIER|-1 | |||||
| E060|DIVERS ACHATS +|-1 | |||||
| E300|PARTICIPATION CE MUTUELLE|-1 | |||||
| E301|REMBOURSEMENT MUTUELLE|-1 | |||||
| E691|INTERETS A COMPTER DU 01.04.1997|-1 | |||||
| E900|AVANCE PAYE NEGATIVE|-1 | |||||
| E960|INDEMN.PREVOYANCE NON CADRE (Nettes)|0 | |||||
| E96M|INDEMN.PREVOYANCE NON CADRE (Nettes) ***|0 | |||||
| E980|IND. JOURNALIERES Sécurité Sociale|-1 | |||||
| E98M|IND. JOURNALIERES Sécurité Sociale ***|-1 | |||||
| E98T|IND. JOURNALIERES Séc.Soc. MTT|-1 | |||||
| E990|** TOTAL NON IMPOSABLE PLUS **|0 | |||||
| F000|---- NON IMPOSABLE EN MOINS ----|-1 | |||||
| F001|REGULARISATION BASE FIN D'ANNEE|-1 | |||||
| F008|REPRISE PARTICIPATION PLACEE|-1 | |||||
| F010|ACOMPTE |-1 | |||||
| F012|ACOMPTE PERMANENT |-1 | |||||
| F014|AVANCE |-1 | |||||
| F015|ACOMPTE TREIZIEME MOIS|-1 | |||||
| F020|RETENUES DIVERSES |-1 | |||||
| F021|ACOMPTE PARKING|-1 | |||||
| F022|TICKETS RESTAURANTS|-1 | |||||
| F023|RETENUE DIVERSE|-1 | |||||
| F024|REPAS PRIS|-1 | |||||
| F025|REGULARISATION REPAS PRIS|-1 | |||||
| F026|REPAS PRIS TARIF 2|-1 | |||||
| F027|TICKETS REPAS|-1 | |||||
| F029|MUTUELLE REGULARISATION|-1 | |||||
| F02C|COLLATION|-1 | |||||
| F02S|TICKET SUPPLEMENT|-1 | |||||
| F030|MUTUELLE |-1 | |||||
| F031|REGULARISATION MUTUELLE |-1 | |||||
| F040|PENSION ALIMENTAIRE |-1 | |||||
| F050|REMBOURSEMENT PRET |-1 | |||||
| F052|REMBOURSEMENT PRET |-1 | |||||
| F054|INTERETS PRET |-1 | |||||
| F100|CSG CRDS NON DEDUCTIBLE|-1 | |||||
| F102|CSG DEDUCTIBLE|0 | |||||
| F104|TAXE PREVOYANCE|0 | |||||
| F107|REGUL CSG CRDS|-1 | |||||
| F10F|CSG NON DEDUCTIBLE HORS ABATTEMENT|-1 | |||||
| F10G|CSG DEDUCTIBLE - HORS ABATTEMENT|0 | |||||
| F10H|CSG CRDS - HORS ABATTEMENT|-1 | |||||
| F110|SAISIE ARRET |-1 | |||||
| F112|SAISIE ARRET|-1 | |||||
| F114|SAISIE ARRET (Régularisation)|-1 | |||||
| F116|TEST SAISIE ARRET SI IJSS|0 | |||||
| F1D1|COTISATION FORFAIT SOCIAL|0 | |||||
| F1HS|CSG CRDS HRS. SUPP.|0 | |||||
| F200|LOGEMENT |-1 | |||||
| F800|REPRISE AVANTAGE NATURE|-1 | |||||
| F801|REPRISE AVANTAGE NATURE|-1 | |||||
| F833|REPRISE AVANTAGE NATURE |-1 | |||||
| F900|RETENUE PAYE NEGATIVE |-1 | |||||
| F990|** TOTAL NON IMPOSABLE MOINS **|0 | |||||
| FTPA|DECLENCHEMENT CALCUL TEPA|0 | |||||
| G000|**** TOTAL NON IMPOSABLE ****|-1 | |||||
| G010|NET A PAYER BULLETIN|0 | |||||
| G011|NET A PAYER EN FRANCS|0 | |||||
| GZZZ|COMMENTAIRE FIN DE BULLETIN|-1 | |||||
| H000|HEURES PAYEES/TRAVAILLEES|0 | |||||
| H004|Heures payées sans heure supplémentaire|0 | |||||
| HDU0|Heures payées sans heure supplémentaire|0 | |||||
| I01S|RECAPITULATIF HRS. SUPPL.|0 | |||||
| IA01|SALAIRE REEL PLAF APPRENTIS|0 | |||||
| IA02|BRUT FISCAL INTERMEDIAIRE|0 | |||||
| IC02|Détail calcul base CSG CRDS (2011)|0 | |||||
| ID01|Détail calcul Assiette CICE|0 | |||||
| ID02|Détail calcul SMIC CICE|0 | |||||
| ID03|Montants intermédiaires CICE|0 | |||||
| IFIL|Détail Fillon AT|0 | |||||
| K108|Base Régul. CSG CRDS |0 | |||||
| K109|Base Régul. CSG DEDUCTIBLE |0 | |||||
| K141|Base Régul. fnal suppl. T.A.|0 | |||||
| K142|Base Régul. fnal suppl. > plafond|0 | |||||
| K150|Base Régul. URSSAF / PLAFOND|0 | |||||
| K260|Base Régul. ASSEDIC TA C260|0 | |||||
| K262|Base Régul. ASF TA C262|0 | |||||
| K270|Base Régul. ASSEDIC TB C270|0 | |||||
| K272|Base Régul. ASF TB C272|0 | |||||
| K290|Base Régul. ASSEDIC FNGS C290|0 | |||||
| K300|Base Régul. RNC C300|0 | |||||
| K301|Base Régul. AGFF C301|0 | |||||
| K306|Base Régul. RNC C306|0 | |||||
| K307|Base Régul. AGFF C307|0 | |||||
| K30C|Base Régul. RETR TA C30C|0 | |||||
| K502|Base Régul. Retr. Tr.B C502|0 | |||||
| K503|Base Régul. AGFF Tr.B C503|0 | |||||
| K50A|Base Régul. APEC TB |0 | |||||
| K50D|Base Régul. Mederic APEC T.A.|0 | |||||
| K50G|Base Régul. Retr. GMP C50G|0 | |||||
| K51A|Base Régul. APEC TB C51A|0 | |||||
| K51G|Base Régul. Retr. GMP C51G|0 | |||||
| K524|Base Régul. AGFF TB C524|0 | |||||
| K610|Base Régul. Prév. C610|0 | |||||
| K611|Base Régul. Prév. C611|0 | |||||
| K650|Base Régul. PREV TA C650|0 | |||||
| K651|Base Régul. Prév. C651|0 | |||||
| K655|Base Régul.PREV TB C655|0 | |||||
| K656|Base Régul.PREV TB C656|0 | |||||
| K65M|Base Régul. Prév. C65M|0 | |||||
| K665|Base Régul. Prév. C665|0 | |||||
| K666|Base Régul. Prév. C666|0 | |||||
| K700|Base Régul. Mutuelle C700|0 | |||||
| Q005|CUMUL JOURS OUVRES/OUVRABLES/CAL |-1 | |||||
| Q008|CUMUL JOURS SS |-1 | |||||
| Q009|CUMUL JOURS SS |-1 | |||||
| Q010|HEURES PAYEES/TRAVAILLES|-1 | |||||
| Q011|CUMUL HEURES CONTINGENT|-1 | |||||
| Q014|CUMUL HEURES COMP / 25% / 50% / 100%|-1 | |||||
| Q017|CUMUL CHOMAGE PARTIEL|-1 | |||||
| Q020|CUMUL ABSENCE MALADIE|0 | |||||
| Q021|JOURS MALADIE INDEMNISES 100%/50%|0 | |||||
| Q022|CUMUL ABSENCE AT|0 | |||||
| Q023|JOURS AT INDEMNISES 100%/50%|0 | |||||
| Q024|CUMUL ABSENCE MATERNITE|0 | |||||
| Q026|CUMUL ABSENCE AUTRE|0 | |||||
| Q030|HEURES MALADIE INDEMNISES 100%/50%|0 | |||||
| Q031|HEURES AT INDEMNISES 100%/50%|0 | |||||
| Q032|HEURES MATERNITE INDEMNISES 100%|0 | |||||
| Q090|RAG THEO/RAG_REEL/PAYE|-1 | |||||
| Q100|BRUT/B.ABT/ABT/ /NET IMPOSABLE|-1 | |||||
| Q101|NET A PAYE BULLETIN / CUMUL NAP|-1 | |||||
| Q110|URSSAF PLAF/BASE/A/B/C |-1 | |||||
| Q111|URSSAF TD/3TA/4TA |-1 | |||||
| Q112|TRANCHE C SUR EXERCICE PRECEDENT|-1 | |||||
| Q121|ASSEDIC PLAF/BASE/A/B/C |-1 | |||||
| Q122|ASSEDIC TD/3TA/4TA|-1 | |||||
| Q123|RET CA PLAF/BASE/A/B/C |-1 | |||||
| Q124|RET CA TD/3TA/4TA |-1 | |||||
| Q125|RET AM PLAF/BASE/A/B/C |-1 | |||||
| Q126|RET AM TD/3TA/4TA |-1 | |||||
| Q127|RET NC PLAF/BASE/A/B/C |-1 | |||||
| Q128|RET NC TD/3TA/4TA |-1 | |||||
| Q12A|GMP|-1 | |||||
| Q12G|PREV CA PLAF/BASE/A/B/C |-1 | |||||
| Q12H|PREV CA TD/3TA/4TA |-1 | |||||
| Q12I|PREV AM PLAF/BASE/A/B/C |-1 | |||||
| Q12J|PREV AM TD/3TA/4TA |-1 | |||||
| Q12K|PREV NC PLAF/BASE/A/B/C |-1 | |||||
| Q12L|PREV NC TD/3TA/4TA |-1 | |||||
| Q12M|RET CA CET APEC PLAF/BASE/A/B/C |-1 | |||||
| Q12N|RET CA CET APEC TD/3TA/4TA |-1 | |||||
| Q12O|CUM RETRAITE SUP Brut Theorique|-1 | |||||
| Q12P|CUM RETRAITE SUP TP PLA/TA/TB/SSTH|-1 | |||||
| Q130|CUM.AV.NAT.N/L/V/A |-1 | |||||
| Q132|CUMUL PEE MENSUEL/EXCEPT |-1 | |||||
| Q140|CUM.FP.F/R/P/D/T |-1 | |||||
| Q160|PREVOY BR/PL/TA/TB/TC|-1 | |||||
| Q180|RETENUE A LA SOURCE|-1 | |||||
| Q190|TAXE SUR SALAIRE|-1 | |||||
| Q192|TAXE SUR SALAIRE(limitée)|-1 | |||||
| Q220|CSG CRDS BASE/COT NON DED/COT DED|0 | |||||
| Q222|CSG CRDS BASE/PLAF/AV. ABAT/ABAT/100%|0 | |||||
| Q230|BASE TAXE PREVOYANCE|0 | |||||
| Q250|BASE FORFAIT SOCIAL|0 | |||||
| Q300|CUMUL ABS ENFANT MALADE|0 | |||||
| Q900|CUMUL COTISATIONS SAL/PAT/COUT|0 | |||||
| Q991|CUMUL AUBRY 1|-1 | |||||
| Q992|CUMUL AUBRY 2|-1 | |||||
| Q996|CUMUL ALLEG BAS SALAIRE |-1 | |||||
| QALF|ALLOC FAM SMIC MAJ/REM/BASE/TAUX/MONTANT|-1 | |||||
| QALR|ALLOC FAM SMIC MAJ/REM/BASE/TAUX/MONTANT|-1 | |||||
| QDU0|DADSU - Cumuls / Etab. de rattachement|0 | |||||
| QDU1|DADSU - PARTICIPATION|0 | |||||
| QDU2|DADSU - INTERESSEMENT|0 | |||||
| QDU3|DADSU - Abondement au PLAN D'EPARGNE|0 | |||||
| QDU4|DADSU - DIVIDENDE du travail|0 | |||||
| QFI1|CUMUL ALLEGEMENT FILLON|-1 | |||||
| QFI2|CUMUL COT PAT FILLON|-1 | |||||
| QFIA|FILLON SMIC/BRUT/BRUT-HS EXO/MONT/CotPat|-1 | |||||
| QIA1|SALAIRE APPRENTIS PLAF/BASE/A/B/C |-1 | |||||
| QIA2|SALAIRE APPRENTIS TD/3TA/4TA |-1 | |||||
| R001|NET A PAYER MOIS PRECEDENT |-1 | |||||
| R018|CP JRS PRESENCE/JRS ABSENCE|-1 | |||||
| R019|CP RELIQUAT JAC/JPR/BFA/BFP|-1 | |||||
| R020|CP REFERENCE JAC/JPR/BFA/BFP|0 | |||||
| R021|CP EN COURS JAC/JPR/BFA/BFP|-1 | |||||
| R023|CP FRACTIONNEMENT JAC/JPR|-1 | |||||
| R024|CP ANCIENNETE JAC/JPR|-1 | |||||
| R030|CUMUL RC ACQUIS/PRIS/SOLDE|0 | |||||
| R031|CUMUL RC FERIE ACQUIS/PRIS/SOLDE|0 | |||||
| R032|CUMUL HEURES RTT|0 | |||||
| R035|PROVISION CP MT N/CH N/MT N-1/CH N-1|-1 | |||||
| R036|PROVISION CP MT REL/CH REL|-1 | |||||
| R100|PRET MNT INIT/MENS/REMB/SOLDE|-1 | |||||
| R110|SAISIE ARRET Mt Initial / Mt Remboursé|-1 | |||||
| R200|CUMUL BRUT CDD |-1 | |||||
| R210|CUMUL TRC EXERCICE PRECEDENT|0 | |||||
| R260|CUMUL COMPTE EPARGNE TEMPS|0 | |||||
| R300|CUMUL GEL ANCIENNETE|0 | |||||
| R301|CUMUL ANCIENNETE CDD|0 | |||||
| R601|NBIJSS/MAL/AT/MAT/PLAFOND(janvier)|0 | |||||
| R602|NBIJSS/MAL/AT/MAT/PLAFOND(fevrier)|0 | |||||
| R603|NBIJSS/MAL/AT/MAT/PLAFOND(mars)|0 | |||||
| R604|NBIJSS/MAL/AT/MAT/PLAFOND(avril)|0 | |||||
| R605|NBIJSS/MAL/AT/MAT/PLAFOND(mai)|0 | |||||
| R606|NBIJSS/MAL/AT/MAT/PLAFOND(juin)|0 | |||||
| R607|NBIJSS/MAL/AT/MAT/PLAFOND(juillet)|0 | |||||
| R608|NBIJSS/MAL/AT/MAT/PLAFOND(aout)|0 | |||||
| R609|NBIJSS/MAL/AT/MAT/PLAFOND(septembre)|0 | |||||
| R610|NBIJSS/MAL/AT/MAT/PLAFOND(octobre)|0 | |||||
| R611|NBIJSS/MAL/AT/MAT/PLAFOND(novembre)|0 | |||||
| R612|NBIJSS/MAL/AT/MAT/PLAFOND(decembre)|0 | |||||
| R701|BASE SS MOIS/ PRIME MOIS AT (janvier)|0 | |||||
| R702|BASE SS MOIS/ PRIME MOIS AT (fevrier)|0 | |||||
| R703|BASE SS MOIS/ PRIME MOIS AT (mars)|0 | |||||
| R704|BASE SS MOIS/ PRIME MOIS AT (avril)|0 | |||||
| R705|BASE SS MOIS/ PRIME MOIS AT (mai)|0 | |||||
| R706|BASE SS MOIS/ PRIME MOIS AT (juin)|0 | |||||
| R707|BASE SS MOIS/ PRIME MOIS AT (juillet)|0 | |||||
| R708|BASE SS MOIS/ PRIME MOIS AT (aout)|0 | |||||
| R709|BASE SS MOIS/ PRIME MOIS AT (septembre)|0 | |||||
| R710|BASE SS MOIS/ PRIME MOIS AT (octobre)|0 | |||||
| R711|BASE SS MOIS/ PRIME MOIS AT (novembre)|0 | |||||
| R712|BASE SS MOIS/ PRIME MOIS AT (decembre)|0 | |||||
| @ -0,0 +1,148 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| oid AS keepoid, | |||||
| code, | |||||
| texte | |||||
| FROM rh.t_ages | |||||
| ORDER BY code | |||||
| LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| keepoid, | |||||
| code, | |||||
| texte | |||||
| ) | |||||
| VALUES | |||||
| (0, '000', 'Nouveaux nés'), | |||||
| (1, '001', '1 an'), | |||||
| (2, '002', '2 ans'), | |||||
| (3, '003', '3 ans'), | |||||
| (4, '004', '4 ans'), | |||||
| (5, '005', '5 ans'), | |||||
| (6, '006', '6 ans'), | |||||
| (7, '007', '7 ans'), | |||||
| (8, '008', '8 ans'), | |||||
| (9, '009', '9 ans'), | |||||
| (10, '010', '10 ans'), | |||||
| (11, '011', '11 ans'), | |||||
| (12, '012', '12 ans'), | |||||
| (13, '013', '13 ans'), | |||||
| (14, '014', '14 ans'), | |||||
| (15, '015', '15 ans'), | |||||
| (16, '016', '16 ans'), | |||||
| (17, '017', '17 ans'), | |||||
| (18, '018', '18 ans'), | |||||
| (19, '019', '19 ans'), | |||||
| (20, '020', '20 ans'), | |||||
| (21, '021', '21 ans'), | |||||
| (22, '022', '22 ans'), | |||||
| (23, '023', '23 ans'), | |||||
| (24, '024', '24 ans'), | |||||
| (25, '025', '25 ans'), | |||||
| (26, '026', '26 ans'), | |||||
| (27, '027', '27 ans'), | |||||
| (28, '028', '28 ans'), | |||||
| (29, '029', '29 ans'), | |||||
| (30, '030', '30 ans'), | |||||
| (31, '031', '31 ans'), | |||||
| (32, '032', '32 ans'), | |||||
| (33, '033', '33 ans'), | |||||
| (34, '034', '34 ans'), | |||||
| (35, '035', '35 ans'), | |||||
| (36, '036', '36 ans'), | |||||
| (37, '037', '37 ans'), | |||||
| (38, '038', '38 ans'), | |||||
| (39, '039', '39 ans'), | |||||
| (40, '040', '40 ans'), | |||||
| (41, '041', '41 ans'), | |||||
| (42, '042', '42 ans'), | |||||
| (43, '043', '43 ans'), | |||||
| (44, '044', '44 ans'), | |||||
| (45, '045', '45 ans'), | |||||
| (46, '046', '46 ans'), | |||||
| (47, '047', '47 ans'), | |||||
| (48, '048', '48 ans'), | |||||
| (49, '049', '49 ans'), | |||||
| (50, '050', '50 ans'), | |||||
| (51, '051', '51 ans'), | |||||
| (52, '052', '52 ans'), | |||||
| (53, '053', '53 ans'), | |||||
| (54, '054', '54 ans'), | |||||
| (55, '055', '55 ans'), | |||||
| (56, '056', '56 ans'), | |||||
| (57, '057', '57 ans'), | |||||
| (58, '058', '58 ans'), | |||||
| (59, '059', '59 ans'), | |||||
| (60, '060', '60 ans'), | |||||
| (61, '061', '61 ans'), | |||||
| (62, '062', '62 ans'), | |||||
| (63, '063', '63 ans'), | |||||
| (64, '064', '64 ans'), | |||||
| (65, '065', '65 ans'), | |||||
| (66, '066', '66 ans'), | |||||
| (67, '067', '67 ans'), | |||||
| (68, '068', '68 ans'), | |||||
| (69, '069', '69 ans'), | |||||
| (70, '070', '70 ans'), | |||||
| (71, '071', '71 ans'), | |||||
| (72, '072', '72 ans'), | |||||
| (73, '073', '73 ans'), | |||||
| (74, '074', '74 ans'), | |||||
| (75, '075', '75 ans'), | |||||
| (76, '076', '76 ans'), | |||||
| (77, '077', '77 ans'), | |||||
| (78, '078', '78 ans'), | |||||
| (79, '079', '79 ans'), | |||||
| (80, '080', '80 ans'), | |||||
| (81, '081', '81 ans'), | |||||
| (82, '082', '82 ans'), | |||||
| (83, '083', '83 ans'), | |||||
| (84, '084', '84 ans'), | |||||
| (85, '085', '85 ans'), | |||||
| (86, '086', '86 ans'), | |||||
| (87, '087', '87 ans'), | |||||
| (88, '088', '88 ans'), | |||||
| (89, '089', '89 ans'), | |||||
| (90, '090', '90 ans'), | |||||
| (91, '091', '91 ans'), | |||||
| (92, '092', '92 ans'), | |||||
| (93, '093', '93 ans'), | |||||
| (94, '094', '94 ans'), | |||||
| (95, '095', '95 ans'), | |||||
| (96, '096', '96 ans'), | |||||
| (97, '097', '97 ans'), | |||||
| (98, '098', '98 ans'), | |||||
| (99, '099', '99 ans'), | |||||
| (100, '100', '100 ans'), | |||||
| (101, '101', '101 ans'), | |||||
| (102, '102', '102 ans'), | |||||
| (103, '103', '103 ans'), | |||||
| (104, '104', '104 ans'), | |||||
| (105, '105', '105 ans'), | |||||
| (106, '106', '106 ans'), | |||||
| (107, '107', '107 ans'), | |||||
| (108, '108', '108 ans'), | |||||
| (109, '109', '109 ans'), | |||||
| (110, '110', '110 ans') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| UPDATE rh.t_ages SET | |||||
| code = w_dbsetup.code, | |||||
| texte = w_dbsetup.texte | |||||
| FROM w_dbsetup | |||||
| WHERE t_ages.oid = w_dbsetup.keepoid | |||||
| ; | |||||
| INSERT INTO rh.t_ages(oid, code, texte) | |||||
| SELECT keepoid, code, texte FROM w_dbsetup WHERE keepoid NOT IN (SELECT oid FROM rh.t_ages) | |||||
| ; | |||||
| SELECT * FROM rh.cti_update_schema_classes('AGE') | |||||
| ; | |||||
| @ -0,0 +1,88 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| oid AS keepoid, | |||||
| code, | |||||
| texte | |||||
| FROM rh.t_anciennetes_annee | |||||
| ORDER BY code | |||||
| LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| keepoid, | |||||
| code, | |||||
| texte | |||||
| ) | |||||
| VALUES | |||||
| (0, '00', 'Moins de 1 an'), | |||||
| (1, '01', '1 an'), | |||||
| (2, '02', '2 ans'), | |||||
| (3, '03', '3 ans'), | |||||
| (4, '04', '4 ans'), | |||||
| (5, '05', '5 ans'), | |||||
| (6, '06', '6 ans'), | |||||
| (7, '07', '7 ans'), | |||||
| (8, '08', '8 ans'), | |||||
| (9, '09', '9 ans'), | |||||
| (10, '10', '10 ans'), | |||||
| (11, '11', '11 ans'), | |||||
| (12, '12', '12 ans'), | |||||
| (13, '13', '13 ans'), | |||||
| (14, '14', '14 ans'), | |||||
| (15, '15', '15 ans'), | |||||
| (16, '16', '16 ans'), | |||||
| (17, '17', '17 ans'), | |||||
| (18, '18', '18 ans'), | |||||
| (19, '19', '19 ans'), | |||||
| (20, '20', '20 ans'), | |||||
| (21, '21', '21 ans'), | |||||
| (22, '22', '22 ans'), | |||||
| (23, '23', '23 ans'), | |||||
| (24, '24', '24 ans'), | |||||
| (25, '25', '25 ans'), | |||||
| (26, '26', '26 ans'), | |||||
| (27, '27', '27 ans'), | |||||
| (28, '28', '28 ans'), | |||||
| (29, '29', '29 ans'), | |||||
| (30, '30', '30 ans'), | |||||
| (31, '31', '31 ans'), | |||||
| (32, '32', '32 ans'), | |||||
| (33, '33', '33 ans'), | |||||
| (34, '34', '34 ans'), | |||||
| (35, '35', '35 ans'), | |||||
| (36, '36', '36 ans'), | |||||
| (37, '37', '37 ans'), | |||||
| (38, '38', '38 ans'), | |||||
| (39, '39', '39 ans'), | |||||
| (40, '40', '40 ans'), | |||||
| (41, '41', '41 ans'), | |||||
| (42, '42', '42 ans'), | |||||
| (43, '43', '43 ans'), | |||||
| (44, '44', '44 ans'), | |||||
| (45, '45', '45 ans'), | |||||
| (46, '46', '46 ans'), | |||||
| (47, '47', '47 ans'), | |||||
| (48, '48', '48 ans'), | |||||
| (49, '49', '49 ans'), | |||||
| (50, '50', '50 ans') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| UPDATE rh.t_anciennetes_annee SET | |||||
| code = w_dbsetup.code, | |||||
| texte = w_dbsetup.texte | |||||
| FROM w_dbsetup | |||||
| WHERE t_anciennetes_annee.oid = w_dbsetup.keepoid | |||||
| ; | |||||
| INSERT INTO rh.t_anciennetes_annee(oid, code, texte) | |||||
| SELECT keepoid, code, texte FROM w_dbsetup WHERE keepoid NOT IN (SELECT oid FROM rh.t_anciennetes_annee) | |||||
| ; | |||||
| SELECT * FROM rh.cti_update_schema_classes('AGE') | |||||
| ; | |||||
| @ -0,0 +1,495 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| max(oid) AS oid, | |||||
| code, | |||||
| texte, | |||||
| texte_court | |||||
| FROM rh.t_categories_socio_professionnelle | |||||
| WHERE 1=1 | |||||
| AND code != texte | |||||
| AND substr(code, 4, 1) !~ '[0-9]' | |||||
| AND code NOT IN ('642k', '643d') | |||||
| GROUP BY 2,3,4 | |||||
| ORDER BY code | |||||
| LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| oid, | |||||
| code, | |||||
| texte, | |||||
| texte_court | |||||
| ) | |||||
| VALUES | |||||
| (0, '*', 'Non renseignée', 'N/R'), | |||||
| (1, '100x', 'Agriculteurs et éleveurs, salariés de leur exploitation', 'Agriculteurs et éleveurs, salariés de leur explo'), | |||||
| (1, '210x', 'Artisans salariés de leur entreprise', 'Artisans salariés de leur entreprise'), | |||||
| (1, '220x', 'Commerçants et assimilés, salariés de leur entreprise', 'Commerçants et assimilés, salariés de leur entr'), | |||||
| (1, '231a', 'Chefs de grande entreprise de 500 salariés et plus', 'Chefs de grande entreprise de 500 salariés et plu'), | |||||
| (1, '232a', 'Chefs de moyenne entreprise, de 50 à 499 salariés', 'Chefs de moyenne entreprise, de 50 à 499 salarié'), | |||||
| (1, '233a', 'Chefs d''entreprise du bâtiment et des travaux publics, de 10 à 49 salariés', 'Chefs d''entreprise du bâtiment et des travaux pub'), | |||||
| (1, '233b', 'Chefs d''entreprise de l''industrie ou des transports, de 10 à 49 salariés', 'Chefs d''entreprise de l''industrie ou des transport'), | |||||
| (1, '233c', 'Chefs d''entreprise commerciale, de 10 à 49 salariés', 'Chefs d''entreprise commerciale, de 10 à 49 salari'), | |||||
| (1, '233d', 'Chefs d''entreprise de services, de 10 à 49 salariés', 'Chefs d''entreprise de services, de 10 à 49 salari'), | |||||
| (1, '311c', 'Chirurgiens dentistes', 'Chirurgiens dentistes'), | |||||
| (1, '311d', 'Psychologues, psychanalystes, psychothérapeutes (non médecins)', 'Psychologues, psychanalystes, psychothérapeutes ('), | |||||
| (1, '311e', 'Vétérinaires', 'Vétérinaires'), | |||||
| (1, '312a', 'Avocats', 'Avocats'), | |||||
| (1, '331a', 'Personnels de direction de la fonction publique (Etat, collectivités locales, hôpitaux)', 'Personnels de direction de la fonction publique (E'), | |||||
| (1, '332a', 'Ingénieurs de l''Etat (y.c. ingénieurs militaires) et assimilés', 'Ingénieurs de l''Etat (y.c. ingénieurs militaires'), | |||||
| (1, '332b', 'Ingénieurs des collectivités locales et des hôpitaux', 'Ingénieurs des collectivités locales et des hôp'), | |||||
| (1, '333a', 'Magistrats*', 'Magistrats*'), | |||||
| (1, '333b', 'Inspecteurs et autres personnels de catégorie A des Impôts, du Trésor et des Douanes', 'Inspecteurs et autres personnels de catégorie A d'), | |||||
| (1, '333c', 'Cadres de la Poste*', 'Cadres de la Poste*'), | |||||
| (1, '333d', 'Cadres administratifs de France Télécom (statut public)', 'Cadres administratifs de France Télécom (statut '), | |||||
| (1, '333e', 'Autres personnels administratifs de catégorie A de l''Etat (hors Enseignement, Patrimoine, Impôts, Trésor, Douanes)', 'Autres personnels administratifs de catégorie A d'), | |||||
| (1, '333f', 'Personnels administratifs de catégorie A des collectivités locales et hôpitaux publics (hors Enseignement, Patrimoine)', 'Personnels administratifs de catégorie A des coll'), | |||||
| (1, '334a', 'Officiers des Armées et de la Gendarmerie (sauf officiers généraux)*', 'Officiers des Armées et de la Gendarmerie (sauf o'), | |||||
| (1, '335a', 'Personnes exerçant un mandat politique ou syndical*', 'Personnes exerçant un mandat politique ou syndica'), | |||||
| (1, '341a', 'Professeurs agrégés et certifiés de l''enseignement secondaire', 'Professeurs agrégés et certifiés de l''enseignem'), | |||||
| (1, '341b', 'Chefs d''établissement de l''enseignement secondaire et inspecteurs', 'Chefs d''établissement de l''enseignement secondair'), | |||||
| (1, '342b', 'Professeurs et maîtres de conférences', 'Professeurs et maîtres de conférences'), | |||||
| (1, '342c', 'Professeurs agrégés et certifiés en fonction dans l''enseignement supérieur', 'Professeurs agrégés et certifiés en fonction da'), | |||||
| (1, '342d', 'Personnel enseignant temporaire de l''enseignement supérieur', 'Personnel enseignant temporaire de l''enseignement '), | |||||
| (1, '342f', 'Directeurs et chargés de recherche de la recherche publique', 'Directeurs et chargés de recherche de la recherch'), | |||||
| (1, '342g', 'Ingénieurs d''étude et de recherche de la recherche publique', 'Ingénieurs d''étude et de recherche de la recherc'), | |||||
| (1, '342h', 'Allocataires de la recherche publique', 'Allocataires de la recherche publique'), | |||||
| (1, '343a', 'Psychologues spécialistes de l''orientation scolaire et professionnelle', 'Psychologues spécialistes de l''orientation scolai'), | |||||
| (1, '344a', 'Médecins hospitaliers sans activité libérale', 'Médecins hospitaliers sans activité libérale'), | |||||
| (1, '344b', 'Médecins salariés non hospitaliers', 'Médecins salariés non hospitaliers'), | |||||
| (1, '344c', 'Internes en médecine, odontologie et pharmacie', 'Internes en médecine, odontologie et pharmacie'), | |||||
| (1, '344d', 'Pharmaciens salariés', 'Pharmaciens salariés'), | |||||
| (1, '351a', 'Bibliothécaires, archivistes, conservateurs et autres cadres du patrimoine', 'Bibliothécaires, archivistes, conservateurs et au'), | |||||
| (1, '352a', 'Journalistes (y c. rédacteurs en chef)', 'Journalistes (y c. rédacteurs en chef)'), | |||||
| (1, '352b', 'Auteurs littéraires, scénaristes, dialoguistes', 'Auteurs littéraires, scénaristes, dialoguistes'), | |||||
| (1, '353a', 'Directeurs de journaux, administrateurs de presse, directeurs d''éditions (littéraire, musicale, audiovisuelle et multimédia)', 'Directeurs de journaux, administrateurs de presse,'), | |||||
| (1, '353b', 'Directeurs, responsables de programmation et de production de l''audiovisuel et des spectacles', 'Directeurs, responsables de programmation et de pr'), | |||||
| (1, '353c', 'Cadres artistiques et technico-artistiques de la réalisation de l''audiovisuel et des spectacles', 'Cadres artistiques et technico-artistiques de la r'), | |||||
| (1, '354a', 'Artistes plasticiens', 'Artistes plasticiens'), | |||||
| (1, '354b', 'Artistes de la musique et du chant', 'Artistes de la musique et du chant'), | |||||
| (1, '354c', 'Artistes dramatiques', 'Artistes dramatiques'), | |||||
| (1, '354e', 'Artistes de la danse', 'Artistes de la danse'), | |||||
| (1, '354f', 'Artistes du cirque et des spectacles divers', 'Artistes du cirque et des spectacles divers'), | |||||
| (1, '354g', 'Professeurs d''art (hors établissements scolaires)', 'Professeurs d''art (hors établissements scolaires)'), | |||||
| (1, '371a', 'Cadres d''état-major administratifs, financiers, commerciaux des grandes entreprises', 'Cadres d''état-major administratifs, financiers, c'), | |||||
| (1, '372a', 'Cadres chargés d''études économiques, financières, commerciales', 'Cadres chargés d''études économiques, financièr'), | |||||
| (1, '372b', 'Cadres de l''organisation ou du contrôle des services administratifs et financiers', 'Cadres de l''organisation ou du contrôle des servi'), | |||||
| (1, '372c', 'Cadres spécialistes des ressources humaines et du recrutement', 'Cadres spécialistes des ressources humaines et du'), | |||||
| (1, '372d', 'Cadres spécialistes de la formation', 'Cadres spécialistes de la formation'), | |||||
| (1, '372e', 'Juristes', 'Juristes'), | |||||
| (1, '372f', 'Cadres de la documentation, de l''archivage (hors fonction publique)', 'Cadres de la documentation, de l''archivage (hors f'), | |||||
| (1, '373a', 'Cadres des services financiers ou comptables des grandes entreprises', 'Cadres des services financiers ou comptables des g'), | |||||
| (1, '373b', 'Cadres des autres services administratifs des grandes entreprises', 'Cadres des autres services administratifs des gran'), | |||||
| (1, '373c', 'Cadres des services financiers ou comptables des petites et moyennes entreprises', 'Cadres des services financiers ou comptables des p'), | |||||
| (1, '373d', 'Cadres des autres services administratifs des petites et moyennes entreprises', 'Cadres des autres services administratifs des peti'), | |||||
| (1, '374a', 'Cadres de l''exploitation des magasins de vente du commerce de détail', 'Cadres de l''exploitation des magasins de vente du '), | |||||
| (1, '374b', 'Chefs de produits, acheteurs du commerce et autres cadres de la mercatique', 'Chefs de produits, acheteurs du commerce et autres'), | |||||
| (1, '374c', 'Cadres commerciaux des grandes entreprises (hors commerce de détail)', 'Cadres commerciaux des grandes entreprises (hors c'), | |||||
| (1, '374d', 'Cadres commerciaux des petites et moyennes entreprises (hors commerce de détail)', 'Cadres commerciaux des petites et moyennes entrepr'), | |||||
| (1, '375a', 'Cadres de la publicité', 'Cadres de la publicité'), | |||||
| (1, '375b', 'Cadres des relations publiques et de la communication', 'Cadres des relations publiques et de la communicat'), | |||||
| (1, '376a', 'Cadres des marchés financiers', 'Cadres des marchés financiers'), | |||||
| (1, '376b', 'Cadres des opérations bancaires', 'Cadres des opérations bancaires'), | |||||
| (1, '376c', 'Cadres commerciaux de la banque', 'Cadres commerciaux de la banque'), | |||||
| (1, '376d', 'Chefs d''établissements et responsables de l''exploitation bancaire', 'Chefs d''établissements et responsables de l''explo'), | |||||
| (1, '376e', 'Cadres des services techniques des assurances', 'Cadres des services techniques des assurances'), | |||||
| (1, '376f', 'Cadres des services techniques des organismes de sécurité sociale et assimilés', 'Cadres des services techniques des organismes de s'), | |||||
| (1, '376g', 'Cadres de l''immobilier', 'Cadres de l''immobilier'), | |||||
| (1, '377a', 'Cadres de l''hôtellerie et de la restauration', 'Cadres de l''hôtellerie et de la restauration'), | |||||
| (1, '380a', 'Directeurs techniques des grandes entreprises', 'Directeurs techniques des grandes entreprises'), | |||||
| (1, '381b', 'Ingénieurs et cadres d''étude et développement de l''agriculture, la pêche, les eaux et forêts', 'Ingénieurs et cadres d''étude et développement d'), | |||||
| (1, '381c', 'Ingénieurs et cadres de production et d''exploitation de l''agriculture, la pêche, les eaux et forêts', 'Ingénieurs et cadres de production et d''exploitat'), | |||||
| (1, '382a', 'Ingénieurs et cadres d''étude du bâtiment et des travaux publics', 'Ingénieurs et cadres d''étude du bâtiment et des'), | |||||
| (1, '382b', 'Architectes salariés', 'Architectes salariés'), | |||||
| (1, '382c', 'Ingénieurs, cadres de chantier et conducteurs de travaux (cadres) du bâtiment et des travaux publics', 'Ingénieurs, cadres de chantier et conducteurs de '), | |||||
| (1, '382d', 'Ingénieurs et cadres technico-commerciaux en bâtiment, travaux publics', 'Ingénieurs et cadres technico-commerciaux en bât'), | |||||
| (1, '383a', 'Ingénieurs et cadres d''étude, recherche et développement en électricité, électronique', 'Ingénieurs et cadres d''étude, recherche et déve'), | |||||
| (1, '383b', 'Ingénieurs et cadres de fabrication en matériel électrique, électronique', 'Ingénieurs et cadres de fabrication en matériel '), | |||||
| (1, '383c', 'Ingénieurs et cadres technico-commerciaux en matériel électrique ou électronique professionnel', 'Ingénieurs et cadres technico-commerciaux en mat?'), | |||||
| (1, '384a', 'Ingénieurs et cadres d''étude, recherche et développement en mécanique et travail des métaux', 'Ingénieurs et cadres d''étude, recherche et déve'), | |||||
| (1, '384b', 'Ingénieurs et cadres de fabrication en mécanique et travail des métaux', 'Ingénieurs et cadres de fabrication en mécanique'), | |||||
| (1, '384c', 'Ingénieurs et cadres technico-commerciaux en matériel mécanique professionnel', 'Ingénieurs et cadres technico-commerciaux en mat?'), | |||||
| (1, '385a', 'Ingénieurs et cadres d''étude, recherche et développement des industries de transformation (agroalimentaire, chimie, métallurgie, matériaux lourds)', 'Ingénieurs et cadres d''étude, recherche et déve'), | |||||
| (1, '385b', 'Ingénieurs et cadres de fabrication des industries de transformation (agroalimentaire, chimie, métallurgie, matériaux lourds)', 'Ingénieurs et cadres de fabrication des industrie'), | |||||
| (1, '385c', 'Ingénieurs et cadres technico-commerciaux des industries de transformations (biens intermédiaires)', 'Ingénieurs et cadres technico-commerciaux des ind'), | |||||
| (1, '386b', 'Ingénieurs et cadres d''étude, recherche et développement de la distribution d''énergie, eau', 'Ingénieurs et cadres d''étude, recherche et déve'), | |||||
| (1, '386c', 'Ingénieurs et cadres d''étude, recherche et développement des autres industries (imprimerie, matériaux souples, ameublement et bois)', 'Ingénieurs et cadres d''étude, recherche et déve'), | |||||
| (1, '386d', 'Ingénieurs et cadres de la production et de la distribution d''énergie, eau', 'Ingénieurs et cadres de la production et de la di'), | |||||
| (1, '386e', 'Ingénieurs et cadres de fabrication des autres industries (imprimerie, matériaux souples, ameublement et bois)', 'Ingénieurs et cadres de fabrication des autres in'), | |||||
| (1, '387a', 'Ingénieurs et cadres des achats et approvisionnements industriels', 'Ingénieurs et cadres des achats et approvisionnem'), | |||||
| (1, '387b', 'Ingénieurs et cadres de la logistique, du planning et de l''ordonnancement', 'Ingénieurs et cadres de la logistique, du plannin'), | |||||
| (1, '387c', 'Ingénieurs et cadres des méthodes de production', 'Ingénieurs et cadres des méthodes de production'), | |||||
| (1, '387d', 'Ingénieurs et cadres du contrôle-qualité', 'Ingénieurs et cadres du contrôle-qualité'), | |||||
| (1, '387e', 'Ingénieurs et cadres de la maintenance, de l''entretien et des travaux neufs', 'Ingénieurs et cadres de la maintenance, de l''entr'), | |||||
| (1, '387f', 'Ingénieurs et cadres techniques de l''environnement', 'Ingénieurs et cadres techniques de l''environnemen'), | |||||
| (1, '388a', 'Ingénieurs et cadres d''étude, recherche et développement en informatique', 'Ingénieurs et cadres d''étude, recherche et déve'), | |||||
| (1, '388b', 'Ingénieurs et cadres d''administration, maintenance, support et services aux utilisateurs en informatique', 'Ingénieurs et cadres d''administration, maintenanc'), | |||||
| (1, '388c', 'Chefs de projets informatiques, responsables informatiques', 'Chefs de projets informatiques, responsables infor'), | |||||
| (1, '388d', 'Ingénieurs et cadres technico-commerciaux en informatique et télécommunications', 'Ingénieurs et cadres technico-commerciaux en info'), | |||||
| (1, '388e', 'Ingénieurs et cadres spécialistes des télécommunications', 'Ingénieurs et cadres spécialistes des télécomm'), | |||||
| (1, '389a', 'Ingénieurs et cadres techniques de l''exploitation des transports', 'Ingénieurs et cadres techniques de l''exploitation'), | |||||
| (1, '389b', 'Officiers et cadres navigants techniques et commerciaux de l''aviation civile', 'Officiers et cadres navigants techniques et commer'), | |||||
| (1, '389c', 'Officiers et cadres navigants techniques de la marine marchande', 'Officiers et cadres navigants techniques de la mar'), | |||||
| (1, '421a', 'Instituteurs', 'Instituteurs'), | |||||
| (1, '421b', 'Professeurs des écoles', 'Professeurs des écoles'), | |||||
| (1, '422a', 'Professeurs d''enseignement général des collèges', 'Professeurs d''enseignement général des collèges'), | |||||
| (1, '422b', 'Professeurs de lycée professionnel', 'Professeurs de lycée professionnel'), | |||||
| (1, '422c', 'Maîtres auxiliaires et professeurs contractuels de l''enseignement secondaire', 'Maîtres auxiliaires et professeurs contractuels d'), | |||||
| (1, '422d', 'Conseillers principaux d''éducation', 'Conseillers principaux d''éducation'), | |||||
| (1, '422e', 'Surveillants et aides-éducateurs des établissements d''enseignement', 'Surveillants et aides-éducateurs des établisseme'), | |||||
| (1, '423a', 'Moniteurs d''école de conduite', 'Moniteurs d''école de conduite'), | |||||
| (1, '423b', 'Formateurs et animateurs de formation continue', 'Formateurs et animateurs de formation continue'), | |||||
| (1, '424a', 'Moniteurs et éducateurs sportifs, sportifs professionnels', 'Moniteurs et éducateurs sportifs, sportifs profes'), | |||||
| (1, '425a', 'Sous-bibliothécaires, cadres intermédiaires du patrimoine', 'Sous-bibliothécaires, cadres intermédiaires du p'), | |||||
| (1, '431a', 'Cadres infirmiers et assimilés', 'Cadres infirmiers et assimilés'), | |||||
| (1, '431b', 'Infirmiers psychiatriques', 'Infirmiers psychiatriques'), | |||||
| (1, '431c', 'Puéricultrices', 'Puéricultrices'), | |||||
| (1, '431d', 'Infirmiers spécialisés (autres qu''infirmiers psychiatriques et puéricultrices)', 'Infirmiers spécialisés (autres qu''infirmiers psy'), | |||||
| (1, '431e', 'Sages-femmes salariées', 'Sages-femmes salariées'), | |||||
| (1, '431f', 'Infirmiers en soins généraux, salariés', 'Infirmiers en soins généraux, salariés'), | |||||
| (1, '432b', 'Masseurs-kinésithérapeutes rééducateurs, salariés', 'Masseurs-kinésithérapeutes rééducateurs, salar'), | |||||
| (1, '432d', 'Autres spécialistes de la rééducation, salariés', 'Autres spécialistes de la rééducation, salarié'), | |||||
| (1, '433a', 'Techniciens médicaux', 'Techniciens médicaux'), | |||||
| (1, '433b', 'Opticiens lunetiers et audioprothésistes salariés', 'Opticiens lunetiers et audioprothésistes salarié'), | |||||
| (1, '433c', 'Autres spécialistes de l''appareillage médical salariés', 'Autres spécialistes de l''appareillage médical sa'), | |||||
| (1, '433d', 'Préparateurs en pharmacie', 'Préparateurs en pharmacie'), | |||||
| (1, '434a', 'Cadres de l''intervention socio-éducative', 'Cadres de l''intervention socio-éducative'), | |||||
| (1, '434b', 'Assistants de service social', 'Assistants de service social'), | |||||
| (1, '434c', 'Conseillers en économie sociale familiale', 'Conseillers en économie sociale familiale'), | |||||
| (1, '434d', 'Educateurs spécialisés', 'Educateurs spécialisés'), | |||||
| (1, '434e', 'Moniteurs éducateurs', 'Moniteurs éducateurs'), | |||||
| (1, '434f', 'Educateurs techniques spécialisés, moniteurs d''atelier', 'Educateurs techniques spécialisés, moniteurs d''a'), | |||||
| (1, '434g', 'Educateurs de jeunes enfants', 'Educateurs de jeunes enfants'), | |||||
| (1, '435a', 'Directeurs de centres socioculturels et de loisirs', 'Directeurs de centres socioculturels et de loisirs'), | |||||
| (1, '435b', 'Animateurs socioculturels et de loisirs', 'Animateurs socioculturels et de loisirs'), | |||||
| (1, '441a', 'Clergé séculier', 'Clergé séculier'), | |||||
| (1, '441b', 'Clergé régulier', 'Clergé régulier'), | |||||
| (1, '451a', 'Professions intermédiaires de la Poste', 'Professions intermédiaires de la Poste'), | |||||
| (1, '451b', 'Professions intermédiaires administratives de France Télécom (statut public)', 'Professions intermédiaires administratives de Fra'), | |||||
| (1, '451c', 'Contrôleurs des Impôts, du Trésor, des Douanes et assimilés*', 'Contrôleurs des Impôts, du Trésor, des Douanes '), | |||||
| (1, '451d', 'Ingénieurs du contrôle de la navigation aérienne*', 'Ingénieurs du contrôle de la navigation aérienn'), | |||||
| (1, '451e', 'Autres personnels administratifs de catégorie B de l''Etat (hors Enseignement, Patrimoine, Impôts, Trésor, Douanes)', 'Autres personnels administratifs de catégorie B d'), | |||||
| (1, '451g', 'Professions intermédiaires administratives des collectivités locales', 'Professions intermédiaires administratives des co'), | |||||
| (1, '451h', 'Professions intermédiaires administratives des hôpitaux', 'Professions intermédiaires administratives des h?'), | |||||
| (1, '452a', 'Inspecteurs et officiers de police*', 'Inspecteurs et officiers de police*'), | |||||
| (1, '452b', 'Adjudants-chefs, adjudants et sous-officiers de rang supérieur de l''Armée et de la Gendarmerie*', 'Adjudants-chefs, adjudants et sous-officiers de ra'), | |||||
| (1, '461b', 'Secrétaires de direction, assistants de direction (non cadres)', 'Secrétaires de direction, assistants de direction'), | |||||
| (1, '461c', 'Secrétaires de niveau supérieur (non cadres, hors secrétaires de direction)', 'Secrétaires de niveau supérieur (non cadres, hor'), | |||||
| (1, '461d', 'Maîtrise et techniciens des services financiers ou comptables', 'Maîtrise et techniciens des services financiers o'), | |||||
| (1, '461e', 'Maîtrise et techniciens administratifs des services juridiques ou du personnel', 'Maîtrise et techniciens administratifs des servic'), | |||||
| (1, '461f', 'Maîtrise et techniciens administratifs des autres services administratifs', 'Maîtrise et techniciens administratifs des autres'), | |||||
| (1, '462a', 'Chefs de petites surfaces de vente', 'Chefs de petites surfaces de vente'), | |||||
| (1, '462b', 'Maîtrise de l''exploitation des magasins de vente', 'Maîtrise de l''exploitation des magasins de vente'), | |||||
| (1, '462c', 'Acheteurs non classés cadres, aides-acheteurs', 'Acheteurs non classés cadres, aides-acheteurs'), | |||||
| (1, '462d', 'Animateurs commerciaux des magasins de vente, marchandiseurs (non cadres)', 'Animateurs commerciaux des magasins de vente, marc'), | |||||
| (1, '462e', 'Autres professions intermédiaires commerciales (sauf techniciens des forces de vente)', 'Autres professions intermédiaires commerciales (s'), | |||||
| (1, '463a', 'Techniciens commerciaux et technico-commerciaux, représentants en informatique', 'Techniciens commerciaux et technico-commerciaux, r'), | |||||
| (1, '463b', 'Techniciens commerciaux et technico-commerciaux, représentants en biens d''équipement, en biens intermédiaires, commerce interindustriel (hors informatique)', 'Techniciens commerciaux et technico-commerciaux, r'), | |||||
| (1, '463c', 'Techniciens commerciaux et technico-commerciaux, représentants en biens de consommation auprès d''entreprises', 'Techniciens commerciaux et technico-commerciaux, r'), | |||||
| (1, '463d', 'Techniciens commerciaux et technico-commerciaux, représentants en services auprès d''entreprises ou de professionnels (hors banque, assurance, informatique)', 'Techniciens commerciaux et technico-commerciaux, r'), | |||||
| (1, '463e', 'Techniciens commerciaux et technico-commerciaux, représentants auprès de particuliers (hors banque, assurance, informatique)', 'Techniciens commerciaux et technico-commerciaux, r'), | |||||
| (1, '464a', 'Assistants de la publicité, des relations publiques', 'Assistants de la publicité, des relations publiqu'), | |||||
| (1, '464b', 'Interprètes, traducteurs', 'Interprètes, traducteurs'), | |||||
| (1, '465a', 'Concepteurs et assistants techniques des arts graphiques, de la mode et de la décoration salariés', 'Concepteurs et assistants techniques des arts grap'), | |||||
| (1, '465b', 'Assistants techniques de la réalisation des spectacles vivants et audiovisuels salariés', 'Assistants techniques de la réalisation des spect'), | |||||
| (1, '465c', 'Photographes', 'Photographes'), | |||||
| (1, '466a', 'Responsables commerciaux et administratifs des transports de voyageurs et du tourisme (non cadres)', 'Responsables commerciaux et administratifs des tra'), | |||||
| (1, '466b', 'Responsables commerciaux et administratifs des transports de marchandises (non cadres)', 'Responsables commerciaux et administratifs des tra'), | |||||
| (1, '466c', 'Responsables d''exploitation des transports de voyageurs et de marchandises (non cadres)', 'Responsables d''exploitation des transports de voya'), | |||||
| (1, '467a', 'Chargés de clientèle bancaire', 'Chargés de clientèle bancaire'), | |||||
| (1, '467b', 'Techniciens des opérations bancaires', 'Techniciens des opérations bancaires'), | |||||
| (1, '467c', 'Professions intermédiaires techniques et commerciales des assurances', 'Professions intermédiaires techniques et commerci'), | |||||
| (1, '467d', 'Professions intermédiaires techniques des organismes de sécurité sociale', 'Professions intermédiaires techniques des organis'), | |||||
| (1, '468a', 'Maîtrise de restauration : salle et service', 'Maîtrise de restauration : salle et service'), | |||||
| (1, '468b', 'Maîtrise de l''hébergement : hall et étages', 'Maîtrise de l''hébergement : hall et étages'), | |||||
| (1, '471a', 'Techniciens d''étude et de conseil en agriculture, eaux et forêt', 'Techniciens d''étude et de conseil en agriculture,'), | |||||
| (1, '471b', 'Techniciens d''exploitation et de contrôle de la production en agriculture, eaux et forêt', 'Techniciens d''exploitation et de contrôle de la p'), | |||||
| (1, '472a', 'Dessinateurs en bâtiment, travaux publics', 'Dessinateurs en bâtiment, travaux publics'), | |||||
| (1, '472b', 'Géomètres, topographes', 'Géomètres, topographes'), | |||||
| (1, '472c', 'Métreurs et techniciens divers du bâtiment et des travaux publics', 'Métreurs et techniciens divers du bâtiment et de'), | |||||
| (1, '472d', 'Techniciens des travaux publics de l''Etat et des collectivités locales', 'Techniciens des travaux publics de l''Etat et des c'), | |||||
| (1, '473a', 'Dessinateurs en électricité, électromécanique et électronique', 'Dessinateurs en électricité, électromécanique '), | |||||
| (1, '473b', 'Techniciens de recherche-développement et des méthodes de fabrication en électricité, électromécanique et électronique', 'Techniciens de recherche-développement et des mé'), | |||||
| (1, '473c', 'Techniciens de fabrication et de contrôle-qualité en électricité, électromécanique et électronique', 'Techniciens de fabrication et de contrôle-qualit?'), | |||||
| (1, '474a', 'Dessinateurs en construction mécanique et travail des métaux', 'Dessinateurs en construction mécanique et travail'), | |||||
| (1, '474b', 'Techniciens de recherche-développement et des méthodes de fabrication en construction mécanique et travail des métaux', 'Techniciens de recherche-développement et des mé'), | |||||
| (1, '474c', 'Techniciens de fabrication et de contrôle-qualité en construction mécanique et travail des métaux', 'Techniciens de fabrication et de contrôle-qualit?'), | |||||
| (1, '475a', 'Techniciens de recherche-développement et des méthodes de production des industries de transformation', 'Techniciens de recherche-développement et des mé'), | |||||
| (1, '475b', 'Techniciens de production et de contrôle-qualité des industries de transformation', 'Techniciens de production et de contrôle-qualité'), | |||||
| (1, '476a', 'Assistants techniques, techniciens de l''imprimerie et de l''édition', 'Assistants techniques, techniciens de l''imprimerie'), | |||||
| (1, '476b', 'Techniciens de l''industrie des matériaux souples, de l''ameublement et du bois', 'Techniciens de l''industrie des matériaux souples,'), | |||||
| (1, '477a', 'Techniciens de la logistique, du planning et de l''ordonnancement', 'Techniciens de la logistique, du planning et de l'''), | |||||
| (1, '477b', 'Techniciens d''installation et de maintenance des équipements industriels (électriques, électromécaniques, mécaniques, hors informatique)', 'Techniciens d''installation et de maintenance des ?'), | |||||
| (1, '477c', 'Techniciens d''installation et de maintenance des équipements non industriels (hors informatique et télécommunications)', 'Techniciens d''installation et de maintenance des ?'), | |||||
| (1, '477d', 'Techniciens de l''environnement et du traitement des pollutions', 'Techniciens de l''environnement et du traitement de'), | |||||
| (1, '478a', 'Techniciens d''étude et de développement en informatique', 'Techniciens d''étude et de développement en infor'), | |||||
| (1, '478b', 'Techniciens de production, d''exploitation en informatique', 'Techniciens de production, d''exploitation en infor'), | |||||
| (1, '478c', 'Techniciens d''installation, de maintenance, support et services aux utilisateurs en informatique', 'Techniciens d''installation, de maintenance, suppor'), | |||||
| (1, '478d', 'Techniciens des télécommunications et de l''informatique des réseaux', 'Techniciens des télécommunications et de l''infor'), | |||||
| (1, '479a', 'Techniciens des laboratoires de recherche publique ou de l''enseignement', 'Techniciens des laboratoires de recherche publique'), | |||||
| (1, '479b', 'Experts salariés de niveau technicien, techniciens divers', 'Experts salariés de niveau technicien, technicien'), | |||||
| (1, '480a', 'Contremaîtres et agents d''encadrement (non cadres) en agriculture, sylviculture', 'Contremaîtres et agents d''encadrement (non cadres'), | |||||
| (1, '480b', 'Maîtres d''équipage de la marine marchande et de la pêche', 'Maîtres d''équipage de la marine marchande et de '), | |||||
| (1, '481a', 'Conducteurs de travaux (non cadres)', 'Conducteurs de travaux (non cadres)'), | |||||
| (1, '481b', 'Chefs de chantier (non cadres)', 'Chefs de chantier (non cadres)'), | |||||
| (1, '482a', 'Agents de maîtrise en fabrication de matériel électrique, électronique', 'Agents de maîtrise en fabrication de matériel é'), | |||||
| (1, '483a', 'Agents de maîtrise en construction mécanique, travail des métaux', 'Agents de maîtrise en construction mécanique, tr'), | |||||
| (1, '484a', 'Agents de maîtrise en fabrication : agroalimentaire, chimie, plasturgie, pharmacie.', 'Agents de maîtrise en fabrication : agroalimentai'), | |||||
| (1, '484b', 'Agents de maîtrise en fabrication : métallurgie, matériaux lourds et autres industries de transformation', 'Agents de maîtrise en fabrication : métallurgie,'), | |||||
| (1, '485a', 'Agents de maîtrise et techniciens en production et distribution d''énergie, eau, chauffage', 'Agents de maîtrise et techniciens en production e'), | |||||
| (1, '485b', 'Agents de maîtrise en fabrication des autres industries (imprimerie, matériaux souples, ameublement et bois)', 'Agents de maîtrise en fabrication des autres indu'), | |||||
| (1, '486b', 'Agents de maîtrise en maintenance, installation en électricité et électronique', 'Agents de maîtrise en maintenance, installation e'), | |||||
| (1, '486c', 'Agents de maîtrise en maintenance, installation en électromécanique', 'Agents de maîtrise en maintenance, installation e'), | |||||
| (1, '486d', 'Agents de maîtrise en maintenance, installation en mécanique', 'Agents de maîtrise en maintenance, installation e'), | |||||
| (1, '486e', 'Agents de maîtrise en entretien général, installation, travaux neufs (hors mécanique, électromécanique, électronique)', 'Agents de maîtrise en entretien général, instal'), | |||||
| (1, '487a', 'Responsables d''entrepôt, de magasinage', 'Responsables d''entrepôt, de magasinage'), | |||||
| (1, '487b', 'Responsables du tri, de l''emballage, de l''expédition et autres responsables de la manutention', 'Responsables du tri, de l''emballage, de l''expédit'), | |||||
| (1, '488a', 'Maîtrise de restauration : cuisine/production', 'Maîtrise de restauration : cuisine/production'), | |||||
| (1, '488b', 'Maîtrise de restauration : gestion d''établissement', 'Maîtrise de restauration : gestion d''établissem'), | |||||
| (1, '521a', 'Employés de la Poste', 'Employés de la Poste'), | |||||
| (1, '521b', 'Employés de France Télécom (statut public)', 'Employés de France Télécom (statut public)'), | |||||
| (1, '522a', 'Agents de constatation ou de recouvrement des Impôts, du Trésor, des Douanes*', 'Agents de constatation ou de recouvrement des Imp?'), | |||||
| (1, '523a', 'Adjoints administratifs de la fonction publique (y c. enseignement)*', 'Adjoints administratifs de la fonction publique (y'), | |||||
| (1, '523b', 'Adjoints administratifs de l''Etat et assimilés (sauf Poste, France Télécom)', 'Adjoints administratifs de l''Etat et assimilés (s'), | |||||
| (1, '523c', 'Adjoints administratifs des collectivités locales', 'Adjoints administratifs des collectivités locales'), | |||||
| (1, '523d', 'Adjoints administratifs des hôpitaux publics', 'Adjoints administratifs des hôpitaux publics'), | |||||
| (1, '524a', 'Agents administratifs de la fonction publique (y c. enseignement)*', 'Agents administratifs de la fonction publique (y c'), | |||||
| (1, '524b', 'Agents administratifs de l''Etat et assimilés (sauf Poste, France Télécom)', 'Agents administratifs de l''Etat et assimilés (sau'), | |||||
| (1, '524c', 'Agents administratifs des collectivités locales', 'Agents administratifs des collectivités locales'), | |||||
| (1, '524d', 'Agents administratifs des hôpitaux publics', 'Agents administratifs des hôpitaux publics'), | |||||
| (1, '525a', 'Agents de service des établissements primaires', 'Agents de service des établissements primaires'), | |||||
| (1, '525b', 'Agents de service des autres établissements d''enseignement', 'Agents de service des autres établissements d''ens'), | |||||
| (1, '525c', 'Agents de service de la fonction publique (sauf écoles, hôpitaux)', 'Agents de service de la fonction publique (sauf é'), | |||||
| (1, '525d', 'Agents de service hospitaliers', 'Agents de service hospitaliers'), | |||||
| (1, '526a', 'Aides-soignants', 'Aides-soignants'), | |||||
| (1, '526b', 'Assistants dentaires, médicaux et vétérinaires, aides de techniciens médicaux', 'Assistants dentaires, médicaux et vétérinaires,'), | |||||
| (1, '526c', 'Auxiliaires de puériculture', 'Auxiliaires de puériculture'), | |||||
| (1, '526d', 'Aides médico-psychologiques', 'Aides médico-psychologiques'), | |||||
| (1, '526e', 'Ambulanciers salariés', 'Ambulanciers salariés'), | |||||
| (1, '531a', 'Agents de police de l''Etat*', 'Agents de police de l''Etat*'), | |||||
| (1, '531b', 'Agents des polices municipales*', 'Agents des polices municipales*'), | |||||
| (1, '531c', 'Surveillants de l''administration pénitentiaire*', 'Surveillants de l''administration pénitentiaire*'), | |||||
| (1, '532a', 'Gendarmes (de grade inférieur à adjudant)*', 'Gendarmes (de grade inférieur à adjudant)*'), | |||||
| (1, '532b', 'Sergents et sous-officiers de grade équivalent des Armées (sauf pompiers militaires)*', 'Sergents et sous-officiers de grade équivalent de'), | |||||
| (1, '532c', 'Hommes du rang (sauf pompiers militaires)*', 'Hommes du rang (sauf pompiers militaires)*'), | |||||
| (1, '533a', 'Pompiers (y.c. pompiers militaires)', 'Pompiers (y.c. pompiers militaires)'), | |||||
| (1, '533b', 'Agents techniques forestiers, gardes des espaces naturels', 'Agents techniques forestiers, gardes des espaces n'), | |||||
| (1, '533c', 'Agents de surveillance du patrimoine et des administrations', 'Agents de surveillance du patrimoine et des admini'), | |||||
| (1, '534a', 'Agents civils de sécurité et de surveillance', 'Agents civils de sécurité et de surveillance'), | |||||
| (1, '534b', 'Convoyeurs de fonds, gardes du corps, enquêteurs privés et métiers assimilés (salariés)', 'Convoyeurs de fonds, gardes du corps, enquêteurs '), | |||||
| (1, '541b', 'Agents d''accueil qualifiés, hôtesses d''accueil et d''information', 'Agents d''accueil qualifiés, hôtesses d''accueil e'), | |||||
| (1, '541c', 'Agents d''accueil non qualifiés', 'Agents d''accueil non qualifiés'), | |||||
| (1, '541d', 'Standardistes, téléphonistes', 'Standardistes, téléphonistes'), | |||||
| (1, '542a', 'Secrétaires', 'Secrétaires'), | |||||
| (1, '542b', 'Dactylos, sténodactylos (sans secrétariat), opérateurs de traitement de texte', 'Dactylos, sténodactylos (sans secrétariat), opé'), | |||||
| (1, '543b', 'Employés qualifiés des services comptables ou financiers', 'Employés qualifiés des services comptables ou fi'), | |||||
| (1, '543c', 'Employés non qualifiés des services comptables ou financiers', 'Employés non qualifiés des services comptables o'), | |||||
| (1, '543e', 'Employés qualifiés des services du personnel et des services juridiques', 'Employés qualifiés des services du personnel et '), | |||||
| (1, '543f', 'Employés qualifiés des services commerciaux des entreprises (hors vente)', 'Employés qualifiés des services commerciaux des '), | |||||
| (1, '543g', 'Employés administratifs qualifiés des autres services des entreprises', 'Employés administratifs qualifiés des autres ser'), | |||||
| (1, '543h', 'Employés administratifs non qualifiés', 'Employés administratifs non qualifiés'), | |||||
| (1, '544a', 'Employés et opérateurs d''exploitation en informatique', 'Employés et opérateurs d''exploitation en informa'), | |||||
| (1, '545a', 'Employés administratifs des services techniques de la banque', 'Employés administratifs des services techniques d'), | |||||
| (1, '545b', 'Employés des services commerciaux de la banque', 'Employés des services commerciaux de la banque'), | |||||
| (1, '545c', 'Employés des services techniques des assurances', 'Employés des services techniques des assurances'), | |||||
| (1, '545d', 'Employés des services techniques des organismes de sécurité sociale et assimilés', 'Employés des services techniques des organismes d'), | |||||
| (1, '546a', 'Contrôleurs des transports (personnels roulants)', 'Contrôleurs des transports (personnels roulants)'), | |||||
| (1, '546b', 'Agents des services commerciaux des transports de voyageurs et du tourisme', 'Agents des services commerciaux des transports de '), | |||||
| (1, '546c', 'Employés administratifs d''exploitation des transports de marchandises', 'Employés administratifs d''exploitation des transp'), | |||||
| (1, '546d', 'Hôtesses de l''air et stewards', 'Hôtesses de l''air et stewards'), | |||||
| (1, '546e', 'Autres agents et hôtesses d''accompagnement (transports, tourisme)', 'Autres agents et hôtesses d''accompagnement (trans'), | |||||
| (1, '551a', 'Employés de libre service du commerce et magasiniers', 'Employés de libre service du commerce et magasini'), | |||||
| (1, '552a', 'Caissiers de magasin', 'Caissiers de magasin'), | |||||
| (1, '553b', 'Vendeurs polyvalents des grands magasins', 'Vendeurs polyvalents des grands magasins'), | |||||
| (1, '553c', ' Autres vendeurs non spécialisés', ' Autres vendeurs non spécialisés'), | |||||
| (1, '554a', 'Vendeurs en alimentation', 'Vendeurs en alimentation'), | |||||
| (1, '554b', 'Vendeurs en ameublement, décor, équipement du foyer', 'Vendeurs en ameublement, décor, équipement du fo'), | |||||
| (1, '554c', 'Vendeurs en droguerie, bazar, quincaillerie, bricolage', 'Vendeurs en droguerie, bazar, quincaillerie, brico'), | |||||
| (1, '554d', 'Vendeurs du commerce de fleurs', 'Vendeurs du commerce de fleurs'), | |||||
| (1, '554e', 'Vendeurs en habillement et articles de sport', 'Vendeurs en habillement et articles de sport'), | |||||
| (1, '554f', 'Vendeurs en produits de beauté, de luxe (hors biens culturels) et optique', 'Vendeurs en produits de beauté, de luxe (hors bie'), | |||||
| (1, '554g', 'Vendeurs de biens culturels (livres, disques, multimédia, objets d''art)', 'Vendeurs de biens culturels (livres, disques, mult'), | |||||
| (1, '554h', 'Vendeurs de tabac, presse et articles divers', 'Vendeurs de tabac, presse et articles divers'), | |||||
| (1, '554j', 'Pompistes et gérants de station-service (salariés ou mandataires)', 'Pompistes et gérants de station-service (salarié'), | |||||
| (1, '555a', 'Vendeurs par correspondance, télévendeurs', 'Vendeurs par correspondance, télévendeurs'), | |||||
| (1, '556a', 'Vendeurs en gros de biens d''équipement, biens intermédiaires', 'Vendeurs en gros de biens d''équipement, biens int'), | |||||
| (1, '561b', 'Serveurs, commis de restaurant, garçons qualifiés', 'Serveurs, commis de restaurant, garçons qualifié'), | |||||
| (1, '561c', 'Serveurs, commis de restaurant, garçons non qualifiés', 'Serveurs, commis de restaurant, garçons non quali'), | |||||
| (1, '561d', 'Aides de cuisine, apprentis de cuisine et employés polyvalents de la restauration', 'Aides de cuisine, apprentis de cuisine et employé'), | |||||
| (1, '561e', 'Employés de l''hôtellerie : réception et hall', 'Employés de l''hôtellerie : réception et hall'), | |||||
| (1, '561f', 'Employés d''étage et employés polyvalents de l''hôtellerie', 'Employés d''étage et employés polyvalents de l''h'), | |||||
| (1, '562a', 'Manucures, esthéticiens ', 'Manucures, esthéticiens '), | |||||
| (1, '562b', 'Coiffeurs salariés', 'Coiffeurs salariés'), | |||||
| (1, '563a', 'Assistantes maternelles, gardiennes d''enfants, familles d''accueil', 'Assistantes maternelles, gardiennes d''enfants, fam'), | |||||
| (1, '563b', 'Aides à domicile, aides ménagères, travailleuses familiales', 'Aides à domicile, aides ménagères, travailleuse'), | |||||
| (1, '563c', 'Employés de maison et personnels de ménage chez des particuliers', 'Employés de maison et personnels de ménage chez '), | |||||
| (1, '564a', 'Concierges, gardiens d''immeubles', 'Concierges, gardiens d''immeubles'), | |||||
| (1, '564b', 'Employés des services divers', 'Employés des services divers'), | |||||
| (1, '621a', 'Chefs d''équipe du gros oeuvre et des travaux publics', 'Chefs d''équipe du gros oeuvre et des travaux publ'), | |||||
| (1, '621b', 'Ouvriers qualifiés du travail du béton', 'Ouvriers qualifiés du travail du béton'), | |||||
| (1, '621c', 'Conducteurs qualifiés d''engins de chantiers du bâtiment et des travaux publics', 'Conducteurs qualifiés d''engins de chantiers du b?'), | |||||
| (1, '621d', 'Ouvriers des travaux publics en installations électriques et de télécommunications', 'Ouvriers des travaux publics en installations éle'), | |||||
| (1, '621e', 'Autres ouvriers qualifiés des travaux publics', 'Autres ouvriers qualifiés des travaux publics'), | |||||
| (1, '621f', 'Ouvriers qualifiés des travaux publics (salariés de l''Etat et des collectivités locales)', 'Ouvriers qualifiés des travaux publics (salariés'), | |||||
| (1, '621g', 'Mineurs de fond qualifiés et autres ouvriers qualifiés des industries d''extraction (carrières, pétrole, gaz...)', 'Mineurs de fond qualifiés et autres ouvriers qual'), | |||||
| (1, '622a', 'Opérateurs qualifiés sur machines automatiques en production électrique ou électronique', 'Opérateurs qualifiés sur machines automatiques e'), | |||||
| (1, '622c', 'Monteurs câbleurs qualifiés en électricité', 'Monteurs câbleurs qualifiés en électricité'), | |||||
| (1, '622d', 'Câbleurs qualifiés en électronique (prototype, unité, petite série)', 'Câbleurs qualifiés en électronique (prototype, '), | |||||
| (1, '622e', 'Autres monteurs câbleurs en électronique', 'Autres monteurs câbleurs en électronique'), | |||||
| (1, '622f', 'Bobiniers qualifiés', 'Bobiniers qualifiés'), | |||||
| (1, '622g', 'Plateformistes, contrôleurs qualifiés de matériel électrique ou électronique', 'Plateformistes, contrôleurs qualifiés de matéri'), | |||||
| (1, '623a', 'Chaudronniers-tôliers industriels, opérateurs qualifiés du travail en forge, conducteurs qualifiés d''équipement de formage, traceurs qualifiés', 'Chaudronniers-tôliers industriels, opérateurs qu'), | |||||
| (1, '623b', 'Tuyauteurs industriels qualifiés', 'Tuyauteurs industriels qualifiés'), | |||||
| (1, '623d', 'Opérateurs qualifiés sur machine de soudage', 'Opérateurs qualifiés sur machine de soudage'), | |||||
| (1, '623e', 'Soudeurs manuels', 'Soudeurs manuels'), | |||||
| (1, '623f', 'Opérateurs qualifiés d''usinage des métaux travaillant à l''unité ou en petite série, moulistes qualifiés', 'Opérateurs qualifiés d''usinage des métaux trava'), | |||||
| (1, '623g', 'Opérateurs qualifiés d''usinage des métaux sur autres machines (sauf moulistes)', 'Opérateurs qualifiés d''usinage des métaux sur a'), | |||||
| (1, '624b', 'Monteurs, metteurs au point très qualifiés d''ensembles mécaniques travaillant à l''unité ou en petite série', 'Monteurs, metteurs au point très qualifiés d''ens'), | |||||
| (1, '624c', 'Monteurs qualifiés d''ensembles mécaniques travaillant en moyenne ou en grande série', 'Monteurs qualifiés d''ensembles mécaniques travai'), | |||||
| (1, '624d', 'Monteurs qualifiés en structures métalliques', 'Monteurs qualifiés en structures métalliques'), | |||||
| (1, '624e', 'Ouvriers qualifiés de contrôle et d''essais en mécanique', 'Ouvriers qualifiés de contrôle et d''essais en m?'), | |||||
| (1, '624f', 'Ouvriers qualifiés des traitements thermiques et de surface sur métaux', 'Ouvriers qualifiés des traitements thermiques et '), | |||||
| (1, '624g', 'Autres mécaniciens ou ajusteurs qualifiés (ou spécialité non reconnue)', 'Autres mécaniciens ou ajusteurs qualifiés (ou sp'), | |||||
| (1, '625a', 'Pilotes d''installation lourde des industries de transformation : agroalimentaire, chimie, plasturgie, énergie', 'Pilotes d''installation lourde des industries de tr'), | |||||
| (1, '625b', 'Ouvriers qualifiés et agents qualifiés de laboratoire : agroalimentaire, chimie, biologie, pharmacie', 'Ouvriers qualifiés et agents qualifiés de labora'), | |||||
| (1, '625c', 'Autres opérateurs et ouvriers qualifiés de la chimie (y.c. pharmacie) et de la plasturgie', 'Autres opérateurs et ouvriers qualifiés de la ch'), | |||||
| (1, '625d', 'Opérateurs de la transformation des viandes', 'Opérateurs de la transformation des viandes'), | |||||
| (1, '625f', 'Autres opérateurs travaillant sur installations ou machines : industrie agroalimentaire (hors transformation des viandes)', 'Autres opérateurs travaillant sur installations o'), | |||||
| (1, '625g', 'Autres ouvriers de production qualifiés ne travaillant pas sur machine : industrie agroalimentaire (hors transformation des viandes)', 'Autres ouvriers de production qualifiés ne travai'), | |||||
| (1, '625h', 'Ouvriers qualifiés des autres industries (eau, gaz, énergie, chauffage)', 'Ouvriers qualifiés des autres industries (eau, ga'), | |||||
| (1, '626a', 'Pilotes d''installation lourde des industries de transformation : métallurgie, production verrière, matériaux de construction', 'Pilotes d''installation lourde des industries de tr'), | |||||
| (1, '626b', 'Autres opérateurs et ouvriers qualifiés : métallurgie, production verrière, matériaux de construction', 'Autres opérateurs et ouvriers qualifiés : métal'), | |||||
| (1, '626c', 'Opérateurs et ouvriers qualifiés des industries lourdes du bois et de la fabrication du papier-carton', 'Opérateurs et ouvriers qualifiés des industries '), | |||||
| (1, '627a', 'Opérateurs qualifiés du textile et de la mégisserie', 'Opérateurs qualifiés du textile et de la mégiss'), | |||||
| (1, '627b', 'Ouvriers qualifiés de la coupe des vêtements et de l''habillement, autres opérateurs de confection qualifiés', 'Ouvriers qualifiés de la coupe des vêtements et '), | |||||
| (1, '627c', 'Ouvriers qualifiés du travail industriel du cuir', 'Ouvriers qualifiés du travail industriel du cuir'), | |||||
| (1, '627d', 'Ouvriers qualifiés de scierie, de la menuiserie industrielle et de l''ameublement', 'Ouvriers qualifiés de scierie, de la menuiserie i'), | |||||
| (1, '627e', 'Ouvriers de la photogravure et des laboratoires photographiques et cinématographiques', 'Ouvriers de la photogravure et des laboratoires ph'), | |||||
| (1, '627f', 'Ouvriers de la composition et de l''impression, ouvriers qualifiés de la brochure, de la reliure et du façonnage du papier-carton', 'Ouvriers de la composition et de l''impression, ouv'), | |||||
| (1, '628a', 'Mécaniciens qualifiés de maintenance, entretien : équipements industriels', 'Mécaniciens qualifiés de maintenance, entretien '), | |||||
| (1, '628b', 'Electromécaniciens, électriciens qualifiés d''entretien : équipements industriels', 'Electromécaniciens, électriciens qualifiés d''en'), | |||||
| (1, '628c', 'Régleurs qualifiés d''équipements de fabrication (travail des métaux, mécanique)', 'Régleurs qualifiés d''équipements de fabrication'), | |||||
| (1, '628d', 'Régleurs qualifiés d''équipements de fabrication (hors travail des métaux et mécanique)', 'Régleurs qualifiés d''équipements de fabrication'), | |||||
| (1, '628e', 'Ouvriers qualifiés de l''assainissement et du traitement des déchets', 'Ouvriers qualifiés de l''assainissement et du trai'), | |||||
| (1, '628f', 'Agents qualifiés de laboratoire (sauf chimie, santé)', 'Agents qualifiés de laboratoire (sauf chimie, san'), | |||||
| (1, '628g', 'Ouvriers qualifiés divers de type industriel', 'Ouvriers qualifiés divers de type industriel'), | |||||
| (1, '631a', 'Jardiniers', 'Jardiniers'), | |||||
| (1, '632a', 'Maçons qualifiés', 'Maçons qualifiés'), | |||||
| (1, '632b', 'Ouvriers qualifiés du travail de la pierre', 'Ouvriers qualifiés du travail de la pierre'), | |||||
| (1, '632c', 'Charpentiers en bois qualifiés', 'Charpentiers en bois qualifiés'), | |||||
| (1, '632d', 'Menuisiers qualifiés du bâtiment', 'Menuisiers qualifiés du bâtiment'), | |||||
| (1, '632e', 'Couvreurs qualifiés', 'Couvreurs qualifiés'), | |||||
| (1, '632f', 'Plombiers et chauffagistes qualifiés', 'Plombiers et chauffagistes qualifiés'), | |||||
| (1, '632g', 'Peintres et ouvriers qualifiés de pose de revêtements sur supports verticaux', 'Peintres et ouvriers qualifiés de pose de revête'), | |||||
| (1, '632h', 'Soliers moquetteurs et ouvriers qualifiés de pose de revêtements souples sur supports horizontaux', 'Soliers moquetteurs et ouvriers qualifiés de pose'), | |||||
| (1, '632j', 'Monteurs qualifiés en agencement, isolation', 'Monteurs qualifiés en agencement, isolation'), | |||||
| (1, '632k', 'Ouvriers qualifiés d''entretien général des bâtiments', 'Ouvriers qualifiés d''entretien général des bât'), | |||||
| (1, '633a', 'Electriciens qualifiés de type artisanal (y.c. bâtiment)', 'Electriciens qualifiés de type artisanal (y.c. b?'), | |||||
| (1, '633b', 'Dépanneurs qualifiés en radiotélévision, électroménager, matériel électronique (salariés)', 'Dépanneurs qualifiés en radiotélévision, élec'), | |||||
| (1, '633c', 'Electriciens, électroniciens qualifiés en maintenance entretien, réparation : automobile', 'Electriciens, électroniciens qualifiés en mainte'), | |||||
| (1, '633d', 'Electriciens, électroniciens qualifiés en maintenance, entretien : équipements non industriels', 'Electriciens, électroniciens qualifiés en mainte'), | |||||
| (1, '634a', 'Carrossiers d''automobiles qualifiés', 'Carrossiers d''automobiles qualifiés'), | |||||
| (1, '634b', 'Métalliers, serruriers qualifiés', 'Métalliers, serruriers qualifiés'), | |||||
| (1, '634c', 'Mécaniciens qualifiés en maintenance, entretien, réparation : automobile', 'Mécaniciens qualifiés en maintenance, entretien,'), | |||||
| (1, '634d', 'Mécaniciens qualifiés de maintenance, entretien : équipements non industriels', 'Mécaniciens qualifiés de maintenance, entretien '), | |||||
| (1, '635a', 'Tailleurs et couturières qualifiés, ouvriers qualifiés du travail des étoffes (sauf fabrication de vêtements), ouvriers qualifiés de type artisanal du travail du cuir', 'Tailleurs et couturières qualifiés, ouvriers qua'), | |||||
| (1, '636a', 'Bouchers (sauf industrie de la viande)', 'Bouchers (sauf industrie de la viande)'), | |||||
| (1, '636b', 'Charcutiers (sauf industrie de la viande)', 'Charcutiers (sauf industrie de la viande)'), | |||||
| (1, '636c', 'Boulangers, pâtissiers (sauf activité industrielle)', 'Boulangers, pâtissiers (sauf activité industriel'), | |||||
| (1, '636d', 'Cuisiniers et commis de cuisine', 'Cuisiniers et commis de cuisine'), | |||||
| (1, '637a', 'Modeleurs (sauf modeleurs de métal), mouleurs-noyauteurs à la main, ouvriers qualifiés du travail du verre ou de la céramique à la main', 'Modeleurs (sauf modeleurs de métal), mouleurs-noy'), | |||||
| (1, '637b', 'Ouvriers d''art', 'Ouvriers d''art'), | |||||
| (1, '637c', 'Ouvriers et techniciens des spectacles vivants et audiovisuels', 'Ouvriers et techniciens des spectacles vivants et '), | |||||
| (1, '637d', 'Ouvriers qualifiés divers de type artisanal', 'Ouvriers qualifiés divers de type artisanal'), | |||||
| (1, '641a', 'Conducteurs routiers et grands routiers', 'Conducteurs routiers et grands routiers'), | |||||
| (1, '641b', 'Conducteurs de véhicule routier de transport en commun', 'Conducteurs de véhicule routier de transport en c'), | |||||
| (1, '642a', 'Conducteurs de taxi', 'Conducteurs de taxi'), | |||||
| (1, '642b', 'Conducteurs de voiture particulière', 'Conducteurs de voiture particulière'), | |||||
| (1, '643a', 'Conducteurs livreurs, coursiers', 'Conducteurs livreurs, coursiers'), | |||||
| (1, '644a', 'Conducteurs de véhicule de ramassage des ordures ménagères', 'Conducteurs de véhicule de ramassage des ordures '), | |||||
| (1, '651a', 'Conducteurs d''engin lourd de levage', 'Conducteurs d''engin lourd de levage'), | |||||
| (1, '651b', 'Conducteurs d''engin lourd de manoeuvre', 'Conducteurs d''engin lourd de manoeuvre'), | |||||
| (1, '652a', 'Ouvriers qualifiés de la manutention, conducteurs de chariots élévateurs, caristes', 'Ouvriers qualifiés de la manutention, conducteurs'), | |||||
| (1, '652b', 'Dockers', 'Dockers'), | |||||
| (1, '653a', 'Magasiniers qualifiés', 'Magasiniers qualifiés'), | |||||
| (1, '654b', 'Conducteurs qualifiés d''engins de transport guidés (sauf remontées mécaniques)', 'Conducteurs qualifiés d''engins de transport guid?'), | |||||
| (1, '654c', 'Conducteurs qualifiés de systèmes de remontées mécaniques', 'Conducteurs qualifiés de systèmes de remontées '), | |||||
| (1, '655a', 'Autres agents et ouvriers qualifiés (sédentaires) des services d''exploitation des transports', 'Autres agents et ouvriers qualifiés (sédentaires'), | |||||
| (1, '656b', 'Matelots de la marine marchande', 'Matelots de la marine marchande'), | |||||
| (1, '656c', 'Capitaines et matelots timoniers de la navigation fluviale', 'Capitaines et matelots timoniers de la navigation '), | |||||
| (1, '671a', 'Ouvriers non qualifiés des travaux publics de l''Etat et des collectivités locales', 'Ouvriers non qualifiés des travaux publics de l''E'), | |||||
| (1, '671c', 'Ouvriers non qualifiés des travaux publics et du travail du béton', 'Ouvriers non qualifiés des travaux publics et du '), | |||||
| (1, '671d', 'Aides-mineurs, ouvriers non qualifiés de l''extraction', 'Aides-mineurs, ouvriers non qualifiés de l''extrac'), | |||||
| (1, '672a', 'Ouvriers non qualifiés de l''électricité et de l''électronique', 'Ouvriers non qualifiés de l''électricité et de l'), | |||||
| (1, '673a', 'Ouvriers de production non qualifiés travaillant par enlèvement de métal', 'Ouvriers de production non qualifiés travaillant '), | |||||
| (1, '673b', 'Ouvriers de production non qualifiés travaillant par formage de métal', 'Ouvriers de production non qualifiés travaillant '), | |||||
| (1, '673c', 'Ouvriers non qualifiés de montage, contrôle en mécanique et travail des métaux', 'Ouvriers non qualifiés de montage, contrôle en m'), | |||||
| (1, '674a', 'Ouvriers de production non qualifiés : chimie, pharmacie, plasturgie', 'Ouvriers de production non qualifiés : chimie, ph'), | |||||
| (1, '674b', 'Ouvriers de production non qualifiés de la transformation des viandes', 'Ouvriers de production non qualifiés de la transf'), | |||||
| (1, '674c', 'Autres ouvriers de production non qualifiés : industrie agroalimentaire', 'Autres ouvriers de production non qualifiés : ind'), | |||||
| (1, '674d', 'Ouvriers de production non qualifiés : métallurgie, production verrière, céramique, matériaux de construction', 'Ouvriers de production non qualifiés : métallurg'), | |||||
| (1, '674e', 'Ouvriers de production non qualifiés : industrie lourde du bois, fabrication des papiers et cartons', 'Ouvriers de production non qualifiés : industrie '), | |||||
| (1, '675a', 'Ouvriers de production non qualifiés du textile et de la confection, de la tannerie-mégisserie et du travail du cuir', 'Ouvriers de production non qualifiés du textile e'), | |||||
| (1, '675b', 'Ouvriers de production non qualifiés du travail du bois et de l''ameublement', 'Ouvriers de production non qualifiés du travail d'), | |||||
| (1, '675c', 'Ouvriers de production non qualifiés de l''imprimerie, presse, édition', 'Ouvriers de production non qualifiés de l''imprime'), | |||||
| (1, '676a', 'Manutentionnaires non qualifiés', 'Manutentionnaires non qualifiés'), | |||||
| (1, '676b', 'Déménageurs (hors chauffeurs-déménageurs), non qualifiés', 'Déménageurs (hors chauffeurs-déménageurs), non'), | |||||
| (1, '676c', 'Ouvriers du tri, de l''emballage, de l''expédition, non qualifiés', 'Ouvriers du tri, de l''emballage, de l''expédition,'), | |||||
| (1, '676d', 'Agents non qualifiés des services d''exploitation des transports', 'Agents non qualifiés des services d''exploitation '), | |||||
| (1, '676e', 'Ouvriers non qualifiés divers de type industriel', 'Ouvriers non qualifiés divers de type industriel'), | |||||
| (1, '681a', 'Ouvriers non qualifiés du gros oeuvre du bâtiment', 'Ouvriers non qualifiés du gros oeuvre du bâtimen'), | |||||
| (1, '681b', 'Ouvriers non qualifiés du second oeuvre du bâtiment', 'Ouvriers non qualifiés du second oeuvre du bâtim'), | |||||
| (1, '682a', 'Métalliers, serruriers, réparateurs en mécanique non qualifiés', 'Métalliers, serruriers, réparateurs en mécaniqu'), | |||||
| (1, '683a', 'Apprentis boulangers, bouchers, charcutiers', 'Apprentis boulangers, bouchers, charcutiers'), | |||||
| (1, '684a', 'Nettoyeurs', 'Nettoyeurs'), | |||||
| (1, '684b', 'Ouvriers non qualifiés de l''assainissement et du traitement des déchets', 'Ouvriers non qualifiés de l''assainissement et du '), | |||||
| (1, '685a', 'Ouvriers non qualifiés divers de type artisanal', 'Ouvriers non qualifiés divers de type artisanal'), | |||||
| (1, '691a', 'Conducteurs d''engin agricole ou forestier', 'Conducteurs d''engin agricole ou forestier'), | |||||
| (1, '691b', 'Ouvriers de l''élevage', 'Ouvriers de l''élevage'), | |||||
| (1, '691c', 'Ouvriers du maraîchage ou de l''horticulture', 'Ouvriers du maraîchage ou de l''horticulture'), | |||||
| (1, '691d', 'Ouvriers de la viticulture ou de l''arboriculture fruitière', 'Ouvriers de la viticulture ou de l''arboriculture f'), | |||||
| (1, '691e', 'Ouvriers agricoles sans spécialisation particulière', 'Ouvriers agricoles sans spécialisation particuli?'), | |||||
| (1, '691f', 'Ouvriers de l''exploitation forestière ou de la sylviculture', 'Ouvriers de l''exploitation forestière ou de la sy'), | |||||
| (1, '692a', 'Marins-pêcheurs et ouvriers de l''aquaculture', 'Marins-pêcheurs et ouvriers de l''aquaculture') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| UPDATE rh.t_categories_socio_professionnelle | |||||
| SET code = w_dbsetup.code | |||||
| FROM w_dbsetup | |||||
| WHERE 1=1 | |||||
| AND t_categories_socio_professionnelle.oid = w_dbsetup.oid | |||||
| AND w_dbsetup.oid = 0 | |||||
| ; | |||||
| UPDATE rh.t_categories_socio_professionnelle | |||||
| SET | |||||
| texte = w_dbsetup.texte, | |||||
| texte_court = w_dbsetup.texte_court | |||||
| FROM w_dbsetup | |||||
| WHERE t_categories_socio_professionnelle.code = w_dbsetup.code | |||||
| ; | |||||
| INSERT INTO rh.t_categories_socio_professionnelle(oid, code, texte, texte_court, code_original) | |||||
| SELECT oid, code, texte, texte_court, code | |||||
| FROM w_dbsetup | |||||
| WHERE 1=1 | |||||
| AND oid = 0 | |||||
| AND oid NOT IN (SELECT oid FROM rh.t_categories_socio_professionnelle) | |||||
| ; | |||||
| INSERT INTO rh.t_categories_socio_professionnelle(code, texte, texte_court, code_original) | |||||
| SELECT code, texte, texte_court, code | |||||
| FROM w_dbsetup | |||||
| WHERE 1=1 | |||||
| AND oid != 0 | |||||
| AND code NOT IN (SELECT code FROM rh.t_categories_socio_professionnelle) | |||||
| ; | |||||
| SELECT rh.cti_update_schema_classes('CSC') | |||||
| ; | |||||
| @ -0,0 +1,62 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| t_chart.type, | |||||
| t_chart.category, | |||||
| t_chart.name, | |||||
| t_chart.default_time_calc, | |||||
| t_chart.label_view_code, | |||||
| t_chart.code, | |||||
| array_agg(DISTINCT t_indicateur_serie.code) as serie_code | |||||
| FROM rh.t_chart | |||||
| LEFT JOIN rh.t_indicateur_serie ON ARRAY[t_indicateur_serie.oid] <@ t_chart.serie_id | |||||
| GROUP BY 1,2,3,4,5,6 | |||||
| ORDER BY 1 LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| type, | |||||
| category, | |||||
| name, | |||||
| default_time_calc, | |||||
| label_view_code, | |||||
| code, | |||||
| serie_code | |||||
| ) | |||||
| VALUES | |||||
| ('card', 'date', 'Carte effectifs', 'val', 0, 'CTI_STATCAR', '{"CTI_FEMMES", "CTI_HOMMES"}'), | |||||
| ('donut', 'CTI_TYPECONTRAT#LS#CTI_TCNT', 'Types de contrats', 'val', 0, 'CTI_TYPECNT', '{"CTI_FEMMES", "CTI_HOMMES"}'), | |||||
| ('spread', 'CTI_AGE#LS#CTI_AGE', 'Effectifs par tranches age', 'val', 0, 'CTI_EFFAGE', '{"CTI_FEMMES", "CTI_HOMMES"}'), | |||||
| ('spread', 'CTI_AGE#LS#CTI_AGE', 'Masse salariale par tranche d''age', 'val', 0, 'CTI_MSAGE', '{"CTI_MSF", "CTI_MSH"}'), | |||||
| ('spread', 'CTI_ANCIENNETE#LS#CTI_ANC', 'Effectifs par tranches anciente', 'val', 0, 'CTI_EFFANC', '{"CTI_FEMMES", "CTI_HOMMES"}'), | |||||
| ('spread', 'CTI_STATUT#LS#CTI_STATUT', 'Effectifs par statut', 'val', 0, 'CTI_EFFSTAT', '{"CTI_FEMMES", "CTI_HOMMES"}'), | |||||
| ('stacked', 'CTI_CSP#DT#', 'Masse salariale par CSP', 'val', 1, 'CTI_MSCSP', '{"CTI_MSF", "CTI_MSH"}'), | |||||
| ('stacked', 'date', 'Effectifs par genre', 'val', 0, 'CTI_EFFGEN', '{"CTI_FEMMES", "CTI_HOMMES"}'), | |||||
| ('stacked', 'date', 'Heures supplementaires', 'val', 0, 'CTI_HSUPP', '{"CTI_HSUPF", "CTI_HSUPH"}'), | |||||
| ('stackedPercent', 'date', 'Repartition par genre', 'val', 0, 'CTI_REPGEN', '{"CTI_FEMMES", "CTI_HOMMES"}'), | |||||
| ('table', 'date', 'Entrees sorties carte', 'val', 0, 'CTI_ENTSORCAR', '{"CTI_DEPSALF", "CTI_DEPSALH", "CTI_EFFDF", "CTI_EFFDH", "CTI_ENTSORF", "CTI_ENTSORH", "CTI_NVSALF", "CTI_NVSALH", "CTI_TOF", "CTI_TOH"}'), | |||||
| ('table2d', 'CTI_STATUT#LS#CTI_STATUT', 'Tableau statuts', 'val', 0, 'CTI_STAT', '{"CTI_FEMMES", "CTI_HOMMES", "CTI_TOTSAL"}'), | |||||
| ('table2dTime', 'CTI_STATUT#LS#CTI_STATUT', 'Statuts temps', 'cum', 0, 'CTI_STATTIME', '{"CTI_TAUXSTAT", "CTI_TOTSAL", "CTI_TOTSALF"}'), | |||||
| ('treemap', 'CTI_CSP#DT#', 'Masse salariale par CSP (MAP)', 'val', 1, 'CTI_MSCSPMAP', '{"CTI_MS"}') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| TRUNCATE rh.t_chart; | |||||
| INSERT INTO rh.t_chart(type, serie_id, category, name, default_time_calc, label_view_code, code) | |||||
| SELECT | |||||
| type, | |||||
| array_agg(DISTINCT t_indicateur_serie.oid), | |||||
| w_dbsetup.category, | |||||
| w_dbsetup.name, | |||||
| w_dbsetup.default_time_calc, | |||||
| w_dbsetup.label_view_code, | |||||
| w_dbsetup.code | |||||
| FROM w_dbsetup | |||||
| LEFT JOIN rh.t_indicateur_serie ON ARRAY[t_indicateur_serie.code] <@ w_dbsetup.serie_code | |||||
| GROUP BY 1,3,4,5,6,7 | |||||
| ; | |||||
| @ -0,0 +1,132 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| t_listes_tables.code AS table_code, | |||||
| t_classes.code AS classe_code, | |||||
| t_classes.texte, | |||||
| t_classes.is_cti, | |||||
| t_classes.contenu_by_code, | |||||
| t_classes.contenu_non_replicable_ailleurs | |||||
| FROM rh.t_classes | |||||
| JOIN rh.t_listes_tables ON table_id = t_listes_tables.oid | |||||
| WHERE t_classes.code <> '' AND | |||||
| (is_cti = '1' OR t_classes.code ilike 'CTI_%') AND is_cti = '1' | |||||
| ORDER BY 1,2 LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| table_code, | |||||
| classe_code, | |||||
| texte, | |||||
| is_cti, | |||||
| contenu_by_code, | |||||
| contenu_non_replicable_ailleurs | |||||
| ) | |||||
| VALUES | |||||
| ('AGE', 'CTI_AGE', 'Tranche d''ages Bilan Social', '1', '0', '0'), | |||||
| ('ANC', 'CTI_ANC', 'Tranche d''ancienneté Bilan Social', '1', '0', '0'), | |||||
| ('MOA', 'CTI_ARRET', 'Arrêt de travail Bilan Social', '1', '0', '0'), | |||||
| ('MTF', 'CTI_MFIN', 'Motif de fin Bilan Social', '1', '0', '0'), | |||||
| ('NAT', 'CTI_NAT', 'Nationalité Bilan Social', '1', '0', '0'), | |||||
| ('PSE', 'CTI_CONTRIBUTION_BLOC_OPERATOIRE', 'Services du bloc opératoire pour le calcul de la contribution', '1', '0', '0'), | |||||
| ('QUA', 'CTI_QUAL', 'Qualifications personnels', '1', '0', '0'), | |||||
| ('QUA', 'CTI_SAE_CATEGORIES_PERSONNEL', 'Catégories de personnel SAE', '1', '1', '0'), | |||||
| ('QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL', 'Spécialités détaillées du personnel SAE', '1', '0', '0'), | |||||
| ('QUA', 'CTI_SAE_SPECIALITES_PERSONNEL', 'Spécialités du personnel SAE', '1', '1', '0'), | |||||
| ('QUA', 'CTI_SAE_TYPES_PERSONNEL', 'Types du personnel SAE', '1', '1', '0'), | |||||
| ('RUP', 'ALM_HRS', 'ALM Détail des heures contrat, sup, abs, maintien', '1', '0', '0'), | |||||
| ('RUP', 'CTI_RUB', 'Rubrique Bilan Social', '1', '0', '0'), | |||||
| ('SER', 'CTI_SAE_GROUPES_DISCIPLINES', 'Groupes de disciplines SAE', '1', '0', '0'), | |||||
| ('STA', 'CTI_STATUT', 'Statuts CTI', '1', '0', '0'), | |||||
| ('TCN', 'CTI_TCNT', 'Type de contrat Bilan Social', '1', '0', '0'), | |||||
| ('TTT', 'CTI_TTT', 'Type de temps de travail Bilan Social', '1', '0', '0') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| ALTER TABLE w_dbsetup ADD COLUMN IF NOT EXISTS table_id bigint DEFAULT 0 | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET table_id = t_listes_tables.oid | |||||
| FROM rh.t_listes_tables | |||||
| WHERE t_listes_tables.code = table_code | |||||
| ; | |||||
| ALTER TABLE w_dbsetup ADD COLUMN IF NOT EXISTS sequence integer DEFAULT 0 | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET sequence = t_classes.sequence | |||||
| FROM rh.t_classes | |||||
| WHERE t_classes.code = w_dbsetup.classe_code AND | |||||
| t_classes.table_id = w_dbsetup.table_id | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET sequence = subview.sequence | |||||
| FROM | |||||
| ( | |||||
| SELECT | |||||
| w_dbsetup.classe_code, | |||||
| w_dbsetup.table_id, | |||||
| subview.max_sequence_by_table + row_number() OVER (PARTITION BY w_dbsetup.table_id ORDER BY classe_code) AS sequence | |||||
| FROM w_dbsetup | |||||
| JOIN ( | |||||
| SELECT | |||||
| t_listes_tables.oid AS table_id, | |||||
| MAX(COALESCE(t_classes.sequence, 0)) AS max_sequence_by_table | |||||
| FROM rh.t_listes_tables | |||||
| LEFT JOIN rh.t_classes ON t_classes.table_id = t_listes_tables.oid | |||||
| GROUP BY 1 | |||||
| ) AS subview ON w_dbsetup.table_id = subview.table_id | |||||
| WHERE w_dbsetup.sequence = 0 | |||||
| ) AS subview | |||||
| WHERE w_dbsetup.table_id = subview.table_id AND | |||||
| w_dbsetup.classe_code = subview.classe_code AND | |||||
| w_dbsetup.sequence = 0 | |||||
| ; | |||||
| UPDATE rh.t_classes SET | |||||
| texte = w_dbsetup.texte, | |||||
| table_id = w_dbsetup.table_id, | |||||
| is_cti = w_dbsetup.is_cti, | |||||
| contenu_by_code = w_dbsetup.contenu_by_code, | |||||
| contenu_non_replicable_ailleurs = w_dbsetup.contenu_non_replicable_ailleurs | |||||
| FROM w_dbsetup | |||||
| WHERE 1=1 | |||||
| AND t_classes.code = w_dbsetup.classe_code | |||||
| AND t_classes.table_id = w_dbsetup.table_id | |||||
| AND (1!=1 | |||||
| OR t_classes.texte IS DISTINCT FROM w_dbsetup.texte | |||||
| OR t_classes.is_cti IS DISTINCT FROM w_dbsetup.is_cti | |||||
| OR t_classes.contenu_by_code IS DISTINCT FROM w_dbsetup.contenu_by_code | |||||
| OR t_classes.contenu_non_replicable_ailleurs IS DISTINCT FROM w_dbsetup.contenu_non_replicable_ailleurs) | |||||
| ; | |||||
| INSERT INTO rh.t_classes( | |||||
| code, | |||||
| texte, | |||||
| table_id, | |||||
| is_cti, | |||||
| sequence, | |||||
| contenu_by_code, | |||||
| contenu_non_replicable_ailleurs | |||||
| ) | |||||
| SELECT | |||||
| w_dbsetup.classe_code, | |||||
| w_dbsetup.texte, | |||||
| w_dbsetup.table_id, | |||||
| w_dbsetup.is_cti, | |||||
| w_dbsetup.sequence, | |||||
| w_dbsetup.contenu_by_code, | |||||
| w_dbsetup.contenu_non_replicable_ailleurs | |||||
| FROM w_dbsetup | |||||
| WHERE 1=1 | |||||
| AND w_dbsetup.table_id::text || '-' || w_dbsetup.sequence::text NOT IN (SELECT table_id::text || '-' || sequence::text FROM rh.t_classes) | |||||
| AND w_dbsetup.texte NOT LIKE '*SUPPRIME%' | |||||
| ; | |||||
| @ -0,0 +1,280 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| t_classes_sections.code, | |||||
| t_classes_sections.texte, | |||||
| t_classes_sections.condition, | |||||
| t_classes_sections.exclude_code, | |||||
| t_classes_sections.include_code, | |||||
| t_listes_tables.code as table_code, | |||||
| t_classes.code as classe_code | |||||
| FROM rh.t_classes_sections | |||||
| JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id | |||||
| JOIN rh.t_listes_tables ON t_listes_tables.oid = t_classes.table_id | |||||
| WHERE t_classes.is_cti = 1 | |||||
| ORDER BY | |||||
| t_listes_tables.code, | |||||
| t_classes.code, | |||||
| t_classes_sections.code | |||||
| LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| code, | |||||
| texte, | |||||
| condition, | |||||
| exclude_code, | |||||
| include_code, | |||||
| table_code, | |||||
| classe_code | |||||
| ) | |||||
| VALUES | |||||
| ('S1', '- 25 ans', '', '', '', 'AGE', 'CTI_AGE'), | |||||
| ('S2', 'De 25 à 35 ans', '', '', '', 'AGE', 'CTI_AGE'), | |||||
| ('S3', 'De 36 à 45 ans', '', '', '', 'AGE', 'CTI_AGE'), | |||||
| ('S4', 'De 46 à 55 ans', '', '', '', 'AGE', 'CTI_AGE'), | |||||
| ('S5', 'De 56 à 65 ans', '', '', '', 'AGE', 'CTI_AGE'), | |||||
| ('S6', '+ de 65 ans', '', '', '', 'AGE', 'CTI_AGE'), | |||||
| ('S1', '- 10 ans', '', '', '', 'ANC', 'CTI_ANC'), | |||||
| ('S2', 'De 10 à 20 ans', '', '', '', 'ANC', 'CTI_ANC'), | |||||
| ('S3', 'De 21 à 30 ans', '', '', '', 'ANC', 'CTI_ANC'), | |||||
| ('S4', '+ de 30 ans', '', '', '', 'ANC', 'CTI_ANC'), | |||||
| ('ABS', 'Absence (hors divers congés, conflits et service national)', '', '', '', 'MOA', 'CTI_ARRET'), | |||||
| ('ACT', 'Accident du travail, de trajet ou maladie professionnelle', '', '', '', 'MOA', 'CTI_ARRET'), | |||||
| ('AUT', 'Autre', '', '', '', 'MOA', 'CTI_ARRET'), | |||||
| ('COA', 'Congé autorisé (événements familiaux, congés spéciaux pour les femmes...)', '', '', '', 'MOA', 'CTI_ARRET'), | |||||
| ('MAL', 'Maladie', '', '', '', 'MOA', 'CTI_ARRET'), | |||||
| ('MAT', 'Maternité', '', '', '', 'MOA', 'CTI_ARRET'), | |||||
| ('AUT', 'Autre', '', '', '', 'MTF', 'CTI_MFIN'), | |||||
| ('DEC', 'Décés', '', '', '', 'MTF', 'CTI_MFIN'), | |||||
| ('DEM', 'Démission', '', '', '', 'MTF', 'CTI_MFIN'), | |||||
| ('DPE', 'Départ en cours de période d''essai', '', '', '', 'MTF', 'CTI_MFIN'), | |||||
| ('FCD', 'Fin de CDD', '', '', '', 'MTF', 'CTI_MFIN'), | |||||
| ('LAC', 'Licenciement pour autres causes', '', '', '', 'MTF', 'CTI_MFIN'), | |||||
| ('LRP', 'Licenciement économique, dont départ en retraite et préretraite', '', '', '', 'MTF', 'CTI_MFIN'), | |||||
| ('MUT', 'Mutation inter entreprise', '', '', '', 'MTF', 'CTI_MFIN'), | |||||
| ('RPR', 'Départ volontaire en retraite et préretraite', '', '', '', 'MTF', 'CTI_MFIN'), | |||||
| ('ET', 'Etrangère', '', '', '', 'NAT', 'CTI_NAT'), | |||||
| ('FR', 'Française', '', '', '', 'NAT', 'CTI_NAT'), | |||||
| ('UE', 'Union Européenne', '', '', '', 'NAT', 'CTI_NAT'), | |||||
| ('S1', 'Bloc opératoire', '', '', '', 'PSE', 'CTI_CONTRIBUTION_BLOC_OPERATOIRE'), | |||||
| ('PA', 'Personnel administratif et autre', '', '', '', 'QUA', 'CTI_QUAL'), | |||||
| ('PM', 'Personnel médical', '', '', '', 'QUA', 'CTI_QUAL'), | |||||
| ('PS', 'Personnel soignant', '', '', '', 'QUA', 'CTI_QUAL'), | |||||
| ('M9000', 'Personnels médicaux', '', '', '[CLASSE:CTI_SAE_SPECIALITES_PERSONNEL:M*]', 'QUA', 'CTI_SAE_CATEGORIES_PERSONNEL'), | |||||
| ('N1000', 'Personnels de direction', '', '', '[CLASSE:CTI_SAE_SPECIALITES_PERSONNEL:N1*]', 'QUA', 'CTI_SAE_CATEGORIES_PERSONNEL'), | |||||
| ('N2000', 'Personnels des services de soins', '', '', '[CLASSE:CTI_SAE_SPECIALITES_PERSONNEL:N2*]', 'QUA', 'CTI_SAE_CATEGORIES_PERSONNEL'), | |||||
| ('N3000', 'Personnels éducatifs et sociaux', '', '', '[CLASSE:CTI_SAE_SPECIALITES_PERSONNEL:N3*]', 'QUA', 'CTI_SAE_CATEGORIES_PERSONNEL'), | |||||
| ('N4000', 'Personnels médico-techniques', '', '', '[CLASSE:CTI_SAE_SPECIALITES_PERSONNEL:N4*]', 'QUA', 'CTI_SAE_CATEGORIES_PERSONNEL'), | |||||
| ('N5000', 'Personnels techniques et ouvriers', '', '', '[CLASSE:CTI_SAE_SPECIALITES_PERSONNEL:N5*]', 'QUA', 'CTI_SAE_CATEGORIES_PERSONNEL'), | |||||
| ('X9000', 'Hors champ SAE', '', '', '[CLASSE:CTI_SAE_SPECIALITES_PERSONNEL:X*]', 'QUA', 'CTI_SAE_CATEGORIES_PERSONNEL'), | |||||
| ('M1010', 'Médecine générale', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1020', 'Anatomie et cytologie pathologiques', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1030', 'Anesthésie-réanimation', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1031', 'Réanimation médicale', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1040', 'Cardiologie et maladies cardiovasculaires', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1050', 'Dermatologie - Vénérologie - Allergologie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1070', 'Endocrinologie et maladies métaboliques', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1090', 'Gastro entérologie et hépatologie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1100', 'Médecine interne etimmunologie clinique', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1110', 'Néphrologie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1120', 'Neurologie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1130', 'Oncologie médicale', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1140', 'Pédiatrie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1150', 'Pneumologie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1160', 'Radiologie et imagerie médicale', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1170', 'Oncologie radiothérapique', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1180', 'Médecine physique et de réadaptation', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1190', 'Rhumatologie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1200', 'Autres spécialités médicales', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1210', 'Médecine nucléaire', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1310', 'Génétique', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1320', 'Gériatrie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1330', 'Hématologie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1340', 'Médecine d''urgence', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M2010', 'Chirurgie générale', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M2020', 'Chirurgie maxillo-faciale - Stomatologie et chirurgie orale', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M2030', 'Chirurgie orthopédique et traumatologie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M2040', 'Chirurgie plastique reconstructrice et esthétique', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M2050', 'Gynécologie - Obstétrique', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M2060', 'Neuro-chirurgie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M2070', 'Ophtalmologie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M2080', 'Oto-rhino-laryngologie et cervico-faciale', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M2100', 'Chirurgie Urologique', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M2110', 'Autres spécialités chirurgicale', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M2120', 'Chirurgie viscérale et digestive', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M2130', 'Chirurgie vasculaire', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M2140', 'Chirurgie thoracique et cardiaque', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M2150', 'Chirurgie infantile', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M3011', 'Médecins spécialisés en biologie médicale', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M3012', 'Pharmaciens spécialisés en biologie médicale', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M3020', 'Psychiatrie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M3030', 'Odontologie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M3040', 'Santé publique (y compris DIM)', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M3050', 'Pharmacien (hors biologie médicale)', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M3060', 'Médecins du travail', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M3070', 'Autres', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N1110', 'Personnel de direction', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N1210', 'Secrétaires médicaux et assistants médico-administratif', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N1220', 'Autres personnels administratifs', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N1310', 'Directeurs des soins (écoles paramédicales et soins non infirmiers)', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N1410', 'Directeur de soins infirmiers', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2120', 'Surveillants et autres personnels d''encadrement infirmiers', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2130', 'Surveillants des personnels de rééducation et autres personnels d''encadrement non infirmier', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2210', 'Infirmiers DE sans spécialisation (hors secteur psy)', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2220', 'Infirmiers DE en secteur psychiatrique', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2310', 'Infirmiers DE anesthésistes', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2320', 'Infirmiers DE bloc opératoire', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2340', 'Puericultrices DE', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2350', 'Infirmiers en pratique avancée (IPA)', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2410', 'Masseurs kinésithérapeuthes', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2420', 'Pédicures - Podologues', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2430', 'Orthophonistes', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2440', 'Orthoptistes', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2450', 'Diététiciens', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2460', 'Ergothérapeuthes', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2470', 'Psychomotricien', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2480', 'Autres emplois des services de rééducation', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2510', 'Aides soignants', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2520', 'Aides médico-psychologique', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2530', 'Auxilliaires de puériculture', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2610', 'Agents de service hospitalier', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2620', 'Autres personnels de service des services de soins', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2630', 'Fammilles d''accueil', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2710', 'Psychologues', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N2810', 'Sages-femmes y compris encadrement et écoles', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N3110', 'Personnels éducatifs', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N3111', 'Educateurs spécialisés', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N3120', 'Assistants de service social', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N3121', 'Cadres socio-éducatifs', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N3130', 'Autres personnels éducatifs et sociaux', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N4110', 'Personnels des services de laboratoire', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N411B', 'Techniciens de laboratoire', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N411C', 'Autres personnels des services de laboratoire', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N4120', 'Préparateurs en pharmacie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N412A', 'Autres personnels des services de pharmacie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N4130', 'Manipulateurs d''électroradiologie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N4140', 'Autres personnels des services de radiologie', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N4150', 'Autres personnels médico-technique', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N4160', 'Surveillants, cadres et autres personnels d''encadrement médico-technique', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N4170', 'Dosimétristes', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N4180', 'Radiophysiciens - Physiciens médicaux', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N4190', 'Conseillers en génétique', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N5110', 'Ingénieurs', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N511A', 'Personnels des services techniques hors ingénieurs', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N5120', 'Personnel informatique et organisation hors ingénieur', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('N5130', 'Personnels des services techniques et des services intérieurs', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('X9190', 'Hors champ SAE Autres', '', '', '', 'QUA', 'CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL'), | |||||
| ('M1000', 'Spécialités médicales', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:M1*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('M2000', 'Spécialités chirurgicales', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:M2*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('M3000', 'Autres disciplines médicales', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:M3*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('N1100', 'Personnels de direction', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N11*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('N1200', 'Autres personnels administratifs', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N12*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('N1300', 'Directeur de soins', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N13*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('N1400', 'Directeur de soins infirmiers', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N14*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('N2100', 'Personnels d''encadrement du personnel des services de soins', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N21*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('N2200', 'Infirmiers DE sans spécialisation', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N22*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('N2300', 'Infirmiers DE avec spécialisation', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N23*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('N2400', 'Personnels de rééducation', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N24*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('N2500', 'Aides-soignants', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N25*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('N2600', 'Agents de services hospitaliers', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N26*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('N2700', 'Psychologues', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N27*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('N2800', 'Sages-femmes y compris encadrement et écoles', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N28*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('N3100', 'Personnels éducatifs et sociaux', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N31*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('N4100', 'Personnels médico-techniques', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N41*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('N5100', 'Personnels techniques et ouvriers', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N51*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('X9100', 'Hors champs SAE', '', '', '[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:X*]', 'QUA', 'CTI_SAE_SPECIALITES_PERSONNEL'), | |||||
| ('M9999', 'Personnels médicaux', '', '', '[CLASSE:CTI_SAE_CATEGORIES_PERSONNEL:M*]', 'QUA', 'CTI_SAE_TYPES_PERSONNEL'), | |||||
| ('N9999', 'Personnels non médicaux', '', '', '[CLASSE:CTI_SAE_CATEGORIES_PERSONNEL:N*]', 'QUA', 'CTI_SAE_TYPES_PERSONNEL'), | |||||
| ('X9999', 'Hors champ SAE', '', '', '[CLASSE:CTI_SAE_CATEGORIES_PERSONNEL:X*]', 'QUA', 'CTI_SAE_TYPES_PERSONNEL'), | |||||
| ('01', 'Absence maladie', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('02', 'Absence maternité', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('03', 'Absence CP', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('04', 'Autres absences', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('05', 'Heures contractuelles', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('06', 'Heures sup. et comp.', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('07', 'Absence AT et MP', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('08', 'Absences congés parental', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('09', 'Maintien Absence maladie', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('10', 'Maintien Absence maternité', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('11', 'Maintien Absence CP', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('12', 'Maintien Autres absences', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('13', 'Maintien AT et MP', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('14', 'Maintien Absence congés parental', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('15', 'Heures payées', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('16', 'Absences payées non travaillées SAGE', '', '', '', 'RUP', 'ALM_HRS'), | |||||
| ('BRU', 'Brut', '', '', '', 'RUP', 'CTI_RUB'), | |||||
| ('CDE', 'Cotisations déductibles', '', '', '', 'RUP', 'CTI_RUB'), | |||||
| ('CND', 'Cotisations non déductibles', '', '', '', 'RUP', 'CTI_RUB'), | |||||
| ('EXO', 'Exonérations', '', '', '', 'RUP', 'CTI_RUB'), | |||||
| ('GAI', 'Gains non imposables', '', '', '', 'RUP', 'CTI_RUB'), | |||||
| ('NAT', 'Avantages en nature', '', '', '', 'RUP', 'CTI_RUB'), | |||||
| ('RET', 'Retenues non imposables', '', '', '', 'RUP', 'CTI_RUB'), | |||||
| ('1', 'MCO', '', '', '', 'SER', 'CTI_SAE_GROUPES_DISCIPLINES'), | |||||
| ('2', 'PSY', '', '', '', 'SER', 'CTI_SAE_GROUPES_DISCIPLINES'), | |||||
| ('3', 'HAD', '', '', '', 'SER', 'CTI_SAE_GROUPES_DISCIPLINES'), | |||||
| ('4', 'SSR', '', '', '', 'SER', 'CTI_SAE_GROUPES_DISCIPLINES'), | |||||
| ('S1', 'Ouvrier', '', '', '', 'STA', 'CTI_STATUT'), | |||||
| ('S2', 'Employé', '', '', '', 'STA', 'CTI_STATUT'), | |||||
| ('S3', 'Technicien', '', '', '', 'STA', 'CTI_STATUT'), | |||||
| ('S4', 'Agent de maitrise', '', '', '', 'STA', 'CTI_STATUT'), | |||||
| ('S5', 'Cadre', '', '', '', 'STA', 'CTI_STATUT'), | |||||
| ('CDD', 'Contrats à durée déterminée', '', '', '', 'TCN', 'CTI_TCNT'), | |||||
| ('CDI', 'Contrats à durée indéterminée', '', '', '', 'TCN', 'CTI_TCNT'), | |||||
| ('TC', 'Temps complet', '', '', '', 'TTT', 'CTI_TTT'), | |||||
| ('TP', 'Temps partiel', '', '', '', 'TTT', 'CTI_TTT') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| -- Màj des sections de classe. | |||||
| UPDATE rh.t_classes_sections | |||||
| SET | |||||
| texte = w_dbsetup.texte, | |||||
| condition = w_dbsetup.condition, | |||||
| exclude_code = w_dbsetup.exclude_code, | |||||
| include_code = w_dbsetup.include_code | |||||
| FROM | |||||
| w_dbsetup, | |||||
| rh.t_classes, | |||||
| rh.t_listes_tables | |||||
| WHERE 1=1 | |||||
| AND t_classes.oid = t_classes_sections.classe_id | |||||
| AND t_listes_tables.oid = t_classes.table_id | |||||
| AND w_dbsetup.code = t_classes_sections.code | |||||
| AND w_dbsetup.classe_code = t_classes.code | |||||
| AND w_dbsetup.table_code = t_listes_tables.code AND | |||||
| ( | |||||
| t_classes_sections.texte IS DISTINCT FROM w_dbsetup.texte OR | |||||
| t_classes_sections.condition IS DISTINCT FROM w_dbsetup.condition OR | |||||
| t_classes_sections.exclude_code IS DISTINCT FROM w_dbsetup.exclude_code OR | |||||
| t_classes_sections.include_code IS DISTINCT FROM w_dbsetup.include_code | |||||
| ) | |||||
| ; | |||||
| -- Alimentation des sections de classe. | |||||
| INSERT INTO rh.t_classes_sections(code, texte, condition, exclude_code, include_code, classe_id) | |||||
| SELECT | |||||
| w_dbsetup.code, | |||||
| w_dbsetup.texte, | |||||
| w_dbsetup.condition, | |||||
| w_dbsetup.exclude_code, | |||||
| w_dbsetup.include_code, | |||||
| t_classes.oid | |||||
| FROM w_dbsetup | |||||
| JOIN rh.t_listes_tables ON t_listes_tables.code = w_dbsetup.table_code | |||||
| JOIN rh.t_classes ON 1=1 | |||||
| AND t_classes.table_id = t_listes_tables.oid | |||||
| AND t_classes.code = w_dbsetup.classe_code | |||||
| WHERE 1=1 | |||||
| AND w_dbsetup.code||'@'||w_dbsetup.classe_code||'@'||w_dbsetup.table_code | |||||
| NOT IN ( | |||||
| SELECT t_classes_sections.code||'@'||t_classes.code||'@'||t_listes_tables.code | |||||
| FROM rh.t_classes_sections | |||||
| JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id | |||||
| JOIN rh.t_listes_tables ON t_listes_tables.oid = t_classes.table_id | |||||
| ) | |||||
| ; | |||||
| @ -0,0 +1,170 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| t_classes_sections.code AS section_code, | |||||
| t_ages.code as to_code, | |||||
| t_listes_tables.code as table_code, | |||||
| t_classes.sequence as classe_sequence | |||||
| FROM | |||||
| rh.t_classes_sections_elements, | |||||
| rh.t_classes_sections, | |||||
| rh.t_classes, | |||||
| rh.t_listes_tables, | |||||
| rh.t_ages | |||||
| WHERE | |||||
| t_classes_sections_elements.section_id = t_classes_sections.oid | |||||
| AND t_classes_sections.classe_id = t_classes.oid | |||||
| AND t_classes.is_cti = 1 | |||||
| AND table_id = t_listes_tables.oid | |||||
| AND t_listes_tables.code = 'AGE' | |||||
| AND t_classes_sections_elements.to_id = t_ages.oid | |||||
| ORDER BY | |||||
| t_classes.sequence, | |||||
| t_classes_sections.code, | |||||
| t_ages.code | |||||
| LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| section_code, | |||||
| to_code, | |||||
| table_code, | |||||
| classe_sequence | |||||
| ) | |||||
| VALUES | |||||
| ('S1', '001', 'AGE', 9), | |||||
| ('S1', '002', 'AGE', 9), | |||||
| ('S1', '003', 'AGE', 9), | |||||
| ('S1', '004', 'AGE', 9), | |||||
| ('S1', '005', 'AGE', 9), | |||||
| ('S1', '006', 'AGE', 9), | |||||
| ('S1', '007', 'AGE', 9), | |||||
| ('S1', '008', 'AGE', 9), | |||||
| ('S1', '009', 'AGE', 9), | |||||
| ('S1', '010', 'AGE', 9), | |||||
| ('S1', '011', 'AGE', 9), | |||||
| ('S1', '012', 'AGE', 9), | |||||
| ('S1', '013', 'AGE', 9), | |||||
| ('S1', '014', 'AGE', 9), | |||||
| ('S1', '015', 'AGE', 9), | |||||
| ('S1', '016', 'AGE', 9), | |||||
| ('S1', '017', 'AGE', 9), | |||||
| ('S1', '018', 'AGE', 9), | |||||
| ('S1', '019', 'AGE', 9), | |||||
| ('S1', '020', 'AGE', 9), | |||||
| ('S1', '021', 'AGE', 9), | |||||
| ('S1', '022', 'AGE', 9), | |||||
| ('S1', '023', 'AGE', 9), | |||||
| ('S1', '024', 'AGE', 9), | |||||
| ('S2', '025', 'AGE', 9), | |||||
| ('S2', '026', 'AGE', 9), | |||||
| ('S2', '027', 'AGE', 9), | |||||
| ('S2', '028', 'AGE', 9), | |||||
| ('S2', '029', 'AGE', 9), | |||||
| ('S2', '030', 'AGE', 9), | |||||
| ('S2', '031', 'AGE', 9), | |||||
| ('S2', '032', 'AGE', 9), | |||||
| ('S2', '033', 'AGE', 9), | |||||
| ('S2', '034', 'AGE', 9), | |||||
| ('S2', '035', 'AGE', 9), | |||||
| ('S3', '036', 'AGE', 9), | |||||
| ('S3', '037', 'AGE', 9), | |||||
| ('S3', '038', 'AGE', 9), | |||||
| ('S3', '039', 'AGE', 9), | |||||
| ('S3', '040', 'AGE', 9), | |||||
| ('S3', '041', 'AGE', 9), | |||||
| ('S3', '042', 'AGE', 9), | |||||
| ('S3', '043', 'AGE', 9), | |||||
| ('S3', '044', 'AGE', 9), | |||||
| ('S3', '045', 'AGE', 9), | |||||
| ('S4', '046', 'AGE', 9), | |||||
| ('S4', '047', 'AGE', 9), | |||||
| ('S4', '048', 'AGE', 9), | |||||
| ('S4', '049', 'AGE', 9), | |||||
| ('S4', '050', 'AGE', 9), | |||||
| ('S4', '051', 'AGE', 9), | |||||
| ('S4', '052', 'AGE', 9), | |||||
| ('S4', '053', 'AGE', 9), | |||||
| ('S4', '054', 'AGE', 9), | |||||
| ('S4', '055', 'AGE', 9), | |||||
| ('S5', '056', 'AGE', 9), | |||||
| ('S5', '057', 'AGE', 9), | |||||
| ('S5', '058', 'AGE', 9), | |||||
| ('S5', '059', 'AGE', 9), | |||||
| ('S5', '060', 'AGE', 9), | |||||
| ('S5', '061', 'AGE', 9), | |||||
| ('S5', '062', 'AGE', 9), | |||||
| ('S5', '063', 'AGE', 9), | |||||
| ('S5', '064', 'AGE', 9), | |||||
| ('S5', '065', 'AGE', 9), | |||||
| ('S6', '066', 'AGE', 9), | |||||
| ('S6', '067', 'AGE', 9), | |||||
| ('S6', '068', 'AGE', 9), | |||||
| ('S6', '069', 'AGE', 9), | |||||
| ('S6', '070', 'AGE', 9), | |||||
| ('S6', '071', 'AGE', 9), | |||||
| ('S6', '072', 'AGE', 9), | |||||
| ('S6', '073', 'AGE', 9), | |||||
| ('S6', '074', 'AGE', 9), | |||||
| ('S6', '075', 'AGE', 9), | |||||
| ('S6', '076', 'AGE', 9), | |||||
| ('S6', '077', 'AGE', 9), | |||||
| ('S6', '078', 'AGE', 9), | |||||
| ('S6', '079', 'AGE', 9), | |||||
| ('S6', '080', 'AGE', 9), | |||||
| ('S6', '081', 'AGE', 9), | |||||
| ('S6', '082', 'AGE', 9), | |||||
| ('S6', '083', 'AGE', 9), | |||||
| ('S6', '084', 'AGE', 9), | |||||
| ('S6', '085', 'AGE', 9), | |||||
| ('S6', '086', 'AGE', 9), | |||||
| ('S6', '087', 'AGE', 9), | |||||
| ('S6', '088', 'AGE', 9), | |||||
| ('S6', '089', 'AGE', 9), | |||||
| ('S6', '090', 'AGE', 9), | |||||
| ('S6', '091', 'AGE', 9), | |||||
| ('S6', '092', 'AGE', 9), | |||||
| ('S6', '093', 'AGE', 9), | |||||
| ('S6', '094', 'AGE', 9), | |||||
| ('S6', '095', 'AGE', 9), | |||||
| ('S6', '096', 'AGE', 9), | |||||
| ('S6', '097', 'AGE', 9), | |||||
| ('S6', '098', 'AGE', 9), | |||||
| ('S6', '099', 'AGE', 9), | |||||
| ('S6', '100', 'AGE', 9), | |||||
| ('S6', '101', 'AGE', 9), | |||||
| ('S6', '102', 'AGE', 9), | |||||
| ('S6', '103', 'AGE', 9), | |||||
| ('S6', '104', 'AGE', 9), | |||||
| ('S6', '105', 'AGE', 9), | |||||
| ('S6', '106', 'AGE', 9), | |||||
| ('S6', '107', 'AGE', 9), | |||||
| ('S6', '108', 'AGE', 9), | |||||
| ('S6', '109', 'AGE', 9), | |||||
| ('S6', '110', 'AGE', 9) | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| INSERT INTO rh.t_classes_sections_elements(section_id, to_id) | |||||
| SELECT | |||||
| t_classes_sections.oid, | |||||
| t_ages.oid | |||||
| FROM w_dbsetup | |||||
| JOIN rh.t_listes_tables ON t_listes_tables.code = w_dbsetup.table_code | |||||
| JOIN rh.t_classes ON 1=1 | |||||
| AND t_classes.table_id = t_listes_tables.oid | |||||
| AND t_classes.sequence = w_dbsetup.classe_sequence | |||||
| JOIN rh.t_classes_sections ON 1=1 | |||||
| AND t_classes_sections.classe_id = t_classes.oid | |||||
| AND t_classes_sections.code = w_dbsetup.section_code | |||||
| JOIN rh.t_ages ON t_ages.code = w_dbsetup.to_code | |||||
| WHERE t_classes_sections.oid::text || '-' || t_ages.oid::text NOT IN | |||||
| ( | |||||
| SELECT section_id::text || '-' || to_id::text | |||||
| FROM rh.t_classes_sections_elements | |||||
| ) | |||||
| ; | |||||
| @ -0,0 +1,111 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| t_classes_sections.code AS section_code, | |||||
| t_anciennetes_annee.code as to_code, | |||||
| t_listes_tables.code as table_code, | |||||
| t_classes.sequence as classe_sequence | |||||
| FROM | |||||
| rh.t_classes_sections_elements, | |||||
| rh.t_classes_sections, | |||||
| rh.t_classes, | |||||
| rh.t_listes_tables, | |||||
| rh.t_anciennetes_annee | |||||
| WHERE | |||||
| t_classes_sections_elements.section_id = t_classes_sections.oid | |||||
| AND t_classes_sections.classe_id = t_classes.oid | |||||
| AND t_classes.is_cti = 1 | |||||
| AND table_id = t_listes_tables.oid | |||||
| AND t_listes_tables.code = 'ANC' | |||||
| AND t_classes_sections_elements.to_id = t_anciennetes_annee.oid | |||||
| ORDER BY | |||||
| t_classes.sequence, | |||||
| t_classes_sections.code, | |||||
| t_anciennetes_annee.code | |||||
| LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| section_code, | |||||
| to_code, | |||||
| table_code, | |||||
| classe_sequence | |||||
| ) | |||||
| VALUES | |||||
| ('S1', '00', 'ANC', 9), | |||||
| ('S1', '01', 'ANC', 9), | |||||
| ('S1', '02', 'ANC', 9), | |||||
| ('S1', '03', 'ANC', 9), | |||||
| ('S1', '04', 'ANC', 9), | |||||
| ('S1', '05', 'ANC', 9), | |||||
| ('S1', '06', 'ANC', 9), | |||||
| ('S1', '07', 'ANC', 9), | |||||
| ('S1', '08', 'ANC', 9), | |||||
| ('S1', '09', 'ANC', 9), | |||||
| ('S2', '10', 'ANC', 9), | |||||
| ('S2', '11', 'ANC', 9), | |||||
| ('S2', '12', 'ANC', 9), | |||||
| ('S2', '13', 'ANC', 9), | |||||
| ('S2', '14', 'ANC', 9), | |||||
| ('S2', '15', 'ANC', 9), | |||||
| ('S2', '16', 'ANC', 9), | |||||
| ('S2', '17', 'ANC', 9), | |||||
| ('S2', '18', 'ANC', 9), | |||||
| ('S2', '19', 'ANC', 9), | |||||
| ('S2', '20', 'ANC', 9), | |||||
| ('S3', '21', 'ANC', 9), | |||||
| ('S3', '22', 'ANC', 9), | |||||
| ('S3', '23', 'ANC', 9), | |||||
| ('S3', '24', 'ANC', 9), | |||||
| ('S3', '25', 'ANC', 9), | |||||
| ('S3', '26', 'ANC', 9), | |||||
| ('S3', '27', 'ANC', 9), | |||||
| ('S3', '28', 'ANC', 9), | |||||
| ('S3', '29', 'ANC', 9), | |||||
| ('S3', '30', 'ANC', 9), | |||||
| ('S4', '31', 'ANC', 9), | |||||
| ('S4', '32', 'ANC', 9), | |||||
| ('S4', '33', 'ANC', 9), | |||||
| ('S4', '34', 'ANC', 9), | |||||
| ('S4', '35', 'ANC', 9), | |||||
| ('S4', '36', 'ANC', 9), | |||||
| ('S4', '37', 'ANC', 9), | |||||
| ('S4', '38', 'ANC', 9), | |||||
| ('S4', '39', 'ANC', 9), | |||||
| ('S4', '40', 'ANC', 9), | |||||
| ('S4', '41', 'ANC', 9), | |||||
| ('S4', '42', 'ANC', 9), | |||||
| ('S4', '43', 'ANC', 9), | |||||
| ('S4', '44', 'ANC', 9), | |||||
| ('S4', '45', 'ANC', 9), | |||||
| ('S4', '46', 'ANC', 9), | |||||
| ('S4', '47', 'ANC', 9), | |||||
| ('S4', '48', 'ANC', 9), | |||||
| ('S4', '49', 'ANC', 9), | |||||
| ('S4', '50', 'ANC', 9) | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| INSERT INTO rh.t_classes_sections_elements(section_id, to_id) | |||||
| SELECT | |||||
| t_classes_sections.oid, | |||||
| t_anciennetes_annee.oid | |||||
| FROM w_dbsetup | |||||
| JOIN rh.t_listes_tables ON t_listes_tables.code = w_dbsetup.table_code | |||||
| JOIN rh.t_classes ON 1=1 | |||||
| AND t_classes.table_id = t_listes_tables.oid | |||||
| AND t_classes.sequence = w_dbsetup.classe_sequence | |||||
| JOIN rh.t_classes_sections ON 1=1 | |||||
| AND t_classes_sections.classe_id = t_classes.oid | |||||
| AND t_classes_sections.code = w_dbsetup.section_code | |||||
| JOIN rh.t_anciennetes_annee ON t_anciennetes_annee.code = w_dbsetup.to_code | |||||
| WHERE t_classes_sections.oid::text || '-' || t_anciennetes_annee.oid::text NOT IN | |||||
| ( | |||||
| SELECT section_id::text || '-' || to_id::text | |||||
| FROM rh.t_classes_sections_elements | |||||
| ) | |||||
| ; | |||||
| @ -0,0 +1,29 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| code, label | |||||
| FROM rh.t_dashboard | |||||
| ORDER BY code LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| code, | |||||
| label | |||||
| ) | |||||
| VALUES | |||||
| ('CTI_EGAPRO', 'Cockpit RH') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| TRUNCATE rh.t_dashboard; | |||||
| INSERT INTO rh.t_dashboard(code, label) | |||||
| SELECT | |||||
| w_dbsetup.code, | |||||
| w_dbsetup.label | |||||
| FROM w_dbsetup | |||||
| ; | |||||
| @ -0,0 +1,40 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| t_dashboard_filter.oid, | |||||
| t_dashboard.code as dashboard_code, | |||||
| t_indicateur_condition.external_code2 | |||||
| FROM rh.t_dashboard_filter | |||||
| LEFT JOIN rh.t_dashboard ON t_dashboard.oid = dashboard_id | |||||
| LEFT JOIN rh.t_indicateur_condition ON t_indicateur_condition.oid = condition_id | |||||
| ORDER BY 2, 3 LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| oid, | |||||
| dashboard_code, | |||||
| external_code2 | |||||
| ) | |||||
| VALUES | |||||
| (1, 'CTI_EGAPRO', 'CTI_AGE#LS#AGE:CTI_AGE:S1'), | |||||
| (1, 'CTI_EGAPRO', 'CTI_AGE#LS#AGE:CTI_AGE:S3'), | |||||
| (1, 'CTI_EGAPRO', 'CTI_AGE#LS#AGE:CTI_AGE:S6'), | |||||
| (1, 'CTI_EGAPRO', 'CTI_SEXE#DT#1'), | |||||
| (1, 'CTI_EGAPRO', 'CTI_SEXE#DT#2') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| TRUNCATE rh.t_dashboard_filter; | |||||
| INSERT INTO rh.t_dashboard_filter(dashboard_id,condition_id) | |||||
| SELECT | |||||
| t_dashboard.oid, | |||||
| t_indicateur_condition.oid | |||||
| FROM w_dbsetup | |||||
| LEFT JOIN rh.t_dashboard ON t_dashboard.code = w_dbsetup.dashboard_code | |||||
| LEFT JOIN rh.t_indicateur_condition ON t_indicateur_condition.external_code2 = w_dbsetup.external_code2 | |||||
| ; | |||||
| @ -0,0 +1,38 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| t_dashboard_onglet.oid, | |||||
| t_dashboard.code as dashboard_code, | |||||
| name, | |||||
| index | |||||
| FROM rh.t_dashboard_onglet | |||||
| LEFT JOIN rh.t_dashboard ON t_dashboard.oid = dashboard_id | |||||
| ORDER BY 2, 4 LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| oid, | |||||
| dashboard_code, | |||||
| name, | |||||
| index | |||||
| ) | |||||
| VALUES | |||||
| (1, 'CTI_EGAPRO', 'Effectif', 0), | |||||
| (1, 'CTI_EGAPRO', 'Masse Salariale', 1) | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| TRUNCATE rh.t_dashboard_onglet; | |||||
| INSERT INTO rh.t_dashboard_onglet(dashboard_id, name, index) | |||||
| SELECT | |||||
| t_dashboard.oid, | |||||
| w_dbsetup.name, | |||||
| w_dbsetup.index | |||||
| FROM w_dbsetup | |||||
| LEFT JOIN rh.t_dashboard ON t_dashboard.code = dashboard_code | |||||
| ; | |||||
| @ -0,0 +1,49 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| t_dashboard_widget.oid, | |||||
| t_chart.code as chart_code, | |||||
| t_dashboard.code as dashboard_code, | |||||
| t_dashboard_widget.deprecated | |||||
| FROM rh.t_dashboard_widget | |||||
| LEFT JOIN rh.t_chart ON t_chart.oid = chart_id | |||||
| LEFT JOIN rh.t_dashboard ON t_dashboard.oid = dashboard_id | |||||
| ORDER BY 1 LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| oid, | |||||
| chart_code, | |||||
| dashboard_code, | |||||
| deprecated | |||||
| ) | |||||
| VALUES | |||||
| (1, 'CTI_STATTIME', 'CTI_EGAPRO', 't'), | |||||
| (1, 'CTI_TYPECNT', 'CTI_EGAPRO', 'f'), | |||||
| (1, 'CTI_STAT', 'CTI_EGAPRO', 'f'), | |||||
| (1, 'CTI_EFFANC', 'CTI_EGAPRO', 'f'), | |||||
| (1, 'CTI_ENTSORCAR', 'CTI_EGAPRO', 'f'), | |||||
| (1, 'CTI_MSCSPMAP', 'CTI_EGAPRO', 'f'), | |||||
| (1, 'CTI_MSAGE', 'CTI_EGAPRO', 'f'), | |||||
| (1, 'CTI_EFFGEN', 'CTI_EGAPRO', 'f'), | |||||
| (1, 'CTI_EFFAGE', 'CTI_EGAPRO', 'f'), | |||||
| (1, 'CTI_EFFSTAT', 'CTI_EGAPRO', 'f'), | |||||
| (1, 'CTI_MSCSP', 'CTI_EGAPRO', 'f') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| TRUNCATE rh.t_dashboard_widget; | |||||
| INSERT INTO rh.t_dashboard_widget(dashboard_id, chart_id, deprecated) | |||||
| SELECT | |||||
| t_dashboard.oid, | |||||
| t_chart.oid, | |||||
| w_dbsetup.deprecated | |||||
| FROM w_dbsetup | |||||
| LEFT JOIN rh.t_chart ON t_chart.code = chart_code | |||||
| LEFT JOIN rh.t_dashboard ON t_dashboard.code = dashboard_code | |||||
| ; | |||||
| @ -0,0 +1,163 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| oid, | |||||
| code, | |||||
| texte, | |||||
| description, | |||||
| is_cti, | |||||
| gravite_id | |||||
| FROM rh.t_expert_controle | |||||
| WHERE is_cti = '1' | |||||
| ORDER BY code LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| oid, | |||||
| code, | |||||
| texte, | |||||
| description, | |||||
| is_cti, | |||||
| gravite_id | |||||
| ) | |||||
| VALUES | |||||
| (0, '', '', '', '1', 1), | |||||
| (1, 'CTI_NIV1_C000', 'Présence de C000', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_CAD_EMP_NR', 'Cadre d''emploi non renseigné', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_CAT_STAT_NR', 'Catégorie statutaire non renseignée', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_CE_NR', 'Code emploi non renseigné', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_COD_POST_NR', 'Code postal non renseigné', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_COM_PAR_NR', 'Commission paritaire non renseignée', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_CSP_NR', 'Catégorie socio-professionnelle non renseignée', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_CTRID_NULL', 'Contrat ID null en paie', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_DAT_NAIS_NR', 'Date de naissance non renseignée', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_DTEDEB_NR', 'Date de début de contrat non renseignée', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_DTEFIN_NR', 'Date de fin de contrat non renseignée', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_FIL_NR', 'Filière non renseignée', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_GRI_NR', 'Grille non renseignée', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_GROGRI_NR', 'Groupe Grille non renseigné', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_GRO_COT_NR', 'Groupe de cotisant non renseigné', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_MOTDEB_NR', 'Motif de début non renseigné', 'Contrats sans motif de début.', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_MOTFIN_NR', 'Motif de Fin non renseigné', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_NAT_NR', 'Nationalité non renseigné', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_QUAL_NR', 'Qualification non renseignée', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_SEX_NR', 'Sexe non renseigné', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_SPE_NR', 'Spécialité non renseignée', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_SRV_NR', 'Service non renseigné', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_STT_NR', 'Statut non renseigné', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_TC_NR', 'Type de contrat non renseigné', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_TTT_NR', 'Type temps travail non renseigné', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV1_UNI_FONC_NR', 'Unité fonctionnelle non renseignée', '', '1', '9', 'A1'), | |||||
| (1, 'CTI_NIV2_C000_BRUT', 'Présence C000 BRUT', '', '1', '5', 'A1'), | |||||
| (1, 'CTI_NIV2_C000_COT_PAT', 'Présence C000 Cotisation Patronale', '', '1', '5', 'A1'), | |||||
| (1, 'CTI_NIV2_C000_COT_SAL', 'Présence C000 Cotisation Salariale', '', '1', '5', 'A1'), | |||||
| (1, 'CTI_NIV2_C000_H_CONTRAT', 'Présence C000 Heures Contrat', '', '1', '5', 'A1'), | |||||
| (1, 'CTI_NIV2_C000_H_PAYEES', 'Présence C000 Heures Payées', '', '1', '5', 'A1'), | |||||
| (1, 'CTI_NIV2_C000_H_TRAVAILLEES', 'Présence C000 Heures Travaillées', '', '1', '5', 'A1'), | |||||
| (1, 'CTI_NIV2_C000_MASSE_SALARIALE', 'Présence C000 Masse Salariale', '', '1', '5', 'A1'), | |||||
| (1, 'CTI_NIV2_C000_NET_A_PAYE', 'Présence C000 Net A Payer Salarié', '', '1', '5', 'A1'), | |||||
| (1, 'CTI_NIV2_C000_NET_IMP', 'Présence C000 Net Imposable Salarié', '', '1', '5', 'A1'), | |||||
| (1, 'CTI_NIV2_HCSORTI', 'Salarié avec plus d''une paie avec heures contrat après sortie de l''établissement', '', '1', '5', 'A1'), | |||||
| (1, 'CTI_NIV3_PRESENCE_PAIE_PAS_PLANNING', 'Liste des salariés présents en paie mais pas au planning', 'Liste des salariés présents en paie mais pas au planning', '1', 1, 'A2'), | |||||
| (1, 'CTI_NIV3_PRESENCE_PLANNING_PAS_PAIE', 'Liste des personnes présentes au planning mais pas en planning', 'Liste des personnes présentes au planning mais pas en planning', '1', 1, 'A2') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| UPDATE rh.t_expert_controle SET | |||||
| code = w_dbsetup.code, | |||||
| texte = w_dbsetup.texte, | |||||
| description = w_dbsetup.description, | |||||
| is_cti = w_dbsetup.is_cti, | |||||
| gravite_id = w_dbsetup.gravite_id | |||||
| FROM w_dbsetup | |||||
| WHERE 1=1 | |||||
| AND w_dbsetup.oid = 0 | |||||
| AND rh.t_expert_controle.oid = w_dbsetup.oid | |||||
| AND | |||||
| ( | |||||
| t_expert_controle.code IS DISTINCT FROM w_dbsetup.code OR | |||||
| t_expert_controle.texte IS DISTINCT FROM w_dbsetup.texte OR | |||||
| t_expert_controle.description IS DISTINCT FROM w_dbsetup.description OR | |||||
| t_expert_controle.is_cti IS DISTINCT FROM w_dbsetup.is_cti OR | |||||
| t_expert_controle.gravite_id IS DISTINCT FROM w_dbsetup.gravite_id | |||||
| ) | |||||
| ; | |||||
| UPDATE rh.t_expert_controle SET | |||||
| code = w_dbsetup.code, | |||||
| texte = w_dbsetup.texte, | |||||
| description = w_dbsetup.description, | |||||
| is_cti = w_dbsetup.is_cti, | |||||
| gravite_id = w_dbsetup.gravite_id | |||||
| FROM w_dbsetup | |||||
| WHERE 1=1 | |||||
| AND w_dbsetup.oid <> 0 | |||||
| AND rh.t_expert_controle.code = w_dbsetup.code | |||||
| AND | |||||
| ( | |||||
| t_expert_controle.texte IS DISTINCT FROM w_dbsetup.texte OR | |||||
| t_expert_controle.description IS DISTINCT FROM w_dbsetup.description OR | |||||
| t_expert_controle.is_cti IS DISTINCT FROM w_dbsetup.is_cti OR | |||||
| t_expert_controle.gravite_id IS DISTINCT FROM w_dbsetup.gravite_id | |||||
| ) | |||||
| ; | |||||
| INSERT INTO rh.t_expert_controle( | |||||
| oid, | |||||
| code, | |||||
| texte, | |||||
| description, | |||||
| is_active, | |||||
| was_active, | |||||
| is_hide, | |||||
| alerte_id, | |||||
| is_cti, | |||||
| gravite_id | |||||
| ) | |||||
| SELECT | |||||
| oid, | |||||
| code, | |||||
| texte, | |||||
| description, | |||||
| '1' AS is_active, | |||||
| '0' AS is_hide, | |||||
| 0::bigint AS alerte_id, | |||||
| is_cti, | |||||
| gravite_id, | |||||
| date(date_trunc('year',now())) AS date_validite_debut | |||||
| FROM w_dbsetup | |||||
| WHERE 1=1 | |||||
| AND w_dbsetup.oid = 0 | |||||
| AND w_dbsetup.oid NOT IN (SELECT oid FROM rh.t_expert_controle) | |||||
| ; | |||||
| INSERT INTO rh.t_expert_controle( | |||||
| code, | |||||
| texte, | |||||
| description, | |||||
| is_active, | |||||
| is_hide, | |||||
| alerte_id, | |||||
| is_cti, | |||||
| gravite_id | |||||
| ) | |||||
| SELECT | |||||
| code, | |||||
| texte, | |||||
| description, | |||||
| '1' AS is_active, | |||||
| '0' AS was_active, | |||||
| '0' AS is_hide, | |||||
| 0::bigint AS alerte_id, | |||||
| is_cti, | |||||
| gravite_id | |||||
| FROM w_dbsetup | |||||
| WHERE 1=1 | |||||
| AND w_dbsetup.oid <> 0 | |||||
| AND w_dbsetup.code NOT IN (SELECT code FROM rh.t_expert_controle) | |||||
| ; | |||||
| @ -0,0 +1,273 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| t_expert_controle_rule.oid, | |||||
| t_expert_controle.code AS expert_controle_code, | |||||
| t_expert_controle_rule.data_type, | |||||
| t_indicateurs.code AS indicateur_code, | |||||
| COALESCE(t_indicateur_condition_1.external_code2,'') AS indicateur_condition_external_code_1, | |||||
| COALESCE(t_indicateur_condition_2.external_code2,'') AS indicateur_condition_external_code_2, | |||||
| COALESCE(t_indicateur_condition_3.external_code2,'') AS indicateur_condition_external_code_3, | |||||
| t_expert_controle_rule.formula, | |||||
| t_indicateurs_2.code AS indicateur_code_2, | |||||
| COALESCE(t_indicateur_condition_21.external_code2,'') AS indicateur_condition_external_code_21, | |||||
| COALESCE(t_indicateur_condition_22.external_code2,'') AS indicateur_condition_external_code_22, | |||||
| COALESCE(t_indicateur_condition_23.external_code2,'') AS indicateur_condition_external_code_23, | |||||
| t_expert_controle_rule.formula_2, | |||||
| t_indicateurs_3.code AS indicateur_code_3, | |||||
| COALESCE(t_indicateur_condition_31.external_code2,'') AS indicateur_condition_external_code_31, | |||||
| COALESCE(t_indicateur_condition_32.external_code2,'') AS indicateur_condition_external_code_32, | |||||
| COALESCE(t_indicateur_condition_33.external_code2,'') AS indicateur_condition_external_code_33, | |||||
| t_expert_controle_rule.formula_3, | |||||
| 0::bigint AS expert_controle_id, | |||||
| 0::bigint AS expert_controle_rule_id, | |||||
| 0::bigint AS indicateur_id, | |||||
| 0::bigint AS indicateur_condition_id_1, | |||||
| 0::bigint AS indicateur_condition_id_2, | |||||
| 0::bigint AS indicateur_condition_id_3, | |||||
| 0::bigint AS indicateur_2_id, | |||||
| 0::bigint AS indicateur_condition_id_21, | |||||
| 0::bigint AS indicateur_condition_id_22, | |||||
| 0::bigint AS indicateur_condition_id_23, | |||||
| 0::bigint AS indicateur_3_id, | |||||
| 0::bigint AS indicateur_condition_id_31, | |||||
| 0::bigint AS indicateur_condition_id_32, | |||||
| 0::bigint AS indicateur_condition_id_33 | |||||
| FROM rh.t_expert_controle_rule | |||||
| JOIN rh.t_expert_controle ON expert_controle_id = t_expert_controle.oid | |||||
| JOIN rh.t_indicateurs t_indicateurs ON indicateur_id = t_indicateurs.oid | |||||
| LEFT JOIN rh.t_indicateur_condition t_indicateur_condition_1 ON indicateur_condition_id[1] = t_indicateur_condition_1.oid | |||||
| LEFT JOIN rh.t_indicateur_condition t_indicateur_condition_2 ON indicateur_condition_id[2] = t_indicateur_condition_2.oid | |||||
| LEFT JOIN rh.t_indicateur_condition t_indicateur_condition_3 ON indicateur_condition_id[3] = t_indicateur_condition_3.oid | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_2 ON indicateur_2_id = t_indicateurs_2.oid | |||||
| LEFT JOIN rh.t_indicateur_condition t_indicateur_condition_21 ON indicateur_condition_2_id[1] = t_indicateur_condition_21.oid | |||||
| LEFT JOIN rh.t_indicateur_condition t_indicateur_condition_22 ON indicateur_condition_2_id[2] = t_indicateur_condition_22.oid | |||||
| LEFT JOIN rh.t_indicateur_condition t_indicateur_condition_23 ON indicateur_condition_2_id[3] = t_indicateur_condition_23.oid | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_3 ON indicateur_3_id = t_indicateurs_3.oid | |||||
| LEFT JOIN rh.t_indicateur_condition t_indicateur_condition_31 ON indicateur_condition_3_id[1] = t_indicateur_condition_31.oid | |||||
| LEFT JOIN rh.t_indicateur_condition t_indicateur_condition_32 ON indicateur_condition_3_id[2] = t_indicateur_condition_32.oid | |||||
| LEFT JOIN rh.t_indicateur_condition t_indicateur_condition_33 ON indicateur_condition_3_id[3] = t_indicateur_condition_33.oid | |||||
| WHERE t_expert_controle_rule.is_cti = '1' AND | |||||
| t_expert_controle_rule.indicateur_id > 0 AND | |||||
| t_expert_controle.is_cti = '1' | |||||
| ORDER BY t_expert_controle.code, | |||||
| t_indicateurs.code, | |||||
| t_indicateur_condition_1.code, | |||||
| t_indicateur_condition_2.code, | |||||
| t_indicateur_condition_3.code | |||||
| LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| oid, | |||||
| expert_controle_code, | |||||
| data_type, | |||||
| indicateur_code, | |||||
| indicateur_condition_external_code_1, | |||||
| indicateur_condition_external_code_2, | |||||
| indicateur_condition_external_code_3, | |||||
| formula, | |||||
| indicateur_code_2, | |||||
| indicateur_condition_external_code_21, | |||||
| indicateur_condition_external_code_22, | |||||
| indicateur_condition_external_code_23, | |||||
| formula_2, | |||||
| indicateur_code_3, | |||||
| indicateur_condition_external_code_31, | |||||
| indicateur_condition_external_code_32, | |||||
| indicateur_condition_external_code_33, | |||||
| formula_3, | |||||
| expert_controle_id, | |||||
| expert_controle_rule_id, | |||||
| indicateur_id, | |||||
| indicateur_condition_id_1, | |||||
| indicateur_condition_id_2, | |||||
| indicateur_condition_id_3, | |||||
| indicateur_2_id, | |||||
| indicateur_condition_id_21, | |||||
| indicateur_condition_id_22, | |||||
| indicateur_condition_id_23, | |||||
| indicateur_3_id, | |||||
| indicateur_condition_id_31, | |||||
| indicateur_condition_id_32, | |||||
| indicateur_condition_id_33 | |||||
| ) | |||||
| VALUES | |||||
| (1, 'CTI_NIV1_C000', 'salarie', 'CTI_C000', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_CAD_EMP_NR', 'salarie', 'CTI_CDM', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_CAT_STAT_NR', 'salarie', 'CTI_CST', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_CE_NR', 'salarie', 'CTI_CEM', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_COD_POST_NR', 'salarie', 'CTI_CPO', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_COM_PAR_NR', 'salarie', 'CTI_CPA', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_CSP_NR', 'salarie', 'CTI_CSP', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_CTRID_NULL', 'salarie', 'CTI_CTRID_NULL', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_DAT_NAIS_NR', 'salarie', 'CTI_DNA', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_DTEDEB_NR', 'salarie', 'CTI_DTEDEB_NR', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_DTEFIN_NR', 'salarie', 'CTI_DTEFIN_NR', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_FIL_NR', 'salarie', 'CTI_FIL', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_GRI_NR', 'salarie', 'CTI_GRI', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_GROGRI_NR', 'salarie', 'CTI_GGR', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_GRO_COT_NR', 'salarie', 'CTI_GCO', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_MOTDEB_NR', 'salarie', 'CTI_MDD', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_MOTFIN_NR', 'salarie', 'CTI_MDF', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_NAT_NR', 'salarie', 'CTI_NAT', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_QUAL_NR', 'salarie', 'CTI_QUA', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_SEX_NR', 'salarie', 'CTI_SEX', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_SPE_NR', 'salarie', 'CTI_SPE', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_SRV_NR', 'salarie', 'CTI_SER', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_STT_NR', 'salarie', 'CTI_STA', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_TC_NR', 'salarie', 'CTI_TCNT', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_TTT_NR', 'salarie', 'CTI_TTT', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV1_UNI_FONC_NR', 'salarie', 'CTI_UFO', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV2_C000_BRUT', 'salarie', 'CTI_C000_BRUT', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV2_C000_COT_PAT', 'salarie', 'CTI_C000_COT_PAT', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV2_C000_COT_SAL', 'salarie', 'CTI_C000_COT_SAL', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV2_C000_H_CONTRAT', 'salarie', 'CTI_C000_H_CONTRAT', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV2_C000_H_PAYEES', 'salarie', 'CTI_C000_H_PAYEES', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV2_C000_H_TRAVAILLEES', 'salarie', 'CTI_C000_H_TRAVAILLES', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV2_C000_MASSE_SALARIALE', 'salarie', 'CTI_C000_MASSE_SALARIALE', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV2_C000_NET_A_PAYE', 'salarie', 'CTI_C000_NET_A_PAYE', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV2_C000_NET_IMP', 'salarie', 'CTINETIMPOS', 'CTI_RUBRIQUE#DT#C000', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV3_PRESENCE_PAIE_PAS_PLANNING', 'salarie', 'CTI_PRESENCE_PAIE_PAS_PLANNING', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), | |||||
| (1, 'CTI_NIV3_PRESENCE_PLANNING_PAS_PAIE', 'salarie', 'CTI_PRESENCE_PLANNING_PAS_PAIE', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| SELECT rh.cti_reorganize_indicateur_condition() | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET expert_controle_id = t_expert_controle.oid | |||||
| FROM rh.t_expert_controle | |||||
| WHERE expert_controle_code = t_expert_controle.code | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET indicateur_id = t_indicateurs.oid | |||||
| FROM rh.t_indicateurs | |||||
| WHERE indicateur_code = t_indicateurs.code | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET indicateur_2_id = t_indicateurs.oid | |||||
| FROM rh.t_indicateurs | |||||
| WHERE indicateur_code_2 = t_indicateurs.code | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET indicateur_3_id = t_indicateurs.oid | |||||
| FROM rh.t_indicateurs | |||||
| WHERE indicateur_code_3 = t_indicateurs.code | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET indicateur_condition_id_1 = t_indicateur_condition.oid | |||||
| FROM rh.t_indicateur_condition | |||||
| WHERE indicateur_condition_external_code_1 = t_indicateur_condition.external_code2 | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET indicateur_condition_id_2 = t_indicateur_condition.oid | |||||
| FROM rh.t_indicateur_condition | |||||
| WHERE indicateur_condition_external_code_2 = t_indicateur_condition.external_code2 | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET indicateur_condition_id_3 = t_indicateur_condition.oid | |||||
| FROM rh.t_indicateur_condition | |||||
| WHERE indicateur_condition_external_code_3 = t_indicateur_condition.external_code2 | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET indicateur_condition_id_21 = t_indicateur_condition.oid | |||||
| FROM rh.t_indicateur_condition | |||||
| WHERE indicateur_condition_external_code_21 = t_indicateur_condition.external_code2 | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET indicateur_condition_id_22 = t_indicateur_condition.oid | |||||
| FROM rh.t_indicateur_condition | |||||
| WHERE indicateur_condition_external_code_22 = t_indicateur_condition.external_code2 | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET indicateur_condition_id_23 = t_indicateur_condition.oid | |||||
| FROM rh.t_indicateur_condition | |||||
| WHERE indicateur_condition_external_code_23 = t_indicateur_condition.external_code2 | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET indicateur_condition_id_31 = t_indicateur_condition.oid | |||||
| FROM rh.t_indicateur_condition | |||||
| WHERE indicateur_condition_external_code_31 = t_indicateur_condition.external_code2 | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET indicateur_condition_id_32 = t_indicateur_condition.oid | |||||
| FROM rh.t_indicateur_condition | |||||
| WHERE indicateur_condition_external_code_32 = t_indicateur_condition.external_code2 | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET indicateur_condition_id_33 = t_indicateur_condition.oid | |||||
| FROM rh.t_indicateur_condition | |||||
| WHERE indicateur_condition_external_code_33 = t_indicateur_condition.external_code2 | |||||
| ; | |||||
| UPDATE w_dbsetup | |||||
| SET expert_controle_rule_id = t_expert_controle_rule.oid | |||||
| FROM rh. t_expert_controle_rule | |||||
| WHERE w_dbsetup.expert_controle_id = t_expert_controle_rule.expert_controle_id AND | |||||
| w_dbsetup.indicateur_id = t_expert_controle_rule.indicateur_id AND | |||||
| w_dbsetup.indicateur_condition_id_1 = COALESCE(t_expert_controle_rule.indicateur_condition_id[1],0) AND | |||||
| w_dbsetup.indicateur_condition_id_2 = COALESCE(t_expert_controle_rule.indicateur_condition_id[2],0) AND | |||||
| w_dbsetup.indicateur_condition_id_3 = COALESCE(t_expert_controle_rule.indicateur_condition_id[3],0) AND | |||||
| w_dbsetup.indicateur_2_id = t_expert_controle_rule.indicateur_2_id AND | |||||
| w_dbsetup.indicateur_condition_id_21 = COALESCE(t_expert_controle_rule.indicateur_condition_2_id[1],0) AND | |||||
| w_dbsetup.indicateur_condition_id_22 = COALESCE(t_expert_controle_rule.indicateur_condition_2_id[2],0) AND | |||||
| w_dbsetup.indicateur_condition_id_23 = COALESCE(t_expert_controle_rule.indicateur_condition_2_id[3],0) AND | |||||
| w_dbsetup.indicateur_3_id = t_expert_controle_rule.indicateur_3_id AND | |||||
| w_dbsetup.indicateur_condition_id_31 = COALESCE(t_expert_controle_rule.indicateur_condition_3_id[1],0) AND | |||||
| w_dbsetup.indicateur_condition_id_32 = COALESCE(t_expert_controle_rule.indicateur_condition_3_id[2],0) AND | |||||
| w_dbsetup.indicateur_condition_id_33 = COALESCE(t_expert_controle_rule.indicateur_condition_3_id[3],0) AND | |||||
| w_dbsetup.data_type = t_expert_controle_rule.data_type AND | |||||
| w_dbsetup.formula = t_expert_controle_rule.formula | |||||
| ; | |||||
| DELETE | |||||
| FROM rh.t_expert_controle_rule | |||||
| WHERE expert_controle_id IN | |||||
| (SELECT oid | |||||
| FROM rh.t_expert_controle | |||||
| WHERE code IN (SELECT expert_controle_code FROM w_dbsetup)) AND | |||||
| is_cti = '1' AND | |||||
| oid NOT IN (SELECT expert_controle_rule_id FROM w_dbsetup) | |||||
| ; | |||||
| INSERT INTO rh.t_expert_controle_rule( | |||||
| expert_controle_id, | |||||
| data_type, | |||||
| indicateur_id, | |||||
| indicateur_condition_id, | |||||
| formula, | |||||
| indicateur_2_id, | |||||
| indicateur_condition_2_id, | |||||
| formula_2, | |||||
| indicateur_3_id, | |||||
| indicateur_condition_3_id, | |||||
| formula_3, | |||||
| is_cti) | |||||
| SELECT | |||||
| expert_controle_id, | |||||
| data_type, | |||||
| indicateur_id, | |||||
| ARRAY[w_dbsetup.indicateur_condition_id_1,w_dbsetup.indicateur_condition_id_2,w_dbsetup.indicateur_condition_id_3], | |||||
| formula, | |||||
| indicateur_2_id, | |||||
| ARRAY[w_dbsetup.indicateur_condition_id_21,w_dbsetup.indicateur_condition_id_22,w_dbsetup.indicateur_condition_id_23], | |||||
| formula_2, | |||||
| indicateur_3_id, | |||||
| ARRAY[w_dbsetup.indicateur_condition_id_31,w_dbsetup.indicateur_condition_id_32,w_dbsetup.indicateur_condition_id_33], | |||||
| formula_3, | |||||
| '1'::text AS is_cti | |||||
| FROM w_dbsetup | |||||
| WHERE expert_controle_rule_id = 0 AND | |||||
| indicateur_id > 0 | |||||
| ; | |||||
| @ -0,0 +1,125 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| WITH flatSeries as ( | |||||
| SELECT | |||||
| oid, | |||||
| cast(jsonb_array_elements(replace('[' || serie_id || ']', '|', ',')::jsonb)->>'pos' as bigint) as position, | |||||
| cast(jsonb_array_elements(replace('[' || serie_id || ']', '|', ',')::jsonb)->>'id' as bigint) as id | |||||
| FROM rh.t_indicateur_serie | |||||
| WHERE serie_id != '{}' AND serie_id != '' | |||||
| ORDER BY oid, position | |||||
| ), | |||||
| flatCodes as (SELECT | |||||
| flatSeries.oid, | |||||
| array_agg(position::text || ':' || t_indicateur_serie.code::text) as codes | |||||
| FROM flatSeries | |||||
| LEFT JOIN rh.t_indicateur_serie on t_indicateur_serie.oid = id | |||||
| GROUP BY 1) | |||||
| SELECT | |||||
| t_indicateur_serie.code, | |||||
| coalesce(t_indicateurs.code, '') as indicateur_code, | |||||
| t_indicateur_serie.name, | |||||
| t_indicateur_serie.color, | |||||
| t_indicateur_serie.formula, | |||||
| t_indicateur_serie.calc, | |||||
| t_indicateur_serie.total, | |||||
| t_indicateur_serie.format, | |||||
| case when array_agg(DISTINCT t_indicateur_condition.external_code2) = ARRAY[null] then ARRAY[]::text[] else array_agg(DISTINCT t_indicateur_condition.external_code2) end as external_code2, | |||||
| CASE WHEN flatCodes.codes = ARRAY[null] THEN '{}'::text[] ELSE flatCodes.codes::text[] END as serie_code | |||||
| FROM rh.t_indicateur_serie | |||||
| LEFT JOIN rh.t_indicateurs ON t_indicateurs.oid = indicateur_id | |||||
| LEFT JOIN rh.t_indicateur_condition ON ARRAY[t_indicateur_condition.oid] <@ t_indicateur_serie.condition_id | |||||
| LEFT JOIN flatCodes on flatCodes.oid = t_indicateur_serie.oid | |||||
| GROUP BY 1,2,3,4,5,6,7,8, flatCodes.codes | |||||
| ORDER BY 2,1 LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| code, | |||||
| indicateur_code, | |||||
| name, | |||||
| color, | |||||
| formula, | |||||
| calc, | |||||
| total, | |||||
| format, | |||||
| external_code2, | |||||
| serie_code | |||||
| ) | |||||
| VALUES | |||||
| ('CTI_ENTSORF', '', 'Nombre entrees et sorties Femmes', '#d19aed', '[1] + [2]', 't', 'f', '', '{""}', '{"1:CTI_NVSALF", "2:CTI_DEPSALF"}'), | |||||
| ('CTI_ENTSORH', '', 'Nombre entrees et sorties Hommes', '#7b53e8', '[1] + [2]', 't', 'f', '', '{""}', '{"1:CTI_NVSALH", "2:CTI_DEPSALH"}'), | |||||
| ('CTI_HSUPF', '', 'Heures supplementaires Femmes', '#d19aed', '', 'f', 'f', '', '{"CTI_SEXE#DT#2"}', '{}'), | |||||
| ('CTI_HSUPH', '', 'Heures supplementaires Hommes', '#7b53e8', '', 'f', 'f', '', '{"CTI_SEXE#DT#1"}', '{}'), | |||||
| ('CTI_TAUXSTAT', '', 'Taux par statut', '', '([1] / [2])', 't', 'f', '0.00%', '{""}', '{"1:CTI_TOTSAL", "2:CTI_TOTSALF"}'), | |||||
| ('CTI_TOF', '', 'Turn Over Femmes', '#d19aed', '([1]/2) / [2]', 't', 'f', '0.00%', '{""}', '{"1:CTI_ENTSORF", "2:CTI_EFFDF"}'), | |||||
| ('CTI_TOH', '', 'Turn Over Hommes', '#7b53e8', '([1]/2) / [2]', 't', 'f', '0.00%', '{""}', '{"1:CTI_ENTSORH", "2:CTI_EFFDH"}'), | |||||
| ('CTI_MS', 'CTIMTMASSE', 'Masse salariale', '#7b53e8', '', 'f', 'f', '', '{""}', '{}'), | |||||
| ('CTI_MSF', 'CTIMTMASSE', 'Masse salariale Femmes', '#d19aed', '', 'f', 'f', '', '{"CTI_SEXE#DT#2"}', '{}'), | |||||
| ('CTI_MSH', 'CTIMTMASSE', 'Masse salariale Hommes', '#7b53e8', '', 'f', 'f', '', '{"CTI_SEXE#DT#1"}', '{}'), | |||||
| ('CTI_EFFDF', 'CTI_EFFDJPER', 'Effectifs dernier jour Femmes', '#d19aed', '', 'f', 'f', '', '{"CTI_SEXE#DT#2"}', '{}'), | |||||
| ('CTI_EFFDH', 'CTI_EFFDJPER', 'Effectifs dernier jour Hommes', '#7b53e8', '', 'f', 'f', '', '{"CTI_SEXE#DT#1"}', '{}'), | |||||
| ('CTI_FEMMES', 'CTI_NBSALCNT', 'Femmes', '#d19aed', '', 'f', 'f', '', '{"CTI_SEXE#DT#2"}', '{}'), | |||||
| ('CTI_HOMMES', 'CTI_NBSALCNT', 'Hommes', '#7b53e8', '', 'f', 'f', '', '{"CTI_SEXE#DT#1"}', '{}'), | |||||
| ('CTI_TOTSAL', 'CTI_NBSALCNT', 'Total salaries', '', '', 'f', 'f', '', '{""}', '{}'), | |||||
| ('CTI_TOTSALF', 'CTI_NBSALCNT', 'Total Salaries fin annee', '', '', 'f', 't', '', '{""}', '{}'), | |||||
| ('CTI_NVSALF', 'CTI_NOUVSALS', 'Nouveaux salaries Femmes', '#d19aed', '', 'f', 'f', '', '{"CTI_SEXE#DT#2"}', '{}'), | |||||
| ('CTI_NVSALH', 'CTI_NOUVSALS', 'Nouveaux salaries Hommes', '#7b53e8', '', 'f', 'f', '', '{"CTI_SEXE#DT#1"}', '{}'), | |||||
| ('CTI_DEPSALF', 'CTI_SALPARTISSP', 'Departs salaries Femmes', '#d19aed', '', 'f', 'f', '', '{"CTI_SEXE#DT#2"}', '{}'), | |||||
| ('CTI_DEPSALH', 'CTI_SALPARTISSP', 'Departs salaries Hommes', '#7b53e8', '', 'f', 'f', '', '{"CTI_SEXE#DT#1"}', '{}') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| SELECT rh.cti_reorganize_indicateur_condition(); | |||||
| TRUNCATE rh.t_indicateur_serie; | |||||
| INSERT INTO rh.t_indicateur_serie(indicateur_id, condition_id, name, color, formula, calc, serie_id, total, format, code) | |||||
| SELECT | |||||
| coalesce(t_indicateurs.oid, 0), | |||||
| case when array_agg(DISTINCT t_indicateur_condition.oid) = ARRAY[NULL]::bigint[] then ARRAY[]::bigint[] else array_agg(DISTINCT t_indicateur_condition.oid) end, | |||||
| w_dbsetup.name, | |||||
| w_dbsetup.color, | |||||
| w_dbsetup.formula, | |||||
| w_dbsetup.calc, | |||||
| case when array_agg(DISTINCT rec.oid) = ARRAY[NULL]::bigint[] then ARRAY[]::bigint[] else array_agg(DISTINCT rec.oid) end, | |||||
| w_dbsetup.total, | |||||
| w_dbsetup.format, | |||||
| w_dbsetup.code | |||||
| FROM w_dbsetup | |||||
| LEFT JOIN rh.t_indicateurs ON t_indicateurs.code = w_dbsetup.indicateur_code | |||||
| LEFT JOIN rh.t_indicateur_condition ON ARRAY[t_indicateur_condition.external_code2] <@ w_dbsetup.external_code2 | |||||
| LEFT JOIN rh.t_indicateur_serie as rec ON ARRAY[rec.code] <@ w_dbsetup.serie_code | |||||
| GROUP BY 1,3,4,5,6,8,9,10 | |||||
| ; | |||||
| WITH series_id as ( | |||||
| SELECT | |||||
| w_dbsetup.code, | |||||
| split_part(unnest(w_dbsetup.serie_code), ':', 1) as pos, | |||||
| split_part(unnest(w_dbsetup.serie_code), ':', 2) as serie_code | |||||
| FROM w_dbsetup | |||||
| ), | |||||
| full_series as ( | |||||
| SELECT | |||||
| series_id.code, | |||||
| coalesce(string_agg('{"pos": ' || pos || ', "id": ' || t_indicateur_serie.oid || '}', '|'), '') as serie_id | |||||
| FROM series_id | |||||
| LEFT JOIN rh.t_indicateur_serie ON t_indicateur_serie.code = serie_code | |||||
| GROUP BY 1 | |||||
| ) | |||||
| UPDATE rh.t_indicateur_serie SET | |||||
| serie_id = CASE WHEN full_series.serie_id IS NULL THEN '' ELSE full_series.serie_id END | |||||
| FROM w_dbsetup | |||||
| LEFT JOIN full_series ON full_series.code = w_dbsetup.code | |||||
| WHERE t_indicateur_serie.code = w_dbsetup.code | |||||
| ; | |||||
| @ -0,0 +1,395 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| t_indicateurs.oid, | |||||
| t_indicateurs.code, | |||||
| t_indicateurs.texte, | |||||
| t_indicateurs.table_name, | |||||
| t_indicateurs.column_name, | |||||
| t_indicateurs.is_cti, | |||||
| t_indicateurs.entete, | |||||
| t_indicateurs.total_function, | |||||
| t_indicateurs.output_format, | |||||
| t_indicateurs.width, | |||||
| t_indicateurs.entete_etendue, | |||||
| t_indicateurs.dimension_date_1, | |||||
| t_indicateurs.dimension_date_2, | |||||
| t_indicateurs.dimension_date_3, | |||||
| t_indicateurs.dimension_date_4, | |||||
| t_indicateurs.dimension_date_5, | |||||
| t_indicateurs.dimension_date, | |||||
| t_indicateurs_1.code as indicateur_associe_1_code, | |||||
| t_indicateurs_2.code as indicateur_associe_2_code, | |||||
| t_indicateurs_3.code as indicateur_associe_3_code, | |||||
| t_indicateurs_4.code as indicateur_associe_4_code, | |||||
| t_indicateurs_5.code as indicateur_associe_5_code, | |||||
| t_indicateurs_6.code as indicateur_associe_6_code, | |||||
| t_indicateurs_7.code as indicateur_associe_7_code, | |||||
| t_indicateurs_8.code as indicateur_associe_8_code, | |||||
| t_indicateurs_9.code as indicateur_associe_9_code, | |||||
| t_indicateurs_10.code as indicateur_associe_10_code, | |||||
| t_indicateurs_11.code as indicateur_associe_11_code, | |||||
| t_indicateurs_12.code as indicateur_associe_12_code, | |||||
| t_indicateurs_13.code as indicateur_associe_13_code, | |||||
| t_indicateurs_14.code as indicateur_associe_14_code, | |||||
| t_indicateurs_15.code as indicateur_associe_15_code, | |||||
| t_indicateurs_16.code as indicateur_associe_16_code, | |||||
| t_indicateurs_17.code as indicateur_associe_17_code, | |||||
| t_indicateurs_18.code as indicateur_associe_18_code, | |||||
| t_indicateurs_19.code as indicateur_associe_19_code, | |||||
| t_indicateurs_20.code as indicateur_associe_20_code, | |||||
| t_indicateurs_reference.code as indicateur_reference_code | |||||
| FROM rh.t_indicateurs | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_1 ON (t_indicateurs.indicateur_associe_1_id = t_indicateurs_1.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_2 ON (t_indicateurs.indicateur_associe_2_id = t_indicateurs_2.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_3 ON (t_indicateurs.indicateur_associe_3_id = t_indicateurs_3.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_4 ON (t_indicateurs.indicateur_associe_4_id = t_indicateurs_4.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_5 ON (t_indicateurs.indicateur_associe_5_id = t_indicateurs_5.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_6 ON (t_indicateurs.indicateur_associe_6_id = t_indicateurs_6.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_7 ON (t_indicateurs.indicateur_associe_7_id = t_indicateurs_7.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_8 ON (t_indicateurs.indicateur_associe_8_id = t_indicateurs_8.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_9 ON (t_indicateurs.indicateur_associe_9_id = t_indicateurs_9.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_10 ON (t_indicateurs.indicateur_associe_10_id = t_indicateurs_10.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_11 ON (t_indicateurs.indicateur_associe_11_id = t_indicateurs_11.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_12 ON (t_indicateurs.indicateur_associe_12_id = t_indicateurs_12.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_13 ON (t_indicateurs.indicateur_associe_13_id = t_indicateurs_13.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_14 ON (t_indicateurs.indicateur_associe_14_id = t_indicateurs_14.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_15 ON (t_indicateurs.indicateur_associe_15_id = t_indicateurs_15.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_16 ON (t_indicateurs.indicateur_associe_16_id = t_indicateurs_16.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_17 ON (t_indicateurs.indicateur_associe_17_id = t_indicateurs_17.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_18 ON (t_indicateurs.indicateur_associe_18_id = t_indicateurs_18.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_19 ON (t_indicateurs.indicateur_associe_19_id = t_indicateurs_19.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_20 ON (t_indicateurs.indicateur_associe_20_id = t_indicateurs_20.oid) | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_reference ON (t_indicateurs.indicateur_reference_id = t_indicateurs_reference.oid) | |||||
| WHERE t_indicateurs.is_cti = '1' | |||||
| ORDER BY t_indicateurs.code | |||||
| LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| oid, | |||||
| code, | |||||
| texte, | |||||
| table_name, | |||||
| column_name, | |||||
| is_cti, | |||||
| entete, | |||||
| total_function, | |||||
| output_format, | |||||
| width, | |||||
| entete_etendue, | |||||
| dimension_date_1, | |||||
| dimension_date_2, | |||||
| dimension_date_3, | |||||
| dimension_date_4, | |||||
| dimension_date_5, | |||||
| dimension_date, | |||||
| indicateur_associe_1_code, | |||||
| indicateur_associe_2_code, | |||||
| indicateur_associe_3_code, | |||||
| indicateur_associe_4_code, | |||||
| indicateur_associe_5_code, | |||||
| indicateur_associe_6_code, | |||||
| indicateur_associe_7_code, | |||||
| indicateur_associe_8_code, | |||||
| indicateur_associe_9_code, | |||||
| indicateur_associe_10_code, | |||||
| indicateur_associe_11_code, | |||||
| indicateur_associe_12_code, | |||||
| indicateur_associe_13_code, | |||||
| indicateur_associe_14_code, | |||||
| indicateur_associe_15_code, | |||||
| indicateur_associe_16_code, | |||||
| indicateur_associe_17_code, | |||||
| indicateur_associe_18_code, | |||||
| indicateur_associe_19_code, | |||||
| indicateur_associe_20_code, | |||||
| indicateur_reference_code | |||||
| ) | |||||
| VALUES | |||||
| (1, 'CTIAN', 'Avantages en nature', 'v_historique_paie_1', 'montant_avantage_nature', '1', 'Avantage nature', 'SUM', '#E', 80, 'Avantages nature', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTICOTPAT', 'Cotisations patronales', 'v_historique_paie_1', 'montant_cotisation_patronale', '1', 'Cotisations patronales', 'SUM', '#E', 80, 'Cotisations patronales', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTICOTSAL ', 'Cotisations salariales', 'v_historique_paie_1', 'montant_cotisation_salarie', '1', 'Cotisations salariales', 'SUM', '#E', 80, 'Cotisations salariales', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTIETPTHM', 'ETP travaillé moyen', '*CALC', 'base.cti_division([1], [2])', '1', 'ETP travaillé moyen', '*CALC', '#,00', 0, 'ETP travaillé moyen', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_ETPW', 'CTI_NBMOIS', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTIHP', 'Heures payées', 'v_historique_paie_1', 'heures_payees', '1', 'Heures payées', 'SUM', '', 80, 'Heures payées', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTIHT', 'Heures travaillées', 'v_historique_paie_1', 'heures_travaillees', '1', 'Heures travaillées', 'SUM', '', 80, 'Heures travaillées', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTIMASSMOY', 'Masse salariale moyenne', '*CALC', 'base.cti_division([1], [2])', '1', 'Masse moyenne', '*CALC', '#E', 80, 'Masse salariale moyenne', ' ', ' ', ' ', ' ', ' ', ' ', 'CTIMTMASSE', 'CTI_ETPPAYE', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTIMTBRUT', 'Montant brut', 'v_historique_paie_1', 'montant_brut', '1', 'Brut', 'SUM', '#E', 80, 'Montant brut', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTIMTMASSE', 'Masse salariale', 'v_historique_paie_1', 'montant_masse_salariale', '1', 'Masse', 'SUM', '#E', 80, 'Masse salariale', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTINBCNT', 'Nombre de contrats', 'v_contrats_mois_1', 'DISTINCT contrat_id', '1', 'Contrats', 'COUNT', '', 80, 'Nombre de contrats', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTINBDSAL', 'Nombre de salariés distincts (Historique)', 'v_historique_paie_1', 'DISTINCT salarie_id', '1', 'Salariés distincts', 'COUNT', '', 80, 'Nombre de salariés distincts (Historique)', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTINBHOMME', 'Nombre d''Hommes', 'v_historique_paie_1', 'DISTINCT (CASE WHEN sexe_code = ''M'' THEN salarie_id ELSE null END)', '1', 'NB d''Hommes', 'COUNT', '', 0, 'Nombre d''Hommes', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTINBJARRET', 'Jours d''arret de travail', 'v_arrets_travail_mois_1', 'nb_jours_arret', '1', 'Arrets', 'SUM', '#j', 60, 'Jours d''arret de travail', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTINBSAL', 'Nombre de salariés (Historique)', 'v_historique_paie_1', 'salarie_id', '1', 'Salariés', 'COUNT', '', 80, 'Nombre de salariés (Historique)', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTINETAPAYER', 'Net à Payer', 'v_historique_paie_1', 'montant_net_a_payer_salarie', '1', 'Net A Payer', 'SUM', '#E', 80, 'Net A Payer', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTINETIMPOS', 'Net Imposable', 'v_historique_paie_1', 'montant_net_imposable_salarie', '1', 'Net Imposable', 'SUM', '#E', 80, 'Net Imposable', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTIODNET', 'OD sur Net', 'v_historique_paie_1', 'montant_od_net_salarie', '1', 'OD sur Net', 'SUM', '#E', 80, 'OD sur Net', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTISALCHGMOYH', 'Salaire Horaire Chargé', '*CALC', '[1] / [2]', '1', 'Salaire Chargé Moyen', '*CALC', '', 0, 'Salaire Chargé Moyen', ' ', ' ', ' ', ' ', ' ', ' ', 'CTIMASSMOY', 'CTIHP', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTISEP', 'Séparateur', 'SEP', '', '1', '', 'SUM', '', 0, '', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTITA', 'Base 4600 TA', 'v_historique_paie_1', 'CASE WHEN rubrique_code = ''4600'' THEN base ELSE 0 END', '1', 'Base 4600 TA', 'SUM', '#¤', 80, 'Base 4600 TA', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTITB', 'Base 4610 TB', 'v_historique_paie_1', 'CASE WHEN rubrique_code = ''4610'' THEN base ELSE 0 END', '1', 'Base 4610 TB', 'SUM', '#¤', 80, 'Base 4610 TB', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_ACTJPCT', 'Pourcentage de jours d''accident du travail', '*CALC', 'base.cti_division([1], [2]) * 100', '1', 'Pourcentage de jours d''accident du travail', '*CALC', '#,0%', 0, 'Pourcentage de jours d''accident du travail', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_NBJARRET_ACT', 'CTINBJARRET', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_ACTPCT', 'Pourcentage d''accident du travail', '*CALC', 'base.cti_division([1], [2]) * 100', '1', 'Pourcentage d''accident du travail', '*CALC', '#,0%', 0, 'Pourcentage d''accident du travail', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_NBARRET_ACT', 'CTI_NBARRET', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_AGEMOY', 'Age moyen', '*CALC', 'base.cti_division([1]::numeric, [2]::numeric)', '1', 'Age moyen', '*CALC', '#,0', 0, 'Age moyen', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_SAGE', 'CTI_CAGE', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_AGESUM', 'Somme totale des ages', 'v_contrats_mois_1', 'rhp_age_id', '1', 'Somme totale des ages', 'SUM', '', 0, 'Somme totale des ages', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_BRUTCPA1', 'Montant Brut CP A-1 ( rub 1981)', 'v_historique_paie_1', 'CASE WHEN rubrique_code = ''1981'' THEN montant_brut ELSE 0 END', '1', 'Brut CP A-1', 'SUM', '#E', 80, 'Montant Brut CP A-1', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_BRUTMOYEN', 'Brut moyen/ETP', '*CALC', '[1] / [2]', '1', 'Brut Moyen(/ETP)', '*CALC', '', 0, 'Brut Moyen(/ETP)', ' ', ' ', ' ', ' ', ' ', ' ', 'CTIMTBRUT', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_BRUTMOYENETP', 'Brut moyen/ETP', '*CALC', 'base.cti_division([1], [2])', '1', 'Brut Moyen(/ETP)', '*CALC', '#E', 0, 'Brut Moyen(/ETP)', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_MTBRUT', 'CTI_ETPPAYE', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_CAGE', 'Comptage salariés pour Age moyen', 'v_contrats_mois_1', 'DISTINCT salarie_id::text||''-''||age_id::text', '1', 'Comptage salariés pour Age moyen', 'COUNT', '#,0', 0, 'Comptage salariés pour Age moyen', '1', ' ', ' ', ' ', ' ', '1', 'CTI_AGESUM', 'CTI_NDSAL', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_CALNBJ_OUVRE', 'Nombre de jours ouvrés', 'CALENDRIER', 'nb_jour_ouvre', '1', 'Jours ouvrés', 'SUM', '#', 80, 'Jours ouvrés', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_CALNBJ_SEM', 'Nombre de jours semaine', 'CALENDRIER', 'nb_jour_semaine', '1', 'Jours semaine', 'SUM', '#', 80, 'Jours semaine', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_CCO', 'Qualité - Catégorie de congé', 'v_contrats_mois_1', 'DISTINCT CASE WHEN categorie_conge_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Catégorie de congé', 'COUNT', '', 0, 'Catégorie de congé', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_CDDSALP', 'Salarié en CDD : Nombre Moyen de contrats', '*CALC', 'base.cti_division([1], [2])', '1', 'Salarié en CDD : Nombre Moyen de contrats', '*CALC', '#,0', 0, 'Salarié en CDD : Nombre Moyen de contrats', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_NBCONTRATCDD', 'CTI_NBSALCDD', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_CDM', 'Qualité - Cadre d''emploi', 'v_contrats_mois_1', 'DISTINCT CASE WHEN cadre_emploi_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Cadre d''emploi', 'COUNT', '', 0, 'Cadre d''emploi', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_CEM', 'Qualité - Code emploi', 'v_contrats_mois_1', 'DISTINCT CASE WHEN code_emploi_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Code emploi', 'COUNT', '', 0, 'Code emploi', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_CNTCMP', 'Contrats en temps complet', 'v_contrats_mois_1', 'CASE WHEN type_temps_travail_section_code[9] = ''TC'' THEN contrat_id ELSE null END', '1', 'Temps complet', 'COUNT', '', 0, 'Contrats en temps complet', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_CNTPAR', 'Contrats en temps partiel', 'v_contrats_mois_1', 'CASE WHEN type_temps_travail_section_code[9] = ''TP'' THEN contrat_id ELSE null END', '1', 'Temps partiel', 'COUNT', '', 0, 'Contrats en temps partiel', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_CPA', 'Qualité - Commission paritaire', 'v_contrats_mois_1', 'DISTINCT CASE WHEN commission_paritaire_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Commission paritaire', 'COUNT', '', 0, 'Commission paritaire', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_CPA1', 'Base CP Pris sur A-1 1981', 'v_historique_paie_1', 'CASE WHEN rubrique_code = ''1981'' THEN base ELSE 0 END', '1', 'Base CP a-1', 'SUM', '#j', 80, 'Base CP A-1', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_CPO', 'Qualité - Code postal', 'v_contrats_mois_1', 'DISTINCT CASE WHEN code_postal_id = 0 THEN salarie_id ELSE null END', '1', 'Code postal', 'COUNT', '', 0, 'Code postal', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_CSA', 'Qualité - Compte salarié', 'v_contrats_mois_1', 'DISTINCT CASE WHEN compte_salarie_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Compte salarié', 'COUNT', '', 0, 'Compte salarié', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_CSP', 'Qualité - Catégorie socio-professionnelle', 'v_contrats_mois_1', 'DISTINCT CASE WHEN categorie_socio_professionnelle_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Catégorie socio-professionnelle', 'COUNT', '', 0, 'Catégorie socio-professionnelle', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_CST', 'Qualité - Catégorie statutaire', 'v_contrats_mois_1', 'DISTINCT CASE WHEN categorie_statutaire_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Catégorie statutaire', 'COUNT', '', 0, 'Catégorie statutaire', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_DBTCDD', 'Nombre débuts de CDD', 'v_contrats_mois_1', 'DISTINCT (CASE WHEN 1=1 | |||||
| AND nombre_debut_contrat > 0 | |||||
| AND type_contrat_section_code[9] = ''CDD'' | |||||
| THEN contrat_id | |||||
| ELSE null END)', '1', 'Débuts de CDD', 'COUNT', '', 0, 'Nombre débuts de CDD', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_DBTCDI', 'Nombre de début de CDI', 'v_contrats_mois_1', 'DISTINCT (CASE WHEN 1=1 | |||||
| AND nombre_debut_contrat > 0 | |||||
| AND type_contrat_section_code[9] = ''CDI'' | |||||
| THEN contrat_id | |||||
| ELSE null END)', '1', 'Débuts de CDI', 'COUNT', '', 0, 'Nombre de début de CDI', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_DNA', 'Qualité - Date de naissance', 'v_contrats_mois_1', 'DISTINCT CASE WHEN date_naissance <= ''19200101''::date THEN salarie_id ELSE null END', '1', 'Date de naissance', 'COUNT', '', 0, 'Date de naissance', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_DUREEMOYARRETS', 'Durée moyenne des arrêts', '*CALC', 'base.cti_division([1], [2])', '1', 'Durée moyenne des arrêts', '*CALC', '#,0', 0, 'Durée moyenne des arrêts', ' ', ' ', ' ', ' ', ' ', ' ', 'CTINBJARRET', 'CTI_NBARRET', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_EFF1ERJANV', 'Effectif total au 1er janvier', 'v_contrats_mois_1', 'DISTINCT CASE | |||||
| WHEN 1=1 | |||||
| AND present_debut_mois = 1 | |||||
| AND date_part(''month'', date_debut_activite) = 1 | |||||
| THEN salarie_id | |||||
| ELSE null | |||||
| END', '1', 'Effectif total au 1er janvier', 'COUNT', '', 0, 'Effectif total au 1er janvier', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_EFF31DEV', 'Effectif total au 31 décembre', 'v_contrats_mois_1', 'DISTINCT CASE | |||||
| WHEN 1=1 | |||||
| AND present_fin_mois = 1 | |||||
| AND date_part(''month'', date_debut_activite) = 12 | |||||
| THEN salarie_id | |||||
| ELSE null | |||||
| END', '1', 'Effectif total au 31 décembre', 'COUNT', '', 0, 'Effectif total au 31 décembre', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_EFFDJPER', 'Effectif au dernier jour de la période', 'v_contrats_mois_1', 'DISTINCT CASE | |||||
| WHEN 1=1 | |||||
| AND present_fin_mois = 1 | |||||
| THEN salarie_id | |||||
| ELSE null | |||||
| END', '1', 'Effectif au dernier jour', 'COUNTLASTMONTH', '', 0, 'Effectif au dernier jour de la période', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_EFFPERM', 'Effectif permanent', 'v_contrats_mois_1', 'DISTINCT CASE WHEN effectif_permanent = 1 then salarie_id ELSE null END', '1', 'Effectif permanent', 'COUNTLASTMONTH', '', 0, 'Effectif permanent', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_EFFPJPER', 'Effectif au premier jour de la période', 'v_contrats_mois_1', 'DISTINCT CASE | |||||
| WHEN 1=1 | |||||
| AND present_debut_mois = 1 | |||||
| AND to_char(date_debut_activite, ''YYYYMM'') = to_char( periode::date, ''YYYYMM'') | |||||
| THEN salarie_id | |||||
| ELSE null | |||||
| END', '1', 'Effectif au premier jour', 'COUNT', '', 0, 'Effectif au premier jour de la période', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_EMBCDD', 'Nombre d''embauche en CDD', 'v_contrats_mois_1', 'DISTINCT (CASE WHEN 1=1 | |||||
| AND nombre_entrees = 1 | |||||
| AND type_contrat_section_code[9] = ''CDD'' | |||||
| THEN salarie_id | |||||
| ELSE null END)', '1', 'Embauche en CDD', 'COUNT', '', 0, 'Nombre d''embauche en CDD', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_EMBCDI', 'Nombre d''embauche en CDI', 'v_contrats_mois_1', 'DISTINCT (CASE WHEN 1=1 | |||||
| AND nombre_entrees = 1 | |||||
| AND type_contrat_section_code[9] = ''CDI'' | |||||
| THEN salarie_id | |||||
| ELSE null END)', '1', 'Embauche en CDI', 'COUNT', '', 0, 'Nombre d''embauche en CDI', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_EMBMS25', 'Nombre d''embauche de salariés de moins de 25 ans', 'v_contrats_mois_1', 'DISTINCT (CASE WHEN 1=1 | |||||
| AND nombre_entrees = 1 | |||||
| AND rhp_age_id < 25 | |||||
| THEN salarie_id | |||||
| ELSE null END)', '1', 'Embauche < 25 ans', 'COUNT', '', 0, 'Nombre d''embauche de salariés de moins de 25 ans', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_ETPPAYE', 'ETP rémunéré', 'v_historique_paie_1', 'etp_paye', '1', 'ETP rémunéré', 'SUM', '#,00', 80, 'ETP rémunéré', '4', ' ', ' ', ' ', ' ', '4', 'CTIHP', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_ETPREMMOY', 'ETP rémunéré moyen', '*CALC', 'base.cti_division([1], [2])', '1', 'ETP rémunéré moyen', '*CALC', '#,00', 0, 'ETP rémunéré moyen', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_ETPPAYE', 'CTI_NBMOIS', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_ETPW', 'ETP travaillé', 'v_historique_paie_1', 'etp_travaille', '1', 'ETP travaillé', 'SUM', '#,00', 80, 'ETP travaillé', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_FIL', 'Qualité - Filière', 'v_contrats_mois_1', 'DISTINCT CASE WHEN filiere_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Filière', 'COUNT', '', 0, 'Filière', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_FINCNT', 'Nombre de fin de contrats', 'v_contrats_mois_1', 'DISTINCT (CASE WHEN nombre_fin_contrat > 0 THEN contrat_id ELSE null END)', '1', 'Fin de contrats', 'COUNT', '', 0, 'Nombre de fin de contrats', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_FINCNTCDD', 'Nombre de fin de CDD', 'v_contrats_mois_1', 'DISTINCT ( | |||||
| CASE WHEN 1=1 | |||||
| AND nombre_fin_contrat > 0 | |||||
| AND type_contrat_section_code[9] = ''CDD'' | |||||
| THEN contrat_id | |||||
| ELSE null | |||||
| END)', '1', 'Fin de CDD', 'COUNT', '', 0, 'Nombre de fin de CDD', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_FINCNTCDI', 'Nombre de fin de CDI', 'v_contrats_mois_1', 'DISTINCT ( | |||||
| CASE WHEN 1=1 | |||||
| AND nombre_fin_contrat > 0 | |||||
| AND type_contrat_section_code[9] = ''CDI'' | |||||
| THEN contrat_id | |||||
| ELSE null | |||||
| END)', '1', 'Fin de CDI', 'COUNT', '', 0, 'Nombre de fin de CDI', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_FRIMPOS', 'Frais Imposable', 'v_historique_paie_1', 'montant_frais_imposables', '1', 'Frais Imposable', 'SUM', '#E', 80, 'Frais Imposable', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_GCO', 'Qualité - Groupe de cotisant', 'v_contrats_mois_1', 'DISTINCT CASE WHEN groupe_cotisant_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Groupe de cotisant', 'COUNT', '', 0, 'Groupe de cotisant', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_GGR', 'Qualité - Groupe de grille', 'v_contrats_mois_1', 'DISTINCT CASE WHEN grille_groupe_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Groupe de grille', 'COUNT', '', 0, 'Groupe de grille', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_GRI', 'Qualité - Grille', 'v_contrats_mois_1', 'DISTINCT CASE WHEN grille_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Grille', 'COUNT', '', 0, 'Grille', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_LBU', 'Qualité - Lettre budgétaire', 'v_contrats_mois_1', 'DISTINCT CASE WHEN lettre_budgetaire_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Lettre budgétaire', 'COUNT', '', 0, 'Lettre budgétaire', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_MALJPCT', 'Pourcentage de jours de maladie', '*CALC', 'base.cti_division([1], [2]) * 100', '1', 'Pourcentage de jours de maladie', '*CALC', '#,0%', 0, 'Pourcentage de jours de maladie', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_NBJARRET_MAL', 'CTINBJARRET', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_MALPCT', 'Pourcentage de maladie', '*CALC', 'base.cti_division([1], [2]) * 100', '1', 'Pourcentage de maladie', '*CALC', '#,0%', 0, 'Pourcentage de maladie', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_NBARRET_MAL', 'CTI_NBARRET', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_MATJPCT', 'Pourcentage de jours de maternité', '*CALC', 'base.cti_division([1], [2]) * 100', '1', 'Pourcentage de jours de maternité', '*CALC', '#,0%', 0, 'Pourcentage de jours de maternité', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_NBJARRET_MAT', 'CTINBJARRET', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_MATPCT', 'Pourcentage de maternité', '*CALC', 'base.cti_division([1], [2]) * 100', '1', 'Pourcentage de maternité', '*CALC', '#,0%', 0, 'Pourcentage de maternité', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_NBARRET_MAT', 'CTI_NBARRET', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_MDD', 'Qualité - Motif de début de contrat', 'v_contrats_mois_1', 'DISTINCT CASE WHEN motif_debut_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Motif de début', 'COUNT', '', 0, 'Motif de début', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_MDF', 'Qualité - Motif de fin de contrat', 'v_contrats_mois_1', 'DISTINCT CASE WHEN motif_fin_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Motif de fin', 'COUNT', '', 0, 'Motif de fin', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_MHMC', 'Montant Horaire Moyen Chargé', '*CALC', 'base.cti_division([1], [2])', '1', 'Mnt H. Moy. Chargé', '*CALC', '#,0E', 0, 'Montant Horaire Moyen Chargé', ' ', ' ', ' ', ' ', ' ', ' ', 'CTIMTMASSE', 'CTIHP', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_MTBRUT', 'Montant brut', 'v_historique_paie_1', 'montant_brut', '1', 'Brut', 'SUM', '#E', 80, 'Montant brut', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_MT_CNT', 'Montant rupture de contrat', 'v_historique_paie_1', 'CASE WHEN rubrique_id IN [LISTE:CTI_EXP_CNT] THEN montant_od_net_salarie ELSE 0 END', '1', 'Montant rupture de contrat', 'SUM', '#E', 0, 'Montant rupture de contrat', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_MT_IJ', 'Montant IJSS', 'v_historique_paie_1', 'CASE WHEN rubrique_id IN [LISTE:CTI_EXP_IJS] THEN montant_od_net_salarie ELSE 0 END', '1', 'Montant IJSS', 'SUM', '#E', 0, 'Montant IJSS', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_MT_PRE', 'Montant prime de précarité', 'v_historique_paie_1', 'CASE WHEN rubrique_id IN [LISTE:CTI_EXP_PRE] THEN montant_masse_salariale ELSE 0 END', '1', 'Montant Prime de précarité', 'SUM', '#E', 0, 'Montant prime de précarité', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_MT_RET', 'Montant départ à la retraite', 'v_historique_paie_1', 'CASE WHEN rubrique_id IN [LISTE:CTI_EXP_RET] THEN montant_masse_salariale ELSE 0 END', '1', 'Montant retraite', 'SUM', '#E', 0, 'Montant départ à la retraite', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NAT', 'Qualité - Nationalité', 'v_contrats_mois_1', 'DISTINCT CASE WHEN nationalite_id = 0 THEN salarie_id ELSE null END', '1', 'Nationalité', 'COUNT', '', 0, 'Nationalité', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBARRET', 'Nombre d''arrêts', 'v_arrets_travail_mois_1', 'DISTINCT CASE WHEN nb_arret = 1 THEN arret_travail_id ELSE null END', '1', 'Nombre d''arrêts', 'COUNT', '', 0, 'Nombre d''arrêts', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBARRETMOY', 'Nombre d''arrêts moyen', '*CALC', 'base.cti_division([1], [2])', '1', 'Nb d''arrêts moyen', '*CALC', '#,0', 0, 'Nombre d''arrêts moyen', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_NBARRET', 'CTI_NBSALCNT', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBARRET_ACT', 'Nombre d''arrêts pour accident du travail', 'v_arrets_travail_mois_1', 'DISTINCT CASE WHEN nb_arret = 1 AND motif_arret_section_code[9] = ''ACT'' THEN arret_travail_id ELSE null END', '1', 'Nb accident du travail', 'COUNT', '', 0, 'Nombre d''arrêts pour accident du travail', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBARRET_MAL', 'Nombre d''arrêts maladie', 'v_arrets_travail_mois_1', 'DISTINCT CASE WHEN nb_arret = 1 AND motif_arret_section_code[9] = ''MAL'' THEN arret_travail_id ELSE null END', '1', 'Nb maladies', 'COUNT', '', 0, 'Nombre d''arrêts maladie', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBARRET_MAT', 'Nombre d''arrêts maternité', 'v_arrets_travail_mois_1', 'DISTINCT CASE WHEN nb_arret = 1 AND motif_arret_section_code[9] = ''MAT'' THEN arret_travail_id ELSE null END', '1', 'Nb maternités', 'COUNT', '', 0, 'Nombre d''arrêts maternité', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBCNT', 'Nombre de contrats', 'v_contrats_mois_1', 'DISTINCT contrat_id', '1', 'Contrats', 'COUNT', '', 80, 'Nombre de contrats', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBCONTRATCDD', 'Nombre de contrats en CDD', 'v_contrats_mois_1', 'DISTINCT (CASE WHEN type_contrat_section_code[9] = ''CDD'' THEN contrat_id ELSE null END)', '1', 'Contrats CDD', 'COUNT', '', 80, 'Nombre de contrats en CDD', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBCONTRATCDI', 'Nombre de contrats en CDI', 'v_contrats_mois_1', 'DISTINCT (CASE WHEN type_contrat_section_code[9] = ''CDI'' THEN contrat_id ELSE null END)', '1', 'Contrats CDI', 'COUNT', '', 80, 'Nombre de contrats en CDI', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBETRANGERS', 'Nombre d''étrangers', 'v_historique_paie_1', 'DISTINCT (CASE WHEN nationalite_section_code[9] != ''FR'' THEN salarie_id ELSE null END)', '1', 'NB d''étrangers', 'COUNT', '', 0, 'Nombre d''étrangers', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBFEMMECNT', 'Nombre de Femmes (Contrats)', 'v_contrats_mois_1', 'DISTINCT (CASE WHEN sexe_code = ''F'' THEN salarie_id ELSE null END)', '1', 'NB de Femmes', 'COUNT', '', 0, 'Nombre de Femmes', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBFEMMEPAIE', 'Nombre de Femmes (Paie)', 'v_historique_paie_1', 'DISTINCT (CASE WHEN sexe_code = ''F'' THEN salarie_id ELSE null END)', '1', 'NB de Femmes', 'COUNT', '', 0, 'Nombre de Femmes', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBHANDICAP', 'Nombre d''handicapés', 'v_historique_paie_1', 'DISTINCT (CASE WHEN handicap_id = ''1'' THEN salarie_id ELSE null END)', '1', 'NB d''handicapés', 'COUNT', '', 0, 'Nombre d''handicapés', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBIJSS', 'Nombre d''IJSS', 'v_historique_paie_1', 'DISTINCT CASE WHEN rubrique_id IN [LISTE:CTI_EXP_IJS] THEN salarie_id ELSE null END', '1', 'IJSS', 'COUNT', '', 0, 'Nombre d''IJSS', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBJARRET_ACT', 'Nombre de jours d''arrêt pour accident du travail', 'v_arrets_travail_mois_1', 'CASE WHEN motif_arret_section_code[9] = ''ACT'' THEN nb_jours_arret ELSE 0 END', '1', 'Nb jours accident du travail', 'SUM', '', 0, 'Nombre de jours d''arrêt pour accident du travail', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBJARRET_MAL', 'Nombre de jours d''arrêt maladie', 'v_arrets_travail_mois_1', 'CASE WHEN motif_arret_section_code[9] = ''MAL'' THEN nb_jours_arret ELSE 0 END', '1', 'Nb jours maladie', 'SUM', '', 0, 'Nombre de jours d''arrêt maladie', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBJARRET_MAT', 'Nombre de jours d''arrêt maternité', 'v_arrets_travail_mois_1', 'CASE WHEN motif_arret_section_code[9] = ''MAT'' THEN nb_jours_arret ELSE 0 END', '1', 'Nb jours maternité', 'SUM', '', 0, 'Nombre de jours d''arrêt maternité', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBJT', 'Nombre de journées théoriques travaillées', 'v_historique_paie_1', 'heures_travaillees / 7.0', '1', 'Journées théoriques travaillées', 'SUM', '', 0, 'Nombre de journées théoriques travaillées', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBMOIS', 'Nombre de mois sur la période', 'v_contrats_mois_1', 'DISTINCT mois_activite_id', '1', 'Mois /période', 'COUNT', '', 0, 'Nombre de mois sur la période', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBRUPT', 'Nombre de rupture de contrat', 'v_historique_paie_1', 'DISTINCT CASE WHEN rubrique_id IN [LISTE:CTI_EXP_CNT] THEN salarie_id ELSE null END', '1', 'Rupture de contrat', 'COUNT', '', 0, 'Nombre de rupture de contrat', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBSAL', 'Nombre de salariés (Paie)', 'v_historique_paie_1', 'DISTINCT salarie_id', '1', 'Salariés', 'COUNT', '', 80, 'Nombre de salariés (Paie)', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBSALCDD', 'Nombre de salariés en CDD', 'v_contrats_mois_1', 'DISTINCT (CASE WHEN type_contrat_section_code[9] = ''CDD'' THEN salarie_id ELSE null END)', '1', 'Salariés CDD', 'COUNT', '', 80, 'Nombre de salariés en CDD', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBSALCNT', 'Nombre de salariés (Contrats)', 'v_contrats_mois_1', 'DISTINCT salarie_id', '1', 'Salariés', 'COUNT', '', 80, 'Nombre de salariés', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBSALCNTFR', 'Nombre de Français (Contrat)', 'v_contrats_mois_1', 'DISTINCT (CASE WHEN nationalite_section_code[9] = ''FR'' THEN salarie_id ELSE null END)', '1', 'NB de Français', 'COUNT', '', 0, 'Nombre de Français', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NBSALPAIEFR', 'Nombre de Français (Paie)', 'v_historique_paie_1', 'DISTINCT (CASE WHEN nationalite_section_code[9] = ''FR'' THEN salarie_id ELSE null END)', '1', 'NB de Français', 'COUNT', '', 0, 'Nombre de Français', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NB_PRE', 'Nombre de prime de précarité', 'v_historique_paie_1', 'DISTINCT CASE WHEN rubrique_id IN [LISTE:CTI_EXP_PRE] THEN salarie_id ELSE null END', '1', 'Prime de précarité', 'COUNT', '', 0, 'Nombre de prime de précarité', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NB_RET', 'Nombre de départ à la retraite', 'v_historique_paie_1', 'DISTINCT CASE WHEN rubrique_id IN [LISTE:CTI_EXP_RET] THEN salarie_id ELSE null END', '1', 'Départ à la retraite', 'COUNT', '', 0, 'Nombre de départ à la retraite', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NDSAL', 'Nombre NON DISTINCT de salariés', 'v_contrats_mois_1', 'salarie_id', '1', 'Nombre NON DISTINCT de salariés', 'COUNT', '', 0, 'Nombre NON DISTINCT de salariés', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NOUVSALS', 'Nouveaux salariés', 'v_contrats_mois_1', 'DISTINCT (CASE WHEN nombre_entrees = 1 THEN salarie_id ELSE null END)', '1', 'Nouveaux salariés', 'COUNT', '', 0, 'Nouveaux salariés', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_NVXCNT', 'Nombre de nouveaux contrats', 'v_contrats_mois_1', 'DISTINCT (CASE WHEN nombre_debut_contrat > 0 THEN contrat_id ELSE null END)', '1', 'Nouveaux contrats', 'COUNT', '', 0, 'Nombre de nouveaux contrats', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_PCDD', '% de CDD', '*CALC', 'base.cti_division([1], [2]) * 100', '1', '% CDD', '*CALC', '#,0%', 0, '% de CDD/nb de contrat', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_NBCONTRATCDD', 'CTI_NBCNT', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_PCDI', '% de CDI', '*CALC', 'base.cti_division([1], [2]) * 100', '1', '% CDI', '*CALC', '#,0%', 0, '% de CDI/nb de contrat', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_NBCONTRATCDI', 'CTI_NBCNT', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_PCTFEMMECNT', '% de femmes', '*CALC', 'base.cti_division([1], [2]) * 100', '1', '% de femmes', '*CALC', '#,0%', 0, '% de femmes', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_NBFEMMECNT', 'CTI_NBSALCNT', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_PRESENCE_PAIE_PAS_PLANNING', 'Liste des salariés présents en paie mais pas au planning', 'v_presence_salaries_1', 'CASE WHEN present_paie= true AND present_planning = false THEN 1 ELSE 0 END', '1', '', 'SUM', '#', 0, '', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_PRESENCE_PLANNING_PAS_PAIE', 'Liste des personnes présentes au planning mais pas en paie', 'v_presence_salaries_1', 'CASE WHEN present_paie= false AND present_planning = true THEN 1 ELSE 0 END', '1', '', 'SUM', '#', 0, '', '4', ' ', ' ', ' ', ' ', '4', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_QUA', 'Qualité - Qualification', 'v_contrats_mois_1', 'DISTINCT CASE WHEN qualification_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Qualification', 'COUNT', '', 0, 'Qualification', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_RAPPORTCALC', 'Calcul d''indicateurs dans le rapport', '*RAPPORTCALC', '', '1', '', 'sum', '#', 0, '', '0', ' ', ' ', ' ', ' ', '0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_ROTATIONEMP', 'Rotation de l''emploi', '*CALC', 'base.cti_division((([1] + [2]) / 2), [3]) * 100', '1', 'Rotation de l''emploi', '*CALC', '#,0%', 0, 'Rotation de l''emploi', ' ', ' ', ' ', ' ', ' ', ' ', 'CTI_NOUVSALS', 'CTI_SALPARTISSP', 'CTI_EFFPJPER', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_SAC', 'Qualité - Section analytique comptable', 'v_contrats_mois_1', 'DISTINCT CASE WHEN section_analytique_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Section analytique comptable', 'COUNT', '', 0, 'Section analytique comptable', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_SAGE', 'Somme Ages pour Age moyen', 'v_contrats_mois_1', 'DISTINCT ARRAY[salarie_id::numeric, age_id::numeric]', '1', 'Somme Ages pour Age moyen', 'base.cti_sum_distinct_on', '#,0', 0, 'Somme Ages pour Age moyen', '1', ' ', ' ', ' ', ' ', '1', 'CTI_AGESUM', 'CTI_NDSAL', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_SAL60', 'Nombre de salariés 60 ans et +', 'v_contrats_mois_1', 'DISTINCT CASE WHEN rhp_age_id >= 60 THEN salarie_id ELSE null END', '1', 'Salariés 60 ans et +', 'COUNT', '', 0, 'Nombre de salariés 60 ans et +', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_SALCHGMOY', 'Salaire Moyen Chargé', '*CALC', 'base.cti_division([1], [2])', '1', 'Salaire Chargé Moyen', '*CALC', '', 0, 'Salaire Chargé Moyen', ' ', ' ', ' ', ' ', ' ', ' ', 'CTINETAPAYER', 'CTI_ETPPAYE', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_SALCHGMOYH', 'Salaire Horaire Chargé Moyen', '*CALC', 'base.cti_division([1], [2])', '1', 'Salaire Chargé Moyen', '*CALC', '', 0, 'Salaire Chargé Moyen', ' ', ' ', ' ', ' ', ' ', ' ', 'CTIMASSMOY', 'CTIHP', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_SALPARTISSP', 'Salarié partis sur la période', 'v_contrats_mois_1', 'DISTINCT (CASE WHEN nombre_departs = 1 THEN salarie_id ELSE null END)', '1', 'Salarié partis /période', 'COUNT', '', 0, 'Salarié partis sur la période', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_SAP', 'Qualité - Section analytique paie', 'v_contrats_mois_1', 'DISTINCT CASE WHEN section_analytique_paie_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Section analytique paie', 'COUNT', '', 0, 'Section analytique paie', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_SEP', 'Séparateur', 'SEP', '', '1', '', 'SUM', '', 0, '', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_SER', 'Qualité - Service', 'v_contrats_mois_1', 'DISTINCT CASE WHEN service_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Service', 'COUNT', '', 0, 'Service', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_SEX', 'Qualité - Sexe', 'v_contrats_mois_1', 'DISTINCT CASE WHEN sexe_id = 0 THEN salarie_id ELSE null END', '1', 'Sexe', 'COUNT', '', 0, 'Sexe', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_SFA', 'Qualité - Situation de famille', 'v_contrats_mois_1', 'DISTINCT CASE WHEN situation_famille_id = 0 THEN salarie_id ELSE null END', '1', 'Situation de famille', 'COUNT', '', 0, 'Situation de famille', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_SIN', 'Qualité - Société d''interim', 'v_contrats_mois_1', 'DISTINCT CASE WHEN societe_interim_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Société d''interim', 'COUNT', '', 0, 'Société d''interim', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_SPE', 'Qualité - Spécialité', 'v_contrats_mois_1', 'DISTINCT CASE WHEN specialite_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Spécialité', 'COUNT', '', 0, 'Spécialité', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_STA', 'Qualité - Statut', 'v_contrats_mois_1', 'DISTINCT CASE WHEN statut_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Statut', 'COUNT', '', 0, 'Statut', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_TCNT', 'Qualité - Type de contrat', 'v_contrats_mois_1', 'DISTINCT CASE WHEN type_contrat_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Type de contrat', 'COUNT', '', 0, 'Type de contrat', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_THO', 'Qualité - Type horaire', 'v_contrats_mois_1', 'DISTINCT CASE WHEN type_horaire_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Type horaire', 'COUNT', '', 0, 'Type horaire', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_TRACDI', 'Transformation CDI', 'v_contrats_mois_1', 'DISTINCT case when nombre_transformation_cdi = ''1'' then salarie_id else null end', '1', 'Transformation CDI', 'COUNT', '', 0, 'Transformation CDI', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_TTT', 'Qualité - Type de temps de travail', 'v_contrats_mois_1', 'DISTINCT CASE WHEN type_temps_travail_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Type de temps de travail', 'COUNT', '', 0, 'Type de temps de travail', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), | |||||
| (1, 'CTI_UFO', 'Qualité - Unité fonctionnelle', 'v_contrats_mois_1', 'DISTINCT CASE WHEN unite_fonctionnelle_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END', '1', 'Unité fonctionnelle', 'COUNT', '', 0, 'Unité fonctionnelle', '1', ' ', ' ', ' ', ' ', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| DELETE FROM rh.t_indicateurs | |||||
| USING | |||||
| ( | |||||
| SELECT code, MIN(oid) AS minoid FROM rh.t_indicateurs WHERE code <> '' GROUP BY 1 HAVING count(*) > 1 | |||||
| ) subview | |||||
| WHERE t_indicateurs.code = subview.code AND t_indicateurs.oid <> subview.minoid | |||||
| ; | |||||
| UPDATE rh.t_indicateurs SET | |||||
| texte = w_dbsetup.texte, | |||||
| table_name = w_dbsetup.table_name, | |||||
| column_name = w_dbsetup.column_name, | |||||
| is_cti = w_dbsetup.is_cti, | |||||
| entete = w_dbsetup.entete, | |||||
| entete_etendue = w_dbsetup.entete_etendue, | |||||
| total_function = w_dbsetup.total_function, | |||||
| output_format = w_dbsetup.output_format, | |||||
| width = w_dbsetup.width, | |||||
| dimension_date_1 = w_dbsetup.dimension_date_1, | |||||
| dimension_date_2 = w_dbsetup.dimension_date_2, | |||||
| dimension_date_3 = w_dbsetup.dimension_date_3, | |||||
| dimension_date_4 = w_dbsetup.dimension_date_4, | |||||
| dimension_date_5 = w_dbsetup.dimension_date_5, | |||||
| dimension_date = w_dbsetup.dimension_date | |||||
| FROM w_dbsetup | |||||
| WHERE t_indicateurs.code = w_dbsetup.code | |||||
| ; | |||||
| INSERT INTO rh.t_indicateurs(texte, table_name, column_name, is_cti, entete, entete_etendue, code, total_function, output_format, width, | |||||
| dimension_date_1, dimension_date_2, dimension_date_3, dimension_date_4, dimension_date_5, dimension_date) | |||||
| SELECT texte, table_name, column_name, is_cti, entete, entete_etendue, code, total_function, output_format, width, | |||||
| dimension_date_1, dimension_date_2, dimension_date_3, dimension_date_4, dimension_date_5, dimension_date | |||||
| FROM w_dbsetup WHERE oid <> 0 AND code NOT IN (SELECT code FROM rh.t_indicateurs WHERE code IS NOT NULL) | |||||
| ; | |||||
| UPDATE rh.t_indicateurs SET | |||||
| indicateur_associe_1_id = COALESCE(t_indicateurs_1.oid,0), | |||||
| indicateur_associe_2_id = COALESCE(t_indicateurs_2.oid,0), | |||||
| indicateur_associe_3_id = COALESCE(t_indicateurs_3.oid,0), | |||||
| indicateur_associe_4_id = COALESCE(t_indicateurs_4.oid,0), | |||||
| indicateur_associe_5_id = COALESCE(t_indicateurs_5.oid,0), | |||||
| indicateur_associe_6_id = COALESCE(t_indicateurs_6.oid,0), | |||||
| indicateur_associe_7_id = COALESCE(t_indicateurs_7.oid,0), | |||||
| indicateur_associe_8_id = COALESCE(t_indicateurs_8.oid,0), | |||||
| indicateur_associe_9_id = COALESCE(t_indicateurs_9.oid,0), | |||||
| indicateur_associe_10_id = COALESCE(t_indicateurs_10.oid,0), | |||||
| indicateur_associe_11_id = COALESCE(t_indicateurs_11.oid,0), | |||||
| indicateur_associe_12_id = COALESCE(t_indicateurs_12.oid,0), | |||||
| indicateur_associe_13_id = COALESCE(t_indicateurs_13.oid,0), | |||||
| indicateur_associe_14_id = COALESCE(t_indicateurs_14.oid,0), | |||||
| indicateur_associe_15_id = COALESCE(t_indicateurs_15.oid,0), | |||||
| indicateur_associe_16_id = COALESCE(t_indicateurs_16.oid,0), | |||||
| indicateur_associe_17_id = COALESCE(t_indicateurs_17.oid,0), | |||||
| indicateur_associe_18_id = COALESCE(t_indicateurs_18.oid,0), | |||||
| indicateur_associe_19_id = COALESCE(t_indicateurs_19.oid,0), | |||||
| indicateur_associe_20_id = COALESCE(t_indicateurs_20.oid,0), | |||||
| indicateur_reference_id = COALESCE(t_indicateurs_reference.oid,0) | |||||
| FROM w_dbsetup | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_1 ON (w_dbsetup.indicateur_associe_1_code = t_indicateurs_1.code AND w_dbsetup.indicateur_associe_1_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_2 ON (w_dbsetup.indicateur_associe_2_code = t_indicateurs_2.code AND w_dbsetup.indicateur_associe_2_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_3 ON (w_dbsetup.indicateur_associe_3_code = t_indicateurs_3.code AND w_dbsetup.indicateur_associe_3_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_4 ON (w_dbsetup.indicateur_associe_4_code = t_indicateurs_4.code AND w_dbsetup.indicateur_associe_4_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_5 ON (w_dbsetup.indicateur_associe_5_code = t_indicateurs_5.code AND w_dbsetup.indicateur_associe_5_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_6 ON (w_dbsetup.indicateur_associe_6_code = t_indicateurs_6.code AND w_dbsetup.indicateur_associe_6_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_7 ON (w_dbsetup.indicateur_associe_7_code = t_indicateurs_7.code AND w_dbsetup.indicateur_associe_7_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_8 ON (w_dbsetup.indicateur_associe_8_code = t_indicateurs_8.code AND w_dbsetup.indicateur_associe_8_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_9 ON (w_dbsetup.indicateur_associe_9_code = t_indicateurs_9.code AND w_dbsetup.indicateur_associe_9_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_10 ON (w_dbsetup.indicateur_associe_10_code = t_indicateurs_10.code AND w_dbsetup.indicateur_associe_10_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_11 ON (w_dbsetup.indicateur_associe_11_code = t_indicateurs_11.code AND w_dbsetup.indicateur_associe_11_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_12 ON (w_dbsetup.indicateur_associe_12_code = t_indicateurs_12.code AND w_dbsetup.indicateur_associe_12_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_13 ON (w_dbsetup.indicateur_associe_13_code = t_indicateurs_13.code AND w_dbsetup.indicateur_associe_13_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_14 ON (w_dbsetup.indicateur_associe_14_code = t_indicateurs_14.code AND w_dbsetup.indicateur_associe_14_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_15 ON (w_dbsetup.indicateur_associe_15_code = t_indicateurs_15.code AND w_dbsetup.indicateur_associe_15_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_16 ON (w_dbsetup.indicateur_associe_16_code = t_indicateurs_16.code AND w_dbsetup.indicateur_associe_16_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_17 ON (w_dbsetup.indicateur_associe_17_code = t_indicateurs_17.code AND w_dbsetup.indicateur_associe_17_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_18 ON (w_dbsetup.indicateur_associe_18_code = t_indicateurs_18.code AND w_dbsetup.indicateur_associe_18_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_19 ON (w_dbsetup.indicateur_associe_19_code = t_indicateurs_19.code AND w_dbsetup.indicateur_associe_19_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_20 ON (w_dbsetup.indicateur_associe_20_code = t_indicateurs_20.code AND w_dbsetup.indicateur_associe_20_code <> '') | |||||
| LEFT JOIN rh.t_indicateurs t_indicateurs_reference ON (w_dbsetup.indicateur_reference_code = t_indicateurs_reference.code AND w_dbsetup.indicateur_reference_code <> '') | |||||
| WHERE t_indicateurs.code = w_dbsetup.code | |||||
| AND (indicateur_associe_1_code <> '' OR | |||||
| indicateur_associe_2_code <> '' OR | |||||
| indicateur_associe_3_code <> '' OR | |||||
| indicateur_reference_code <> '') | |||||
| ; | |||||
| SELECT base.cti_reorganize_indicateurs('rh') | |||||
| ; | |||||
| @ -0,0 +1,73 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| t_listes.oid, | |||||
| t_listes.texte, | |||||
| t_listes.chapitre, | |||||
| t_listes.code, | |||||
| t_listes.is_cti, | |||||
| t_listes.show_omit, | |||||
| t_listes.utilisateur_createur, | |||||
| t_listes.est_partagee_modification, | |||||
| t_listes_tables.name as table_name | |||||
| FROM | |||||
| rh.t_listes, | |||||
| rh.t_listes_tables | |||||
| WHERE 1=1 | |||||
| AND is_cti = '1' | |||||
| AND t_listes.code != '' | |||||
| AND table_id = t_listes_tables.oid | |||||
| ORDER BY t_listes.code | |||||
| LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| oid, | |||||
| texte, | |||||
| chapitre, | |||||
| code, | |||||
| is_cti, | |||||
| show_omit, | |||||
| utilisateur_createur, | |||||
| est_partagee_modification, | |||||
| table_name | |||||
| ) | |||||
| VALUES | |||||
| (1, 'Primes à périodicité non mensuelle - Bilan Social', '', 'CTI_BS_PPNM', '1', '1', '*CTI', '1', 't_rubriques'), | |||||
| (1, 'Eléments exceptionnels : Rupture de contrat : OD/Net.', 'Elements exceptionnels', 'CTI_EXP_CNT', '1', '1', '*CTI', '1', 't_rubriques'), | |||||
| (1, 'IJSS : Payé SS / OD/Net.', 'Elements exceptionnels', 'CTI_EXP_IJS', '1', '1', '*CTI', '1', 't_rubriques'), | |||||
| (1, 'Eléments exceptionnels : Prime de précarité', 'Elements exceptionnels', 'CTI_EXP_PRE', '1', '1', '*CTI', '1', 't_rubriques'), | |||||
| (1, 'Eléments exceptionnels : Retraite', 'Elements exceptionnels', 'CTI_EXP_RET', '1', '1', '*CTI', '1', 't_rubriques'), | |||||
| (1, 'Elements exceptionnels Retraite et rupture.', 'Elements exceptionnels', 'CTI_EXP_RRU', '1', '1', '*CTI', '1', 't_rubriques'), | |||||
| (1, 'Heures contrat', 'Paramétrage', 'CTI_HCNT', '1', '0', '*CTI', '1', 't_rubriques'), | |||||
| (1, 'Pegase forfaits jours', 'Paramétrage', 'CTI_PEGASE_FTJ', '1', '0', '*CTI', '1', 't_rubriques') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| 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, | |||||
| utilisateur_createur = w_dbsetup.utilisateur_createur, | |||||
| est_partagee_modification = w_dbsetup.est_partagee_modification | |||||
| FROM w_dbsetup, rh.t_listes_tables | |||||
| WHERE w_dbsetup.table_name = t_listes_tables.name and t_listes.code = w_dbsetup.code | |||||
| ; | |||||
| INSERT INTO rh.t_listes(code, texte, chapitre, table_id, is_cti, show_omit, 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.utilisateur_createur, w_dbsetup.est_partagee_modification | |||||
| FROM w_dbsetup, rh.t_listes_tables | |||||
| WHERE 1=1 | |||||
| AND w_dbsetup.table_name = t_listes_tables.name | |||||
| AND w_dbsetup.code NOT IN (SELECT code FROM rh.t_listes) | |||||
| AND w_dbsetup.texte NOT LIKE '*SUPPRIME%' | |||||
| ; | |||||
| DELETE FROM rh.t_listes WHERE texte like '*SUPPRIME%' AND is_cti = '1' | |||||
| ; | |||||
| @ -0,0 +1,473 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| oid, | |||||
| name, | |||||
| texte, | |||||
| select_cmd, | |||||
| code | |||||
| FROM rh.t_listes_tables | |||||
| ORDER BY code | |||||
| LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| oid, | |||||
| name, | |||||
| texte, | |||||
| select_cmd, | |||||
| code | |||||
| ) | |||||
| VALUES | |||||
| (1, 't_ages', 'Age', 'SELECT t_ages.oid, t_ages.code, t_ages.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_ages LEFT JOIN rh.p_oids ON (t_ages.oid = p_oids.oid AND code_table = ''ages'') | |||||
| WHERE t_ages.oid > 0 | |||||
| ORDER BY t_ages.code', 'AGE'), | |||||
| (1, 't_section_analytique', 'Section analytique NG', 'SELECT t_section_analytique.oid, | |||||
| t_section_analytique.code, | |||||
| t_section_analytique.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_section_analytique | |||||
| LEFT JOIN rh.p_oids ON (t_section_analytique.oid = p_oids.oid AND code_table = ''section_analytique'') | |||||
| WHERE t_section_analytique.oid > 0 | |||||
| ORDER BY t_section_analytique.code', 'ANA'), | |||||
| (1, 't_anciennetes_annee', 'Ancienneté', 'SELECT t_anciennetes_annee.oid, t_anciennetes_annee.code, t_anciennetes_annee.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_anciennetes_annee LEFT JOIN rh.p_oids ON (t_anciennetes_annee.oid = p_oids.oid AND code_table = ''anciennete_annee'') | |||||
| ORDER BY t_anciennetes_annee.code', 'ANC'), | |||||
| (1, 't_accident_circonstance', '[DICT.RH.CIRCONSTANCE] accident du travail', 'SELECT t_accident_circonstance.oid, | |||||
| t_accident_circonstance.code, | |||||
| t_accident_circonstance.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_accident_circonstance | |||||
| LEFT JOIN rh.p_oids ON (t_accident_circonstance.oid = p_oids.oid AND code_table = ''accident_circonstance'') | |||||
| WHERE t_accident_circonstance.oid > 0 | |||||
| ORDER BY t_accident_circonstance.code', 'ATC'), | |||||
| (1, 't_accident_lieu', '[DICT.RH.LIEU] accident du travail', 'SELECT t_accident_lieu.oid, | |||||
| t_accident_lieu.code, | |||||
| t_accident_lieu.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_accident_lieu | |||||
| LEFT JOIN rh.p_oids ON (t_accident_lieu.oid = p_oids.oid AND code_table = ''accident_lieu'') | |||||
| WHERE t_accident_lieu.oid > 0 | |||||
| ORDER BY t_accident_lieu.code', 'ATL'), | |||||
| (1, 't_accident_nature', 'Nature accident du travail', 'SELECT t_accident_nature.oid, | |||||
| t_accident_nature.code, | |||||
| t_accident_nature.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_accident_nature | |||||
| LEFT JOIN rh.p_oids ON (t_accident_nature.oid = p_oids.oid AND code_table = ''accident_nature'') | |||||
| WHERE t_accident_nature.oid > 0 | |||||
| ORDER BY t_accident_nature.code', 'ATN'), | |||||
| (1, 't_accident_siege', 'Siège accident du travail', 'SELECT t_accident_siege.oid, | |||||
| t_accident_siege.code, | |||||
| t_accident_siege.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_accident_siege | |||||
| LEFT JOIN rh.p_oids ON (t_accident_siege.oid = p_oids.oid AND code_table = ''accident_siege'') | |||||
| WHERE t_accident_siege.oid > 0 | |||||
| ORDER BY t_accident_siege.code', 'ATS'), | |||||
| (1, 't_categorie_conge', 'Catégorie de congé', 'SELECT t_categorie_conge.oid, | |||||
| t_categorie_conge.code, | |||||
| t_categorie_conge.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_categorie_conge | |||||
| LEFT JOIN rh.p_oids ON (t_categorie_conge.oid = p_oids.oid AND code_table = ''categorie_conge'') | |||||
| WHERE t_categorie_conge.oid > 0 | |||||
| ORDER BY t_categorie_conge.code', 'CAC'), | |||||
| (1, 't_cadre_emploi', 'Cadre d''emploi', 'SELECT t_cadre_emploi.oid, | |||||
| t_cadre_emploi.code, | |||||
| t_cadre_emploi.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_cadre_emploi | |||||
| LEFT JOIN rh.p_oids ON (t_cadre_emploi.oid = p_oids.oid AND code_table = ''cadre_emploi'') | |||||
| WHERE t_cadre_emploi.oid > 0 | |||||
| ORDER BY t_cadre_emploi.code', 'CAE'), | |||||
| (1, 't_categorie_statutaire', 'Catégorie statutaire', 'SELECT t_categorie_statutaire.oid, | |||||
| t_categorie_statutaire.code, | |||||
| t_categorie_statutaire.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_categorie_statutaire | |||||
| LEFT JOIN rh.p_oids ON (t_categorie_statutaire.oid = p_oids.oid AND code_table = ''categorie_statutaire'') | |||||
| WHERE t_categorie_statutaire.oid > 0 | |||||
| ORDER BY t_categorie_statutaire.code', 'CAS'), | |||||
| (1, 't_codes_emploi', '[DICT.RH.CODE_EMPLOI]', 'SELECT t_codes_emploi.oid, t_codes_emploi.code, t_codes_emploi.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_codes_emploi LEFT JOIN rh.p_oids ON (t_codes_emploi.oid = p_oids.oid AND code_table = ''codes_emploi'') | |||||
| WHERE t_codes_emploi.oid > 0 | |||||
| ORDER BY t_codes_emploi.code', 'CEM'), | |||||
| (1, 't_compte_imputation', 'Compte d''imputation', 'SELECT t_compte_imputation.oid, | |||||
| t_compte_imputation.code, | |||||
| t_compte_imputation.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_compte_imputation | |||||
| LEFT JOIN rh.p_oids ON (t_compte_imputation.oid = p_oids.oid AND code_table = ''compte_imputation'') | |||||
| WHERE t_compte_imputation.oid > 0 | |||||
| ORDER BY t_compte_imputation.code', 'COI'), | |||||
| (1, 't_code_cotisation', 'Code cotisation', 'SELECT t_code_cotisation.oid, | |||||
| t_code_cotisation.code, | |||||
| t_code_cotisation.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_code_cotisation | |||||
| LEFT JOIN rh.p_oids ON (t_code_cotisation.oid = p_oids.oid AND code_table = ''code_cotisation'') | |||||
| WHERE t_code_cotisation.oid > 0 | |||||
| ORDER BY t_code_cotisation.code', 'COT'), | |||||
| (1, 't_codes_postaux', 'Code postal', 'SELECT t_codes_postaux.oid, t_codes_postaux.code, t_codes_postaux.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_codes_postaux LEFT JOIN rh.p_oids ON (t_codes_postaux.oid = p_oids.oid AND code_table = ''codes_postaux'') | |||||
| WHERE t_codes_postaux.oid > 0 | |||||
| ORDER BY t_codes_postaux.code', 'CPO'), | |||||
| (1, 't_compte', 'Compte', 'SELECT t_compte.oid, | |||||
| t_compte.code, | |||||
| t_compte.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_compte | |||||
| LEFT JOIN rh.p_oids ON (t_compte.oid = p_oids.oid AND code_table = ''compte'') | |||||
| WHERE t_compte.oid > 0 | |||||
| ORDER BY t_compte.code', 'CPT'), | |||||
| (1, 't_categories_socio_professionnelles', '[DICT.RH.CATEGORIE_SOC_PRO]', 'SELECT t_categories_socio_professionnelle.oid, t_categories_socio_professionnelle.code, t_categories_socio_professionnelle.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_categories_socio_professionnelle LEFT JOIN rh.p_oids ON (t_categories_socio_professionnelle.oid = p_oids.oid AND code_table = ''categories_socio_professionnelle'') | |||||
| WHERE t_categories_socio_professionnelle.oid > 0 | |||||
| ORDER BY t_categories_socio_professionnelle.code', 'CSC'), | |||||
| (1, 't_etablissements', 'Etablissement', 'SELECT t_etablissements.oid, | |||||
| t_etablissements.code, | |||||
| t_etablissements.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_etablissements | |||||
| LEFT JOIN rh.p_oids ON (t_etablissements.oid = p_oids.oid AND code_table = ''etablissements'') | |||||
| WHERE t_etablissements.oid > 0 | |||||
| ORDER BY t_etablissements.code', 'ETS'), | |||||
| (1, 't_filiere', 'Filière', 'SELECT t_filiere.oid, | |||||
| t_filiere.code, | |||||
| t_filiere.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_filiere | |||||
| LEFT JOIN rh.p_oids ON (t_filiere.oid = p_oids.oid AND code_table = ''filiere'') | |||||
| WHERE t_filiere.oid > 0 | |||||
| ORDER BY t_filiere.code', 'FIL'), | |||||
| (1, 't_liste_formations', 'Liste des formations', 'SELECT t_liste_formations.oid, | |||||
| t_liste_formations.code, | |||||
| t_liste_formations.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_liste_formations | |||||
| LEFT JOIN rh.p_oids ON (t_liste_visites.oid = p_oids.oid AND code_table = ''liste_formations'') | |||||
| WHERE t_liste_formations.oid > 0 | |||||
| ORDER BY t_liste_formations.code', 'FOR'), | |||||
| (1, 't_commission_paritaire', 'Groupe de commission paritaire', 'SELECT t_commission_paritaire.oid, | |||||
| t_commission_paritaire.code, | |||||
| t_commission_paritaire.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_commission_paritaire | |||||
| LEFT JOIN rh.p_oids ON (t_commission_paritaire.oid = p_oids.oid AND code_table = ''commission_paritaire'') | |||||
| WHERE t_commission_paritaire.oid > 0 | |||||
| ORDER BY t_commission_paritaire.code', 'GCP'), | |||||
| (1, 't_groupes_cotisant', '[DICT.RH.GROUPE_COTISANT]', 'SELECT t_groupes_cotisant.oid, t_groupes_cotisant.code, t_groupes_cotisant.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_groupes_cotisant LEFT JOIN rh.p_oids ON (t_groupes_cotisant.oid = p_oids.oid AND code_table = ''groupes_cotisant'') | |||||
| WHERE t_groupes_cotisant.oid > 0 | |||||
| ORDER BY t_groupes_cotisant.code', 'GCT'), | |||||
| (1, 't_grilles_groupes', '[DICT.RH.GROUPE_GRILLE]', 'SELECT t_grilles_groupes.oid, | |||||
| t_grilles_groupes.code, | |||||
| t_grilles_groupes.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_grilles_groupes | |||||
| LEFT JOIN rh.p_oids ON (t_grilles_groupes.oid = p_oids.oid AND code_table = ''grilles_groupes'') | |||||
| WHERE t_grilles_groupes.oid > 0 | |||||
| ORDER BY t_grilles_groupes.code', 'GRG'), | |||||
| (1, 't_grilles', '[DICT.RH.GRILLE]', 'SELECT t_grilles.oid, | |||||
| t_grilles.code, | |||||
| t_grilles.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_grilles | |||||
| LEFT JOIN rh.p_oids ON (t_grilles.oid = p_oids.oid AND code_table = ''grilles'') | |||||
| WHERE t_grilles.oid > 0 | |||||
| ORDER BY t_grilles.code', 'GRI'), | |||||
| (1, 't_lettre_budgetaire', 'Lettre Budgétaire', 'SELECT t_lettre_budgetaire.oid, | |||||
| t_lettre_budgetaire.code, | |||||
| t_lettre_budgetaire.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_lettre_budgetaire | |||||
| LEFT JOIN rh.p_oids ON (t_lettre_budgetaire.oid = p_oids.oid AND code_table = ''lettre_budgetaire'') | |||||
| WHERE t_lettre_budgetaire.oid > 0 | |||||
| ORDER BY t_lettre_budgetaire.code', 'LEB'), | |||||
| (1, 't_motifs_arret', 'Motif [DICT.RH.ARRET_TRAVAIL#2]', 'SELECT t_motifs_arret.oid, | |||||
| t_motifs_arret.code, | |||||
| t_motifs_arret.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_motifs_arret | |||||
| LEFT JOIN rh.p_oids ON (t_motifs_arret.oid = p_oids.oid AND code_table = ''motifs_arret'') | |||||
| WHERE t_motifs_arret.oid > 0 | |||||
| ORDER BY t_motifs_arret.code', 'MOA'), | |||||
| (1, 't_motifs_debut_contrat', '[DICT.RH.MOTIF_DEBUT#1] [DICT.RH.CONTRAT#2]', 'SELECT t_motifs_debut_contrat.oid, t_motifs_debut_contrat.code, t_motifs_debut_contrat.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_motifs_debut_contrat LEFT JOIN rh.p_oids ON (t_motifs_debut_contrat.oid = p_oids.oid AND code_table = ''motifs_debut_contrat'') | |||||
| WHERE t_motifs_debut_contrat.oid > 0 | |||||
| ORDER BY t_motifs_debut_contrat.code', 'MTD'), | |||||
| (1, 't_motifs_fin_contrat', 'Motif fin [DICT.RH.CONTRAT#2]', 'SELECT t_motifs_fin_contrat.oid, t_motifs_fin_contrat.code, t_motifs_fin_contrat.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_motifs_fin_contrat LEFT JOIN rh.p_oids ON (t_motifs_fin_contrat.oid = p_oids.oid AND code_table = ''motifs_fin_contrat'') | |||||
| WHERE t_motifs_fin_contrat.oid > 0 | |||||
| ORDER BY t_motifs_fin_contrat.code', 'MTF'), | |||||
| (1, 't_motifs_visite', 'Motif visite médicale', 'SELECT t_motifs_visite.oid, | |||||
| t_motifs_visite.code, | |||||
| t_motifs_visite.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_motifs_visite | |||||
| LEFT JOIN rh.p_oids ON (t_motifs_visite.oid = p_oids.oid AND code_table = ''motifs_visite'') | |||||
| WHERE t_motifs_visite.oid > 0 | |||||
| ORDER BY t_motifs_visite.code', 'MVM'), | |||||
| (1, 't_nationalites', 'Nationalité', 'SELECT t_nationalites.oid, | |||||
| t_nationalites.code, | |||||
| t_nationalites.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_nationalites | |||||
| LEFT JOIN rh.p_oids ON (t_nationalites.oid = p_oids.oid AND code_table = ''nationalites'') | |||||
| WHERE t_nationalites.oid > 0 | |||||
| ORDER BY t_nationalites.code', 'NAT'), | |||||
| (1, 't_organismes_cotisation', '[DICT.RH.ORGANISME_COTISATION]', 'SELECT t_organismes_cotisation.oid, t_organismes_cotisation.code, t_organismes_cotisation.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_organismes_cotisation LEFT JOIN rh.p_oids ON (t_organismes_cotisation.oid = p_oids.oid AND code_table = ''organismes_cotisation'') | |||||
| WHERE t_organismes_cotisation.oid > 0 | |||||
| ORDER BY t_organismes_cotisation.code', 'ORC'), | |||||
| (1, 't_planning_type_absence', 'Type d''absences (planning)', 'SELECT t_planning_type_absence.oid, | |||||
| t_planning_type_absence.code, | |||||
| t_planning_type_absence.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_planning_type_absence | |||||
| LEFT JOIN rh.p_oids ON (t_planning_type_absence.oid = p_oids.oid AND code_table = ''planning_type_absence'') | |||||
| WHERE t_planning_type_absence.oid > 0 | |||||
| ORDER BY t_planning_type_absence.code', 'PAB'), | |||||
| (1, 't_planning_code_horaire', 'Code Horaire (planning)', 'SELECT t_planning_code_horaire.oid, | |||||
| t_planning_code_horaire.code, | |||||
| t_planning_code_horaire.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_planning_code_horaire | |||||
| LEFT JOIN rh.p_oids ON (t_planning_code_horaire.oid = p_oids.oid AND code_table = ''planning_code_horaire'') | |||||
| WHERE t_planning_code_horaire.oid > 0 | |||||
| ORDER BY t_planning_code_horaire.code', 'PCH'), | |||||
| (1, 't_planning_niveau', '[DICT.RH.NIVEAU#3]', 'SELECT t_planning_niveau.oid, | |||||
| t_planning_niveau.code, | |||||
| t_planning_niveau.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_planning_niveau | |||||
| LEFT JOIN rh.p_oids ON (t_planning_niveau.oid = p_oids.oid AND code_table = ''t_planning_niveau'') | |||||
| WHERE t_planning_niveau.oid > 0 | |||||
| ORDER BY t_planning_niveau.code', 'PNI'), | |||||
| (1, 't_population', 'Population', 'SELECT t_population.oid, | |||||
| t_population.code, | |||||
| t_population.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_population | |||||
| LEFT JOIN rh.p_oids ON (t_population.oid = p_oids.oid AND code_table = ''population'') | |||||
| WHERE t_population.oid > 0 | |||||
| ORDER BY t_population.code', 'POP'), | |||||
| (1, 't_planning_qualification', 'Qualifications (planning)', 'SELECT t_planning_qualification.oid, | |||||
| t_planning_qualification.code, | |||||
| t_planning_qualification.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_planning_qualification | |||||
| LEFT JOIN rh.p_oids ON (t_planning_qualification.oid = p_oids.oid AND code_table = ''planning_qualification'') | |||||
| WHERE t_planning_qualification.oid > 0 | |||||
| ORDER BY t_planning_qualification.code', 'PQU'), | |||||
| (1, 't_planning_service', 'Services (planning)', 'SELECT t_planning_service.oid, | |||||
| t_planning_service.code, | |||||
| t_planning_service.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_planning_service | |||||
| LEFT JOIN rh.p_oids ON (t_planning_service.oid = p_oids.oid AND code_table = ''planning_service'') | |||||
| WHERE t_planning_service.oid > 0 | |||||
| ORDER BY t_planning_service.code', 'PSE'), | |||||
| (1, 't_qualifications', 'Qualification', 'SELECT t_qualifications.oid, t_qualifications.code, t_qualifications.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_qualifications LEFT JOIN rh.p_oids ON (t_qualifications.oid = p_oids.oid AND code_table = ''qualifications'') | |||||
| WHERE t_qualifications.oid > 0 | |||||
| ORDER BY t_qualifications.code', 'QUA'), | |||||
| (1, 't_rubriques', 'Rubrique', 'SELECT t_rubriques.oid, t_rubriques.code, t_rubriques.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_rubriques LEFT JOIN rh.p_oids ON (t_rubriques.oid = p_oids.oid AND code_table = ''rubriques'') | |||||
| WHERE t_rubriques.oid > 0 | |||||
| ORDER BY t_rubriques.code', 'RUP'), | |||||
| (1, 't_sections_analytiques', '[DICT.RH.SECTION_ANA_CPT#1]', 'SELECT t_sections_analytiques.oid, t_sections_analytiques.code, t_sections_analytiques.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_sections_analytiques LEFT JOIN rh.p_oids ON (t_sections_analytiques.oid = p_oids.oid AND code_table = ''sections_analytiques'') | |||||
| WHERE t_sections_analytiques.oid > 0 | |||||
| ORDER BY t_sections_analytiques.code', 'SAC'), | |||||
| (1, 'p_salaries', '[DICT.RH.SALARIE]', 'SELECT v_salaries_1.salarie_id AS oid, v_salaries_1.salarie_code AS code, v_salaries_1.salarie_texte || CASE WHEN date_fin_contrat < ''20991231'' THEN '' ('' || date_fin_contrat || '')'' ELSE '''' END AS texte, qualification_texte || '' - ''|| service_texte as complement, ''O''::text as utilise | |||||
| FROM rh.v_salaries_1 | |||||
| ORDER BY v_salaries_1.salarie_code', 'SAL'), | |||||
| (1, 't_sections_analytiques_paie', '[DICT.RH.SECTION_ANA_PAIE#1]', 'SELECT t_sections_analytiques_paie.oid, t_sections_analytiques_paie.code, t_sections_analytiques_paie.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_sections_analytiques_paie LEFT JOIN rh.p_oids ON (t_sections_analytiques_paie.oid = p_oids.oid AND code_table = ''sections_analytiques_paie'') | |||||
| WHERE t_sections_analytiques_paie.oid > 0 | |||||
| ORDER BY t_sections_analytiques_paie.code', 'SAP'), | |||||
| (1, 't_services', '[DICT.RH.SERVICE]', 'SELECT t_services.oid, t_services.code, t_services.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_services LEFT JOIN rh.p_oids ON (t_services.oid = p_oids.oid AND code_table = ''services'') | |||||
| WHERE t_services.oid > 0 | |||||
| ORDER BY t_services.code', 'SER'), | |||||
| (1, 't_specialites', 'Spécialité', 'SELECT t_specialites.oid, t_specialites.code, t_specialites.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_specialites LEFT JOIN rh.p_oids ON (t_specialites.oid = p_oids.oid AND code_table = ''specialites'') | |||||
| WHERE t_specialites.oid > 0 | |||||
| ORDER BY t_specialites.code', 'SPE'), | |||||
| (1, 't_statuts', '[DICT.RH.STATUT]', 'SELECT t_statuts.oid, | |||||
| t_statuts.code, | |||||
| t_statuts.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_statuts | |||||
| LEFT JOIN rh.p_oids ON (t_statuts.oid = p_oids.oid AND code_table = ''statuts'') | |||||
| WHERE t_statuts.oid > 0 | |||||
| ORDER BY t_statuts.code', 'STA'), | |||||
| (1, 't_types_contrat', '[DICT.RH.TYPE_CONTRAT]', 'SELECT t_types_contrat.oid, t_types_contrat.code, t_types_contrat.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_types_contrat LEFT JOIN rh.p_oids ON (t_types_contrat.oid = p_oids.oid AND code_table = ''types_contrat'') | |||||
| WHERE t_types_contrat.oid > 0 | |||||
| ORDER BY t_types_contrat.code', 'TCN'), | |||||
| (1, 't_types_horaire', 'Type horaire', 'SELECT t_types_horaire.oid, t_types_horaire.code, t_types_horaire.texte, ''''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN ''O'' ELSE ''N'' END as utilise | |||||
| FROM rh.t_types_horaire LEFT JOIN rh.p_oids ON (t_types_horaire.oid = p_oids.oid AND code_table = ''types_horaire'') | |||||
| WHERE t_types_horaire.oid > 0 | |||||
| ORDER BY t_types_horaire.code', 'THO'), | |||||
| (1, 't_types_temps_travail', 'Type temps travail', 'SELECT t_types_temps_travail.oid, | |||||
| t_types_temps_travail.code, | |||||
| t_types_temps_travail.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_types_temps_travail | |||||
| LEFT JOIN rh.p_oids ON (t_types_temps_travail.oid = p_oids.oid AND code_table = ''types_temps_travail'') | |||||
| WHERE t_types_temps_travail.oid > 0 | |||||
| ORDER BY t_types_temps_travail.code', 'TTT'), | |||||
| (1, 't_unite_fonctionnelle', 'Unité fonctionnelle', 'SELECT t_unite_fonctionnelle.oid, | |||||
| t_unite_fonctionnelle.code, | |||||
| t_unite_fonctionnelle.texte, | |||||
| ''''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN ''O'' | |||||
| ELSE ''N'' | |||||
| END AS utilise | |||||
| FROM rh.t_unite_fonctionnelle | |||||
| LEFT JOIN rh.p_oids ON (t_unite_fonctionnelle.oid = p_oids.oid AND code_table = ''unite_fonctionnelle'') | |||||
| WHERE t_unite_fonctionnelle.oid > 0 | |||||
| ORDER BY t_unite_fonctionnelle.code', 'UNF') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| UPDATE rh.t_listes_tables SET | |||||
| code = w_dbsetup.code, | |||||
| texte = w_dbsetup.texte, | |||||
| select_cmd = w_dbsetup.select_cmd | |||||
| FROM w_dbsetup | |||||
| WHERE t_listes_tables.name = w_dbsetup.name | |||||
| ; | |||||
| INSERT INTO rh.t_listes_tables(oid, code, name, texte, select_cmd) | |||||
| SELECT oid, code, name, texte, select_cmd FROM w_dbsetup WHERE oid = 0 AND oid NOT IN (SELECT oid FROM rh.t_listes_tables) | |||||
| ; | |||||
| INSERT INTO rh.t_listes_tables(code, name, texte, select_cmd) | |||||
| SELECT code, name, texte, select_cmd FROM w_dbsetup WHERE oid <> 0 AND name NOT IN (SELECT name FROM rh.t_listes_tables) | |||||
| ; | |||||
| @ -0,0 +1,49 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| oid, | |||||
| code, | |||||
| texte, | |||||
| is_cti, | |||||
| is_essentiel | |||||
| FROM rh.t_rapports | |||||
| WHERE is_cti = '1' | |||||
| ORDER BY code | |||||
| LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| oid, | |||||
| code, | |||||
| texte, | |||||
| is_cti, | |||||
| is_essentiel | |||||
| ) | |||||
| VALUES | |||||
| (1, 'CTI_ESS_10', 'RH-Paie', '1', '1'), | |||||
| (1, 'CTI_ESS_11', 'Rémunérations', '1', '1'), | |||||
| (1, 'CTI_PF_AGG', 'CTI Portfolio', '1', '1'), | |||||
| (1, 'CTI_QUA', 'Qualité des données', '1', '0'), | |||||
| (1, 'RH1', 'Rapport personnalisé RH', '1', '0') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| UPDATE rh.t_rapports SET | |||||
| texte = w_dbsetup.texte, | |||||
| is_cti = w_dbsetup.is_cti, | |||||
| is_essentiel = w_dbsetup.is_essentiel | |||||
| FROM w_dbsetup | |||||
| WHERE t_rapports.code = w_dbsetup.code | |||||
| ; | |||||
| INSERT INTO rh.t_rapports(oid, code, texte, is_cti, is_essentiel) | |||||
| SELECT oid, code, texte, is_cti, is_essentiel FROM w_dbsetup WHERE oid = 0 AND oid NOT IN (SELECT oid FROM rh.t_rapports) | |||||
| ; | |||||
| INSERT INTO rh.t_rapports(code, texte, is_cti, is_essentiel) | |||||
| SELECT code, texte, is_cti, is_essentiel FROM w_dbsetup WHERE oid <> 0 AND code NOT IN (SELECT code FROM rh.t_rapports) | |||||
| ; | |||||
| @ -0,0 +1,270 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| t_rapports.code AS rapport_code, | |||||
| ind1.code AS indicateur_code, | |||||
| t_rapports_rubriques.numero_rubrique, | |||||
| t_rapports_rubriques.rapport_id, | |||||
| t_rapports_rubriques.indicateur_id, | |||||
| t_rapports_rubriques.entete, | |||||
| t_rapports_rubriques.output_format, | |||||
| t_rapports_rubriques.width, | |||||
| t_rapports_rubriques.entete_etendue, | |||||
| t_rapports_rubriques.periode_reference, | |||||
| t_rapports_rubriques.row_height, | |||||
| t_rapports_rubriques.padding, | |||||
| t_rapports_rubriques.font_size, | |||||
| t_rapports_rubriques.font_weight, | |||||
| t_rapports_rubriques.border_thickness, | |||||
| t_rapports_rubriques.color, | |||||
| t_rapports_rubriques.background_color, | |||||
| t_rapports_rubriques.base_nationale, | |||||
| t_rapports_rubriques.base_nationale_qualifiee, | |||||
| t_rapports_rubriques.viewlink, | |||||
| t_rapports_rubriques.viewlink_label, | |||||
| t_rapports_rubriques.viewlink_param, | |||||
| t_rapports_rubriques.picto_enabled, | |||||
| t_rapports_rubriques.positif_is_good, | |||||
| t_rapports_rubriques.indicateur_associe_id, | |||||
| ind2.code AS indicateur_associe_code | |||||
| FROM rh.t_rapports_rubriques | |||||
| JOIN rh.t_rapports ON t_rapports_rubriques.rapport_id = t_rapports.oid | |||||
| JOIN rh.t_indicateurs ind1 ON t_rapports_rubriques.indicateur_id = ind1.oid | |||||
| LEFT JOIN rh.t_indicateurs ind2 ON t_rapports_rubriques.indicateur_associe_id = ind2.oid | |||||
| WHERE 1=1 | |||||
| AND ind1.is_cti = '1' | |||||
| AND ind1.code <> '' | |||||
| AND t_rapports.is_cti = '1' | |||||
| ORDER BY t_rapports.code, ind1.code, t_rapports_rubriques.numero_rubrique | |||||
| LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| rapport_code, | |||||
| indicateur_code, | |||||
| numero_rubrique, | |||||
| rapport_id, | |||||
| indicateur_id, | |||||
| entete, | |||||
| output_format, | |||||
| width, | |||||
| entete_etendue, | |||||
| periode_reference, | |||||
| row_height, | |||||
| padding, | |||||
| font_size, | |||||
| font_weight, | |||||
| border_thickness, | |||||
| color, | |||||
| background_color, | |||||
| base_nationale, | |||||
| base_nationale_qualifiee, | |||||
| viewlink, | |||||
| viewlink_label, | |||||
| viewlink_param, | |||||
| picto_enabled, | |||||
| positif_is_good, | |||||
| indicateur_associe_id, | |||||
| indicateur_associe_code | |||||
| ) | |||||
| VALUES | |||||
| ('CTI_ESS_10', 'CTINBJARRET', 30, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000008', 'Analyse par code emploi et salarié', 'GROUPBY=CEM&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_AGEMOY', 12, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000023', 'Pyramide des âges par Age et salarié.', 'GROUPBY=AGE&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_CDDSALP', 11, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par type de contrat et catégorie socio-professionnelle', 'GROUPBY=TCN&GROUPBY_2=CSC&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_DBTCDD', 21, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par spécialité et salarié', 'GROUPBY=SPE&GROUPBY_2=SAL&GROUPBY_TAB=TAB&TYPE_CONTRAT=#LSCDD&VIEWTAB=2', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_DBTCDI', 20, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par type de temps de travail et salarié', 'GROUPBY=TTT&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_DUREEMOYARRETS', 34, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000008', 'Analyse par code sexe et salarié', 'GROUPBY=SEX&GROUPBY_2=SAL&GROUPBY_TAB=TAB&TYPE_CONTRAT=#DTCTI_CDD&VIEWTAB=2', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_EFF1ERJANV', 7, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par spécialité', 'GROUPBY=SPE', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_EFF31DEV', 8, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par code emploi', 'GROUPBY=CEM', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_EFFPERM', 6, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par type de temps de travail', 'GROUPBY=TTT', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_EMBMS25', 9, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Salarié de mois de 25 ans par qualification et par salarié', 'GROUPBY=QUA&GROUPBY_2=SAL&AGE=IN&AGE_INT=&AGE_INT2=25&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_FINCNT', 22, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par code emploi et salarié', 'GROUPBY=CEM&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_FINCNTCDD', 24, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse des CDD par indice et salarié', 'GROUPBY=GRI&GROUPBY_2=SAL&GROUPBY_TAB=TAB&TYPE_CONTRAT=#LSCDD&VIEWTAB=2', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_FINCNTCDI', 23, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse des CDI par code emploi et salarié', 'GROUPBY=CEM&GROUPBY_2=SAL&GROUPBY_TAB=TAB&TYPE_CONTRAT=#LSCDI&VIEWTAB=2', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_NBARRET', 26, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000008', 'Analyse par catégorie socio-professionnelle et salarié', 'GROUPBY=CSC&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_NBARRETMOY', 35, 1, 1, 'Nombre d''arrêts moyen (sur total des salariés)', '', 0, 'Nombre d''arrêts moyen (sur total des salariés)', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000008', 'Analyse par catégorie socio-professionnelle', 'GROUPBY=CSC', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_NBARRET_ACT', 29, 1, 1, 'Dont accident du travail', '', 0, 'Dont accident du travail', ' ', 22, 20, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000008', 'Analyse par spécialité et salarié', 'GROUPBY=SPE&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_NBARRET_MAL', 27, 1, 1, 'Dont maladie', '', 0, 'Dont maladie', ' ', 22, 20, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000008', 'Analyse par motif d''arrêt et salarié', 'GROUPBY=MOA&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_NBARRET_MAT', 28, 1, 1, 'Dont maternité', '', 0, 'Dont maternité', ' ', 22, 20, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000008', 'Analyse par service et salarié', 'GROUPBY=SER&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_NBCNT', 16, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par catégorie socio-professionnelle et salarié', 'GROUPBY=CSC&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_NBCONTRATCDD', 18, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par service et salarié', 'GROUPBY=SER&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_NBCONTRATCDI', 17, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par qualification et salarié', 'GROUPBY=QUA&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_NBJARRET_ACT', 33, 1, 1, 'Dont accident du travail', '', 0, 'Dont accident du travail', ' ', 22, 20, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000008', 'Analyse par tranche d''age du bilan social et salarié', 'GROUPBY=AGECLS09&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_NBJARRET_MAL', 31, 1, 1, 'Dont maladie', '', 0, 'Dont maladie', ' ', 22, 20, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000008', 'Analyse par indice et salarié', 'GROUPBY=GRI&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_NBJARRET_MAT', 32, 1, 1, 'Dont maternité', '', 0, 'Dont maternité', ' ', 22, 20, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000008', 'Analyse par qualification et salarié', 'GROUPBY=QUA&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_NBSALCNT', 2, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par catégorie socio-professionnelle', 'GROUPBY=CSC', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_NBSALCNTFR', 14, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000023', 'Analyse par tranche d''âge du bilan social', 'GROUPBY=AGECLS09&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_NOUVSALS', 3, 1, 1, '', '', 0, 'Nouveaux salariés', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par qualification', 'GROUPBY=QUA', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_NVXCNT', 19, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par type de contrat et salarié', 'GROUPBY=TCN&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_PCTFEMMECNT', 13, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par classe d''âge du bilan social et salarié', 'GROUPBY=AGECLS09&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_ROTATIONEMP', 5, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par type de contrat et qualification', 'GROUPBY=TCN', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_SAL60', 10, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Salariés de 60 ans et + par qualification et par salarié', 'GROUPBY=QUA&GROUPBY_2=SAL&AGE=IN&AGE_INT=60&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_SALPARTISSP', 4, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000003', 'Analyse par service', 'GROUPBY=SER', '1', '1', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_SEP', 1, 1, 1, '', '', 0, 'Salariés', ' ', 26, 0, 14, 'bold ', 2, '#9B59B6 ', '0xCCCCCC ', '0', '0', '', '', '', ' ', ' ', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_SEP', 15, 1, 1, '', '', 0, 'Contrats', ' ', 26, 0, 14, 'bold ', 2, '#9B59B6 ', '0xCCCCCC ', '0', '0', '', '', '', ' ', ' ', 0, ''), | |||||
| ('CTI_ESS_10', 'CTI_SEP', 25, 1, 1, '', '', 0, 'Arrêts de travail', ' ', 26, 0, 14, 'bold ', 2, '#9B59B6 ', '0xCCCCCC ', '0', '0', '', '', '', ' ', ' ', 0, ''), | |||||
| ('CTI_ESS_11', 'CTIAN', 12, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par Type de contrat et salarié', 'GROUPBY=TCN&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTICOTPAT', 16, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par rubrique de paie', 'GROUPBY=RUPCLS', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTICOTSAL ', 14, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par salarié', 'GROUPBY=SAL', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTIETPTHM', 6, 1, 1, 'ETP Travaillé', '', 0, 'ETP Travaillé', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par spécialité', 'GROUPBY=SPE', '0', '0', 0, ''), | |||||
| ('CTI_ESS_11', 'CTIHP', 3, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par catégorie socio-professionnelle et salarié', 'GROUPBY=CSC&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTIHT', 4, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par qualification', 'GROUPBY=QUA', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTIMASSMOY', 9, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par catégorie socio-professionnelle et salarié', 'GROUPBY=CSC&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTIMTMASSE', 8, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par catégorie socio-professionnelle', 'GROUPBY=CSC', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTINETAPAYER', 18, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par catégorie socio-professionnelle et type de contrat bilan social', 'GROUPBY=CSC&GROUPBY_2=TCNCLS9', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTINETIMPOS', 17, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par type de temps de travail et salarié', 'GROUPBY=TTT&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTIODNET', 15, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par contrat et section analytique comptable', 'GROUPBY=CNT&GROUPBY_2=SAC&GROUPBY_TAB=ARB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_BRUTMOYENETP', 11, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par service et salarié', 'GROUPBY=SER&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_ETPREMMOY', 5, 1, 1, 'ETP Payé', '', 0, 'ETP Payé', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par service', 'GROUPBY=SER', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_FRIMPOS', 13, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par spécialité et salarié', 'GROUPBY=SPE&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_MHMC', 20, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par age bilan social et salarié', 'GROUPBY=AGECLS09&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_MTBRUT', 10, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par qualification et salarié', 'GROUPBY=QUA&GROUPBY_2=SAL&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_MT_CNT', 27, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Rupture de contrat par service et salarié', 'GROUPBY=SER&GROUPBY_2=SAL&RUBRIQUE=#LICTI_EXP_CNT', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_MT_IJ', 29, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'IJSS par service et salarié', 'GROUPBY=SER&GROUPBY_2=SAL&GROUPBY_TAB=TAB&RUBRIQUE=#LICTI_EXP_IJS', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_MT_PRE', 25, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Précarité par service et salarié', 'GROUPBY=SER&GROUPBY_2=SAL&RUBRIQUE=#LICTI_EXP_PRE&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_MT_RET', 23, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Départ à la retraite par service et salarié', 'GROUPBY=SER&GROUPBY_2=SAL&RUBRIQUE=#LICTI_EXP_RET', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_NBIJSS', 28, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'IJSS par catégorie socio-professionnelle et salarié', 'GROUPBY=CSC&GROUPBY_2=SAL&GROUPBY_TAB=TAB&RUBRIQUE=#LICTI_EXP_IJS', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_NBRUPT', 26, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Rupture de contrat par catégorie socio-professionnelle et salarié', 'GROUPBY=CSC&GROUPBY_2=SAL&RUBRIQUE=#LICTI_EXP_CNT', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_NBSAL', 2, 1, 1, 'Nombre de salariés', '', 0, 'Nombre de salariés', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par catégorie socio-professionnelle', 'GROUPBY=CSC', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_NB_PRE', 24, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Précarité par catégorie socio-professionnelle et salarié', 'GROUPBY=CSC&GROUPBY_2=SAL&RUBRIQUE=#LICTI_EXP_PRE&GROUPBY_TAB=TAB', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_NB_RET', 22, 1, 1, '', '', 0, '', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Départ à la retraite par catégorie socio--professionnelle et salarié', 'GROUPBY=CSC&GROUPBY_2=SAL&RUBRIQUE=#LICTI_EXP_RET', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_SALCHGMOY', 19, 1, 1, 'Net à Payer Moyen', '', 0, 'Net à Payer Moyen', ' ', 22, 10, 12, ' ', 0, ' ', ' ', '0', '0', 'RH000007', 'Analyse par catégorie socio-professionnelle et type de temps de travail', 'GROUPBY=CSC&GROUPBY_2=TTTCLS9', '1', '1', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_SEP', 1, 1, 1, '', '', 0, 'Historique de Paie', ' ', 26, 0, 14, 'bold ', 2, '#9B59B6 ', '0xcccccc ', '0', '0', '', '', '', ' ', ' ', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_SEP', 7, 1, 1, '', '', 0, 'Masse Salariale', ' ', 26, 0, 14, 'bold ', 0, '#9B59B6 ', '0xcccccc ', '0', '0', '', '', '', ' ', ' ', 0, ''), | |||||
| ('CTI_ESS_11', 'CTI_SEP', 21, 1, 1, '', '', 0, 'Evènements exceptionnels', ' ', 26, 0, 14, 'bold ', 2, '#9B59B6 ', '0xcccccc ', '0', '0', '', '', '', ' ', ' ', 0, ''), | |||||
| ('CTI_QUA', 'CTI_CEM', 12, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_CPO', 7, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_CSP', 13, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_DNA', 4, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_GCO', 20, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_GGR', 21, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_GRI', 22, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_MDD', 10, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_MDF', 11, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_NAT', 5, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_NBSALCNT', 1, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_QUA', 14, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_SAC', 24, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_SAP', 23, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_SEP', 2, 1, 1, '', '', 0, 'Salarié', ' ', 0, 0, 12, 'bold ', 0, '0xffffff ', '0x2c3e50 ', '0', '0', '', '', '', ' ', ' ', 0, ''), | |||||
| ('CTI_QUA', 'CTI_SEP', 8, 1, 1, '', '', 0, 'Contrat', ' ', 0, 0, 0, 'bold ', 0, '0xffffff ', '0x2c3e50 ', '0', '0', '', '', '', ' ', ' ', 0, ''), | |||||
| ('CTI_QUA', 'CTI_SER', 15, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_SEX', 3, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_SFA', 6, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_SIN', 25, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_SPE', 16, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_STA', 17, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_TCNT', 9, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_THO', 19, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('CTI_QUA', 'CTI_TTT', 18, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('RH1', 'CTIHP', 6, 1, 1, '', '', 0, '', ' ', 0, 0, 0, 'normal ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('RH1', 'CTIMASSMOY', 12, 1, 1, '', '', 0, '', ' ', 0, 0, 0, 'normal ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('RH1', 'CTINBHOMME', 1, 1, 1, '', '', 0, '', ' ', 0, 0, 0, 'normal ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('RH1', 'CTINBJARRET', 8, 1, 1, '', '', 0, '', ' ', 0, 0, 0, 'normal ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('RH1', 'CTITA', 14, 1, 1, '', '', 0, '', ' ', 0, 0, 0, 'normal ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('RH1', 'CTITB', 15, 1, 1, '', '', 0, '', ' ', 0, 0, 0, 'normal ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('RH1', 'CTI_ETPW', 5, 1, 1, '', '', 0, '', ' ', 0, 0, 0, 'normal ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('RH1', 'CTI_MTBRUT', 13, 1, 1, '', '', 0, '', ' ', 0, 0, 0, 'normal ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('RH1', 'CTI_NBARRET', 7, 1, 1, '', '', 0, '', ' ', 0, 0, 0, ' ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('RH1', 'CTI_NBCNT', 3, 1, 1, '', '', 0, '', ' ', 0, 0, 0, 'normal ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('RH1', 'CTI_NBFEMMEPAIE', 2, 1, 1, '', '', 0, '', ' ', 0, 0, 0, 'normal ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('RH1', 'CTI_PCDD', 10, 1, 1, '', '', 0, '', ' ', 0, 0, 0, 'normal ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('RH1', 'CTI_PCDI', 11, 1, 1, '', '', 0, '', ' ', 0, 0, 0, 'normal ', 0, ' ', ' ', '0', '0', '', '', '', '0', '0', 0, ''), | |||||
| ('RH1', 'CTI_SEP', 4, 1, 1, '', '', 0, '', ' ', 0, 0, 0, 'normal ', 0, ' ', ' ', '0', '0', '', '', '', ' ', ' ', 0, ''), | |||||
| ('RH1', 'CTI_SEP', 9, 1, 1, '', '', 0, '', ' ', 0, 0, 0, 'normal ', 0, ' ', ' ', '0', '0', '', '', '', ' ', ' ', 0, '') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| -- Sauvegarder les donnees sources pour rejouer le specifique | |||||
| SELECT base.cti_verify_table_encoding('rh','t_rapports_rubriques') | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_specific_rapports_rubriques ; | |||||
| CREATE TEMP TABLE w_specific_rapports_rubriques AS | |||||
| SELECT t_rapports_rubriques.* | |||||
| FROM rh.t_rapports_rubriques | |||||
| JOIN rh.t_rapports ON t_rapports_rubriques.rapport_id = t_rapports.oid | |||||
| WHERE t_rapports.is_essentiel = '1' | |||||
| ; | |||||
| -- Installer les donnees CTI | |||||
| DELETE FROM rh.t_rapports_rubriques | |||||
| WHERE 1=1 | |||||
| AND rapport_id IN (SELECT oid FROM rh.t_rapports WHERE is_cti = '1') | |||||
| ; | |||||
| INSERT INTO rh.t_rapports_rubriques( | |||||
| rapport_id, | |||||
| numero_rubrique, | |||||
| indicateur_id, | |||||
| entete, | |||||
| entete_etendue, | |||||
| output_format, | |||||
| width, | |||||
| periode_reference, | |||||
| row_height, | |||||
| padding, | |||||
| font_size, | |||||
| font_weight, | |||||
| border_thickness, | |||||
| color, | |||||
| base_nationale, | |||||
| base_nationale_qualifiee, | |||||
| background_color, | |||||
| viewlink, | |||||
| viewlink_label, | |||||
| viewlink_param, | |||||
| picto_enabled, | |||||
| positif_is_good, | |||||
| indicateur_associe_id | |||||
| ) | |||||
| SELECT | |||||
| t_rapports.oid, | |||||
| numero_rubrique, | |||||
| ind1.oid, | |||||
| w_dbsetup.entete, | |||||
| w_dbsetup.entete_etendue, | |||||
| w_dbsetup.output_format, | |||||
| w_dbsetup.width, | |||||
| w_dbsetup.periode_reference, | |||||
| w_dbsetup.row_height, | |||||
| w_dbsetup.padding, | |||||
| w_dbsetup.font_size, | |||||
| w_dbsetup.font_weight, | |||||
| w_dbsetup.border_thickness, | |||||
| w_dbsetup.color, | |||||
| w_dbsetup.base_nationale, | |||||
| w_dbsetup.base_nationale_qualifiee, | |||||
| w_dbsetup.background_color, | |||||
| w_dbsetup.viewlink, | |||||
| w_dbsetup.viewlink_label, | |||||
| w_dbsetup.viewlink_param, | |||||
| w_dbsetup.picto_enabled, | |||||
| w_dbsetup.positif_is_good, | |||||
| COALESCE(ind2.oid, 0) | |||||
| FROM w_dbsetup | |||||
| JOIN rh.t_rapports ON w_dbsetup.rapport_code = t_rapports.code | |||||
| JOIN rh.t_indicateurs ind1 ON w_dbsetup.indicateur_code = ind1.code | |||||
| LEFT JOIN rh.t_indicateurs ind2 ON w_dbsetup.indicateur_associe_code = ind2.code | |||||
| ; | |||||
| -- Rejouer le specifique | |||||
| UPDATE rh.t_rapports_rubriques SET | |||||
| is_hide = w_specific_rapports_rubriques.is_hide, | |||||
| specific_viewlink = w_specific_rapports_rubriques.specific_viewlink, | |||||
| specific_viewlink_label = w_specific_rapports_rubriques.specific_viewlink_label, | |||||
| specific_viewlink_param = w_specific_rapports_rubriques.specific_viewlink_param | |||||
| FROM w_specific_rapports_rubriques | |||||
| WHERE w_specific_rapports_rubriques.rapport_id = t_rapports_rubriques.rapport_id AND | |||||
| w_specific_rapports_rubriques.indicateur_id = t_rapports_rubriques.indicateur_id AND | |||||
| w_specific_rapports_rubriques.entete_etendue = t_rapports_rubriques.entete_etendue AND | |||||
| ( | |||||
| w_specific_rapports_rubriques.is_hide = '1' OR | |||||
| w_specific_rapports_rubriques.specific_viewlink <> '' OR | |||||
| w_specific_rapports_rubriques.specific_viewlink_label <> '' OR | |||||
| w_specific_rapports_rubriques.specific_viewlink_param <> '' | |||||
| ) | |||||
| ; | |||||
| @ -0,0 +1,56 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT oid, | |||||
| code, | |||||
| texte, | |||||
| array_to_string(data_code, '@') as data_code, | |||||
| array_to_string(data_entete, '@') as data_entete, | |||||
| array_to_string(data_format, '@') as data_format, | |||||
| array_to_string(data_description, '@') as data_description, | |||||
| position_ratio, | |||||
| rang | |||||
| FROM rh.t_vue_parametre | |||||
| ORDER BY 2 LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| oid, | |||||
| code, | |||||
| texte, | |||||
| data_code, | |||||
| data_entete, | |||||
| data_format, | |||||
| data_description, | |||||
| position_ratio, | |||||
| rang | |||||
| ) | |||||
| VALUES | |||||
| (1, 'BS_LDATA_2', 'CTI : Bilan social', 'NSAL@CNTTOT@NCDI@NCDD@NSALH@NSALF@AGEMOYDJ@EFFPERM@0@0@0@0@0@0@0', 'Nombre Salariés@Contrats total@Nombre CDI@Nombre CDD@Nombre hommes@Nombre Femmes@Age moyen@Effectif permanent', '#@#@#@#@#@#@#,0@#', 'Nombre de salarié total@Nombre de contrat total@Nombre contrats CDI@Nombre contrats CDD@Nombre salariés hommes@Nombre salariés femmes@Age moyen@Salariés titulaires d''un CDI à temps complet et présents sur l''ensemble de la période.', '000000000000000', 0), | |||||
| (1, 'CT_LDATA_1', 'CTI : Effectif', 'NSAL@EFFPERM@ROTEMP@NSALH@NSALF@AGEMOYDJ@0@0@0@0@0@0@0@0@0', 'NB Salariées@Effectif permanent@Rotation de l''emploi@NB hommes@NB Femmes@Age moyen', '#@#@#%@#@#@#,0', 'Nombre de salarié total@Salariés titulaires d''un CDI à temps complet et présents sur l''ensemble de la période.@(nb d''entrées Ets. + nb de sorties Ets.) / 2 / nb de [DICT.RH.SALARIE#4] en début de période * 100@Nombre salariés hommes@Nombre salariés femmes@Age moyen', '000000000000000', 0), | |||||
| (1, 'CT_LDATA_3', 'CTI : Contrat', 'NSAL@CNTTOT@NCDI@NCDD@CNTTERM@NHCNT@ETPTH@0@0@0@0@0@0@0@0', 'NB Salariées@Contrats total@Nombre CDI@Nombre CDD@Contrats terminés@Heures contrat@ETP contrat', '#@#@#@#@#@#,00@#,00', 'Nombre de salarié total@Nombre de contrat total@Nombre contrats CDI@Nombre contrats CDD@Contrats terminés@Nombre heures contrat@ETP Contrat', '000000000000000', 0), | |||||
| (1, 'HP_LDATA_1', 'CTI : Livre de paie', 'NBSAL@MTMASSE@NBHP@NBHT@MTBRUT@MTCOTSALARIE@MTCOTPATRONALE@MTNETIMPOSABLE@MTNETAPAYER@0@0@0@0@0@0', 'NB Salariés@Masse sal.@Heures Payées@Heures Travaillées@Brut@Cot. Salariales@Cot. Patronales@Net imposable@Net à payer', '#@#E@#h@#h@#E@#E@#E@#E@#E', 'Nombre de salarié @<i>Brut</i> + <i>Cotisations patronales</i> + <i>OD/Net patronales</i> + <i>Avantages en nature</i> + <i>Frais imposables</i>@Heures issues de la rubrique de paie paramétrée comme «<i>Heures payées</i>» dans la table des rubriques.@Heures paramétrées comme «<i>travaillées</i>» OU heures payées - heures paramétrées comme «<i>Heures non travaillées</i>».@Montant BRUT@Montant Cotisations Salariales@Montant Cotisations Patronales@Montant Net Imposable@Montant Net à payer@0@0@0@0@0@0', '000000000000000', 0), | |||||
| (1, 'HP_LDATA_2', 'CTI : Livre de paie ( Avec nombre et base )', 'NBSAL@MTMASSE@NBHP@NBHT@MTBRUT@MTCOTSALARIE@MTCOTPATRONALE@MTNETIMPOSABLE@MTNETAPAYER@NOMBRE@BASE@0@0@0@0', 'NB Salariés@Masse sal.@Heures Payées@Heures Travaillées@Brut@Cot. Salariales@Cot. Patronales@Net imposable@Net à payer@Nombre@Base', '#@#E@#h@#h@#E@#E@#E@#E@#E@#,0@#,0', 'Nombre de salarié @<i>Brut</i> + <i>Cotisations patronales</i> + <i>OD/Net patronales</i> + <i>Avantages en nature</i> + <i>Frais imposables</i>@Heures issues de la rubrique de paie paramétrée comme «<i>Heures payées</i>» dans la table des rubriques.@Heures paramétrées comme «<i>travaillées</i>» OU heures payées - heures paramétrées comme «<i>Heures non travaillées</i>».@Montant BRUT@Montant Cotisations Salariales@Montant Cotisations Patronales@Montant Net Imposable@Montant Net à payer@Nombre@Base@0@0@0@0', '000000000000000', 0), | |||||
| (1, 'HP_LDATA_3', 'CTI : Décomposition Masse Salariale', 'NBSAL@MTMASSE@MTMASSEMOY@NBHP@MTBRUT@MTBRUTMOY@MTBRUTAVANTAGE@MTFRAISIMPOS@MTCOTPATRONALE@MTODNETPATRONALE@MTHORMOYCHAR@0@0@0@0', 'NB Salariés@Masse sal.@Masse sal. moyen@Heures Payées@Brut@Brut moyen@A. N.@F.I.@Cot. Patronales@OD/NET Patronales@Mnt h. moy. chargé', '#@#E@#E@#h@#E@#E@#E@#E@#E@#E@#,0E', 'Nombre de salarié @<i>Brut</i> + <i>Cotisations patronales</i> + <i>OD/Net patronales</i> + <i>Avantages en nature</i> + <i>Frais imposables</i>@(<i>Masse salariale</i> ÷ <i>ETP payé</i>) ÷ Nb mois de la période.@Heures issues de la rubrique de paie paramétrée comme «<i>Heures payées</i>» dans la table des rubriques.@Montant BRUT@Montant BRUT Moyen@Montant Avantages en nature@Montant Frais imposables@Montant Cotisations Patronales@Montant OD NET Patronales@Montant horaire moyen chargé@0@0@0@0', '000000000000000', 0), | |||||
| (1, 'HP_LDATA_4', 'CTI : Décomposition ETP', 'NBSAL@MTMASSE@MTMASSEMOY@NBETP@NBETPT@0@0@0@0@0@0@0@0@0@0', 'NB Salariés@Masse sal.@Masse sal. moyen@ETP Rémunéré@ETP travaillé', '#@#E@#E@#,00@#,00', 'Nombre de salarié @<i>Brut</i> + <i>Cotisations patronales</i> + <i>OD/Net patronales</i> + <i>Avantages en nature</i> + <i>Frais imposables</i>@(<i>Masse salariale</i> ÷ <i>ETP payé</i>) ÷ Nb mois de la période.@Equivalent temps plein basé sur les <i>Heures payées</i>.

Heures payées ÷ Base de calcul de l''ETP (par défaut 151,67 h.) ÷ Nb mois de la période.@Equivalent temps plein basé sur les <i>Heures travaillées</i>.

Heures travaillées ÷ Base de calcul de l''ETP (par défaut 151,67 h.) ÷ Nb mois de la période.@0@0@0@0@0@0@0@0@0@0', '000000000000000', 0), | |||||
| (1, 'HP_LDATA_5', 'CTI : Qualification', 'NBSAL@MTBRUT@MTCOTSALARIE@MTCOTPATRONALE@MTNETAPAYER@MTNETIMPOSABLE@MTMASSE@MTODNETSALARIE@0@0@0@0@0@0@0', 'NB Salariées@Montant Brut@Cotisations salariales@Cotisations patronales@Net à payer@Net imposable@Masse salariale@OD/net salariales', '#@#@#@#@#@#@#@#', 'Nombre de salarié @Montant BRUT@Montant cotisations salariales@Montant cotisations patronales@Montant net à payer@Montant net imposable@<i>Brut</i> + <i>Cotisations patronales</i> + <i>OD/Net patronales</i> + <i>Avantages en nature</i> + <i>Frais imposables</i>@Montant OD/net salariales@0@0@0@0@0@0@0', '000000000000000', 0), | |||||
| (1, 'HP_LDATA_6', 'CTI : Brut / ETP Payé', 'NBSAL@MTBRUT@NBETP@0@0@0@0@0@0@0@0@0@0@0@0', 'NB Salariées@Montant Brut@ETP payé', '#@#@#,00', 'Nombre de salarié @Montant BRUT@Equivalent temps plein basé sur les Heures payées Heures payées Base de calcul de l''ETP (par défaut 151,67 h.) Nb mois de la période.@0@0@0@0@0@0@0@0@0@0@0', '000000000000000', 0) | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| INSERT INTO rh.t_vue_parametre(code, texte, data_code, data_entete, data_format, data_description,position_ratio,rang) | |||||
| SELECT code, | |||||
| texte, | |||||
| string_to_array(data_code, '@') as data_code, | |||||
| string_to_array(data_entete, '@') as data_entete, | |||||
| string_to_array(data_format, '@') as data_format, | |||||
| string_to_array(data_description, '@') as data_description, | |||||
| position_ratio, | |||||
| rang | |||||
| FROM w_dbsetup | |||||
| WHERE 1=1 | |||||
| AND code NOT IN (SELECT code FROM rh.t_vue_parametre) | |||||
| ; | |||||
| @ -0,0 +1,103 @@ | |||||
| -- 1/3 : Création de la table temporaire | |||||
| DROP TABLE IF EXISTS w_dbsetup | |||||
| ; | |||||
| CREATE TEMP TABLE w_dbsetup AS | |||||
| SELECT | |||||
| t_widget_user_parameter.oid as uuid, | |||||
| t_dashboard.code || '|' || t_chart.code as dashboard_widget_code, | |||||
| username, | |||||
| title, | |||||
| x, | |||||
| y, | |||||
| w, | |||||
| h, | |||||
| time_calc, | |||||
| visible, | |||||
| t_dashboard.code || '|' || t_dashboard_onglet.index as tab_code, | |||||
| max_cat, | |||||
| array_agg(DISTINCT t_indicateur_serie.code) as include_series_code | |||||
| FROM rh.t_widget_user_parameter | |||||
| JOIN rh.t_dashboard_widget ON t_dashboard_widget.oid = dashboard_widget_id | |||||
| JOIN rh.t_dashboard ON t_dashboard.oid= t_dashboard_widget.dashboard_id | |||||
| JOIN rh.t_chart on t_chart.oid = t_dashboard_widget.chart_id | |||||
| JOIN rh.t_dashboard_onglet on t_dashboard_onglet.oid = tab_id | |||||
| LEFT JOIN rh.t_indicateur_serie ON ARRAY[t_indicateur_serie.oid] <@ include_series_id | |||||
| WHERE username = 'cti' | |||||
| GROUP BY 1,2,3,4,5,6,7,8,9,10,11, t_dashboard_onglet.index | |||||
| ORDER BY 2, 6, 7 LIMIT 0 | |||||
| ; | |||||
| -- 2/3 : Peuplement de la table temporaire | |||||
| INSERT INTO w_dbsetup( | |||||
| uuid, | |||||
| dashboard_widget_code, | |||||
| username, | |||||
| title, | |||||
| x, | |||||
| y, | |||||
| w, | |||||
| h, | |||||
| time_calc, | |||||
| visible, | |||||
| tab_code, | |||||
| max_cat, | |||||
| include_series_code | |||||
| ) | |||||
| VALUES | |||||
| ('60a09a2f-1714-4903-8a48-e0c7c5d5597e', 'CTI_EGAPRO|CTI_EFFAGE', 'cti', 'Répartion par tranche d''âge', 0, 18, 3, 7, 'val', 't', 'CTI_EGAPRO|0', 0, '{"CTI_FEMMES", "CTI_HOMMES"}'), | |||||
| ('2f166ff5-9eca-4a08-a72f-838cdc314385', 'CTI_EGAPRO|CTI_EFFANC', 'cti', 'Répartion par tranche d''ancienneté', 3, 18, 3, 7, 'val', 't', 'CTI_EGAPRO|0', 0, '{"CTI_FEMMES", "CTI_HOMMES"}'), | |||||
| ('4629419f-a2c6-4627-86b3-786d03ec1db7', 'CTI_EGAPRO|CTI_EFFGEN', 'cti', 'Effectif ', 2, 8, 4, 10, 'val', 't', 'CTI_EGAPRO|0', 0, '{"CTI_FEMMES", "CTI_HOMMES"}'), | |||||
| ('54980aad-8b6b-43e5-8d86-b4b47d46ff66', 'CTI_EGAPRO|CTI_EFFSTAT', 'cti', 'Effectifs par statut', 3, 25, 3, 8, 'val', 't', 'CTI_EGAPRO|0', 0, '{"CTI_FEMMES", "CTI_HOMMES"}'), | |||||
| ('fe63666a-69b0-4c35-8564-d243f605f520', 'CTI_EGAPRO|CTI_ENTSORCAR', 'cti', 'Hommes', 0, 8, 2, 5, 'val', 't', 'CTI_EGAPRO|0', 0, '{"CTI_DEPSALH", "CTI_EFFDH", "CTI_ENTSORH", "CTI_NVSALH", "CTI_TOH"}'), | |||||
| ('591c31d9-cf2a-4b9d-afd3-3605a476fc29', 'CTI_EGAPRO|CTI_ENTSORCAR', 'cti', 'Femmes', 0, 13, 2, 5, 'val', 't', 'CTI_EGAPRO|0', 0, '{"CTI_DEPSALF", "CTI_EFFDF", "CTI_ENTSORF", "CTI_NVSALF", "CTI_TOF"}'), | |||||
| ('da27e182-48ea-4c44-b874-4d3b860c875f', 'CTI_EGAPRO|CTI_MSAGE', 'cti', 'Masse salariale par tranche age', 0, 0, 6, 9, 'val', 't', 'CTI_EGAPRO|1', 0, '{"CTI_MSF", "CTI_MSH"}'), | |||||
| ('8230cb17-4b23-4f64-b513-c1f20d8d91f0', 'CTI_EGAPRO|CTI_MSCSP', 'cti', 'Masse salariale par CSP', 3, 9, 3, 13, 'val', 't', 'CTI_EGAPRO|1', 0, '{"CTI_MSF", "CTI_MSH"}'), | |||||
| ('7506a3e7-1b44-41e9-8727-e9fb1af75441', 'CTI_EGAPRO|CTI_MSCSPMAP', 'cti', 'Masse salariale par CSP (MAP)', 0, 9, 3, 13, 'val', 't', 'CTI_EGAPRO|1', 0, '{"CTI_MS"}'), | |||||
| ('1736e926-d668-4375-b042-95299d51b67c', 'CTI_EGAPRO|CTI_STAT', 'cti', 'Tableau statuts', 4, 0, 2, 8, 'val', 't', 'CTI_EGAPRO|0', 0, '{"CTI_FEMMES", "CTI_HOMMES", "CTI_TOTSAL"}'), | |||||
| ('1bf148e8-996a-4e64-b2b4-df19575c3368', 'CTI_EGAPRO|CTI_STATTIME', 'cti', 'Statuts', 0, 25, 3, 8, 'cum', 't', 'CTI_EGAPRO|0', 0, '{"CTI_TAUXSTAT", "CTI_TOTSAL", "CTI_TOTSALF"}'), | |||||
| ('732c7aad-a075-4ed8-a0b6-7a378af82d81', 'CTI_EGAPRO|CTI_TYPECNT', 'cti', 'Types de contrats - Femmes', 0, 0, 2, 8, 'val', 't', 'CTI_EGAPRO|0', 0, '{"CTI_FEMMES"}'), | |||||
| ('ac7b3909-8d3a-497e-9996-3b1111ded80e', 'CTI_EGAPRO|CTI_TYPECNT', 'cti', 'Types de contrats - Hommes', 2, 0, 2, 8, 'val', 't', 'CTI_EGAPRO|0', 0, '{"CTI_HOMMES"}') | |||||
| ; | |||||
| -- 3/3 : Màj de la table iCTI | |||||
| DELETE FROM rh.t_widget_user_parameter WHERE username = 'cti'; | |||||
| INSERT INTO rh.t_widget_user_parameter( | |||||
| oid, | |||||
| dashboard_widget_id, | |||||
| username, | |||||
| title, | |||||
| x, | |||||
| y, | |||||
| w, | |||||
| h, | |||||
| time_calc, | |||||
| visible, | |||||
| tab_id, | |||||
| max_cat, | |||||
| include_series_id | |||||
| ) | |||||
| SELECT | |||||
| w_dbsetup.uuid, | |||||
| t_dashboard_widget.oid, | |||||
| w_dbsetup.username, | |||||
| w_dbsetup.title, | |||||
| w_dbsetup.x, | |||||
| w_dbsetup.y, | |||||
| w_dbsetup.w, | |||||
| w_dbsetup.h, | |||||
| w_dbsetup.time_calc, | |||||
| w_dbsetup.visible, | |||||
| rh.t_dashboard_onglet.oid, | |||||
| w_dbsetup.max_cat, | |||||
| case when array_agg(DISTINCT t_indicateur_serie.oid) = ARRAY[NULL]::bigint[] then ARRAY[]::bigint[] else array_agg(DISTINCT t_indicateur_serie.oid) end | |||||
| FROM w_dbsetup | |||||
| JOIN rh.t_dashboard ON t_dashboard.code = SPLIT_PART(dashboard_widget_code, '|', 1) | |||||
| JOIN rh.t_chart on t_chart.code = SPLIT_PART(dashboard_widget_code, '|', 2) | |||||
| JOIN rh.t_dashboard_widget ON t_dashboard_widget.dashboard_id = t_dashboard.oid and t_dashboard_widget.chart_id = t_chart.oid | |||||
| JOIN rh.t_dashboard_onglet ON t_dashboard_onglet.dashboard_id = t_dashboard.oid and t_dashboard_onglet.index = SPLIT_PART(tab_code, '|', 2) | |||||
| LEFT JOIN rh.t_indicateur_serie ON ARRAY[t_indicateur_serie.code] <@ include_series_code | |||||
| GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12 | |||||
| ORDER BY 1 | |||||
| ; | |||||
| @ -0,0 +1,112 @@ | |||||
| keepoid|code|texte | |||||
| 0|000|Nouveaux nés | |||||
| 1|001|1 an | |||||
| 2|002|2 ans | |||||
| 3|003|3 ans | |||||
| 4|004|4 ans | |||||
| 5|005|5 ans | |||||
| 6|006|6 ans | |||||
| 7|007|7 ans | |||||
| 8|008|8 ans | |||||
| 9|009|9 ans | |||||
| 10|010|10 ans | |||||
| 11|011|11 ans | |||||
| 12|012|12 ans | |||||
| 13|013|13 ans | |||||
| 14|014|14 ans | |||||
| 15|015|15 ans | |||||
| 16|016|16 ans | |||||
| 17|017|17 ans | |||||
| 18|018|18 ans | |||||
| 19|019|19 ans | |||||
| 20|020|20 ans | |||||
| 21|021|21 ans | |||||
| 22|022|22 ans | |||||
| 23|023|23 ans | |||||
| 24|024|24 ans | |||||
| 25|025|25 ans | |||||
| 26|026|26 ans | |||||
| 27|027|27 ans | |||||
| 28|028|28 ans | |||||
| 29|029|29 ans | |||||
| 30|030|30 ans | |||||
| 31|031|31 ans | |||||
| 32|032|32 ans | |||||
| 33|033|33 ans | |||||
| 34|034|34 ans | |||||
| 35|035|35 ans | |||||
| 36|036|36 ans | |||||
| 37|037|37 ans | |||||
| 38|038|38 ans | |||||
| 39|039|39 ans | |||||
| 40|040|40 ans | |||||
| 41|041|41 ans | |||||
| 42|042|42 ans | |||||
| 43|043|43 ans | |||||
| 44|044|44 ans | |||||
| 45|045|45 ans | |||||
| 46|046|46 ans | |||||
| 47|047|47 ans | |||||
| 48|048|48 ans | |||||
| 49|049|49 ans | |||||
| 50|050|50 ans | |||||
| 51|051|51 ans | |||||
| 52|052|52 ans | |||||
| 53|053|53 ans | |||||
| 54|054|54 ans | |||||
| 55|055|55 ans | |||||
| 56|056|56 ans | |||||
| 57|057|57 ans | |||||
| 58|058|58 ans | |||||
| 59|059|59 ans | |||||
| 60|060|60 ans | |||||
| 61|061|61 ans | |||||
| 62|062|62 ans | |||||
| 63|063|63 ans | |||||
| 64|064|64 ans | |||||
| 65|065|65 ans | |||||
| 66|066|66 ans | |||||
| 67|067|67 ans | |||||
| 68|068|68 ans | |||||
| 69|069|69 ans | |||||
| 70|070|70 ans | |||||
| 71|071|71 ans | |||||
| 72|072|72 ans | |||||
| 73|073|73 ans | |||||
| 74|074|74 ans | |||||
| 75|075|75 ans | |||||
| 76|076|76 ans | |||||
| 77|077|77 ans | |||||
| 78|078|78 ans | |||||
| 79|079|79 ans | |||||
| 80|080|80 ans | |||||
| 81|081|81 ans | |||||
| 82|082|82 ans | |||||
| 83|083|83 ans | |||||
| 84|084|84 ans | |||||
| 85|085|85 ans | |||||
| 86|086|86 ans | |||||
| 87|087|87 ans | |||||
| 88|088|88 ans | |||||
| 89|089|89 ans | |||||
| 90|090|90 ans | |||||
| 91|091|91 ans | |||||
| 92|092|92 ans | |||||
| 93|093|93 ans | |||||
| 94|094|94 ans | |||||
| 95|095|95 ans | |||||
| 96|096|96 ans | |||||
| 97|097|97 ans | |||||
| 98|098|98 ans | |||||
| 99|099|99 ans | |||||
| 100|100|100 ans | |||||
| 101|101|101 ans | |||||
| 102|102|102 ans | |||||
| 103|103|103 ans | |||||
| 104|104|104 ans | |||||
| 105|105|105 ans | |||||
| 106|106|106 ans | |||||
| 107|107|107 ans | |||||
| 108|108|108 ans | |||||
| 109|109|109 ans | |||||
| 110|110|110 ans | |||||
| @ -0,0 +1,52 @@ | |||||
| keepoid|code|texte | |||||
| 0|00|Moins de 1 an | |||||
| 1|01|1 an | |||||
| 2|02|2 ans | |||||
| 3|03|3 ans | |||||
| 4|04|4 ans | |||||
| 5|05|5 ans | |||||
| 6|06|6 ans | |||||
| 7|07|7 ans | |||||
| 8|08|8 ans | |||||
| 9|09|9 ans | |||||
| 10|10|10 ans | |||||
| 11|11|11 ans | |||||
| 12|12|12 ans | |||||
| 13|13|13 ans | |||||
| 14|14|14 ans | |||||
| 15|15|15 ans | |||||
| 16|16|16 ans | |||||
| 17|17|17 ans | |||||
| 18|18|18 ans | |||||
| 19|19|19 ans | |||||
| 20|20|20 ans | |||||
| 21|21|21 ans | |||||
| 22|22|22 ans | |||||
| 23|23|23 ans | |||||
| 24|24|24 ans | |||||
| 25|25|25 ans | |||||
| 26|26|26 ans | |||||
| 27|27|27 ans | |||||
| 28|28|28 ans | |||||
| 29|29|29 ans | |||||
| 30|30|30 ans | |||||
| 31|31|31 ans | |||||
| 32|32|32 ans | |||||
| 33|33|33 ans | |||||
| 34|34|34 ans | |||||
| 35|35|35 ans | |||||
| 36|36|36 ans | |||||
| 37|37|37 ans | |||||
| 38|38|38 ans | |||||
| 39|39|39 ans | |||||
| 40|40|40 ans | |||||
| 41|41|41 ans | |||||
| 42|42|42 ans | |||||
| 43|43|43 ans | |||||
| 44|44|44 ans | |||||
| 45|45|45 ans | |||||
| 46|46|46 ans | |||||
| 47|47|47 ans | |||||
| 48|48|48 ans | |||||
| 49|49|49 ans | |||||
| 50|50|50 ans | |||||
| @ -0,0 +1,431 @@ | |||||
| oid|code|texte|texte_court | |||||
| 0|*|Non renseignée|N/R | |||||
| 1|100x|Agriculteurs et éleveurs, salariés de leur exploitation|Agriculteurs et éleveurs, salariés de leur explo | |||||
| 1|210x|Artisans salariés de leur entreprise|Artisans salariés de leur entreprise | |||||
| 1|220x|Commerçants et assimilés, salariés de leur entreprise|Commerçants et assimilés, salariés de leur entr | |||||
| 1|231a|Chefs de grande entreprise de 500 salariés et plus|Chefs de grande entreprise de 500 salariés et plu | |||||
| 1|232a|Chefs de moyenne entreprise, de 50 à 499 salariés|Chefs de moyenne entreprise, de 50 à 499 salarié | |||||
| 1|233a|Chefs d'entreprise du bâtiment et des travaux publics, de 10 à 49 salariés|Chefs d'entreprise du bâtiment et des travaux pub | |||||
| 1|233b|Chefs d'entreprise de l'industrie ou des transports, de 10 à 49 salariés|Chefs d'entreprise de l'industrie ou des transport | |||||
| 1|233c|Chefs d'entreprise commerciale, de 10 à 49 salariés|Chefs d'entreprise commerciale, de 10 à 49 salari | |||||
| 1|233d|Chefs d'entreprise de services, de 10 à 49 salariés|Chefs d'entreprise de services, de 10 à 49 salari | |||||
| 1|311c|Chirurgiens dentistes|Chirurgiens dentistes | |||||
| 1|311d|Psychologues, psychanalystes, psychothérapeutes (non médecins)|Psychologues, psychanalystes, psychothérapeutes ( | |||||
| 1|311e|Vétérinaires|Vétérinaires | |||||
| 1|312a|Avocats|Avocats | |||||
| 1|331a|Personnels de direction de la fonction publique (Etat, collectivités locales, hôpitaux)|Personnels de direction de la fonction publique (E | |||||
| 1|332a|Ingénieurs de l'Etat (y.c. ingénieurs militaires) et assimilés|Ingénieurs de l'Etat (y.c. ingénieurs militaires | |||||
| 1|332b|Ingénieurs des collectivités locales et des hôpitaux|Ingénieurs des collectivités locales et des hôp | |||||
| 1|333a|Magistrats*|Magistrats* | |||||
| 1|333b|Inspecteurs et autres personnels de catégorie A des Impôts, du Trésor et des Douanes|Inspecteurs et autres personnels de catégorie A d | |||||
| 1|333c|Cadres de la Poste*|Cadres de la Poste* | |||||
| 1|333d|Cadres administratifs de France Télécom (statut public)|Cadres administratifs de France Télécom (statut | |||||
| 1|333e|Autres personnels administratifs de catégorie A de l'Etat (hors Enseignement, Patrimoine, Impôts, Trésor, Douanes)|Autres personnels administratifs de catégorie A d | |||||
| 1|333f|Personnels administratifs de catégorie A des collectivités locales et hôpitaux publics (hors Enseignement, Patrimoine)|Personnels administratifs de catégorie A des coll | |||||
| 1|334a|Officiers des Armées et de la Gendarmerie (sauf officiers généraux)*|Officiers des Armées et de la Gendarmerie (sauf o | |||||
| 1|335a|Personnes exerçant un mandat politique ou syndical*|Personnes exerçant un mandat politique ou syndica | |||||
| 1|341a|Professeurs agrégés et certifiés de l'enseignement secondaire|Professeurs agrégés et certifiés de l'enseignem | |||||
| 1|341b|Chefs d'établissement de l'enseignement secondaire et inspecteurs|Chefs d'établissement de l'enseignement secondair | |||||
| 1|342b|Professeurs et maîtres de conférences|Professeurs et maîtres de conférences | |||||
| 1|342c|Professeurs agrégés et certifiés en fonction dans l'enseignement supérieur|Professeurs agrégés et certifiés en fonction da | |||||
| 1|342d|Personnel enseignant temporaire de l'enseignement supérieur|Personnel enseignant temporaire de l'enseignement | |||||
| 1|342f|Directeurs et chargés de recherche de la recherche publique|Directeurs et chargés de recherche de la recherch | |||||
| 1|342g|Ingénieurs d'étude et de recherche de la recherche publique|Ingénieurs d'étude et de recherche de la recherc | |||||
| 1|342h|Allocataires de la recherche publique|Allocataires de la recherche publique | |||||
| 1|343a|Psychologues spécialistes de l'orientation scolaire et professionnelle|Psychologues spécialistes de l'orientation scolai | |||||
| 1|344a|Médecins hospitaliers sans activité libérale|Médecins hospitaliers sans activité libérale | |||||
| 1|344b|Médecins salariés non hospitaliers|Médecins salariés non hospitaliers | |||||
| 1|344c|Internes en médecine, odontologie et pharmacie|Internes en médecine, odontologie et pharmacie | |||||
| 1|344d|Pharmaciens salariés|Pharmaciens salariés | |||||
| 1|351a|Bibliothécaires, archivistes, conservateurs et autres cadres du patrimoine|Bibliothécaires, archivistes, conservateurs et au | |||||
| 1|352a|Journalistes (y c. rédacteurs en chef)|Journalistes (y c. rédacteurs en chef) | |||||
| 1|352b|Auteurs littéraires, scénaristes, dialoguistes|Auteurs littéraires, scénaristes, dialoguistes | |||||
| 1|353a|Directeurs de journaux, administrateurs de presse, directeurs d'éditions (littéraire, musicale, audiovisuelle et multimédia)|Directeurs de journaux, administrateurs de presse, | |||||
| 1|353b|Directeurs, responsables de programmation et de production de l'audiovisuel et des spectacles|Directeurs, responsables de programmation et de pr | |||||
| 1|353c|Cadres artistiques et technico-artistiques de la réalisation de l'audiovisuel et des spectacles|Cadres artistiques et technico-artistiques de la r | |||||
| 1|354a|Artistes plasticiens|Artistes plasticiens | |||||
| 1|354b|Artistes de la musique et du chant|Artistes de la musique et du chant | |||||
| 1|354c|Artistes dramatiques|Artistes dramatiques | |||||
| 1|354e|Artistes de la danse|Artistes de la danse | |||||
| 1|354f|Artistes du cirque et des spectacles divers|Artistes du cirque et des spectacles divers | |||||
| 1|354g|Professeurs d'art (hors établissements scolaires)|Professeurs d'art (hors établissements scolaires) | |||||
| 1|371a|Cadres d'état-major administratifs, financiers, commerciaux des grandes entreprises|Cadres d'état-major administratifs, financiers, c | |||||
| 1|372a|Cadres chargés d'études économiques, financières, commerciales|Cadres chargés d'études économiques, financièr | |||||
| 1|372b|Cadres de l'organisation ou du contrôle des services administratifs et financiers|Cadres de l'organisation ou du contrôle des servi | |||||
| 1|372c|Cadres spécialistes des ressources humaines et du recrutement|Cadres spécialistes des ressources humaines et du | |||||
| 1|372d|Cadres spécialistes de la formation|Cadres spécialistes de la formation | |||||
| 1|372e|Juristes|Juristes | |||||
| 1|372f|Cadres de la documentation, de l'archivage (hors fonction publique)|Cadres de la documentation, de l'archivage (hors f | |||||
| 1|373a|Cadres des services financiers ou comptables des grandes entreprises|Cadres des services financiers ou comptables des g | |||||
| 1|373b|Cadres des autres services administratifs des grandes entreprises|Cadres des autres services administratifs des gran | |||||
| 1|373c|Cadres des services financiers ou comptables des petites et moyennes entreprises|Cadres des services financiers ou comptables des p | |||||
| 1|373d|Cadres des autres services administratifs des petites et moyennes entreprises|Cadres des autres services administratifs des peti | |||||
| 1|374a|Cadres de l'exploitation des magasins de vente du commerce de détail|Cadres de l'exploitation des magasins de vente du | |||||
| 1|374b|Chefs de produits, acheteurs du commerce et autres cadres de la mercatique|Chefs de produits, acheteurs du commerce et autres | |||||
| 1|374c|Cadres commerciaux des grandes entreprises (hors commerce de détail)|Cadres commerciaux des grandes entreprises (hors c | |||||
| 1|374d|Cadres commerciaux des petites et moyennes entreprises (hors commerce de détail)|Cadres commerciaux des petites et moyennes entrepr | |||||
| 1|375a|Cadres de la publicité|Cadres de la publicité | |||||
| 1|375b|Cadres des relations publiques et de la communication|Cadres des relations publiques et de la communicat | |||||
| 1|376a|Cadres des marchés financiers|Cadres des marchés financiers | |||||
| 1|376b|Cadres des opérations bancaires|Cadres des opérations bancaires | |||||
| 1|376c|Cadres commerciaux de la banque|Cadres commerciaux de la banque | |||||
| 1|376d|Chefs d'établissements et responsables de l'exploitation bancaire|Chefs d'établissements et responsables de l'explo | |||||
| 1|376e|Cadres des services techniques des assurances|Cadres des services techniques des assurances | |||||
| 1|376f|Cadres des services techniques des organismes de sécurité sociale et assimilés|Cadres des services techniques des organismes de s | |||||
| 1|376g|Cadres de l'immobilier|Cadres de l'immobilier | |||||
| 1|377a|Cadres de l'hôtellerie et de la restauration|Cadres de l'hôtellerie et de la restauration | |||||
| 1|380a|Directeurs techniques des grandes entreprises|Directeurs techniques des grandes entreprises | |||||
| 1|381b|Ingénieurs et cadres d'étude et développement de l'agriculture, la pêche, les eaux et forêts|Ingénieurs et cadres d'étude et développement d | |||||
| 1|381c|Ingénieurs et cadres de production et d'exploitation de l'agriculture, la pêche, les eaux et forêts|Ingénieurs et cadres de production et d'exploitat | |||||
| 1|382a|Ingénieurs et cadres d'étude du bâtiment et des travaux publics|Ingénieurs et cadres d'étude du bâtiment et des | |||||
| 1|382b|Architectes salariés|Architectes salariés | |||||
| 1|382c|Ingénieurs, cadres de chantier et conducteurs de travaux (cadres) du bâtiment et des travaux publics|Ingénieurs, cadres de chantier et conducteurs de | |||||
| 1|382d|Ingénieurs et cadres technico-commerciaux en bâtiment, travaux publics|Ingénieurs et cadres technico-commerciaux en bât | |||||
| 1|383a|Ingénieurs et cadres d'étude, recherche et développement en électricité, électronique|Ingénieurs et cadres d'étude, recherche et déve | |||||
| 1|383b|Ingénieurs et cadres de fabrication en matériel électrique, électronique|Ingénieurs et cadres de fabrication en matériel | |||||
| 1|383c|Ingénieurs et cadres technico-commerciaux en matériel électrique ou électronique professionnel|Ingénieurs et cadres technico-commerciaux en mat? | |||||
| 1|384a|Ingénieurs et cadres d'étude, recherche et développement en mécanique et travail des métaux|Ingénieurs et cadres d'étude, recherche et déve | |||||
| 1|384b|Ingénieurs et cadres de fabrication en mécanique et travail des métaux|Ingénieurs et cadres de fabrication en mécanique | |||||
| 1|384c|Ingénieurs et cadres technico-commerciaux en matériel mécanique professionnel|Ingénieurs et cadres technico-commerciaux en mat? | |||||
| 1|385a|Ingénieurs et cadres d'étude, recherche et développement des industries de transformation (agroalimentaire, chimie, métallurgie, matériaux lourds)|Ingénieurs et cadres d'étude, recherche et déve | |||||
| 1|385b|Ingénieurs et cadres de fabrication des industries de transformation (agroalimentaire, chimie, métallurgie, matériaux lourds)|Ingénieurs et cadres de fabrication des industrie | |||||
| 1|385c|Ingénieurs et cadres technico-commerciaux des industries de transformations (biens intermédiaires)|Ingénieurs et cadres technico-commerciaux des ind | |||||
| 1|386b|Ingénieurs et cadres d'étude, recherche et développement de la distribution d'énergie, eau|Ingénieurs et cadres d'étude, recherche et déve | |||||
| 1|386c|Ingénieurs et cadres d'étude, recherche et développement des autres industries (imprimerie, matériaux souples, ameublement et bois)|Ingénieurs et cadres d'étude, recherche et déve | |||||
| 1|386d|Ingénieurs et cadres de la production et de la distribution d'énergie, eau|Ingénieurs et cadres de la production et de la di | |||||
| 1|386e|Ingénieurs et cadres de fabrication des autres industries (imprimerie, matériaux souples, ameublement et bois)|Ingénieurs et cadres de fabrication des autres in | |||||
| 1|387a|Ingénieurs et cadres des achats et approvisionnements industriels|Ingénieurs et cadres des achats et approvisionnem | |||||
| 1|387b|Ingénieurs et cadres de la logistique, du planning et de l'ordonnancement|Ingénieurs et cadres de la logistique, du plannin | |||||
| 1|387c|Ingénieurs et cadres des méthodes de production|Ingénieurs et cadres des méthodes de production | |||||
| 1|387d|Ingénieurs et cadres du contrôle-qualité|Ingénieurs et cadres du contrôle-qualité | |||||
| 1|387e|Ingénieurs et cadres de la maintenance, de l'entretien et des travaux neufs|Ingénieurs et cadres de la maintenance, de l'entr | |||||
| 1|387f|Ingénieurs et cadres techniques de l'environnement|Ingénieurs et cadres techniques de l'environnemen | |||||
| 1|388a|Ingénieurs et cadres d'étude, recherche et développement en informatique|Ingénieurs et cadres d'étude, recherche et déve | |||||
| 1|388b|Ingénieurs et cadres d'administration, maintenance, support et services aux utilisateurs en informatique|Ingénieurs et cadres d'administration, maintenanc | |||||
| 1|388c|Chefs de projets informatiques, responsables informatiques|Chefs de projets informatiques, responsables infor | |||||
| 1|388d|Ingénieurs et cadres technico-commerciaux en informatique et télécommunications|Ingénieurs et cadres technico-commerciaux en info | |||||
| 1|388e|Ingénieurs et cadres spécialistes des télécommunications|Ingénieurs et cadres spécialistes des télécomm | |||||
| 1|389a|Ingénieurs et cadres techniques de l'exploitation des transports|Ingénieurs et cadres techniques de l'exploitation | |||||
| 1|389b|Officiers et cadres navigants techniques et commerciaux de l'aviation civile|Officiers et cadres navigants techniques et commer | |||||
| 1|389c|Officiers et cadres navigants techniques de la marine marchande|Officiers et cadres navigants techniques de la mar | |||||
| 1|421a|Instituteurs|Instituteurs | |||||
| 1|421b|Professeurs des écoles|Professeurs des écoles | |||||
| 1|422a|Professeurs d'enseignement général des collèges|Professeurs d'enseignement général des collèges | |||||
| 1|422b|Professeurs de lycée professionnel|Professeurs de lycée professionnel | |||||
| 1|422c|Maîtres auxiliaires et professeurs contractuels de l'enseignement secondaire|Maîtres auxiliaires et professeurs contractuels d | |||||
| 1|422d|Conseillers principaux d'éducation|Conseillers principaux d'éducation | |||||
| 1|422e|Surveillants et aides-éducateurs des établissements d'enseignement|Surveillants et aides-éducateurs des établisseme | |||||
| 1|423a|Moniteurs d'école de conduite|Moniteurs d'école de conduite | |||||
| 1|423b|Formateurs et animateurs de formation continue|Formateurs et animateurs de formation continue | |||||
| 1|424a|Moniteurs et éducateurs sportifs, sportifs professionnels|Moniteurs et éducateurs sportifs, sportifs profes | |||||
| 1|425a|Sous-bibliothécaires, cadres intermédiaires du patrimoine|Sous-bibliothécaires, cadres intermédiaires du p | |||||
| 1|431a|Cadres infirmiers et assimilés|Cadres infirmiers et assimilés | |||||
| 1|431b|Infirmiers psychiatriques|Infirmiers psychiatriques | |||||
| 1|431c|Puéricultrices|Puéricultrices | |||||
| 1|431d|Infirmiers spécialisés (autres qu'infirmiers psychiatriques et puéricultrices)|Infirmiers spécialisés (autres qu'infirmiers psy | |||||
| 1|431e|Sages-femmes salariées|Sages-femmes salariées | |||||
| 1|431f|Infirmiers en soins généraux, salariés|Infirmiers en soins généraux, salariés | |||||
| 1|432b|Masseurs-kinésithérapeutes rééducateurs, salariés|Masseurs-kinésithérapeutes rééducateurs, salar | |||||
| 1|432d|Autres spécialistes de la rééducation, salariés|Autres spécialistes de la rééducation, salarié | |||||
| 1|433a|Techniciens médicaux|Techniciens médicaux | |||||
| 1|433b|Opticiens lunetiers et audioprothésistes salariés|Opticiens lunetiers et audioprothésistes salarié | |||||
| 1|433c|Autres spécialistes de l'appareillage médical salariés|Autres spécialistes de l'appareillage médical sa | |||||
| 1|433d|Préparateurs en pharmacie|Préparateurs en pharmacie | |||||
| 1|434a|Cadres de l'intervention socio-éducative|Cadres de l'intervention socio-éducative | |||||
| 1|434b|Assistants de service social|Assistants de service social | |||||
| 1|434c|Conseillers en économie sociale familiale|Conseillers en économie sociale familiale | |||||
| 1|434d|Educateurs spécialisés|Educateurs spécialisés | |||||
| 1|434e|Moniteurs éducateurs|Moniteurs éducateurs | |||||
| 1|434f|Educateurs techniques spécialisés, moniteurs d'atelier|Educateurs techniques spécialisés, moniteurs d'a | |||||
| 1|434g|Educateurs de jeunes enfants|Educateurs de jeunes enfants | |||||
| 1|435a|Directeurs de centres socioculturels et de loisirs|Directeurs de centres socioculturels et de loisirs | |||||
| 1|435b|Animateurs socioculturels et de loisirs|Animateurs socioculturels et de loisirs | |||||
| 1|441a|Clergé séculier|Clergé séculier | |||||
| 1|441b|Clergé régulier|Clergé régulier | |||||
| 1|451a|Professions intermédiaires de la Poste|Professions intermédiaires de la Poste | |||||
| 1|451b|Professions intermédiaires administratives de France Télécom (statut public)|Professions intermédiaires administratives de Fra | |||||
| 1|451c|Contrôleurs des Impôts, du Trésor, des Douanes et assimilés*|Contrôleurs des Impôts, du Trésor, des Douanes | |||||
| 1|451d|Ingénieurs du contrôle de la navigation aérienne*|Ingénieurs du contrôle de la navigation aérienn | |||||
| 1|451e|Autres personnels administratifs de catégorie B de l'Etat (hors Enseignement, Patrimoine, Impôts, Trésor, Douanes)|Autres personnels administratifs de catégorie B d | |||||
| 1|451g|Professions intermédiaires administratives des collectivités locales|Professions intermédiaires administratives des co | |||||
| 1|451h|Professions intermédiaires administratives des hôpitaux|Professions intermédiaires administratives des h? | |||||
| 1|452a|Inspecteurs et officiers de police*|Inspecteurs et officiers de police* | |||||
| 1|452b|Adjudants-chefs, adjudants et sous-officiers de rang supérieur de l'Armée et de la Gendarmerie*|Adjudants-chefs, adjudants et sous-officiers de ra | |||||
| 1|461b|Secrétaires de direction, assistants de direction (non cadres)|Secrétaires de direction, assistants de direction | |||||
| 1|461c|Secrétaires de niveau supérieur (non cadres, hors secrétaires de direction)|Secrétaires de niveau supérieur (non cadres, hor | |||||
| 1|461d|Maîtrise et techniciens des services financiers ou comptables|Maîtrise et techniciens des services financiers o | |||||
| 1|461e|Maîtrise et techniciens administratifs des services juridiques ou du personnel|Maîtrise et techniciens administratifs des servic | |||||
| 1|461f|Maîtrise et techniciens administratifs des autres services administratifs|Maîtrise et techniciens administratifs des autres | |||||
| 1|462a|Chefs de petites surfaces de vente|Chefs de petites surfaces de vente | |||||
| 1|462b|Maîtrise de l'exploitation des magasins de vente|Maîtrise de l'exploitation des magasins de vente | |||||
| 1|462c|Acheteurs non classés cadres, aides-acheteurs|Acheteurs non classés cadres, aides-acheteurs | |||||
| 1|462d|Animateurs commerciaux des magasins de vente, marchandiseurs (non cadres)|Animateurs commerciaux des magasins de vente, marc | |||||
| 1|462e|Autres professions intermédiaires commerciales (sauf techniciens des forces de vente)|Autres professions intermédiaires commerciales (s | |||||
| 1|463a|Techniciens commerciaux et technico-commerciaux, représentants en informatique|Techniciens commerciaux et technico-commerciaux, r | |||||
| 1|463b|Techniciens commerciaux et technico-commerciaux, représentants en biens d'équipement, en biens intermédiaires, commerce interindustriel (hors informatique)|Techniciens commerciaux et technico-commerciaux, r | |||||
| 1|463c|Techniciens commerciaux et technico-commerciaux, représentants en biens de consommation auprès d'entreprises|Techniciens commerciaux et technico-commerciaux, r | |||||
| 1|463d|Techniciens commerciaux et technico-commerciaux, représentants en services auprès d'entreprises ou de professionnels (hors banque, assurance, informatique)|Techniciens commerciaux et technico-commerciaux, r | |||||
| 1|463e|Techniciens commerciaux et technico-commerciaux, représentants auprès de particuliers (hors banque, assurance, informatique)|Techniciens commerciaux et technico-commerciaux, r | |||||
| 1|464a|Assistants de la publicité, des relations publiques|Assistants de la publicité, des relations publiqu | |||||
| 1|464b|Interprètes, traducteurs|Interprètes, traducteurs | |||||
| 1|465a|Concepteurs et assistants techniques des arts graphiques, de la mode et de la décoration salariés|Concepteurs et assistants techniques des arts grap | |||||
| 1|465b|Assistants techniques de la réalisation des spectacles vivants et audiovisuels salariés|Assistants techniques de la réalisation des spect | |||||
| 1|465c|Photographes|Photographes | |||||
| 1|466a|Responsables commerciaux et administratifs des transports de voyageurs et du tourisme (non cadres)|Responsables commerciaux et administratifs des tra | |||||
| 1|466b|Responsables commerciaux et administratifs des transports de marchandises (non cadres)|Responsables commerciaux et administratifs des tra | |||||
| 1|466c|Responsables d'exploitation des transports de voyageurs et de marchandises (non cadres)|Responsables d'exploitation des transports de voya | |||||
| 1|467a|Chargés de clientèle bancaire|Chargés de clientèle bancaire | |||||
| 1|467b|Techniciens des opérations bancaires|Techniciens des opérations bancaires | |||||
| 1|467c|Professions intermédiaires techniques et commerciales des assurances|Professions intermédiaires techniques et commerci | |||||
| 1|467d|Professions intermédiaires techniques des organismes de sécurité sociale|Professions intermédiaires techniques des organis | |||||
| 1|468a|Maîtrise de restauration : salle et service|Maîtrise de restauration : salle et service | |||||
| 1|468b|Maîtrise de l'hébergement : hall et étages|Maîtrise de l'hébergement : hall et étages | |||||
| 1|471a|Techniciens d'étude et de conseil en agriculture, eaux et forêt|Techniciens d'étude et de conseil en agriculture, | |||||
| 1|471b|Techniciens d'exploitation et de contrôle de la production en agriculture, eaux et forêt|Techniciens d'exploitation et de contrôle de la p | |||||
| 1|472a|Dessinateurs en bâtiment, travaux publics|Dessinateurs en bâtiment, travaux publics | |||||
| 1|472b|Géomètres, topographes|Géomètres, topographes | |||||
| 1|472c|Métreurs et techniciens divers du bâtiment et des travaux publics|Métreurs et techniciens divers du bâtiment et de | |||||
| 1|472d|Techniciens des travaux publics de l'Etat et des collectivités locales|Techniciens des travaux publics de l'Etat et des c | |||||
| 1|473a|Dessinateurs en électricité, électromécanique et électronique|Dessinateurs en électricité, électromécanique | |||||
| 1|473b|Techniciens de recherche-développement et des méthodes de fabrication en électricité, électromécanique et électronique|Techniciens de recherche-développement et des mé | |||||
| 1|473c|Techniciens de fabrication et de contrôle-qualité en électricité, électromécanique et électronique|Techniciens de fabrication et de contrôle-qualit? | |||||
| 1|474a|Dessinateurs en construction mécanique et travail des métaux|Dessinateurs en construction mécanique et travail | |||||
| 1|474b|Techniciens de recherche-développement et des méthodes de fabrication en construction mécanique et travail des métaux|Techniciens de recherche-développement et des mé | |||||
| 1|474c|Techniciens de fabrication et de contrôle-qualité en construction mécanique et travail des métaux|Techniciens de fabrication et de contrôle-qualit? | |||||
| 1|475a|Techniciens de recherche-développement et des méthodes de production des industries de transformation|Techniciens de recherche-développement et des mé | |||||
| 1|475b|Techniciens de production et de contrôle-qualité des industries de transformation|Techniciens de production et de contrôle-qualité | |||||
| 1|476a|Assistants techniques, techniciens de l'imprimerie et de l'édition|Assistants techniques, techniciens de l'imprimerie | |||||
| 1|476b|Techniciens de l'industrie des matériaux souples, de l'ameublement et du bois|Techniciens de l'industrie des matériaux souples, | |||||
| 1|477a|Techniciens de la logistique, du planning et de l'ordonnancement|Techniciens de la logistique, du planning et de l' | |||||
| 1|477b|Techniciens d'installation et de maintenance des équipements industriels (électriques, électromécaniques, mécaniques, hors informatique)|Techniciens d'installation et de maintenance des ? | |||||
| 1|477c|Techniciens d'installation et de maintenance des équipements non industriels (hors informatique et télécommunications)|Techniciens d'installation et de maintenance des ? | |||||
| 1|477d|Techniciens de l'environnement et du traitement des pollutions|Techniciens de l'environnement et du traitement de | |||||
| 1|478a|Techniciens d'étude et de développement en informatique|Techniciens d'étude et de développement en infor | |||||
| 1|478b|Techniciens de production, d'exploitation en informatique|Techniciens de production, d'exploitation en infor | |||||
| 1|478c|Techniciens d'installation, de maintenance, support et services aux utilisateurs en informatique|Techniciens d'installation, de maintenance, suppor | |||||
| 1|478d|Techniciens des télécommunications et de l'informatique des réseaux|Techniciens des télécommunications et de l'infor | |||||
| 1|479a|Techniciens des laboratoires de recherche publique ou de l'enseignement|Techniciens des laboratoires de recherche publique | |||||
| 1|479b|Experts salariés de niveau technicien, techniciens divers|Experts salariés de niveau technicien, technicien | |||||
| 1|480a|Contremaîtres et agents d'encadrement (non cadres) en agriculture, sylviculture|Contremaîtres et agents d'encadrement (non cadres | |||||
| 1|480b|Maîtres d'équipage de la marine marchande et de la pêche|Maîtres d'équipage de la marine marchande et de | |||||
| 1|481a|Conducteurs de travaux (non cadres)|Conducteurs de travaux (non cadres) | |||||
| 1|481b|Chefs de chantier (non cadres)|Chefs de chantier (non cadres) | |||||
| 1|482a|Agents de maîtrise en fabrication de matériel électrique, électronique|Agents de maîtrise en fabrication de matériel é | |||||
| 1|483a|Agents de maîtrise en construction mécanique, travail des métaux|Agents de maîtrise en construction mécanique, tr | |||||
| 1|484a|Agents de maîtrise en fabrication : agroalimentaire, chimie, plasturgie, pharmacie.|Agents de maîtrise en fabrication : agroalimentai | |||||
| 1|484b|Agents de maîtrise en fabrication : métallurgie, matériaux lourds et autres industries de transformation|Agents de maîtrise en fabrication : métallurgie, | |||||
| 1|485a|Agents de maîtrise et techniciens en production et distribution d'énergie, eau, chauffage|Agents de maîtrise et techniciens en production e | |||||
| 1|485b|Agents de maîtrise en fabrication des autres industries (imprimerie, matériaux souples, ameublement et bois)|Agents de maîtrise en fabrication des autres indu | |||||
| 1|486b|Agents de maîtrise en maintenance, installation en électricité et électronique|Agents de maîtrise en maintenance, installation e | |||||
| 1|486c|Agents de maîtrise en maintenance, installation en électromécanique|Agents de maîtrise en maintenance, installation e | |||||
| 1|486d|Agents de maîtrise en maintenance, installation en mécanique|Agents de maîtrise en maintenance, installation e | |||||
| 1|486e|Agents de maîtrise en entretien général, installation, travaux neufs (hors mécanique, électromécanique, électronique)|Agents de maîtrise en entretien général, instal | |||||
| 1|487a|Responsables d'entrepôt, de magasinage|Responsables d'entrepôt, de magasinage | |||||
| 1|487b|Responsables du tri, de l'emballage, de l'expédition et autres responsables de la manutention|Responsables du tri, de l'emballage, de l'expédit | |||||
| 1|488a|Maîtrise de restauration : cuisine/production|Maîtrise de restauration : cuisine/production | |||||
| 1|488b|Maîtrise de restauration : gestion d'établissement|Maîtrise de restauration : gestion d'établissem | |||||
| 1|521a|Employés de la Poste|Employés de la Poste | |||||
| 1|521b|Employés de France Télécom (statut public)|Employés de France Télécom (statut public) | |||||
| 1|522a|Agents de constatation ou de recouvrement des Impôts, du Trésor, des Douanes*|Agents de constatation ou de recouvrement des Imp? | |||||
| 1|523a|Adjoints administratifs de la fonction publique (y c. enseignement)*|Adjoints administratifs de la fonction publique (y | |||||
| 1|523b|Adjoints administratifs de l'Etat et assimilés (sauf Poste, France Télécom)|Adjoints administratifs de l'Etat et assimilés (s | |||||
| 1|523c|Adjoints administratifs des collectivités locales|Adjoints administratifs des collectivités locales | |||||
| 1|523d|Adjoints administratifs des hôpitaux publics|Adjoints administratifs des hôpitaux publics | |||||
| 1|524a|Agents administratifs de la fonction publique (y c. enseignement)*|Agents administratifs de la fonction publique (y c | |||||
| 1|524b|Agents administratifs de l'Etat et assimilés (sauf Poste, France Télécom)|Agents administratifs de l'Etat et assimilés (sau | |||||
| 1|524c|Agents administratifs des collectivités locales|Agents administratifs des collectivités locales | |||||
| 1|524d|Agents administratifs des hôpitaux publics|Agents administratifs des hôpitaux publics | |||||
| 1|525a|Agents de service des établissements primaires|Agents de service des établissements primaires | |||||
| 1|525b|Agents de service des autres établissements d'enseignement|Agents de service des autres établissements d'ens | |||||
| 1|525c|Agents de service de la fonction publique (sauf écoles, hôpitaux)|Agents de service de la fonction publique (sauf é | |||||
| 1|525d|Agents de service hospitaliers|Agents de service hospitaliers | |||||
| 1|526a|Aides-soignants|Aides-soignants | |||||
| 1|526b|Assistants dentaires, médicaux et vétérinaires, aides de techniciens médicaux|Assistants dentaires, médicaux et vétérinaires, | |||||
| 1|526c|Auxiliaires de puériculture|Auxiliaires de puériculture | |||||
| 1|526d|Aides médico-psychologiques|Aides médico-psychologiques | |||||
| 1|526e|Ambulanciers salariés|Ambulanciers salariés | |||||
| 1|531a|Agents de police de l'Etat*|Agents de police de l'Etat* | |||||
| 1|531b|Agents des polices municipales*|Agents des polices municipales* | |||||
| 1|531c|Surveillants de l'administration pénitentiaire*|Surveillants de l'administration pénitentiaire* | |||||
| 1|532a|Gendarmes (de grade inférieur à adjudant)*|Gendarmes (de grade inférieur à adjudant)* | |||||
| 1|532b|Sergents et sous-officiers de grade équivalent des Armées (sauf pompiers militaires)*|Sergents et sous-officiers de grade équivalent de | |||||
| 1|532c|Hommes du rang (sauf pompiers militaires)*|Hommes du rang (sauf pompiers militaires)* | |||||
| 1|533a|Pompiers (y.c. pompiers militaires)|Pompiers (y.c. pompiers militaires) | |||||
| 1|533b|Agents techniques forestiers, gardes des espaces naturels|Agents techniques forestiers, gardes des espaces n | |||||
| 1|533c|Agents de surveillance du patrimoine et des administrations|Agents de surveillance du patrimoine et des admini | |||||
| 1|534a|Agents civils de sécurité et de surveillance|Agents civils de sécurité et de surveillance | |||||
| 1|534b|Convoyeurs de fonds, gardes du corps, enquêteurs privés et métiers assimilés (salariés)|Convoyeurs de fonds, gardes du corps, enquêteurs | |||||
| 1|541b|Agents d'accueil qualifiés, hôtesses d'accueil et d'information|Agents d'accueil qualifiés, hôtesses d'accueil e | |||||
| 1|541c|Agents d'accueil non qualifiés|Agents d'accueil non qualifiés | |||||
| 1|541d|Standardistes, téléphonistes|Standardistes, téléphonistes | |||||
| 1|542a|Secrétaires|Secrétaires | |||||
| 1|542b|Dactylos, sténodactylos (sans secrétariat), opérateurs de traitement de texte|Dactylos, sténodactylos (sans secrétariat), opé | |||||
| 1|543b|Employés qualifiés des services comptables ou financiers|Employés qualifiés des services comptables ou fi | |||||
| 1|543c|Employés non qualifiés des services comptables ou financiers|Employés non qualifiés des services comptables o | |||||
| 1|543e|Employés qualifiés des services du personnel et des services juridiques|Employés qualifiés des services du personnel et | |||||
| 1|543f|Employés qualifiés des services commerciaux des entreprises (hors vente)|Employés qualifiés des services commerciaux des | |||||
| 1|543g|Employés administratifs qualifiés des autres services des entreprises|Employés administratifs qualifiés des autres ser | |||||
| 1|543h|Employés administratifs non qualifiés|Employés administratifs non qualifiés | |||||
| 1|544a|Employés et opérateurs d'exploitation en informatique|Employés et opérateurs d'exploitation en informa | |||||
| 1|545a|Employés administratifs des services techniques de la banque|Employés administratifs des services techniques d | |||||
| 1|545b|Employés des services commerciaux de la banque|Employés des services commerciaux de la banque | |||||
| 1|545c|Employés des services techniques des assurances|Employés des services techniques des assurances | |||||
| 1|545d|Employés des services techniques des organismes de sécurité sociale et assimilés|Employés des services techniques des organismes d | |||||
| 1|546a|Contrôleurs des transports (personnels roulants)|Contrôleurs des transports (personnels roulants) | |||||
| 1|546b|Agents des services commerciaux des transports de voyageurs et du tourisme|Agents des services commerciaux des transports de | |||||
| 1|546c|Employés administratifs d'exploitation des transports de marchandises|Employés administratifs d'exploitation des transp | |||||
| 1|546d|Hôtesses de l'air et stewards|Hôtesses de l'air et stewards | |||||
| 1|546e|Autres agents et hôtesses d'accompagnement (transports, tourisme)|Autres agents et hôtesses d'accompagnement (trans | |||||
| 1|551a|Employés de libre service du commerce et magasiniers|Employés de libre service du commerce et magasini | |||||
| 1|552a|Caissiers de magasin|Caissiers de magasin | |||||
| 1|553b|Vendeurs polyvalents des grands magasins|Vendeurs polyvalents des grands magasins | |||||
| 1|553c| Autres vendeurs non spécialisés| Autres vendeurs non spécialisés | |||||
| 1|554a|Vendeurs en alimentation|Vendeurs en alimentation | |||||
| 1|554b|Vendeurs en ameublement, décor, équipement du foyer|Vendeurs en ameublement, décor, équipement du fo | |||||
| 1|554c|Vendeurs en droguerie, bazar, quincaillerie, bricolage|Vendeurs en droguerie, bazar, quincaillerie, brico | |||||
| 1|554d|Vendeurs du commerce de fleurs|Vendeurs du commerce de fleurs | |||||
| 1|554e|Vendeurs en habillement et articles de sport|Vendeurs en habillement et articles de sport | |||||
| 1|554f|Vendeurs en produits de beauté, de luxe (hors biens culturels) et optique|Vendeurs en produits de beauté, de luxe (hors bie | |||||
| 1|554g|Vendeurs de biens culturels (livres, disques, multimédia, objets d'art)|Vendeurs de biens culturels (livres, disques, mult | |||||
| 1|554h|Vendeurs de tabac, presse et articles divers|Vendeurs de tabac, presse et articles divers | |||||
| 1|554j|Pompistes et gérants de station-service (salariés ou mandataires)|Pompistes et gérants de station-service (salarié | |||||
| 1|555a|Vendeurs par correspondance, télévendeurs|Vendeurs par correspondance, télévendeurs | |||||
| 1|556a|Vendeurs en gros de biens d'équipement, biens intermédiaires|Vendeurs en gros de biens d'équipement, biens int | |||||
| 1|561b|Serveurs, commis de restaurant, garçons qualifiés|Serveurs, commis de restaurant, garçons qualifié | |||||
| 1|561c|Serveurs, commis de restaurant, garçons non qualifiés|Serveurs, commis de restaurant, garçons non quali | |||||
| 1|561d|Aides de cuisine, apprentis de cuisine et employés polyvalents de la restauration|Aides de cuisine, apprentis de cuisine et employé | |||||
| 1|561e|Employés de l'hôtellerie : réception et hall|Employés de l'hôtellerie : réception et hall | |||||
| 1|561f|Employés d'étage et employés polyvalents de l'hôtellerie|Employés d'étage et employés polyvalents de l'h | |||||
| 1|562a|Manucures, esthéticiens |Manucures, esthéticiens | |||||
| 1|562b|Coiffeurs salariés|Coiffeurs salariés | |||||
| 1|563a|Assistantes maternelles, gardiennes d'enfants, familles d'accueil|Assistantes maternelles, gardiennes d'enfants, fam | |||||
| 1|563b|Aides à domicile, aides ménagères, travailleuses familiales|Aides à domicile, aides ménagères, travailleuse | |||||
| 1|563c|Employés de maison et personnels de ménage chez des particuliers|Employés de maison et personnels de ménage chez | |||||
| 1|564a|Concierges, gardiens d'immeubles|Concierges, gardiens d'immeubles | |||||
| 1|564b|Employés des services divers|Employés des services divers | |||||
| 1|621a|Chefs d'équipe du gros oeuvre et des travaux publics|Chefs d'équipe du gros oeuvre et des travaux publ | |||||
| 1|621b|Ouvriers qualifiés du travail du béton|Ouvriers qualifiés du travail du béton | |||||
| 1|621c|Conducteurs qualifiés d'engins de chantiers du bâtiment et des travaux publics|Conducteurs qualifiés d'engins de chantiers du b? | |||||
| 1|621d|Ouvriers des travaux publics en installations électriques et de télécommunications|Ouvriers des travaux publics en installations éle | |||||
| 1|621e|Autres ouvriers qualifiés des travaux publics|Autres ouvriers qualifiés des travaux publics | |||||
| 1|621f|Ouvriers qualifiés des travaux publics (salariés de l'Etat et des collectivités locales)|Ouvriers qualifiés des travaux publics (salariés | |||||
| 1|621g|Mineurs de fond qualifiés et autres ouvriers qualifiés des industries d'extraction (carrières, pétrole, gaz...)|Mineurs de fond qualifiés et autres ouvriers qual | |||||
| 1|622a|Opérateurs qualifiés sur machines automatiques en production électrique ou électronique|Opérateurs qualifiés sur machines automatiques e | |||||
| 1|622c|Monteurs câbleurs qualifiés en électricité|Monteurs câbleurs qualifiés en électricité | |||||
| 1|622d|Câbleurs qualifiés en électronique (prototype, unité, petite série)|Câbleurs qualifiés en électronique (prototype, | |||||
| 1|622e|Autres monteurs câbleurs en électronique|Autres monteurs câbleurs en électronique | |||||
| 1|622f|Bobiniers qualifiés|Bobiniers qualifiés | |||||
| 1|622g|Plateformistes, contrôleurs qualifiés de matériel électrique ou électronique|Plateformistes, contrôleurs qualifiés de matéri | |||||
| 1|623a|Chaudronniers-tôliers industriels, opérateurs qualifiés du travail en forge, conducteurs qualifiés d'équipement de formage, traceurs qualifiés|Chaudronniers-tôliers industriels, opérateurs qu | |||||
| 1|623b|Tuyauteurs industriels qualifiés|Tuyauteurs industriels qualifiés | |||||
| 1|623d|Opérateurs qualifiés sur machine de soudage|Opérateurs qualifiés sur machine de soudage | |||||
| 1|623e|Soudeurs manuels|Soudeurs manuels | |||||
| 1|623f|Opérateurs qualifiés d'usinage des métaux travaillant à l'unité ou en petite série, moulistes qualifiés|Opérateurs qualifiés d'usinage des métaux trava | |||||
| 1|623g|Opérateurs qualifiés d'usinage des métaux sur autres machines (sauf moulistes)|Opérateurs qualifiés d'usinage des métaux sur a | |||||
| 1|624b|Monteurs, metteurs au point très qualifiés d'ensembles mécaniques travaillant à l'unité ou en petite série|Monteurs, metteurs au point très qualifiés d'ens | |||||
| 1|624c|Monteurs qualifiés d'ensembles mécaniques travaillant en moyenne ou en grande série|Monteurs qualifiés d'ensembles mécaniques travai | |||||
| 1|624d|Monteurs qualifiés en structures métalliques|Monteurs qualifiés en structures métalliques | |||||
| 1|624e|Ouvriers qualifiés de contrôle et d'essais en mécanique|Ouvriers qualifiés de contrôle et d'essais en m? | |||||
| 1|624f|Ouvriers qualifiés des traitements thermiques et de surface sur métaux|Ouvriers qualifiés des traitements thermiques et | |||||
| 1|624g|Autres mécaniciens ou ajusteurs qualifiés (ou spécialité non reconnue)|Autres mécaniciens ou ajusteurs qualifiés (ou sp | |||||
| 1|625a|Pilotes d'installation lourde des industries de transformation : agroalimentaire, chimie, plasturgie, énergie|Pilotes d'installation lourde des industries de tr | |||||
| 1|625b|Ouvriers qualifiés et agents qualifiés de laboratoire : agroalimentaire, chimie, biologie, pharmacie|Ouvriers qualifiés et agents qualifiés de labora | |||||
| 1|625c|Autres opérateurs et ouvriers qualifiés de la chimie (y.c. pharmacie) et de la plasturgie|Autres opérateurs et ouvriers qualifiés de la ch | |||||
| 1|625d|Opérateurs de la transformation des viandes|Opérateurs de la transformation des viandes | |||||
| 1|625f|Autres opérateurs travaillant sur installations ou machines : industrie agroalimentaire (hors transformation des viandes)|Autres opérateurs travaillant sur installations o | |||||
| 1|625g|Autres ouvriers de production qualifiés ne travaillant pas sur machine : industrie agroalimentaire (hors transformation des viandes)|Autres ouvriers de production qualifiés ne travai | |||||
| 1|625h|Ouvriers qualifiés des autres industries (eau, gaz, énergie, chauffage)|Ouvriers qualifiés des autres industries (eau, ga | |||||
| 1|626a|Pilotes d'installation lourde des industries de transformation : métallurgie, production verrière, matériaux de construction|Pilotes d'installation lourde des industries de tr | |||||
| 1|626b|Autres opérateurs et ouvriers qualifiés : métallurgie, production verrière, matériaux de construction|Autres opérateurs et ouvriers qualifiés : métal | |||||
| 1|626c|Opérateurs et ouvriers qualifiés des industries lourdes du bois et de la fabrication du papier-carton|Opérateurs et ouvriers qualifiés des industries | |||||
| 1|627a|Opérateurs qualifiés du textile et de la mégisserie|Opérateurs qualifiés du textile et de la mégiss | |||||
| 1|627b|Ouvriers qualifiés de la coupe des vêtements et de l'habillement, autres opérateurs de confection qualifiés|Ouvriers qualifiés de la coupe des vêtements et | |||||
| 1|627c|Ouvriers qualifiés du travail industriel du cuir|Ouvriers qualifiés du travail industriel du cuir | |||||
| 1|627d|Ouvriers qualifiés de scierie, de la menuiserie industrielle et de l'ameublement|Ouvriers qualifiés de scierie, de la menuiserie i | |||||
| 1|627e|Ouvriers de la photogravure et des laboratoires photographiques et cinématographiques|Ouvriers de la photogravure et des laboratoires ph | |||||
| 1|627f|Ouvriers de la composition et de l'impression, ouvriers qualifiés de la brochure, de la reliure et du façonnage du papier-carton|Ouvriers de la composition et de l'impression, ouv | |||||
| 1|628a|Mécaniciens qualifiés de maintenance, entretien : équipements industriels|Mécaniciens qualifiés de maintenance, entretien | |||||
| 1|628b|Electromécaniciens, électriciens qualifiés d'entretien : équipements industriels|Electromécaniciens, électriciens qualifiés d'en | |||||
| 1|628c|Régleurs qualifiés d'équipements de fabrication (travail des métaux, mécanique)|Régleurs qualifiés d'équipements de fabrication | |||||
| 1|628d|Régleurs qualifiés d'équipements de fabrication (hors travail des métaux et mécanique)|Régleurs qualifiés d'équipements de fabrication | |||||
| 1|628e|Ouvriers qualifiés de l'assainissement et du traitement des déchets|Ouvriers qualifiés de l'assainissement et du trai | |||||
| 1|628f|Agents qualifiés de laboratoire (sauf chimie, santé)|Agents qualifiés de laboratoire (sauf chimie, san | |||||
| 1|628g|Ouvriers qualifiés divers de type industriel|Ouvriers qualifiés divers de type industriel | |||||
| 1|631a|Jardiniers|Jardiniers | |||||
| 1|632a|Maçons qualifiés|Maçons qualifiés | |||||
| 1|632b|Ouvriers qualifiés du travail de la pierre|Ouvriers qualifiés du travail de la pierre | |||||
| 1|632c|Charpentiers en bois qualifiés|Charpentiers en bois qualifiés | |||||
| 1|632d|Menuisiers qualifiés du bâtiment|Menuisiers qualifiés du bâtiment | |||||
| 1|632e|Couvreurs qualifiés|Couvreurs qualifiés | |||||
| 1|632f|Plombiers et chauffagistes qualifiés|Plombiers et chauffagistes qualifiés | |||||
| 1|632g|Peintres et ouvriers qualifiés de pose de revêtements sur supports verticaux|Peintres et ouvriers qualifiés de pose de revête | |||||
| 1|632h|Soliers moquetteurs et ouvriers qualifiés de pose de revêtements souples sur supports horizontaux|Soliers moquetteurs et ouvriers qualifiés de pose | |||||
| 1|632j|Monteurs qualifiés en agencement, isolation|Monteurs qualifiés en agencement, isolation | |||||
| 1|632k|Ouvriers qualifiés d'entretien général des bâtiments|Ouvriers qualifiés d'entretien général des bât | |||||
| 1|633a|Electriciens qualifiés de type artisanal (y.c. bâtiment)|Electriciens qualifiés de type artisanal (y.c. b? | |||||
| 1|633b|Dépanneurs qualifiés en radiotélévision, électroménager, matériel électronique (salariés)|Dépanneurs qualifiés en radiotélévision, élec | |||||
| 1|633c|Electriciens, électroniciens qualifiés en maintenance entretien, réparation : automobile|Electriciens, électroniciens qualifiés en mainte | |||||
| 1|633d|Electriciens, électroniciens qualifiés en maintenance, entretien : équipements non industriels|Electriciens, électroniciens qualifiés en mainte | |||||
| 1|634a|Carrossiers d'automobiles qualifiés|Carrossiers d'automobiles qualifiés | |||||
| 1|634b|Métalliers, serruriers qualifiés|Métalliers, serruriers qualifiés | |||||
| 1|634c|Mécaniciens qualifiés en maintenance, entretien, réparation : automobile|Mécaniciens qualifiés en maintenance, entretien, | |||||
| 1|634d|Mécaniciens qualifiés de maintenance, entretien : équipements non industriels|Mécaniciens qualifiés de maintenance, entretien | |||||
| 1|635a|Tailleurs et couturières qualifiés, ouvriers qualifiés du travail des étoffes (sauf fabrication de vêtements), ouvriers qualifiés de type artisanal du travail du cuir|Tailleurs et couturières qualifiés, ouvriers qua | |||||
| 1|636a|Bouchers (sauf industrie de la viande)|Bouchers (sauf industrie de la viande) | |||||
| 1|636b|Charcutiers (sauf industrie de la viande)|Charcutiers (sauf industrie de la viande) | |||||
| 1|636c|Boulangers, pâtissiers (sauf activité industrielle)|Boulangers, pâtissiers (sauf activité industriel | |||||
| 1|636d|Cuisiniers et commis de cuisine|Cuisiniers et commis de cuisine | |||||
| 1|637a|Modeleurs (sauf modeleurs de métal), mouleurs-noyauteurs à la main, ouvriers qualifiés du travail du verre ou de la céramique à la main|Modeleurs (sauf modeleurs de métal), mouleurs-noy | |||||
| 1|637b|Ouvriers d'art|Ouvriers d'art | |||||
| 1|637c|Ouvriers et techniciens des spectacles vivants et audiovisuels|Ouvriers et techniciens des spectacles vivants et | |||||
| 1|637d|Ouvriers qualifiés divers de type artisanal|Ouvriers qualifiés divers de type artisanal | |||||
| 1|641a|Conducteurs routiers et grands routiers|Conducteurs routiers et grands routiers | |||||
| 1|641b|Conducteurs de véhicule routier de transport en commun|Conducteurs de véhicule routier de transport en c | |||||
| 1|642a|Conducteurs de taxi|Conducteurs de taxi | |||||
| 1|642b|Conducteurs de voiture particulière|Conducteurs de voiture particulière | |||||
| 1|643a|Conducteurs livreurs, coursiers|Conducteurs livreurs, coursiers | |||||
| 1|644a|Conducteurs de véhicule de ramassage des ordures ménagères|Conducteurs de véhicule de ramassage des ordures | |||||
| 1|651a|Conducteurs d'engin lourd de levage|Conducteurs d'engin lourd de levage | |||||
| 1|651b|Conducteurs d'engin lourd de manoeuvre|Conducteurs d'engin lourd de manoeuvre | |||||
| 1|652a|Ouvriers qualifiés de la manutention, conducteurs de chariots élévateurs, caristes|Ouvriers qualifiés de la manutention, conducteurs | |||||
| 1|652b|Dockers|Dockers | |||||
| 1|653a|Magasiniers qualifiés|Magasiniers qualifiés | |||||
| 1|654b|Conducteurs qualifiés d'engins de transport guidés (sauf remontées mécaniques)|Conducteurs qualifiés d'engins de transport guid? | |||||
| 1|654c|Conducteurs qualifiés de systèmes de remontées mécaniques|Conducteurs qualifiés de systèmes de remontées | |||||
| 1|655a|Autres agents et ouvriers qualifiés (sédentaires) des services d'exploitation des transports|Autres agents et ouvriers qualifiés (sédentaires | |||||
| 1|656b|Matelots de la marine marchande|Matelots de la marine marchande | |||||
| 1|656c|Capitaines et matelots timoniers de la navigation fluviale|Capitaines et matelots timoniers de la navigation | |||||
| 1|671a|Ouvriers non qualifiés des travaux publics de l'Etat et des collectivités locales|Ouvriers non qualifiés des travaux publics de l'E | |||||
| 1|671c|Ouvriers non qualifiés des travaux publics et du travail du béton|Ouvriers non qualifiés des travaux publics et du | |||||
| 1|671d|Aides-mineurs, ouvriers non qualifiés de l'extraction|Aides-mineurs, ouvriers non qualifiés de l'extrac | |||||
| 1|672a|Ouvriers non qualifiés de l'électricité et de l'électronique|Ouvriers non qualifiés de l'électricité et de l | |||||
| 1|673a|Ouvriers de production non qualifiés travaillant par enlèvement de métal|Ouvriers de production non qualifiés travaillant | |||||
| 1|673b|Ouvriers de production non qualifiés travaillant par formage de métal|Ouvriers de production non qualifiés travaillant | |||||
| 1|673c|Ouvriers non qualifiés de montage, contrôle en mécanique et travail des métaux|Ouvriers non qualifiés de montage, contrôle en m | |||||
| 1|674a|Ouvriers de production non qualifiés : chimie, pharmacie, plasturgie|Ouvriers de production non qualifiés : chimie, ph | |||||
| 1|674b|Ouvriers de production non qualifiés de la transformation des viandes|Ouvriers de production non qualifiés de la transf | |||||
| 1|674c|Autres ouvriers de production non qualifiés : industrie agroalimentaire|Autres ouvriers de production non qualifiés : ind | |||||
| 1|674d|Ouvriers de production non qualifiés : métallurgie, production verrière, céramique, matériaux de construction|Ouvriers de production non qualifiés : métallurg | |||||
| 1|674e|Ouvriers de production non qualifiés : industrie lourde du bois, fabrication des papiers et cartons|Ouvriers de production non qualifiés : industrie | |||||
| 1|675a|Ouvriers de production non qualifiés du textile et de la confection, de la tannerie-mégisserie et du travail du cuir|Ouvriers de production non qualifiés du textile e | |||||
| 1|675b|Ouvriers de production non qualifiés du travail du bois et de l'ameublement|Ouvriers de production non qualifiés du travail d | |||||
| 1|675c|Ouvriers de production non qualifiés de l'imprimerie, presse, édition|Ouvriers de production non qualifiés de l'imprime | |||||
| 1|676a|Manutentionnaires non qualifiés|Manutentionnaires non qualifiés | |||||
| 1|676b|Déménageurs (hors chauffeurs-déménageurs), non qualifiés|Déménageurs (hors chauffeurs-déménageurs), non | |||||
| 1|676c|Ouvriers du tri, de l'emballage, de l'expédition, non qualifiés|Ouvriers du tri, de l'emballage, de l'expédition, | |||||
| 1|676d|Agents non qualifiés des services d'exploitation des transports|Agents non qualifiés des services d'exploitation | |||||
| 1|676e|Ouvriers non qualifiés divers de type industriel|Ouvriers non qualifiés divers de type industriel | |||||
| 1|681a|Ouvriers non qualifiés du gros oeuvre du bâtiment|Ouvriers non qualifiés du gros oeuvre du bâtimen | |||||
| 1|681b|Ouvriers non qualifiés du second oeuvre du bâtiment|Ouvriers non qualifiés du second oeuvre du bâtim | |||||
| 1|682a|Métalliers, serruriers, réparateurs en mécanique non qualifiés|Métalliers, serruriers, réparateurs en mécaniqu | |||||
| 1|683a|Apprentis boulangers, bouchers, charcutiers|Apprentis boulangers, bouchers, charcutiers | |||||
| 1|684a|Nettoyeurs|Nettoyeurs | |||||
| 1|684b|Ouvriers non qualifiés de l'assainissement et du traitement des déchets|Ouvriers non qualifiés de l'assainissement et du | |||||
| 1|685a|Ouvriers non qualifiés divers de type artisanal|Ouvriers non qualifiés divers de type artisanal | |||||
| 1|691a|Conducteurs d'engin agricole ou forestier|Conducteurs d'engin agricole ou forestier | |||||
| 1|691b|Ouvriers de l'élevage|Ouvriers de l'élevage | |||||
| 1|691c|Ouvriers du maraîchage ou de l'horticulture|Ouvriers du maraîchage ou de l'horticulture | |||||
| 1|691d|Ouvriers de la viticulture ou de l'arboriculture fruitière|Ouvriers de la viticulture ou de l'arboriculture f | |||||
| 1|691e|Ouvriers agricoles sans spécialisation particulière|Ouvriers agricoles sans spécialisation particuli? | |||||
| 1|691f|Ouvriers de l'exploitation forestière ou de la sylviculture|Ouvriers de l'exploitation forestière ou de la sy | |||||
| 1|692a|Marins-pêcheurs et ouvriers de l'aquaculture|Marins-pêcheurs et ouvriers de l'aquaculture | |||||
| @ -0,0 +1,15 @@ | |||||
| type|category|name|default_time_calc|label_view_code|code|serie_code | |||||
| card|date|Carte effectifs|val|0|CTI_STATCAR|{CTI_FEMMES,CTI_HOMMES} | |||||
| donut|CTI_TYPECONTRAT#LS#CTI_TCNT|Types de contrats|val|0|CTI_TYPECNT|{CTI_FEMMES,CTI_HOMMES} | |||||
| spread|CTI_AGE#LS#CTI_AGE|Effectifs par tranches age|val|0|CTI_EFFAGE|{CTI_FEMMES,CTI_HOMMES} | |||||
| spread|CTI_AGE#LS#CTI_AGE|Masse salariale par tranche d'age|val|0|CTI_MSAGE|{CTI_MSF,CTI_MSH} | |||||
| spread|CTI_ANCIENNETE#LS#CTI_ANC|Effectifs par tranches anciente|val|0|CTI_EFFANC|{CTI_FEMMES,CTI_HOMMES} | |||||
| spread|CTI_STATUT#LS#CTI_STATUT|Effectifs par statut|val|0|CTI_EFFSTAT|{CTI_FEMMES,CTI_HOMMES} | |||||
| stacked|CTI_CSP#DT#|Masse salariale par CSP|val|1|CTI_MSCSP|{CTI_MSF,CTI_MSH} | |||||
| stacked|date|Effectifs par genre|val|0|CTI_EFFGEN|{CTI_FEMMES,CTI_HOMMES} | |||||
| stacked|date|Heures supplementaires|val|0|CTI_HSUPP|{CTI_HSUPF,CTI_HSUPH} | |||||
| stackedPercent|date|Repartition par genre|val|0|CTI_REPGEN|{CTI_FEMMES,CTI_HOMMES} | |||||
| table|date|Entrees sorties carte|val|0|CTI_ENTSORCAR|{CTI_DEPSALF,CTI_DEPSALH,CTI_EFFDF,CTI_EFFDH,CTI_ENTSORF,CTI_ENTSORH,CTI_NVSALF,CTI_NVSALH,CTI_TOF,CTI_TOH} | |||||
| table2d|CTI_STATUT#LS#CTI_STATUT|Tableau statuts|val|0|CTI_STAT|{CTI_FEMMES,CTI_HOMMES,CTI_TOTSAL} | |||||
| table2dTime|CTI_STATUT#LS#CTI_STATUT|Statuts temps|cum|0|CTI_STATTIME|{CTI_TAUXSTAT,CTI_TOTSAL,CTI_TOTSALF} | |||||
| treemap|CTI_CSP#DT#|Masse salariale par CSP (MAP)|val|1|CTI_MSCSPMAP|{CTI_MS} | |||||
| @ -0,0 +1,18 @@ | |||||
| table_code|classe_code|texte|is_cti|contenu_by_code|contenu_non_replicable_ailleurs | |||||
| AGE|CTI_AGE|Tranche d'ages Bilan Social|1|0|0 | |||||
| ANC|CTI_ANC|Tranche d'ancienneté Bilan Social|1|0|0 | |||||
| MOA|CTI_ARRET|Arrêt de travail Bilan Social|1|0|0 | |||||
| MTF|CTI_MFIN|Motif de fin Bilan Social|1|0|0 | |||||
| NAT|CTI_NAT|Nationalité Bilan Social|1|0|0 | |||||
| PSE|CTI_CONTRIBUTION_BLOC_OPERATOIRE|Services du bloc opératoire pour le calcul de la contribution|1|0|0 | |||||
| QUA|CTI_QUAL|Qualifications personnels|1|0|0 | |||||
| QUA|CTI_SAE_CATEGORIES_PERSONNEL|Catégories de personnel SAE|1|1|0 | |||||
| QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL|Spécialités détaillées du personnel SAE|1|0|0 | |||||
| QUA|CTI_SAE_SPECIALITES_PERSONNEL|Spécialités du personnel SAE|1|1|0 | |||||
| QUA|CTI_SAE_TYPES_PERSONNEL|Types du personnel SAE|1|1|0 | |||||
| RUP|ALM_HRS|ALM Détail des heures contrat, sup, abs, maintien|1|0|0 | |||||
| RUP|CTI_RUB|Rubrique Bilan Social|1|0|0 | |||||
| SER|CTI_SAE_GROUPES_DISCIPLINES|Groupes de disciplines SAE|1|0|0 | |||||
| STA|CTI_STATUT|Statuts CTI|1|0|0 | |||||
| TCN|CTI_TCNT|Type de contrat Bilan Social|1|0|0 | |||||
| TTT|CTI_TTT|Type de temps de travail Bilan Social|1|0|0 | |||||
| @ -0,0 +1,195 @@ | |||||
| code|texte|condition|exclude_code|include_code|table_code|classe_code | |||||
| S1|- 25 ans||||AGE|CTI_AGE | |||||
| S2|De 25 à 35 ans||||AGE|CTI_AGE | |||||
| S3|De 36 à 45 ans||||AGE|CTI_AGE | |||||
| S4|De 46 à 55 ans||||AGE|CTI_AGE | |||||
| S5|De 56 à 65 ans||||AGE|CTI_AGE | |||||
| S6|+ de 65 ans||||AGE|CTI_AGE | |||||
| S1|- 10 ans||||ANC|CTI_ANC | |||||
| S2|De 10 à 20 ans||||ANC|CTI_ANC | |||||
| S3|De 21 à 30 ans||||ANC|CTI_ANC | |||||
| S4|+ de 30 ans||||ANC|CTI_ANC | |||||
| ABS|Absence (hors divers congés, conflits et service national)||||MOA|CTI_ARRET | |||||
| ACT|Accident du travail, de trajet ou maladie professionnelle||||MOA|CTI_ARRET | |||||
| AUT|Autre||||MOA|CTI_ARRET | |||||
| COA|Congé autorisé (événements familiaux, congés spéciaux pour les femmes...)||||MOA|CTI_ARRET | |||||
| MAL|Maladie||||MOA|CTI_ARRET | |||||
| MAT|Maternité||||MOA|CTI_ARRET | |||||
| AUT|Autre||||MTF|CTI_MFIN | |||||
| DEC|Décés||||MTF|CTI_MFIN | |||||
| DEM|Démission||||MTF|CTI_MFIN | |||||
| DPE|Départ en cours de période d'essai||||MTF|CTI_MFIN | |||||
| FCD|Fin de CDD||||MTF|CTI_MFIN | |||||
| LAC|Licenciement pour autres causes||||MTF|CTI_MFIN | |||||
| LRP|Licenciement économique, dont départ en retraite et préretraite||||MTF|CTI_MFIN | |||||
| MUT|Mutation inter entreprise||||MTF|CTI_MFIN | |||||
| RPR|Départ volontaire en retraite et préretraite||||MTF|CTI_MFIN | |||||
| ET|Etrangère||||NAT|CTI_NAT | |||||
| FR|Française||||NAT|CTI_NAT | |||||
| UE|Union Européenne||||NAT|CTI_NAT | |||||
| S1|Bloc opératoire|<NULL>|||PSE|CTI_CONTRIBUTION_BLOC_OPERATOIRE | |||||
| PA|Personnel administratif et autre||||QUA|CTI_QUAL | |||||
| PM|Personnel médical||||QUA|CTI_QUAL | |||||
| PS|Personnel soignant||||QUA|CTI_QUAL | |||||
| M9000|Personnels médicaux|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_PERSONNEL:M*]|QUA|CTI_SAE_CATEGORIES_PERSONNEL | |||||
| N1000|Personnels de direction|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_PERSONNEL:N1*]|QUA|CTI_SAE_CATEGORIES_PERSONNEL | |||||
| N2000|Personnels des services de soins|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_PERSONNEL:N2*]|QUA|CTI_SAE_CATEGORIES_PERSONNEL | |||||
| N3000|Personnels éducatifs et sociaux|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_PERSONNEL:N3*]|QUA|CTI_SAE_CATEGORIES_PERSONNEL | |||||
| N4000|Personnels médico-techniques|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_PERSONNEL:N4*]|QUA|CTI_SAE_CATEGORIES_PERSONNEL | |||||
| N5000|Personnels techniques et ouvriers|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_PERSONNEL:N5*]|QUA|CTI_SAE_CATEGORIES_PERSONNEL | |||||
| X9000|Hors champ SAE|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_PERSONNEL:X*]|QUA|CTI_SAE_CATEGORIES_PERSONNEL | |||||
| M1010|Médecine générale||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1020|Anatomie et cytologie pathologiques||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1030|Anesthésie-réanimation||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1031|Réanimation médicale||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1040|Cardiologie et maladies cardiovasculaires||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1050|Dermatologie - Vénérologie - Allergologie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1070|Endocrinologie et maladies métaboliques||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1090|Gastro entérologie et hépatologie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1100|Médecine interne etimmunologie clinique||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1110|Néphrologie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1120|Neurologie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1130|Oncologie médicale||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1140|Pédiatrie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1150|Pneumologie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1160|Radiologie et imagerie médicale||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1170|Oncologie radiothérapique||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1180|Médecine physique et de réadaptation||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1190|Rhumatologie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1200|Autres spécialités médicales||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1210|Médecine nucléaire||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1310|Génétique||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1320|Gériatrie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1330|Hématologie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1340|Médecine d'urgence||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M2010|Chirurgie générale||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M2020|Chirurgie maxillo-faciale - Stomatologie et chirurgie orale||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M2030|Chirurgie orthopédique et traumatologie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M2040|Chirurgie plastique reconstructrice et esthétique||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M2050|Gynécologie - Obstétrique||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M2060|Neuro-chirurgie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M2070|Ophtalmologie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M2080|Oto-rhino-laryngologie et cervico-faciale||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M2100|Chirurgie Urologique||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M2110|Autres spécialités chirurgicale||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M2120|Chirurgie viscérale et digestive||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M2130|Chirurgie vasculaire||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M2140|Chirurgie thoracique et cardiaque||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M2150|Chirurgie infantile||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M3011|Médecins spécialisés en biologie médicale||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M3012|Pharmaciens spécialisés en biologie médicale||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M3020|Psychiatrie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M3030|Odontologie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M3040|Santé publique (y compris DIM)||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M3050|Pharmacien (hors biologie médicale)||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M3060|Médecins du travail||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M3070|Autres||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N1110|Personnel de direction||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N1210|Secrétaires médicaux et assistants médico-administratif||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N1220|Autres personnels administratifs||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N1310|Directeurs des soins (écoles paramédicales et soins non infirmiers)||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N1410|Directeur de soins infirmiers||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2120|Surveillants et autres personnels d'encadrement infirmiers||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2130|Surveillants des personnels de rééducation et autres personnels d'encadrement non infirmier||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2210|Infirmiers DE sans spécialisation (hors secteur psy)||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2220|Infirmiers DE en secteur psychiatrique||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2310|Infirmiers DE anesthésistes||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2320|Infirmiers DE bloc opératoire||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2340|Puericultrices DE||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2350|Infirmiers en pratique avancée (IPA)||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2410|Masseurs kinésithérapeuthes||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2420|Pédicures - Podologues||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2430|Orthophonistes||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2440|Orthoptistes||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2450|Diététiciens||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2460|Ergothérapeuthes||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2470|Psychomotricien||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2480|Autres emplois des services de rééducation||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2510|Aides soignants||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2520|Aides médico-psychologique||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2530|Auxilliaires de puériculture||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2610|Agents de service hospitalier||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2620|Autres personnels de service des services de soins||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2630|Fammilles d'accueil||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2710|Psychologues||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N2810|Sages-femmes y compris encadrement et écoles||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N3110|Personnels éducatifs||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N3111|Educateurs spécialisés||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N3120|Assistants de service social||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N3121|Cadres socio-éducatifs||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N3130|Autres personnels éducatifs et sociaux||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N4110|Personnels des services de laboratoire||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N411B|Techniciens de laboratoire||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N411C|Autres personnels des services de laboratoire||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N4120|Préparateurs en pharmacie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N412A|Autres personnels des services de pharmacie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N4130|Manipulateurs d'électroradiologie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N4140|Autres personnels des services de radiologie||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N4150|Autres personnels médico-technique||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N4160|Surveillants, cadres et autres personnels d'encadrement médico-technique||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N4170|Dosimétristes||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N4180|Radiophysiciens - Physiciens médicaux||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N4190|Conseillers en génétique||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N5110|Ingénieurs||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N511A|Personnels des services techniques hors ingénieurs||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N5120|Personnel informatique et organisation hors ingénieur||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| N5130|Personnels des services techniques et des services intérieurs||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| X9190|Hors champ SAE Autres||||QUA|CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL | |||||
| M1000|Spécialités médicales|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:M1*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| M2000|Spécialités chirurgicales|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:M2*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| M3000|Autres disciplines médicales|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:M3*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| N1100|Personnels de direction|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N11*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| N1200|Autres personnels administratifs|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N12*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| N1300|Directeur de soins|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N13*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| N1400|Directeur de soins infirmiers|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N14*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| N2100|Personnels d'encadrement du personnel des services de soins|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N21*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| N2200|Infirmiers DE sans spécialisation|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N22*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| N2300|Infirmiers DE avec spécialisation|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N23*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| N2400|Personnels de rééducation|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N24*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| N2500|Aides-soignants|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N25*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| N2600|Agents de services hospitaliers|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N26*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| N2700|Psychologues|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N27*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| N2800|Sages-femmes y compris encadrement et écoles|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N28*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| N3100|Personnels éducatifs et sociaux|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N31*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| N4100|Personnels médico-techniques|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N41*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| N5100|Personnels techniques et ouvriers|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:N51*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| X9100|Hors champs SAE|<NULL>||[CLASSE:CTI_SAE_SPECIALITES_DETAILLEES_PERSONNEL:X*]|QUA|CTI_SAE_SPECIALITES_PERSONNEL | |||||
| M9999|Personnels médicaux|<NULL>||[CLASSE:CTI_SAE_CATEGORIES_PERSONNEL:M*]|QUA|CTI_SAE_TYPES_PERSONNEL | |||||
| N9999|Personnels non médicaux|<NULL>||[CLASSE:CTI_SAE_CATEGORIES_PERSONNEL:N*]|QUA|CTI_SAE_TYPES_PERSONNEL | |||||
| X9999|Hors champ SAE|<NULL>||[CLASSE:CTI_SAE_CATEGORIES_PERSONNEL:X*]|QUA|CTI_SAE_TYPES_PERSONNEL | |||||
| 01|Absence maladie||||RUP|ALM_HRS | |||||
| 02|Absence maternité||||RUP|ALM_HRS | |||||
| 03|Absence CP||||RUP|ALM_HRS | |||||
| 04|Autres absences||||RUP|ALM_HRS | |||||
| 05|Heures contractuelles||||RUP|ALM_HRS | |||||
| 06|Heures sup. et comp.||||RUP|ALM_HRS | |||||
| 07|Absence AT et MP||||RUP|ALM_HRS | |||||
| 08|Absences congés parental||||RUP|ALM_HRS | |||||
| 09|Maintien Absence maladie||||RUP|ALM_HRS | |||||
| 10|Maintien Absence maternité||||RUP|ALM_HRS | |||||
| 11|Maintien Absence CP||||RUP|ALM_HRS | |||||
| 12|Maintien Autres absences||||RUP|ALM_HRS | |||||
| 13|Maintien AT et MP||||RUP|ALM_HRS | |||||
| 14|Maintien Absence congés parental||||RUP|ALM_HRS | |||||
| 15|Heures payées||||RUP|ALM_HRS | |||||
| 16|Absences payées non travaillées SAGE||||RUP|ALM_HRS | |||||
| BRU|Brut||||RUP|CTI_RUB | |||||
| CDE|Cotisations déductibles||||RUP|CTI_RUB | |||||
| CND|Cotisations non déductibles||||RUP|CTI_RUB | |||||
| EXO|Exonérations||||RUP|CTI_RUB | |||||
| GAI|Gains non imposables||||RUP|CTI_RUB | |||||
| NAT|Avantages en nature||||RUP|CTI_RUB | |||||
| RET|Retenues non imposables||||RUP|CTI_RUB | |||||
| 1|MCO|<NULL>|||SER|CTI_SAE_GROUPES_DISCIPLINES | |||||
| 2|PSY|<NULL>|||SER|CTI_SAE_GROUPES_DISCIPLINES | |||||
| 3|HAD|<NULL>|||SER|CTI_SAE_GROUPES_DISCIPLINES | |||||
| 4|SSR|<NULL>|||SER|CTI_SAE_GROUPES_DISCIPLINES | |||||
| S1|Ouvrier||||STA|CTI_STATUT | |||||
| S2|Employé||||STA|CTI_STATUT | |||||
| S3|Technicien||||STA|CTI_STATUT | |||||
| S4|Agent de maitrise||||STA|CTI_STATUT | |||||
| S5|Cadre||||STA|CTI_STATUT | |||||
| CDD|Contrats à durée déterminée||||TCN|CTI_TCNT | |||||
| CDI|Contrats à durée indéterminée||||TCN|CTI_TCNT | |||||
| TC|Temps complet||||TTT|CTI_TTT | |||||
| TP|Temps partiel||||TTT|CTI_TTT | |||||
| @ -0,0 +1,111 @@ | |||||
| section_code|to_code|table_code|classe_sequence | |||||
| S1|001|AGE|9 | |||||
| S1|002|AGE|9 | |||||
| S1|003|AGE|9 | |||||
| S1|004|AGE|9 | |||||
| S1|005|AGE|9 | |||||
| S1|006|AGE|9 | |||||
| S1|007|AGE|9 | |||||
| S1|008|AGE|9 | |||||
| S1|009|AGE|9 | |||||
| S1|010|AGE|9 | |||||
| S1|011|AGE|9 | |||||
| S1|012|AGE|9 | |||||
| S1|013|AGE|9 | |||||
| S1|014|AGE|9 | |||||
| S1|015|AGE|9 | |||||
| S1|016|AGE|9 | |||||
| S1|017|AGE|9 | |||||
| S1|018|AGE|9 | |||||
| S1|019|AGE|9 | |||||
| S1|020|AGE|9 | |||||
| S1|021|AGE|9 | |||||
| S1|022|AGE|9 | |||||
| S1|023|AGE|9 | |||||
| S1|024|AGE|9 | |||||
| S2|025|AGE|9 | |||||
| S2|026|AGE|9 | |||||
| S2|027|AGE|9 | |||||
| S2|028|AGE|9 | |||||
| S2|029|AGE|9 | |||||
| S2|030|AGE|9 | |||||
| S2|031|AGE|9 | |||||
| S2|032|AGE|9 | |||||
| S2|033|AGE|9 | |||||
| S2|034|AGE|9 | |||||
| S2|035|AGE|9 | |||||
| S3|036|AGE|9 | |||||
| S3|037|AGE|9 | |||||
| S3|038|AGE|9 | |||||
| S3|039|AGE|9 | |||||
| S3|040|AGE|9 | |||||
| S3|041|AGE|9 | |||||
| S3|042|AGE|9 | |||||
| S3|043|AGE|9 | |||||
| S3|044|AGE|9 | |||||
| S3|045|AGE|9 | |||||
| S4|046|AGE|9 | |||||
| S4|047|AGE|9 | |||||
| S4|048|AGE|9 | |||||
| S4|049|AGE|9 | |||||
| S4|050|AGE|9 | |||||
| S4|051|AGE|9 | |||||
| S4|052|AGE|9 | |||||
| S4|053|AGE|9 | |||||
| S4|054|AGE|9 | |||||
| S4|055|AGE|9 | |||||
| S5|056|AGE|9 | |||||
| S5|057|AGE|9 | |||||
| S5|058|AGE|9 | |||||
| S5|059|AGE|9 | |||||
| S5|060|AGE|9 | |||||
| S5|061|AGE|9 | |||||
| S5|062|AGE|9 | |||||
| S5|063|AGE|9 | |||||
| S5|064|AGE|9 | |||||
| S5|065|AGE|9 | |||||
| S6|066|AGE|9 | |||||
| S6|067|AGE|9 | |||||
| S6|068|AGE|9 | |||||
| S6|069|AGE|9 | |||||
| S6|070|AGE|9 | |||||
| S6|071|AGE|9 | |||||
| S6|072|AGE|9 | |||||
| S6|073|AGE|9 | |||||
| S6|074|AGE|9 | |||||
| S6|075|AGE|9 | |||||
| S6|076|AGE|9 | |||||
| S6|077|AGE|9 | |||||
| S6|078|AGE|9 | |||||
| S6|079|AGE|9 | |||||
| S6|080|AGE|9 | |||||
| S6|081|AGE|9 | |||||
| S6|082|AGE|9 | |||||
| S6|083|AGE|9 | |||||
| S6|084|AGE|9 | |||||
| S6|085|AGE|9 | |||||
| S6|086|AGE|9 | |||||
| S6|087|AGE|9 | |||||
| S6|088|AGE|9 | |||||
| S6|089|AGE|9 | |||||
| S6|090|AGE|9 | |||||
| S6|091|AGE|9 | |||||
| S6|092|AGE|9 | |||||
| S6|093|AGE|9 | |||||
| S6|094|AGE|9 | |||||
| S6|095|AGE|9 | |||||
| S6|096|AGE|9 | |||||
| S6|097|AGE|9 | |||||
| S6|098|AGE|9 | |||||
| S6|099|AGE|9 | |||||
| S6|100|AGE|9 | |||||
| S6|101|AGE|9 | |||||
| S6|102|AGE|9 | |||||
| S6|103|AGE|9 | |||||
| S6|104|AGE|9 | |||||
| S6|105|AGE|9 | |||||
| S6|106|AGE|9 | |||||
| S6|107|AGE|9 | |||||
| S6|108|AGE|9 | |||||
| S6|109|AGE|9 | |||||
| S6|110|AGE|9 | |||||
| @ -0,0 +1,52 @@ | |||||
| section_code|to_code|table_code|classe_sequence | |||||
| S1|00|ANC|9 | |||||
| S1|01|ANC|9 | |||||
| S1|02|ANC|9 | |||||
| S1|03|ANC|9 | |||||
| S1|04|ANC|9 | |||||
| S1|05|ANC|9 | |||||
| S1|06|ANC|9 | |||||
| S1|07|ANC|9 | |||||
| S1|08|ANC|9 | |||||
| S1|09|ANC|9 | |||||
| S2|10|ANC|9 | |||||
| S2|11|ANC|9 | |||||
| S2|12|ANC|9 | |||||
| S2|13|ANC|9 | |||||
| S2|14|ANC|9 | |||||
| S2|15|ANC|9 | |||||
| S2|16|ANC|9 | |||||
| S2|17|ANC|9 | |||||
| S2|18|ANC|9 | |||||
| S2|19|ANC|9 | |||||
| S2|20|ANC|9 | |||||
| S3|21|ANC|9 | |||||
| S3|22|ANC|9 | |||||
| S3|23|ANC|9 | |||||
| S3|24|ANC|9 | |||||
| S3|25|ANC|9 | |||||
| S3|26|ANC|9 | |||||
| S3|27|ANC|9 | |||||
| S3|28|ANC|9 | |||||
| S3|29|ANC|9 | |||||
| S3|30|ANC|9 | |||||
| S4|31|ANC|9 | |||||
| S4|32|ANC|9 | |||||
| S4|33|ANC|9 | |||||
| S4|34|ANC|9 | |||||
| S4|35|ANC|9 | |||||
| S4|36|ANC|9 | |||||
| S4|37|ANC|9 | |||||
| S4|38|ANC|9 | |||||
| S4|39|ANC|9 | |||||
| S4|40|ANC|9 | |||||
| S4|41|ANC|9 | |||||
| S4|42|ANC|9 | |||||
| S4|43|ANC|9 | |||||
| S4|44|ANC|9 | |||||
| S4|45|ANC|9 | |||||
| S4|46|ANC|9 | |||||
| S4|47|ANC|9 | |||||
| S4|48|ANC|9 | |||||
| S4|49|ANC|9 | |||||
| S4|50|ANC|9 | |||||
| @ -0,0 +1,2 @@ | |||||
| code|label | |||||
| CTI_EGAPRO|Cockpit RH | |||||
| @ -0,0 +1,6 @@ | |||||
| oid|dashboard_code|external_code2 | |||||
| 1|CTI_EGAPRO|CTI_AGE#LS#AGE:CTI_AGE:S1 | |||||
| 1|CTI_EGAPRO|CTI_AGE#LS#AGE:CTI_AGE:S3 | |||||
| 1|CTI_EGAPRO|CTI_AGE#LS#AGE:CTI_AGE:S6 | |||||
| 1|CTI_EGAPRO|CTI_SEXE#DT#1 | |||||
| 1|CTI_EGAPRO|CTI_SEXE#DT#2 | |||||
| @ -0,0 +1,3 @@ | |||||
| oid|dashboard_code|name|index | |||||
| 1|CTI_EGAPRO|Effectif|0 | |||||
| 1|CTI_EGAPRO|Masse Salariale|1 | |||||
| @ -0,0 +1,12 @@ | |||||
| oid|chart_code|dashboard_code|deprecated | |||||
| 1|CTI_STATTIME|CTI_EGAPRO|t | |||||
| 1|CTI_TYPECNT|CTI_EGAPRO|f | |||||
| 1|CTI_STAT|CTI_EGAPRO|f | |||||
| 1|CTI_EFFANC|CTI_EGAPRO|f | |||||
| 1|CTI_ENTSORCAR|CTI_EGAPRO|f | |||||
| 1|CTI_MSCSPMAP|CTI_EGAPRO|f | |||||
| 1|CTI_MSAGE|CTI_EGAPRO|f | |||||
| 1|CTI_EFFGEN|CTI_EGAPRO|f | |||||
| 1|CTI_EFFAGE|CTI_EGAPRO|f | |||||
| 1|CTI_EFFSTAT|CTI_EGAPRO|f | |||||
| 1|CTI_MSCSP|CTI_EGAPRO|f | |||||
| @ -0,0 +1,40 @@ | |||||
| oid|code|texte|description|is_cti|gravite_id|start_periode | |||||
| 0||||1|9|A1 | |||||
| 1|CTI_NIV1_C000|Présence de C000|<NULL>|1|9|A1 | |||||
| 1|CTI_NIV1_CAD_EMP_NR|Cadre d'emploi non renseigné|<NULL>|1|9|A1 | |||||
| 1|CTI_NIV1_CAT_STAT_NR|Catégorie statutaire non renseignée|<NULL>|1|9|A1 | |||||
| 1|CTI_NIV1_CE_NR|Code emploi non renseigné||1|9|A1 | |||||
| 1|CTI_NIV1_COD_POST_NR|Code postal non renseigné|<NULL>|1|9|A1 | |||||
| 1|CTI_NIV1_COM_PAR_NR|Commission paritaire non renseignée|<NULL>|1|9|A1 | |||||
| 1|CTI_NIV1_CSP_NR|Catégorie socio-professionnelle non renseignée||1|9|A1 | |||||
| 1|CTI_NIV1_CTRID_NULL|Contrat ID null en paie|<NULL>|1|9|A1 | |||||
| 1|CTI_NIV1_DAT_NAIS_NR|Date de naissance non renseignée|<NULL>|1|9|A1 | |||||
| 1|CTI_NIV1_DTEDEB_NR|Date de début de contrat non renseignée|<NULL>|1|9|A1 | |||||
| 1|CTI_NIV1_DTEFIN_NR|Date de fin de contrat non renseignée|<NULL>|1|9|A1 | |||||
| 1|CTI_NIV1_FIL_NR|Filière non renseignée|<NULL>|1|9|A1 | |||||
| 1|CTI_NIV1_GRI_NR|Grille non renseignée||1|9|A1 | |||||
| 1|CTI_NIV1_GROGRI_NR|Groupe Grille non renseigné||1|9|A1 | |||||
| 1|CTI_NIV1_GRO_COT_NR|Groupe de cotisant non renseigné|<NULL>|1|9|A1 | |||||
| 1|CTI_NIV1_MOTDEB_NR|Motif de début non renseigné|Contrats sans motif de début.|1|9|A1 | |||||
| 1|CTI_NIV1_MOTFIN_NR|Motif de Fin non renseigné||1|9|A1 | |||||
| 1|CTI_NIV1_NAT_NR|Nationalité non renseigné||1|9|A1 | |||||
| 1|CTI_NIV1_QUAL_NR|Qualification non renseignée||1|9|A1 | |||||
| 1|CTI_NIV1_SEX_NR|Sexe non renseigné|<NULL>|1|9|A1 | |||||
| 1|CTI_NIV1_SPE_NR|Spécialité non renseignée||1|9|A1 | |||||
| 1|CTI_NIV1_SRV_NR|Service non renseigné||1|9|A1 | |||||
| 1|CTI_NIV1_STT_NR|Statut non renseigné||1|9|A1 | |||||
| 1|CTI_NIV1_TC_NR|Type de contrat non renseigné||1|9|A1 | |||||
| 1|CTI_NIV1_TTT_NR|Type temps travail non renseigné||1|9|A1 | |||||
| 1|CTI_NIV1_UNI_FONC_NR|Unité fonctionnelle non renseignée|<NULL>|1|9|A1 | |||||
| 1|CTI_NIV2_C000_BRUT|Présence C000 BRUT||1|5|A1 | |||||
| 1|CTI_NIV2_C000_COT_PAT|Présence C000 Cotisation Patronale||1|5|A1 | |||||
| 1|CTI_NIV2_C000_COT_SAL|Présence C000 Cotisation Salariale||1|5|A1 | |||||
| 1|CTI_NIV2_C000_H_CONTRAT|Présence C000 Heures Contrat||1|5|A1 | |||||
| 1|CTI_NIV2_C000_H_PAYEES|Présence C000 Heures Payées||1|5|A1 | |||||
| 1|CTI_NIV2_C000_H_TRAVAILLEES|Présence C000 Heures Travaillées||1|5|A1 | |||||
| 1|CTI_NIV2_C000_MASSE_SALARIALE|Présence C000 Masse Salariale||1|5|A1 | |||||
| 1|CTI_NIV2_C000_NET_A_PAYE|Présence C000 Net A Payer Salarié||1|5|A1 | |||||
| 1|CTI_NIV2_C000_NET_IMP|Présence C000 Net Imposable Salarié||1|5|A1 | |||||
| 1|CTI_NIV2_HCSORTI|Salarié avec plus d'une paie avec heures contrat après sortie de l'établissement||1|5|A1 | |||||
| 1|CTI_NIV3_PRESENCE_PAIE_PAS_PLANNING|Liste des salariés présents en paie mais pas au planning|Liste des salariés présents en paie mais pas au planning|1|1|A2 | |||||
| 1|CTI_NIV3_PRESENCE_PLANNING_PAS_PAIE|Liste des personnes présentes au planning mais pas en planning|Liste des personnes présentes au planning mais pas en planning|1|1|A2 | |||||
| @ -0,0 +1,38 @@ | |||||
| oid|expert_controle_code|data_type|indicateur_code|indicateur_condition_external_code_1|indicateur_condition_external_code_2|indicateur_condition_external_code_3|formula|indicateur_code_2|indicateur_condition_external_code_21|indicateur_condition_external_code_22|indicateur_condition_external_code_23|formula_2|indicateur_code_3|indicateur_condition_external_code_31|indicateur_condition_external_code_32|indicateur_condition_external_code_33|formula_3|expert_controle_id|expert_controle_rule_id|indicateur_id|indicateur_condition_id_1|indicateur_condition_id_2|indicateur_condition_id_3|indicateur_2_id|indicateur_condition_id_21|indicateur_condition_id_22|indicateur_condition_id_23|indicateur_3_id|indicateur_condition_id_31|indicateur_condition_id_32|indicateur_condition_id_33 | |||||
| 1|CTI_NIV1_C000|salarie|CTI_C000||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_CAD_EMP_NR|salarie|CTI_CDM||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_CAT_STAT_NR|salarie|CTI_CST||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_CE_NR|salarie|CTI_CEM|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_COD_POST_NR|salarie|CTI_CPO||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_COM_PAR_NR|salarie|CTI_CPA||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_CSP_NR|salarie|CTI_CSP|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_CTRID_NULL|salarie|CTI_CTRID_NULL||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_DAT_NAIS_NR|salarie|CTI_DNA||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_DTEDEB_NR|salarie|CTI_DTEDEB_NR||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_DTEFIN_NR|salarie|CTI_DTEFIN_NR||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_FIL_NR|salarie|CTI_FIL||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_GRI_NR|salarie|CTI_GRI|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_GROGRI_NR|salarie|CTI_GGR|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_GRO_COT_NR|salarie|CTI_GCO||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_MOTDEB_NR|salarie|CTI_MDD|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_MOTFIN_NR|salarie|CTI_MDF|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_NAT_NR|salarie|CTI_NAT|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_QUAL_NR|salarie|CTI_QUA|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_SEX_NR|salarie|CTI_SEX||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_SPE_NR|salarie|CTI_SPE|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_SRV_NR|salarie|CTI_SER|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_STT_NR|salarie|CTI_STA|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_TC_NR|salarie|CTI_TCNT|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_TTT_NR|salarie|CTI_TTT|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV1_UNI_FONC_NR|salarie|CTI_UFO||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV2_C000_BRUT|salarie|CTI_C000_BRUT|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV2_C000_COT_PAT|salarie|CTI_C000_COT_PAT|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV2_C000_COT_SAL|salarie|CTI_C000_COT_SAL|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV2_C000_H_CONTRAT|salarie|CTI_C000_H_CONTRAT||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV2_C000_H_PAYEES|salarie|CTI_C000_H_PAYEES|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV2_C000_H_TRAVAILLEES|salarie|CTI_C000_H_TRAVAILLES|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV2_C000_MASSE_SALARIALE|salarie|CTI_C000_MASSE_SALARIALE|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV2_C000_NET_A_PAYE|salarie|CTI_C000_NET_A_PAYE|||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV2_C000_NET_IMP|salarie|CTINETIMPOS|CTI_RUBRIQUE#DT#C000||||<NULL>|||||<NULL>|||||0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV3_PRESENCE_PAIE_PAS_PLANNING|salarie|CTI_PRESENCE_PAIE_PAS_PLANNING||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| 1|CTI_NIV3_PRESENCE_PLANNING_PAS_PAIE|salarie|CTI_PRESENCE_PLANNING_PAS_PAIE||||<NULL>|<NULL>||||<NULL>|<NULL>||||<NULL>|0|0|0|0|0|0|0|0|0|0|0|0|0|0 | |||||
| @ -0,0 +1,21 @@ | |||||
| code|indicateur_code|name|color|formula|calc|total|format|external_code2|serie_code | |||||
| CTI_ENTSORF||Nombre entrees et sorties Femmes|#d19aed|[1] + [2]|t|f||{}|{1:CTI_NVSALF,2:CTI_DEPSALF} | |||||
| CTI_ENTSORH||Nombre entrees et sorties Hommes|#7b53e8|[1] + [2]|t|f||{}|{1:CTI_NVSALH,2:CTI_DEPSALH} | |||||
| CTI_HSUPF||Heures supplementaires Femmes|#d19aed||f|f||{CTI_SEXE#DT#2}|<NULL> | |||||
| CTI_HSUPH||Heures supplementaires Hommes|#7b53e8||f|f||{CTI_SEXE#DT#1}|<NULL> | |||||
| CTI_TAUXSTAT||Taux par statut||([1] / [2])|t|f|0.00%|{}|{1:CTI_TOTSAL,2:CTI_TOTSALF} | |||||
| CTI_TOF||Turn Over Femmes|#d19aed|([1]/2) / [2]|t|f|0.00%|{}|{1:CTI_ENTSORF,2:CTI_EFFDF} | |||||
| CTI_TOH||Turn Over Hommes|#7b53e8|([1]/2) / [2]|t|f|0.00%|{}|{1:CTI_ENTSORH,2:CTI_EFFDH} | |||||
| CTI_MS|CTIMTMASSE|Masse salariale|#7b53e8||f|f||{}|<NULL> | |||||
| CTI_MSF|CTIMTMASSE|Masse salariale Femmes|#d19aed||f|f||{CTI_SEXE#DT#2}|<NULL> | |||||
| CTI_MSH|CTIMTMASSE|Masse salariale Hommes|#7b53e8||f|f||{CTI_SEXE#DT#1}|<NULL> | |||||
| CTI_EFFDF|CTI_EFFDJPER|Effectifs dernier jour Femmes|#d19aed||f|f||{CTI_SEXE#DT#2}|<NULL> | |||||
| CTI_EFFDH|CTI_EFFDJPER|Effectifs dernier jour Hommes|#7b53e8||f|f||{CTI_SEXE#DT#1}|<NULL> | |||||
| CTI_FEMMES|CTI_NBSALCNT|Femmes|#d19aed||f|f||{CTI_SEXE#DT#2}|<NULL> | |||||
| CTI_HOMMES|CTI_NBSALCNT|Hommes|#7b53e8||f|f||{CTI_SEXE#DT#1}|<NULL> | |||||
| CTI_TOTSAL|CTI_NBSALCNT|Total salaries|||f|f||{}|<NULL> | |||||
| CTI_TOTSALF|CTI_NBSALCNT|Total Salaries fin annee|||f|t||{}|<NULL> | |||||
| CTI_NVSALF|CTI_NOUVSALS|Nouveaux salaries Femmes|#d19aed||f|f||{CTI_SEXE#DT#2}|<NULL> | |||||
| CTI_NVSALH|CTI_NOUVSALS|Nouveaux salaries Hommes|#7b53e8||f|f||{CTI_SEXE#DT#1}|<NULL> | |||||
| CTI_DEPSALF|CTI_SALPARTISSP|Departs salaries Femmes|#d19aed||f|f||{CTI_SEXE#DT#2}|<NULL> | |||||
| CTI_DEPSALH|CTI_SALPARTISSP|Departs salaries Hommes|#7b53e8||f|f||{CTI_SEXE#DT#1}|<NULL> | |||||
| @ -0,0 +1,192 @@ | |||||
| oid|code|texte|table_name|column_name|is_cti|entete|total_function|output_format|width|entete_etendue|dimension_date_1|dimension_date_2|dimension_date_3|dimension_date_4|dimension_date_5|dimension_date|indicateur_associe_1_code|indicateur_associe_2_code|indicateur_associe_3_code|indicateur_associe_4_code|indicateur_associe_5_code|indicateur_associe_6_code|indicateur_associe_7_code|indicateur_associe_8_code|indicateur_associe_9_code|indicateur_associe_10_code|indicateur_associe_11_code|indicateur_associe_12_code|indicateur_associe_13_code|indicateur_associe_14_code|indicateur_associe_15_code|indicateur_associe_16_code|indicateur_associe_17_code|indicateur_associe_18_code|indicateur_associe_19_code|indicateur_associe_20_code|indicateur_reference_code | |||||
| 1|CTIAN|Avantages en nature|v_historique_paie_1|montant_avantage_nature|1|Avantage nature|SUM|#E|80|Avantages nature|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTICOTPAT|Cotisations patronales|v_historique_paie_1|montant_cotisation_patronale|1|Cotisations patronales|SUM|#E|80|Cotisations patronales|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTICOTSAL |Cotisations salariales|v_historique_paie_1|montant_cotisation_salarie|1|Cotisations salariales|SUM|#E|80|Cotisations salariales|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTIETPTHM|ETP travaillé moyen|*CALC|base.cti_division([1], [2])|1|ETP travaillé moyen|*CALC|#,00|0|ETP travaillé moyen| | | | | | |CTI_ETPW|CTI_NBMOIS|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTIHP|Heures payées|v_historique_paie_1|heures_payees|1|Heures payées|SUM||80|Heures payées|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTIHT|Heures travaillées|v_historique_paie_1|heures_travaillees|1|Heures travaillées|SUM||80|Heures travaillées|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTIMASSMOY|Masse salariale moyenne|*CALC|base.cti_division([1], [2])|1|Masse moyenne|*CALC|#E|80|Masse salariale moyenne| | | | | | |CTIMTMASSE|CTI_ETPPAYE|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTIMTBRUT|Montant brut|v_historique_paie_1|montant_brut|1|Brut|SUM|#E|80|Montant brut|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTIMTMASSE|Masse salariale|v_historique_paie_1|montant_masse_salariale|1|Masse|SUM|#E|80|Masse salariale|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTINBCNT|Nombre de contrats|v_contrats_mois_1|DISTINCT contrat_id|1|Contrats|COUNT||80|Nombre de contrats|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTINBDSAL|Nombre de salariés distincts (Historique)|v_historique_paie_1|DISTINCT salarie_id|1|Salariés distincts|COUNT||80|Nombre de salariés distincts (Historique)|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTINBHOMME|Nombre d'Hommes|v_historique_paie_1|DISTINCT (CASE WHEN sexe_code = 'M' THEN salarie_id ELSE null END)|1|NB d'Hommes|COUNT||0|Nombre d'Hommes|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTINBJARRET|Jours d'arret de travail|v_arrets_travail_mois_1|nb_jours_arret|1|Arrets|SUM|#j|60|Jours d'arret de travail|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTINBSAL|Nombre de salariés (Historique)|v_historique_paie_1|salarie_id|1|Salariés|COUNT||80|Nombre de salariés (Historique)|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTINETAPAYER|Net à Payer|v_historique_paie_1|montant_net_a_payer_salarie|1|Net A Payer|SUM|#E|80|Net A Payer|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTINETIMPOS|Net Imposable|v_historique_paie_1|montant_net_imposable_salarie|1|Net Imposable|SUM|#E|80|Net Imposable|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTIODNET|OD sur Net|v_historique_paie_1|montant_od_net_salarie|1|OD sur Net|SUM|#E|80|OD sur Net|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTISALCHGMOYH|Salaire Horaire Chargé|*CALC|[1] / [2]|1|Salaire Chargé Moyen|*CALC||0|Salaire Chargé Moyen| | | | | | |CTIMASSMOY|CTIHP|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTISEP|Séparateur|SEP||1||SUM||0||1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTITA|Base 4600 TA|v_historique_paie_1|CASE WHEN rubrique_code = '4600' THEN base ELSE 0 END|1|Base 4600 TA|SUM|#¤|80|Base 4600 TA|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTITB|Base 4610 TB|v_historique_paie_1|CASE WHEN rubrique_code = '4610' THEN base ELSE 0 END|1|Base 4610 TB|SUM|#¤|80|Base 4610 TB|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_ACTJPCT|Pourcentage de jours d'accident du travail|*CALC|base.cti_division([1], [2]) * 100|1|Pourcentage de jours d'accident du travail|*CALC|#,0%|0|Pourcentage de jours d'accident du travail| | | | | | |CTI_NBJARRET_ACT|CTINBJARRET|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_ACTPCT|Pourcentage d'accident du travail|*CALC|base.cti_division([1], [2]) * 100|1|Pourcentage d'accident du travail|*CALC|#,0%|0|Pourcentage d'accident du travail| | | | | | |CTI_NBARRET_ACT|CTI_NBARRET|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_AGEMOY|Age moyen|*CALC|base.cti_division([1]::numeric, [2]::numeric)|1|Age moyen|*CALC|#,0|0|Age moyen| | | | | | |CTI_SAGE|CTI_CAGE|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_AGESUM|Somme totale des ages|v_contrats_mois_1|rhp_age_id|1|Somme totale des ages|SUM||0|Somme totale des ages|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_BRUTCPA1|Montant Brut CP A-1 ( rub 1981)|v_historique_paie_1|CASE WHEN rubrique_code = '1981' THEN montant_brut ELSE 0 END|1|Brut CP A-1|SUM|#E|80|Montant Brut CP A-1|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_BRUTMOYEN|Brut moyen/ETP|*CALC|[1] / [2]|1|Brut Moyen(/ETP)|*CALC||0|Brut Moyen(/ETP)| | | | | | |CTIMTBRUT|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_BRUTMOYENETP|Brut moyen/ETP|*CALC|base.cti_division([1], [2])|1|Brut Moyen(/ETP)|*CALC|#E|0|Brut Moyen(/ETP)| | | | | | |CTI_MTBRUT|CTI_ETPPAYE|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_CAGE|Comptage salariés pour Age moyen|v_contrats_mois_1|"DISTINCT salarie_id::text||'-'||age_id::text"|1|Comptage salariés pour Age moyen|COUNT|#,0|0|Comptage salariés pour Age moyen|1| | | | |1|CTI_AGESUM|CTI_NDSAL|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_CALNBJ_OUVRE|Nombre de jours ouvrés|CALENDRIER|nb_jour_ouvre|1|Jours ouvrés|SUM|#|80|Jours ouvrés|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_CALNBJ_SEM|Nombre de jours semaine|CALENDRIER|nb_jour_semaine|1|Jours semaine|SUM|#|80|Jours semaine|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_CCO|Qualité - Catégorie de congé|v_contrats_mois_1|DISTINCT CASE WHEN categorie_conge_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Catégorie de congé|COUNT||0|Catégorie de congé|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_CDDSALP|Salarié en CDD : Nombre Moyen de contrats|*CALC|base.cti_division([1], [2])|1|Salarié en CDD : Nombre Moyen de contrats|*CALC|#,0|0|Salarié en CDD : Nombre Moyen de contrats| | | | | | |CTI_NBCONTRATCDD|CTI_NBSALCDD|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_CDM|Qualité - Cadre d'emploi|v_contrats_mois_1|DISTINCT CASE WHEN cadre_emploi_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Cadre d'emploi|COUNT||0|Cadre d'emploi|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_CEM|Qualité - Code emploi|v_contrats_mois_1|DISTINCT CASE WHEN code_emploi_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Code emploi|COUNT||0|Code emploi|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_CNTCMP|Contrats en temps complet|v_contrats_mois_1|CASE WHEN type_temps_travail_section_code[9] = 'TC' THEN contrat_id ELSE null END|1|Temps complet|COUNT||0|Contrats en temps complet|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_CNTPAR|Contrats en temps partiel|v_contrats_mois_1|CASE WHEN type_temps_travail_section_code[9] = 'TP' THEN contrat_id ELSE null END|1|Temps partiel|COUNT||0|Contrats en temps partiel|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_CPA|Qualité - Commission paritaire|v_contrats_mois_1|DISTINCT CASE WHEN commission_paritaire_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Commission paritaire|COUNT||0|Commission paritaire|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_CPA1|Base CP Pris sur A-1 1981|v_historique_paie_1|CASE WHEN rubrique_code = '1981' THEN base ELSE 0 END|1|Base CP a-1|SUM|#j|80|Base CP A-1|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_CPO|Qualité - Code postal|v_contrats_mois_1|DISTINCT CASE WHEN code_postal_id = 0 THEN salarie_id ELSE null END|1|Code postal|COUNT||0|Code postal|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_CSA|Qualité - Compte salarié|v_contrats_mois_1|DISTINCT CASE WHEN compte_salarie_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Compte salarié|COUNT||0|Compte salarié|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_CSP|Qualité - Catégorie socio-professionnelle|v_contrats_mois_1|DISTINCT CASE WHEN categorie_socio_professionnelle_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Catégorie socio-professionnelle|COUNT||0|Catégorie socio-professionnelle|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_CST|Qualité - Catégorie statutaire|v_contrats_mois_1|DISTINCT CASE WHEN categorie_statutaire_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Catégorie statutaire|COUNT||0|Catégorie statutaire|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_DBTCDD|Nombre débuts de CDD|v_contrats_mois_1|"DISTINCT (CASE WHEN 1=1 | |||||
| AND nombre_debut_contrat > 0 | |||||
| AND type_contrat_section_code[9] = 'CDD' | |||||
| THEN contrat_id | |||||
| ELSE null END)"|1|Débuts de CDD|COUNT||0|Nombre débuts de CDD|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_DBTCDI|Nombre de début de CDI|v_contrats_mois_1|"DISTINCT (CASE WHEN 1=1 | |||||
| AND nombre_debut_contrat > 0 | |||||
| AND type_contrat_section_code[9] = 'CDI' | |||||
| THEN contrat_id | |||||
| ELSE null END)"|1|Débuts de CDI|COUNT||0|Nombre de début de CDI|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_DNA|Qualité - Date de naissance|v_contrats_mois_1|DISTINCT CASE WHEN date_naissance <= '19200101'::date THEN salarie_id ELSE null END|1|Date de naissance|COUNT||0|Date de naissance|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_DUREEMOYARRETS|Durée moyenne des arrêts|*CALC|base.cti_division([1], [2])|1|Durée moyenne des arrêts|*CALC|#,0|0|Durée moyenne des arrêts| | | | | | |CTINBJARRET|CTI_NBARRET|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_EFF1ERJANV|Effectif total au 1er janvier|v_contrats_mois_1|"DISTINCT CASE | |||||
| WHEN 1=1 | |||||
| AND present_debut_mois = 1 | |||||
| AND date_part('month', date_debut_activite) = 1 | |||||
| THEN salarie_id | |||||
| ELSE null | |||||
| END"|1|Effectif total au 1er janvier|COUNT||0|Effectif total au 1er janvier|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_EFF31DEV|Effectif total au 31 décembre|v_contrats_mois_1|"DISTINCT CASE | |||||
| WHEN 1=1 | |||||
| AND present_fin_mois = 1 | |||||
| AND date_part('month', date_debut_activite) = 12 | |||||
| THEN salarie_id | |||||
| ELSE null | |||||
| END"|1|Effectif total au 31 décembre|COUNT||0|Effectif total au 31 décembre|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_EFFDJPER|Effectif au dernier jour de la période|v_contrats_mois_1|"DISTINCT CASE | |||||
| WHEN 1=1 | |||||
| AND present_fin_mois = 1 | |||||
| THEN salarie_id | |||||
| ELSE null | |||||
| END"|1|Effectif au dernier jour|COUNTLASTMONTH||0|Effectif au dernier jour de la période|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_EFFPERM|Effectif permanent|v_contrats_mois_1|DISTINCT CASE WHEN effectif_permanent = 1 then salarie_id ELSE null END|1|Effectif permanent|COUNTLASTMONTH||0|Effectif permanent|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_EFFPJPER|Effectif au premier jour de la période|v_contrats_mois_1|"DISTINCT CASE | |||||
| WHEN 1=1 | |||||
| AND present_debut_mois = 1 | |||||
| AND to_char(date_debut_activite, 'YYYYMM') = to_char( periode::date, 'YYYYMM') | |||||
| THEN salarie_id | |||||
| ELSE null | |||||
| END"|1|Effectif au premier jour|COUNT||0|Effectif au premier jour de la période|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_EMBCDD|Nombre d'embauche en CDD|v_contrats_mois_1|"DISTINCT (CASE WHEN 1=1 | |||||
| AND nombre_entrees = 1 | |||||
| AND type_contrat_section_code[9] = 'CDD' | |||||
| THEN salarie_id | |||||
| ELSE null END)"|1|Embauche en CDD|COUNT||0|Nombre d'embauche en CDD|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_EMBCDI|Nombre d'embauche en CDI|v_contrats_mois_1|"DISTINCT (CASE WHEN 1=1 | |||||
| AND nombre_entrees = 1 | |||||
| AND type_contrat_section_code[9] = 'CDI' | |||||
| THEN salarie_id | |||||
| ELSE null END)"|1|Embauche en CDI|COUNT||0|Nombre d'embauche en CDI|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_EMBMS25|Nombre d'embauche de salariés de moins de 25 ans|v_contrats_mois_1|"DISTINCT (CASE WHEN 1=1 | |||||
| AND nombre_entrees = 1 | |||||
| AND rhp_age_id < 25 | |||||
| THEN salarie_id | |||||
| ELSE null END)"|1|Embauche < 25 ans|COUNT||0|Nombre d'embauche de salariés de moins de 25 ans|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_ETPPAYE|ETP rémunéré|v_historique_paie_1|etp_paye|1|ETP rémunéré|SUM|#,00|80|ETP rémunéré|4| | | | |4|CTIHP|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_ETPREMMOY|ETP rémunéré moyen|*CALC|base.cti_division([1], [2])|1|ETP rémunéré moyen|*CALC|#,00|0|ETP rémunéré moyen| | | | | | |CTI_ETPPAYE|CTI_NBMOIS|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_ETPW|ETP travaillé|v_historique_paie_1|etp_travaille|1|ETP travaillé|SUM|#,00|80|ETP travaillé|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_FIL|Qualité - Filière|v_contrats_mois_1|DISTINCT CASE WHEN filiere_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Filière|COUNT||0|Filière|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_FINCNT|Nombre de fin de contrats|v_contrats_mois_1|DISTINCT (CASE WHEN nombre_fin_contrat > 0 THEN contrat_id ELSE null END)|1|Fin de contrats|COUNT||0|Nombre de fin de contrats|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_FINCNTCDD|Nombre de fin de CDD|v_contrats_mois_1|"DISTINCT ( | |||||
| CASE WHEN 1=1 | |||||
| AND nombre_fin_contrat > 0 | |||||
| AND type_contrat_section_code[9] = 'CDD' | |||||
| THEN contrat_id | |||||
| ELSE null | |||||
| END)"|1|Fin de CDD|COUNT||0|Nombre de fin de CDD|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_FINCNTCDI|Nombre de fin de CDI|v_contrats_mois_1|"DISTINCT ( | |||||
| CASE WHEN 1=1 | |||||
| AND nombre_fin_contrat > 0 | |||||
| AND type_contrat_section_code[9] = 'CDI' | |||||
| THEN contrat_id | |||||
| ELSE null | |||||
| END)"|1|Fin de CDI|COUNT||0|Nombre de fin de CDI|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_FRIMPOS|Frais Imposable|v_historique_paie_1|montant_frais_imposables|1|Frais Imposable|SUM|#E|80|Frais Imposable|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_GCO|Qualité - Groupe de cotisant|v_contrats_mois_1|DISTINCT CASE WHEN groupe_cotisant_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Groupe de cotisant|COUNT||0|Groupe de cotisant|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_GGR|Qualité - Groupe de grille|v_contrats_mois_1|DISTINCT CASE WHEN grille_groupe_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Groupe de grille|COUNT||0|Groupe de grille|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_GRI|Qualité - Grille|v_contrats_mois_1|DISTINCT CASE WHEN grille_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Grille|COUNT||0|Grille|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_LBU|Qualité - Lettre budgétaire|v_contrats_mois_1|DISTINCT CASE WHEN lettre_budgetaire_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Lettre budgétaire|COUNT||0|Lettre budgétaire|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_MALJPCT|Pourcentage de jours de maladie|*CALC|base.cti_division([1], [2]) * 100|1|Pourcentage de jours de maladie|*CALC|#,0%|0|Pourcentage de jours de maladie| | | | | | |CTI_NBJARRET_MAL|CTINBJARRET|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_MALPCT|Pourcentage de maladie|*CALC|base.cti_division([1], [2]) * 100|1|Pourcentage de maladie|*CALC|#,0%|0|Pourcentage de maladie| | | | | | |CTI_NBARRET_MAL|CTI_NBARRET|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_MATJPCT|Pourcentage de jours de maternité|*CALC|base.cti_division([1], [2]) * 100|1|Pourcentage de jours de maternité|*CALC|#,0%|0|Pourcentage de jours de maternité| | | | | | |CTI_NBJARRET_MAT|CTINBJARRET|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_MATPCT|Pourcentage de maternité|*CALC|base.cti_division([1], [2]) * 100|1|Pourcentage de maternité|*CALC|#,0%|0|Pourcentage de maternité| | | | | | |CTI_NBARRET_MAT|CTI_NBARRET|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_MDD|Qualité - Motif de début de contrat|v_contrats_mois_1|DISTINCT CASE WHEN motif_debut_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Motif de début|COUNT||0|Motif de début|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_MDF|Qualité - Motif de fin de contrat|v_contrats_mois_1|DISTINCT CASE WHEN motif_fin_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Motif de fin|COUNT||0|Motif de fin|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_MHMC|Montant Horaire Moyen Chargé|*CALC|base.cti_division([1], [2])|1|Mnt H. Moy. Chargé|*CALC|#,0E|0|Montant Horaire Moyen Chargé| | | | | | |CTIMTMASSE|CTIHP|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_MTBRUT|Montant brut|v_historique_paie_1|montant_brut|1|Brut|SUM|#E|80|Montant brut|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_MT_CNT|Montant rupture de contrat|v_historique_paie_1|CASE WHEN rubrique_id IN [LISTE:CTI_EXP_CNT] THEN montant_od_net_salarie ELSE 0 END|1|Montant rupture de contrat|SUM|#E|0|Montant rupture de contrat|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_MT_IJ|Montant IJSS|v_historique_paie_1|CASE WHEN rubrique_id IN [LISTE:CTI_EXP_IJS] THEN montant_od_net_salarie ELSE 0 END|1|Montant IJSS|SUM|#E|0|Montant IJSS|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_MT_PRE|Montant prime de précarité|v_historique_paie_1|CASE WHEN rubrique_id IN [LISTE:CTI_EXP_PRE] THEN montant_masse_salariale ELSE 0 END|1|Montant Prime de précarité|SUM|#E|0|Montant prime de précarité|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_MT_RET|Montant départ à la retraite|v_historique_paie_1|CASE WHEN rubrique_id IN [LISTE:CTI_EXP_RET] THEN montant_masse_salariale ELSE 0 END|1|Montant retraite|SUM|#E|0|Montant départ à la retraite|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NAT|Qualité - Nationalité|v_contrats_mois_1|DISTINCT CASE WHEN nationalite_id = 0 THEN salarie_id ELSE null END|1|Nationalité|COUNT||0|Nationalité|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBARRET|Nombre d'arrêts|v_arrets_travail_mois_1|DISTINCT CASE WHEN nb_arret = 1 THEN arret_travail_id ELSE null END|1|Nombre d'arrêts|COUNT||0|Nombre d'arrêts|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBARRETMOY|Nombre d'arrêts moyen|*CALC|base.cti_division([1], [2])|1|Nb d'arrêts moyen|*CALC|#,0|0|Nombre d'arrêts moyen| | | | | | |CTI_NBARRET|CTI_NBSALCNT|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBARRET_ACT|Nombre d'arrêts pour accident du travail|v_arrets_travail_mois_1|DISTINCT CASE WHEN nb_arret = 1 AND motif_arret_section_code[9] = 'ACT' THEN arret_travail_id ELSE null END|1|Nb accident du travail|COUNT||0|Nombre d'arrêts pour accident du travail|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBARRET_MAL|Nombre d'arrêts maladie|v_arrets_travail_mois_1|DISTINCT CASE WHEN nb_arret = 1 AND motif_arret_section_code[9] = 'MAL' THEN arret_travail_id ELSE null END|1|Nb maladies|COUNT||0|Nombre d'arrêts maladie|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBARRET_MAT|Nombre d'arrêts maternité|v_arrets_travail_mois_1|DISTINCT CASE WHEN nb_arret = 1 AND motif_arret_section_code[9] = 'MAT' THEN arret_travail_id ELSE null END|1|Nb maternités|COUNT||0|Nombre d'arrêts maternité|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBCNT|Nombre de contrats|v_contrats_mois_1|DISTINCT contrat_id|1|Contrats|COUNT||80|Nombre de contrats|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBCONTRATCDD|Nombre de contrats en CDD|v_contrats_mois_1|DISTINCT (CASE WHEN type_contrat_section_code[9] = 'CDD' THEN contrat_id ELSE null END)|1|Contrats CDD|COUNT||80|Nombre de contrats en CDD|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBCONTRATCDI|Nombre de contrats en CDI|v_contrats_mois_1|DISTINCT (CASE WHEN type_contrat_section_code[9] = 'CDI' THEN contrat_id ELSE null END)|1|Contrats CDI|COUNT||80|Nombre de contrats en CDI|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBETRANGERS|Nombre d'étrangers|v_historique_paie_1|DISTINCT (CASE WHEN nationalite_section_code[9] != 'FR' THEN salarie_id ELSE null END)|1|NB d'étrangers|COUNT||0|Nombre d'étrangers|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBFEMMECNT|Nombre de Femmes (Contrats)|v_contrats_mois_1|DISTINCT (CASE WHEN sexe_code = 'F' THEN salarie_id ELSE null END)|1|NB de Femmes|COUNT||0|Nombre de Femmes|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBFEMMEPAIE|Nombre de Femmes (Paie)|v_historique_paie_1|DISTINCT (CASE WHEN sexe_code = 'F' THEN salarie_id ELSE null END)|1|NB de Femmes|COUNT||0|Nombre de Femmes|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBHANDICAP|Nombre d'handicapés|v_historique_paie_1|DISTINCT (CASE WHEN handicap_id = '1' THEN salarie_id ELSE null END)|1|NB d'handicapés|COUNT||0|Nombre d'handicapés|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBIJSS|Nombre d'IJSS|v_historique_paie_1|DISTINCT CASE WHEN rubrique_id IN [LISTE:CTI_EXP_IJS] THEN salarie_id ELSE null END|1|IJSS|COUNT||0|Nombre d'IJSS|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBJARRET_ACT|Nombre de jours d'arrêt pour accident du travail|v_arrets_travail_mois_1|CASE WHEN motif_arret_section_code[9] = 'ACT' THEN nb_jours_arret ELSE 0 END|1|Nb jours accident du travail|SUM||0|Nombre de jours d'arrêt pour accident du travail|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBJARRET_MAL|Nombre de jours d'arrêt maladie|v_arrets_travail_mois_1|CASE WHEN motif_arret_section_code[9] = 'MAL' THEN nb_jours_arret ELSE 0 END|1|Nb jours maladie|SUM||0|Nombre de jours d'arrêt maladie|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBJARRET_MAT|Nombre de jours d'arrêt maternité|v_arrets_travail_mois_1|CASE WHEN motif_arret_section_code[9] = 'MAT' THEN nb_jours_arret ELSE 0 END|1|Nb jours maternité|SUM||0|Nombre de jours d'arrêt maternité|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBJT|Nombre de journées théoriques travaillées|v_historique_paie_1|heures_travaillees / 7.0|1|Journées théoriques travaillées|SUM||0|Nombre de journées théoriques travaillées|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBMOIS|Nombre de mois sur la période|v_contrats_mois_1|DISTINCT mois_activite_id|1|Mois /période|COUNT||0|Nombre de mois sur la période|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBRUPT|Nombre de rupture de contrat|v_historique_paie_1|DISTINCT CASE WHEN rubrique_id IN [LISTE:CTI_EXP_CNT] THEN salarie_id ELSE null END|1|Rupture de contrat|COUNT||0|Nombre de rupture de contrat|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBSAL|Nombre de salariés (Paie)|v_historique_paie_1|DISTINCT salarie_id|1|Salariés|COUNT||80|Nombre de salariés (Paie)|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBSALCDD|Nombre de salariés en CDD|v_contrats_mois_1|DISTINCT (CASE WHEN type_contrat_section_code[9] = 'CDD' THEN salarie_id ELSE null END)|1|Salariés CDD|COUNT||80|Nombre de salariés en CDD|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBSALCNT|Nombre de salariés (Contrats)|v_contrats_mois_1|DISTINCT salarie_id|1|Salariés|COUNT||80|Nombre de salariés|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBSALCNTFR|Nombre de Français (Contrat)|v_contrats_mois_1|DISTINCT (CASE WHEN nationalite_section_code[9] = 'FR' THEN salarie_id ELSE null END)|1|NB de Français|COUNT||0|Nombre de Français|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NBSALPAIEFR|Nombre de Français (Paie)|v_historique_paie_1|DISTINCT (CASE WHEN nationalite_section_code[9] = 'FR' THEN salarie_id ELSE null END)|1|NB de Français|COUNT||0|Nombre de Français|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NB_PRE|Nombre de prime de précarité|v_historique_paie_1|DISTINCT CASE WHEN rubrique_id IN [LISTE:CTI_EXP_PRE] THEN salarie_id ELSE null END|1|Prime de précarité|COUNT||0|Nombre de prime de précarité|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NB_RET|Nombre de départ à la retraite|v_historique_paie_1|DISTINCT CASE WHEN rubrique_id IN [LISTE:CTI_EXP_RET] THEN salarie_id ELSE null END|1|Départ à la retraite|COUNT||0|Nombre de départ à la retraite|4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NDSAL|Nombre NON DISTINCT de salariés|v_contrats_mois_1|salarie_id|1|Nombre NON DISTINCT de salariés|COUNT||0|Nombre NON DISTINCT de salariés|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NOUVSALS|Nouveaux salariés|v_contrats_mois_1|DISTINCT (CASE WHEN nombre_entrees = 1 THEN salarie_id ELSE null END)|1|Nouveaux salariés|COUNT||0|Nouveaux salariés|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_NVXCNT|Nombre de nouveaux contrats|v_contrats_mois_1|DISTINCT (CASE WHEN nombre_debut_contrat > 0 THEN contrat_id ELSE null END)|1|Nouveaux contrats|COUNT||0|Nombre de nouveaux contrats|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_PCDD|% de CDD|*CALC|base.cti_division([1], [2]) * 100|1|% CDD|*CALC|#,0%|0|% de CDD/nb de contrat| | | | | | |CTI_NBCONTRATCDD|CTI_NBCNT|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_PCDI|% de CDI|*CALC|base.cti_division([1], [2]) * 100|1|% CDI|*CALC|#,0%|0|% de CDI/nb de contrat| | | | | | |CTI_NBCONTRATCDI|CTI_NBCNT|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_PCTFEMMECNT|% de femmes|*CALC|base.cti_division([1], [2]) * 100|1|% de femmes|*CALC|#,0%|0|% de femmes| | | | | | |CTI_NBFEMMECNT|CTI_NBSALCNT|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_PRESENCE_PAIE_PAS_PLANNING|Liste des salariés présents en paie mais pas au planning|v_presence_salaries_1|CASE WHEN present_paie= true AND present_planning = false THEN 1 ELSE 0 END|1||SUM|#|0||4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_PRESENCE_PLANNING_PAS_PAIE|Liste des personnes présentes au planning mais pas en paie|v_presence_salaries_1|CASE WHEN present_paie= false AND present_planning = true THEN 1 ELSE 0 END|1||SUM|#|0||4| | | | |4|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_QUA|Qualité - Qualification|v_contrats_mois_1|DISTINCT CASE WHEN qualification_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Qualification|COUNT||0|Qualification|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_RAPPORTCALC|Calcul d'indicateurs dans le rapport|*RAPPORTCALC||1||sum|#|0||0| | | | |0|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_ROTATIONEMP|Rotation de l'emploi|*CALC|base.cti_division((([1] + [2]) / 2), [3]) * 100|1|Rotation de l'emploi|*CALC|#,0%|0|Rotation de l'emploi| | | | | | |CTI_NOUVSALS|CTI_SALPARTISSP|CTI_EFFPJPER|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_SAC|Qualité - Section analytique comptable|v_contrats_mois_1|DISTINCT CASE WHEN section_analytique_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Section analytique comptable|COUNT||0|Section analytique comptable|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_SAGE|Somme Ages pour Age moyen|v_contrats_mois_1|DISTINCT ARRAY[salarie_id::numeric, age_id::numeric]|1|Somme Ages pour Age moyen|base.cti_sum_distinct_on|#,0|0|Somme Ages pour Age moyen|1| | | | |1|CTI_AGESUM|CTI_NDSAL|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_SAL60|Nombre de salariés 60 ans et +|v_contrats_mois_1|DISTINCT CASE WHEN rhp_age_id >= 60 THEN salarie_id ELSE null END|1|Salariés 60 ans et +|COUNT||0|Nombre de salariés 60 ans et +|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_SALCHGMOY|Salaire Moyen Chargé|*CALC|base.cti_division([1], [2])|1|Salaire Chargé Moyen|*CALC||0|Salaire Chargé Moyen| | | | | | |CTINETAPAYER|CTI_ETPPAYE|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_SALCHGMOYH|Salaire Horaire Chargé Moyen|*CALC|base.cti_division([1], [2])|1|Salaire Chargé Moyen|*CALC||0|Salaire Chargé Moyen| | | | | | |CTIMASSMOY|CTIHP|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_SALPARTISSP|Salarié partis sur la période|v_contrats_mois_1|DISTINCT (CASE WHEN nombre_departs = 1 THEN salarie_id ELSE null END)|1|Salarié partis /période|COUNT||0|Salarié partis sur la période|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_SAP|Qualité - Section analytique paie|v_contrats_mois_1|DISTINCT CASE WHEN section_analytique_paie_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Section analytique paie|COUNT||0|Section analytique paie|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_SEP|Séparateur|SEP||1||SUM||0||1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_SER|Qualité - Service|v_contrats_mois_1|DISTINCT CASE WHEN service_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Service|COUNT||0|Service|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_SEX|Qualité - Sexe|v_contrats_mois_1|DISTINCT CASE WHEN sexe_id = 0 THEN salarie_id ELSE null END|1|Sexe|COUNT||0|Sexe|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_SFA|Qualité - Situation de famille|v_contrats_mois_1|DISTINCT CASE WHEN situation_famille_id = 0 THEN salarie_id ELSE null END|1|Situation de famille|COUNT||0|Situation de famille|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_SIN|Qualité - Société d'interim|v_contrats_mois_1|DISTINCT CASE WHEN societe_interim_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Société d'interim|COUNT||0|Société d'interim|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_SPE|Qualité - Spécialité|v_contrats_mois_1|DISTINCT CASE WHEN specialite_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Spécialité|COUNT||0|Spécialité|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_STA|Qualité - Statut|v_contrats_mois_1|DISTINCT CASE WHEN statut_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Statut|COUNT||0|Statut|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_TCNT|Qualité - Type de contrat|v_contrats_mois_1|DISTINCT CASE WHEN type_contrat_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Type de contrat|COUNT||0|Type de contrat|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_THO|Qualité - Type horaire|v_contrats_mois_1|DISTINCT CASE WHEN type_horaire_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Type horaire|COUNT||0|Type horaire|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_TRACDI|Transformation CDI|v_contrats_mois_1|DISTINCT case when nombre_transformation_cdi = '1' then salarie_id else null end|1|Transformation CDI|COUNT||0|Transformation CDI|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_TTT|Qualité - Type de temps de travail|v_contrats_mois_1|DISTINCT CASE WHEN type_temps_travail_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Type de temps de travail|COUNT||0|Type de temps de travail|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| 1|CTI_UFO|Qualité - Unité fonctionnelle|v_contrats_mois_1|DISTINCT CASE WHEN unite_fonctionnelle_id = 0 AND est_hors_periode = 0 THEN salarie_id ELSE null END|1|Unité fonctionnelle|COUNT||0|Unité fonctionnelle|1| | | | |1|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL>|<NULL> | |||||
| @ -0,0 +1,9 @@ | |||||
| oid|texte|chapitre|code|is_cti|show_omit|utilisateur_createur|est_partagee_modification|table_name | |||||
| 1|Primes à périodicité non mensuelle - Bilan Social||CTI_BS_PPNM|1|1|*CTI|1|t_rubriques | |||||
| 1|Eléments exceptionnels : Rupture de contrat : OD/Net.|Elements exceptionnels|CTI_EXP_CNT|1|1|*CTI|1|t_rubriques | |||||
| 1|IJSS : Payé SS / OD/Net.|Elements exceptionnels|CTI_EXP_IJS|1|1|*CTI|1|t_rubriques | |||||
| 1|Eléments exceptionnels : Prime de précarité|Elements exceptionnels|CTI_EXP_PRE|1|1|*CTI|1|t_rubriques | |||||
| 1|Eléments exceptionnels : Retraite|Elements exceptionnels|CTI_EXP_RET|1|1|*CTI|1|t_rubriques | |||||
| 1|Elements exceptionnels Retraite et rupture.|Elements exceptionnels|CTI_EXP_RRU|1|1|*CTI|1|t_rubriques | |||||
| 1|Heures contrat|Paramétrage|CTI_HCNT|1|0|*CTI|1|t_rubriques | |||||
| 1|Pegase forfaits jours|Paramétrage|CTI_PEGASE_FTJ|1|0|*CTI|1|t_rubriques | |||||
| @ -0,0 +1,431 @@ | |||||
| oid|name|texte|select_cmd|code | |||||
| 1|t_ages|Age|"SELECT t_ages.oid, t_ages.code, t_ages.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_ages LEFT JOIN rh.p_oids ON (t_ages.oid = p_oids.oid AND code_table = 'ages') | |||||
| WHERE t_ages.oid > 0 | |||||
| ORDER BY t_ages.code"|AGE | |||||
| 1|t_section_analytique|Section analytique NG|"SELECT t_section_analytique.oid, | |||||
| t_section_analytique.code, | |||||
| t_section_analytique.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_section_analytique | |||||
| LEFT JOIN rh.p_oids ON (t_section_analytique.oid = p_oids.oid AND code_table = 'section_analytique') | |||||
| WHERE t_section_analytique.oid > 0 | |||||
| ORDER BY t_section_analytique.code"|ANA | |||||
| 1|t_anciennetes_annee|Ancienneté|"SELECT t_anciennetes_annee.oid, t_anciennetes_annee.code, t_anciennetes_annee.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_anciennetes_annee LEFT JOIN rh.p_oids ON (t_anciennetes_annee.oid = p_oids.oid AND code_table = 'anciennete_annee') | |||||
| ORDER BY t_anciennetes_annee.code"|ANC | |||||
| 1|t_accident_circonstance|[DICT.RH.CIRCONSTANCE] accident du travail|"SELECT t_accident_circonstance.oid, | |||||
| t_accident_circonstance.code, | |||||
| t_accident_circonstance.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_accident_circonstance | |||||
| LEFT JOIN rh.p_oids ON (t_accident_circonstance.oid = p_oids.oid AND code_table = 'accident_circonstance') | |||||
| WHERE t_accident_circonstance.oid > 0 | |||||
| ORDER BY t_accident_circonstance.code"|ATC | |||||
| 1|t_accident_lieu|[DICT.RH.LIEU] accident du travail|"SELECT t_accident_lieu.oid, | |||||
| t_accident_lieu.code, | |||||
| t_accident_lieu.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_accident_lieu | |||||
| LEFT JOIN rh.p_oids ON (t_accident_lieu.oid = p_oids.oid AND code_table = 'accident_lieu') | |||||
| WHERE t_accident_lieu.oid > 0 | |||||
| ORDER BY t_accident_lieu.code"|ATL | |||||
| 1|t_accident_nature|Nature accident du travail|"SELECT t_accident_nature.oid, | |||||
| t_accident_nature.code, | |||||
| t_accident_nature.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_accident_nature | |||||
| LEFT JOIN rh.p_oids ON (t_accident_nature.oid = p_oids.oid AND code_table = 'accident_nature') | |||||
| WHERE t_accident_nature.oid > 0 | |||||
| ORDER BY t_accident_nature.code"|ATN | |||||
| 1|t_accident_siege|Siège accident du travail|"SELECT t_accident_siege.oid, | |||||
| t_accident_siege.code, | |||||
| t_accident_siege.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_accident_siege | |||||
| LEFT JOIN rh.p_oids ON (t_accident_siege.oid = p_oids.oid AND code_table = 'accident_siege') | |||||
| WHERE t_accident_siege.oid > 0 | |||||
| ORDER BY t_accident_siege.code"|ATS | |||||
| 1|t_categorie_conge|Catégorie de congé|"SELECT t_categorie_conge.oid, | |||||
| t_categorie_conge.code, | |||||
| t_categorie_conge.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_categorie_conge | |||||
| LEFT JOIN rh.p_oids ON (t_categorie_conge.oid = p_oids.oid AND code_table = 'categorie_conge') | |||||
| WHERE t_categorie_conge.oid > 0 | |||||
| ORDER BY t_categorie_conge.code"|CAC | |||||
| 1|t_cadre_emploi|Cadre d'emploi|"SELECT t_cadre_emploi.oid, | |||||
| t_cadre_emploi.code, | |||||
| t_cadre_emploi.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_cadre_emploi | |||||
| LEFT JOIN rh.p_oids ON (t_cadre_emploi.oid = p_oids.oid AND code_table = 'cadre_emploi') | |||||
| WHERE t_cadre_emploi.oid > 0 | |||||
| ORDER BY t_cadre_emploi.code"|CAE | |||||
| 1|t_categorie_statutaire|Catégorie statutaire|"SELECT t_categorie_statutaire.oid, | |||||
| t_categorie_statutaire.code, | |||||
| t_categorie_statutaire.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_categorie_statutaire | |||||
| LEFT JOIN rh.p_oids ON (t_categorie_statutaire.oid = p_oids.oid AND code_table = 'categorie_statutaire') | |||||
| WHERE t_categorie_statutaire.oid > 0 | |||||
| ORDER BY t_categorie_statutaire.code"|CAS | |||||
| 1|t_codes_emploi|[DICT.RH.CODE_EMPLOI]|"SELECT t_codes_emploi.oid, t_codes_emploi.code, t_codes_emploi.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_codes_emploi LEFT JOIN rh.p_oids ON (t_codes_emploi.oid = p_oids.oid AND code_table = 'codes_emploi') | |||||
| WHERE t_codes_emploi.oid > 0 | |||||
| ORDER BY t_codes_emploi.code"|CEM | |||||
| 1|t_compte_imputation|Compte d'imputation|"SELECT t_compte_imputation.oid, | |||||
| t_compte_imputation.code, | |||||
| t_compte_imputation.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_compte_imputation | |||||
| LEFT JOIN rh.p_oids ON (t_compte_imputation.oid = p_oids.oid AND code_table = 'compte_imputation') | |||||
| WHERE t_compte_imputation.oid > 0 | |||||
| ORDER BY t_compte_imputation.code"|COI | |||||
| 1|t_code_cotisation|Code cotisation|"SELECT t_code_cotisation.oid, | |||||
| t_code_cotisation.code, | |||||
| t_code_cotisation.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_code_cotisation | |||||
| LEFT JOIN rh.p_oids ON (t_code_cotisation.oid = p_oids.oid AND code_table = 'code_cotisation') | |||||
| WHERE t_code_cotisation.oid > 0 | |||||
| ORDER BY t_code_cotisation.code"|COT | |||||
| 1|t_codes_postaux|Code postal|"SELECT t_codes_postaux.oid, t_codes_postaux.code, t_codes_postaux.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_codes_postaux LEFT JOIN rh.p_oids ON (t_codes_postaux.oid = p_oids.oid AND code_table = 'codes_postaux') | |||||
| WHERE t_codes_postaux.oid > 0 | |||||
| ORDER BY t_codes_postaux.code"|CPO | |||||
| 1|t_compte|Compte|"SELECT t_compte.oid, | |||||
| t_compte.code, | |||||
| t_compte.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_compte | |||||
| LEFT JOIN rh.p_oids ON (t_compte.oid = p_oids.oid AND code_table = 'compte') | |||||
| WHERE t_compte.oid > 0 | |||||
| ORDER BY t_compte.code"|CPT | |||||
| 1|t_categories_socio_professionnelles|[DICT.RH.CATEGORIE_SOC_PRO]|"SELECT t_categories_socio_professionnelle.oid, t_categories_socio_professionnelle.code, t_categories_socio_professionnelle.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_categories_socio_professionnelle LEFT JOIN rh.p_oids ON (t_categories_socio_professionnelle.oid = p_oids.oid AND code_table = 'categories_socio_professionnelle') | |||||
| WHERE t_categories_socio_professionnelle.oid > 0 | |||||
| ORDER BY t_categories_socio_professionnelle.code"|CSC | |||||
| 1|t_etablissements|Etablissement|"SELECT t_etablissements.oid, | |||||
| t_etablissements.code, | |||||
| t_etablissements.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_etablissements | |||||
| LEFT JOIN rh.p_oids ON (t_etablissements.oid = p_oids.oid AND code_table = 'etablissements') | |||||
| WHERE t_etablissements.oid > 0 | |||||
| ORDER BY t_etablissements.code"|ETS | |||||
| 1|t_filiere|Filière|"SELECT t_filiere.oid, | |||||
| t_filiere.code, | |||||
| t_filiere.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_filiere | |||||
| LEFT JOIN rh.p_oids ON (t_filiere.oid = p_oids.oid AND code_table = 'filiere') | |||||
| WHERE t_filiere.oid > 0 | |||||
| ORDER BY t_filiere.code"|FIL | |||||
| 1|t_liste_formations|Liste des formations|"SELECT t_liste_formations.oid, | |||||
| t_liste_formations.code, | |||||
| t_liste_formations.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_liste_formations | |||||
| LEFT JOIN rh.p_oids ON (t_liste_visites.oid = p_oids.oid AND code_table = 'liste_formations') | |||||
| WHERE t_liste_formations.oid > 0 | |||||
| ORDER BY t_liste_formations.code"|FOR | |||||
| 1|t_commission_paritaire|Groupe de commission paritaire|"SELECT t_commission_paritaire.oid, | |||||
| t_commission_paritaire.code, | |||||
| t_commission_paritaire.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_commission_paritaire | |||||
| LEFT JOIN rh.p_oids ON (t_commission_paritaire.oid = p_oids.oid AND code_table = 'commission_paritaire') | |||||
| WHERE t_commission_paritaire.oid > 0 | |||||
| ORDER BY t_commission_paritaire.code"|GCP | |||||
| 1|t_groupes_cotisant|[DICT.RH.GROUPE_COTISANT]|"SELECT t_groupes_cotisant.oid, t_groupes_cotisant.code, t_groupes_cotisant.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_groupes_cotisant LEFT JOIN rh.p_oids ON (t_groupes_cotisant.oid = p_oids.oid AND code_table = 'groupes_cotisant') | |||||
| WHERE t_groupes_cotisant.oid > 0 | |||||
| ORDER BY t_groupes_cotisant.code"|GCT | |||||
| 1|t_grilles_groupes|[DICT.RH.GROUPE_GRILLE]|"SELECT t_grilles_groupes.oid, | |||||
| t_grilles_groupes.code, | |||||
| t_grilles_groupes.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_grilles_groupes | |||||
| LEFT JOIN rh.p_oids ON (t_grilles_groupes.oid = p_oids.oid AND code_table = 'grilles_groupes') | |||||
| WHERE t_grilles_groupes.oid > 0 | |||||
| ORDER BY t_grilles_groupes.code"|GRG | |||||
| 1|t_grilles|[DICT.RH.GRILLE]|"SELECT t_grilles.oid, | |||||
| t_grilles.code, | |||||
| t_grilles.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_grilles | |||||
| LEFT JOIN rh.p_oids ON (t_grilles.oid = p_oids.oid AND code_table = 'grilles') | |||||
| WHERE t_grilles.oid > 0 | |||||
| ORDER BY t_grilles.code"|GRI | |||||
| 1|t_lettre_budgetaire|Lettre Budgétaire|"SELECT t_lettre_budgetaire.oid, | |||||
| t_lettre_budgetaire.code, | |||||
| t_lettre_budgetaire.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_lettre_budgetaire | |||||
| LEFT JOIN rh.p_oids ON (t_lettre_budgetaire.oid = p_oids.oid AND code_table = 'lettre_budgetaire') | |||||
| WHERE t_lettre_budgetaire.oid > 0 | |||||
| ORDER BY t_lettre_budgetaire.code"|LEB | |||||
| 1|t_motifs_arret|Motif [DICT.RH.ARRET_TRAVAIL#2]|"SELECT t_motifs_arret.oid, | |||||
| t_motifs_arret.code, | |||||
| t_motifs_arret.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_motifs_arret | |||||
| LEFT JOIN rh.p_oids ON (t_motifs_arret.oid = p_oids.oid AND code_table = 'motifs_arret') | |||||
| WHERE t_motifs_arret.oid > 0 | |||||
| ORDER BY t_motifs_arret.code"|MOA | |||||
| 1|t_motifs_debut_contrat|[DICT.RH.MOTIF_DEBUT#1] [DICT.RH.CONTRAT#2]|"SELECT t_motifs_debut_contrat.oid, t_motifs_debut_contrat.code, t_motifs_debut_contrat.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_motifs_debut_contrat LEFT JOIN rh.p_oids ON (t_motifs_debut_contrat.oid = p_oids.oid AND code_table = 'motifs_debut_contrat') | |||||
| WHERE t_motifs_debut_contrat.oid > 0 | |||||
| ORDER BY t_motifs_debut_contrat.code"|MTD | |||||
| 1|t_motifs_fin_contrat|Motif fin [DICT.RH.CONTRAT#2]|"SELECT t_motifs_fin_contrat.oid, t_motifs_fin_contrat.code, t_motifs_fin_contrat.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_motifs_fin_contrat LEFT JOIN rh.p_oids ON (t_motifs_fin_contrat.oid = p_oids.oid AND code_table = 'motifs_fin_contrat') | |||||
| WHERE t_motifs_fin_contrat.oid > 0 | |||||
| ORDER BY t_motifs_fin_contrat.code"|MTF | |||||
| 1|t_motifs_visite|Motif visite médicale|"SELECT t_motifs_visite.oid, | |||||
| t_motifs_visite.code, | |||||
| t_motifs_visite.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_motifs_visite | |||||
| LEFT JOIN rh.p_oids ON (t_motifs_visite.oid = p_oids.oid AND code_table = 'motifs_visite') | |||||
| WHERE t_motifs_visite.oid > 0 | |||||
| ORDER BY t_motifs_visite.code"|MVM | |||||
| 1|t_nationalites|Nationalité|"SELECT t_nationalites.oid, | |||||
| t_nationalites.code, | |||||
| t_nationalites.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_nationalites | |||||
| LEFT JOIN rh.p_oids ON (t_nationalites.oid = p_oids.oid AND code_table = 'nationalites') | |||||
| WHERE t_nationalites.oid > 0 | |||||
| ORDER BY t_nationalites.code"|NAT | |||||
| 1|t_organismes_cotisation|[DICT.RH.ORGANISME_COTISATION]|"SELECT t_organismes_cotisation.oid, t_organismes_cotisation.code, t_organismes_cotisation.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_organismes_cotisation LEFT JOIN rh.p_oids ON (t_organismes_cotisation.oid = p_oids.oid AND code_table = 'organismes_cotisation') | |||||
| WHERE t_organismes_cotisation.oid > 0 | |||||
| ORDER BY t_organismes_cotisation.code"|ORC | |||||
| 1|t_planning_type_absence|Type d'absences (planning)|"SELECT t_planning_type_absence.oid, | |||||
| t_planning_type_absence.code, | |||||
| t_planning_type_absence.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_planning_type_absence | |||||
| LEFT JOIN rh.p_oids ON (t_planning_type_absence.oid = p_oids.oid AND code_table = 'planning_type_absence') | |||||
| WHERE t_planning_type_absence.oid > 0 | |||||
| ORDER BY t_planning_type_absence.code"|PAB | |||||
| 1|t_planning_code_horaire|Code Horaire (planning)|"SELECT t_planning_code_horaire.oid, | |||||
| t_planning_code_horaire.code, | |||||
| t_planning_code_horaire.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_planning_code_horaire | |||||
| LEFT JOIN rh.p_oids ON (t_planning_code_horaire.oid = p_oids.oid AND code_table = 'planning_code_horaire') | |||||
| WHERE t_planning_code_horaire.oid > 0 | |||||
| ORDER BY t_planning_code_horaire.code"|PCH | |||||
| 1|t_planning_niveau|[DICT.RH.NIVEAU#3]|"SELECT t_planning_niveau.oid, | |||||
| t_planning_niveau.code, | |||||
| t_planning_niveau.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_planning_niveau | |||||
| LEFT JOIN rh.p_oids ON (t_planning_niveau.oid = p_oids.oid AND code_table = 't_planning_niveau') | |||||
| WHERE t_planning_niveau.oid > 0 | |||||
| ORDER BY t_planning_niveau.code"|PNI | |||||
| 1|t_population|Population|"SELECT t_population.oid, | |||||
| t_population.code, | |||||
| t_population.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_population | |||||
| LEFT JOIN rh.p_oids ON (t_population.oid = p_oids.oid AND code_table = 'population') | |||||
| WHERE t_population.oid > 0 | |||||
| ORDER BY t_population.code"|POP | |||||
| 1|t_planning_qualification|Qualifications (planning)|"SELECT t_planning_qualification.oid, | |||||
| t_planning_qualification.code, | |||||
| t_planning_qualification.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_planning_qualification | |||||
| LEFT JOIN rh.p_oids ON (t_planning_qualification.oid = p_oids.oid AND code_table = 'planning_qualification') | |||||
| WHERE t_planning_qualification.oid > 0 | |||||
| ORDER BY t_planning_qualification.code"|PQU | |||||
| 1|t_planning_service|Services (planning)|"SELECT t_planning_service.oid, | |||||
| t_planning_service.code, | |||||
| t_planning_service.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_planning_service | |||||
| LEFT JOIN rh.p_oids ON (t_planning_service.oid = p_oids.oid AND code_table = 'planning_service') | |||||
| WHERE t_planning_service.oid > 0 | |||||
| ORDER BY t_planning_service.code"|PSE | |||||
| 1|t_qualifications|Qualification|"SELECT t_qualifications.oid, t_qualifications.code, t_qualifications.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_qualifications LEFT JOIN rh.p_oids ON (t_qualifications.oid = p_oids.oid AND code_table = 'qualifications') | |||||
| WHERE t_qualifications.oid > 0 | |||||
| ORDER BY t_qualifications.code"|QUA | |||||
| 1|t_rubriques|Rubrique|"SELECT t_rubriques.oid, t_rubriques.code, t_rubriques.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_rubriques LEFT JOIN rh.p_oids ON (t_rubriques.oid = p_oids.oid AND code_table = 'rubriques') | |||||
| WHERE t_rubriques.oid > 0 | |||||
| ORDER BY t_rubriques.code"|RUP | |||||
| 1|t_sections_analytiques|[DICT.RH.SECTION_ANA_CPT#1]|"SELECT t_sections_analytiques.oid, t_sections_analytiques.code, t_sections_analytiques.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_sections_analytiques LEFT JOIN rh.p_oids ON (t_sections_analytiques.oid = p_oids.oid AND code_table = 'sections_analytiques') | |||||
| WHERE t_sections_analytiques.oid > 0 | |||||
| ORDER BY t_sections_analytiques.code"|SAC | |||||
| 1|p_salaries|[DICT.RH.SALARIE]|"SELECT v_salaries_1.salarie_id AS oid, v_salaries_1.salarie_code AS code, v_salaries_1.salarie_texte || CASE WHEN date_fin_contrat < '20991231' THEN ' (' || date_fin_contrat || ')' ELSE '' END AS texte, qualification_texte || ' - '|| service_texte as complement, 'O'::text as utilise | |||||
| FROM rh.v_salaries_1 | |||||
| ORDER BY v_salaries_1.salarie_code"|SAL | |||||
| 1|t_sections_analytiques_paie|[DICT.RH.SECTION_ANA_PAIE#1]|"SELECT t_sections_analytiques_paie.oid, t_sections_analytiques_paie.code, t_sections_analytiques_paie.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_sections_analytiques_paie LEFT JOIN rh.p_oids ON (t_sections_analytiques_paie.oid = p_oids.oid AND code_table = 'sections_analytiques_paie') | |||||
| WHERE t_sections_analytiques_paie.oid > 0 | |||||
| ORDER BY t_sections_analytiques_paie.code"|SAP | |||||
| 1|t_services|[DICT.RH.SERVICE]|"SELECT t_services.oid, t_services.code, t_services.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_services LEFT JOIN rh.p_oids ON (t_services.oid = p_oids.oid AND code_table = 'services') | |||||
| WHERE t_services.oid > 0 | |||||
| ORDER BY t_services.code"|SER | |||||
| 1|t_specialites|Spécialité|"SELECT t_specialites.oid, t_specialites.code, t_specialites.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_specialites LEFT JOIN rh.p_oids ON (t_specialites.oid = p_oids.oid AND code_table = 'specialites') | |||||
| WHERE t_specialites.oid > 0 | |||||
| ORDER BY t_specialites.code"|SPE | |||||
| 1|t_statuts|[DICT.RH.STATUT]|"SELECT t_statuts.oid, | |||||
| t_statuts.code, | |||||
| t_statuts.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_statuts | |||||
| LEFT JOIN rh.p_oids ON (t_statuts.oid = p_oids.oid AND code_table = 'statuts') | |||||
| WHERE t_statuts.oid > 0 | |||||
| ORDER BY t_statuts.code"|STA | |||||
| 1|t_types_contrat|[DICT.RH.TYPE_CONTRAT]|"SELECT t_types_contrat.oid, t_types_contrat.code, t_types_contrat.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_types_contrat LEFT JOIN rh.p_oids ON (t_types_contrat.oid = p_oids.oid AND code_table = 'types_contrat') | |||||
| WHERE t_types_contrat.oid > 0 | |||||
| ORDER BY t_types_contrat.code"|TCN | |||||
| 1|t_types_horaire|Type horaire|"SELECT t_types_horaire.oid, t_types_horaire.code, t_types_horaire.texte, ''::text as complement, CASE WHEN p_oids.oid IS NOT NULL THEN 'O' ELSE 'N' END as utilise | |||||
| FROM rh.t_types_horaire LEFT JOIN rh.p_oids ON (t_types_horaire.oid = p_oids.oid AND code_table = 'types_horaire') | |||||
| WHERE t_types_horaire.oid > 0 | |||||
| ORDER BY t_types_horaire.code"|THO | |||||
| 1|t_types_temps_travail|Type temps travail|"SELECT t_types_temps_travail.oid, | |||||
| t_types_temps_travail.code, | |||||
| t_types_temps_travail.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_types_temps_travail | |||||
| LEFT JOIN rh.p_oids ON (t_types_temps_travail.oid = p_oids.oid AND code_table = 'types_temps_travail') | |||||
| WHERE t_types_temps_travail.oid > 0 | |||||
| ORDER BY t_types_temps_travail.code"|TTT | |||||
| 1|t_unite_fonctionnelle|Unité fonctionnelle|"SELECT t_unite_fonctionnelle.oid, | |||||
| t_unite_fonctionnelle.code, | |||||
| t_unite_fonctionnelle.texte, | |||||
| ''::text AS complement, | |||||
| CASE | |||||
| WHEN p_oids.oid IS NOT NULL THEN 'O' | |||||
| ELSE 'N' | |||||
| END AS utilise | |||||
| FROM rh.t_unite_fonctionnelle | |||||
| LEFT JOIN rh.p_oids ON (t_unite_fonctionnelle.oid = p_oids.oid AND code_table = 'unite_fonctionnelle') | |||||
| WHERE t_unite_fonctionnelle.oid > 0 | |||||
| ORDER BY t_unite_fonctionnelle.code"|UNF | |||||
| @ -0,0 +1,6 @@ | |||||
| oid|code|texte|is_cti|is_essentiel | |||||
| 1|CTI_ESS_10|RH-Paie|1|1 | |||||
| 1|CTI_ESS_11|Rémunérations|1|1 | |||||
| 1|CTI_PF_AGG|CTI Portfolio|1|1 | |||||
| 1|CTI_QUA|Qualité des données|1|0 | |||||
| 1|RH1|Rapport personnalisé RH|1|0 | |||||
| @ -0,0 +1,105 @@ | |||||
| rapport_code|indicateur_code|numero_rubrique|rapport_id|indicateur_id|entete|output_format|width|entete_etendue|periode_reference|row_height|padding|font_size|font_weight|border_thickness|color|background_color|base_nationale|base_nationale_qualifiee|viewlink|viewlink_label|viewlink_param|picto_enabled|positif_is_good|indicateur_associe_id|indicateur_associe_code | |||||
| CTI_ESS_10|CTINBJARRET|30|1|1|||0|| |22|10|12| |0| | |0|0|RH000008|Analyse par code emploi et salarié|GROUPBY=CEM&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_AGEMOY|12|1|1|||0|| |22|10|12| |0| | |0|0|RH000023|Pyramide des âges par Age et salarié.|GROUPBY=AGE&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_CDDSALP|11|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse par type de contrat et catégorie socio-professionnelle|GROUPBY=TCN&GROUPBY_2=CSC&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_DBTCDD|21|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse par spécialité et salarié|GROUPBY=SPE&GROUPBY_2=SAL&GROUPBY_TAB=TAB&TYPE_CONTRAT=#LSCDD&VIEWTAB=2|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_DBTCDI|20|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse par type de temps de travail et salarié|GROUPBY=TTT&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_DUREEMOYARRETS|34|1|1|||0|| |22|10|12| |0| | |0|0|RH000008|Analyse par code sexe et salarié|GROUPBY=SEX&GROUPBY_2=SAL&GROUPBY_TAB=TAB&TYPE_CONTRAT=#DTCTI_CDD&VIEWTAB=2|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_EFF1ERJANV|7|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse par spécialité|GROUPBY=SPE|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_EFF31DEV|8|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse par code emploi|GROUPBY=CEM|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_EFFPERM|6|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse par type de temps de travail|GROUPBY=TTT|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_EMBMS25|9|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Salarié de mois de 25 ans par qualification et par salarié|GROUPBY=QUA&GROUPBY_2=SAL&AGE=IN&AGE_INT=&AGE_INT2=25&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_FINCNT|22|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse par code emploi et salarié|GROUPBY=CEM&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_FINCNTCDD|24|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse des CDD par indice et salarié|GROUPBY=GRI&GROUPBY_2=SAL&GROUPBY_TAB=TAB&TYPE_CONTRAT=#LSCDD&VIEWTAB=2|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_FINCNTCDI|23|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse des CDI par code emploi et salarié|GROUPBY=CEM&GROUPBY_2=SAL&GROUPBY_TAB=TAB&TYPE_CONTRAT=#LSCDI&VIEWTAB=2|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_NBARRET|26|1|1|||0|| |22|10|12| |0| | |0|0|RH000008|Analyse par catégorie socio-professionnelle et salarié|GROUPBY=CSC&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_NBARRETMOY|35|1|1|Nombre d'arrêts moyen (sur total des salariés)||0|Nombre d'arrêts moyen (sur total des salariés)| |22|10|12| |0| | |0|0|RH000008|Analyse par catégorie socio-professionnelle|GROUPBY=CSC|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_NBARRET_ACT|29|1|1|Dont accident du travail||0|Dont accident du travail| |22|20|12| |0| | |0|0|RH000008|Analyse par spécialité et salarié|GROUPBY=SPE&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_NBARRET_MAL|27|1|1|Dont maladie||0|Dont maladie| |22|20|12| |0| | |0|0|RH000008|Analyse par motif d'arrêt et salarié|GROUPBY=MOA&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_NBARRET_MAT|28|1|1|Dont maternité||0|Dont maternité| |22|20|12| |0| | |0|0|RH000008|Analyse par service et salarié|GROUPBY=SER&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_NBCNT|16|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse par catégorie socio-professionnelle et salarié|GROUPBY=CSC&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_NBCONTRATCDD|18|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse par service et salarié|GROUPBY=SER&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_NBCONTRATCDI|17|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse par qualification et salarié|GROUPBY=QUA&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_NBJARRET_ACT|33|1|1|Dont accident du travail||0|Dont accident du travail| |22|20|12| |0| | |0|0|RH000008|Analyse par tranche d'age du bilan social et salarié|GROUPBY=AGECLS09&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_NBJARRET_MAL|31|1|1|Dont maladie||0|Dont maladie| |22|20|12| |0| | |0|0|RH000008|Analyse par indice et salarié|GROUPBY=GRI&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_NBJARRET_MAT|32|1|1|Dont maternité||0|Dont maternité| |22|20|12| |0| | |0|0|RH000008|Analyse par qualification et salarié|GROUPBY=QUA&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_NBSALCNT|2|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse par catégorie socio-professionnelle|GROUPBY=CSC|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_NBSALCNTFR|14|1|1|||0|| |22|10|12| |0| | |0|0|RH000023|Analyse par tranche d'âge du bilan social|GROUPBY=AGECLS09&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_NOUVSALS|3|1|1|||0|Nouveaux salariés| |22|10|12| |0| | |0|0|RH000003|Analyse par qualification|GROUPBY=QUA|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_NVXCNT|19|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse par type de contrat et salarié|GROUPBY=TCN&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_PCTFEMMECNT|13|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse par classe d'âge du bilan social et salarié|GROUPBY=AGECLS09&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_ROTATIONEMP|5|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse par type de contrat et qualification|GROUPBY=TCN|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_SAL60|10|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Salariés de 60 ans et + par qualification et par salarié|GROUPBY=QUA&GROUPBY_2=SAL&AGE=IN&AGE_INT=60&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_SALPARTISSP|4|1|1|||0|| |22|10|12| |0| | |0|0|RH000003|Analyse par service|GROUPBY=SER|1|1|0|<NULL> | |||||
| CTI_ESS_10|CTI_SEP|1|1|1|||0|Salariés| |26|0|14|bold |2|#9B59B6 |0xCCCCCC |0|0|||| | |0|<NULL> | |||||
| CTI_ESS_10|CTI_SEP|15|1|1|||0|Contrats| |26|0|14|bold |2|#9B59B6 |0xCCCCCC |0|0|||| | |0|<NULL> | |||||
| CTI_ESS_10|CTI_SEP|25|1|1|||0|Arrêts de travail| |26|0|14|bold |2|#9B59B6 |0xCCCCCC |0|0|||| | |0|<NULL> | |||||
| CTI_ESS_11|CTIAN|12|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Analyse par Type de contrat et salarié|GROUPBY=TCN&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTICOTPAT|16|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Analyse par rubrique de paie|GROUPBY=RUPCLS|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTICOTSAL |14|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Analyse par salarié|GROUPBY=SAL|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTIETPTHM|6|1|1|ETP Travaillé||0|ETP Travaillé| |22|10|12| |0| | |0|0|RH000007|Analyse par spécialité|GROUPBY=SPE|0|0|0|<NULL> | |||||
| CTI_ESS_11|CTIHP|3|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Analyse par catégorie socio-professionnelle et salarié|GROUPBY=CSC&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTIHT|4|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Analyse par qualification|GROUPBY=QUA|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTIMASSMOY|9|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Analyse par catégorie socio-professionnelle et salarié|GROUPBY=CSC&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTIMTMASSE|8|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Analyse par catégorie socio-professionnelle|GROUPBY=CSC|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTINETAPAYER|18|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Analyse par catégorie socio-professionnelle et type de contrat bilan social|GROUPBY=CSC&GROUPBY_2=TCNCLS9|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTINETIMPOS|17|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Analyse par type de temps de travail et salarié|GROUPBY=TTT&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTIODNET|15|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Analyse par contrat et section analytique comptable|GROUPBY=CNT&GROUPBY_2=SAC&GROUPBY_TAB=ARB|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_BRUTMOYENETP|11|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Analyse par service et salarié|GROUPBY=SER&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_ETPREMMOY|5|1|1|ETP Payé||0|ETP Payé| |22|10|12| |0| | |0|0|RH000007|Analyse par service|GROUPBY=SER|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_FRIMPOS|13|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Analyse par spécialité et salarié|GROUPBY=SPE&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_MHMC|20|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Analyse par age bilan social et salarié|GROUPBY=AGECLS09&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_MTBRUT|10|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Analyse par qualification et salarié|GROUPBY=QUA&GROUPBY_2=SAL&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_MT_CNT|27|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Rupture de contrat par service et salarié|GROUPBY=SER&GROUPBY_2=SAL&RUBRIQUE=#LICTI_EXP_CNT|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_MT_IJ|29|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|IJSS par service et salarié|GROUPBY=SER&GROUPBY_2=SAL&GROUPBY_TAB=TAB&RUBRIQUE=#LICTI_EXP_IJS|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_MT_PRE|25|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Précarité par service et salarié|GROUPBY=SER&GROUPBY_2=SAL&RUBRIQUE=#LICTI_EXP_PRE&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_MT_RET|23|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Départ à la retraite par service et salarié|GROUPBY=SER&GROUPBY_2=SAL&RUBRIQUE=#LICTI_EXP_RET|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_NBIJSS|28|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|IJSS par catégorie socio-professionnelle et salarié|GROUPBY=CSC&GROUPBY_2=SAL&GROUPBY_TAB=TAB&RUBRIQUE=#LICTI_EXP_IJS|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_NBRUPT|26|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Rupture de contrat par catégorie socio-professionnelle et salarié|GROUPBY=CSC&GROUPBY_2=SAL&RUBRIQUE=#LICTI_EXP_CNT|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_NBSAL|2|1|1|Nombre de salariés||0|Nombre de salariés| |22|10|12| |0| | |0|0|RH000007|Analyse par catégorie socio-professionnelle|GROUPBY=CSC|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_NB_PRE|24|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Précarité par catégorie socio-professionnelle et salarié|GROUPBY=CSC&GROUPBY_2=SAL&RUBRIQUE=#LICTI_EXP_PRE&GROUPBY_TAB=TAB|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_NB_RET|22|1|1|||0|| |22|10|12| |0| | |0|0|RH000007|Départ à la retraite par catégorie socio--professionnelle et salarié|GROUPBY=CSC&GROUPBY_2=SAL&RUBRIQUE=#LICTI_EXP_RET|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_SALCHGMOY|19|1|1|Net à Payer Moyen||0|Net à Payer Moyen| |22|10|12| |0| | |0|0|RH000007|Analyse par catégorie socio-professionnelle et type de temps de travail|GROUPBY=CSC&GROUPBY_2=TTTCLS9|1|1|0|<NULL> | |||||
| CTI_ESS_11|CTI_SEP|1|1|1|||0|Historique de Paie| |26|0|14|bold |2|#9B59B6 |0xcccccc |0|0|||| | |0|<NULL> | |||||
| CTI_ESS_11|CTI_SEP|7|1|1|||0|Masse Salariale| |26|0|14|bold |0|#9B59B6 |0xcccccc |0|0|||| | |0|<NULL> | |||||
| CTI_ESS_11|CTI_SEP|21|1|1|||0|Evènements exceptionnels| |26|0|14|bold |2|#9B59B6 |0xcccccc |0|0|||| | |0|<NULL> | |||||
| CTI_QUA|CTI_CEM|12|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_CPO|7|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_CSP|13|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_DNA|4|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_GCO|20|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_GGR|21|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_GRI|22|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_MDD|10|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_MDF|11|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_NAT|5|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_NBSALCNT|1|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_QUA|14|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_SAC|24|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_SAP|23|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_SEP|2|1|1|||0|Salarié| |0|0|12|bold |0|0xffffff |0x2c3e50 |0|0|||| | |0|<NULL> | |||||
| CTI_QUA|CTI_SEP|8|1|1|||0|Contrat| |0|0|0|bold |0|0xffffff |0x2c3e50 |0|0|||| | |0|<NULL> | |||||
| CTI_QUA|CTI_SER|15|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_SEX|3|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_SFA|6|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_SIN|25|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_SPE|16|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_STA|17|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_TCNT|9|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_THO|19|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| CTI_QUA|CTI_TTT|18|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| RH1|CTIHP|6|1|1|||0|| |0|0|0|normal |0| | |0|0||||0|0|0|<NULL> | |||||
| RH1|CTIMASSMOY|12|1|1|||0|| |0|0|0|normal |0| | |0|0||||0|0|0|<NULL> | |||||
| RH1|CTINBHOMME|1|1|1|||0|| |0|0|0|normal |0| | |0|0||||0|0|0|<NULL> | |||||
| RH1|CTINBJARRET|8|1|1|||0|| |0|0|0|normal |0| | |0|0||||0|0|0|<NULL> | |||||
| RH1|CTITA|14|1|1|||0|| |0|0|0|normal |0| | |0|0||||0|0|0|<NULL> | |||||
| RH1|CTITB|15|1|1|||0|| |0|0|0|normal |0| | |0|0||||0|0|0|<NULL> | |||||
| RH1|CTI_ETPW|5|1|1|||0|| |0|0|0|normal |0| | |0|0||||0|0|0|<NULL> | |||||
| RH1|CTI_MTBRUT|13|1|1|||0|| |0|0|0|normal |0| | |0|0||||0|0|0|<NULL> | |||||
| RH1|CTI_NBARRET|7|1|1|||0|| |0|0|0| |0| | |0|0||||0|0|0|<NULL> | |||||
| RH1|CTI_NBCNT|3|1|1|||0|| |0|0|0|normal |0| | |0|0||||0|0|0|<NULL> | |||||
| RH1|CTI_NBFEMMEPAIE|2|1|1|||0|| |0|0|0|normal |0| | |0|0||||0|0|0|<NULL> | |||||
| RH1|CTI_PCDD|10|1|1|||0|| |0|0|0|normal |0| | |0|0||||0|0|0|<NULL> | |||||
| RH1|CTI_PCDI|11|1|1|||0|| |0|0|0|normal |0| | |0|0||||0|0|0|<NULL> | |||||
| RH1|CTI_SEP|4|1|1|||0|| |0|0|0|normal |0| | |0|0|||| | |0|<NULL> | |||||
| RH1|CTI_SEP|9|1|1|||0|| |0|0|0|normal |0| | |0|0|||| | |0|<NULL> | |||||
| @ -0,0 +1,10 @@ | |||||
| oid|code|texte|data_code|data_entete|data_format|data_description|position_ratio|rang | |||||
| 1|BS_LDATA_2|CTI : Bilan social|NSAL@CNTTOT@NCDI@NCDD@NSALH@NSALF@AGEMOYDJ@EFFPERM@0@0@0@0@0@0@0|Nombre Salariés@Contrats total@Nombre CDI@Nombre CDD@Nombre hommes@Nombre Femmes@Age moyen@Effectif permanent|#@#@#@#@#@#@#,0@#|Nombre de salarié total@Nombre de contrat total@Nombre contrats CDI@Nombre contrats CDD@Nombre salariés hommes@Nombre salariés femmes@Age moyen@Salariés titulaires d'un CDI à temps complet et présents sur l'ensemble de la période.|000000000000000|0 | |||||
| 1|CT_LDATA_1|CTI : Effectif|NSAL@EFFPERM@ROTEMP@NSALH@NSALF@AGEMOYDJ@0@0@0@0@0@0@0@0@0|NB Salariées@Effectif permanent@Rotation de l'emploi@NB hommes@NB Femmes@Age moyen|#@#@#%@#@#@#,0|Nombre de salarié total@Salariés titulaires d'un CDI à temps complet et présents sur l'ensemble de la période.@(nb d'entrées Ets. + nb de sorties Ets.) / 2 / nb de [DICT.RH.SALARIE#4] en début de période * 100@Nombre salariés hommes@Nombre salariés femmes@Age moyen|000000000000000|0 | |||||
| 1|CT_LDATA_3|CTI : Contrat|NSAL@CNTTOT@NCDI@NCDD@CNTTERM@NHCNT@ETPTH@0@0@0@0@0@0@0@0|NB Salariées@Contrats total@Nombre CDI@Nombre CDD@Contrats terminés@Heures contrat@ETP contrat|#@#@#@#@#@#,00@#,00|Nombre de salarié total@Nombre de contrat total@Nombre contrats CDI@Nombre contrats CDD@Contrats terminés@Nombre heures contrat@ETP Contrat|000000000000000|0 | |||||
| 1|HP_LDATA_1|CTI : Livre de paie|NBSAL@MTMASSE@NBHP@NBHT@MTBRUT@MTCOTSALARIE@MTCOTPATRONALE@MTNETIMPOSABLE@MTNETAPAYER@0@0@0@0@0@0|NB Salariés@Masse sal.@Heures Payées@Heures Travaillées@Brut@Cot. Salariales@Cot. Patronales@Net imposable@Net à payer|#@#E@#h@#h@#E@#E@#E@#E@#E|Nombre de salarié @<i>Brut</i> + <i>Cotisations patronales</i> + <i>OD/Net patronales</i> + <i>Avantages en nature</i> + <i>Frais imposables</i>@Heures issues de la rubrique de paie paramétrée comme «<i>Heures payées</i>» dans la table des rubriques.@Heures paramétrées comme «<i>travaillées</i>» OU heures payées - heures paramétrées comme «<i>Heures non travaillées</i>».@Montant BRUT@Montant Cotisations Salariales@Montant Cotisations Patronales@Montant Net Imposable@Montant Net à payer@0@0@0@0@0@0|000000000000000|0 | |||||
| 1|HP_LDATA_2|CTI : Livre de paie ( Avec nombre et base )|NBSAL@MTMASSE@NBHP@NBHT@MTBRUT@MTCOTSALARIE@MTCOTPATRONALE@MTNETIMPOSABLE@MTNETAPAYER@NOMBRE@BASE@0@0@0@0|NB Salariés@Masse sal.@Heures Payées@Heures Travaillées@Brut@Cot. Salariales@Cot. Patronales@Net imposable@Net à payer@Nombre@Base|#@#E@#h@#h@#E@#E@#E@#E@#E@#,0@#,0|Nombre de salarié @<i>Brut</i> + <i>Cotisations patronales</i> + <i>OD/Net patronales</i> + <i>Avantages en nature</i> + <i>Frais imposables</i>@Heures issues de la rubrique de paie paramétrée comme «<i>Heures payées</i>» dans la table des rubriques.@Heures paramétrées comme «<i>travaillées</i>» OU heures payées - heures paramétrées comme «<i>Heures non travaillées</i>».@Montant BRUT@Montant Cotisations Salariales@Montant Cotisations Patronales@Montant Net Imposable@Montant Net à payer@Nombre@Base@0@0@0@0|000000000000000|0 | |||||
| 1|HP_LDATA_3|CTI : Décomposition Masse Salariale|NBSAL@MTMASSE@MTMASSEMOY@NBHP@MTBRUT@MTBRUTMOY@MTBRUTAVANTAGE@MTFRAISIMPOS@MTCOTPATRONALE@MTODNETPATRONALE@MTHORMOYCHAR@0@0@0@0|NB Salariés@Masse sal.@Masse sal. moyen@Heures Payées@Brut@Brut moyen@A. N.@F.I.@Cot. Patronales@OD/NET Patronales@Mnt h. moy. chargé|#@#E@#E@#h@#E@#E@#E@#E@#E@#E@#,0E|Nombre de salarié @<i>Brut</i> + <i>Cotisations patronales</i> + <i>OD/Net patronales</i> + <i>Avantages en nature</i> + <i>Frais imposables</i>@(<i>Masse salariale</i> ÷ <i>ETP payé</i>) ÷ Nb mois de la période.@Heures issues de la rubrique de paie paramétrée comme «<i>Heures payées</i>» dans la table des rubriques.@Montant BRUT@Montant BRUT Moyen@Montant Avantages en nature@Montant Frais imposables@Montant Cotisations Patronales@Montant OD NET Patronales@Montant horaire moyen chargé@0@0@0@0|000000000000000|0 | |||||
| 1|HP_LDATA_4|CTI : Décomposition ETP|NBSAL@MTMASSE@MTMASSEMOY@NBETP@NBETPT@0@0@0@0@0@0@0@0@0@0|NB Salariés@Masse sal.@Masse sal. moyen@ETP Rémunéré@ETP travaillé|#@#E@#E@#,00@#,00|Nombre de salarié @<i>Brut</i> + <i>Cotisations patronales</i> + <i>OD/Net patronales</i> + <i>Avantages en nature</i> + <i>Frais imposables</i>@(<i>Masse salariale</i> ÷ <i>ETP payé</i>) ÷ Nb mois de la période.@Equivalent temps plein basé sur les <i>Heures payées</i>.

Heures payées ÷ Base de calcul de l'ETP (par défaut 151,67 h.) ÷ Nb mois de la période.@Equivalent temps plein basé sur les <i>Heures travaillées</i>.

Heures travaillées ÷ Base de calcul de l'ETP (par défaut 151,67 h.) ÷ Nb mois de la période.@0@0@0@0@0@0@0@0@0@0|000000000000000|0 | |||||
| 1|HP_LDATA_5|CTI : Qualification|NBSAL@MTBRUT@MTCOTSALARIE@MTCOTPATRONALE@MTNETAPAYER@MTNETIMPOSABLE@MTMASSE@MTODNETSALARIE@0@0@0@0@0@0@0|NB Salariées@Montant Brut@Cotisations salariales@Cotisations patronales@Net à payer@Net imposable@Masse salariale@OD/net salariales|#@#@#@#@#@#@#@#|Nombre de salarié @Montant BRUT@Montant cotisations salariales@Montant cotisations patronales@Montant net à payer@Montant net imposable@<i>Brut</i> + <i>Cotisations patronales</i> + <i>OD/Net patronales</i> + <i>Avantages en nature</i> + <i>Frais imposables</i>@Montant OD/net salariales@0@0@0@0@0@0@0|000000000000000|0 | |||||
| 1|HP_LDATA_6|CTI : Brut / ETP Payé|NBSAL@MTBRUT@NBETP@0@0@0@0@0@0@0@0@0@0@0@0|NB Salariées@Montant Brut@ETP payé|#@#@#,00|Nombre de salarié @Montant BRUT@Equivalent temps plein basé sur les Heures payées Heures payées Base de calcul de l'ETP (par défaut 151,67 h.) Nb mois de la période.@0@0@0@0@0@0@0@0@0@0@0|000000000000000|0 | |||||
| @ -0,0 +1,14 @@ | |||||
| uuid|dashboard_widget_code|username|title|x|y|w|h|time_calc|visible|tab_code|max_cat|include_series_code | |||||
| 60a09a2f-1714-4903-8a48-e0c7c5d5597e|"CTI_EGAPRO|CTI_EFFAGE"|cti|Répartion par tranche d'âge|0|18|3|7|val|t|"CTI_EGAPRO|0"|0|{CTI_FEMMES,CTI_HOMMES} | |||||
| 2f166ff5-9eca-4a08-a72f-838cdc314385|"CTI_EGAPRO|CTI_EFFANC"|cti|Répartion par tranche d'ancienneté|3|18|3|7|val|t|"CTI_EGAPRO|0"|0|{CTI_FEMMES,CTI_HOMMES} | |||||
| 4629419f-a2c6-4627-86b3-786d03ec1db7|"CTI_EGAPRO|CTI_EFFGEN"|cti|Effectif |2|8|4|10|val|t|"CTI_EGAPRO|0"|0|{CTI_FEMMES,CTI_HOMMES} | |||||
| 54980aad-8b6b-43e5-8d86-b4b47d46ff66|"CTI_EGAPRO|CTI_EFFSTAT"|cti|Effectifs par statut|3|25|3|8|val|t|"CTI_EGAPRO|0"|0|{CTI_FEMMES,CTI_HOMMES} | |||||
| fe63666a-69b0-4c35-8564-d243f605f520|"CTI_EGAPRO|CTI_ENTSORCAR"|cti|Hommes|0|8|2|5|val|t|"CTI_EGAPRO|0"|0|{CTI_DEPSALH,CTI_EFFDH,CTI_ENTSORH,CTI_NVSALH,CTI_TOH} | |||||
| 591c31d9-cf2a-4b9d-afd3-3605a476fc29|"CTI_EGAPRO|CTI_ENTSORCAR"|cti|Femmes|0|13|2|5|val|t|"CTI_EGAPRO|0"|0|{CTI_DEPSALF,CTI_EFFDF,CTI_ENTSORF,CTI_NVSALF,CTI_TOF} | |||||
| da27e182-48ea-4c44-b874-4d3b860c875f|"CTI_EGAPRO|CTI_MSAGE"|cti|Masse salariale par tranche age|0|0|6|9|val|t|"CTI_EGAPRO|1"|0|{CTI_MSF,CTI_MSH} | |||||
| 8230cb17-4b23-4f64-b513-c1f20d8d91f0|"CTI_EGAPRO|CTI_MSCSP"|cti|Masse salariale par CSP|3|9|3|13|val|t|"CTI_EGAPRO|1"|0|{CTI_MSF,CTI_MSH} | |||||
| 7506a3e7-1b44-41e9-8727-e9fb1af75441|"CTI_EGAPRO|CTI_MSCSPMAP"|cti|Masse salariale par CSP (MAP)|0|9|3|13|val|t|"CTI_EGAPRO|1"|0|{CTI_MS} | |||||
| 1736e926-d668-4375-b042-95299d51b67c|"CTI_EGAPRO|CTI_STAT"|cti|Tableau statuts|4|0|2|8|val|t|"CTI_EGAPRO|0"|0|{CTI_FEMMES,CTI_HOMMES,CTI_TOTSAL} | |||||
| 1bf148e8-996a-4e64-b2b4-df19575c3368|"CTI_EGAPRO|CTI_STATTIME"|cti|Statuts|0|25|3|8|cum|t|"CTI_EGAPRO|0"|0|{CTI_TAUXSTAT,CTI_TOTSAL,CTI_TOTSALF} | |||||
| 732c7aad-a075-4ed8-a0b6-7a378af82d81|"CTI_EGAPRO|CTI_TYPECNT"|cti|Types de contrats - Femmes|0|0|2|8|val|t|"CTI_EGAPRO|0"|0|{CTI_FEMMES} | |||||
| ac7b3909-8d3a-497e-9996-3b1111ded80e|"CTI_EGAPRO|CTI_TYPECNT"|cti|Types de contrats - Hommes|2|0|2|8|val|t|"CTI_EGAPRO|0"|0|{CTI_HOMMES} | |||||
| @ -0,0 +1,4 @@ | |||||
| @ECHO Off | |||||
| ECHO /!\ VOUS ETES SUR LE POINT DE PERDRE LES DONNEES DE VOTRE BASE /!\ | |||||
| PAUSE | |||||
| ..\..\..\Sources\db\data\iCTI_svn_data_apply.exe -m rh | |||||
| @ -0,0 +1,2 @@ | |||||
| @ECHO Off | |||||
| ..\..\..\Sources\db\data\iCTI_svn_data_extract.exe -m rh | |||||
| @ -0,0 +1,4 @@ | |||||
| contrat: Contrat (item) | |||||
| paie: Historique de Paie (item) | |||||
| salarie: Salarie (item) | |||||
| ITMTAB: Table normale Item | |||||
| @ -0,0 +1,10 @@ | |||||
| -- ============================================================ | |||||
| -- Derniers traitements | |||||
| -- - Lancement de fonctions PGSQL | |||||
| -- - Nettoyage installdb (éventuel) | |||||
| -- ============================================================ | |||||
| -- CrÈation des vues de ventilation de la paie; | |||||
| SELECT rh.cti_hp_create_views() | |||||
| ; | |||||
| @ -0,0 +1,792 @@ | |||||
| -- ===================================================================== | |||||
| -- 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 | |||||
| ; | |||||
| @ -0,0 +1,3 @@ | |||||
| -- ===================================================================== | |||||
| -- Divers traitements sur les données avant l'installation des données | |||||
| -- ===================================================================== | |||||
| @ -0,0 +1,8 @@ | |||||
| -- ============================================= | |||||
| -- Nettoyage de la BDD avant installation. | |||||
| -- (Supprimer le contenu au bout de 3 mois) | |||||
| -- - Suppression de tables | |||||
| -- - Suppression de champs | |||||
| -- - Suppression de vues/fonctions SQL | |||||
| -- - Suppression ou modification de séquences | |||||
| -- ============================================= | |||||
| @ -0,0 +1,219 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| src: | | |||||
| DECLARE | |||||
| result TEXT; | |||||
| _module_pmsimco TEXT; | |||||
| BEGIN | |||||
| RAISE NOTICE '%' , 'Initialisation budget_cles'; | |||||
| -- Contenu table | |||||
| INSERT INTO rh.t_budget_cle (oid, code, texte, texte_court) | |||||
| SELECT 0, '**', 'Non renseigné', 'Non renseigné' | |||||
| WHERE 0 NOT IN (SELECT oid FROM rh.t_budget_cle); | |||||
| -- Oids des sections de classe | |||||
| DROP TABLE IF EXISTS w_classe_section_to_id; | |||||
| CREATE TEMP TABLE w_classe_section_to_id AS | |||||
| SELECT '[CLASSE:'||t_classes.code||':'||t_classes_sections.code||']' AS classe_section_code, to_id AS classe_section_to_id | |||||
| FROM rh.t_classes | |||||
| JOIN rh.t_classes_sections ON classe_id = t_classes.oid | |||||
| JOIN rh.t_classes_sections_elements ON section_id = t_classes_sections.oid | |||||
| WHERE t_classes.code <> '' | |||||
| GROUP BY 1,2 | |||||
| ; | |||||
| -- Traduction des règles en oid | |||||
| RAISE NOTICE '%' , 'Application des regles. Traduction en oid'; | |||||
| DROP TABLE IF EXISTS w_budget_cle_rule; | |||||
| CREATE TEMP TABLE w_budget_cle_rule AS | |||||
| SELECT | |||||
| t_budget_cle_rule.oid, | |||||
| budget_cle_id, | |||||
| priorite, | |||||
| CASE WHEN liste_finess <> '' THEN '1' ELSE '0' END AS a_liste_finess, | |||||
| string_to_array(translate(liste_finess,'*,','% '),' ') AS liste_finess, | |||||
| NULL::bigint[] AS liste_finess_id , | |||||
| CASE WHEN liste_etablissement <> '' THEN '1' ELSE '0' END AS a_liste_etablissement, | |||||
| string_to_array(translate(liste_etablissement,'*,','% '),' ') AS liste_etablissement, | |||||
| NULL::bigint[] AS liste_etablissement_id , | |||||
| CASE WHEN liste_service <> '' THEN '1' ELSE '0' END AS a_liste_service, | |||||
| string_to_array(translate(liste_service,'*,','% '),' ') AS liste_service, | |||||
| NULL::bigint[] AS liste_service_id , | |||||
| CASE WHEN liste_specialite <> '' THEN '1' ELSE '0' END AS a_liste_specialite, | |||||
| string_to_array(translate(liste_specialite,'*,','% '),' ') AS liste_specialite, | |||||
| NULL::bigint[] AS liste_specialite_id , | |||||
| CASE WHEN liste_section_analytique <> '' THEN '1' ELSE '0' END AS a_liste_section_analytique, | |||||
| string_to_array(translate(liste_section_analytique,'*,','% '),' ') AS liste_section_analytique, | |||||
| NULL::bigint[] AS liste_section_analytique_id , | |||||
| CASE WHEN liste_section_analytique_paie <> '' THEN '1' ELSE '0' END AS a_liste_section_analytique_paie, | |||||
| string_to_array(translate(liste_section_analytique_paie,'*,','% '),' ') AS liste_section_analytique_paie, | |||||
| NULL::bigint[] AS liste_section_analytique_paie_id , | |||||
| CASE WHEN liste_qualification <> '' THEN '1' ELSE '0' END AS a_liste_qualification, | |||||
| string_to_array(translate(liste_qualification,'*,','% '),' ') AS liste_qualification, | |||||
| NULL::bigint[] AS liste_qualification_id , | |||||
| CASE WHEN liste_grille <> '' THEN '1' ELSE '0' END AS a_liste_grille, | |||||
| string_to_array(translate(liste_grille,'*,','% '),' ') AS liste_grille, | |||||
| NULL::bigint[] AS liste_grille_id , | |||||
| CASE WHEN liste_code_emploi <> '' THEN '1' ELSE '0' END AS a_liste_code_emploi, | |||||
| string_to_array(translate(liste_code_emploi,'*,','% '),' ') AS liste_code_emploi, | |||||
| NULL::bigint[] AS liste_code_emploi_id , | |||||
| CASE WHEN liste_categorie_socio_professionnelle <> '' THEN '1' ELSE '0' END AS a_liste_categorie_socio_professionnelle, | |||||
| string_to_array(translate(liste_categorie_socio_professionnelle,'*,','% '),' ') AS liste_categorie_socio_professionnelle, | |||||
| NULL::bigint[] AS liste_categorie_socio_professionnelle_id | |||||
| FROM rh.t_budget_cle_rule | |||||
| JOIN rh.t_budget_cle ON budget_cle_id = t_budget_cle.oid | |||||
| ORDER BY priorite, budget_cle_id; | |||||
| DELETE FROM w_budget_cle_rule | |||||
| WHERE | |||||
| (a_liste_finess::int + | |||||
| a_liste_etablissement::int + | |||||
| a_liste_service::int + | |||||
| a_liste_specialite::int + | |||||
| a_liste_section_analytique::int + | |||||
| a_liste_section_analytique_paie::int + | |||||
| a_liste_qualification::int + | |||||
| a_liste_grille::int + | |||||
| a_liste_code_emploi::int + | |||||
| a_liste_categorie_socio_professionnelle::int) = 0 | |||||
| ; | |||||
| UPDATE w_budget_cle_rule | |||||
| SET liste_finess_id = (SELECT base.cti_group_array3(oid) FROM base.t_finess WHERE oid <> 0 AND code LIKE ANY (liste_finess)) | |||||
| WHERE a_liste_finess = '1'; | |||||
| UPDATE w_budget_cle_rule | |||||
| SET liste_etablissement_id = (SELECT base.cti_group_array3(oid) FROM rh.t_etablissements WHERE oid <> 0 AND code LIKE ANY (liste_etablissement)) | |||||
| WHERE a_liste_etablissement = '1'; | |||||
| UPDATE w_budget_cle_rule | |||||
| SET liste_service_id = (SELECT base.cti_group_array3(oid) FROM rh.t_services WHERE oid <> 0 AND code LIKE ANY (liste_service)) | |||||
| WHERE a_liste_service = '1'; | |||||
| UPDATE w_budget_cle_rule | |||||
| SET liste_specialite_id = (SELECT base.cti_group_array3(oid) FROM rh.t_specialites WHERE oid <> 0 AND code LIKE ANY (liste_specialite)) | |||||
| WHERE a_liste_specialite = '1'; | |||||
| UPDATE w_budget_cle_rule | |||||
| SET liste_section_analytique_id = (SELECT base.cti_group_array3(oid) FROM rh.t_sections_analytiques WHERE oid <> 0 AND code LIKE ANY (liste_section_analytique)) | |||||
| WHERE a_liste_section_analytique = '1'; | |||||
| UPDATE w_budget_cle_rule | |||||
| SET liste_section_analytique_paie_id = (SELECT base.cti_group_array3(oid) FROM rh.t_sections_analytiques_paie WHERE oid <> 0 AND code LIKE ANY (liste_section_analytique_paie)) | |||||
| WHERE a_liste_section_analytique_paie = '1'; | |||||
| UPDATE w_budget_cle_rule | |||||
| SET liste_qualification_id = (SELECT base.cti_group_array3(oid) FROM rh.t_qualifications WHERE oid <> 0 AND code LIKE ANY (liste_qualification)) | |||||
| WHERE a_liste_qualification = '1'; | |||||
| UPDATE w_budget_cle_rule | |||||
| SET liste_qualification_id = subview.liste_qualification_id | |||||
| FROM | |||||
| ( | |||||
| SELECT w_budget_cle_rule.oid, | |||||
| array_cat(MAX(liste_qualification_id),base.cti_group_array3(classe_section_to_id)) AS liste_qualification_id | |||||
| FROM w_budget_cle_rule | |||||
| JOIN w_classe_section_to_id ON classe_section_code = ANY(liste_qualification) | |||||
| WHERE a_liste_qualification = '1' | |||||
| GROUP BY 1 | |||||
| ) subview | |||||
| WHERE w_budget_cle_rule.oid = subview.oid | |||||
| ; | |||||
| UPDATE w_budget_cle_rule | |||||
| SET liste_grille_id = (SELECT base.cti_group_array3(oid) FROM rh.t_grilles WHERE oid <> 0 AND code LIKE ANY (liste_grille)) | |||||
| WHERE a_liste_grille = '1'; | |||||
| UPDATE w_budget_cle_rule | |||||
| SET liste_code_emploi_id = (SELECT base.cti_group_array3(oid) FROM rh.t_codes_emploi WHERE oid <> 0 AND code LIKE ANY (liste_code_emploi)) | |||||
| WHERE a_liste_code_emploi = '1'; | |||||
| UPDATE w_budget_cle_rule | |||||
| SET liste_categorie_socio_professionnelle_id = (SELECT base.cti_group_array3(oid) FROM rh.t_categories_socio_professionnelle WHERE oid <> 0 AND code LIKE ANY (liste_categorie_socio_professionnelle)) | |||||
| WHERE a_liste_categorie_socio_professionnelle = '1'; | |||||
| RAISE NOTICE '%' , 'Application des regles.' | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_profil_contrat_mois | |||||
| ; | |||||
| CREATE TEMP TABLE w_profil_contrat_mois AS | |||||
| SELECT | |||||
| p_profil_contrat_mois.oid, | |||||
| COALESCE(MIN(priorite),999999999) AS budget_cle_priorite, | |||||
| COALESCE((MIN(ARRAY[priorite,w_budget_cle_rule.budget_cle_id]))[2],0) AS budget_cle_id | |||||
| FROM rh.p_profil_contrat_mois | |||||
| JOIN rh.p_contrats_mois ON p_profil_contrat_mois.contrat_mois_id = p_contrats_mois.oid | |||||
| JOIN rh.t_etablissements ON t_etablissements.oid = p_contrats_mois.etablissement_id | |||||
| JOIN rh.p_profils ON p_profil_contrat_mois.profil_id = p_profils.oid | |||||
| JOIN w_budget_cle_rule ON | |||||
| (a_liste_finess = '0' OR finess_id = ANY (liste_finess_id)) AND | |||||
| (a_liste_etablissement = '0' OR p_contrats_mois.etablissement_id = ANY (liste_etablissement_id)) AND | |||||
| (a_liste_service = '0' OR p_profils.service_id = ANY (liste_service_id)) AND | |||||
| (a_liste_specialite = '0' OR p_profils.specialite_id = ANY (liste_specialite_id)) AND | |||||
| (a_liste_qualification = '0' OR p_profils.qualification_id = ANY (liste_qualification_id)) AND | |||||
| (a_liste_section_analytique = '0' OR p_profils.section_analytique_id = ANY (liste_section_analytique_id)) AND | |||||
| (a_liste_section_analytique_paie = '0' OR p_profils.section_analytique_paie_id = ANY (liste_section_analytique_paie_id)) AND | |||||
| (a_liste_grille = '0' OR p_profils.grille_id = ANY (liste_grille_id)) AND | |||||
| (a_liste_code_emploi = '0' OR p_profils.code_emploi_id = ANY (liste_code_emploi_id)) AND | |||||
| (a_liste_categorie_socio_professionnelle = '0' OR p_profils.categorie_socio_professionnelle_id = ANY (liste_categorie_socio_professionnelle_id)) | |||||
| -- Pas de service planning. | |||||
| WHERE | |||||
| (a_liste_finess::int + | |||||
| a_liste_etablissement::int + | |||||
| a_liste_service::int + | |||||
| a_liste_specialite::int + | |||||
| a_liste_section_analytique::int + | |||||
| a_liste_section_analytique_paie::int + | |||||
| a_liste_qualification::int + | |||||
| a_liste_grille::int + | |||||
| a_liste_code_emploi::int + | |||||
| a_liste_categorie_socio_professionnelle::int) > 0 | |||||
| GROUP BY 1 | |||||
| ORDER BY 2,1 | |||||
| ; | |||||
| RAISE NOTICE '%' , 'Application des regles. Validation des budget_cles'; | |||||
| UPDATE rh.p_profil_contrat_mois SET | |||||
| budget_cle_id = w_profil_contrat_mois.budget_cle_id | |||||
| FROM w_profil_contrat_mois | |||||
| WHERE p_profil_contrat_mois.oid = w_profil_contrat_mois.oid AND | |||||
| p_profil_contrat_mois.budget_cle_id IS DISTINCT FROM w_profil_contrat_mois.budget_cle_id | |||||
| ; | |||||
| UPDATE rh.p_profil_contrat_mois SET | |||||
| budget_cle_id = 0 | |||||
| WHERE 1=1 | |||||
| AND oid NOT IN (SELECT oid FROM w_profil_contrat_mois group by 1) | |||||
| AND budget_cle_id IS DISTINCT FROM 0 | |||||
| ; | |||||
| ANALYSE rh.p_profil_contrat_mois | |||||
| ; | |||||
| INSERT INTO rh.p_oids (code_table, oid) | |||||
| SELECT 'budget_cle', budget_cle_id | |||||
| FROM rh.p_profil_contrat_mois | |||||
| WHERE budget_cle_id NOT IN (SELECT oid FROM rh.p_oids WHERE code_table = 'budget_cle') | |||||
| GROUP BY 2 | |||||
| ; | |||||
| RETURN 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,19 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| src: | | |||||
| DECLARE | |||||
| BEGIN | |||||
| -- Oid 0 = Non renseigné | |||||
| INSERT INTO rh.t_budget_cle (oid, code, texte, texte_court) | |||||
| SELECT | |||||
| 0, '*NR', 'N/R', 'N/R' | |||||
| WHERE 0 NOT IN (SELECT oid FROM rh.t_budget_cle) | |||||
| ; | |||||
| RETURN 'OK' ; | |||||
| END; | |||||
| @ -0,0 +1,771 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| src: | | |||||
| DECLARE | |||||
| min_month_to_get numeric; | |||||
| closed_payroll_month numeric; | |||||
| max_month_to_get numeric; | |||||
| BEGIN | |||||
| -- Date la plus ancienne à récupérer de la paie | |||||
| min_month_to_get = (SELECT MIN(mois_paie) FROM rh.p_historique_paie); | |||||
| -- Date la plus récente à récupérer de la paie. Dernière paie cloturée | |||||
| closed_payroll_month = (SELECT MAX(mois_paie) FROM rh.p_historique_paie); | |||||
| -- Pour l'instant, le calcul ne se fait que jusqu'au dernier mois de paie cloturé | |||||
| max_month_to_get = closed_payroll_month; | |||||
| -- Vidage des tables | |||||
| TRUNCATE rh.p_taux_horaires_mensuels; | |||||
| TRUNCATE rh.p_croisement_paie_planning; | |||||
| TRUNCATE rh.p_sommes_mensuelles_ventilees_paie; | |||||
| TRUNCATE rh.p_sommes_mensuelles_ventilees_planning; | |||||
| TRUNCATE rh.p_presence_salaries; | |||||
| TRUNCATE rh.t_periode_paie; | |||||
| -- Génération des périodes de paie | |||||
| DROP TABLE IF EXISTS periode_paie | |||||
| ; | |||||
| CREATE TEMP TABLE periode_paie AS | |||||
| SELECT | |||||
| date AS date_debut, | |||||
| ((date + interval '1 MONTH') - interval '1 DAY')::date AS date_fin, | |||||
| (to_char(((date + interval '1 MONTH') - interval '1 DAY')::date, 'YYYYMM'))::int AS mois_paie | |||||
| FROM base.p_calendrier | |||||
| WHERE | |||||
| date BETWEEN (SELECT MIN(p_historique_paie.date_debut) FROM rh.p_historique_paie) AND (SELECT MAX(p_historique_paie.date_fin) FROM rh.p_historique_paie) | |||||
| AND date_part('DAY', date) = (SELECT valeur::numeric FROM rh.t_divers WHERE code = 'CPP_JOUR_DEBUT_MOIS_PAIE') | |||||
| ORDER BY 1 | |||||
| ; | |||||
| INSERT INTO rh.t_periode_paie ( | |||||
| date_debut, | |||||
| date_fin, | |||||
| mois_paie | |||||
| ) | |||||
| SELECT | |||||
| date_debut, | |||||
| date_fin, | |||||
| mois_paie | |||||
| FROM periode_paie | |||||
| ; | |||||
| -- Récupération des salariés présents en paie par mois | |||||
| DROP TABLE IF EXISTS presence_histo_paie | |||||
| ; | |||||
| CREATE TEMP TABLE presence_histo_paie AS | |||||
| SELECT | |||||
| p_historique_paie.salarie_id, | |||||
| t_periode_paie.mois_paie | |||||
| FROM rh.p_historique_paie | |||||
| JOIN rh.t_periode_paie ON t_periode_paie.mois_paie = p_historique_paie.mois_paie | |||||
| GROUP BY 1,2 | |||||
| ; | |||||
| -- Récupération des salariés présents au planning par mois | |||||
| DROP TABLE IF EXISTS presence_mouvements_planning | |||||
| ; | |||||
| CREATE TEMP TABLE presence_mouvements_planning AS | |||||
| SELECT | |||||
| p_planning_mouvement.salarie_id, | |||||
| t_periode_paie.mois_paie | |||||
| FROM rh.p_planning_mouvement | |||||
| JOIN rh.t_periode_paie ON true | |||||
| WHERE p_planning_mouvement.date BETWEEN t_periode_paie.date_debut AND t_periode_paie.date_fin | |||||
| GROUP BY 1,2 | |||||
| ; | |||||
| -- Génération de la présence des salariés dans la paie et dans le planning par mois | |||||
| DROP TABLE IF EXISTS presence_salaries | |||||
| ; | |||||
| CREATE TEMP TABLE presence_salaries AS | |||||
| SELECT | |||||
| p_salaries.oid AS salarie_id, | |||||
| t_periode_paie.mois_paie, | |||||
| COUNT(presence_histo_paie.salarie_id) > 0 AS present_paie, | |||||
| COUNT(presence_mouvements_planning.salarie_id) > 0 AS present_planning, | |||||
| CASE WHEN p_salaries.matricule LIKE 'INTERIM-%' THEN true ELSE false END AS est_interimaire | |||||
| FROM rh.p_salaries | |||||
| JOIN rh.t_periode_paie ON true | |||||
| LEFT JOIN presence_histo_paie ON | |||||
| presence_histo_paie.salarie_id = p_salaries.oid AND | |||||
| presence_histo_paie.mois_paie = t_periode_paie.mois_paie | |||||
| LEFT JOIN presence_mouvements_planning ON | |||||
| presence_mouvements_planning.salarie_id = p_salaries.oid AND | |||||
| presence_mouvements_planning.mois_paie = t_periode_paie.mois_paie | |||||
| GROUP BY 1,2 | |||||
| ORDER BY 1,2 | |||||
| ; | |||||
| INSERT INTO rh.p_presence_salaries( | |||||
| salarie_id, | |||||
| mois_paie, | |||||
| present_paie, | |||||
| present_planning, | |||||
| est_interimaire | |||||
| ) | |||||
| SELECT | |||||
| salarie_id, | |||||
| mois_paie, | |||||
| present_paie, | |||||
| present_planning, | |||||
| est_interimaire | |||||
| FROM presence_salaries | |||||
| ; | |||||
| ANALYZE rh.p_presence_salaries | |||||
| ; | |||||
| -- Aggrégation par salarié, mois, établissement, service et qualification des différents indicateurs de paie (montant_brut, montant_masse_salariale, etc) | |||||
| DROP TABLE IF EXISTS sommes_mensuelles_ventilees_paie | |||||
| ; | |||||
| CREATE TEMP TABLE sommes_mensuelles_ventilees_paie AS | |||||
| SELECT | |||||
| p_historique_paie.salarie_id, | |||||
| p_historique_paie.mois_paie, | |||||
| p_historique_paie.etablissement_id, | |||||
| t_services.oid AS paie_service_id, | |||||
| t_services.code AS paie_service_code, | |||||
| t_services.texte AS paie_service_texte, | |||||
| t_qualifications.oid AS paie_qualification_id, | |||||
| t_qualifications.code AS paie_qualification_code, | |||||
| t_qualifications.texte AS paie_qualification_texte, | |||||
| sum(p_historique_paie.heure_contrat) AS heure_contrat, | |||||
| sum(p_historique_paie.heure_payee) AS heure_payee, | |||||
| sum(p_historique_paie.heure_travaillee) AS heure_travaillee, | |||||
| sum(p_historique_paie.montant_brut) AS montant_brut, | |||||
| sum(p_historique_paie.montant_masse_salariale) AS montant_masse_salariale, | |||||
| sum(p_historique_paie.montant_cotisation_patronale) AS montant_cotisation_patronale, | |||||
| sum(p_historique_paie.montant_provisions) AS montant_provisions, | |||||
| sum(p_historique_paie.montant_masse_salariale_provisionnee) AS montant_masse_salariale_provisionnee, | |||||
| sum(base.cti_division(p_historique_paie.heure_contrat * p_profil_contrat_mois.ratio, t_etablissements.base_calcul_etp)) AS equivalent_temps_plein | |||||
| FROM rh.p_historique_paie | |||||
| JOIN rh.p_contrats_mois ON p_contrats_mois.oid = p_historique_paie.contrat_mois_id | |||||
| JOIN rh.p_profils ON p_profils.oid = p_contrats_mois.profil_id | |||||
| JOIN rh.p_profil_contrat_mois ON p_profil_contrat_mois.contrat_mois_id = p_contrats_mois.oid AND p_profil_contrat_mois.profil_id = p_contrats_mois.profil_id | |||||
| JOIN rh.t_etablissements ON t_etablissements.oid = p_historique_paie.etablissement_id | |||||
| JOIN rh.t_qualifications ON t_qualifications.oid = p_profils.qualification_id | |||||
| JOIN rh.t_services ON t_services.oid = p_profils.service_id | |||||
| WHERE p_historique_paie.mois_paie BETWEEN min_month_to_get AND closed_payroll_month | |||||
| GROUP BY p_historique_paie.salarie_id, p_historique_paie.mois_paie, p_historique_paie.etablissement_id, t_services.oid, t_qualifications.oid | |||||
| ; | |||||
| CREATE INDEX sommes_mensuelles_ventilees_paie_i1 ON sommes_mensuelles_ventilees_paie USING btree(salarie_id) | |||||
| ; | |||||
| CREATE INDEX sommes_mensuelles_ventilees_paie_i2 ON sommes_mensuelles_ventilees_paie USING btree(mois_paie) | |||||
| ; | |||||
| CREATE INDEX sommes_mensuelles_ventilees_paie_i3 ON sommes_mensuelles_ventilees_paie USING btree(etablissement_id) | |||||
| ; | |||||
| ANALYZE sommes_mensuelles_ventilees_paie | |||||
| ; | |||||
| -- Aggrégation par salarié et mois des différents indicateurs de paie (montant_brut, montant_masse_salariale, etc) | |||||
| DROP TABLE IF EXISTS sommes_mensuelles_paie | |||||
| ; | |||||
| CREATE TEMP TABLE sommes_mensuelles_paie AS | |||||
| SELECT | |||||
| salarie_id, | |||||
| mois_paie, | |||||
| sum(heure_contrat) AS heure_contrat, | |||||
| sum(heure_payee) AS heure_payee, | |||||
| sum(heure_travaillee) AS heure_travaillee, | |||||
| sum(montant_brut) AS montant_brut, | |||||
| sum(montant_masse_salariale) AS montant_masse_salariale, | |||||
| sum(montant_cotisation_patronale) AS montant_cotisation_patronale, | |||||
| sum(montant_provisions) AS montant_provisions, | |||||
| sum(montant_masse_salariale_provisionnee) AS montant_masse_salariale_provisionnee, | |||||
| sum(equivalent_temps_plein) AS equivalent_temps_plein | |||||
| FROM sommes_mensuelles_ventilees_paie | |||||
| GROUP BY 1,2 | |||||
| ; | |||||
| CREATE INDEX sommes_mensuelles_paie_i1 ON sommes_mensuelles_paie USING btree(salarie_id) | |||||
| ; | |||||
| CREATE INDEX sommes_mensuelles_paie_i2 ON sommes_mensuelles_paie USING btree(mois_paie) | |||||
| ; | |||||
| ANALYZE sommes_mensuelles_paie | |||||
| ; | |||||
| -- Aggrégation par salarié, mois, établissement, service et qualification des différents indicateurs de planning (les 3 principaux indicateurs de temps : temps_du_initial, temps_du, temps_valide) | |||||
| DROP TABLE IF EXISTS sommes_mensuelles_ventilees_planning | |||||
| ; | |||||
| CREATE TEMP TABLE sommes_mensuelles_ventilees_planning AS | |||||
| SELECT | |||||
| p_planning_mouvement.salarie_id, | |||||
| t_periode_paie.mois_paie, | |||||
| p_planning_mouvement.etablissement_id, | |||||
| t_planning_service.oid AS planning_service_id, | |||||
| t_planning_service.code AS planning_service_code, | |||||
| t_planning_service.texte AS planning_service_texte, | |||||
| t_planning_qualification.oid AS planning_qualification_id, | |||||
| t_planning_qualification.code AS planning_qualification_code, | |||||
| t_planning_qualification.texte AS planning_qualification_texte, | |||||
| sum(p_planning_mouvement.temps_du_initial) AS temps_du_initial, | |||||
| sum(p_planning_mouvement.temps_du) AS temps_du, | |||||
| sum(p_planning_mouvement.temps_valide) AS temps_valide | |||||
| FROM rh.p_planning_mouvement | |||||
| JOIN rh.t_periode_paie ON base.cti_overlaps(t_periode_paie.date_debut, t_periode_paie.date_fin, p_planning_mouvement.date, p_planning_mouvement.date) | |||||
| LEFT JOIN rh.t_planning_service ON t_planning_service.oid = p_planning_mouvement.service_id | |||||
| LEFT JOIN rh.t_planning_qualification ON t_planning_qualification.oid = p_planning_mouvement.qualification_id | |||||
| WHERE p_planning_mouvement.mois BETWEEN min_month_to_get AND closed_payroll_month | |||||
| GROUP BY p_planning_mouvement.salarie_id, t_periode_paie.mois_paie, p_planning_mouvement.etablissement_id, t_planning_service.oid, t_planning_service.code, t_planning_service.texte, t_planning_qualification.oid, t_planning_qualification.code, t_planning_qualification.texte | |||||
| ; | |||||
| CREATE INDEX sommes_mensuelles_ventilees_planning_i1 ON sommes_mensuelles_ventilees_planning USING btree(salarie_id) | |||||
| ; | |||||
| CREATE INDEX sommes_mensuelles_ventilees_planning_i2 ON sommes_mensuelles_ventilees_planning USING btree(mois_paie) | |||||
| ; | |||||
| CREATE INDEX sommes_mensuelles_ventilees_planning_i3 ON sommes_mensuelles_ventilees_planning USING btree(etablissement_id) | |||||
| ; | |||||
| ANALYZE sommes_mensuelles_ventilees_planning | |||||
| ; | |||||
| -- Aggrégation par salarié, mois et établissement des différents indicateurs de planning (les 3 principaux indicateurs de temps : temps_du_initial, temps_du, temps_valide) | |||||
| DROP TABLE IF EXISTS sommes_mensuelles_planning | |||||
| ; | |||||
| CREATE TEMP TABLE sommes_mensuelles_planning AS | |||||
| SELECT | |||||
| salarie_id, | |||||
| mois_paie, | |||||
| etablissement_id, | |||||
| sum(temps_du_initial) AS temps_du_initial, | |||||
| sum(temps_du) AS temps_du, | |||||
| sum(temps_valide) AS temps_valide | |||||
| FROM sommes_mensuelles_ventilees_planning | |||||
| GROUP BY 1,2,3 | |||||
| ; | |||||
| CREATE INDEX sommes_mensuelles_planning_i1 ON sommes_mensuelles_planning USING btree(salarie_id) | |||||
| ; | |||||
| CREATE INDEX sommes_mensuelles_planning_i2 ON sommes_mensuelles_planning USING btree(mois_paie) | |||||
| ; | |||||
| CREATE INDEX sommes_mensuelles_planning_i3 ON sommes_mensuelles_planning USING btree(etablissement_id) | |||||
| ; | |||||
| ANALYZE sommes_mensuelles_planning | |||||
| ; | |||||
| INSERT INTO rh.p_sommes_mensuelles_ventilees_paie ( | |||||
| salarie_id, | |||||
| mois_paie, | |||||
| etablissement_id, | |||||
| paie_service_id, | |||||
| paie_service_code, | |||||
| paie_service_texte, | |||||
| paie_qualification_id, | |||||
| paie_qualification_code, | |||||
| paie_qualification_texte, | |||||
| heure_contrat, | |||||
| heure_payee, | |||||
| heure_travaillee, | |||||
| montant_brut, | |||||
| montant_masse_salariale, | |||||
| montant_cotisation_patronale, | |||||
| montant_provisions, | |||||
| montant_masse_salariale_provisionnee, | |||||
| equivalent_temps_plein | |||||
| ) | |||||
| SELECT | |||||
| salarie_id, | |||||
| mois_paie, | |||||
| etablissement_id, | |||||
| paie_service_id, | |||||
| paie_service_code, | |||||
| paie_service_texte, | |||||
| paie_qualification_id, | |||||
| paie_qualification_code, | |||||
| paie_qualification_texte, | |||||
| heure_contrat, | |||||
| heure_payee, | |||||
| heure_travaillee, | |||||
| montant_brut, | |||||
| montant_masse_salariale, | |||||
| montant_cotisation_patronale, | |||||
| montant_provisions, | |||||
| montant_masse_salariale_provisionnee, | |||||
| equivalent_temps_plein | |||||
| FROM sommes_mensuelles_ventilees_paie | |||||
| ; | |||||
| INSERT INTO rh.p_sommes_mensuelles_ventilees_planning ( | |||||
| salarie_id, | |||||
| mois_paie, | |||||
| etablissement_id, | |||||
| planning_service_id, | |||||
| planning_service_code, | |||||
| planning_service_texte, | |||||
| planning_qualification_id, | |||||
| planning_qualification_code, | |||||
| planning_qualification_texte, | |||||
| temps_du_initial, | |||||
| temps_du, | |||||
| temps_valide | |||||
| ) | |||||
| SELECT | |||||
| salarie_id, | |||||
| mois_paie, | |||||
| etablissement_id, | |||||
| planning_service_id, | |||||
| planning_service_code, | |||||
| planning_service_texte, | |||||
| planning_qualification_id, | |||||
| planning_qualification_code, | |||||
| planning_qualification_texte, | |||||
| temps_du_initial, | |||||
| temps_du, | |||||
| temps_valide | |||||
| FROM sommes_mensuelles_ventilees_planning | |||||
| ; | |||||
| -- Calcul du taux horaire mensuel pour chaque salarié | |||||
| -- En rapport les différents indicateurs de paie (montant_brut, montant_masse_salariale, etc) au différents indicateur de planning (les 3 principaux indicateurs de temps : temps_du_initial, temps_du, temps_valide) | |||||
| DROP TABLE IF EXISTS taux_horaires_mensuels | |||||
| ; | |||||
| CREATE TEMP TABLE taux_horaires_mensuels AS | |||||
| SELECT sommes_mensuelles_planning.salarie_id, | |||||
| sommes_mensuelles_planning.mois_paie, | |||||
| sommes_mensuelles_planning.temps_du_initial, | |||||
| sommes_mensuelles_planning.temps_du, | |||||
| sommes_mensuelles_planning.temps_valide, | |||||
| sommes_mensuelles_paie.heure_contrat, | |||||
| base.cti_division(sommes_mensuelles_paie.heure_contrat, sommes_mensuelles_planning.temps_du_initial) AS taux_horaire_heure_contrat_temps_du_initial, | |||||
| base.cti_division(sommes_mensuelles_paie.heure_contrat, sommes_mensuelles_planning.temps_du) AS taux_horaire_heure_contrat_temps_du, | |||||
| base.cti_division(sommes_mensuelles_paie.heure_contrat, sommes_mensuelles_planning.temps_valide) AS taux_horaire_heure_contrat_temps_valide, | |||||
| sommes_mensuelles_paie.heure_payee, | |||||
| base.cti_division(sommes_mensuelles_paie.heure_payee, sommes_mensuelles_planning.temps_du_initial) AS taux_horaire_heure_payee_temps_du_initial, | |||||
| base.cti_division(sommes_mensuelles_paie.heure_payee, sommes_mensuelles_planning.temps_du) AS taux_horaire_heure_payee_temps_du, | |||||
| base.cti_division(sommes_mensuelles_paie.heure_payee, sommes_mensuelles_planning.temps_valide) AS taux_horaire_heure_payee_temps_valide, | |||||
| sommes_mensuelles_paie.heure_travaillee, | |||||
| base.cti_division(sommes_mensuelles_paie.heure_travaillee, sommes_mensuelles_planning.temps_du_initial) AS taux_horaire_heure_travaillee_temps_du_initial, | |||||
| base.cti_division(sommes_mensuelles_paie.heure_travaillee, sommes_mensuelles_planning.temps_du) AS taux_horaire_heure_travaillee_temps_du, | |||||
| base.cti_division(sommes_mensuelles_paie.heure_travaillee, sommes_mensuelles_planning.temps_valide) AS taux_horaire_heure_travaillee_temps_valide, | |||||
| sommes_mensuelles_paie.montant_brut, | |||||
| base.cti_division(sommes_mensuelles_paie.montant_brut, sommes_mensuelles_planning.temps_du_initial) AS taux_horaire_montant_brut_temps_du_initial, | |||||
| base.cti_division(sommes_mensuelles_paie.montant_brut, sommes_mensuelles_planning.temps_du) AS taux_horaire_montant_brut_temps_du, | |||||
| base.cti_division(sommes_mensuelles_paie.montant_brut, sommes_mensuelles_planning.temps_valide) AS taux_horaire_montant_brut_temps_valide, | |||||
| sommes_mensuelles_paie.montant_masse_salariale, | |||||
| base.cti_division(sommes_mensuelles_paie.montant_masse_salariale, sommes_mensuelles_planning.temps_du_initial) AS taux_horaire_montant_masse_salariale_temps_du_initial, | |||||
| base.cti_division(sommes_mensuelles_paie.montant_masse_salariale, sommes_mensuelles_planning.temps_du) AS taux_horaire_montant_masse_salariale_temps_du, | |||||
| base.cti_division(sommes_mensuelles_paie.montant_masse_salariale, sommes_mensuelles_planning.temps_valide) AS taux_horaire_montant_masse_salariale_temps_valide, | |||||
| sommes_mensuelles_paie.montant_cotisation_patronale, | |||||
| base.cti_division(sommes_mensuelles_paie.montant_cotisation_patronale, sommes_mensuelles_planning.temps_du_initial) AS taux_horaire_montant_cotisation_patronale_temps_du_initial, | |||||
| base.cti_division(sommes_mensuelles_paie.montant_cotisation_patronale, sommes_mensuelles_planning.temps_du) AS taux_horaire_montant_cotisation_patronale_temps_du, | |||||
| base.cti_division(sommes_mensuelles_paie.montant_cotisation_patronale, sommes_mensuelles_planning.temps_valide) AS taux_horaire_montant_cotisation_patronale_temps_valide, | |||||
| sommes_mensuelles_paie.montant_provisions, | |||||
| base.cti_division(sommes_mensuelles_paie.montant_provisions, sommes_mensuelles_planning.temps_du_initial) AS taux_horaire_montant_provisions_temps_du_initial, | |||||
| base.cti_division(sommes_mensuelles_paie.montant_provisions, sommes_mensuelles_planning.temps_du) AS taux_horaire_montant_provisions_temps_du, | |||||
| base.cti_division(sommes_mensuelles_paie.montant_provisions, sommes_mensuelles_planning.temps_valide) AS taux_horaire_montant_provisions_temps_valide, | |||||
| sommes_mensuelles_paie.montant_masse_salariale_provisionnee, | |||||
| base.cti_division(sommes_mensuelles_paie.montant_masse_salariale_provisionnee, sommes_mensuelles_planning.temps_du_initial) AS taux_horaire_montant_masse_salariale_provisionnee_temps_du_init, | |||||
| base.cti_division(sommes_mensuelles_paie.montant_masse_salariale_provisionnee, sommes_mensuelles_planning.temps_du) AS taux_horaire_montant_masse_salariale_provisionnee_temps_du, | |||||
| base.cti_division(sommes_mensuelles_paie.montant_masse_salariale_provisionnee, sommes_mensuelles_planning.temps_valide) AS taux_horaire_montant_masse_salariale_provisionnee_temps_valide, | |||||
| sommes_mensuelles_paie.equivalent_temps_plein, | |||||
| base.cti_division(sommes_mensuelles_paie.equivalent_temps_plein, sommes_mensuelles_planning.temps_du_initial) AS taux_horaire_equivalent_temps_plein_temps_du_initial, | |||||
| base.cti_division(sommes_mensuelles_paie.equivalent_temps_plein, sommes_mensuelles_planning.temps_du) AS taux_horaire_equivalent_temps_plein_temps_du, | |||||
| base.cti_division(sommes_mensuelles_paie.equivalent_temps_plein, sommes_mensuelles_planning.temps_valide) AS taux_horaire_equivalent_temps_plein_temps_valide | |||||
| FROM rh.p_presence_salaries | |||||
| JOIN sommes_mensuelles_planning ON | |||||
| sommes_mensuelles_planning.salarie_id = p_presence_salaries.salarie_id AND | |||||
| sommes_mensuelles_planning.mois_paie = p_presence_salaries.mois_paie | |||||
| JOIN sommes_mensuelles_paie ON | |||||
| sommes_mensuelles_paie.salarie_id = p_presence_salaries.salarie_id AND | |||||
| sommes_mensuelles_paie.mois_paie = p_presence_salaries.mois_paie | |||||
| WHERE p_presence_salaries.present_paie = true AND p_presence_salaries.present_planning = true AND p_presence_salaries.est_interimaire = false | |||||
| ; | |||||
| CREATE INDEX taux_horaires_mensuels_i1 ON taux_horaires_mensuels USING btree(salarie_id) | |||||
| ; | |||||
| CREATE INDEX taux_horaires_mensuels_i2 ON taux_horaires_mensuels USING btree(mois_paie) | |||||
| ; | |||||
| ANALYZE taux_horaires_mensuels | |||||
| ; | |||||
| INSERT INTO rh.p_taux_horaires_mensuels ( | |||||
| salarie_id, | |||||
| mois_paie, | |||||
| temps_du_initial, | |||||
| temps_du, | |||||
| temps_valide, | |||||
| heure_contrat, | |||||
| taux_horaire_heure_contrat_temps_du_initial, | |||||
| taux_horaire_heure_contrat_temps_du, | |||||
| taux_horaire_heure_contrat_temps_valide, | |||||
| heure_payee, | |||||
| taux_horaire_heure_payee_temps_du_initial, | |||||
| taux_horaire_heure_payee_temps_du, | |||||
| taux_horaire_heure_payee_temps_valide, | |||||
| heure_travaillee, | |||||
| taux_horaire_heure_travaillee_temps_du_initial, | |||||
| taux_horaire_heure_travaillee_temps_du, | |||||
| taux_horaire_heure_travaillee_temps_valide, | |||||
| montant_brut, | |||||
| taux_horaire_montant_brut_temps_du_initial, | |||||
| taux_horaire_montant_brut_temps_du, | |||||
| taux_horaire_montant_brut_temps_valide, | |||||
| montant_masse_salariale, | |||||
| taux_horaire_montant_masse_salariale_temps_du_initial, | |||||
| taux_horaire_montant_masse_salariale_temps_du, | |||||
| taux_horaire_montant_masse_salariale_temps_valide, | |||||
| montant_cotisation_patronale, | |||||
| taux_horaire_montant_cotisation_patronale_temps_du_initial, | |||||
| taux_horaire_montant_cotisation_patronale_temps_du, | |||||
| taux_horaire_montant_cotisation_patronale_temps_valide, | |||||
| montant_provisions, | |||||
| taux_horaire_montant_provisions_temps_du_initial, | |||||
| taux_horaire_montant_provisions_temps_du, | |||||
| taux_horaire_montant_provisions_temps_valide, | |||||
| montant_masse_salariale_provisionnee, | |||||
| taux_horaire_montant_masse_salariale_provisionnee_temps_du_init, | |||||
| taux_horaire_montant_masse_salariale_provisionnee_temps_du, | |||||
| taux_horaire_montant_masse_salariale_provisionnee_temps_valide, | |||||
| equivalent_temps_plein, | |||||
| taux_horaire_equivalent_temps_plein_temps_du_initial, | |||||
| taux_horaire_equivalent_temps_plein_temps_du, | |||||
| taux_horaire_equivalent_temps_plein_temps_valide | |||||
| ) | |||||
| SELECT | |||||
| salarie_id, | |||||
| mois_paie, | |||||
| temps_du_initial, | |||||
| temps_du, | |||||
| temps_valide, | |||||
| heure_contrat, | |||||
| taux_horaire_heure_contrat_temps_du_initial, | |||||
| taux_horaire_heure_contrat_temps_du, | |||||
| taux_horaire_heure_contrat_temps_valide, | |||||
| heure_payee, | |||||
| taux_horaire_heure_payee_temps_du_initial, | |||||
| taux_horaire_heure_payee_temps_du, | |||||
| taux_horaire_heure_payee_temps_valide, | |||||
| heure_travaillee, | |||||
| taux_horaire_heure_travaillee_temps_du_initial, | |||||
| taux_horaire_heure_travaillee_temps_du, | |||||
| taux_horaire_heure_travaillee_temps_valide, | |||||
| montant_brut, | |||||
| taux_horaire_montant_brut_temps_du_initial, | |||||
| taux_horaire_montant_brut_temps_du, | |||||
| taux_horaire_montant_brut_temps_valide, | |||||
| montant_masse_salariale, | |||||
| taux_horaire_montant_masse_salariale_temps_du_initial, | |||||
| taux_horaire_montant_masse_salariale_temps_du, | |||||
| taux_horaire_montant_masse_salariale_temps_valide, | |||||
| montant_cotisation_patronale, | |||||
| taux_horaire_montant_cotisation_patronale_temps_du_initial, | |||||
| taux_horaire_montant_cotisation_patronale_temps_du, | |||||
| taux_horaire_montant_cotisation_patronale_temps_valide, | |||||
| montant_provisions, | |||||
| taux_horaire_montant_provisions_temps_du_initial, | |||||
| taux_horaire_montant_provisions_temps_du, | |||||
| taux_horaire_montant_provisions_temps_valide, | |||||
| montant_masse_salariale_provisionnee, | |||||
| taux_horaire_montant_masse_salariale_provisionnee_temps_du_init, | |||||
| taux_horaire_montant_masse_salariale_provisionnee_temps_du, | |||||
| taux_horaire_montant_masse_salariale_provisionnee_temps_valide, | |||||
| equivalent_temps_plein, | |||||
| taux_horaire_equivalent_temps_plein_temps_du_initial, | |||||
| taux_horaire_equivalent_temps_plein_temps_du, | |||||
| taux_horaire_equivalent_temps_plein_temps_valide | |||||
| FROM taux_horaires_mensuels | |||||
| ; | |||||
| -- Calcul du taux horaire mensuel moyen par service et qualification pour chaque salarié | |||||
| DROP TABLE IF EXISTS taux_horaires_mensuels_ventiles | |||||
| ; | |||||
| CREATE TEMP TABLE taux_horaires_mensuels_ventiles AS | |||||
| SELECT | |||||
| p_taux_horaires_mensuels.mois_paie, | |||||
| p_sommes_mensuelles_ventilees_planning.planning_service_id, | |||||
| p_sommes_mensuelles_ventilees_planning.planning_qualification_id, | |||||
| AVG(p_taux_horaires_mensuels.temps_du_initial) AS temps_du_initial, | |||||
| AVG(p_taux_horaires_mensuels.temps_du) AS temps_du, | |||||
| AVG(p_taux_horaires_mensuels.temps_valide) AS temps_valide, | |||||
| AVG(p_taux_horaires_mensuels.heure_contrat) AS heure_contrat, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_heure_contrat_temps_du_initial) AS taux_horaire_heure_contrat_temps_du_initial, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_heure_contrat_temps_du) AS taux_horaire_heure_contrat_temps_du, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_heure_contrat_temps_valide) AS taux_horaire_heure_contrat_temps_valide, | |||||
| AVG(p_taux_horaires_mensuels.heure_payee) AS heure_payee, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_heure_payee_temps_du_initial) AS taux_horaire_heure_payee_temps_du_initial, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_heure_payee_temps_du) AS taux_horaire_heure_payee_temps_du, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_heure_payee_temps_valide) AS taux_horaire_heure_payee_temps_valide, | |||||
| AVG(p_taux_horaires_mensuels.heure_travaillee) AS heure_travaillee, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_heure_travaillee_temps_du_initial) AS taux_horaire_heure_travaillee_temps_du_initial, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_heure_travaillee_temps_du) AS taux_horaire_heure_travaillee_temps_du, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_heure_travaillee_temps_valide) AS taux_horaire_heure_travaillee_temps_valide, | |||||
| AVG(p_taux_horaires_mensuels.montant_brut) AS montant_brut, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_montant_brut_temps_du_initial) AS taux_horaire_montant_brut_temps_du_initial, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_montant_brut_temps_du) AS taux_horaire_montant_brut_temps_du, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_montant_brut_temps_valide) AS taux_horaire_montant_brut_temps_valide, | |||||
| AVG(p_taux_horaires_mensuels.montant_masse_salariale) AS montant_masse_salariale, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_temps_du_initial) AS taux_horaire_montant_masse_salariale_temps_du_initial, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_temps_du) AS taux_horaire_montant_masse_salariale_temps_du, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_temps_valide) AS taux_horaire_montant_masse_salariale_temps_valide, | |||||
| AVG(p_taux_horaires_mensuels.montant_cotisation_patronale) AS montant_cotisation_patronale, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_montant_cotisation_patronale_temps_du_initial) AS taux_horaire_montant_cotisation_patronale_temps_du_initial, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_montant_cotisation_patronale_temps_du) AS taux_horaire_montant_cotisation_patronale_temps_du, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_montant_cotisation_patronale_temps_valide) AS taux_horaire_montant_cotisation_patronale_temps_valide, | |||||
| AVG(p_taux_horaires_mensuels.montant_provisions) AS montant_provisions, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_montant_provisions_temps_du_initial) AS taux_horaire_montant_provisions_temps_du_initial, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_montant_provisions_temps_du) AS taux_horaire_montant_provisions_temps_du, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_montant_provisions_temps_valide) AS taux_horaire_montant_provisions_temps_valide, | |||||
| AVG(p_taux_horaires_mensuels.montant_masse_salariale_provisionnee) AS montant_masse_salariale_provisionnee, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_provisionnee_temps_du_init) AS taux_horaire_montant_masse_salariale_provisionnee_temps_du_init, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_provisionnee_temps_du) AS taux_horaire_montant_masse_salariale_provisionnee_temps_du, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_provisionnee_temps_valide) AS taux_horaire_montant_masse_salariale_provisionnee_temps_valide, | |||||
| AVG(p_taux_horaires_mensuels.equivalent_temps_plein) AS equivalent_temps_plein, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_equivalent_temps_plein_temps_du_initial) AS taux_horaire_equivalent_temps_plein_temps_du_initial, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_equivalent_temps_plein_temps_du) AS taux_horaire_equivalent_temps_plein_temps_du, | |||||
| AVG(p_taux_horaires_mensuels.taux_horaire_equivalent_temps_plein_temps_valide) AS taux_horaire_equivalent_temps_plein_temps_valide | |||||
| FROM rh.p_sommes_mensuelles_ventilees_planning | |||||
| JOIN rh.p_taux_horaires_mensuels ON | |||||
| p_taux_horaires_mensuels.salarie_id = p_sommes_mensuelles_ventilees_planning.salarie_id AND | |||||
| p_taux_horaires_mensuels.mois_paie = p_sommes_mensuelles_ventilees_planning.mois_paie | |||||
| GROUP BY 1,2,3 | |||||
| ; | |||||
| -- Génération du croisement | |||||
| -- Récupération du planning quotidien de chaque salarié auquel on multiplie les différents temps par le taux horaire (précédemment calculé) du salarié | |||||
| DROP TABLE IF EXISTS croisement_paie_planning | |||||
| ; | |||||
| CREATE TEMP TABLE croisement_paie_planning AS | |||||
| -- Cas des salariés (présents dans la paie et dans le planning) | |||||
| SELECT | |||||
| p_planning_mouvement.oid AS planning_id, | |||||
| p_presence_salaries.salarie_id, | |||||
| p_planning_mouvement.date, | |||||
| t_periode_paie.mois_paie, | |||||
| p_planning_mouvement.etablissement_id, | |||||
| p_planning_mouvement.contrat_mois_id, | |||||
| 'Salariés'::text AS presence_detail, | |||||
| p_planning_mouvement.temps_du_initial, | |||||
| p_planning_mouvement.temps_du, | |||||
| p_planning_mouvement.temps_valide, | |||||
| round(p_planning_mouvement.temps_du_initial * p_taux_horaires_mensuels.taux_horaire_heure_contrat_temps_du_initial, 2) AS HEUR_CONT_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * p_taux_horaires_mensuels.taux_horaire_heure_contrat_temps_du, 2) AS HEUR_CONT_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * p_taux_horaires_mensuels.taux_horaire_heure_contrat_temps_valide, 2) AS HEUR_CONT_PROR_TEMP_VALI, | |||||
| round(p_planning_mouvement.temps_du_initial * p_taux_horaires_mensuels.taux_horaire_heure_payee_temps_du_initial, 2) AS HEUR_PAYE_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * p_taux_horaires_mensuels.taux_horaire_heure_payee_temps_du, 2) AS HEUR_PAYE_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * p_taux_horaires_mensuels.taux_horaire_heure_payee_temps_valide, 2) AS HEUR_PAYE_PROR_TEMP_VALI, | |||||
| round(p_planning_mouvement.temps_du_initial * p_taux_horaires_mensuels.taux_horaire_heure_travaillee_temps_du_initial, 2) AS HEUR_TRAV_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * p_taux_horaires_mensuels.taux_horaire_heure_travaillee_temps_du, 2) AS HEUR_TRAV_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * p_taux_horaires_mensuels.taux_horaire_heure_travaillee_temps_valide, 2) AS HEUR_TRAV_PROR_TEMP_VALI, | |||||
| round(p_planning_mouvement.temps_du_initial * p_taux_horaires_mensuels.taux_horaire_montant_brut_temps_du_initial, 2) AS MONT_BRUT_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * p_taux_horaires_mensuels.taux_horaire_montant_brut_temps_du, 2) AS MONT_BRUT_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * p_taux_horaires_mensuels.taux_horaire_montant_brut_temps_valide, 2) AS MONT_BRUT_PROR_TEMP_VALI, | |||||
| round(p_planning_mouvement.temps_du_initial * p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_temps_du_initial, 2) AS MONT_MASS_SALA_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_temps_du, 2) AS MONT_MASS_SALA_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_temps_valide, 2) AS MONT_MASS_SALA_PROR_TEMP_VALI, | |||||
| round(p_planning_mouvement.temps_du_initial * p_taux_horaires_mensuels.taux_horaire_montant_cotisation_patronale_temps_du_initial, 2) AS MONT_COTI_PATR_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * p_taux_horaires_mensuels.taux_horaire_montant_cotisation_patronale_temps_du, 2) AS MONT_COTI_PATR_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * p_taux_horaires_mensuels.taux_horaire_montant_cotisation_patronale_temps_valide, 2) AS MONT_COTI_PATR_PROR_TEMP_VALI, | |||||
| round(p_planning_mouvement.temps_du_initial * p_taux_horaires_mensuels.taux_horaire_montant_provisions_temps_du_initial, 2) AS MONT_PROV_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * p_taux_horaires_mensuels.taux_horaire_montant_provisions_temps_du, 2) AS MONT_PROV_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * p_taux_horaires_mensuels.taux_horaire_montant_provisions_temps_valide, 2) AS MONT_PROV_PROR_TEMP_VALI, | |||||
| round(p_planning_mouvement.temps_du_initial * p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_provisionnee_temps_du_init, 2) AS MONT_MASS_SALA_PROV_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_provisionnee_temps_du, 2) AS MONT_MASS_SALA_PROV_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_provisionnee_temps_valide, 2) AS MONT_MASS_SALA_PROV_PROR_TEMP_VALI, | |||||
| 0::numeric AS MONT_INTE_PROR_TEMP_DU_INIT, | |||||
| 0::numeric AS MONT_INTE_PROR_TEMP_DU, | |||||
| 0::numeric AS MONT_INTE_PROR_TEMP_VALI, | |||||
| round(p_planning_mouvement.temps_du_initial * p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_temps_du_initial, 2) AS MONT_MASS_SALA_INTE_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_temps_du, 2) AS MONT_MASS_SALA_INTE_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_temps_valide, 2) AS MONT_MASS_SALA_INTE_PROR_TEMP_VALI, | |||||
| round(p_planning_mouvement.temps_du_initial * p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_provisionnee_temps_du_init, 2) AS MONT_MASS_SALA_PROV_INTE_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_provisionnee_temps_du, 2) AS MONT_MASS_SALA_PROV_INTE_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * p_taux_horaires_mensuels.taux_horaire_montant_masse_salariale_provisionnee_temps_valide, 2) AS MONT_MASS_SALA_PROV_INTE_PROR_TEMP_VALI | |||||
| FROM rh.p_presence_salaries | |||||
| JOIN rh.t_periode_paie ON | |||||
| t_periode_paie.mois_paie = p_presence_salaries.mois_paie AND | |||||
| t_periode_paie.mois_paie BETWEEN min_month_to_get AND closed_payroll_month | |||||
| JOIN rh.p_planning_mouvement ON | |||||
| p_planning_mouvement.salarie_id = p_presence_salaries.salarie_id AND | |||||
| p_planning_mouvement.date >= t_periode_paie.date_debut AND | |||||
| p_planning_mouvement.date <= t_periode_paie.date_fin | |||||
| JOIN rh.p_taux_horaires_mensuels ON | |||||
| p_taux_horaires_mensuels.salarie_id = p_presence_salaries.salarie_id AND | |||||
| p_taux_horaires_mensuels.mois_paie = p_presence_salaries.mois_paie | |||||
| WHERE p_presence_salaries.present_paie = true AND p_presence_salaries.present_planning = true AND p_presence_salaries.est_interimaire = false | |||||
| ; | |||||
| INSERT INTO croisement_paie_planning | |||||
| -- Cas des intérimaires (présents au planning et ayant été détecté précédemment commes des intérimaires). Application du coefficient multiplicateur CPP_COEF_VALORISATION_INTERIM pour valoriser le coût de l'intérim | |||||
| SELECT | |||||
| p_planning_mouvement.oid AS planning_id, | |||||
| p_presence_salaries.salarie_id, | |||||
| p_planning_mouvement.date, | |||||
| t_periode_paie.mois_paie, | |||||
| p_planning_mouvement.etablissement_id, | |||||
| p_planning_mouvement.contrat_mois_id AS contrat_mois_id, | |||||
| 'Intérimaires'::text AS presence_detail, | |||||
| p_planning_mouvement.temps_du_initial, | |||||
| p_planning_mouvement.temps_du, | |||||
| p_planning_mouvement.temps_valide, | |||||
| round(p_planning_mouvement.temps_du_initial * taux_horaires_mensuels_ventiles.taux_horaire_heure_contrat_temps_du_initial, 2) * t_divers.valeur::numeric AS HEUR_CONT_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * taux_horaires_mensuels_ventiles.taux_horaire_heure_contrat_temps_du, 2) * t_divers.valeur::numeric AS HEUR_CONT_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * taux_horaires_mensuels_ventiles.taux_horaire_heure_contrat_temps_valide, 2) * t_divers.valeur::numeric AS HEUR_CONT_PROR_TEMP_VAL, | |||||
| round(p_planning_mouvement.temps_du_initial * taux_horaires_mensuels_ventiles.taux_horaire_heure_payee_temps_du_initial, 2) * t_divers.valeur::numeric AS HEUR_PAYE_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * taux_horaires_mensuels_ventiles.taux_horaire_heure_payee_temps_du, 2) * t_divers.valeur::numeric AS HEUR_PAYE_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * taux_horaires_mensuels_ventiles.taux_horaire_heure_payee_temps_valide, 2) * t_divers.valeur::numeric AS HEUR_PAYE_PROR_TEMP_VALI, | |||||
| round(p_planning_mouvement.temps_du_initial * taux_horaires_mensuels_ventiles.taux_horaire_heure_travaillee_temps_du_initial, 2) * t_divers.valeur::numeric AS HEUR_TRAV_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * taux_horaires_mensuels_ventiles.taux_horaire_heure_travaillee_temps_du, 2) * t_divers.valeur::numeric AS HEUR_TRAV_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * taux_horaires_mensuels_ventiles.taux_horaire_heure_travaillee_temps_valide, 2) * t_divers.valeur::numeric AS HEUR_TRAV_PROR_TEMP_VALI, | |||||
| 0::numeric AS MONT_BRUT_PROR_TEMP_DU_INIT, | |||||
| 0::numeric AS MONT_BRUT_PROR_TEMP_DU, | |||||
| 0::numeric AS MONT_BRUT_PROR_TEMP_VALI, | |||||
| 0::numeric AS MONT_MASS_SALA_PROR_TEMP_DU_INIT, | |||||
| 0::numeric AS MONT_MASS_SALA_PROR_TEMP_DU, | |||||
| 0::numeric AS MONT_MASS_SALA_PROR_TEMP_VALI, | |||||
| 0::numeric AS MONT_COTI_PATR_PROR_TEMP_DU_INIT, | |||||
| 0::numeric AS MONT_COTI_PATR_PROR_TEMP_DU, | |||||
| 0::numeric AS MONT_COTI_PATR_PROR_TEMP_VALI, | |||||
| 0::numeric AS MONT_PROV_PROR_TEMP_DU_INIT, | |||||
| 0::numeric AS MONT_PROV_PROR_TEMP_DU, | |||||
| 0::numeric AS MONT_PROV_PROR_TEMP_VALI, | |||||
| 0::numeric AS MONT_MASS_SALA_PROV_PROR_TEMP_DU_INIT, | |||||
| 0::numeric AS MONT_MASS_SALA_PROV_PROR_TEMP_DU, | |||||
| 0::numeric AS MONT_MASS_SALA_PROV_PROR_TEMP_VALI, | |||||
| round(p_planning_mouvement.temps_du_initial * taux_horaires_mensuels_ventiles.taux_horaire_montant_brut_temps_du_initial, 2) * t_divers.valeur::numeric AS MONT_INTE_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * taux_horaires_mensuels_ventiles.taux_horaire_montant_brut_temps_du, 2) * t_divers.valeur::numeric AS MONT_INTE_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * taux_horaires_mensuels_ventiles.taux_horaire_montant_brut_temps_valide, 2) * t_divers.valeur::numeric AS MONT_INTE_PROR_TEMP_VALI, | |||||
| round(p_planning_mouvement.temps_du_initial * taux_horaires_mensuels_ventiles.taux_horaire_montant_brut_temps_du_initial, 2) * t_divers.valeur::numeric AS MONT_MASS_SALA_INTE_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * taux_horaires_mensuels_ventiles.taux_horaire_montant_brut_temps_du, 2) * t_divers.valeur::numeric AS MONT_MASS_SALA_INTE_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * taux_horaires_mensuels_ventiles.taux_horaire_montant_brut_temps_valide, 2) * t_divers.valeur::numeric AS MONT_MASS_SALA_INTE_PROR_TEMP_VALI, | |||||
| round(p_planning_mouvement.temps_du_initial * taux_horaires_mensuels_ventiles.taux_horaire_montant_masse_salariale_provisionnee_temps_du_init, 2) * t_divers.valeur::numeric AS MONT_MASS_SALA_PROV_INTE_PROR_TEMP_DU_INIT, | |||||
| round(p_planning_mouvement.temps_du * taux_horaires_mensuels_ventiles.taux_horaire_montant_masse_salariale_provisionnee_temps_du, 2) * t_divers.valeur::numeric AS MONT_MASS_SALA_PROV_INTE_PROR_TEMP_DU, | |||||
| round(p_planning_mouvement.temps_valide * taux_horaires_mensuels_ventiles.taux_horaire_montant_masse_salariale_provisionnee_temps_valide, 2) * t_divers.valeur::numeric AS MONT_MASS_SALA_PROV_INTE_PROR_TEMP_VALI | |||||
| FROM rh.p_presence_salaries | |||||
| JOIN rh.t_periode_paie ON | |||||
| t_periode_paie.mois_paie = p_presence_salaries.mois_paie | |||||
| JOIN rh.p_planning_mouvement ON | |||||
| p_planning_mouvement.salarie_id = p_presence_salaries.salarie_id AND | |||||
| p_planning_mouvement.date >= t_periode_paie.date_debut AND | |||||
| p_planning_mouvement.date <= t_periode_paie.date_fin | |||||
| LEFT JOIN taux_horaires_mensuels_ventiles ON | |||||
| taux_horaires_mensuels_ventiles.mois_paie = p_presence_salaries.mois_paie AND | |||||
| taux_horaires_mensuels_ventiles.planning_service_id = p_planning_mouvement.service_id AND | |||||
| taux_horaires_mensuels_ventiles.planning_qualification_id = p_planning_mouvement.qualification_id | |||||
| JOIN rh.t_divers ON t_divers.code = 'CPP_COEF_VALORISATION_INTERIM' | |||||
| WHERE p_presence_salaries.present_planning = true AND p_presence_salaries.est_interimaire = true | |||||
| ; | |||||
| INSERT INTO rh.p_croisement_paie_planning ( | |||||
| planning_id, | |||||
| salarie_id, | |||||
| date, | |||||
| mois_paie, | |||||
| etablissement_id, | |||||
| contrat_mois_id, | |||||
| presence_detail, | |||||
| temps_du_initial, | |||||
| temps_du, | |||||
| temps_valide, | |||||
| HEUR_CONT_PROR_TEMP_DU_INIT, | |||||
| HEUR_CONT_PROR_TEMP_DU, | |||||
| HEUR_CONT_PROR_TEMP_VALI, | |||||
| HEUR_PAYE_PROR_TEMP_DU_INIT, | |||||
| HEUR_PAYE_PROR_TEMP_DU, | |||||
| HEUR_PAYE_PROR_TEMP_VALI, | |||||
| HEUR_TRAV_PROR_TEMP_DU_INIT, | |||||
| HEUR_TRAV_PROR_TEMP_DU, | |||||
| HEUR_TRAV_PROR_TEMP_VALI, | |||||
| MONT_BRUT_PROR_TEMP_DU_INIT, | |||||
| MONT_BRUT_PROR_TEMP_DU, | |||||
| MONT_BRUT_PROR_TEMP_VALI, | |||||
| MONT_MASS_SALA_PROR_TEMP_DU_INIT, | |||||
| MONT_MASS_SALA_PROR_TEMP_DU, | |||||
| MONT_MASS_SALA_PROR_TEMP_VALI, | |||||
| MONT_COTI_PATR_PROR_TEMP_DU_INIT, | |||||
| MONT_COTI_PATR_PROR_TEMP_DU, | |||||
| MONT_COTI_PATR_PROR_TEMP_VALI, | |||||
| MONT_PROV_PROR_TEMP_DU_INIT, | |||||
| MONT_PROV_PROR_TEMP_DU, | |||||
| MONT_PROV_PROR_TEMP_VALI, | |||||
| MONT_MASS_SALA_PROV_PROR_TEMP_DU_INIT, | |||||
| MONT_MASS_SALA_PROV_PROR_TEMP_DU, | |||||
| MONT_MASS_SALA_PROV_PROR_TEMP_VALI, | |||||
| MONT_INTE_PROR_TEMP_DU_INIT, | |||||
| MONT_INTE_PROR_TEMP_DU, | |||||
| MONT_INTE_PROR_TEMP_VALI, | |||||
| MONT_MASS_SALA_INTE_PROR_TEMP_DU_INIT, | |||||
| MONT_MASS_SALA_INTE_PROR_TEMP_DU, | |||||
| MONT_MASS_SALA_INTE_PROR_TEMP_VALI, | |||||
| MONT_MASS_SALA_PROV_INTE_PROR_TEMP_DU_INIT, | |||||
| MONT_MASS_SALA_PROV_INTE_PROR_TEMP_DU, | |||||
| MONT_MASS_SALA_PROV_INTE_PROR_TEMP_VALI | |||||
| ) | |||||
| SELECT | |||||
| planning_id, | |||||
| salarie_id, | |||||
| date, | |||||
| mois_paie, | |||||
| etablissement_id, | |||||
| contrat_mois_id, | |||||
| presence_detail, | |||||
| temps_du_initial, | |||||
| temps_du, | |||||
| temps_valide, | |||||
| HEUR_CONT_PROR_TEMP_DU_INIT, | |||||
| HEUR_CONT_PROR_TEMP_DU, | |||||
| HEUR_CONT_PROR_TEMP_VALI, | |||||
| HEUR_PAYE_PROR_TEMP_DU_INIT, | |||||
| HEUR_PAYE_PROR_TEMP_DU, | |||||
| HEUR_PAYE_PROR_TEMP_VALI, | |||||
| HEUR_TRAV_PROR_TEMP_DU_INIT, | |||||
| HEUR_TRAV_PROR_TEMP_DU, | |||||
| HEUR_TRAV_PROR_TEMP_VALI, | |||||
| MONT_BRUT_PROR_TEMP_DU_INIT, | |||||
| MONT_BRUT_PROR_TEMP_DU, | |||||
| MONT_BRUT_PROR_TEMP_VALI, | |||||
| MONT_MASS_SALA_PROR_TEMP_DU_INIT, | |||||
| MONT_MASS_SALA_PROR_TEMP_DU, | |||||
| MONT_MASS_SALA_PROR_TEMP_VALI, | |||||
| MONT_COTI_PATR_PROR_TEMP_DU_INIT, | |||||
| MONT_COTI_PATR_PROR_TEMP_DU, | |||||
| MONT_COTI_PATR_PROR_TEMP_VALI, | |||||
| MONT_PROV_PROR_TEMP_DU_INIT, | |||||
| MONT_PROV_PROR_TEMP_DU, | |||||
| MONT_PROV_PROR_TEMP_VALI, | |||||
| MONT_MASS_SALA_PROV_PROR_TEMP_DU_INIT, | |||||
| MONT_MASS_SALA_PROV_PROR_TEMP_DU, | |||||
| MONT_MASS_SALA_PROV_PROR_TEMP_VALI, | |||||
| MONT_INTE_PROR_TEMP_DU_INIT, | |||||
| MONT_INTE_PROR_TEMP_DU, | |||||
| MONT_INTE_PROR_TEMP_VALI, | |||||
| MONT_MASS_SALA_INTE_PROR_TEMP_DU_INIT, | |||||
| MONT_MASS_SALA_INTE_PROR_TEMP_DU, | |||||
| MONT_MASS_SALA_INTE_PROR_TEMP_VALI, | |||||
| MONT_MASS_SALA_PROV_INTE_PROR_TEMP_DU_INIT, | |||||
| MONT_MASS_SALA_PROV_INTE_PROR_TEMP_DU, | |||||
| MONT_MASS_SALA_PROV_INTE_PROR_TEMP_VALI | |||||
| FROM croisement_paie_planning | |||||
| ; | |||||
| ANALYZE rh.p_croisement_paie_planning | |||||
| ; | |||||
| RETURN 'OK'; | |||||
| END | |||||
| @ -0,0 +1,289 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| src: | | |||||
| DECLARE | |||||
| result TEXT; | |||||
| BEGIN | |||||
| -- Transformations saisies ? | |||||
| IF NOT EXISTS (SELECT * FROM rh.t_transformation) THEN | |||||
| RETURN 'OK. Non concerné' ; | |||||
| END IF; | |||||
| -- Stockage profil source | |||||
| UPDATE rh.p_profil_contrat_mois | |||||
| SET profil_avant_transformation_id = profil_id | |||||
| WHERE profil_avant_transformation_id IS NULL OR | |||||
| profil_avant_transformation_id = 0 | |||||
| ; | |||||
| -- Table de travail des profils par contrat peut être concernés | |||||
| DROP TABLE IF EXISTS w_execute_transform_profils; | |||||
| CREATE TEMP TABLE w_execute_transform_profils AS | |||||
| SELECT p_profils.*, | |||||
| salarie_id, | |||||
| p_profil_contrat_mois.contrat_mois_id, | |||||
| date(p_profil_contrat_mois.mois|| '01') AS date_contrat, | |||||
| '0'::text AS with_transformation, | |||||
| '0'::text AS est_doublon, | |||||
| p_profils.oid AS from_profil_id | |||||
| FROM rh.p_profils | |||||
| JOIN rh.p_profil_contrat_mois ON p_profil_contrat_mois.profil_avant_transformation_id = p_profils.oid | |||||
| WHERE | |||||
| ( | |||||
| service_id IN (SELECT from_service_id FROM rh.t_transformation) OR | |||||
| qualification_id IN (SELECT from_qualification_id FROM rh.t_transformation) OR | |||||
| salarie_id IN (SELECT salarie_id FROM rh.t_transformation) | |||||
| ) | |||||
| ; | |||||
| -- execution des règles | |||||
| -- Spécifiques salarié | |||||
| UPDATE w_execute_transform_profils SET | |||||
| with_transformation = '1', | |||||
| service_id = CASE WHEN to_service_id = -1 THEN w_execute_transform_profils.service_id ELSE to_service_id END, | |||||
| qualification_id = CASE WHEN to_qualification_id = -1 THEN w_execute_transform_profils.qualification_id ELSE to_qualification_id END, | |||||
| oid = nextval('rh.s_profils'::regclass) | |||||
| FROM rh.t_transformation | |||||
| WHERE (w_execute_transform_profils.salarie_id = t_transformation.salarie_id AND t_transformation.salarie_id <> -1) AND | |||||
| (w_execute_transform_profils.service_id = from_service_id OR from_service_id = -1) AND | |||||
| (w_execute_transform_profils.qualification_id = from_qualification_id OR from_qualification_id = -1) AND | |||||
| date_contrat BETWEEN t_transformation.date_debut AND t_transformation.date_fin AND | |||||
| (to_service_id <> -1 OR to_qualification_id <> -1) | |||||
| ; | |||||
| -- Générales | |||||
| UPDATE w_execute_transform_profils SET | |||||
| with_transformation = '1', | |||||
| service_id = CASE WHEN to_service_id = -1 THEN w_execute_transform_profils.service_id ELSE to_service_id END, | |||||
| qualification_id = CASE WHEN to_qualification_id = -1 THEN w_execute_transform_profils.qualification_id ELSE to_qualification_id END, | |||||
| oid = nextval('rh.s_profils'::regclass) | |||||
| FROM rh.t_transformation | |||||
| WHERE with_transformation <> '1' AND | |||||
| (t_transformation.salarie_id = -1) AND | |||||
| (w_execute_transform_profils.service_id = from_service_id OR from_service_id = -1) AND | |||||
| (w_execute_transform_profils.qualification_id = from_qualification_id OR from_qualification_id = -1) AND | |||||
| date_contrat BETWEEN t_transformation.date_debut AND t_transformation.date_fin AND | |||||
| (to_service_id <> -1 OR to_qualification_id <> -1) | |||||
| ; | |||||
| -- Traitement des profils cibles en double | |||||
| DROP TABLE IF EXISTS w_execute_transform_profils_uniques; | |||||
| CREATE TEMP TABLE w_execute_transform_profils_uniques AS | |||||
| SELECT | |||||
| w_execute_transform_profils.from_profil_id, | |||||
| MIN(oid) AS oid | |||||
| FROM w_execute_transform_profils | |||||
| WHERE with_transformation = '1' | |||||
| GROUP BY 1 | |||||
| HAVING count(distinct | |||||
| ARRAY[type_contrat_id, | |||||
| motif_debut_id, | |||||
| motif_fin_id, | |||||
| qualification_id, | |||||
| service_id, | |||||
| specialite_id, | |||||
| type_temps_travail_id, | |||||
| categorie_socio_professionnelle_id, | |||||
| statut_id, | |||||
| code_emploi_id, | |||||
| societe_interim_id, | |||||
| section_analytique_paie_id, | |||||
| section_analytique_id, | |||||
| grille_id, | |||||
| grille_groupe_id, | |||||
| type_horaire_id, | |||||
| groupe_cotisant_id, | |||||
| unite_fonctionnelle_id, | |||||
| lettre_budgetaire_id, | |||||
| commission_paritaire_id, | |||||
| compte_salarie_id, | |||||
| categorie_conge_id, | |||||
| filiere_id, | |||||
| cadre_emploi_id, | |||||
| categorie_statutaire_id]) = 1 | |||||
| ; | |||||
| UPDATE w_execute_transform_profils | |||||
| SET oid = w_execute_transform_profils_uniques.oid, | |||||
| est_doublon = '1' | |||||
| FROM w_execute_transform_profils_uniques | |||||
| WHERE with_transformation = '1' AND | |||||
| w_execute_transform_profils.from_profil_id = w_execute_transform_profils_uniques.from_profil_id AND | |||||
| w_execute_transform_profils.oid <> w_execute_transform_profils_uniques.oid | |||||
| ; | |||||
| -- Ajout des nouveaux profils | |||||
| INSERT INTO rh.p_profils ( | |||||
| oid, | |||||
| type_contrat_id, | |||||
| type_contrat_code_original, | |||||
| motif_debut_id, | |||||
| motif_debut_code_original, | |||||
| motif_fin_id, | |||||
| motif_fin_code_original, | |||||
| qualification_id, | |||||
| qualification_code_original, | |||||
| service_id, | |||||
| service_code_original, | |||||
| specialite_id, | |||||
| specialite_code_original, | |||||
| type_temps_travail_id, | |||||
| type_temps_travail_code_original, | |||||
| categorie_socio_professionnelle_id, | |||||
| categorie_socio_professionnelle_code_original, | |||||
| statut_id, | |||||
| statut_code_original, | |||||
| code_emploi_id, | |||||
| code_emploi_code_original, | |||||
| societe_interim_id, | |||||
| societe_interim_code_original, | |||||
| section_analytique_paie_id, | |||||
| section_analytique_paie_code_original, | |||||
| section_analytique_id, | |||||
| section_analytique_code_original, | |||||
| grille_id, | |||||
| grille_code_original, | |||||
| grille_groupe_id, | |||||
| grille_groupe_code_original, | |||||
| type_horaire_id, | |||||
| type_horaire_code_original, | |||||
| groupe_cotisant_id, | |||||
| groupe_cotisant_code_original, | |||||
| unite_fonctionnelle_id, | |||||
| unite_fonctionnelle_code_original, | |||||
| lettre_budgetaire_id, | |||||
| lettre_budgetaire_code_original, | |||||
| commission_paritaire_id, | |||||
| commission_paritaire_code_original, | |||||
| compte_salarie_id, | |||||
| compte_salarie_code_original, | |||||
| categorie_conge_id, | |||||
| categorie_conge_code_original, | |||||
| filiere_id, | |||||
| filiere_code_original, | |||||
| cadre_emploi_id, | |||||
| cadre_emploi_code_original, | |||||
| categorie_statutaire_id, | |||||
| categorie_statutaire_code_original | |||||
| ) | |||||
| SELECT | |||||
| w_execute_transform_profils.oid, | |||||
| type_contrat_id, | |||||
| type_contrat_code_original, | |||||
| motif_debut_id, | |||||
| motif_debut_code_original, | |||||
| motif_fin_id, | |||||
| motif_fin_code_original, | |||||
| qualification_id, | |||||
| t_qualifications.code_original AS qualification_code_original, | |||||
| service_id, | |||||
| t_services.code_original AS service_code_original, | |||||
| specialite_id, | |||||
| specialite_code_original, | |||||
| type_temps_travail_id, | |||||
| type_temps_travail_code_original, | |||||
| categorie_socio_professionnelle_id, | |||||
| categorie_socio_professionnelle_code_original, | |||||
| statut_id, | |||||
| statut_code_original, | |||||
| code_emploi_id, | |||||
| code_emploi_code_original, | |||||
| societe_interim_id, | |||||
| societe_interim_code_original, | |||||
| section_analytique_paie_id, | |||||
| section_analytique_paie_code_original, | |||||
| section_analytique_id, | |||||
| section_analytique_code_original, | |||||
| grille_id, | |||||
| grille_code_original, | |||||
| grille_groupe_id, | |||||
| grille_groupe_code_original, | |||||
| type_horaire_id, | |||||
| type_horaire_code_original, | |||||
| groupe_cotisant_id, | |||||
| groupe_cotisant_code_original, | |||||
| unite_fonctionnelle_id, | |||||
| unite_fonctionnelle_code_original, | |||||
| lettre_budgetaire_id, | |||||
| lettre_budgetaire_code_original, | |||||
| commission_paritaire_id, | |||||
| commission_paritaire_code_original, | |||||
| compte_salarie_id, | |||||
| compte_salarie_code_original, | |||||
| categorie_conge_id, | |||||
| categorie_conge_code_original, | |||||
| filiere_id, | |||||
| filiere_code_original, | |||||
| cadre_emploi_id, | |||||
| cadre_emploi_code_original, | |||||
| categorie_statutaire_id, | |||||
| categorie_statutaire_code_original | |||||
| FROM w_execute_transform_profils | |||||
| JOIN rh.t_services ON service_id = t_services.oid | |||||
| JOIN rh.t_qualifications On qualification_id = t_qualifications.oid | |||||
| WHERE with_transformation = '1' AND | |||||
| est_doublon <> '1' | |||||
| ; | |||||
| -- Mise à jour des profils par mois | |||||
| UPDATE rh.p_profil_contrat_mois | |||||
| SET profil_id = w_execute_transform_profils.oid | |||||
| FROM w_execute_transform_profils | |||||
| WHERE p_profil_contrat_mois.contrat_mois_id = w_execute_transform_profils.contrat_mois_id AND | |||||
| p_profil_contrat_mois.profil_avant_transformation_id = w_execute_transform_profils.from_profil_id AND | |||||
| with_transformation = '1' | |||||
| ; | |||||
| -- Mise à jour des contrats avec dernière valeur des profils | |||||
| UPDATE rh.p_contrats | |||||
| SET profil_id = new_execute_transform_profil_id | |||||
| FROM | |||||
| ( | |||||
| SELECT | |||||
| p_contrats_mois.contrat_id, | |||||
| (MAX(ARRAY[p_profil_contrat_mois.mois * 100 + p_profil_contrat_mois.ratio,p_profil_contrat_mois.profil_id]))[2] AS new_execute_transform_profil_id, | |||||
| MAX(p_contrats.profil_id) AS old_profil_id | |||||
| FROM rh.p_profil_contrat_mois | |||||
| JOIN rh.p_contrats_mois ON contrat_mois_id = p_contrats_mois.oid | |||||
| JOIN rh.p_contrats ON p_contrats_mois.contrat_id = p_contrats.oid | |||||
| GROUP BY 1 | |||||
| HAVING (MAX(ARRAY[p_profil_contrat_mois.mois * 100 + p_profil_contrat_mois.ratio,p_profil_contrat_mois.profil_id]))[2] <> MAX(p_contrats.profil_id) | |||||
| ) subview | |||||
| WHERE subview.contrat_id = p_contrats.oid | |||||
| ; | |||||
| -- Mise à jour des salariés avec dernière valeur des profils | |||||
| UPDATE rh.p_salaries | |||||
| SET profil_id = new_execute_transform_profil_id | |||||
| FROM | |||||
| ( | |||||
| SELECT | |||||
| p_profil_contrat_mois.salarie_id, | |||||
| (MAX(ARRAY[p_profil_contrat_mois.mois * 100 + p_profil_contrat_mois.ratio,p_profil_contrat_mois.profil_id]))[2] AS new_execute_transform_profil_id, | |||||
| MAX(p_salaries.profil_id) AS old_profil_id | |||||
| FROM rh.p_profil_contrat_mois | |||||
| JOIN rh.p_salaries ON p_profil_contrat_mois.salarie_id = p_salaries.oid | |||||
| GROUP BY 1 | |||||
| HAVING (MAX(ARRAY[p_profil_contrat_mois.mois * 100 + p_profil_contrat_mois.ratio,p_profil_contrat_mois.profil_id]))[2] <> MAX(p_salaries.profil_id) | |||||
| ) subview | |||||
| WHERE subview.salarie_id = p_salaries.oid | |||||
| ; | |||||
| -- Ajout des éventuels nouveaux oids | |||||
| INSERT INTO rh.p_oids (code_table, oid) | |||||
| SELECT 'services', service_id | |||||
| FROM rh.p_profils | |||||
| WHERE service_id NOT IN (SELECT oid FROM rh.p_oids WHERE code_table = 'services') | |||||
| GROUP BY 1,2 | |||||
| ; | |||||
| INSERT INTO rh.p_oids (code_table, oid) | |||||
| SELECT 'qualifications', qualification_id | |||||
| FROM rh.p_profils | |||||
| WHERE qualification_id NOT IN (SELECT oid FROM rh.p_oids WHERE code_table = 'qualifications') | |||||
| GROUP BY 1,2 | |||||
| ; | |||||
| -- Réorganisation des nouveaux profils créés | |||||
| PERFORM rh.cti_reorganize_profils(); | |||||
| PERFORM rh.cti_update_schema_classes('QUA'); | |||||
| PERFORM rh.cti_update_schema_classes('SER'); | |||||
| RETURN 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,738 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: bigint | |||||
| name: i_expert_controle_id | |||||
| src: | | |||||
| DECLARE | |||||
| result TEXT; | |||||
| BEGIN | |||||
| RAISE NOTICE '%' , 'Recuperation OPTIMISER'; | |||||
| DROP TABLE IF EXISTS w_dboptimizer_line; | |||||
| CREATE TEMP TABLE w_dboptimizer_line(in_data text) | |||||
| ; | |||||
| BEGIN | |||||
| PERFORM base.cti_execute( | |||||
| 'COPY w_dboptimizer_line FROM ''' || t_settings.value || 'modules/rh/settings/RH_dboptimizer.xml'' WITH DELIMITER AS E''\02'' CSV HEADER QUOTE AS E''\01''' | |||||
| ,1) | |||||
| FROM base.t_settings | |||||
| WHERE code = 'ENVIRONMENT/DIR' | |||||
| ; | |||||
| EXCEPTION | |||||
| WHEN others THEN RETURN 'Dossier application non trouvé'; | |||||
| END; | |||||
| DROP TABLE IF EXISTS w_dboptimizer; | |||||
| CREATE TEMP TABLE w_dboptimizer AS | |||||
| SELECT array_to_string(base.cti_array_accum(translate(in_data,'éêè','e')),'') AS in_data_txt | |||||
| FROM w_dboptimizer_line | |||||
| WHERE in_data IS NOT NULL | |||||
| ORDER BY row_number() OVER() | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_dboptimizer_xml; | |||||
| CREATE TEMP TABLE w_dboptimizer_xml AS | |||||
| SELECT xmlroot(xmlparse(document in_data_txt), version '1.0', standalone yes) AS in_data_xml | |||||
| FROM w_dboptimizer | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_dboptimizer_VIEWNAMEOPTIMIZER; | |||||
| CREATE TEMP TABLE w_dboptimizer_VIEWNAMEOPTIMIZER AS | |||||
| SELECT * | |||||
| FROM | |||||
| ( | |||||
| SELECT i AS VIEWNAMEOPTIMIZER_index, | |||||
| (xpath('/DBOPTIMIZER/VIEWNAMEOPTIMIZER['||i||']', in_data_xml))[1] AS VIEWNAMEOPTIMIZER_path, | |||||
| (xpath('/DBOPTIMIZER/VIEWNAMEOPTIMIZER['||i||']/@viewName', in_data_xml))[1]::text AS viewName, | |||||
| (xpath('/DBOPTIMIZER/VIEWNAMEOPTIMIZER['||i||']/@defaultViewName', in_data_xml))[1]::text AS defaultViewName | |||||
| FROM w_dboptimizer_xml | |||||
| JOIN generate_series(1,100) AS i ON 1=1 | |||||
| ) subview | |||||
| WHERE VIEWNAMEOPTIMIZER_path IS NOT NULL | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_dboptimizer_LEFTJOININDICATOR; | |||||
| CREATE TEMP TABLE w_dboptimizer_LEFTJOININDICATOR AS | |||||
| SELECT * | |||||
| FROM | |||||
| ( | |||||
| SELECT VIEWNAMEOPTIMIZER_index, | |||||
| i AS LEFTJOININDICATOR_index, | |||||
| (xpath('/VIEWNAMEOPTIMIZER/LEFTJOININDICATOR['||i||']', VIEWNAMEOPTIMIZER_path))[1] AS LEFTJOININDICATOR_path, | |||||
| (xpath('/VIEWNAMEOPTIMIZER/LEFTJOININDICATOR['||i||']/@leftjoin', VIEWNAMEOPTIMIZER_path))[1]::text AS leftjoin | |||||
| FROM w_dboptimizer_VIEWNAMEOPTIMIZER | |||||
| JOIN generate_series(1,100) AS i ON 1=1 | |||||
| ) subview | |||||
| WHERE LEFTJOININDICATOR_path IS NOT NULL | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_dboptimizer_FIELD; | |||||
| CREATE TEMP TABLE w_dboptimizer_FIELD AS | |||||
| SELECT * | |||||
| FROM | |||||
| ( | |||||
| SELECT VIEWNAMEOPTIMIZER_index, | |||||
| LEFTJOININDICATOR_index, | |||||
| i AS FIELD_index, | |||||
| (xpath('/LEFTJOININDICATOR/FIELD['||i||']', LEFTJOININDICATOR_path))[1] AS FIELD_path, | |||||
| (xpath('/LEFTJOININDICATOR/FIELD['||i||']/@name', LEFTJOININDICATOR_path))[1]::text AS FIELD_name | |||||
| FROM w_dboptimizer_LEFTJOININDICATOR | |||||
| JOIN generate_series(1,100) AS i ON 1=1 | |||||
| ) subview | |||||
| WHERE FIELD_path IS NOT NULL | |||||
| ; | |||||
| RAISE NOTICE '%' , 'Identification indicateurs'; | |||||
| DROP TABLE IF EXISTS w_expert_controle_data; | |||||
| CREATE TEMP TABLE w_expert_controle_data ( | |||||
| expert_controle_id bigint, | |||||
| expert_controle_rule_id bigint, | |||||
| expert_controle_rule_index bigint, | |||||
| data_type text, | |||||
| data_id bigint, | |||||
| expert_controle_code text, | |||||
| contrat_mois_data text[], | |||||
| indicateur_value numeric, | |||||
| date_signalement date, | |||||
| etat text, | |||||
| date_correction date, | |||||
| date_evenement date, | |||||
| data_code_original text, | |||||
| texte text) | |||||
| ; | |||||
| UPDATE rh.t_expert_controle | |||||
| SET date_validite_debut = | |||||
| date( | |||||
| CASE start_periode | |||||
| WHEN 'A0' THEN date_trunc('year',now()) | |||||
| WHEN 'A1' THEN date_trunc('year',now())-interval '1 year' | |||||
| WHEN 'A2' THEN date_trunc('year',now())-interval '2 year' | |||||
| WHEN 'M12' THEN date_trunc('month',now())-interval '12 month' | |||||
| WHEN 'M24' THEN date_trunc('month',now())-interval '24 month' | |||||
| ELSE date_trunc('year',now())-interval '1 year' END | |||||
| ) | |||||
| ; | |||||
| -- Période par défaut | |||||
| UPDATE rh.t_expert_controle | |||||
| SET start_periode = 'A1' | |||||
| WHERE oid = 0 AND | |||||
| start_periode = '' | |||||
| ; | |||||
| UPDATE rh.t_expert_controle | |||||
| SET date_validite_debut = t_expert_controle0.date_validite_debut | |||||
| FROM rh.t_expert_controle t_expert_controle0 | |||||
| WHERE t_expert_controle0.oid = 0 AND | |||||
| t_expert_controle.oid <> 0 AND | |||||
| t_expert_controle.start_periode = '' | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_indicateurs; | |||||
| CREATE TEMP TABLE w_indicateurs AS | |||||
| SELECT t_expert_controle.oid AS expert_controle_id, | |||||
| t_expert_controle.code AS expert_controle_code, | |||||
| -- GREATEST(COALESCE(t_expert_controle.date_validite_debut,'00010101'),COALESCE(t_expert_controle0.date_validite_debut,'00010101')) AS date_validite_debut, | |||||
| COALESCE(t_expert_controle.date_validite_debut,'00010101') AS date_validite_debut, | |||||
| t_expert_controle_rule.oid AS expert_controle_rule_id, | |||||
| CASE WHEN indicateur_2_id <> 0 OR indicateur_3_id <> 0 THEN 1::bigint ELSE 0::bigint END AS expert_controle_rule_index, | |||||
| t_expert_controle_rule.data_type, | |||||
| CASE WHEN t_expert_controle_rule.formula <> '' THEN t_expert_controle_rule.formula ELSE '<> 0' END AS formula, | |||||
| NULL::integer[] AS VIEWNAMEOPTIMIZER_index_array, | |||||
| t_indicateurs.total_function, | |||||
| t_indicateurs.table_name, | |||||
| column_name, | |||||
| t_expert_controle_rule.indicateur_condition_id, | |||||
| t_expert_controle_rule.conditions_operateur AS conditions_operateur, | |||||
| ''::text AS sqlcmd, | |||||
| ''::text AS sqlresult | |||||
| FROM rh.t_expert_controle | |||||
| JOIN rh.t_expert_controle t_expert_controle0 ON | |||||
| t_expert_controle0.oid = 0 AND | |||||
| t_expert_controle0.is_active = '1' | |||||
| JOIN rh.t_expert_controle_rule ON expert_controle_id = t_expert_controle.oid | |||||
| JOIN rh.t_indicateurs On indicateur_id = t_indicateurs.oid | |||||
| WHERE t_expert_controle.is_active = '1' AND | |||||
| ( | |||||
| i_expert_controle_id = 0 OR | |||||
| t_expert_controle.oid = i_expert_controle_id | |||||
| ) | |||||
| ; | |||||
| INSERT INTO w_indicateurs | |||||
| SELECT t_expert_controle.oid AS expert_controle_id, | |||||
| t_expert_controle.code AS expert_controle_code, | |||||
| -- GREATEST(COALESCE(t_expert_controle.date_validite_debut,'00010101'),COALESCE(t_expert_controle0.date_validite_debut,'00010101')) AS date_validite_debut, | |||||
| COALESCE(t_expert_controle.date_validite_debut,'00010101') AS date_validite_debut, | |||||
| t_expert_controle_rule.oid AS expert_controle_rule_id, | |||||
| 2::bigint AS expert_controle_rule_index, | |||||
| t_expert_controle_rule.data_type, | |||||
| CASE WHEN t_expert_controle_rule.formula_2 <> '' THEN t_expert_controle_rule.formula_2 ELSE '<> 0' END AS formula, | |||||
| NULL::integer[] AS VIEWNAMEOPTIMIZER_index_array, | |||||
| t_indicateurs.total_function, | |||||
| t_indicateurs.table_name, | |||||
| column_name, | |||||
| t_expert_controle_rule.indicateur_condition_2_id, | |||||
| t_expert_controle_rule.conditions_operateur_2 AS conditions_operateur, | |||||
| ''::text AS sqlcmd, | |||||
| ''::text AS sqlresult | |||||
| FROM rh.t_expert_controle | |||||
| JOIN rh.t_expert_controle t_expert_controle0 ON | |||||
| t_expert_controle0.oid = 0 AND | |||||
| t_expert_controle0.is_active = '1' | |||||
| JOIN rh.t_expert_controle_rule ON expert_controle_id = t_expert_controle.oid | |||||
| JOIN rh.t_indicateurs On indicateur_2_id = t_indicateurs.oid | |||||
| WHERE t_expert_controle.is_active = '1' AND | |||||
| indicateur_2_id <> 0 AND | |||||
| ( | |||||
| i_expert_controle_id = 0 OR | |||||
| t_expert_controle.oid = i_expert_controle_id | |||||
| ) | |||||
| ; | |||||
| INSERT INTO w_indicateurs | |||||
| SELECT t_expert_controle.oid AS expert_controle_id, | |||||
| t_expert_controle.code AS expert_controle_code, | |||||
| GREATEST(COALESCE(t_expert_controle.date_validite_debut,'00010101'),COALESCE(t_expert_controle0.date_validite_debut,'00010101')) AS date_validite_debut, | |||||
| t_expert_controle_rule.oid AS expert_controle_rule_id, | |||||
| 3::bigint AS expert_controle_rule_index, | |||||
| t_expert_controle_rule.data_type, | |||||
| CASE WHEN t_expert_controle_rule.formula_3 <> '' THEN t_expert_controle_rule.formula_3 ELSE '<> 0' END AS formula, | |||||
| NULL::integer[] AS VIEWNAMEOPTIMIZER_index_array, | |||||
| t_indicateurs.total_function, | |||||
| t_indicateurs.table_name, | |||||
| column_name, | |||||
| t_expert_controle_rule.indicateur_condition_3_id, | |||||
| t_expert_controle_rule.conditions_operateur_3 AS conditions_operateur, | |||||
| ''::text AS sqlcmd, | |||||
| ''::text AS sqlresult | |||||
| FROM rh.t_expert_controle | |||||
| JOIN rh.t_expert_controle t_expert_controle0 ON | |||||
| t_expert_controle0.oid = 0 AND | |||||
| t_expert_controle0.is_active = '1' | |||||
| JOIN rh.t_expert_controle_rule ON expert_controle_id = t_expert_controle.oid | |||||
| JOIN rh.t_indicateurs On indicateur_3_id = t_indicateurs.oid | |||||
| WHERE t_expert_controle.is_active = '1' AND | |||||
| indicateur_3_id <> 0 AND | |||||
| ( | |||||
| i_expert_controle_id = 0 OR | |||||
| t_expert_controle.oid = i_expert_controle_id | |||||
| ) | |||||
| ; | |||||
| -- Constitution requete SQL | |||||
| UPDATE w_indicateurs | |||||
| SET column_name = 'CASE WHEN ' || condition_where || ' THEN ' || column_name || ' ELSE ' || CASE WHEN total_function <> 'COUNT' THEN '0' ELSE 'NULL' END || ' END' | |||||
| FROM | |||||
| ( | |||||
| SELECT | |||||
| expert_controle_rule_id, | |||||
| expert_controle_rule_index, | |||||
| array_to_string( | |||||
| base.cti_array_accum('('||check_where||')'), | |||||
| ' '||MAX(conditions_operateur)||' ' | |||||
| ) AS condition_where | |||||
| FROM w_indicateurs | |||||
| JOIN rh.t_indicateur_condition ON t_indicateur_condition.oid = ANY(indicateur_condition_id) | |||||
| JOIN rh.t_indicateur_condition_table ON t_indicateur_condition_table.indicateur_condition_id = t_indicateur_condition.oid | |||||
| WHERE check_where <> '' AND t_indicateur_condition_table.table_name NOT IN ('CALENDRIER', 'BUDGET_RH') | |||||
| GROUP BY 1,2 | |||||
| ) subview | |||||
| WHERE w_indicateurs.expert_controle_rule_id = subview.expert_controle_rule_id AND | |||||
| w_indicateurs.expert_controle_rule_index = subview.expert_controle_rule_index | |||||
| ; | |||||
| UPDATE w_indicateurs | |||||
| SET column_name = trim(replace('CASE WHEN (' || column_name ||') IS NOT NULL THEN 1 ELSE 0 END','DISTINCT','')) | |||||
| WHERE total_function = 'COUNT' | |||||
| ; | |||||
| UPDATE rh.t_expert_controle SET | |||||
| last_execution_ok = '0', | |||||
| last_execution_timestamp = now(), | |||||
| last_execution_count = 0 | |||||
| WHERE is_active = '1' AND | |||||
| ( | |||||
| i_expert_controle_id = 0 OR | |||||
| t_expert_controle.oid = i_expert_controle_id | |||||
| ) | |||||
| ; | |||||
| UPDATE w_indicateurs | |||||
| SET sqlcmd = | |||||
| '@INSERT INTO w_expert_controle_data | |||||
| SELECT ' || expert_controle_id::text || '::bigint AS expert_controle_id, ' || | |||||
| expert_controle_rule_id::text || '::bigint AS expert_controle_rule_id, ' || | |||||
| expert_controle_rule_index::text || '::bigint AS expert_controle_rule_index, | |||||
| ''' || | |||||
| CASE | |||||
| WHEN data_type = '' THEN table_name || 'ITM' | |||||
| WHEN data_type = 'ITM' THEN table_name | |||||
| WHEN data_type = 'ITMTAB' THEN table_name | |||||
| ELSE data_type | |||||
| END || '''::text AS data_type,' | |||||
| || | |||||
| CASE | |||||
| WHEN data_type = '' THEN 'source_id' | |||||
| WHEN data_type = 'contrat' THEN 'contrat_id' | |||||
| WHEN data_type = 'paie' THEN 'contrat_mois_id' | |||||
| WHEN data_type = 'ITM' AND table_name = 'v_contrats_mois_1' THEN 'contrat_mois_id' | |||||
| WHEN data_type = 'ITMTAB' THEN table_name | |||||
| WHEN data_type = 'salarie' THEN 'salarie_id' | |||||
| ELSE '0' END || | |||||
| '::bigint AS data_id, ' || | |||||
| '''' || expert_controle_code || '''::text AS expert_controle_code, | |||||
| MIN(ARRAY[date_debut_activite::text, date_fin_activite::text, contrat_code::text]) AS contrat_mois_data, | |||||
| SUM(' || column_name || ')::numeric AS indicateur_value, | |||||
| MAX(date(now())) AS date_signalement, | |||||
| ''''::text AS etat, | |||||
| ''20991231'' AS date_correction, | |||||
| MIN(' || v_schema_settings_1.property_array[2] || ' ) AS date_evenement, | |||||
| ''''::text AS data_code_original, | |||||
| ''''::text AS texte | |||||
| FROM ' || v_schema_settings_1.property_array[1] || ' | |||||
| #LEFTJOIN# | |||||
| WHERE ' || v_schema_settings_1.property_array[2] || ' >= ''' || date_validite_debut || ''' AND ' || | |||||
| CASE WHEN formula <> '=0' THEN '( ' || column_name || ' ) ' || replace(formula,'''','''''') ELSE '1=1' END || ' | |||||
| GROUP BY 1,2,3,4,5 ' || | |||||
| CASE WHEN formula <> '=0' THEN 'HAVING SUM( ' || column_name || ' ) ' || replace(formula,'''','''''') ELSE '' END || ' | |||||
| ; | |||||
| ' | |||||
| FROM rh.v_schema_settings_1 | |||||
| WHERE table_name||'#1' = v_schema_settings_1.code AND | |||||
| v_schema_settings_1.setting_type = 'FROM' | |||||
| ; | |||||
| PERFORM base.cti_execute(' | |||||
| UPDATE w_indicateurs SET | |||||
| sqlcmd = replace(sqlcmd , ''#''||viewName||''#'', defaultViewName), | |||||
| VIEWNAMEOPTIMIZER_index_array = array_append(VIEWNAMEOPTIMIZER_index_array,VIEWNAMEOPTIMIZER_index) | |||||
| FROM w_dboptimizer_VIEWNAMEOPTIMIZER | |||||
| WHERE w_indicateurs.sqlcmd LIKE ''%#''||viewName||''#%'' | |||||
| ',50) | |||||
| ; | |||||
| UPDATE w_indicateurs | |||||
| SET sqlcmd = replace(sqlcmd,'#LEFTJOIN#',leftjoin) | |||||
| FROM | |||||
| ( | |||||
| SELECT expert_controle_rule_id, array_to_string(base.cti_array_accum(leftjoin),chr(10)) AS leftjoin | |||||
| FROM | |||||
| ( | |||||
| SELECT expert_controle_rule_id, w_dboptimizer_LEFTJOININDICATOR.VIEWNAMEOPTIMIZER_index, w_dboptimizer_LEFTJOININDICATOR.LEFTJOININDICATOR_index, | |||||
| MAX(leftjoin) AS leftjoin | |||||
| FROM w_indicateurs | |||||
| JOIN w_dboptimizer_LEFTJOININDICATOR ON w_dboptimizer_LEFTJOININDICATOR.VIEWNAMEOPTIMIZER_index = ANY(VIEWNAMEOPTIMIZER_index_array) | |||||
| JOIN w_dboptimizer_FIELD ON | |||||
| w_dboptimizer_FIELD.VIEWNAMEOPTIMIZER_index = w_dboptimizer_LEFTJOININDICATOR.VIEWNAMEOPTIMIZER_index AND | |||||
| w_dboptimizer_FIELD.LEFTJOININDICATOR_index = w_dboptimizer_LEFTJOININDICATOR.LEFTJOININDICATOR_index AND | |||||
| w_indicateurs.sqlcmd LIKE '% ' || field_name|| '%' | |||||
| GROUP BY 1,2,3 | |||||
| ORDER BY 1,2,3 | |||||
| ) subview | |||||
| GROUP BY 1 | |||||
| ) subview | |||||
| WHERE w_indicateurs.expert_controle_rule_id = subview.expert_controle_rule_id | |||||
| ; | |||||
| UPDATE w_indicateurs | |||||
| SET sqlcmd = replace(sqlcmd,'#LEFTJOIN#','') | |||||
| WHERE sqlcmd LIKE '%#LEFTJOIN#%' | |||||
| ; | |||||
| RAISE NOTICE '%' , (SELECT array_to_string(base.cti_array_accum(sqlcmd),'; ') FROM w_indicateurs); | |||||
| RAISE NOTICE '%' , 'Extraction donnees'; | |||||
| UPDATE w_indicateurs | |||||
| SET sqlresult = base.cti_execute(sqlcmd,1) | |||||
| ; | |||||
| ANALYSE w_expert_controle_data | |||||
| ; | |||||
| RAISE NOTICE '%' , (SELECT array_to_string(base.cti_array_accum('INSERT INTO w_expert_controle_data | |||||
| SELECT ' || t_expert_controle_rule.expert_controle_id || ', ' || | |||||
| t_expert_controle_rule.oid || ', | |||||
| 0::numeric, | |||||
| data_type, | |||||
| data_id, | |||||
| contrat_mois_data, | |||||
| expert_controle_code, | |||||
| CASE WHEN MAX(CASE WHEN expert_controle_rule_index = 1 THEN COALESCE(indicateur_value,0) ELSE 0 END) ' || replace(CASE WHEN formula <> '' THEN formula ELSE '<>0' END,'''','''''') || ' THEN 1 ELSE 0 END + | |||||
| CASE WHEN MAX(CASE WHEN expert_controle_rule_index = 2 THEN COALESCE(indicateur_value,0) ELSE 0 END) ' || replace(CASE WHEN formula_2 <> '' THEN formula_2 ELSE '<>0' END,'''','''''') || ' THEN 1 ELSE 0 END + | |||||
| CASE WHEN MAX(CASE WHEN expert_controle_rule_index = 3 THEN COALESCE(indicateur_value,0) ELSE 0 END) ' || replace(CASE WHEN formula_3 <> '' THEN formula_3 ELSE '<>0' END,'''','''''') || ' THEN 1 ELSE 0 END | |||||
| , | |||||
| date_signalement, | |||||
| etat, | |||||
| date_correction, | |||||
| date_evenement, | |||||
| data_code_original, | |||||
| texte | |||||
| FROM w_expert_controle_data | |||||
| GROUP BY 1,2,3,4,5,6,7,9,10,11,12,13,14 | |||||
| HAVING | |||||
| CASE WHEN MAX(CASE WHEN expert_controle_rule_index = 1 THEN COALESCE(indicateur_value,0) ELSE 0 END) ' || replace(CASE WHEN formula <> '' THEN formula ELSE '<>0' END,'''','''''') || ' THEN 1 ELSE 0 END + | |||||
| CASE WHEN MAX(CASE WHEN expert_controle_rule_index = 2 THEN COALESCE(indicateur_value,0) ELSE 0 END) ' || replace(CASE WHEN formula_2 <> '' THEN formula_2 ELSE '<>0' END,'''','''''') || ' THEN 1 ELSE 0 END + | |||||
| CASE WHEN MAX(CASE WHEN expert_controle_rule_index = 3 THEN COALESCE(indicateur_value,0) ELSE 0 END) ' || replace(CASE WHEN formula_3 <> '' THEN formula_3 ELSE '<>0' END,'''','''''') || ' THEN 1 ELSE 0 END | |||||
| = ' || (1 + CASE WHEN indicateur_2_id <> 0 THEN 1 ELSE 0 END + CASE WHEN indicateur_3_id <> 0 THEN 1 ELSE 0 END)::text ||' | |||||
| '),'; ') | |||||
| FROM rh.t_expert_controle_rule | |||||
| WHERE oid IN (SELECT expert_controle_rule_id FROM w_expert_controle_data) AND | |||||
| ( | |||||
| t_expert_controle_rule.indicateur_2_id <> 0 OR | |||||
| t_expert_controle_rule.indicateur_3_id <> 0 | |||||
| )) ; | |||||
| -- Plusieurs indicateurs dans condition ? | |||||
| PERFORM base.cti_execute( | |||||
| 'INSERT INTO w_expert_controle_data | |||||
| SELECT ' || t_expert_controle_rule.expert_controle_id || ', ' || | |||||
| t_expert_controle_rule.oid || ', | |||||
| 0::numeric, | |||||
| data_type, | |||||
| data_id, | |||||
| contrat_mois_data, | |||||
| expert_controle_code, | |||||
| CASE WHEN MAX(CASE WHEN expert_controle_rule_index = 1 THEN COALESCE(indicateur_value,0) ELSE 0 END) ' || replace(CASE WHEN formula <> '' THEN formula ELSE '<>0' END,'''','''''') || ' THEN 1 ELSE 0 END + | |||||
| CASE WHEN MAX(CASE WHEN expert_controle_rule_index = 2 THEN COALESCE(indicateur_value,0) ELSE 0 END) ' || replace(CASE WHEN formula_2 <> '' THEN formula_2 ELSE '<>0' END,'''','''''') || ' THEN 1 ELSE 0 END + | |||||
| CASE WHEN MAX(CASE WHEN expert_controle_rule_index = 3 THEN COALESCE(indicateur_value,0) ELSE 0 END) ' || replace(CASE WHEN formula_3 <> '' THEN formula_3 ELSE '<>0' END,'''','''''') || ' THEN 1 ELSE 0 END | |||||
| , | |||||
| date_signalement, | |||||
| etat, | |||||
| date_correction, | |||||
| date_evenement, | |||||
| data_code_original, | |||||
| texte | |||||
| FROM w_expert_controle_data | |||||
| GROUP BY 1,2,3,4,5,6,7,9,10,11,12,13,14 | |||||
| HAVING | |||||
| CASE WHEN MAX(CASE WHEN expert_controle_rule_index = 1 THEN COALESCE(indicateur_value,0) ELSE 0 END) ' || replace(CASE WHEN formula <> '' THEN formula ELSE '<>0' END,'''','''''') || ' THEN 1 ELSE 0 END + | |||||
| CASE WHEN MAX(CASE WHEN expert_controle_rule_index = 2 THEN COALESCE(indicateur_value,0) ELSE 0 END) ' || replace(CASE WHEN formula_2 <> '' THEN formula_2 ELSE '<>0' END,'''','''''') || ' THEN 1 ELSE 0 END + | |||||
| CASE WHEN MAX(CASE WHEN expert_controle_rule_index = 3 THEN COALESCE(indicateur_value,0) ELSE 0 END) ' || replace(CASE WHEN formula_3 <> '' THEN formula_3 ELSE '<>0' END,'''','''''') || ' THEN 1 ELSE 0 END | |||||
| = ' || (1 + CASE WHEN indicateur_2_id <> 0 THEN 1 ELSE 0 END + CASE WHEN indicateur_3_id <> 0 THEN 1 ELSE 0 END)::text ||' | |||||
| ',1) | |||||
| FROM rh.t_expert_controle_rule | |||||
| WHERE oid IN (SELECT expert_controle_rule_id FROM w_expert_controle_data) AND | |||||
| ( | |||||
| t_expert_controle_rule.indicateur_2_id <> 0 OR | |||||
| t_expert_controle_rule.indicateur_3_id <> 0 | |||||
| ) | |||||
| ; | |||||
| DELETE FROM w_expert_controle_data | |||||
| WHERE expert_controle_rule_index > 0 | |||||
| ; | |||||
| UPDATE rh.t_expert_controle_rule | |||||
| SET last_execution_result = CASE WHEN sqlresult NOT LIKE 'OK%' THEN sqlresult ELSE 'OK' END | |||||
| FROM w_indicateurs | |||||
| WHERE w_indicateurs.expert_controle_rule_id = t_expert_controle_rule.oid | |||||
| ; | |||||
| UPDATE rh.t_expert_controle | |||||
| SET last_execution_ok = subview.execution_ok | |||||
| FROM | |||||
| ( | |||||
| SELECT expert_controle_id, | |||||
| MIN(CASE WHEN last_execution_result LIKE 'KO%' THEN '0' ELSE '1' END) AS execution_ok | |||||
| FROM rh.t_expert_controle_rule | |||||
| WHERE indicateur_id <> 0 | |||||
| GROUP BY 1 | |||||
| ) subview | |||||
| WHERE expert_controle_id = t_expert_controle.oid | |||||
| ; | |||||
| UPDATE rh.t_expert_controle | |||||
| SET last_execution_count = subview.nb | |||||
| FROM | |||||
| ( | |||||
| SELECT expert_controle_id, | |||||
| count(*) AS nb | |||||
| FROM w_expert_controle_data | |||||
| GROUP BY 1 | |||||
| ) subview | |||||
| WHERE expert_controle_id = t_expert_controle.oid | |||||
| ; | |||||
| ANALYSE w_expert_controle_data | |||||
| ; | |||||
| -- Identifiants des tables | |||||
| if 1<>1 then | |||||
| PERFORM base.cti_execute('@UPDATE w_expert_controle_data SET | |||||
| data_code_original = t_source.code_original, texte = ''' || t_listes_tables.texte || ' '' || t_source.texte || '' ('' || t_source.code || '')'' | |||||
| FROM rh.' || t_listes_tables.name || ' t_source | |||||
| WHERE data_type = ''' || t_listes_tables.code || ''' AND t_source.oid = data_id | |||||
| ',1) | |||||
| FROM rh.t_listes_tables | |||||
| WHERE t_listes_tables.code <> 'salarie' AND | |||||
| t_listes_tables.code IN (SELECT data_type FROM w_expert_controle_data) | |||||
| ; | |||||
| PERFORM base.cti_execute('@UPDATE w_expert_controle_data SET | |||||
| data_code_original = t_source.code_original, texte = ''Séjour '' || t_source.no_salarie | |||||
| FROM rh.' || t_listes_tables.name || ' t_source | |||||
| WHERE data_type = ''' || t_listes_tables.code || ''' AND t_source.oid = data_id | |||||
| ',1) | |||||
| FROM rh.t_listes_tables | |||||
| WHERE t_listes_tables.code = 'salarie' AND | |||||
| t_listes_tables.code IN (SELECT data_type FROM w_expert_controle_data) | |||||
| ; | |||||
| end if; | |||||
| -- Identifiants des items | |||||
| UPDATE w_expert_controle_data SET | |||||
| data_code_original = p_contrats.code_original, | |||||
| texte = 'Contrat ' || | |||||
| numero_contrat || | |||||
| ' du ' || to_char(p_contrats.date_debut,'DD/MM/YYYY') || | |||||
| ' au ' || to_char(p_contrats.date_fin,'DD/MM/YYYY') | |||||
| FROM rh.p_contrats_mois | |||||
| JOIN rh.p_contrats ON p_contrats_mois.contrat_id = p_contrats.oid | |||||
| WHERE data_type IN ('contrat', 'salarie') AND | |||||
| p_contrats_mois.date_debut = w_expert_controle_data.contrat_mois_data[1] AND | |||||
| p_contrats_mois.date_fin = w_expert_controle_data.contrat_mois_data[2] AND | |||||
| p_contrats.numero_contrat = w_expert_controle_data.contrat_mois_data[3] | |||||
| ; | |||||
| UPDATE w_expert_controle_data SET | |||||
| data_code_original = p_contrats.code_original || to_char(p_contrats_mois.date_fin,'YYYYMMDD'), | |||||
| texte = 'Contrat ' || | |||||
| p_contrats.numero_contrat || | |||||
| 'Paie du ' || to_char(p_contrats_mois.date_debut,'DD/MM/YYYY') || | |||||
| ' au ' || to_char(p_contrats_mois.date_fin,'DD/MM/YYYY') | |||||
| FROM rh.p_contrats_mois | |||||
| JOIN rh.p_contrats ON p_contrats_mois.contrat_id = p_contrats.oid | |||||
| WHERE data_type = 'paie' AND | |||||
| p_contrats_mois.date_debut = w_expert_controle_data.contrat_mois_data[1] AND | |||||
| p_contrats_mois.date_fin = w_expert_controle_data.contrat_mois_data[2] AND | |||||
| p_contrats.numero_contrat = w_expert_controle_data.contrat_mois_data[3] | |||||
| ; | |||||
| -- Actualisation des oid des tables | |||||
| if 1<>1 then | |||||
| PERFORM base.cti_execute('@UPDATE rh.p_expert_controle_data SET | |||||
| data_id = t_source.oid | |||||
| FROM rh.' || t_listes_tables.name || ' t_source | |||||
| WHERE data_type = ''' || t_listes_tables.code || ''' AND | |||||
| data_code_original = t_source.code_original AND | |||||
| data_id <> t_source.oid | |||||
| ',1) | |||||
| FROM rh.t_listes_tables | |||||
| WHERE t_listes_tables.code IN (SELECT data_type FROM rh.p_expert_controle_data) | |||||
| ; | |||||
| end if; | |||||
| -- Corrigé si erreur a disparu | |||||
| UPDATE rh.p_expert_controle_data SET | |||||
| etat = 'T', | |||||
| date_correction = date(now()) | |||||
| WHERE etat = '' AND | |||||
| expert_controle_id NOT IN (SELECT t_expert_controle.oid FROM rh.t_expert_controle WHERE t_expert_controle.oid > 0 AND last_execution_ok <> '1') AND | |||||
| ( | |||||
| i_expert_controle_id = 0 OR | |||||
| p_expert_controle_data.expert_controle_id = i_expert_controle_id | |||||
| ) AND | |||||
| p_expert_controle_data.expert_controle_id::text||'#'||p_expert_controle_data.data_type||'#'||p_expert_controle_data.data_id::text | |||||
| NOT IN (SELECT w_expert_controle_data.expert_controle_id::text||'#'||w_expert_controle_data.data_type||'#'||w_expert_controle_data.data_id FROM w_expert_controle_data) | |||||
| ; | |||||
| -- L'erreur réapparait aprés avoir disparu, réactivation | |||||
| UPDATE rh.p_expert_controle_data SET | |||||
| etat = '', | |||||
| date_correction = '20991231' | |||||
| WHERE etat = 'T' AND | |||||
| ( | |||||
| i_expert_controle_id = 0 OR | |||||
| p_expert_controle_data.expert_controle_id = i_expert_controle_id | |||||
| ) AND | |||||
| p_expert_controle_data.expert_controle_id::text||'#'||p_expert_controle_data.data_type||'#'||p_expert_controle_data.data_id::text | |||||
| IN (SELECT w_expert_controle_data.expert_controle_id::text||'#'||w_expert_controle_data.data_type||'#'||w_expert_controle_data.data_id FROM w_expert_controle_data) | |||||
| ; | |||||
| INSERT INTO rh.p_expert_controle_data( | |||||
| expert_controle_id, | |||||
| date_item, | |||||
| date_signalement, | |||||
| etat, | |||||
| date_evenement, | |||||
| date_correction, | |||||
| contrat_mois_data, | |||||
| data_type, | |||||
| data_id, | |||||
| data_code_original, | |||||
| texte, | |||||
| nb_cree, | |||||
| nb_portee, | |||||
| nb_cloture | |||||
| ) | |||||
| SELECT | |||||
| expert_controle_id, | |||||
| date_signalement AS date_item, | |||||
| date_signalement, | |||||
| etat, | |||||
| date_evenement, | |||||
| date_correction, | |||||
| contrat_mois_data, | |||||
| data_type, | |||||
| data_id, | |||||
| data_code_original, | |||||
| texte, | |||||
| 1::numeric AS nb_cree, | |||||
| 0::numeric AS nb_portee, | |||||
| 0::numeric AS nb_cloture | |||||
| FROM w_expert_controle_data | |||||
| WHERE (w_expert_controle_data.expert_controle_id::text||'#'||w_expert_controle_data.data_type||'#'||w_expert_controle_data.data_id) | |||||
| NOT IN (SELECT p_expert_controle_data.expert_controle_id::text||'#'||p_expert_controle_data.data_type||'#'||p_expert_controle_data.data_id FROM rh.p_expert_controle_data) | |||||
| ; | |||||
| ANALYSE rh.p_expert_controle_data | |||||
| ; | |||||
| DELETE FROM rh.p_expert_controle_data | |||||
| WHERE expert_controle_id IN (SELECT oid FROM rh.t_expert_controle WHERE is_active <> '1') | |||||
| ; | |||||
| DELETE FROM rh.p_expert_controle_data | |||||
| WHERE nb_cree = 0 | |||||
| ; | |||||
| UPDATE rh.p_expert_controle_data | |||||
| SET expert_controle_data_id = oid | |||||
| WHERE expert_controle_data_id <> oid | |||||
| ; | |||||
| INSERT INTO rh.p_expert_controle_data | |||||
| ( | |||||
| oid, | |||||
| expert_controle_data_id, | |||||
| expert_controle_id, | |||||
| date_item, | |||||
| date_signalement, | |||||
| etat, | |||||
| date_evenement, | |||||
| date_correction, | |||||
| contrat_mois_data, | |||||
| data_type, | |||||
| data_id, | |||||
| data_code_original, | |||||
| texte, | |||||
| nb_cree, | |||||
| nb_portee, | |||||
| nb_cloture | |||||
| ) | |||||
| SELECT | |||||
| 0::bigint AS oid, | |||||
| expert_controle_data_id, | |||||
| expert_controle_id, | |||||
| date_evenement AS date_item, | |||||
| date_signalement, | |||||
| etat, | |||||
| date_evenement, | |||||
| date_correction, | |||||
| contrat_mois_data, | |||||
| data_type, | |||||
| data_id, | |||||
| data_code_original, | |||||
| texte, | |||||
| 0::bigint AS nb_cree, | |||||
| 1::bigint AS nb_portee, | |||||
| 0::bigint AS nb_cloture | |||||
| FROM rh.p_expert_controle_data | |||||
| WHERE nb_cree = 1 AND | |||||
| date_evenement <> '20991231' | |||||
| ; | |||||
| INSERT INTO rh.p_expert_controle_data | |||||
| ( | |||||
| oid, | |||||
| expert_controle_data_id, | |||||
| expert_controle_id, | |||||
| date_item, | |||||
| date_signalement, | |||||
| etat, | |||||
| date_evenement, | |||||
| date_correction, | |||||
| contrat_mois_data, | |||||
| data_type, | |||||
| data_id, | |||||
| data_code_original, | |||||
| texte, | |||||
| nb_cree, | |||||
| nb_portee, | |||||
| nb_cloture | |||||
| ) | |||||
| SELECT | |||||
| 0::bigint AS oid, | |||||
| expert_controle_data_id, | |||||
| expert_controle_id, | |||||
| date_correction AS date_item, | |||||
| date_signalement, | |||||
| etat, | |||||
| date_evenement, | |||||
| date_correction, | |||||
| contrat_mois_data, | |||||
| data_type, | |||||
| data_id, | |||||
| data_code_original, | |||||
| texte, | |||||
| 0::bigint AS nb_cree, | |||||
| 0::bigint AS nb_portee, | |||||
| 1::bigint AS nb_cloture | |||||
| FROM rh.p_expert_controle_data | |||||
| WHERE nb_cree = 1 AND | |||||
| date_correction <> '20991231' | |||||
| ; | |||||
| ANALYSE rh.p_expert_controle_data | |||||
| ; | |||||
| UPDATE rh.t_expert_controle | |||||
| SET last_execution_count = subview.nb | |||||
| FROM | |||||
| ( | |||||
| SELECT t_expert_controle.oid, | |||||
| count(p_expert_controle_data.expert_controle_id) AS nb | |||||
| FROM rh.t_expert_controle | |||||
| LEFT JOIN rh.p_expert_controle_data ON | |||||
| expert_controle_id = t_expert_controle.oid AND | |||||
| nb_cree = 1 AND | |||||
| date_correction = '20991231' | |||||
| GROUP BY 1 | |||||
| ) subview | |||||
| WHERE t_expert_controle.oid = subview.oid AND | |||||
| last_execution_count <> subview.nb | |||||
| ; | |||||
| RETURN 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,256 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| src: | | |||||
| DECLARE | |||||
| _sqlcmd TEXT; | |||||
| result TEXT; | |||||
| BEGIN | |||||
| -- Initialisation du nouveau champ | |||||
| UPDATE rh.p_salaries | |||||
| SET salarie_fusionne_id = 0 | |||||
| WHERE salarie_fusionne_id IS NULL; | |||||
| UPDATE rh.p_salaries | |||||
| SET salarie_fusionne_id = 0 | |||||
| WHERE salarie_fusionne_id <> 0 AND | |||||
| salarie_fusionne_id NOT IN (SELECT oid FROM rh.p_salaries); | |||||
| -- Paramétrés | |||||
| INSERT INTO rh.t_divers (code, texte, valeur, description) | |||||
| SELECT | |||||
| 'FUSIONSALARIE', | |||||
| 'Fusion des salariés', | |||||
| '0', | |||||
| '1 = Fusion des salariés activée' | |||||
| WHERE 'FUSIONSALARIE' NOT IN (SELECT code FROM rh.t_divers); | |||||
| IF NOT EXISTS (SELECT * | |||||
| FROM rh.t_divers | |||||
| WHERE t_divers.code = 'FUSIONSALARIE' AND | |||||
| t_divers.valeur = '1' | |||||
| LIMIT 1) THEN | |||||
| return 'Fusion non activée'; | |||||
| END IF; | |||||
| -- Stockage des salaries par nom | |||||
| DROP TABLE IF EXISTS w_fusion_salaries; | |||||
| CREATE TEMP TABLE w_fusion_salaries AS | |||||
| SELECT *, | |||||
| '0'::text AS origine, | |||||
| base.cti_soundex_nom(nom) AS nom_soundex, | |||||
| base.cti_soundex_prenom(prenom) AS prenom_soundex | |||||
| FROM rh.p_salaries | |||||
| WHERE nom <> '' AND | |||||
| (nom_naissance = nom OR nom_naissance = '') AND | |||||
| oid IN (SELECT salarie_id FROM rh.p_contrats); | |||||
| -- Stockage des salaries par nom de naissance | |||||
| INSERT INTO w_fusion_salaries | |||||
| SELECT *, | |||||
| '1'::text AS origine, | |||||
| base.cti_soundex_nom(nom_naissance) AS nom_soundex, | |||||
| base.cti_soundex_prenom(prenom) AS prenom_soundex | |||||
| FROM rh.p_salaries | |||||
| WHERE nom <> '' AND | |||||
| nom_naissance <> '' AND | |||||
| nom_naissance <> nom AND | |||||
| oid IN (SELECT salarie_id FROM rh.p_contrats); | |||||
| -- Détection salariés à regrouper et regrouper sur le plus récent | |||||
| UPDATE rh.p_salaries | |||||
| SET salarie_fusionne_id = CASE WHEN p_salaries.oid <> subview.salarie_fusionne_id THEN subview.salarie_fusionne_id ELSE 0 END | |||||
| FROM | |||||
| ( | |||||
| SELECT | |||||
| w_fusion_salaries.oid, | |||||
| subview.salarie_fusionne_id, | |||||
| w_fusion_salaries.entreprise_id, | |||||
| w_fusion_salaries.nom_soundex, | |||||
| w_fusion_salaries.prenom_soundex, | |||||
| w_fusion_salaries.date_naissance, | |||||
| w_fusion_salaries.sexe | |||||
| FROM w_fusion_salaries | |||||
| JOIN | |||||
| ( | |||||
| SELECT | |||||
| entreprise_id, | |||||
| nom_soundex, | |||||
| prenom_soundex, | |||||
| date_naissance, | |||||
| sexe, | |||||
| count(*) AS nb, | |||||
| (MAX(ARRAY[date_debut::text,oid::text]))[2]::bigint AS salarie_fusionne_id, | |||||
| base.cti_array_accum(w_fusion_salaries.oid) AS salaries_array | |||||
| FROM w_fusion_salaries | |||||
| GROUP BY 1,2,3,4,5 | |||||
| HAVING count(*) > 1 | |||||
| ) subview ON | |||||
| w_fusion_salaries.oid = ANY(salaries_array) | |||||
| ORDER BY 1,2,3,4,5,6 | |||||
| ) subview | |||||
| WHERE subview.oid = p_salaries.oid | |||||
| ; | |||||
| -- Mise à jour du salarié cible | |||||
| UPDATE rh.p_salaries SET | |||||
| date_debut = subview.date_debut, | |||||
| date_fin = subview.date_fin, | |||||
| date_entree_ets = subview.date_entree_ets, | |||||
| date_entree_fp = subview.date_entree_fp, | |||||
| date_entree_fph = subview.date_entree_fph, | |||||
| date_sortie_ets = subview.date_sortie_ets | |||||
| FROM | |||||
| ( | |||||
| SELECT | |||||
| CASE WHEN salarie_fusionne_id <> 0 THEN salarie_fusionne_id ELSE oid END, | |||||
| MIN(date_debut) AS date_debut, | |||||
| MAX(date_fin) AS date_fin, | |||||
| MIN(date_entree_ets) AS date_entree_ets, | |||||
| MIN(date_entree_fp) AS date_entree_fp, | |||||
| MIN(date_entree_fph) AS date_entree_fph, | |||||
| MAX(date_sortie_ets) AS date_sortie_ets | |||||
| FROM rh.p_salaries | |||||
| GROUP BY 1 | |||||
| HAVING COUNT(*) > 1 | |||||
| ) subview | |||||
| WHERE p_salaries.oid = subview.oid; | |||||
| -- Mise à jour référence salarié dans contrats | |||||
| UPDATE rh.p_contrats | |||||
| SET salarie_id = p_salaries.salarie_fusionne_id | |||||
| FROM rh.p_salaries | |||||
| WHERE p_contrats.salarie_id = p_salaries.oid AND | |||||
| salarie_fusionne_id <> 0 AND | |||||
| salarie_fusionne_id <> salarie_id; | |||||
| UPDATE rh.p_contrats | |||||
| SET salarie_remplace_id = p_salaries.salarie_fusionne_id | |||||
| FROM rh.p_salaries | |||||
| WHERE p_contrats.salarie_remplace_id <> 0 AND | |||||
| p_contrats.salarie_remplace_id = p_salaries.oid AND | |||||
| salarie_fusionne_id <> 0 AND | |||||
| salarie_fusionne_id <> salarie_remplace_id; | |||||
| --fusion ancienneté sans prendre en compte l'entreprise | |||||
| INSERT INTO rh.t_divers (code, texte, valeur, description) | |||||
| SELECT | |||||
| 'FUSIONENTREESALARIE', | |||||
| 'Fusion des dates entrées salariés (quelque soit entreprise)', | |||||
| '0', | |||||
| '1 = Fusion des dates entrée salariés activée' | |||||
| WHERE 'FUSIONENTREESALARIE' NOT IN (SELECT code FROM rh.t_divers); | |||||
| -- Mise à jour du salarié cible | |||||
| UPDATE rh.p_salaries SET | |||||
| date_entree_ets = subview.date_entree_ets | |||||
| FROM | |||||
| ( | |||||
| SELECT | |||||
| w_fusion_salaries.nom_soundex, | |||||
| w_fusion_salaries.prenom_soundex, | |||||
| w_fusion_salaries.date_naissance, | |||||
| w_fusion_salaries.sexe, | |||||
| (MAX(ARRAY[date_debut::text,oid::text]))[2]::bigint AS salarie_fusionne_id, | |||||
| base.cti_array_accum(w_fusion_salaries.oid) AS salaries_array, | |||||
| MIN(date_debut) AS date_debut, | |||||
| MAX(date_fin) AS date_fin, | |||||
| MIN(date_entree_ets) AS date_entree_ets, | |||||
| MIN(date_entree_fp) AS date_entree_fp, | |||||
| MIN(date_entree_fph) AS date_entree_fph, | |||||
| MAX(date_sortie_ets) AS date_sortie_ets | |||||
| FROM w_fusion_salaries | |||||
| GROUP BY 1,2,3,4 | |||||
| HAVING COUNT(*) > 1 | |||||
| ) subview | |||||
| WHERE p_salaries.oid = ANY(salaries_array) | |||||
| AND (SELECT valeur = 1 FROM rh.t_divers WHERE code = 'FUSIONENTREESALARIE'); | |||||
| UPDATE rh.p_contrats SET | |||||
| anciennete_anterieure_jours = subview.anciennete_anterieure_jours, | |||||
| anciennete_anterieure_calculee_mois = subview.anciennete_anterieure_calculee_mois | |||||
| FROM | |||||
| ( | |||||
| SELECT p_contrats.oid, | |||||
| SUM(p_contrats_anterieurs.date_fin-p_contrats_anterieurs.date_debut+1) AS anciennete_anterieure_jours, | |||||
| floor(SUM(p_contrats_anterieurs.date_fin-p_contrats_anterieurs.date_debut+1)/30.00) AS anciennete_anterieure_calculee_mois | |||||
| FROM rh.p_contrats | |||||
| JOIN rh.p_contrats p_contrats_anterieurs ON | |||||
| p_contrats_anterieurs.salarie_id = p_contrats.salarie_id AND | |||||
| p_contrats_anterieurs.etablissement_id = p_contrats.etablissement_id AND | |||||
| p_contrats_anterieurs.date_debut < p_contrats.date_debut | |||||
| WHERE p_contrats.salarie_id <> 0 AND | |||||
| p_contrats.salarie_id IN (SELECT salarie_fusionne_id FROM rh.p_salaries) | |||||
| GROUP BY 1 | |||||
| ) subview | |||||
| WHERE p_contrats.oid = subview.oid; | |||||
| -- Mise à jour référence salarié dans contrats mois | |||||
| UPDATE rh.p_contrats_mois | |||||
| SET salarie_id = p_salaries.salarie_fusionne_id | |||||
| FROM rh.p_salaries | |||||
| WHERE p_contrats_mois.salarie_id = p_salaries.oid AND | |||||
| salarie_fusionne_id <> 0 AND | |||||
| salarie_fusionne_id <> p_contrats_mois.salarie_id; | |||||
| UPDATE rh.p_contrats_mois SET | |||||
| anciennete_jours = p_contrats_mois.date_fin - p_contrats.date_debut + 1 + p_contrats.anciennete_anterieure_jours, | |||||
| anciennete_mois = floor((p_contrats_mois.date_fin - p_contrats.date_debut + 1 + p_contrats.anciennete_anterieure_jours)/30.00), | |||||
| anciennete_annee_id = floor((p_contrats_mois.date_fin - p_contrats.date_debut + 1 + p_contrats.anciennete_anterieure_jours)/365.25), | |||||
| nombre_entrees = CASE WHEN date_entree_ets BETWEEN p_contrats_mois.date_debut AND p_contrats_mois.date_fin THEN 1 ELSE 0 END | |||||
| FROM rh.p_contrats | |||||
| JOIN rh.p_salaries ON p_contrats.salarie_id = p_salaries.oid | |||||
| WHERE p_contrats_mois.contrat_id = p_contrats.oid AND | |||||
| p_contrats.salarie_id IN (SELECT salarie_fusionne_id FROM rh.p_salaries) | |||||
| ; | |||||
| UPDATE rh.p_contrats_mois | |||||
| SET nombre_entrees = 0 | |||||
| FROM | |||||
| (SELECT salarie_id, (MIN(Array[date_debut::text, oid::text]))[2] AS oid_ok FROM rh.p_contrats_mois WHERE nombre_entrees = 1 GROUP BY 1 HAVING count(*) > 1) subview | |||||
| WHERE p_contrats_mois.salarie_id = subview.salarie_id AND | |||||
| p_contrats_mois.nombre_entrees = 1 AND | |||||
| p_contrats_mois.oid <> oid_ok | |||||
| ; | |||||
| UPDATE rh.p_profil_contrat_mois | |||||
| SET salarie_id = p_salaries.salarie_fusionne_id | |||||
| FROM rh.p_salaries | |||||
| WHERE p_profil_contrat_mois.salarie_id = p_salaries.oid AND | |||||
| salarie_fusionne_id <> 0 AND | |||||
| salarie_fusionne_id <> p_profil_contrat_mois.salarie_id; | |||||
| -- Mise à jour référence salarié dans autres tables | |||||
| UPDATE rh.p_historique_paie | |||||
| SET salarie_id = p_salaries.salarie_fusionne_id | |||||
| FROM rh.p_salaries | |||||
| WHERE p_historique_paie.salarie_id = p_salaries.oid AND | |||||
| salarie_fusionne_id <> 0 AND | |||||
| salarie_fusionne_id <> p_historique_paie.salarie_id; | |||||
| UPDATE rh.p_accident_travail | |||||
| SET salarie_id = p_salaries.salarie_fusionne_id | |||||
| FROM rh.p_salaries | |||||
| WHERE p_accident_travail.salarie_id = p_salaries.oid AND | |||||
| salarie_fusionne_id <> 0 AND | |||||
| salarie_fusionne_id <> p_accident_travail.salarie_id; | |||||
| UPDATE rh.p_arrets_travail | |||||
| SET salarie_id = p_salaries.salarie_fusionne_id | |||||
| FROM rh.p_salaries | |||||
| WHERE p_arrets_travail.salarie_id = p_salaries.oid AND | |||||
| salarie_fusionne_id <> 0 AND | |||||
| salarie_fusionne_id <> p_arrets_travail.salarie_id; | |||||
| UPDATE rh.p_arrets_travail_mois | |||||
| SET salarie_id = p_salaries.salarie_fusionne_id | |||||
| FROM rh.p_salaries | |||||
| WHERE p_arrets_travail_mois.salarie_id = p_salaries.oid AND | |||||
| salarie_fusionne_id <> 0 AND | |||||
| salarie_fusionne_id <> p_arrets_travail_mois.salarie_id; | |||||
| UPDATE rh.p_formations | |||||
| SET salarie_id = p_salaries.salarie_fusionne_id | |||||
| FROM rh.p_salaries | |||||
| WHERE p_formations.salarie_id = p_salaries.oid AND | |||||
| salarie_fusionne_id <> 0 AND | |||||
| salarie_fusionne_id <> p_formations.salarie_id; | |||||
| UPDATE rh.p_handicap | |||||
| SET salarie_id = p_salaries.salarie_fusionne_id | |||||
| FROM rh.p_salaries | |||||
| WHERE p_handicap.salarie_id = p_salaries.oid AND | |||||
| salarie_fusionne_id <> 0 AND | |||||
| salarie_fusionne_id <> p_handicap.salarie_id; | |||||
| UPDATE rh.p_visites_medicales | |||||
| SET salarie_id = p_salaries.salarie_fusionne_id | |||||
| FROM rh.p_salaries | |||||
| WHERE p_visites_medicales.salarie_id = p_salaries.oid AND | |||||
| salarie_fusionne_id <> 0 AND | |||||
| salarie_fusionne_id <> p_visites_medicales.salarie_id; | |||||
| RETURN 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,53 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| src: | | |||||
| DECLARE | |||||
| _cursor refcursor; | |||||
| _sqlcmd text; | |||||
| _todataprofile text; | |||||
| _schema text; | |||||
| result TEXT; | |||||
| BEGIN | |||||
| -- Suppression des profils inexistants | |||||
| _sqlcmd = 'SELECT substr(nspname,17) | |||||
| FROM pg_namespace | |||||
| WHERE substr(nspname,1,16) = ''rh_data_profile_'' AND | |||||
| LOWER(substr(nspname,17)) NOT IN (SELECT LOWER(t_data_profile.code) FROM rh.t_data_profile) ' | |||||
| ; | |||||
| OPEN _cursor FOR EXECUTE _sqlcmd; | |||||
| FETCH _cursor INTO _todataprofile; | |||||
| WHILE FOUND LOOP | |||||
| BEGIN | |||||
| RAISE NOTICE 'Suppression du data_profile %', _todataprofile; | |||||
| EXECUTE 'SELECT base.cti_perform_hors_transaction(''SELECT rh.cti_gen_data_profile_views('''''||_todataprofile||''''')'')'; | |||||
| EXCEPTION | |||||
| WHEN others THEN RAISE NOTICE 'Erreur %' , 'SELECT base.cti_perform_hors_transaction(''SELECT rh.cti_gen_data_profile_views('''''||_todataprofile||''''')'')'; | |||||
| END; | |||||
| FETCH _cursor INTO _todataprofile; | |||||
| END LOOP; | |||||
| CLOSE _cursor; | |||||
| -- Pour chaque data_profile défini, appeler rh.cti_gen_data_profile_views(_in_data_profile_code) | |||||
| -- Lister les _in_data_profile_code | |||||
| _sqlcmd = 'SELECT t_data_profile.code | |||||
| FROM rh.t_data_profile | |||||
| WHERE t_data_profile.code <> '''' ' | |||||
| ; | |||||
| OPEN _cursor FOR EXECUTE _sqlcmd; | |||||
| FETCH _cursor INTO _todataprofile; | |||||
| WHILE FOUND LOOP | |||||
| BEGIN | |||||
| RAISE NOTICE 'Traitement du data_profile %', _todataprofile; | |||||
| EXECUTE 'SELECT base.cti_perform_hors_transaction(''SELECT rh.cti_gen_data_profile_views('''''||_todataprofile||''''')'')'; | |||||
| EXCEPTION | |||||
| WHEN others THEN RAISE NOTICE 'Erreur %' , 'SELECT base.cti_perform_hors_transaction(''SELECT rh.cti_gen_data_profile_views('''''||_todataprofile||''''')'')'; | |||||
| END; | |||||
| FETCH _cursor INTO _todataprofile; | |||||
| END LOOP; | |||||
| CLOSE _cursor; | |||||
| return 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,410 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: text | |||||
| name: _in_data_profile_code | |||||
| src: | | |||||
| DECLARE | |||||
| _cursor refcursor; | |||||
| _toschema text; | |||||
| _sqlcmd text; | |||||
| _sqlobject text; | |||||
| _data_profile_code text; | |||||
| _tosqlcmd text; | |||||
| _tosqlcmd_deja text; | |||||
| _tosqlcmd_base text; | |||||
| result TEXT; | |||||
| BEGIN | |||||
| -- Suppression si inexistant | |||||
| IF _in_data_profile_code <> '' AND | |||||
| EXISTS (SELECT nspname | |||||
| FROM pg_namespace | |||||
| WHERE LOWER(nspname) = LOWER('rh_data_profile_' || _in_data_profile_code) AND | |||||
| LOWER(substr(nspname,17)) NOT IN (SELECT LOWER(t_data_profile.code) FROM rh.t_data_profile) | |||||
| ) | |||||
| THEN | |||||
| RAISE NOTICE 'Suppression %', 'rh_data_profile_' || _in_data_profile_code; | |||||
| BEGIN | |||||
| EXECUTE 'DROP SCHEMA rh_data_profile_' || _in_data_profile_code || ' CASCADE'; | |||||
| EXCEPTION | |||||
| WHEN others THEN RAISE NOTICE 'Erreur %' , 'DROP SCHEMA ' || 'rh_data_profile_' || _in_data_profile_code || ' CASCADE'; | |||||
| END; | |||||
| return 'OK'; | |||||
| END IF; | |||||
| -- Traitement des listes pour être bien interprétées par string_to_array | |||||
| UPDATE rh.t_data_profile | |||||
| SET etablissement_inclus = trim(etablissement_inclus); | |||||
| UPDATE rh.t_data_profile | |||||
| SET etablissement_inclus = replace(etablissement_inclus,' ,',',') | |||||
| WHERE etablissement_inclus LIKE '% ,%'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET etablissement_inclus = replace(etablissement_inclus,' ,',',') | |||||
| WHERE etablissement_inclus LIKE '% ,%'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET etablissement_inclus = replace(etablissement_inclus,', ',',') | |||||
| WHERE etablissement_inclus LIKE '%, %'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET etablissement_inclus = replace(etablissement_inclus,', ',',') | |||||
| WHERE etablissement_inclus LIKE '%, %'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET etablissement_exclus = trim(etablissement_exclus); | |||||
| UPDATE rh.t_data_profile | |||||
| SET etablissement_exclus = replace(etablissement_exclus,' ,',',') | |||||
| WHERE etablissement_exclus LIKE '% ,%'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET etablissement_exclus = replace(etablissement_exclus,' ,',',') | |||||
| WHERE etablissement_exclus LIKE '% ,%'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET etablissement_exclus = replace(etablissement_exclus,', ',',') | |||||
| WHERE etablissement_exclus LIKE '%, %'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET etablissement_exclus = replace(etablissement_exclus,', ',',') | |||||
| WHERE etablissement_exclus LIKE '%, %'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET service_inclus = trim(service_inclus); | |||||
| UPDATE rh.t_data_profile | |||||
| SET service_inclus = replace(service_inclus,' ,',',') | |||||
| WHERE service_inclus LIKE '% ,%'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET service_inclus = replace(service_inclus,' ,',',') | |||||
| WHERE service_inclus LIKE '% ,%'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET service_inclus = replace(service_inclus,', ',',') | |||||
| WHERE service_inclus LIKE '%, %'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET service_inclus = replace(service_inclus,', ',',') | |||||
| WHERE service_inclus LIKE '%, %'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET service_exclus = trim(service_exclus); | |||||
| UPDATE rh.t_data_profile | |||||
| SET service_exclus = replace(service_exclus,' ,',',') | |||||
| WHERE service_exclus LIKE '% ,%'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET service_exclus = replace(service_exclus,' ,',',') | |||||
| WHERE service_exclus LIKE '% ,%'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET service_exclus = replace(service_exclus,', ',',') | |||||
| WHERE service_exclus LIKE '%, %'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET service_exclus = replace(service_exclus,', ',',') | |||||
| WHERE service_exclus LIKE '%, %'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET statut_inclus = trim(statut_inclus); | |||||
| UPDATE rh.t_data_profile | |||||
| SET statut_inclus = replace(statut_inclus,' ,',',') | |||||
| WHERE statut_inclus LIKE '% ,%'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET statut_inclus = replace(statut_inclus,' ,',',') | |||||
| WHERE statut_inclus LIKE '% ,%'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET statut_inclus = replace(statut_inclus,', ',',') | |||||
| WHERE statut_inclus LIKE '%, %'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET statut_inclus = replace(statut_inclus,', ',',') | |||||
| WHERE statut_inclus LIKE '%, %'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET statut_exclus = trim(statut_exclus); | |||||
| UPDATE rh.t_data_profile | |||||
| SET statut_exclus = replace(statut_exclus,' ,',',') | |||||
| WHERE statut_exclus LIKE '% ,%'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET statut_exclus = replace(statut_exclus,' ,',',') | |||||
| WHERE statut_exclus LIKE '% ,%'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET statut_exclus = replace(statut_exclus,', ',',') | |||||
| WHERE statut_exclus LIKE '%, %'; | |||||
| UPDATE rh.t_data_profile | |||||
| SET statut_exclus = replace(statut_exclus,', ',',') | |||||
| WHERE statut_exclus LIKE '%, %'; | |||||
| -- Génération des oids sur les profils | |||||
| UPDATE rh.t_data_profile | |||||
| SET service_id_array = subview.service_id_array | |||||
| FROM | |||||
| ( | |||||
| SELECT | |||||
| t_data_profile.oid, | |||||
| base.cti_array_accum(t_services.oid) AS service_id_array | |||||
| FROM rh.t_data_profile | |||||
| LEFT JOIN rh.t_services ON (t_services.code LIKE ANY(string_to_array(replace(t_data_profile.service_inclus,'*','%'),',')) OR t_data_profile.service_inclus = '' OR t_data_profile.service_inclus IS NULL) | |||||
| LEFT JOIN rh.t_services t_services_exclus ON t_data_profile.service_exclus <> '' AND | |||||
| t_services_exclus.code LIKE ANY(string_to_array(replace(t_data_profile.service_exclus,'*','%'),',')) AND | |||||
| t_services.oid = t_services_exclus.oid | |||||
| WHERE t_services_exclus.oid IS NULL | |||||
| GROUP BY 1 | |||||
| )subview | |||||
| WHERE subview.oid = t_data_profile.oid | |||||
| ; | |||||
| UPDATE rh.t_data_profile | |||||
| SET statut_id_array = subview.statut_id_array | |||||
| FROM | |||||
| ( | |||||
| SELECT | |||||
| t_data_profile.oid, | |||||
| base.cti_array_accum(t_statuts.oid) AS statut_id_array | |||||
| FROM rh.t_data_profile | |||||
| LEFT JOIN rh.t_statuts ON (t_statuts.code LIKE ANY(string_to_array(replace(t_data_profile.statut_inclus,'*','%'),',')) OR t_data_profile.statut_inclus = '' OR t_data_profile.statut_inclus IS NULL) | |||||
| LEFT JOIN rh.t_statuts t_statuts_exclus ON t_data_profile.statut_exclus <> '' AND | |||||
| t_statuts_exclus.code LIKE ANY(string_to_array(replace(t_data_profile.statut_exclus,'*','%'),',')) AND | |||||
| t_statuts.oid = t_statuts_exclus.oid | |||||
| WHERE t_statuts_exclus.oid IS NULL | |||||
| GROUP BY 1 | |||||
| )subview | |||||
| WHERE subview.oid = t_data_profile.oid | |||||
| ; | |||||
| UPDATE rh.t_data_profile | |||||
| SET etablissement_id_array = subview.etablissement_id_array | |||||
| FROM | |||||
| ( | |||||
| SELECT | |||||
| t_data_profile.oid, | |||||
| base.cti_array_accum(t_etablissements.oid) AS etablissement_id_array | |||||
| FROM rh.t_data_profile | |||||
| LEFT JOIN rh.t_etablissements ON (t_etablissements.code LIKE ANY(string_to_array(replace(t_data_profile.etablissement_inclus,'*','%'),',')) OR t_data_profile.etablissement_inclus = '' OR t_data_profile.etablissement_inclus IS NULL) | |||||
| LEFT JOIN rh.t_etablissements t_etablissements_exclus ON t_data_profile.etablissement_exclus <> '' AND | |||||
| t_etablissements_exclus.code LIKE ANY(string_to_array(replace(t_data_profile.etablissement_exclus,'*','%'),',')) AND | |||||
| t_etablissements.oid = t_etablissements_exclus.oid | |||||
| WHERE t_etablissements_exclus.oid IS NULL | |||||
| GROUP BY 1 | |||||
| )subview | |||||
| WHERE subview.oid = t_data_profile.oid | |||||
| ; | |||||
| -- Actualisation des schémas | |||||
| DROP TABLE IF EXISTS w_tables; | |||||
| CREATE TEMP TABLE w_tables AS | |||||
| SELECT schemaname, tablename | |||||
| FROM pg_tables | |||||
| WHERE schemaname LIKE 'rh%' AND | |||||
| tablename IN ('p_oids','p_indicateurs_cumules'); | |||||
| DROP TABLE IF EXISTS w_views; | |||||
| CREATE TEMP TABLE w_views AS | |||||
| SELECT schemaname, viewname, definition | |||||
| FROM pg_views | |||||
| WHERE schemaname LIKE 'rh%'; | |||||
| -- création des schémas | |||||
| _sqlcmd = 'SELECT t_data_profile.code, | |||||
| ''CREATE SCHEMA IF NOT EXISTS rh_DATA_PROFILE_'' || t_data_profile.code | |||||
| FROM rh.t_data_profile | |||||
| WHERE 1=1 | |||||
| AND CASE WHEN trim('''||_in_data_profile_code||''') = '''' THEN true ELSE t_data_profile.code = trim('''||_in_data_profile_code||''') END | |||||
| AND t_data_profile.code <> '''''; | |||||
| OPEN _cursor FOR | |||||
| EXECUTE _sqlcmd; | |||||
| FETCH _cursor INTO _sqlobject, _tosqlcmd; | |||||
| WHILE FOUND LOOP | |||||
| BEGIN | |||||
| --RAISE NOTICE 'Schema = %',_sqlobject; | |||||
| --RAISE NOTICE 'SQL %' , substr(_tosqlcmd,1,100); | |||||
| EXECUTE _tosqlcmd; | |||||
| EXCEPTION | |||||
| WHEN others THEN RAISE NOTICE 'Erreur %' , _tosqlcmd; | |||||
| END; | |||||
| FETCH _cursor INTO _sqlobject, _tosqlcmd; | |||||
| END LOOP; | |||||
| CLOSE _cursor; | |||||
| -- création des fichiers OIDS | |||||
| _sqlcmd = 'SELECT from_tablename, | |||||
| ''CREATE TABLE rh_DATA_PROFILE_'' || dataprofile_code || ''.'' || from_tablename || '' AS | |||||
| SELECT * | |||||
| FROM rh.'' || from_tablename || '' | |||||
| LIMIT 0'' | |||||
| FROM | |||||
| ( | |||||
| SELECT ''p_oids'' AS from_tablename, t_data_profile.code AS dataprofile_code FROM rh.t_data_profile | |||||
| UNION | |||||
| SELECT ''p_indicateurs_cumules'' AS from_tablename, t_data_profile.code AS dataprofile_code FROM rh.t_data_profile | |||||
| ) subview | |||||
| LEFT JOIN w_tables ON tablename = from_tablename AND | |||||
| schemaname ILIKE ''rh_DATA_PROFILE_'' || dataprofile_code | |||||
| WHERE tablename IS NULL'; | |||||
| OPEN _cursor FOR | |||||
| EXECUTE _sqlcmd; | |||||
| FETCH _cursor INTO _sqlobject, _tosqlcmd; | |||||
| WHILE FOUND LOOP | |||||
| BEGIN | |||||
| --RAISE NOTICE 'Schema = %',_sqlobject; | |||||
| --RAISE NOTICE 'SQL %' , substr(_tosqlcmd,1,100); | |||||
| EXECUTE _tosqlcmd; | |||||
| EXCEPTION | |||||
| WHEN others THEN RAISE NOTICE 'Erreur %' , _tosqlcmd; | |||||
| END; | |||||
| FETCH _cursor INTO _sqlobject, _tosqlcmd; | |||||
| END LOOP; | |||||
| CLOSE _cursor; | |||||
| -- recréation des vues dans un schema utilisateur | |||||
| _sqlcmd = 'SELECT w_views.viewname, | |||||
| t_data_profile.code, | |||||
| ''DROP VIEW IF EXISTS '' || w_views.schemaname || ''_DATA_PROFILE_'' || t_data_profile.code || ''.'' || w_views.viewname || ''; '' || | |||||
| ''CREATE VIEW '' || w_views.schemaname || ''_DATA_PROFILE_'' || t_data_profile.code || ''.'' || w_views.viewname || '' AS '' || w_views.definition, | |||||
| COALESCE(''DROP VIEW IF EXISTS '' || w_views_deja.schemaname || ''.'' || w_views_deja.viewname || ''; '' || | |||||
| ''CREATE VIEW '' || w_views_deja.schemaname || ''.'' || w_views_deja.viewname || '' AS '' || w_views_deja.definition,'''') | |||||
| FROM w_views | |||||
| JOIN rh.t_data_profile ON t_data_profile.code <> '''' | |||||
| LEFT JOIN w_views w_views_deja ON w_views.viewname = w_views_deja.viewname AND | |||||
| w_views_deja.schemaname ILIKE (''rh_DATA_PROFILE_'' || t_data_profile.code) | |||||
| WHERE w_views.schemaname = ''rh'''; | |||||
| --RAISE NOTICE 'SQL %' , _sqlcmd; | |||||
| OPEN _cursor FOR | |||||
| EXECUTE _sqlcmd; | |||||
| FETCH _cursor INTO _sqlobject, _data_profile_code, _tosqlcmd, _tosqlcmd_deja; | |||||
| WHILE FOUND LOOP | |||||
| BEGIN | |||||
| -- Remplacement accès table p_indicateurs_cumules | |||||
| _tosqlcmd = replace(_tosqlcmd, 'rh.p_indicateurs_cumules', | |||||
| 'rh_data_profile_' || _data_profile_code || '.p_indicateurs_cumules' | |||||
| ); | |||||
| -- Remplacement accès table t_data_profile | |||||
| _tosqlcmd = replace(_tosqlcmd, 'rh.t_data_profile', | |||||
| '(rh.t_data_profile | |||||
| JOIN rh.t_data_profile t_data_profile_2 ON t_data_profile_2.oid = t_data_profile.oid AND t_data_profile_2.code::text = ''' || _data_profile_code || '''::text)' | |||||
| ); | |||||
| -- Remplacement accès table t_services | |||||
| _tosqlcmd = replace(_tosqlcmd, 'rh.t_services', | |||||
| '(rh.t_services | |||||
| JOIN rh.t_data_profile t_data_profile_service ON t_data_profile_service.code::text = ''' || _data_profile_code || '''::text AND t_services.oid = ANY (t_data_profile_service.service_id_array))' | |||||
| ); | |||||
| -- Remplacement accès table t_statuts | |||||
| _tosqlcmd = replace(_tosqlcmd, 'rh.t_statuts', | |||||
| '(rh.t_statuts | |||||
| JOIN rh.t_data_profile t_data_profile_statut ON t_data_profile_statut.code::text = ''' || _data_profile_code || '''::text AND t_statuts.oid = ANY (t_data_profile_statut.statut_id_array))' | |||||
| ); | |||||
| -- Remplacement accès table t_etablissements | |||||
| _tosqlcmd = replace(_tosqlcmd, 'rh.t_etablissements', | |||||
| '(rh.t_etablissements | |||||
| JOIN rh.t_data_profile t_data_profile_etablissement ON t_data_profile_etablissement.code::text = ''' || _data_profile_code || '''::text AND t_etablissements.oid = ANY (t_data_profile_etablissement.etablissement_id_array))' | |||||
| ); | |||||
| -- Remplacement accès table p_profils | |||||
| _tosqlcmd = replace(_tosqlcmd, 'rh.p_profils', | |||||
| '(rh.p_profils | |||||
| JOIN rh.t_data_profile t_data_profile_profil ON t_data_profile_profil.code::text = ''' || _data_profile_code || '''::text AND | |||||
| p_profils.service_id = ANY (t_data_profile_profil.service_id_array) AND | |||||
| p_profils.statut_id = ANY (t_data_profile_profil.statut_id_array) | |||||
| )' | |||||
| ); | |||||
| -- Remplacement accès table p_oids | |||||
| _tosqlcmd = replace(_tosqlcmd, 'rh.p_oids', | |||||
| 'rh_DATA_PROFILE_' || _data_profile_code || '.p_oids' | |||||
| ); | |||||
| IF lower(_tosqlcmd) <> lower(_tosqlcmd_deja) THEN | |||||
| --RAISE NOTICE 'Vue = %',_sqlobject || ' (' || _data_profile_code || ')'; | |||||
| --RAISE NOTICE 'SQL %' , _tosqlcmd; | |||||
| --RAISE NOTICE 'SQL %' , _tosqlcmd_deja; | |||||
| EXECUTE _tosqlcmd; | |||||
| END IF; | |||||
| EXCEPTION | |||||
| WHEN others THEN RAISE NOTICE 'Erreur %' , substr(_tosqlcmd,1,100); | |||||
| END; | |||||
| FETCH _cursor INTO _sqlobject, _data_profile_code, _tosqlcmd, _tosqlcmd_deja; | |||||
| END LOOP; | |||||
| CLOSE _cursor; | |||||
| -- Alimentation des oids par profil | |||||
| _tosqlcmd_base = 'TRUNCATE rh.p_oids; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''anciennetes_annee''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''situations_famille''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''nationalites''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''codes_postaux''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''departements''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''motifs_arret''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''precisions_motif_arret''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''rubriques''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''organismes_cotisation''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''motifs_visite''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''accident_circonstance''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''accident_lieu''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''accident_nature''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''accident_siege''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''formations''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''compte''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT code_table, oid FROM rh.p_oids WHERE code_table = ''planning_type_absence''; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''salaries'', p_profil_contrat_mois.salarie_id FROM rh.p_profil_contrat_mois JOIN rh.p_profils ON p_profil_contrat_mois.profil_id = p_profils.oid GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''services'', p_profils.service_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''qualifications'', p_profils.qualification_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''types_temps_travail'', p_profils.type_temps_travail_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''types_contrat'', p_profils.type_contrat_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''specialites'', p_profils.specialite_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''categories_socio_professionnelle'', p_profils.categorie_socio_professionnelle_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''statuts'', p_profils.statut_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''codes_emploi'', p_profils.code_emploi_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''motifs_debut_contrat'', p_profils.motif_debut_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''motifs_fin_contrat'', p_profils.motif_fin_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''sections_analytiques_paie'', p_profils.section_analytique_paie_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''sections_analytiques'', p_profils.section_analytique_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''grilles'', p_profils.grille_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''grilles_groupes'', p_profils.grille_groupe_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''groupes_cotisant'', p_profils.groupe_cotisant_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''societes_interim'', p_profils.societe_interim_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''lettre_budgetaire'', p_profils.lettre_budgetaire_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''compte_salarie'', p_profils.compte_salarie_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''categorie_conge'', p_profils.categorie_conge_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''commission_paritaire'', p_profils.commission_paritaire_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''filiere'', p_profils.filiere_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''cadre_emploi'', p_profils.cadre_emploi_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''categorie_statutaire'', p_profils.categorie_statutaire_id FROM rh.p_profils GROUP BY 1,2; | |||||
| INSERT INTO rh.p_oids (code_table, oid) SELECT ''unite_fonctionnelle'', p_profils.unite_fonctionnelle_id FROM rh.p_profils GROUP BY 1,2; | |||||
| '; | |||||
| -- recréation des vues dans un schema utilisateur | |||||
| _sqlcmd = 'SELECT t_data_profile.code | |||||
| FROM rh.t_data_profile | |||||
| WHERE t_data_profile.code <> '''''; | |||||
| --RAISE NOTICE 'SQL %' , _sqlcmd; | |||||
| OPEN _cursor FOR | |||||
| EXECUTE _sqlcmd; | |||||
| FETCH _cursor INTO _data_profile_code; | |||||
| WHILE FOUND LOOP | |||||
| BEGIN | |||||
| --RAISE NOTICE 'SQL %' , _data_profile_code; | |||||
| --RAISE NOTICE 'SQL %' , _tosqlcmd_base; | |||||
| -- Remplacement accès table p_oids | |||||
| _tosqlcmd = replace(_tosqlcmd_base, 'INSERT INTO rh.p_oids', | |||||
| 'INSERT INTO rh_DATA_PROFILE_' || _data_profile_code || '.p_oids' | |||||
| ); | |||||
| _tosqlcmd = replace(_tosqlcmd, 'TRUNCATE rh.p_oids', | |||||
| 'TRUNCATE rh_DATA_PROFILE_' || _data_profile_code || '.p_oids' | |||||
| ); | |||||
| -- Remplacement accès table p_profils | |||||
| _tosqlcmd = replace(_tosqlcmd, 'rh.p_profils', | |||||
| '(rh.p_profils | |||||
| JOIN rh.t_data_profile ON t_data_profile.code::text = ''' || _data_profile_code || '''::text AND | |||||
| p_profils.service_id = ANY (t_data_profile.service_id_array) AND | |||||
| p_profils.statut_id = ANY (t_data_profile.statut_id_array) | |||||
| )' | |||||
| ); | |||||
| -- Remplacement accès table t_etablissements | |||||
| _tosqlcmd = replace(_tosqlcmd, 'rh.t_etablissements', | |||||
| '(rh.t_etablissements | |||||
| JOIN rh.t_data_profile ON t_data_profile.code::text = ''' || _data_profile_code || '''::text AND t_etablissements.oid = ANY (t_data_profile.etablissement_id_array))' | |||||
| ); | |||||
| --RAISE NOTICE 'SQL %' , _tosqlcmd; | |||||
| EXECUTE _tosqlcmd; | |||||
| EXCEPTION | |||||
| WHEN others THEN RAISE NOTICE 'Erreur %' , substr(_tosqlcmd,1,100); | |||||
| END; | |||||
| FETCH _cursor INTO _data_profile_code; | |||||
| END LOOP; | |||||
| CLOSE _cursor; | |||||
| return 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,122 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| src: | | |||||
| DECLARE | |||||
| result TEXT; | |||||
| BEGIN | |||||
| INSERT INTO rh.t_divers (code, texte, valeur, description) | |||||
| SELECT | |||||
| 'ODETP_SALARIE', | |||||
| 'OD ETP. Liste des salaries', | |||||
| ''::text, | |||||
| 'Format MATRICULE:HEURES|MATRICULE:HEURES|MATRICULE:HEURES' | |||||
| WHERE 'ODETP_SALARIE' NOT IN (SELECT code FROM rh.t_divers); | |||||
| INSERT INTO rh.t_divers (code, texte, valeur, description) | |||||
| SELECT | |||||
| 'ODETP_RUBRIQUE_BRUT', | |||||
| 'OD ETP. Rubrique identifiant la presence', | |||||
| ''::text, | |||||
| 'Code de la rubrique' | |||||
| WHERE 'ODETP_RUBRIQUE_BRUT' NOT IN (SELECT code FROM rh.t_divers); | |||||
| INSERT INTO rh.t_divers (code, texte, valeur, description) | |||||
| SELECT | |||||
| 'ODETP_RUBRIQUE_HEURE', | |||||
| 'OD ETP. Rubrique d''heure pour generation OD', | |||||
| ''::text, | |||||
| 'Code de la rubrique' | |||||
| WHERE 'ODETP_RUBRIQUE_HEURE' NOT IN (SELECT code FROM rh.t_divers); | |||||
| DROP TABLE IF EXISTS w_divers_odetp; | |||||
| CREATE TEMP TABLE w_divers_odetp AS | |||||
| SELECT p_salaries.oid AS odetp_salarie_id, | |||||
| CASE WHEN ((string_to_array((string_to_array(replace(t_divers_odetp_salaries.valeur,',','.'),'|'))[i],':'))[2])::text <> '*' THEN base.cti_to_number((string_to_array((string_to_array(replace(t_divers_odetp_salaries.valeur,',','.'),'|'))[i],':'))[2]::text) | |||||
| ELSE -1 END AS odetp_nb_heures, | |||||
| t_rubriques_brut.oid AS odetp_rubrique_brut_id, | |||||
| t_rubriques_heure.oid AS odetp_rubrique_heure_id | |||||
| FROM rh.p_salaries | |||||
| JOIN rh.t_divers t_divers_odetp_salaries ON t_divers_odetp_salaries.code = 'ODETP_SALARIE' | |||||
| JOIN generate_series(1,100) i ON (string_to_array(t_divers_odetp_salaries.valeur,'|'))[i] <> '' | |||||
| JOIN rh.t_divers t_divers_odetp_rubrique_brut ON t_divers_odetp_rubrique_brut.code = 'ODETP_RUBRIQUE_BRUT' | |||||
| JOIN rh.t_divers t_divers_odetp_rubrique_heure ON t_divers_odetp_rubrique_heure.code = 'ODETP_RUBRIQUE_HEURE' | |||||
| JOIN rh.t_rubriques t_rubriques_brut ON t_divers_odetp_rubrique_brut.valeur = t_rubriques_brut.code | |||||
| JOIN rh.t_rubriques t_rubriques_heure ON t_divers_odetp_rubrique_heure.valeur = t_rubriques_heure.code | |||||
| WHERE matricule = (string_to_array((string_to_array(t_divers_odetp_salaries.valeur,'|'))[i],':'))[1] | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_odetp_mois; | |||||
| CREATE TEMP TABLE w_odetp_mois AS | |||||
| SELECT p_historique_paie.salarie_id, | |||||
| p_historique_paie.contrat_mois_id, | |||||
| mois_paie, | |||||
| CASE WHEN MAX(odetp_nb_heures) >= 0 THEN MAX(odetp_nb_heures) ELSE 0 END AS odetp_heure_contrat, | |||||
| CASE WHEN MAX(odetp_nb_heures) >= 0 THEN MAX(odetp_nb_heures) ELSE SUM(heure_contrat) END AS odetp_heure_payee, | |||||
| MAX(odetp_rubrique_brut_id) AS odetp_rubrique_brut_id, | |||||
| MAX(odetp_rubrique_heure_id) AS odetp_rubrique_heure_id | |||||
| FROM rh.p_historique_paie | |||||
| JOIN w_divers_odetp ON salarie_id = odetp_salarie_id | |||||
| WHERE rubrique_id = odetp_rubrique_brut_id OR | |||||
| rubrique_id = odetp_rubrique_heure_id OR | |||||
| heure_contrat <> 0 AND odetp_nb_heures = -1 | |||||
| GROUP BY 1,2,3 | |||||
| HAVING MAX(CASE WHEN rubrique_id = odetp_rubrique_heure_id THEN rubrique_id ELSE 0 END) = 0 AND | |||||
| MAX(CASE WHEN rubrique_id = odetp_rubrique_brut_id THEN rubrique_id ELSE 0 END) <> 0 | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_odetp_historique; | |||||
| CREATE TEMP TABLE w_odetp_historique AS | |||||
| SELECT p_historique_paie.* | |||||
| FROM rh.p_historique_paie | |||||
| JOIN w_odetp_mois ON | |||||
| p_historique_paie.salarie_id = w_odetp_mois.salarie_id AND | |||||
| p_historique_paie.mois_paie = w_odetp_mois.mois_paie AND | |||||
| p_historique_paie.contrat_mois_id = w_odetp_mois.contrat_mois_id AND | |||||
| p_historique_paie.rubrique_id = odetp_rubrique_brut_id; | |||||
| UPDATE w_odetp_historique SET | |||||
| rubrique_id = odetp_rubrique_heure_id, | |||||
| base = odetp_heure_payee, | |||||
| heure_payee = odetp_heure_payee, | |||||
| heure_travaillee = odetp_heure_payee, | |||||
| heure_contrat = odetp_heure_contrat, | |||||
| montant_brut = 0, | |||||
| taux_cotisation_salarie = 0, | |||||
| montant_cotisation_salarie = 0, | |||||
| taux_cotisation_patronale = 0, | |||||
| montant_cotisation_patronale = 0, | |||||
| montant_net_imposable_salarie = 0, | |||||
| montant_net_a_payer_salarie = 0, | |||||
| montant_avantage_nature = 0, | |||||
| montant_frais_imposables = 0, | |||||
| montant_masse_salariale = 0, | |||||
| montant_od_net_salarie = 0 | |||||
| FROM w_odetp_mois | |||||
| WHERE w_odetp_mois.salarie_id = w_odetp_historique.salarie_id AND | |||||
| w_odetp_mois.contrat_mois_id = w_odetp_historique.contrat_mois_id AND | |||||
| w_odetp_mois.mois_paie = w_odetp_historique.mois_paie | |||||
| ; | |||||
| INSERT INTO rh.p_historique_paie | |||||
| SELECT * | |||||
| FROM w_odetp_historique; | |||||
| UPDATE rh.p_chiffrier_production | |||||
| SET nombre_heures_od = 0 | |||||
| WHERE nombre_heures_od IS NULL; | |||||
| UPDATE rh.p_chiffrier_production | |||||
| SET nombre_heures_od = p_chiffrier_production.nombre_heures_od + subview.nombre_heures_od | |||||
| FROM | |||||
| ( | |||||
| SELECT t_etablissements.entreprise_id, | |||||
| p_contrats.etablissement_id, | |||||
| mois_paie, | |||||
| SUM(base) AS nombre_heures_od | |||||
| FROM w_odetp_historique | |||||
| JOIN rh.p_contrats ON contrat_id = p_contrats.oid | |||||
| JOIN rh.t_etablissements ON p_contrats.etablissement_id = t_etablissements.oid | |||||
| GROUP BY 1,2,3 | |||||
| ) subview | |||||
| WHERE p_chiffrier_production.entreprise_id = subview.entreprise_id AND | |||||
| p_chiffrier_production.etablissement_id = subview.etablissement_id AND | |||||
| p_chiffrier_production.mois = subview.mois_paie; | |||||
| RETURN 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,88 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| src: | | |||||
| DECLARE | |||||
| year int; | |||||
| tableToCheck text; | |||||
| maxYearInserted int; | |||||
| yearsToDo int[]; | |||||
| tablesToCheck text[]; | |||||
| request text; | |||||
| canDoYear bool; | |||||
| startDate date; | |||||
| endDate date; | |||||
| targetTable text; | |||||
| BEGIN | |||||
| startDate = (COALESCE((SELECT MAX(annee) FROM rh.p_sae_contrats) + 1, 2017)|| '-01-01')::date; | |||||
| endDate = (date_part('YEAR', NOW())::text || '-01-01')::date - interval '1 year'; | |||||
| yearsToDo = (SELECT array_agg(date_part) FROM (SELECT date_part('YEAR', (generate_series(startDate, endDate, '1 year'::interval)))::int) AS sub); | |||||
| tablesToCheck = ARRAY['t_#YEAR#_sae_contrat', 't_#YEAR#_sae_groupe_discipline']; | |||||
| -- Si une des 2 tables nécessaires n'existent pas | |||||
| IF yearsToDo IS NULL THEN RETURN 'Aucune année à traiter'; END IF; | |||||
| FOREACH year IN ARRAY yearsToDo LOOP | |||||
| -- Vérification de l'existence des tables requises pour l'année de la boucle | |||||
| FOREACH tableToCheck IN ARRAY tablesToCheck LOOP | |||||
| IF year = 2017 THEN | |||||
| tableToCheck = REPLACE(tableToCheck, '_#YEAR#_', '_'); | |||||
| END IF; | |||||
| IF year > 2017 THEN | |||||
| tableToCheck = REPLACE(tableToCheck, '#YEAR#', year); | |||||
| END IF; | |||||
| canDoYear = ((SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'ssae' AND table_name = tableToCheck) = 1); | |||||
| END LOOP; | |||||
| -- Si une des 2 tables nécessaires n'existent pas | |||||
| IF NOT canDoYear THEN RETURN 'Une table nécessaire n''existe pas'; END IF; | |||||
| request = ' | |||||
| INSERT INTO rh.p_sae_contrats ( | |||||
| annee, | |||||
| mois_activite_debut_id, | |||||
| mois_activite_fin_id, | |||||
| salarie_id, | |||||
| contrat_code, | |||||
| contrat_id, | |||||
| groupe_discipline_texte, | |||||
| qualification_texte, | |||||
| filiere_texte | |||||
| ) | |||||
| SELECT | |||||
| #YEAR# AS annee, | |||||
| saec.mois_activite_debut_id, | |||||
| saec.mois_activite_fin_id, | |||||
| saec.salarie_id, | |||||
| saec.contrat_code, | |||||
| saec.contrat_id, | |||||
| saegd.texte AS groupe_discipline_texte, | |||||
| saec.qualification_texte, | |||||
| CASE filiere_code | |||||
| WHEN ''01'' THEN ''MEDECIN SOIGNANT'' | |||||
| WHEN ''11'' THEN ''SOIGNANT'' | |||||
| WHEN ''21'' THEN ''NON SOIGNANT'' | |||||
| WHEN ''91'' THEN ''Hors champ SAE'' | |||||
| ELSE ''???'' END AS filiere_texte | |||||
| FROM ssae.t_#YEAR#_sae_contrat AS saec | |||||
| LEFT JOIN ssae.t_#YEAR#_sae_groupe_discipline AS saegd ON saegd.oid = saec.groupe_discipline_id[1]' | |||||
| ; | |||||
| IF year = 2017 THEN | |||||
| request = replace(request, '_#YEAR#_', '_'); | |||||
| request = replace(request, '#YEAR#', year); | |||||
| END IF; | |||||
| IF year > 2017 THEN | |||||
| request = replace(request, '#YEAR#', year); | |||||
| END IF; | |||||
| EXECUTE request; | |||||
| RAISE NOTICE 'Année % traitée', year; | |||||
| END LOOP; | |||||
| RETURN 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,75 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| src: | | |||||
| DECLARE | |||||
| _nbPlanAna integer; -- Nb de plans analytiques possibles. | |||||
| _templateName text; -- Nom de la vue SQL template. | |||||
| _template text; -- source SQL template à compléter par cette fonction. | |||||
| _opt_mode text; -- Option t_divers définissant quelle vue SQL source est à prendre | |||||
| _viewName text; -- Nom de la vue à créer. | |||||
| _sqlView text; -- SQL de la vue à créer. | |||||
| _tmpRatio text; -- Ratio à appliquer. | |||||
| _tmpSelectId text[]; -- Colonnes à ajouter. | |||||
| _tmpSelectCode text[]; -- Colonnes à ajouter. | |||||
| _tmpSelectTexte text[]; -- Colonnes à ajouter. | |||||
| _tmpJoin text; -- Jointure à utiliser. | |||||
| result text; | |||||
| BEGIN | |||||
| _nbPlanAna = 3; -- Actuellement on gère 3 plans analytiques maximum. | |||||
| _templateName = 'v_historique_paie_0'; -- Par défaut, le template SQL à récupérer est situé dans cette vue. | |||||
| _opt_mode = ''; -- Par défaut, on prend la vue standard. | |||||
| -- Récupération de l'option. | |||||
| SELECT CASE WHEN valeur != '0' THEN '_1' ELSE '' END INTO _opt_mode FROM rh.t_divers WHERE code = 'OPT_STD_HP'; | |||||
| -- Récupération du template. | |||||
| SELECT pg_get_viewdef(c.oid, true) INTO _template FROM pg_class c JOIN pg_namespace as n on n.oid = c.relnamespace WHERE n.nspname = 'rh' AND c.relname = _templateName||coalesce(_opt_mode, ''::text); | |||||
| -- La vue v_historique_paie_0 est un template dans lequel il faut remplace "* 999" et "JOIN ( SELECT 1) subq ON 1 = 1" par les bonnes valeurs. | |||||
| FOR i IN 1..2^_nbPlanAna LOOP | |||||
| _tmpRatio = ''; | |||||
| _tmpSelectId = null; | |||||
| _tmpSelectCode = null; | |||||
| _tmpSelectTexte = null; | |||||
| _tmpJoin = ''; | |||||
| _sqlView = ''; | |||||
| IF (i::bit(3) = 0::bit(3)) THEN | |||||
| _viewName = 'rh.v_historique_paie_1'; | |||||
| ELSE | |||||
| _viewName = 'rh.v_historique_paie_1_' || i::bit(3)::text; | |||||
| END IF; | |||||
| FOR j IN 1.._nbPlanAna LOOP | |||||
| IF (substr(i::bit(3)::text, j, 1) = '1') THEN | |||||
| _tmpRatio = _tmpRatio || ' * v' || j::text || '.ratio'; | |||||
| _tmpSelectId[j] = 'v' || j::text || '.section_analytique_id as ng_section_analytique_' || j::text || '_id, v' || j::text || '.section_analytique_section_id as ng_section_analytique_' || j::text || '_section_id'; | |||||
| _tmpSelectCode[j] = 'v' || j::text || '.section_analytique_code as ng_section_analytique_' || j::text || '_code, v' || j::text || '.section_analytique_section_code as ng_section_analytique_' || j::text || '_section_code'; | |||||
| _tmpSelectTexte[j] = 'v' || j::text || '.section_analytique_texte as ng_section_analytique_' || j::text || '_texte, v' || j::text || '.section_analytique_section_texte as ng_section_analytique_' || j::text || '_section_texte'; | |||||
| _tmpJoin = _tmpJoin || ' JOIN rh.p_ventilation_section AS v' || j::text || ' ON v' || j::text || '.ventilation_id = p_historique_paie.ventilation_'|| j::text ||'_id'; | |||||
| ELSE | |||||
| _tmpSelectId[j] = 'null::bigint as ng_section_analytique_' || j::text || '_id'; | |||||
| _tmpSelectCode[j] = 'null::text as ng_section_analytique_' || j::text || '_code'; | |||||
| _tmpSelectTexte[j] = 'null::text as ng_section_analytique_' || j::text || '_texte'; | |||||
| END IF; | |||||
| END LOOP; | |||||
| -- Remplacements | |||||
| _sqlView = replace (_template, '* 999', _tmpRatio); | |||||
| _sqlView = replace (_sqlView, '999::bigint', array_to_string(_tmpSelectId, ', ', 'null::bigint')); | |||||
| _sqlView = replace (_sqlView, '''section_analytique_ng_code''::text', array_to_string(_tmpSelectCode, ', ', 'null::text')); | |||||
| _sqlView = replace (_sqlView, '''section_analytique_ng_texte''::text', array_to_string(_tmpSelectTexte, ', ', 'null::text')); | |||||
| _sqlView = replace (_sqlView, 'JOIN ( SELECT 1) subq ON 1 = 1', _tmpJoin); | |||||
| _sqlView = replace (_sqlView, ' AS to_replace_id', ''); | |||||
| _sqlView = replace (_sqlView, ' AS to_replace_code', ''); | |||||
| _sqlView = replace (_sqlView, ' AS to_replace_texte', ''); | |||||
| -- Suppression de la vue si elle existe. | |||||
| EXECUTE 'DROP VIEW IF EXISTS ' || _viewName; | |||||
| -- Création de la vue. | |||||
| EXECUTE 'CREATE VIEW ' || _viewName || ' AS ' || _sqlView; | |||||
| END LOOP; | |||||
| RETURN 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,67 @@ | |||||
| return: date | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: text | |||||
| name: i_code | |||||
| p1: | |||||
| type: text | |||||
| name: i_option | |||||
| src: | | |||||
| DECLARE | |||||
| _code text; | |||||
| _option text; | |||||
| _now date; | |||||
| BEGIN | |||||
| _code = i_code; | |||||
| IF _code NOT IN ('NOW', 'NOWCLOTURE') THEN | |||||
| _code = 'NOW'; | |||||
| END IF; | |||||
| _option = i_option; | |||||
| IF NOT EXISTS (SELECT * FROM rh.t_divers WHERE code = _code) THEN | |||||
| _option = 'FORCE'; | |||||
| END IF; | |||||
| IF _option = 'FORCE' THEN | |||||
| _now = | |||||
| CASE _code | |||||
| WHEN 'NOW' THEN | |||||
| (SELECT MAX(date_fin) FROM rh.p_contrats WHERE date_fin <= date(now()) ) | |||||
| WHEN 'NOWCLOTURE' THEN | |||||
| (SELECT CASE WHEN date(date_trunc('month',MAX(date_paie)) + interval '1 month' - interval '1 day') <= date(date_trunc('month',now() - interval '5 days')) THEN | |||||
| date(date_trunc('month',MAX(date_paie)) + interval '1 month' - interval '1 day') | |||||
| ELSE | |||||
| date(date_trunc('month',MAX(date_paie)) - interval '1 day') | |||||
| END | |||||
| FROM rh.p_historique_paie WHERE date_paie <= date(date_trunc('month',now()) + interval '1 month' - interval '1 day') | |||||
| ) | |||||
| ELSE date(now()) | |||||
| END; | |||||
| UPDATE rh.t_divers SET | |||||
| texte = CASE _code | |||||
| WHEN 'NOW' THEN 'Date en-cours' | |||||
| WHEN 'NOWCLOTURE' THEN 'Date clôture' | |||||
| ELSE 'Date en-cours' | |||||
| END, | |||||
| valeur = to_char(_now, 'YYYYMM'), | |||||
| valeur_date = _now, | |||||
| show_info_module = true | |||||
| WHERE code = _code; | |||||
| INSERT INTO rh.t_divers (code, texte, valeur, valeur_date, description, show_info_module) | |||||
| SELECT | |||||
| _code, | |||||
| CASE _code | |||||
| WHEN 'NOW' THEN 'Date en-cours' | |||||
| WHEN 'NOWCLOTURE' THEN 'Date clôture' | |||||
| ELSE 'Date en-cours' | |||||
| END, | |||||
| to_char(_now, 'YYYYMM'), | |||||
| _now, | |||||
| 'Date non modifiable', | |||||
| true | |||||
| WHERE _code NOT IN (SELECT code FROM rh.t_divers); | |||||
| ELSE | |||||
| _now = (SELECT valeur_date FROM rh.t_divers WHERE code = _code); | |||||
| END IF; | |||||
| RETURN _now; | |||||
| END; | |||||
| @ -0,0 +1,71 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: text | |||||
| name: i_column_name | |||||
| p1: | |||||
| type: text | |||||
| name: i_table_name | |||||
| p2: | |||||
| type: integer | |||||
| name: i_array_index | |||||
| p3: | |||||
| type: bigint | |||||
| name: i_indicateur_id | |||||
| p4: | |||||
| type: bigint | |||||
| name: i_indicateur_associe_1_id | |||||
| p5: | |||||
| type: bigint | |||||
| name: i_indicateur_associe_2_id | |||||
| p6: | |||||
| type: bigint | |||||
| name: i_indicateur_associe_3_id | |||||
| p7: | |||||
| type: bigint | |||||
| name: i_indicateur_associe_4_id | |||||
| p8: | |||||
| type: bigint | |||||
| name: i_indicateur_associe_5_id | |||||
| p9: | |||||
| type: bigint | |||||
| name: i_indicateur_associe_6_id | |||||
| p10: | |||||
| type: bigint | |||||
| name: i_indicateur_associe_7_id | |||||
| p11: | |||||
| type: bigint | |||||
| name: i_indicateur_associe_8_id | |||||
| p12: | |||||
| type: bigint | |||||
| name: i_indicateur_associe_9_id | |||||
| p13: | |||||
| type: bigint | |||||
| name: i_indicateur_associe_10_id | |||||
| src: | | |||||
| DECLARE | |||||
| column_name text; | |||||
| array_index text; | |||||
| BEGIN | |||||
| array_index = ''; | |||||
| if i_array_index > 0 THEN | |||||
| array_index = '[0000' || i_array_index || ']'; | |||||
| END IF; | |||||
| if i_table_name <> '*CALC' THEN | |||||
| column_name = 'SUM(indicateurs[000' || i_indicateur_id || ']' || array_index ||')'; | |||||
| ELSE | |||||
| column_name = replace(i_column_name, '[1]', 'SUM(indicateurs[000' || i_indicateur_associe_1_id || ']' || array_index ||')'); | |||||
| column_name = replace(column_name, '[2]', 'SUM(indicateurs[000' || i_indicateur_associe_2_id || ']' || array_index ||')'); | |||||
| column_name = replace(column_name, '[3]', 'SUM(indicateurs[000' || i_indicateur_associe_3_id || ']' || array_index ||')'); | |||||
| column_name = replace(column_name, '[4]', 'SUM(indicateurs[000' || i_indicateur_associe_4_id || ']' || array_index ||')'); | |||||
| column_name = replace(column_name, '[5]', 'SUM(indicateurs[000' || i_indicateur_associe_5_id || ']' || array_index ||')'); | |||||
| column_name = replace(column_name, '[6]', 'SUM(indicateurs[000' || i_indicateur_associe_6_id || ']' || array_index ||')'); | |||||
| column_name = replace(column_name, '[7]', 'SUM(indicateurs[000' || i_indicateur_associe_7_id || ']' || array_index ||')'); | |||||
| column_name = replace(column_name, '[8]', 'SUM(indicateurs[000' || i_indicateur_associe_8_id || ']' || array_index ||')'); | |||||
| column_name = replace(column_name, '[9]', 'SUM(indicateurs[000' || i_indicateur_associe_9_id || ']' || array_index ||')'); | |||||
| column_name = replace(column_name, '[10]', 'SUM(indicateurs[000' || i_indicateur_associe_10_id || ']' || array_index ||')'); | |||||
| END IF; | |||||
| RETURN column_name; | |||||
| END; | |||||
| @ -0,0 +1,78 @@ | |||||
| return: SETOF record | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: bigint | |||||
| name: i_rapport_id | |||||
| src: | | |||||
| DECLARE | |||||
| sqlcmd text; | |||||
| temp_cursor refcursor; | |||||
| _oid integer; | |||||
| _maxind integer; | |||||
| row RECORD; | |||||
| BEGIN | |||||
| -- Selection des rubriques et ajout des conditions | |||||
| PERFORM rh.cti_prepare_rapport_init(i_rapport_id) | |||||
| ; | |||||
| FOR row IN | |||||
| SELECT * FROM rh.cti_prepare_rapport_indicateurs(i_rapport_id, 'v_contrats_mois_1', 'COMP') AS (name text, value text) | |||||
| UNION | |||||
| SELECT * FROM rh.cti_prepare_rapport_indicateurs(i_rapport_id, 'v_historique_paie_1', 'COMP') AS (name text, value text) | |||||
| UNION | |||||
| SELECT * FROM rh.cti_prepare_rapport_indicateurs(i_rapport_id, 'v_arrets_travail_mois_1', 'COMP') AS (name text, value text) | |||||
| UNION | |||||
| SELECT * FROM rh.cti_prepare_rapport_indicateurs(i_rapport_id, 'PLANNING_MOUVEMENT', 'COMP') AS (name text, value text) | |||||
| UNION | |||||
| SELECT 'RUBRIQUES_RAPPORT', | |||||
| base.cti_group_concat( | |||||
| 'ARRAY[' || | |||||
| rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 3, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 2, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| '(' || rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 2, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ' - ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 3, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ') ' || | |||||
| ', ' || | |||||
| 'CASE WHEN ' || rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 2, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ' > 0 AND ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 3, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || '> 0 THEN ' || | |||||
| 'base.cti_division((' || rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 2, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ' - ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 3, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || '), ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 3, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ') * 100 ' || | |||||
| 'ELSE 0 END, ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 1, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| '(' || rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 1, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ' - ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 2, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ') ' || | |||||
| ', ' || | |||||
| 'CASE WHEN ' || rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 1, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ' > 0 AND ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 2, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || '> 0 THEN ' || | |||||
| 'base.cti_division((' || rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 1, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ' - ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 2, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || '), ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 2, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ') * 100 ' || | |||||
| 'ELSE 0 END ' || | |||||
| ']' | |||||
| ) | |||||
| FROM (SELECT * FROM w_VP_rapports_rubriques t_rapports_rubriques | |||||
| JOIN w_VP_indicateurs t_indicateurs ON t_rapports_rubriques.indicateur_id = t_indicateurs.oid | |||||
| WHERE rapport_id = i_rapport_id ORDER BY numero_rubrique | |||||
| ) subview | |||||
| LOOP | |||||
| RETURN NEXT row; | |||||
| END LOOP; | |||||
| RETURN ; | |||||
| END; | |||||
| @ -0,0 +1,109 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: text | |||||
| name: i_column_name | |||||
| p1: | |||||
| type: text | |||||
| name: i_option | |||||
| src: | | |||||
| DECLARE | |||||
| to_column_name text; | |||||
| listeString text; | |||||
| listeCode text; | |||||
| d int; | |||||
| f int; | |||||
| l int; | |||||
| BEGIN | |||||
| to_column_name = i_column_name; | |||||
| IF (i_option = 'MONTH') THEN | |||||
| IF to_column_name NOT ILIKE 'DISTINCT%' THEN | |||||
| to_column_name = 'CASE WHEN COLUMNCHECKSEQUENCE THEN ' || to_column_name || ' ELSE NULL END'; | |||||
| ELSE | |||||
| to_column_name = 'DISTINCT CASE WHEN COLUMNCHECKSEQUENCE THEN ' || substr(to_column_name,9) || ' ELSE NULL END'; | |||||
| END IF; | |||||
| END IF; | |||||
| d = strpos(to_column_name,'[LISTE:'); | |||||
| IF (d > 0) THEN | |||||
| f = strpos(to_column_name,']'); | |||||
| IF (f > 0) THEN | |||||
| l = f - d + 1; | |||||
| listeString = substr(to_column_name, d, l); | |||||
| listeCode = substr(listeString, 8, length(listeString) - 8); | |||||
| to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM rh.t_listes JOIN rh.t_listes_contenu ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = ''' || listeCode || ''')'); | |||||
| END IF; | |||||
| END IF; | |||||
| d = strpos(to_column_name,'[LISTE:'); | |||||
| IF (d > 0) THEN | |||||
| f = strpos(to_column_name,']'); | |||||
| IF (f > 0) THEN | |||||
| l = f - d + 1; | |||||
| listeString = substr(to_column_name, d, l); | |||||
| listeCode = substr(listeString, 8, length(listeString) - 8); | |||||
| to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM rh.t_listes JOIN rh.t_listes_contenu ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = ''' || listeCode || ''')'); | |||||
| END IF; | |||||
| END IF; | |||||
| d = strpos(to_column_name,'[LISTE:'); | |||||
| IF (d > 0) THEN | |||||
| f = strpos(to_column_name,']'); | |||||
| IF (f > 0) THEN | |||||
| l = f - d + 1; | |||||
| listeString = substr(to_column_name, d, l); | |||||
| listeCode = substr(listeString, 8, length(listeString) - 8); | |||||
| to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM rh.t_listes JOIN rh.t_listes_contenu ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = ''' || listeCode || ''')'); | |||||
| END IF; | |||||
| END IF; | |||||
| d = strpos(to_column_name,'[LISTE:'); | |||||
| IF (d > 0) THEN | |||||
| f = strpos(to_column_name,']'); | |||||
| IF (f > 0) THEN | |||||
| l = f - d + 1; | |||||
| listeString = substr(to_column_name, d, l); | |||||
| listeCode = substr(listeString, 8, length(listeString) - 8); | |||||
| to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM rh.t_listes JOIN rh.t_listes_contenu ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = ''' || listeCode || ''')'); | |||||
| END IF; | |||||
| END IF; | |||||
| d = strpos(to_column_name,'[LISTE:'); | |||||
| IF (d > 0) THEN | |||||
| f = strpos(to_column_name,']'); | |||||
| IF (f > 0) THEN | |||||
| l = f - d + 1; | |||||
| listeString = substr(to_column_name, d, l); | |||||
| listeCode = substr(listeString, 8, length(listeString) - 8); | |||||
| to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM rh.t_listes JOIN rh.t_listes_contenu ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = ''' || listeCode || ''')'); | |||||
| END IF; | |||||
| END IF; | |||||
| d = strpos(to_column_name,'[CLASSE:'); | |||||
| IF (d > 0) THEN | |||||
| f = strpos(to_column_name,']'); | |||||
| IF (f > 0) THEN | |||||
| l = f - d + 1; | |||||
| listeString = substr(to_column_name, d, l); | |||||
| listeCode = substr(listeString, 9, length(listeString) - 9); | |||||
| to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM rh.t_classes JOIN rh.t_classes_sections ON classe_id = t_classes.oid JOIN rh.t_classes_sections_elements ON section_id = t_classes_sections.oid WHERE t_classes.code || '':'' || t_classes_sections.code = ''' || listeCode || ''')'); | |||||
| END IF; | |||||
| END IF; | |||||
| d = strpos(to_column_name,'[CLASSE:'); | |||||
| IF (d > 0) THEN | |||||
| f = strpos(to_column_name,']'); | |||||
| IF (f > 0) THEN | |||||
| l = f - d + 1; | |||||
| listeString = substr(to_column_name, d, l); | |||||
| listeCode = substr(listeString, 9, length(listeString) - 9); | |||||
| to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM rh.t_classes JOIN rh.t_classes_sections ON classe_id = t_classes.oid JOIN rh.t_classes_sections_elements ON section_id = t_classes_sections.oid WHERE t_classes.code || '':'' || t_classes_sections.code = ''' || listeCode || ''')'); | |||||
| END IF; | |||||
| END IF; | |||||
| d = strpos(to_column_name,'[CLASSE:'); | |||||
| IF (d > 0) THEN | |||||
| f = strpos(to_column_name,']'); | |||||
| IF (f > 0) THEN | |||||
| l = f - d + 1; | |||||
| listeString = substr(to_column_name, d, l); | |||||
| listeCode = substr(listeString, 9, length(listeString) - 9); | |||||
| to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM rh.t_classes JOIN rh.t_classes_sections ON classe_id = t_classes.oid JOIN rh.t_classes_sections_elements ON section_id = t_classes_sections.oid WHERE t_classes.code || '':'' || t_classes_sections.code = ''' || listeCode || ''')'); | |||||
| END IF; | |||||
| END IF; | |||||
| RETURN to_column_name; | |||||
| END; | |||||
| @ -0,0 +1,17 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: text | |||||
| name: i_column_name | |||||
| src: | | |||||
| DECLARE | |||||
| to_column_name text; | |||||
| BEGIN | |||||
| to_column_name = i_column_name; | |||||
| to_column_name = regexp_replace(to_column_name, '\[LISTE:(.*?)\]', '(SELECT to_id FROM rh.t_listes JOIN rh.t_listes_contenu ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = ''\1'')', 'g'); | |||||
| to_column_name = regexp_replace(to_column_name, '\[CLASSE:(.*?)\]', '(SELECT to_id FROM rh.t_classes JOIN rh.t_classes_sections ON classe_id = t_classes.oid JOIN rh.t_classes_sections_elements ON section_id = t_classes_sections.oid WHERE t_classes.code || '':'' || t_classes_sections.code = ''\1'')', 'g'); | |||||
| RETURN to_column_name; | |||||
| END; | |||||
| @ -0,0 +1,215 @@ | |||||
| return: SETOF record | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: bigint | |||||
| name: i_rapport_id | |||||
| p1: | |||||
| type: text | |||||
| name: i_table_name | |||||
| p2: | |||||
| type: text | |||||
| name: i_option | |||||
| src: | | |||||
| DECLARE | |||||
| sqlcmd text; | |||||
| temp_cursor refcursor; | |||||
| _oid integer; | |||||
| _count integer; | |||||
| _table_count integer; | |||||
| _maxind integer; | |||||
| _indicateur_name text; | |||||
| row RECORD; | |||||
| BEGIN | |||||
| _maxind = 100; | |||||
| _table_count = 0; | |||||
| OPEN temp_cursor FOR | |||||
| SELECT MAX(oid), SUM(CASE WHEN i_table_name = table_name THEN 1 ELSE 0 END) | |||||
| FROM w_VP_indicateurs t_indicateurs | |||||
| WHERE oid IN ( | |||||
| SELECT base.cti_unnest( | |||||
| ARRAY[ | |||||
| indicateur_id, | |||||
| indicateur_associe_1_id, | |||||
| indicateur_associe_2_id, | |||||
| indicateur_associe_3_id, | |||||
| indicateur_associe_4_id, | |||||
| indicateur_associe_5_id, | |||||
| indicateur_associe_6_id, | |||||
| indicateur_associe_7_id, | |||||
| indicateur_associe_8_id, | |||||
| indicateur_associe_9_id, | |||||
| indicateur_associe_10_id | |||||
| ]) | |||||
| FROM rh.t_rapports | |||||
| JOIN w_VP_rapports_rubriques t_rapports_rubriques ON t_rapports.oid = t_rapports_rubriques.rapport_id AND rapport_id = i_rapport_id | |||||
| JOIN w_VP_indicateurs t_indicateurs ON t_rapports_rubriques.indicateur_id = t_indicateurs.oid); | |||||
| FETCH temp_cursor INTO _oid,_count; | |||||
| WHILE FOUND LOOP | |||||
| _maxind = _oid; | |||||
| _table_count = _count; | |||||
| FETCH temp_cursor INTO _oid, _count; | |||||
| END LOOP; | |||||
| CLOSE temp_cursor; | |||||
| _indicateur_name = CASE i_table_name WHEN 'v_contrats_mois_1' THEN 'INDICATEURS_CONTRAT' | |||||
| WHEN 'v_historique_paie_1' THEN 'INDICATEURS_PAIE' | |||||
| WHEN 'v_arrets_travail_mois_1' THEN 'INDICATEURS_ARRET' | |||||
| WHEN 'PLANNING_MOUVEMENT' THEN 'INDICATEURS_PLANNING' | |||||
| WHEN 'CALENDRIER' THEN 'INDICATEURS_CALENDRIER' | |||||
| ELSE 'INDICATEURS_OTHERS' END; | |||||
| IF (_table_count = 0) THEN | |||||
| FOR row IN SELECT _indicateur_name::text, ''::text | |||||
| LOOP | |||||
| RETURN NEXT row; | |||||
| END LOOP; | |||||
| END IF; | |||||
| IF (i_option <> 'MONTH' AND i_option <> 'COMP' AND _table_count > 0) THEN | |||||
| FOR row IN | |||||
| SELECT | |||||
| _indicateur_name::text, base.cti_group_concat(CASE WHEN subview.oid IS NOT NULL THEN total_function || '(' || rh.cti_prepare_rapport_get_column(column_name) || ')' ELSE 'NULL::numeric' END) | |||||
| FROM generate_series(1, _maxind) | |||||
| LEFT JOIN | |||||
| ( | |||||
| SELECT * | |||||
| FROM w_VP_indicateurs t_indicateurs | |||||
| WHERE oid IN ( | |||||
| SELECT base.cti_unnest( | |||||
| ARRAY[ | |||||
| indicateur_id, | |||||
| indicateur_associe_1_id, | |||||
| indicateur_associe_2_id, | |||||
| indicateur_associe_3_id, | |||||
| indicateur_associe_4_id, | |||||
| indicateur_associe_5_id, | |||||
| indicateur_associe_6_id, | |||||
| indicateur_associe_7_id, | |||||
| indicateur_associe_8_id, | |||||
| indicateur_associe_9_id, | |||||
| indicateur_associe_10_id | |||||
| ]) | |||||
| FROM rh.t_rapports | |||||
| JOIN w_VP_rapports_rubriques t_rapports_rubriques ON t_rapports.oid = t_rapports_rubriques.rapport_id AND rapport_id = i_rapport_id | |||||
| JOIN w_VP_indicateurs t_indicateurs ON t_rapports_rubriques.indicateur_id = t_indicateurs.oid) | |||||
| ) subview ON generate_series = subview.oid AND subview.table_name = i_table_name | |||||
| LOOP | |||||
| RETURN NEXT row; | |||||
| END LOOP; | |||||
| END IF; | |||||
| IF (i_option = 'MONTH' AND _table_count > 0) THEN | |||||
| FOR row IN | |||||
| SELECT | |||||
| _indicateur_name::text, | |||||
| base.cti_group_concat( | |||||
| CASE WHEN subview.oid IS NOT NULL THEN | |||||
| 'ARRAY[' | |||||
| || '(' || total_function || '(' || rh.cti_prepare_rapport_get_column(column_name) || ')::numeric),' | |||||
| || replace(month_formula, '#SEQ#', '< 1') || ',' | |||||
| || replace(month_formula, '#SEQ#', '= 1') || ',' | |||||
| || replace(month_formula, '#SEQ#', '= 2') || ',' | |||||
| || replace(month_formula, '#SEQ#', '= 3') || ',' | |||||
| || replace(month_formula, '#SEQ#', '= 4') || ',' | |||||
| || replace(month_formula, '#SEQ#', '= 5') || ',' | |||||
| || replace(month_formula, '#SEQ#', '= 6') || ',' | |||||
| || replace(month_formula, '#SEQ#', '= 7') || ',' | |||||
| || replace(month_formula, '#SEQ#', '= 8') || ',' | |||||
| || replace(month_formula, '#SEQ#', '= 9') || ',' | |||||
| || replace(month_formula, '#SEQ#', '= 10') || ',' | |||||
| || replace(month_formula, '#SEQ#', '= 11') || ',' | |||||
| || replace(month_formula, '#SEQ#', '= 12') || '' | |||||
| || ']' | |||||
| ELSE 'ARRAY[NULL::numeric,NULL::numeric,NULL::numeric,NULL::numeric,NULL::numeric,NULL::numeric,NULL::numeric,NULL::numeric,NULL::numeric,NULL::numeric,NULL::numeric,NULL::numeric,NULL::numeric,NULL::numeric]' END) | |||||
| FROM generate_series(1, _maxind) | |||||
| LEFT JOIN | |||||
| ( | |||||
| SELECT *, | |||||
| CASE WHEN column_name ILIKE '%DISTINCT%' | |||||
| THEN total_function || '(DISTINCT CASE WHEN columnby_sequence #SEQ# THEN ' || replace(rh.cti_prepare_rapport_get_column(column_name),'DISTINCT','') || ' ELSE NULL END)' | |||||
| ELSE total_function || '(CASE WHEN columnby_sequence #SEQ# THEN ' || rh.cti_prepare_rapport_get_column(column_name) || ' ELSE NULL END)' END AS month_formula | |||||
| FROM w_VP_indicateurs t_indicateurs | |||||
| WHERE oid IN ( | |||||
| SELECT base.cti_unnest( | |||||
| ARRAY[ | |||||
| indicateur_id, | |||||
| indicateur_associe_1_id, | |||||
| indicateur_associe_2_id, | |||||
| indicateur_associe_3_id, | |||||
| indicateur_associe_4_id, | |||||
| indicateur_associe_5_id, | |||||
| indicateur_associe_6_id, | |||||
| indicateur_associe_7_id, | |||||
| indicateur_associe_8_id, | |||||
| indicateur_associe_9_id, | |||||
| indicateur_associe_10_id | |||||
| ]) | |||||
| FROM rh.t_rapports | |||||
| JOIN w_VP_rapports_rubriques t_rapports_rubriques ON t_rapports.oid = t_rapports_rubriques.rapport_id AND rapport_id = i_rapport_id | |||||
| JOIN w_VP_indicateurs t_indicateurs ON t_rapports_rubriques.indicateur_id = t_indicateurs.oid) | |||||
| ) subview ON generate_series = subview.oid AND subview.table_name = i_table_name | |||||
| LOOP | |||||
| RETURN NEXT row; | |||||
| END LOOP; | |||||
| END IF; | |||||
| IF (i_option = 'COMP' AND _table_count > 0) THEN | |||||
| FOR row IN | |||||
| SELECT | |||||
| _indicateur_name::text, | |||||
| base.cti_group_concat( | |||||
| CASE WHEN subview.oid IS NOT NULL THEN | |||||
| 'ARRAY[' | |||||
| || replace(month_formula, '#SEQ#', '= 1') || '::numeric,' | |||||
| || replace(month_formula, '#SEQ#', '= 2') || '::numeric,' | |||||
| || replace(month_formula, '#SEQ#', '= 3') || '::numeric' | |||||
| || ']' | |||||
| ELSE 'ARRAY[NULL::numeric,NULL::numeric,NULL::numeric]' END) | |||||
| FROM generate_series(1, _maxind) | |||||
| LEFT JOIN | |||||
| ( | |||||
| SELECT *, | |||||
| CASE WHEN column_name ILIKE '%DISTINCT%' | |||||
| THEN total_function || '(DISTINCT CASE WHEN columnby_sequence #SEQ# THEN ' || replace(rh.cti_prepare_rapport_get_column(column_name),'DISTINCT','') || ' ELSE NULL END)' | |||||
| ELSE total_function || '(CASE WHEN columnby_sequence #SEQ# THEN ' || rh.cti_prepare_rapport_get_column(column_name) || ' ELSE NULL END)' END AS month_formula | |||||
| FROM w_VP_indicateurs t_indicateurs | |||||
| WHERE oid IN ( | |||||
| SELECT base.cti_unnest( | |||||
| ARRAY[ | |||||
| indicateur_id, | |||||
| indicateur_associe_1_id, | |||||
| indicateur_associe_2_id, | |||||
| indicateur_associe_3_id, | |||||
| indicateur_associe_4_id, | |||||
| indicateur_associe_5_id, | |||||
| indicateur_associe_6_id, | |||||
| indicateur_associe_7_id, | |||||
| indicateur_associe_8_id, | |||||
| indicateur_associe_9_id, | |||||
| indicateur_associe_10_id | |||||
| ]) | |||||
| FROM rh.t_rapports | |||||
| JOIN w_VP_rapports_rubriques t_rapports_rubriques ON t_rapports.oid = t_rapports_rubriques.rapport_id AND rapport_id = i_rapport_id | |||||
| JOIN w_VP_indicateurs t_indicateurs ON t_rapports_rubriques.indicateur_id = t_indicateurs.oid) | |||||
| ) subview ON generate_series = subview.oid AND subview.table_name = i_table_name | |||||
| LOOP | |||||
| RETURN NEXT row; | |||||
| END LOOP; | |||||
| END IF; | |||||
| RETURN ; | |||||
| END; | |||||
| @ -0,0 +1,158 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: bigint | |||||
| name: i_rapport_id | |||||
| src: | | |||||
| DECLARE | |||||
| BEGIN | |||||
| DROP TABLE IF EXISTS w_VP_rapports_rubriques; | |||||
| CREATE TEMP TABLE w_VP_rapports_rubriques AS | |||||
| SELECT t_rapports_rubriques.*, | |||||
| array_cat(CASE WHEN erase_rapport_indicateur_condition IS DISTINCT FROM '1' THEN t_rapports.rapport_indicateur_condition_id ELSE NULL END,indicateur_condition_id) AS vp_indicateur_condition_id | |||||
| FROM rh.t_rapports_rubriques | |||||
| JOIN rh.t_rapports ON rapport_id = t_rapports.oid | |||||
| WHERE rapport_id = i_rapport_id | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_VP_indicateurs; | |||||
| CREATE TEMP TABLE w_VP_indicateurs AS | |||||
| SELECT t_indicateurs_target.*, | |||||
| numero_rubrique AS vp_numero_rubrique, | |||||
| vp_indicateur_condition_id AS indicateur_condition_id, | |||||
| ''::text AS indicateur_condition_where, | |||||
| row_number() OVER(ORDER BY numero_rubrique, indicateur_id) AS vp_oid | |||||
| FROM rh.t_indicateurs | |||||
| JOIN rh.t_indicateurs t_indicateurs_target ON | |||||
| ( | |||||
| t_indicateurs.total_function = '*CALC' AND | |||||
| t_indicateurs_target.oid = ANY( | |||||
| ARRAY[ | |||||
| t_indicateurs.indicateur_associe_1_id, | |||||
| t_indicateurs.indicateur_associe_2_id, | |||||
| t_indicateurs.indicateur_associe_3_id, | |||||
| t_indicateurs.indicateur_associe_4_id, | |||||
| t_indicateurs.indicateur_associe_5_id, | |||||
| t_indicateurs.indicateur_associe_6_id, | |||||
| t_indicateurs.indicateur_associe_7_id, | |||||
| t_indicateurs.indicateur_associe_8_id, | |||||
| t_indicateurs.indicateur_associe_9_id, | |||||
| t_indicateurs.indicateur_associe_10_id | |||||
| ]) OR | |||||
| t_indicateurs.oid = t_indicateurs_target.oid | |||||
| ) | |||||
| JOIN w_VP_rapports_rubriques t_rapports_rubriques ON | |||||
| t_indicateurs.oid = t_rapports_rubriques.indicateur_id | |||||
| ORDER BY numero_rubrique, indicateur_id | |||||
| ; | |||||
| UPDATE w_VP_rapports_rubriques | |||||
| SET indicateur_id = w_VP_indicateurs.vp_oid | |||||
| FROM w_VP_indicateurs | |||||
| WHERE w_VP_rapports_rubriques.numero_rubrique = w_VP_indicateurs.vp_numero_rubrique AND | |||||
| w_VP_rapports_rubriques.indicateur_id = w_VP_indicateurs.oid | |||||
| ; | |||||
| UPDATE w_VP_indicateurs | |||||
| SET indicateur_associe_1_id = w_VP_indicateurs_f.vp_oid | |||||
| FROM w_VP_indicateurs w_VP_indicateurs_f | |||||
| WHERE w_VP_indicateurs.indicateur_associe_1_id = w_VP_indicateurs_f.oid AND | |||||
| w_VP_indicateurs.vp_numero_rubrique = w_VP_indicateurs_f.vp_numero_rubrique | |||||
| ; | |||||
| UPDATE w_VP_indicateurs | |||||
| SET indicateur_associe_2_id = w_VP_indicateurs_f.vp_oid | |||||
| FROM w_VP_indicateurs w_VP_indicateurs_f | |||||
| WHERE w_VP_indicateurs.indicateur_associe_2_id = w_VP_indicateurs_f.oid AND | |||||
| w_VP_indicateurs.vp_numero_rubrique = w_VP_indicateurs_f.vp_numero_rubrique | |||||
| ; | |||||
| UPDATE w_VP_indicateurs | |||||
| SET indicateur_associe_3_id = w_VP_indicateurs_f.vp_oid | |||||
| FROM w_VP_indicateurs w_VP_indicateurs_f | |||||
| WHERE w_VP_indicateurs.indicateur_associe_3_id = w_VP_indicateurs_f.oid AND | |||||
| w_VP_indicateurs.vp_numero_rubrique = w_VP_indicateurs_f.vp_numero_rubrique | |||||
| ; | |||||
| UPDATE w_VP_indicateurs | |||||
| SET indicateur_associe_4_id = w_VP_indicateurs_f.vp_oid | |||||
| FROM w_VP_indicateurs w_VP_indicateurs_f | |||||
| WHERE w_VP_indicateurs.indicateur_associe_4_id = w_VP_indicateurs_f.oid AND | |||||
| w_VP_indicateurs.vp_numero_rubrique = w_VP_indicateurs_f.vp_numero_rubrique | |||||
| ; | |||||
| UPDATE w_VP_indicateurs | |||||
| SET indicateur_associe_5_id = w_VP_indicateurs_f.vp_oid | |||||
| FROM w_VP_indicateurs w_VP_indicateurs_f | |||||
| WHERE w_VP_indicateurs.indicateur_associe_5_id = w_VP_indicateurs_f.oid AND | |||||
| w_VP_indicateurs.vp_numero_rubrique = w_VP_indicateurs_f.vp_numero_rubrique | |||||
| ; | |||||
| UPDATE w_VP_indicateurs | |||||
| SET indicateur_associe_6_id = w_VP_indicateurs_f.vp_oid | |||||
| FROM w_VP_indicateurs w_VP_indicateurs_f | |||||
| WHERE w_VP_indicateurs.indicateur_associe_6_id = w_VP_indicateurs_f.oid AND | |||||
| w_VP_indicateurs.vp_numero_rubrique = w_VP_indicateurs_f.vp_numero_rubrique | |||||
| ; | |||||
| UPDATE w_VP_indicateurs | |||||
| SET indicateur_associe_7_id = w_VP_indicateurs_f.vp_oid | |||||
| FROM w_VP_indicateurs w_VP_indicateurs_f | |||||
| WHERE w_VP_indicateurs.indicateur_associe_7_id = w_VP_indicateurs_f.oid AND | |||||
| w_VP_indicateurs.vp_numero_rubrique = w_VP_indicateurs_f.vp_numero_rubrique | |||||
| ; | |||||
| UPDATE w_VP_indicateurs | |||||
| SET indicateur_associe_8_id = w_VP_indicateurs_f.vp_oid | |||||
| FROM w_VP_indicateurs w_VP_indicateurs_f | |||||
| WHERE w_VP_indicateurs.indicateur_associe_8_id = w_VP_indicateurs_f.oid AND | |||||
| w_VP_indicateurs.vp_numero_rubrique = w_VP_indicateurs_f.vp_numero_rubrique | |||||
| ; | |||||
| UPDATE w_VP_indicateurs | |||||
| SET indicateur_associe_9_id = w_VP_indicateurs_f.vp_oid | |||||
| FROM w_VP_indicateurs w_VP_indicateurs_f | |||||
| WHERE w_VP_indicateurs.indicateur_associe_9_id = w_VP_indicateurs_f.oid AND | |||||
| w_VP_indicateurs.vp_numero_rubrique = w_VP_indicateurs_f.vp_numero_rubrique | |||||
| ; | |||||
| UPDATE w_VP_indicateurs | |||||
| SET indicateur_associe_10_id = w_VP_indicateurs_f.vp_oid | |||||
| FROM w_VP_indicateurs w_VP_indicateurs_f | |||||
| WHERE w_VP_indicateurs.indicateur_associe_10_id = w_VP_indicateurs_f.oid AND | |||||
| w_VP_indicateurs.vp_numero_rubrique = w_VP_indicateurs_f.vp_numero_rubrique | |||||
| ; | |||||
| UPDATE w_VP_indicateurs SET | |||||
| oid = vp_oid | |||||
| ; | |||||
| UPDATE w_VP_indicateurs SET | |||||
| indicateur_condition_where = condition_where | |||||
| FROM | |||||
| ( | |||||
| SELECT w_VP_indicateurs.oid, array_to_string(array_agg('('||COALESCE(t_indicateur_condition_table_spec.check_where,t_indicateur_condition_table.check_where)||')'),' AND ') AS condition_where | |||||
| FROM w_VP_indicateurs | |||||
| JOIN rh.t_indicateur_condition ON t_indicateur_condition.oid = ANY(indicateur_condition_id) | |||||
| JOIN rh.t_indicateur_condition_table ON | |||||
| t_indicateur_condition_table.indicateur_condition_id = t_indicateur_condition.oid AND | |||||
| t_indicateur_condition_table.table_name = '' | |||||
| LEFT JOIN rh.t_indicateur_condition_table t_indicateur_condition_table_spec ON | |||||
| t_indicateur_condition_table_spec.indicateur_condition_id = t_indicateur_condition.oid AND | |||||
| t_indicateur_condition_table_spec.table_name = w_VP_indicateurs.table_name | |||||
| WHERE COALESCE(t_indicateur_condition_table_spec.check_where,t_indicateur_condition_table.check_where) <> '' | |||||
| GROUP BY 1 | |||||
| ) subview | |||||
| WHERE w_VP_indicateurs.oid = subview.oid | |||||
| ; | |||||
| UPDATE w_VP_indicateurs | |||||
| SET column_name = | |||||
| CASE WHEN column_name ILIKE 'DISTINCT%' THEN 'DISTINCT ' ELSE '' END || | |||||
| 'CASE WHEN ' || indicateur_condition_where || | |||||
| ' THEN ' || CASE WHEN column_name ILIKE 'DISTINCT%' THEN substr(column_name,9) ELSE column_name END || | |||||
| ' ELSE ' || | |||||
| CASE WHEN total_function = 'SUM' THEN '0' ELSE 'NULL' END || ' END' | |||||
| WHERE indicateur_condition_where <> '' AND | |||||
| total_function In('SUM','COUNT') | |||||
| ; | |||||
| RETURN 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,65 @@ | |||||
| return: SETOF record | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: bigint | |||||
| name: i_rapport_id | |||||
| src: | | |||||
| DECLARE | |||||
| sqlcmd text; | |||||
| temp_cursor refcursor; | |||||
| _oid integer; | |||||
| _maxind integer; | |||||
| row RECORD; | |||||
| BEGIN | |||||
| -- Selection des rubriques et ajout des conditions | |||||
| PERFORM rh.cti_prepare_rapport_init(i_rapport_id) | |||||
| ; | |||||
| FOR row IN | |||||
| SELECT * FROM rh.cti_prepare_rapport_indicateurs(i_rapport_id, 'v_contrats_mois_1', 'MONTH') AS (name text, value text) | |||||
| UNION | |||||
| SELECT * FROM rh.cti_prepare_rapport_indicateurs(i_rapport_id, 'v_historique_paie_1', 'MONTH') AS (name text, value text) | |||||
| UNION | |||||
| SELECT * FROM rh.cti_prepare_rapport_indicateurs(i_rapport_id, 'v_arrets_travail_mois_1', 'MONTH') AS (name text, value text) | |||||
| UNION | |||||
| SELECT * FROM rh.cti_prepare_rapport_indicateurs(i_rapport_id, 'PLANNING_MOUVEMENT', 'MONTH') AS (name text, value text) | |||||
| UNION | |||||
| SELECT 'RUBRIQUES_RAPPORT', | |||||
| base.cti_group_concat( | |||||
| 'ARRAY[' || | |||||
| rh.cti_prepare_rapport_calc_indicator(rh.cti_prepare_rapport_get_column(column_name), table_name, 1, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(rh.cti_prepare_rapport_get_column(column_name), table_name, 2, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(rh.cti_prepare_rapport_get_column(column_name), table_name, 3, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(rh.cti_prepare_rapport_get_column(column_name), table_name, 4, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(rh.cti_prepare_rapport_get_column(column_name), table_name, 5, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(rh.cti_prepare_rapport_get_column(column_name), table_name, 6, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(rh.cti_prepare_rapport_get_column(column_name), table_name, 7, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(rh.cti_prepare_rapport_get_column(column_name), table_name, 8, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(rh.cti_prepare_rapport_get_column(column_name), table_name, 9, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(rh.cti_prepare_rapport_get_column(column_name), table_name, 10, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(rh.cti_prepare_rapport_get_column(column_name), table_name, 11, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(rh.cti_prepare_rapport_get_column(column_name), table_name, 12, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(rh.cti_prepare_rapport_get_column(column_name), table_name, 13, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) || ', ' || | |||||
| rh.cti_prepare_rapport_calc_indicator(rh.cti_prepare_rapport_get_column(column_name), table_name, 14, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id, indicateur_associe_6_id, indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id) | |||||
| || ']' | |||||
| ) | |||||
| FROM (SELECT * FROM w_VP_rapports_rubriques t_rapports_rubriques | |||||
| JOIN w_VP_indicateurs t_indicateurs ON t_rapports_rubriques.indicateur_id = t_indicateurs.oid | |||||
| WHERE rapport_id = i_rapport_id ORDER BY numero_rubrique | |||||
| ) subview | |||||
| LOOP | |||||
| RETURN NEXT row; | |||||
| END LOOP; | |||||
| RETURN ; | |||||
| END; | |||||
| @ -0,0 +1,83 @@ | |||||
| return: SETOF record | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: bigint | |||||
| name: i_rapport_id | |||||
| src: | | |||||
| DECLARE | |||||
| sqlcmd text; | |||||
| temp_cursor refcursor; | |||||
| _oid integer; | |||||
| _maxind integer; | |||||
| row RECORD; | |||||
| BEGIN | |||||
| -- Selection des rubriques et ajout des conditions | |||||
| PERFORM rh.cti_prepare_rapport_init(i_rapport_id) | |||||
| ; | |||||
| FOR row IN | |||||
| SELECT * FROM rh.cti_prepare_rapport_indicateurs(i_rapport_id, 'v_contrats_mois_1', '') AS (name text, value text) | |||||
| UNION | |||||
| SELECT * FROM rh.cti_prepare_rapport_indicateurs(i_rapport_id, 'v_historique_paie_1', '') AS (name text, value text) | |||||
| UNION | |||||
| SELECT * FROM rh.cti_prepare_rapport_indicateurs(i_rapport_id, 'v_arrets_travail_mois_1', '') AS (name text, value text) | |||||
| UNION | |||||
| SELECT * FROM rh.cti_prepare_rapport_indicateurs(i_rapport_id, 'PLANNING_MOUVEMENT', '') AS (name text, value text) | |||||
| UNION | |||||
| SELECT * FROM rh.cti_prepare_rapport_indicateurs(i_rapport_id, 'CALENDRIER', '') AS (name text, value text) | |||||
| UNION | |||||
| SELECT 'RUBRIQUES_RAPPORT', | |||||
| base.cti_group_concat(rh.cti_prepare_rapport_calc_indicator(column_name, table_name, 0, indicateur_id, indicateur_associe_1_id , indicateur_associe_2_id , indicateur_associe_3_id ,indicateur_associe_4_id ,indicateur_associe_5_id ,indicateur_associe_6_id ,indicateur_associe_7_id, indicateur_associe_8_id, indicateur_associe_9_id, indicateur_associe_10_id)) | |||||
| FROM (SELECT * FROM w_VP_rapports_rubriques t_rapports_rubriques | |||||
| JOIN w_VP_indicateurs t_indicateurs ON t_rapports_rubriques.indicateur_id = t_indicateurs.oid | |||||
| WHERE rapport_id = i_rapport_id ORDER BY numero_rubrique | |||||
| ) subview | |||||
| UNION | |||||
| SELECT 'IC' || numero_rubrique, t_indicateurs.oid::text FROM w_VP_rapports_rubriques t_rapports_rubriques, w_VP_indicateurs t_indicateurs | |||||
| WHERE t_rapports_rubriques.rapport_id = i_rapport_id AND t_rapports_rubriques.indicateur_id = t_indicateurs.oid | |||||
| UNION | |||||
| SELECT 'IH' || numero_rubrique, CASE WHEN t_rapports_rubriques.entete <> '' THEN t_rapports_rubriques.entete ELSE t_indicateurs.entete END FROM w_VP_rapports_rubriques t_rapports_rubriques, w_VP_indicateurs t_indicateurs | |||||
| WHERE t_rapports_rubriques.rapport_id = i_rapport_id AND t_rapports_rubriques.indicateur_id = t_indicateurs.oid | |||||
| UNION | |||||
| SELECT 'IW' || numero_rubrique, | |||||
| CASE | |||||
| WHEN t_indicateurs.table_name = 'SEP' THEN '2' | |||||
| WHEN t_rapports_rubriques.width > 0 THEN t_rapports_rubriques.width::text | |||||
| WHEN t_indicateurs.width > 0 THEN t_indicateurs.width::text | |||||
| ELSE '80' | |||||
| END | |||||
| FROM w_VP_rapports_rubriques t_rapports_rubriques, w_VP_indicateurs t_indicateurs | |||||
| WHERE t_rapports_rubriques.rapport_id = i_rapport_id AND t_rapports_rubriques.indicateur_id = t_indicateurs.oid | |||||
| UNION | |||||
| SELECT 'IO' || numero_rubrique, | |||||
| CASE WHEN t_rapports_rubriques.output_format <> '' THEN t_rapports_rubriques.output_format | |||||
| WHEN t_indicateurs.output_format <> '' THEN t_indicateurs.output_format | |||||
| ELSE '#' END | |||||
| FROM w_VP_rapports_rubriques t_rapports_rubriques, w_VP_indicateurs t_indicateurs | |||||
| WHERE t_rapports_rubriques.rapport_id = i_rapport_id AND t_rapports_rubriques.indicateur_id = t_indicateurs.oid | |||||
| UNION | |||||
| SELECT 'IT' || numero_rubrique, t_indicateurs.table_name::text FROM w_VP_rapports_rubriques t_rapports_rubriques, w_VP_indicateurs t_indicateurs | |||||
| WHERE t_rapports_rubriques.rapport_id = i_rapport_id AND t_rapports_rubriques.indicateur_id = t_indicateurs.oid | |||||
| LOOP | |||||
| RETURN NEXT row; | |||||
| END LOOP; | |||||
| RETURN ; | |||||
| END; | |||||
| @ -0,0 +1,120 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| src: | | |||||
| DECLARE | |||||
| _sqlcmd TEXT; | |||||
| result TEXT; | |||||
| BEGIN | |||||
| -- Le nom_naissance dans certains prestataires est récupéré sous le format NULL pour indiquer la non saisie de ce champ | |||||
| -- Historiquement dans les prestataires, le nom_naissance non renseigné était enregistré au format chaîne vide ('') | |||||
| -- Les requêtes suivantes et la table p_personne attendent que la colonne nom_naissance soit au format chaîne lorsque vide | |||||
| UPDATE rh.p_salaries | |||||
| SET nom_naissance = '' | |||||
| WHERE nom_naissance IS NULL | |||||
| ; | |||||
| -- Extraction par nom | |||||
| DROP TABLE IF EXISTS w_fusion_salaries; | |||||
| CREATE TEMP TABLE w_fusion_salaries AS | |||||
| SELECT *, | |||||
| '0'::text AS origine, | |||||
| base.cti_soundex_nom(nom) AS nom_soundex, | |||||
| base.cti_soundex_prenom(prenom) AS prenom_soundex | |||||
| FROM rh.p_salaries | |||||
| WHERE nom <> '' AND | |||||
| (nom_naissance = nom OR nom_naissance = '') AND | |||||
| oid IN (SELECT salarie_id FROM rh.p_contrats); | |||||
| -- Extraction par nom de naissance | |||||
| INSERT INTO w_fusion_salaries | |||||
| SELECT *, | |||||
| '1'::text AS origine, | |||||
| base.cti_soundex_nom(nom_naissance) AS nom_soundex, | |||||
| base.cti_soundex_prenom(prenom) AS prenom_soundex | |||||
| FROM rh.p_salaries | |||||
| WHERE nom <> '' AND | |||||
| nom_naissance <> '' AND | |||||
| nom_naissance <> nom AND | |||||
| oid IN (SELECT salarie_id FROM rh.p_contrats); | |||||
| -- Table temporaire des personnes avec | |||||
| -- regroupement par nom/nom_naissance, prénom, date_naissance, sexe | |||||
| -- identifiant md5 (clé de la personne) utilisant nom de naissance | |||||
| DROP TABLE IF EXISTS w_personne; | |||||
| CREATE TEMP TABLE w_personne AS | |||||
| SELECT COALESCE(salarie_courant_id, w_fusion_salaries.oid) AS salarie_courant_id, | |||||
| md5( | |||||
| MAX( | |||||
| CASE WHEN w_fusion_salaries.oid = salarie_courant_id OR subview.salarie_courant_id IS NULL | |||||
| THEN base.cti_soundex_nom(CASE WHEN nom_naissance <> '' THEN nom_naissance ELSE nom END) | |||||
| || base.cti_soundex_prenom(prenom) | |||||
| || w_fusion_salaries.date_naissance | |||||
| || w_fusion_salaries.sexe | |||||
| ELSE NULL END) | |||||
| ) AS cle_interne, | |||||
| MAX(CASE WHEN w_fusion_salaries.oid = salarie_courant_id OR subview.salarie_courant_id IS NULL THEN w_fusion_salaries.nom ELSE NULL END) AS nom, | |||||
| MAX(CASE WHEN w_fusion_salaries.oid = salarie_courant_id OR subview.salarie_courant_id IS NULL THEN w_fusion_salaries.nom_naissance ELSE NULL END) AS nom_naissance, | |||||
| MAX(CASE WHEN w_fusion_salaries.oid = salarie_courant_id OR subview.salarie_courant_id IS NULL THEN w_fusion_salaries.prenom ELSE NULL END) AS prenom, | |||||
| MAX(w_fusion_salaries.date_naissance) AS date_naissance, | |||||
| MAX(w_fusion_salaries.sexe) AS sexe, | |||||
| MAX(CASE WHEN w_fusion_salaries.oid = salarie_courant_id OR subview.salarie_courant_id IS NULL THEN w_fusion_salaries.matricule ELSE NULL END) AS matricule_courant, | |||||
| MAX( | |||||
| CASE | |||||
| WHEN w_fusion_salaries.oid = subview.salarie_courant_id THEN salarie_array_id | |||||
| WHEN subview.salarie_courant_id IS NULL THEN Array[w_fusion_salaries.oid] | |||||
| ELSE NULL END | |||||
| ) AS salarie_array_id | |||||
| FROM w_fusion_salaries | |||||
| LEFT JOIN | |||||
| ( | |||||
| SELECT | |||||
| nom_soundex, | |||||
| prenom_soundex, | |||||
| date_naissance, | |||||
| sexe, | |||||
| count(*) AS nb, | |||||
| (MAX(ARRAY[date_debut::text,oid::text]))[2]::bigint AS salarie_courant_id, | |||||
| base.cti_array_accum(w_fusion_salaries.oid) AS salarie_array_id | |||||
| FROM w_fusion_salaries | |||||
| GROUP BY 1,2,3,4 | |||||
| HAVING count(*) > 1 | |||||
| ) subview ON | |||||
| w_fusion_salaries.oid = ANY(salarie_array_id) | |||||
| GROUP BY 1 | |||||
| ; | |||||
| -- Mise à jour table p_personnes | |||||
| UPDATE rh.p_personne SET | |||||
| nom = w_personne.nom, | |||||
| nom_naissance = w_personne.nom_naissance, | |||||
| prenom = w_personne.prenom, | |||||
| salarie_courant_id = w_personne.salarie_courant_id, | |||||
| salarie_array_id = w_personne.salarie_array_id, | |||||
| matricule_courant = w_personne.matricule_courant | |||||
| FROM w_personne | |||||
| WHERE p_personne.cle_interne = w_personne.cle_interne AND | |||||
| ( | |||||
| p_personne.nom IS DISTINCT FROM w_personne.nom OR | |||||
| p_personne.nom_naissance IS DISTINCT FROM w_personne.nom_naissance OR | |||||
| p_personne.prenom IS DISTINCT FROM w_personne.prenom OR | |||||
| p_personne.salarie_courant_id IS DISTINCT FROM w_personne.salarie_courant_id OR | |||||
| p_personne.salarie_array_id IS DISTINCT FROM w_personne.salarie_array_id OR | |||||
| p_personne.matricule_courant IS DISTINCT FROM w_personne.matricule_courant | |||||
| ) | |||||
| ; | |||||
| INSERT INTO rh.p_personne (cle_interne, nom, nom_naissance, prenom, date_naissance, sexe, salarie_courant_id, salarie_array_id, matricule_courant) | |||||
| SELECT cle_interne, nom, nom_naissance, prenom, date_naissance, sexe, salarie_courant_id, salarie_array_id, matricule_courant | |||||
| FROm w_personne | |||||
| WHERE cle_interne NOT IN | |||||
| (SELECT cle_interne FROM rh.p_personne) | |||||
| ; | |||||
| -- Mise à jour table p_salaries | |||||
| UPDATE rh.p_salaries SET | |||||
| personne_id = p_personne.oid | |||||
| FROM rh.p_personne | |||||
| WHERE p_salaries.oid = ANY(p_personne.salarie_array_id) | |||||
| ; | |||||
| RETURN 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,332 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| src: | | |||||
| DECLARE | |||||
| result TEXT; | |||||
| _module_pmsimco TEXT; | |||||
| BEGIN | |||||
| RAISE NOTICE '%' , 'Initialisation poles'; | |||||
| -- Contenu table | |||||
| INSERT INTO base.t_pole (oid, code, texte, texte_court) | |||||
| SELECT 0, '**', 'Non renseigné', 'Non renseigné' | |||||
| WHERE 0 NOT IN (SELECT oid FROM base.t_pole); | |||||
| -- replication dans rh | |||||
| TRUNCATE rh.t_pole; | |||||
| INSERT INTO rh.t_pole (oid, code, texte, texte_court, section_id, section_code, section_texte) | |||||
| SELECT oid, code, texte, texte_court, section_id, section_code, section_texte | |||||
| FROM base.t_pole | |||||
| ; | |||||
| -- Traduction des règles en oid | |||||
| RAISE NOTICE '%' , 'Application des regles. Traduction en oid'; | |||||
| DROP TABLE IF EXISTS w_pole_rule; | |||||
| CREATE TEMP TABLE w_pole_rule AS | |||||
| SELECT | |||||
| t_pole_rule.oid, | |||||
| pole_id, | |||||
| priorite, | |||||
| CASE WHEN liste_finess <> '' THEN '1' ELSE '0' END AS a_liste_finess, | |||||
| string_to_array(translate(liste_finess,'*,','% '),' ') AS liste_finess, | |||||
| NULL::bigint[] AS liste_finess_id , | |||||
| CASE WHEN liste_etablissement <> '' THEN '1' ELSE '0' END AS a_liste_etablissement, | |||||
| string_to_array(translate(liste_etablissement,'*,','% '),' ') AS liste_etablissement, | |||||
| NULL::bigint[] AS liste_etablissement_id , | |||||
| CASE WHEN liste_service <> '' THEN '1' ELSE '0' END AS a_liste_service, | |||||
| string_to_array(translate(liste_service,'*,','% '),' ') AS liste_service, | |||||
| NULL::bigint[] AS liste_service_id , | |||||
| CASE WHEN liste_specialite <> '' THEN '1' ELSE '0' END AS a_liste_specialite, | |||||
| string_to_array(translate(liste_specialite,'*,','% '),' ') AS liste_specialite, | |||||
| NULL::bigint[] AS liste_specialite_id , | |||||
| CASE WHEN liste_section_analytique <> '' THEN '1' ELSE '0' END AS a_liste_section_analytique, | |||||
| string_to_array(translate(liste_section_analytique,'*,','% '),' ') AS liste_section_analytique, | |||||
| NULL::bigint[] AS liste_section_analytique_id , | |||||
| CASE WHEN liste_section_analytique_paie <> '' THEN '1' ELSE '0' END AS a_liste_section_analytique_paie, | |||||
| string_to_array(translate(liste_section_analytique_paie,'*,','% '),' ') AS liste_section_analytique_paie, | |||||
| NULL::bigint[] AS liste_section_analytique_paie_id , | |||||
| CASE WHEN liste_qualification <> '' THEN '1' ELSE '0' END AS a_liste_qualification, | |||||
| string_to_array(translate(liste_qualification,'*,','% '),' ') AS liste_qualification, | |||||
| NULL::bigint[] AS liste_qualification_id , | |||||
| CASE WHEN liste_grille <> '' THEN '1' ELSE '0' END AS a_liste_grille, | |||||
| string_to_array(translate(liste_grille,'*,','% '),' ') AS liste_grille, | |||||
| NULL::bigint[] AS liste_grille_id , | |||||
| CASE WHEN liste_code_emploi <> '' THEN '1' ELSE '0' END AS a_liste_code_emploi, | |||||
| string_to_array(translate(liste_code_emploi,'*,','% '),' ') AS liste_code_emploi, | |||||
| NULL::bigint[] AS liste_code_emploi_id , | |||||
| CASE WHEN liste_categorie_socio_professionnelle <> '' THEN '1' ELSE '0' END AS a_liste_categorie_socio_professionnelle, | |||||
| string_to_array(translate(liste_categorie_socio_professionnelle,'*,','% '),' ') AS liste_categorie_socio_professionnelle, | |||||
| NULL::bigint[] AS liste_categorie_socio_professionnelle_id , | |||||
| CASE WHEN liste_service_planning <> '' THEN '1' ELSE '0' END AS a_liste_service_planning, | |||||
| string_to_array(translate(liste_service_planning,'*,','% '),' ') AS liste_service_planning, | |||||
| NULL::bigint[] AS liste_service_planning_id | |||||
| FROM rh.t_pole_rule | |||||
| JOIN rh.t_pole ON pole_id = t_pole.oid | |||||
| ORDER BY priorite, pole_id; | |||||
| DELETE FROM w_pole_rule | |||||
| WHERE | |||||
| (a_liste_finess::int + | |||||
| a_liste_etablissement::int + | |||||
| a_liste_service::int + | |||||
| a_liste_specialite::int + | |||||
| a_liste_section_analytique::int + | |||||
| a_liste_section_analytique_paie::int + | |||||
| a_liste_qualification::int + | |||||
| a_liste_grille::int + | |||||
| a_liste_code_emploi::int + | |||||
| a_liste_categorie_socio_professionnelle::int + | |||||
| a_liste_service_planning::int) = 0 | |||||
| ; | |||||
| UPDATE w_pole_rule | |||||
| SET liste_finess_id = (SELECT base.cti_group_array3(oid) FROM base.t_finess WHERE oid <> 0 AND code LIKE ANY (liste_finess)) | |||||
| WHERE a_liste_finess = '1'; | |||||
| UPDATE w_pole_rule | |||||
| SET liste_etablissement_id = (SELECT base.cti_group_array3(oid) FROM rh.t_etablissements WHERE oid <> 0 AND code LIKE ANY (liste_etablissement)) | |||||
| WHERE a_liste_etablissement = '1'; | |||||
| UPDATE w_pole_rule | |||||
| SET liste_service_id = (SELECT base.cti_group_array3(oid) FROM rh.t_services WHERE oid <> 0 AND code LIKE ANY (liste_service)) | |||||
| WHERE a_liste_service = '1'; | |||||
| UPDATE w_pole_rule | |||||
| SET liste_specialite_id = (SELECT base.cti_group_array3(oid) FROM rh.t_specialites WHERE oid <> 0 AND code LIKE ANY (liste_specialite)) | |||||
| WHERE a_liste_specialite = '1'; | |||||
| UPDATE w_pole_rule | |||||
| SET liste_section_analytique_id = (SELECT base.cti_group_array3(oid) FROM rh.t_sections_analytiques WHERE oid <> 0 AND code LIKE ANY (liste_section_analytique)) | |||||
| WHERE a_liste_section_analytique = '1'; | |||||
| UPDATE w_pole_rule | |||||
| SET liste_section_analytique_paie_id = (SELECT base.cti_group_array3(oid) FROM rh.t_sections_analytiques_paie WHERE oid <> 0 AND code LIKE ANY (liste_section_analytique_paie)) | |||||
| WHERE a_liste_section_analytique_paie = '1'; | |||||
| UPDATE w_pole_rule | |||||
| SET liste_qualification_id = (SELECT base.cti_group_array3(oid) FROM rh.t_qualifications WHERE oid <> 0 AND code LIKE ANY (liste_qualification)) | |||||
| WHERE a_liste_qualification = '1'; | |||||
| UPDATE w_pole_rule | |||||
| SET liste_grille_id = (SELECT base.cti_group_array3(oid) FROM rh.t_grilles WHERE oid <> 0 AND code LIKE ANY (liste_grille)) | |||||
| WHERE a_liste_grille = '1'; | |||||
| UPDATE w_pole_rule | |||||
| SET liste_code_emploi_id = (SELECT base.cti_group_array3(oid) FROM rh.t_codes_emploi WHERE oid <> 0 AND code LIKE ANY (liste_code_emploi)) | |||||
| WHERE a_liste_code_emploi = '1'; | |||||
| UPDATE w_pole_rule | |||||
| SET liste_categorie_socio_professionnelle_id = (SELECT base.cti_group_array3(oid) FROM rh.t_categories_socio_professionnelle WHERE oid <> 0 AND code LIKE ANY (liste_categorie_socio_professionnelle)) | |||||
| WHERE a_liste_categorie_socio_professionnelle = '1'; | |||||
| UPDATE w_pole_rule | |||||
| SET liste_service_planning_id = (SELECT base.cti_group_array3(oid) FROM rh.t_planning_service WHERE oid <> 0 AND code LIKE ANY (liste_service_planning)) | |||||
| WHERE a_liste_service_planning = '1'; | |||||
| RAISE NOTICE '%' , 'Application des regles.' | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_profil_contrat_mois | |||||
| ; | |||||
| CREATE TEMP TABLE w_profil_contrat_mois AS | |||||
| SELECT | |||||
| p_profil_contrat_mois.oid, | |||||
| COALESCE(MIN(priorite),999999999) AS pole_priorite, | |||||
| COALESCE((MIN(ARRAY[priorite,w_pole_rule.pole_id]))[2],0) AS pole_id | |||||
| FROM rh.p_profil_contrat_mois | |||||
| JOIN rh.p_contrats_mois ON p_profil_contrat_mois.contrat_mois_id = p_contrats_mois.oid | |||||
| JOIN rh.t_etablissements ON t_etablissements.oid = p_contrats_mois.etablissement_id | |||||
| JOIN rh.p_profils ON p_profil_contrat_mois.profil_id = p_profils.oid | |||||
| JOIN w_pole_rule ON | |||||
| (a_liste_finess = '0' OR finess_id = ANY (liste_finess_id)) AND | |||||
| (a_liste_etablissement = '0' OR p_contrats_mois.etablissement_id = ANY (liste_etablissement_id)) AND | |||||
| (a_liste_service = '0' OR p_profils.service_id = ANY (liste_service_id)) AND | |||||
| (a_liste_specialite = '0' OR p_profils.specialite_id = ANY (liste_specialite_id)) AND | |||||
| (a_liste_qualification = '0' OR p_profils.qualification_id = ANY (liste_qualification_id)) AND | |||||
| (a_liste_section_analytique = '0' OR p_profils.section_analytique_id = ANY (liste_section_analytique_id)) AND | |||||
| (a_liste_section_analytique_paie = '0' OR p_profils.section_analytique_paie_id = ANY (liste_section_analytique_paie_id)) AND | |||||
| (a_liste_grille = '0' OR p_profils.grille_id = ANY (liste_grille_id)) AND | |||||
| (a_liste_code_emploi = '0' OR p_profils.code_emploi_id = ANY (liste_code_emploi_id)) AND | |||||
| (a_liste_categorie_socio_professionnelle = '0' OR p_profils.categorie_socio_professionnelle_id = ANY (liste_categorie_socio_professionnelle_id)) | |||||
| -- Pas de service planning. | |||||
| WHERE | |||||
| (a_liste_finess::int + | |||||
| a_liste_etablissement::int + | |||||
| a_liste_service::int + | |||||
| a_liste_specialite::int + | |||||
| a_liste_section_analytique::int + | |||||
| a_liste_section_analytique_paie::int + | |||||
| a_liste_qualification::int + | |||||
| a_liste_grille::int + | |||||
| a_liste_code_emploi::int + | |||||
| a_liste_categorie_socio_professionnelle::int) > 0 OR | |||||
| a_liste_service_planning::int = 0 | |||||
| GROUP BY 1 | |||||
| ORDER BY 2,1 | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_contrats_mois | |||||
| ; | |||||
| CREATE TEMP TABLE w_contrats_mois AS | |||||
| SELECT | |||||
| p_contrats_mois.oid, | |||||
| COALESCE(MIN(priorite),999999999) AS pole_priorite, | |||||
| COALESCE((MIN(ARRAY[priorite,w_pole_rule.pole_id]))[2],0) AS pole_id | |||||
| FROM rh.p_contrats_mois | |||||
| JOIN rh.t_etablissements ON t_etablissements.oid = p_contrats_mois.etablissement_id | |||||
| JOIN rh.p_profils ON p_contrats_mois.profil_id = p_profils.oid | |||||
| JOIN w_pole_rule ON | |||||
| (a_liste_finess = '0' OR finess_id = ANY (liste_finess_id)) AND | |||||
| (a_liste_etablissement = '0' OR p_contrats_mois.etablissement_id = ANY (liste_etablissement_id)) AND | |||||
| (a_liste_service = '0' OR p_profils.service_id = ANY (liste_service_id)) AND | |||||
| (a_liste_specialite = '0' OR p_profils.specialite_id = ANY (liste_specialite_id)) AND | |||||
| (a_liste_qualification = '0' OR p_profils.qualification_id = ANY (liste_qualification_id)) AND | |||||
| (a_liste_section_analytique = '0' OR p_profils.section_analytique_id = ANY (liste_section_analytique_id)) AND | |||||
| (a_liste_section_analytique_paie = '0' OR p_profils.section_analytique_paie_id = ANY (liste_section_analytique_paie_id)) AND | |||||
| (a_liste_grille = '0' OR p_profils.grille_id = ANY (liste_grille_id)) AND | |||||
| (a_liste_code_emploi = '0' OR p_profils.code_emploi_id = ANY (liste_code_emploi_id)) AND | |||||
| (a_liste_categorie_socio_professionnelle = '0' OR p_profils.categorie_socio_professionnelle_id = ANY (liste_categorie_socio_professionnelle_id)) | |||||
| -- Pas de service planning. | |||||
| GROUP BY 1 | |||||
| ORDER BY 1 | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_contrats | |||||
| ; | |||||
| CREATE TEMP TABLE w_contrats AS | |||||
| SELECT p_contrats.oid, | |||||
| COALESCE(MIN(priorite),999999999) AS pole_priorite, | |||||
| COALESCE((MIN(ARRAY[priorite,w_pole_rule.pole_id]))[2],0) AS pole_id | |||||
| FROM rh.p_contrats | |||||
| LEFT JOIN rh.t_etablissements ON t_etablissements.oid = etablissement_id | |||||
| LEFT JOIN rh.p_profils ON p_contrats.profil_id = p_profils.oid | |||||
| JOIN w_pole_rule ON | |||||
| (a_liste_finess = '0' OR finess_id = ANY (liste_finess_id)) AND | |||||
| (a_liste_etablissement = '0' OR p_contrats.etablissement_id = ANY (liste_etablissement_id)) AND | |||||
| (a_liste_service = '0' OR p_profils.service_id = ANY (liste_service_id)) AND | |||||
| (a_liste_specialite = '0' OR p_profils.specialite_id = ANY (liste_specialite_id)) AND | |||||
| (a_liste_qualification = '0' OR p_profils.qualification_id = ANY (liste_qualification_id)) AND | |||||
| (a_liste_section_analytique = '0' OR p_profils.section_analytique_id = ANY (liste_section_analytique_id)) AND | |||||
| (a_liste_section_analytique_paie = '0' OR p_profils.section_analytique_paie_id = ANY (liste_section_analytique_paie_id)) AND | |||||
| (a_liste_grille = '0' OR p_profils.grille_id = ANY (liste_grille_id)) AND | |||||
| (a_liste_code_emploi = '0' OR p_profils.code_emploi_id = ANY (liste_code_emploi_id)) AND | |||||
| (a_liste_categorie_socio_professionnelle = '0' OR p_profils.categorie_socio_professionnelle_id = ANY (liste_categorie_socio_professionnelle_id)) | |||||
| -- Pas de service planning. | |||||
| GROUP BY 1 | |||||
| ORDER BY 1 | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_planning_mouvement | |||||
| ; | |||||
| CREATE TEMP TABLE w_planning_mouvement AS | |||||
| SELECT | |||||
| p_planning_mouvement.ctid as pm_ctid, | |||||
| COALESCE(MIN(priorite),999999999) AS pole_priorite, | |||||
| COALESCE((MIN(ARRAY[priorite,w_pole_rule.pole_id]))[2],0) AS pole_id | |||||
| FROM rh.p_planning_mouvement | |||||
| JOIN rh.p_contrats ON p_planning_mouvement.contrat_id = p_contrats.oid | |||||
| JOIN rh.p_contrats_mois ON p_planning_mouvement.contrat_mois_id = p_contrats_mois.oid | |||||
| JOIN rh.p_profil_contrat_mois ON p_profil_contrat_mois.contrat_mois_id = p_contrats_mois.oid | |||||
| JOIN rh.p_profils ON p_profil_contrat_mois.profil_id = p_profils.oid | |||||
| JOIN rh.t_etablissements ON t_etablissements.oid = p_planning_mouvement.etablissement_id | |||||
| JOIN w_pole_rule ON 1=1 | |||||
| AND (a_liste_finess = '0' OR finess_id = ANY (liste_finess_id)) | |||||
| AND (a_liste_etablissement = '0' OR p_planning_mouvement.etablissement_id = ANY (liste_etablissement_id)) | |||||
| AND (a_liste_service = '0' OR p_profils.service_id = ANY (liste_service_id)) | |||||
| AND (a_liste_specialite = '0' OR p_profils.specialite_id = ANY (liste_specialite_id)) | |||||
| AND (a_liste_qualification = '0' OR p_profils.qualification_id = ANY (liste_qualification_id)) | |||||
| AND (a_liste_section_analytique = '0' OR p_profils.section_analytique_id = ANY (liste_section_analytique_id)) | |||||
| AND (a_liste_section_analytique_paie = '0' OR p_profils.section_analytique_paie_id = ANY (liste_section_analytique_paie_id)) | |||||
| AND (a_liste_grille = '0' OR p_profils.grille_id = ANY (liste_grille_id)) | |||||
| AND (a_liste_code_emploi = '0' OR p_profils.code_emploi_id = ANY (liste_code_emploi_id)) | |||||
| AND (a_liste_categorie_socio_professionnelle = '0' OR p_profils.categorie_socio_professionnelle_id = ANY (liste_categorie_socio_professionnelle_id)) | |||||
| AND (a_liste_service_planning = '0' OR p_planning_mouvement.service_id = ANY (liste_service_planning_id)) | |||||
| GROUP BY 1 | |||||
| ORDER BY 1 | |||||
| ; | |||||
| RAISE NOTICE '%' , 'Application des regles. Validation des poles'; | |||||
| UPDATE rh.p_profil_contrat_mois SET | |||||
| pole_id = w_profil_contrat_mois.pole_id | |||||
| FROM w_profil_contrat_mois | |||||
| WHERE p_profil_contrat_mois.oid = w_profil_contrat_mois.oid AND | |||||
| p_profil_contrat_mois.pole_id IS DISTINCT FROM w_profil_contrat_mois.pole_id | |||||
| ; | |||||
| UPDATE rh.p_profil_contrat_mois SET | |||||
| pole_id = 0 | |||||
| WHERE 1=1 | |||||
| AND oid NOT IN (SELECT oid FROM w_profil_contrat_mois group by 1) | |||||
| AND pole_id IS DISTINCT FROM 0 | |||||
| ; | |||||
| UPDATE rh.p_contrats_mois SET | |||||
| pole_id = w_contrats_mois.pole_id | |||||
| FROM w_contrats_mois | |||||
| WHERE p_contrats_mois.oid = w_contrats_mois.oid AND | |||||
| p_contrats_mois.pole_id IS DISTINCT FROM w_contrats_mois.pole_id | |||||
| ; | |||||
| UPDATE rh.p_contrats_mois SET | |||||
| pole_id = 0 | |||||
| WHERE 1=1 | |||||
| AND oid NOT IN (SELECT oid FROM w_contrats_mois group by 1) | |||||
| AND pole_id IS DISTINCT FROM 0 | |||||
| ; | |||||
| UPDATE rh.p_contrats SET | |||||
| pole_id = w_contrats.pole_id | |||||
| FROM w_contrats | |||||
| WHERE p_contrats.oid = w_contrats.oid AND | |||||
| p_contrats.pole_id IS DISTINCT FROM w_contrats.pole_id | |||||
| ; | |||||
| UPDATE rh.p_contrats SET | |||||
| pole_id = 0 | |||||
| WHERE 1=1 | |||||
| AND oid NOT IN (SELECT oid FROM w_contrats group by 1) | |||||
| AND pole_id IS DISTINCT FROM 0 | |||||
| ; | |||||
| with asso as ( | |||||
| select | |||||
| p_planning_mouvement.ctid as pm_ctid, | |||||
| coalesce(w_planning_mouvement.pole_id, 0) as pole_id | |||||
| from rh.p_planning_mouvement | |||||
| left join w_planning_mouvement on w_planning_mouvement.pm_ctid = p_planning_mouvement.ctid | |||||
| ) | |||||
| UPDATE rh.p_planning_mouvement SET | |||||
| pole_id = asso.pole_id | |||||
| FROM asso | |||||
| WHERE 1=1 | |||||
| AND p_planning_mouvement.ctid = asso.pm_ctid | |||||
| AND p_planning_mouvement.pole_id IS DISTINCT FROM asso.pole_id | |||||
| ; | |||||
| ANALYSE rh.p_profil_contrat_mois | |||||
| ; | |||||
| ANALYSE rh.p_contrats_mois | |||||
| ; | |||||
| ANALYSE rh.p_contrats | |||||
| ; | |||||
| INSERT INTO rh.p_oids (code_table, oid) | |||||
| SELECT 'pole', pole_id | |||||
| FROM rh.p_profil_contrat_mois | |||||
| WHERE pole_id NOT IN (SELECT oid FROM rh.p_oids WHERE code_table = 'pole') | |||||
| GROUP BY 2 | |||||
| ; | |||||
| RETURN 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,338 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| src: | | |||||
| DECLARE | |||||
| result TEXT; | |||||
| domains RECORD; | |||||
| tmpSchema TEXT; | |||||
| tmpTable TEXT; | |||||
| tmpListe TEXT; | |||||
| tmpReq TEXT; | |||||
| BEGIN | |||||
| RAISE NOTICE '%' , 'Initialisation Populations' | |||||
| ; | |||||
| -- Contenu table | |||||
| INSERT INTO rh.t_population(oid, code, texte, texte_court) | |||||
| SELECT 0, chr(127) || '*', 'Non renseignée', 'N/R' | |||||
| WHERE 0 NOT IN (SELECT oid FROM rh.t_population) | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_domains | |||||
| ; | |||||
| CREATE TEMP TABLE w_domains AS | |||||
| SELECT | |||||
| domain | |||||
| FROM unnest(ARRAY[ | |||||
| 'base|t_finess|finess', | |||||
| 'rh|t_etablissements|etablissement', | |||||
| 'rh|t_services|service', | |||||
| 'rh|t_specialites|specialite', | |||||
| 'rh|t_sections_analytiques|section_analytique', | |||||
| 'rh|t_sections_analytiques_paie|section_analytique_paie', | |||||
| 'rh|t_qualifications|qualification', | |||||
| 'rh|t_grilles|grille', | |||||
| 'rh|t_codes_emploi|code_emploi', | |||||
| 'rh|t_categories_socio_professionnelle|categorie_socio_professionnelle', | |||||
| 'rh|t_statuts|statut' | |||||
| ]) as domain | |||||
| ; | |||||
| tmpReq = ''; | |||||
| FOR domains IN SELECT * FROM w_domains LOOP | |||||
| tmpSchema = split_part(domains.domain, '|', 1); | |||||
| tmpTable = split_part(domains.domain, '|', 2); | |||||
| tmpListe = split_part(domains.domain, '|', 3); | |||||
| tmpReq = concat_ws(', ', tmpReq, | |||||
| format(' | |||||
| (select coalesce(min(position (''^'' in token)) = 0, false) | |||||
| from unnest(string_to_array(replace(liste_%s, '','', ''''), '' '')) as token | |||||
| where length(trim(token)) > 0 | |||||
| ) as has_liste_%s, | |||||
| (select | |||||
| array_agg(coalesce(table_liste.oid, listes.oid, classes.oid)) | |||||
| from unnest(string_to_array(replace(liste_%s, '','', ''''), '' '')) as token | |||||
| left join %s.t_listes_tables on t_listes_tables.name = ''%s'' | |||||
| left join %s.%s as table_liste on table_liste.code like replace(trim(token), ''*'', ''%%'') | |||||
| left join listes on listes.code like ''{''||t_listes_tables.code||''}''||replace(trim(token), ''*'', ''%%'') | |||||
| left join classes on classes.code like ''{''||t_listes_tables.code||''}''||replace(trim(token), ''*'', ''%%'') | |||||
| where 1=1 | |||||
| and token != '''' | |||||
| and coalesce(table_liste.oid, listes.oid, classes.oid) is distinct from null | |||||
| ) as liste_%s_id', tmpListe, tmpListe, tmpListe, tmpSchema, tmpTable, tmpSchema, tmpTable, tmpListe), | |||||
| format(' | |||||
| (select coalesce(max(position (''^'' in token)) > 0, false) | |||||
| from unnest(string_to_array(replace(liste_%s, '','', ''''), '' '')) as token | |||||
| where length(trim(token)) > 0 | |||||
| ) as has_exc_liste_%s, | |||||
| (select | |||||
| array_agg(coalesce(table_liste.oid, listes_exc.oid, classes_exc.oid)) | |||||
| from unnest(string_to_array(replace(liste_%s, '','', ''''), '' '')) as token | |||||
| left join %s.t_listes_tables on t_listes_tables.name = ''%s'' | |||||
| left join %s.%s as table_liste on ''^''||table_liste.code like replace(trim(token), ''*'', ''%%'') | |||||
| left join listes_exc on listes_exc.code like ''{''||t_listes_tables.code||''}''||replace(trim(token), ''*'', ''%%'') | |||||
| left join classes_exc on classes_exc.code like ''{''||t_listes_tables.code||''}''||replace(trim(token), ''*'', ''%%'') | |||||
| where 1=1 | |||||
| and token != '''' | |||||
| and coalesce(table_liste.oid, listes_exc.oid, classes_exc.oid) is distinct from null | |||||
| ) as liste_exc_%s_id', tmpListe, tmpListe, tmpListe, tmpSchema, tmpTable, tmpSchema, tmpTable, tmpListe)); | |||||
| END LOOP; | |||||
| -- Traduction des règles en oid | |||||
| RAISE NOTICE '%' , 'Application des regles. Traduction en oid' | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_population_regle | |||||
| ; | |||||
| EXECUTE format(' | |||||
| CREATE TEMP TABLE w_population_regle AS | |||||
| with listes as ( | |||||
| select | |||||
| ''{''||t_listes_tables.code||''}[LISTE:''||t_listes.code||'']'' as code, | |||||
| t_listes_contenu.to_id as oid | |||||
| from rh.t_listes | |||||
| join rh.t_listes_tables on t_listes_tables.oid = t_listes.table_id | |||||
| join rh.t_listes_contenu on t_listes_contenu.liste_id = t_listes.oid | |||||
| UNION ALL | |||||
| select | |||||
| ''{''||t_listes_tables.code||''}[LISTE:''||t_listes.code||'']'' as code, | |||||
| t_listes_contenu.to_id as oid | |||||
| from base.t_listes | |||||
| join base.t_listes_tables on t_listes_tables.oid = t_listes.table_id | |||||
| join base.t_listes_contenu on t_listes_contenu.liste_id = t_listes.oid | |||||
| ) | |||||
| , classes as ( | |||||
| select | |||||
| ''{''||t_listes_tables.code||''}[CLASSE:''||t_classes.code||'':''||t_classes_sections.code||'']'' as code, | |||||
| t_classes_sections_elements.to_id as oid | |||||
| from rh.t_classes | |||||
| join rh.t_listes_tables on t_listes_tables.oid = t_classes.table_id | |||||
| join rh.t_classes_sections on t_classes_sections.classe_id = t_classes.oid | |||||
| join rh.t_classes_sections_elements on t_classes_sections_elements.section_id = t_classes_sections.oid | |||||
| UNION ALL | |||||
| select | |||||
| ''{''||t_listes_tables.code||''}[CLASSE:''||t_classes.code||'':''||t_classes_sections.code||'']'' as code, | |||||
| t_classes_sections_elements.to_id as oid | |||||
| from base.t_classes | |||||
| join base.t_listes_tables on t_listes_tables.oid = t_classes.table_id | |||||
| join base.t_classes_sections on t_classes_sections.classe_id = t_classes.oid | |||||
| join base.t_classes_sections_elements on t_classes_sections_elements.section_id = t_classes_sections.oid | |||||
| ) | |||||
| , listes_exc as ( | |||||
| select | |||||
| ''{''||t_listes_tables.code||''}^[LISTE:''||t_listes.code||'']'' as code, | |||||
| t_listes_contenu.to_id as oid | |||||
| from rh.t_listes | |||||
| join rh.t_listes_tables on t_listes_tables.oid = t_listes.table_id | |||||
| join rh.t_listes_contenu on t_listes_contenu.liste_id = t_listes.oid | |||||
| UNION ALL | |||||
| select | |||||
| ''{''||t_listes_tables.code||''}^[LISTE:''||t_listes.code||'']'' as code, | |||||
| t_listes_contenu.to_id as oid | |||||
| from base.t_listes | |||||
| join base.t_listes_tables on t_listes_tables.oid = t_listes.table_id | |||||
| join base.t_listes_contenu on t_listes_contenu.liste_id = t_listes.oid | |||||
| ) | |||||
| , classes_exc as ( | |||||
| select | |||||
| ''{''||t_listes_tables.code||''}^[CLASSE:''||t_classes.code||'':''||t_classes_sections.code||'']'' as code, | |||||
| t_classes_sections_elements.to_id as oid | |||||
| from rh.t_classes | |||||
| join rh.t_listes_tables on t_listes_tables.oid = t_classes.table_id | |||||
| join rh.t_classes_sections on t_classes_sections.classe_id = t_classes.oid | |||||
| join rh.t_classes_sections_elements on t_classes_sections_elements.section_id = t_classes_sections.oid | |||||
| UNION ALL | |||||
| select | |||||
| ''{''||t_listes_tables.code||''}^[CLASSE:''||t_classes.code||'':''||t_classes_sections.code||'']'' as code, | |||||
| t_classes_sections_elements.to_id as oid | |||||
| from base.t_classes | |||||
| join base.t_listes_tables on t_listes_tables.oid = t_classes.table_id | |||||
| join base.t_classes_sections on t_classes_sections.classe_id = t_classes.oid | |||||
| join base.t_classes_sections_elements on t_classes_sections_elements.section_id = t_classes_sections.oid | |||||
| ) | |||||
| select | |||||
| t_population_regle.oid, | |||||
| population_id, | |||||
| priorite | |||||
| %s | |||||
| from rh.t_population_regle | |||||
| JOIN rh.t_population ON t_population.oid = t_population_regle.population_id | |||||
| ORDER BY priorite, population_id | |||||
| ', tmpReq); | |||||
| DROP TABLE IF EXISTS temp.toto | |||||
| ; | |||||
| CREATE TABLE temp.toto AS | |||||
| select * from w_population_regle | |||||
| ; | |||||
| RAISE NOTICE '%' , tmpReq | |||||
| ; | |||||
| RAISE NOTICE '%' , 'Application des regles.' | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_profil_contrat_mois | |||||
| ; | |||||
| CREATE TEMP TABLE w_profil_contrat_mois AS | |||||
| SELECT | |||||
| p_profil_contrat_mois.oid, | |||||
| COALESCE(MIN(priorite), 999999999) AS population_priorite, | |||||
| COALESCE((MIN(ARRAY[priorite, w_population_regle.population_id]))[2], 0) AS population_id | |||||
| FROM rh.p_profil_contrat_mois | |||||
| JOIN rh.p_contrats_mois ON p_profil_contrat_mois.contrat_mois_id = p_contrats_mois.oid | |||||
| JOIN rh.t_etablissements ON t_etablissements.oid = etablissement_id | |||||
| JOIN rh.p_profils ON p_profil_contrat_mois.profil_id = p_profils.oid | |||||
| JOIN w_population_regle ON true | |||||
| AND (NOT has_liste_finess OR finess_id = ANY (liste_finess_id)) | |||||
| AND (NOT (has_exc_liste_finess AND liste_exc_finess_id IS NOT NULL) OR NOT (finess_id = ANY (liste_exc_finess_id))) | |||||
| AND (NOT has_liste_etablissement OR etablissement_id = ANY (liste_etablissement_id)) | |||||
| AND (NOT (has_exc_liste_etablissement AND liste_exc_etablissement_id IS NOT NULL) OR NOT (etablissement_id = ANY (liste_exc_etablissement_id))) | |||||
| AND (NOT has_liste_service OR p_profils.service_id = ANY (liste_service_id)) | |||||
| AND (NOT (has_exc_liste_service AND liste_exc_service_id IS NOT NULL) OR NOT (p_profils.service_id = ANY (liste_exc_service_id))) | |||||
| AND (NOT has_liste_specialite OR p_profils.specialite_id = ANY (liste_specialite_id)) | |||||
| AND (NOT (has_exc_liste_specialite AND liste_exc_specialite_id IS NOT NULL) OR NOT (p_profils.specialite_id = ANY (liste_exc_specialite_id))) | |||||
| AND (NOT has_liste_qualification OR p_profils.qualification_id = ANY (liste_qualification_id)) | |||||
| AND (NOT (has_exc_liste_qualification AND liste_exc_qualification_id IS NOT NULL) OR NOT (p_profils.qualification_id = ANY (liste_exc_qualification_id))) | |||||
| AND (NOT has_liste_section_analytique OR p_profils.section_analytique_id = ANY (liste_section_analytique_id)) | |||||
| AND (NOT (has_exc_liste_section_analytique AND liste_exc_section_analytique_id IS NOT NULL) OR NOT (p_profils.section_analytique_id = ANY (liste_exc_section_analytique_id))) | |||||
| AND (NOT has_liste_section_analytique_paie OR p_profils.section_analytique_paie_id = ANY (liste_section_analytique_paie_id)) | |||||
| AND (NOT (has_exc_liste_section_analytique_paie AND liste_exc_section_analytique_paie_id IS NOT NULL) OR NOT (p_profils.section_analytique_paie_id = ANY (liste_exc_section_analytique_paie_id))) | |||||
| AND (NOT has_liste_grille OR p_profils.grille_id = ANY (liste_grille_id)) | |||||
| AND (NOT (has_exc_liste_grille AND liste_exc_grille_id IS NOT NULL) OR NOT (p_profils.grille_id = ANY (liste_exc_grille_id))) | |||||
| AND (NOT has_liste_code_emploi OR p_profils.code_emploi_id = ANY (liste_code_emploi_id)) | |||||
| AND (NOT (has_exc_liste_code_emploi AND liste_exc_code_emploi_id IS NOT NULL) OR NOT (p_profils.code_emploi_id = ANY (liste_exc_code_emploi_id))) | |||||
| AND (NOT has_liste_categorie_socio_professionnelle OR p_profils.categorie_socio_professionnelle_id = ANY (liste_categorie_socio_professionnelle_id)) | |||||
| AND (NOT (has_exc_liste_categorie_socio_professionnelle AND liste_exc_categorie_socio_professionnelle_id IS NOT NULL) OR NOT (p_profils.categorie_socio_professionnelle_id = ANY (liste_exc_categorie_socio_professionnelle_id))) | |||||
| AND (NOT has_liste_statut OR p_profils.statut_id = ANY (liste_statut_id)) | |||||
| AND (NOT (has_exc_liste_statut AND liste_exc_statut_id IS NOT NULL) OR NOT (p_profils.statut_id = ANY (liste_exc_statut_id))) | |||||
| GROUP BY 1 | |||||
| ORDER BY 2,1 | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_contrats_mois | |||||
| ; | |||||
| CREATE TEMP TABLE w_contrats_mois AS | |||||
| SELECT | |||||
| p_contrats_mois.oid, | |||||
| COALESCE(MIN(priorite), 999999999) AS population_priorite, | |||||
| COALESCE((MIN(ARRAY[priorite, w_population_regle.population_id]))[2], 0) AS population_id | |||||
| FROM rh.p_contrats_mois | |||||
| LEFT JOIN rh.t_etablissements ON t_etablissements.oid = etablissement_id | |||||
| LEFT JOIN rh.p_profils ON p_contrats_mois.profil_id = p_profils.oid | |||||
| JOIN w_population_regle ON true | |||||
| AND (NOT has_liste_finess OR finess_id = ANY (liste_finess_id)) | |||||
| AND (NOT (has_exc_liste_finess AND liste_exc_finess_id IS NOT NULL) OR NOT (finess_id = ANY (liste_exc_finess_id))) | |||||
| AND (NOT has_liste_etablissement OR etablissement_id = ANY (liste_etablissement_id)) | |||||
| AND (NOT (has_exc_liste_etablissement AND liste_exc_etablissement_id IS NOT NULL) OR NOT (etablissement_id = ANY (liste_exc_etablissement_id))) | |||||
| AND (NOT has_liste_service OR p_profils.service_id = ANY (liste_service_id)) | |||||
| AND (NOT (has_exc_liste_service AND liste_exc_service_id IS NOT NULL) OR NOT (p_profils.service_id = ANY (liste_exc_service_id))) | |||||
| AND (NOT has_liste_specialite OR p_profils.specialite_id = ANY (liste_specialite_id)) | |||||
| AND (NOT (has_exc_liste_specialite AND liste_exc_specialite_id IS NOT NULL) OR NOT (p_profils.specialite_id = ANY (liste_exc_specialite_id))) | |||||
| AND (NOT has_liste_qualification OR p_profils.qualification_id = ANY (liste_qualification_id)) | |||||
| AND (NOT (has_exc_liste_qualification AND liste_exc_qualification_id IS NOT NULL) OR NOT (p_profils.qualification_id = ANY (liste_exc_qualification_id))) | |||||
| AND (NOT has_liste_section_analytique OR p_profils.section_analytique_id = ANY (liste_section_analytique_id)) | |||||
| AND (NOT (has_exc_liste_section_analytique AND liste_exc_section_analytique_id IS NOT NULL) OR NOT (p_profils.section_analytique_id = ANY (liste_exc_section_analytique_id))) | |||||
| AND (NOT has_liste_section_analytique_paie OR p_profils.section_analytique_paie_id = ANY (liste_section_analytique_paie_id)) | |||||
| AND (NOT (has_exc_liste_section_analytique_paie AND liste_exc_section_analytique_paie_id IS NOT NULL) OR NOT (p_profils.section_analytique_paie_id = ANY (liste_exc_section_analytique_paie_id))) | |||||
| AND (NOT has_liste_grille OR p_profils.grille_id = ANY (liste_grille_id)) | |||||
| AND (NOT (has_exc_liste_grille AND liste_exc_grille_id IS NOT NULL) OR NOT (p_profils.grille_id = ANY (liste_exc_grille_id))) | |||||
| AND (NOT has_liste_code_emploi OR p_profils.code_emploi_id = ANY (liste_code_emploi_id)) | |||||
| AND (NOT (has_exc_liste_code_emploi AND liste_exc_code_emploi_id IS NOT NULL) OR NOT (p_profils.code_emploi_id = ANY (liste_exc_code_emploi_id))) | |||||
| AND (NOT has_liste_categorie_socio_professionnelle OR p_profils.categorie_socio_professionnelle_id = ANY (liste_categorie_socio_professionnelle_id)) | |||||
| AND (NOT (has_exc_liste_categorie_socio_professionnelle AND liste_exc_categorie_socio_professionnelle_id IS NOT NULL) OR NOT (p_profils.categorie_socio_professionnelle_id = ANY (liste_exc_categorie_socio_professionnelle_id))) | |||||
| AND (NOT has_liste_statut OR p_profils.statut_id = ANY (liste_statut_id)) | |||||
| AND (NOT (has_exc_liste_statut AND liste_exc_statut_id IS NOT NULL) OR NOT (p_profils.statut_id = ANY (liste_exc_statut_id))) | |||||
| GROUP BY 1 | |||||
| ORDER BY 1 | |||||
| ; | |||||
| DROP TABLE IF EXISTS w_contrats | |||||
| ; | |||||
| CREATE TEMP TABLE w_contrats AS | |||||
| SELECT | |||||
| p_contrats.oid, | |||||
| COALESCE(MIN(priorite), 999999999) AS population_priorite, | |||||
| COALESCE((MIN(ARRAY[priorite, w_population_regle.population_id]))[2], 0) AS population_id | |||||
| FROM rh.p_contrats | |||||
| LEFT JOIN rh.t_etablissements ON t_etablissements.oid = etablissement_id | |||||
| LEFT JOIN rh.p_profils ON p_contrats.profil_id = p_profils.oid | |||||
| JOIN w_population_regle ON true | |||||
| AND (NOT has_liste_finess OR finess_id = ANY (liste_finess_id)) | |||||
| AND (NOT (has_exc_liste_finess AND liste_exc_finess_id IS NOT NULL) OR NOT (finess_id = ANY (liste_exc_finess_id))) | |||||
| AND (NOT has_liste_etablissement OR etablissement_id = ANY (liste_etablissement_id)) | |||||
| AND (NOT (has_exc_liste_etablissement AND liste_exc_etablissement_id IS NOT NULL) OR NOT (etablissement_id = ANY (liste_exc_etablissement_id))) | |||||
| AND (NOT has_liste_service OR p_profils.service_id = ANY (liste_service_id)) | |||||
| AND (NOT (has_exc_liste_service AND liste_exc_service_id IS NOT NULL) OR NOT (p_profils.service_id = ANY (liste_exc_service_id))) | |||||
| AND (NOT has_liste_specialite OR p_profils.specialite_id = ANY (liste_specialite_id)) | |||||
| AND (NOT (has_exc_liste_specialite AND liste_exc_specialite_id IS NOT NULL) OR NOT (p_profils.specialite_id = ANY (liste_exc_specialite_id))) | |||||
| AND (NOT has_liste_qualification OR p_profils.qualification_id = ANY (liste_qualification_id)) | |||||
| AND (NOT (has_exc_liste_qualification AND liste_exc_qualification_id IS NOT NULL) OR NOT (p_profils.qualification_id = ANY (liste_exc_qualification_id))) | |||||
| AND (NOT has_liste_section_analytique OR p_profils.section_analytique_id = ANY (liste_section_analytique_id)) | |||||
| AND (NOT (has_exc_liste_section_analytique AND liste_exc_section_analytique_id IS NOT NULL) OR NOT (p_profils.section_analytique_id = ANY (liste_exc_section_analytique_id))) | |||||
| AND (NOT has_liste_section_analytique_paie OR p_profils.section_analytique_paie_id = ANY (liste_section_analytique_paie_id)) | |||||
| AND (NOT (has_exc_liste_section_analytique_paie AND liste_exc_section_analytique_paie_id IS NOT NULL) OR NOT (p_profils.section_analytique_paie_id = ANY (liste_exc_section_analytique_paie_id))) | |||||
| AND (NOT has_liste_grille OR p_profils.grille_id = ANY (liste_grille_id)) | |||||
| AND (NOT (has_exc_liste_grille AND liste_exc_grille_id IS NOT NULL) OR NOT (p_profils.grille_id = ANY (liste_exc_grille_id))) | |||||
| AND (NOT has_liste_code_emploi OR p_profils.code_emploi_id = ANY (liste_code_emploi_id)) | |||||
| AND (NOT (has_exc_liste_code_emploi AND liste_exc_code_emploi_id IS NOT NULL) OR NOT (p_profils.code_emploi_id = ANY (liste_exc_code_emploi_id))) | |||||
| AND (NOT has_liste_categorie_socio_professionnelle OR p_profils.categorie_socio_professionnelle_id = ANY (liste_categorie_socio_professionnelle_id)) | |||||
| AND (NOT (has_exc_liste_categorie_socio_professionnelle AND liste_exc_categorie_socio_professionnelle_id IS NOT NULL) OR NOT (p_profils.categorie_socio_professionnelle_id = ANY (liste_exc_categorie_socio_professionnelle_id))) | |||||
| AND (NOT has_liste_statut OR p_profils.statut_id = ANY (liste_statut_id)) | |||||
| AND (NOT (has_exc_liste_statut AND liste_exc_statut_id IS NOT NULL) OR NOT (p_profils.statut_id = ANY (liste_exc_statut_id))) | |||||
| GROUP BY 1 | |||||
| ORDER BY 1 | |||||
| ; | |||||
| RAISE NOTICE '%' , 'Application des regles. Validation des Populations' | |||||
| ; | |||||
| UPDATE rh.p_profil_contrat_mois SET | |||||
| population_id[1] = w_profil_contrat_mois.population_id | |||||
| FROM w_profil_contrat_mois | |||||
| WHERE true | |||||
| AND p_profil_contrat_mois.oid = w_profil_contrat_mois.oid | |||||
| AND p_profil_contrat_mois.population_id[1] IS DISTINCT FROM w_profil_contrat_mois.population_id | |||||
| ; | |||||
| UPDATE rh.p_profil_contrat_mois SET | |||||
| population_id[1] = 0 | |||||
| WHERE true | |||||
| AND oid NOT IN (SELECT oid FROM w_profil_contrat_mois) | |||||
| AND population_id[1] IS DISTINCT FROM 0 | |||||
| ; | |||||
| UPDATE rh.p_contrats_mois SET | |||||
| population_id[1] = w_contrats_mois.population_id | |||||
| FROM w_contrats_mois | |||||
| WHERE true | |||||
| AND p_contrats_mois.oid = w_contrats_mois.oid | |||||
| AND p_contrats_mois.population_id[1] IS DISTINCT FROM w_contrats_mois.population_id | |||||
| ; | |||||
| UPDATE rh.p_contrats SET | |||||
| population_id[1] = w_contrats.population_id | |||||
| FROM w_contrats | |||||
| WHERE true | |||||
| AND p_contrats.oid = w_contrats.oid | |||||
| AND p_contrats.population_id[1] IS DISTINCT FROM w_contrats.population_id | |||||
| ; | |||||
| ANALYSE rh.p_profil_contrat_mois | |||||
| ; | |||||
| ANALYSE rh.p_contrats_mois | |||||
| ; | |||||
| ANALYSE rh.p_contrats | |||||
| ; | |||||
| INSERT INTO rh.p_oids (code_table, oid) | |||||
| SELECT 'population', population_id[1] | |||||
| FROM rh.p_profil_contrat_mois | |||||
| WHERE population_id[1] NOT IN (SELECT oid FROM rh.p_oids WHERE code_table = 'population') | |||||
| GROUP BY 2 | |||||
| ; | |||||
| RETURN 'OK' | |||||
| ; | |||||
| END; | |||||
| @ -0,0 +1,102 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| src: | | |||||
| DECLARE | |||||
| result TEXT; | |||||
| _champs TEXT[]; | |||||
| _i INTEGER; | |||||
| _table TEXT; | |||||
| _champ TEXT; | |||||
| _affectations TEXT; | |||||
| _selects TEXT; | |||||
| _tests TEXT; | |||||
| _joins TEXT; | |||||
| _sqlcmd TEXT; | |||||
| _affected_rows bigint; | |||||
| BEGIN | |||||
| -- Salariés sans profil | |||||
| UPDATE rh.p_salaries | |||||
| SET profil_id = 0 | |||||
| WHERE profil_id IS NULL; | |||||
| INSERT INTO rh.p_profils(oid) | |||||
| SELECT 0 | |||||
| WHERE 0 NOT IN (SELECT oid FROM rh.p_profils) AND | |||||
| 0 IN (SELECT profil_id FROM rh.p_salaries WHERE profil_id = 0); | |||||
| -- Initialisation des champs | |||||
| _champs = Array[ | |||||
| 't_types_contrat', 'type_contrat', | |||||
| 't_motifs_debut_contrat', 'motif_debut', | |||||
| 't_motifs_fin_contrat', 'motif_fin', | |||||
| 't_qualifications', 'qualification', | |||||
| 't_services', 'service', | |||||
| 't_specialites', 'specialite', | |||||
| 't_types_temps_travail', 'type_temps_travail', | |||||
| 't_categories_socio_professionnelle', 'categorie_socio_professionnelle', | |||||
| 't_statuts', 'statut', | |||||
| 't_codes_emploi', 'code_emploi', | |||||
| 't_societes_interim', 'societe_interim', | |||||
| 't_sections_analytiques_paie', 'section_analytique_paie', | |||||
| 't_sections_analytiques', 'section_analytique', | |||||
| 't_grilles', 'grille', | |||||
| 't_grilles_groupes', 'grille_groupe', | |||||
| 't_types_horaire', 'type_horaire', | |||||
| 't_groupes_cotisant', 'groupe_cotisant', | |||||
| 't_cadre_emploi', 'cadre_emploi', | |||||
| 't_categorie_conge', 'categorie_conge', | |||||
| 't_categorie_statutaire', 'categorie_statutaire', | |||||
| 't_commission_paritaire', 'commission_paritaire', | |||||
| 't_compte', 'compte_salarie', | |||||
| 't_filiere', 'filiere', | |||||
| 't_lettre_budgetaire', 'lettre_budgetaire', | |||||
| 't_unite_fonctionnelle', 'unite_fonctionnelle' | |||||
| ]; | |||||
| _i = 0; | |||||
| _affectations = ''; | |||||
| _selects = ''; | |||||
| _joins = ''; | |||||
| _tests = ''; | |||||
| WHILE _i <= 48 LOOP | |||||
| _i = _i + 1; | |||||
| _table = _champs[_i]; | |||||
| _i = _i + 1; | |||||
| _champ = _champs[_i]; | |||||
| IF _affectations <> '' THEN | |||||
| _affectations = _affectations || ', ' || chr(10); | |||||
| END IF; | |||||
| IF _selects <> '' THEN | |||||
| _selects = _selects || ', ' || chr(10); | |||||
| END IF; | |||||
| IF _tests <> '' THEN | |||||
| _tests = _tests || ' OR ' || chr(10); | |||||
| END IF; | |||||
| _affectations = _affectations || _champ || '_id = new_' || _champ || '_id, ' || chr(10); | |||||
| _affectations = _affectations || _champ || '_code = new_' || _champ || '_code, ' || chr(10); | |||||
| _affectations = _affectations || _champ || '_texte = new_' || _champ || '_texte'; | |||||
| _selects = _selects || 'COALESCE(' || _table || '.oid,0) AS new_' || _champ || '_id, ' || chr(10); | |||||
| _selects = _selects || 'COALESCE(' || _table || '.code,' || _table || '_0.code) AS new_' || _champ || '_code, ' || chr(10); | |||||
| _selects = _selects || 'COALESCE(' || _table || '.texte,' || _table || '_0.texte) AS new_' || _champ || '_texte'; | |||||
| _joins = _joins || chr(10) || 'LEFT JOIN rh.' || _table || ' ' || _table || '_0 ON ' || _table || '_0.oid = 0'; | |||||
| _joins = _joins || chr(10) || 'LEFT JOIN rh.' || _table || ' ON ' || _table || '.code_original = ' || _champ || '_code_original'; | |||||
| _tests = _tests || _champ || '_id IS DISTINCT FROM new_' || _champ || '_id OR ' || chr(10); | |||||
| _tests = _tests || _champ || '_code IS DISTINCT FROM new_' || _champ || '_code OR ' || chr(10); | |||||
| _tests = _tests || _champ || '_texte IS DISTINCT FROM new_' || _champ || '_texte'; | |||||
| END LOOP; | |||||
| _sqlcmd = 'UPDATE rh.p_profils SET' || chr(10); | |||||
| _sqlcmd = _sqlcmd || _affectations || chr(10); | |||||
| _sqlcmd = _sqlcmd || 'FROM (' || chr(10); | |||||
| _sqlcmd = _sqlcmd || 'SELECT' || chr(10); | |||||
| _sqlcmd = _sqlcmd || 'p_profils.oid AS new_profil_id,' || chr(10); | |||||
| _sqlcmd = _sqlcmd || _selects || chr(10); | |||||
| _sqlcmd = _sqlcmd || 'FROM rh.p_profils' || chr(10); | |||||
| _sqlcmd = _sqlcmd || _joins || chr(10); | |||||
| _sqlcmd = _sqlcmd || ') subview' || chr(10); | |||||
| _sqlcmd = _sqlcmd || 'WHERE p_profils.oid = new_profil_id AND' || chr(10); | |||||
| _sqlcmd = _sqlcmd || '(' || _tests || ')'; | |||||
| EXECUTE _sqlcmd; | |||||
| GET DIAGNOSTICS _affected_rows = ROW_COUNT; | |||||
| return (_affected_rows::text || ' ligne(s) modifiée(s)')::text; | |||||
| END; | |||||
| @ -0,0 +1,52 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: text | |||||
| name: tablename | |||||
| p1: | |||||
| type: text | |||||
| name: field_prefix | |||||
| src: | | |||||
| DECLARE | |||||
| w_tablename TEXT; | |||||
| w_field_prefix TEXT; | |||||
| result TEXT; | |||||
| t0 timestamp; | |||||
| t1 timestamp; | |||||
| t2 timestamp; | |||||
| t3 timestamp; | |||||
| BEGIN | |||||
| w_tablename = tablename; | |||||
| IF w_tablename = '' THEN | |||||
| w_tablename = 't_codes_emploi'; | |||||
| END IF; | |||||
| w_field_prefix = field_prefix; | |||||
| IF w_field_prefix = '' THEN | |||||
| w_field_prefix = 'code_emploi'; | |||||
| END IF; | |||||
| RAISE NOTICE 'Traitement de %', w_tablename; | |||||
| t0 = clock_timestamp(); | |||||
| EXECUTE 'UPDATE rh.p_profils | |||||
| SET ' || w_field_prefix || '_id = ' || w_tablename || '.oid | |||||
| FROM rh.' || w_tablename || ' | |||||
| WHERE ' || w_tablename || '.code_original = p_profils.' || w_field_prefix || '_code_original | |||||
| AND ' || w_field_prefix || '_id IS DISTINCT FROM ' || w_tablename || '.oid;'; | |||||
| t1 = clock_timestamp(); | |||||
| EXECUTE 'UPDATE rh.p_profils SET ' || w_field_prefix || '_id = 0 WHERE ' || w_field_prefix || '_id IS NULL;'; | |||||
| t2 = clock_timestamp(); | |||||
| EXECUTE 'UPDATE rh.p_profils | |||||
| SET | |||||
| ' || w_field_prefix || '_code = ' || w_tablename || '.code, | |||||
| ' || w_field_prefix || '_texte = ' || w_tablename || '.texte | |||||
| FROM rh.' || w_tablename || ' | |||||
| WHERE ' || w_tablename || '.oid = p_profils.' || w_field_prefix || '_id | |||||
| AND (' || w_field_prefix || '_code IS DISTINCT FROM ' || w_tablename || '.code OR | |||||
| ' || w_field_prefix || '_texte IS DISTINCT FROM ' || w_tablename || '.texte);'; | |||||
| t3 = clock_timestamp(); | |||||
| RAISE NOTICE 'Total % (1 : %; 2 : %; 3 : %)', t3 - t0, t1 - t0, t2 - t1, t3 - t2; | |||||
| RETURN 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,82 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: text | |||||
| name: i_from_table | |||||
| p1: | |||||
| type: text | |||||
| name: i_to_table | |||||
| src: | | |||||
| DECLARE | |||||
| _sqlcmd TEXT; | |||||
| result TEXT; | |||||
| BEGIN | |||||
| IF NOT EXISTS (SELECT * FROM pg_class WHERE relnamespace = pg_my_temp_schema() AND relname = i_to_table) THEN | |||||
| _sqlcmd = ' | |||||
| CREATE TEMP TABLE ' || i_to_table || ' | |||||
| ( | |||||
| XXCENT numeric, | |||||
| XXCETS numeric, | |||||
| XXCODO text, | |||||
| XXCODE text, | |||||
| in_code text, | |||||
| in_code_original text, | |||||
| in_texte text, | |||||
| in_id bigint | |||||
| ); | |||||
| CREATE INDEX ' || i_to_table || '_i1 ON ' || i_to_table || ' USING btree(XXCODO) | |||||
| ' | |||||
| ; | |||||
| EXECUTE _sqlcmd; | |||||
| END IF; | |||||
| -- Table de correspondance | |||||
| _sqlcmd = ' | |||||
| TRUNCATE ' || i_to_table || ' | |||||
| ; | |||||
| INSERT INTO ' || i_to_table || ' | |||||
| SELECT | |||||
| XXCENT, | |||||
| XXCETS, | |||||
| XXCODO, | |||||
| XXCODE, | |||||
| XXCODE || | |||||
| CASE WHEN base.cti_soundex_nom(replace(XXTEXT,''.'','''')) <> XXTEXT_STD_soundex THEN | |||||
| ''('' || XXCENT || ''.'' || XXCETS || '')'' | |||||
| ELSE '''' END | |||||
| AS in_code, | |||||
| XXCODO || | |||||
| CASE WHEN base.cti_soundex_nom(replace(XXTEXT,''.'','''')) <> XXTEXT_STD_soundex THEN | |||||
| ''_'' || to_char(XXCENT,''FM000'') || to_char(XXCETS,''FM000'') | |||||
| ELSE '''' END | |||||
| AS in_code_original, | |||||
| CASE WHEN base.cti_soundex_nom(replace(XXTEXT,''.'','''')) <> XXTEXT_STD_soundex THEN XXTEXT ELSE XXTEXT_STD END AS in_texte, | |||||
| 0::bigint AS in_id | |||||
| FROM | |||||
| ' || i_from_table || ' | |||||
| JOIN | |||||
| ( | |||||
| SELECT XXCODE AS XXCODE_STD, | |||||
| (MAX(Array[key, XXTEXT_soundex]))[2] AS XXTEXT_STD_soundex, | |||||
| (MAX(Array[key, XXTEXT_STD]))[2] AS XXTEXT_STD | |||||
| FROM | |||||
| ( | |||||
| SELECT XXCODE, | |||||
| base.cti_soundex_nom(replace(XXTEXT,''.'','''')) AS XXTEXT_soundex, | |||||
| MIN(XXTEXT) AS XXTEXT_STD, | |||||
| to_char(count(*),''FM0000000000'') || MIN(to_char(XXCENT,''FM000'') || to_char(XXCETS,''FM000'')) AS key | |||||
| FROM ' || i_from_table || ' | |||||
| GROUP BY 1,2 | |||||
| ) subview | |||||
| GROUP BY 1 | |||||
| ) cti_shs_multicode_std | |||||
| ON XXCODE = XXCODE_STD | |||||
| ORDER BY 3,5 | |||||
| ;' | |||||
| ; | |||||
| EXECUTE _sqlcmd; | |||||
| RETURN 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,23 @@ | |||||
| return: date | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: anyelement | |||||
| p1: | |||||
| type: anyelement | |||||
| p2: | |||||
| type: anyelement | |||||
| strict: STRICT | |||||
| src: | | |||||
| DECLARE | |||||
| i_year text; | |||||
| i_month text; | |||||
| i_day text; | |||||
| return_date date; | |||||
| BEGIN | |||||
| i_year = $1; | |||||
| i_month = $2; | |||||
| i_day = $3; | |||||
| return_date = to_date(lpad(i_year, 4, '0') || lpad(i_month, 2, '0') || lpad(i_day, 2, '0'), 'YYYYMMDD'); | |||||
| return return_date; | |||||
| END; | |||||
| @ -0,0 +1,49 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| src: | | |||||
| DECLARE | |||||
| result TEXT; | |||||
| BEGIN | |||||
| with eff_perm_0 as ( | |||||
| select | |||||
| p_contrats_mois.oid, | |||||
| p_contrats_mois.salarie_id, | |||||
| p_contrats_mois.mois_activite, | |||||
| sum(case when bool_and(p_profils.type_contrat_section_code[9] = 'CDI' and p_profils.type_temps_travail_section_code[9] = 'TC') | |||||
| then | |||||
| case when to_char(p_contrats_mois.date_fin, 'YYYYMM') != p_contrats_mois.mois_activite then base.cti_last_day((p_contrats_mois.mois_activite||'01')::date) else p_contrats_mois.date_fin end | |||||
| - case when to_char(p_contrats_mois.date_debut, 'YYYYMM') != p_contrats_mois.mois_activite then base.cti_first_day((p_contrats_mois.mois_activite||'01')::date) else p_contrats_mois.date_debut end | |||||
| + 1 | |||||
| else 0 end | |||||
| ) | |||||
| over (partition by p_contrats_mois.salarie_id, substr(p_contrats_mois.mois_activite, 1, 4) order by p_contrats_mois.date_debut) as duree | |||||
| from rh.p_contrats_mois | |||||
| join rh.p_profil_contrat_mois on p_profil_contrat_mois.contrat_mois_id = p_contrats_mois.oid | |||||
| join rh.p_profils on p_profils.oid = p_profil_contrat_mois.profil_id | |||||
| group by 1,2,3, p_contrats_mois.date_debut, p_contrats_mois.date_fin, p_contrats_mois.mois_activite | |||||
| window w as (partition by p_contrats_mois.salarie_id, p_contrats_mois.mois_activite)) | |||||
| , eff_perm_1 as ( | |||||
| select | |||||
| array_agg(oid) as arr_oid, | |||||
| salarie_id, | |||||
| mois_activite, | |||||
| case when sum(base.cti_last_day((mois_activite||'01')::date) - base.cti_first_day((substr(mois_activite, 1, 4)||'0101')::date)) + 1 = duree | |||||
| then 1 else 0 end as effectif_permanent | |||||
| from eff_perm_0 | |||||
| GROUP BY salarie_id, mois_activite, duree | |||||
| ) | |||||
| , eff_perm as ( | |||||
| select | |||||
| unnest(arr_oid) as oid, | |||||
| effectif_permanent | |||||
| from eff_perm_1 | |||||
| ) | |||||
| update rh.p_contrats_mois set | |||||
| effectif_permanent = eff_perm.effectif_permanent | |||||
| from eff_perm | |||||
| where true | |||||
| and p_contrats_mois.oid = eff_perm.oid | |||||
| and p_contrats_mois.effectif_permanent is distinct from eff_perm.effectif_permanent | |||||
| ; | |||||
| return 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,165 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: text | |||||
| name: i_table_code | |||||
| src: | | |||||
| DECLARE | |||||
| result TEXT; | |||||
| BEGIN | |||||
| -- Si Toutes les tables, mettre à jour oid par codes | |||||
| IF (i_table_code = '*ALL') THEN | |||||
| PERFORM base.cti_initialize_classes_by_code('rh'); | |||||
| PERFORM base.cti_initialize_listes_by_code('rh'); | |||||
| END IF; | |||||
| IF (i_table_code = 'ANA' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_section_analytique'', ''ANA'','''');'; | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_ventilation_section'', ''ANA'',''section_analytique_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'AGE' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_ages'', ''AGE'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'ANC' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_anciennetes_annee'', ''ANC'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'CPO' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_codes_postaux'', ''CPO'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'CPT' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_compte'', ''CPT'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'ETS' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_etablissements'', ''ETS'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'COM' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_compte'', ''COM'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'MOA' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_motifs_arret'', ''MOA'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'NAT' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_nationalites'', ''NAT'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'ORC' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_organismes_cotisation'', ''ORC'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'CAE' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''CAE'',''cadre_emploi_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'CAC' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''CAC'',''categorie_conge_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'CSC' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''CSC'',''categorie_socio_professionnelle_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'CAS' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''CAS'',''categorie_statutaire_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'CEM' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''CEM'',''code_emploi_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'GCP' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''GCP'',''commission_paritaire_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'COI' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''COI'',''compte_salarie_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'FIL' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''FIL'',''filiere_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'GCT' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''GCT'',''groupe_cotisant_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'GRG' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''GRG'',''grille_groupe_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'GRI' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''GRI'',''grille_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'LEB' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''LEB'',''lettre_budgetaire_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'MTD' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''MTD'',''motif_debut_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'MTF' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''MTF'',''motif_fin_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'PNI' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_planning_niveau'', ''PNI'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'SER' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''SER'',''service_section'');'; | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_planning_service'', ''SER'',''service_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'QUA' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''QUA'',''qualification_section'');'; | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_planning_qualification'', ''QUA'',''qualification_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'SAC' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''SAC'',''section_analytique_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'SAP' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''SAP'',''section_analytique_paie_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'SPE' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''SPE'',''specialite_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'STA' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''STA'',''statut_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'TCN' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''TCN'',''type_contrat_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'THO' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''THO'',''type_horaire_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'TTT' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''TTT'',''type_temps_travail_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'UNF' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_profils'', ''UNF'',''unite_fonctionnelle_section'');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'RUP' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_rubriques'', ''RUP'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'SAL' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''p_salaries'', ''SAL'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'PQU' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_planning_qualification'', ''PQU'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'PSE' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_planning_service'', ''PSE'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'PAB' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_planning_type_absence'', ''PAB'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'PCH' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT base.cti_update_classes(''rh'', ''t_planning_code_horaire'', ''PCH'','''');'; | |||||
| END IF; | |||||
| IF (i_table_code = 'TCN' OR i_table_code = 'TTT' OR i_table_code = '*ALL') THEN | |||||
| EXECUTE 'SELECT rh.cti_update_effectif_permanent();'; | |||||
| END IF; | |||||
| IF (i_table_code = 'POLE' OR i_table_code = '*ALL') THEN | |||||
| PERFORM base.cti_update_classes('base', 't_pole', 'POLE',''); | |||||
| UPDATE rh.t_pole SET | |||||
| section_id = t_pole.section_id, | |||||
| section_code = t_pole.section_code, | |||||
| section_texte = t_pole.section_texte | |||||
| FROM base.t_pole as t_pole_base | |||||
| WHERE t_pole.oid = t_pole_base.oid AND | |||||
| ( | |||||
| t_pole.section_id IS DISTINCT FROM t_pole_base.section_id OR | |||||
| t_pole.section_code IS DISTINCT FROM t_pole_base.section_code OR | |||||
| t_pole.section_texte IS DISTINCT FROM t_pole_base.section_texte | |||||
| ) | |||||
| ; | |||||
| END IF; | |||||
| RETURN 'OK'; | |||||
| END; | |||||
| @ -0,0 +1,23 @@ | |||||
| return: text | |||||
| lang: plpgsql | |||||
| parameters: | |||||
| p0: | |||||
| type: text | |||||
| name: i_liste | |||||
| src: | | |||||
| DECLARE | |||||
| _liste text; | |||||
| BEGIN | |||||
| _liste = i_liste; | |||||
| _liste = trim(translate(COALESCE(_liste,''),'"' || chr(9) || chr(10) || chr(13),' ')); | |||||
| _liste = replace(_liste,' ',' '); | |||||
| _liste = replace(_liste,' ',' '); | |||||
| _liste = replace(_liste,' ',' '); | |||||
| _liste = replace(_liste,' ',' '); | |||||
| _liste = (SELECT coalesce(base.cti_group_concat_without_sep(code || ' '), '') | |||||
| FROM | |||||
| (SELECT code FROM base.cti_unnest(string_to_array(_liste,' ')) AS code ORDER BY 1) subview | |||||
| ); | |||||
| RETURN _liste ; | |||||
| END; | |||||
| @ -0,0 +1,5 @@ | |||||
| min: NO MINVALUE | |||||
| max: NO MAXVALUE | |||||
| start: 1 | |||||
| increment: 1 | |||||
| cache: 1 | |||||
| @ -0,0 +1,5 @@ | |||||
| min: NO MINVALUE | |||||
| max: NO MAXVALUE | |||||
| start: 1 | |||||
| increment: 1 | |||||
| cache: 1 | |||||
| @ -0,0 +1,5 @@ | |||||
| min: NO MINVALUE | |||||
| max: NO MAXVALUE | |||||
| start: 1 | |||||
| increment: 1 | |||||
| cache: 1 | |||||
| @ -0,0 +1,5 @@ | |||||
| min: NO MINVALUE | |||||
| max: NO MAXVALUE | |||||
| start: 1 | |||||
| increment: 1 | |||||
| cache: 1 | |||||
| @ -0,0 +1,5 @@ | |||||
| min: NO MINVALUE | |||||
| max: NO MAXVALUE | |||||
| start: 1 | |||||
| increment: 1 | |||||
| cache: 1 | |||||
| @ -0,0 +1,5 @@ | |||||
| min: NO MINVALUE | |||||
| max: NO MAXVALUE | |||||
| start: 1 | |||||
| increment: 1 | |||||
| cache: 1 | |||||
| @ -0,0 +1,5 @@ | |||||
| min: NO MINVALUE | |||||
| max: NO MAXVALUE | |||||
| start: 1 | |||||
| increment: 1 | |||||
| cache: 1 | |||||
| @ -0,0 +1,5 @@ | |||||
| min: NO MINVALUE | |||||
| max: NO MAXVALUE | |||||
| start: 1 | |||||
| increment: 1 | |||||
| cache: 1 | |||||
| @ -0,0 +1,5 @@ | |||||
| min: NO MINVALUE | |||||
| max: NO MAXVALUE | |||||
| start: 1 | |||||
| increment: 1 | |||||
| cache: 1 | |||||
| @ -0,0 +1,5 @@ | |||||
| min: NO MINVALUE | |||||
| max: NO MAXVALUE | |||||
| start: 1 | |||||
| increment: 1 | |||||
| cache: 1 | |||||
| @ -0,0 +1,5 @@ | |||||
| min: NO MINVALUE | |||||
| max: NO MAXVALUE | |||||
| start: 1 | |||||
| increment: 1 | |||||
| cache: 1 | |||||
| @ -0,0 +1,5 @@ | |||||
| min: NO MINVALUE | |||||
| max: NO MAXVALUE | |||||
| start: 1 | |||||
| increment: 1 | |||||
| cache: 1 | |||||