nh...@adullact.net
unread,Jan 19, 2017, 10:50:49 AM1/19/17Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to openmairi...@googlegroups.com
Author: nhaye
Date: 2017-01-19 16:50:45 +0100 (Thu, 19 Jan 2017)
New Revision: 1170
Modified:
trunk/obj/traitement.insee_export.class.php
Log:
Correction de l'export INSEE
Modified: trunk/obj/traitement.insee_export.class.php
===================================================================
--- trunk/obj/traitement.insee_export.class.php 2017-01-10 11:54:13 UTC (rev 1169)
+++ trunk/obj/traitement.insee_export.class.php 2017-01-19 15:50:45 UTC (rev 1170)
@@ -267,84 +267,128 @@
} else {
// Export liste complémentaire
- // Position 1 - Type de mouvement toujours = 1
- $typedenregistrement = "1";
+ // Position 1 - Type de mouvement
+ if ($row['typecat'] == "Inscription") {
+ // Inscriptions:
+ // A2M pour une inscription volontaire sur
+ // liste élections municipales (avis modèle
+ // ACM, modalité inscription volontaire)
+ // A2E pour une inscription volontaire sur
+ // liste élections européennes (avis modèle
+ // ACE, modalité inscription volontaire)
+ // A3M pour une inscription par décision
+ // judiciaire sur liste élections municipales
+ // (avis modèle ACM, modalité inscription
+ // judiciaire)
+ // A3E pour une inscription par décision
+ // judiciaire sur liste élections européennes
+ if ($row['codeinscription'] === '2') {
+ $type_mvmt = "A3";
+ } else {
+ $type_mvmt = "A2";
+ }
+ } else {
+
+ // Radiations
+ // Sans changement, code du formulaire utilisé :
+ // B2E, B3E, B2M, B3M
+ // Implémentation :
+ // - B2 Radiation générale
+ // - B3 judiciaire
+ if ($row['coderadiation'] === 'J') {
+ $type_mvmt = "B3";
+ } else {
+ $type_mvmt = "B2";
+ }
+ }
+ if ($_SESSION['liste'] === 'ce') {
+ $type_mvmt .= "E";
+ } else {
+ $type_mvmt .= "M";
+ }
+ $cnen = str_pad($type_mvmt, 3," ", STR_PAD_RIGHT);
- // Position 2 - Nom et prenoms
+ // Position 4 - Numéro d'envoi du fichier
+ $cnen .= $numEnvoi;
+
+ // Position 7 - Date de création du fichier
+ $cnen .= date('Ymd');
+
+ // Position 15 - Identifiant du correspondant (avec clé)
+ $cnen .= $expediteurinsee;
+
+ // Position 23 - Zone réservée
+ $cnen .= str_pad($bl, 3," ", STR_PAD_RIGHT);
+
+ // Position 26 - Numéro d'enregistrement
+ $cnen .= str_pad($i, 6, "0", STR_PAD_LEFT);
+
+ // Position 32 - Code du département d'inscription ou radiation
+ $depville = substr($this->withoutaccent($this->page->collectivite['inseeville']),0,2);
+ $depville = str_pad($depville, 2, "0", STR_PAD_RIGHT);
+ $cnen .= $depville;
+
+ // Position 34 - Commune inscription/radiation
+ $ville = substr($this->withoutaccent($this->page->collectivite['ville']), 0, 30);
+ $cnen .= str_pad($ville, 30, " ", STR_PAD_RIGHT);
+
+ // Position 64 - Département inscription/radiation
+ $cnen .= str_pad($departement_ville, 30, " ", STR_PAD_RIGHT);
+
+ // Position 94 - Nationalité
+ $cnen .= str_pad($row['libelle_nationalite'], 15, " ", STR_PAD_RIGHT);
+
+ // Position 109 - Nom patronymique
$tmpnom = $this->withoutaccent($row['nom']);
+ $cnen .= str_pad($tmpnom, 63, " ", STR_PAD_RIGHT);
+
+ // Position 172 - Prénoms
$tmpprenom = $this->withoutaccent($row['prenom']);
- $nomprenom = str_pad($tmpnom."*".$tmpprenom."/", 68, " ", STR_PAD_RIGHT);
-
- // Position 70 - Sexe 1 = masculin 2 = feminin
- if ($row['sexe'] == 'M') {
- $sexe = "1";
- } elseif ($row['sexe'] == 'F') {
- $sexe = "2";
- } else {
- $sexe = "0";
- }
+ $cnen .= str_pad($tmpprenom, 50, " ", STR_PAD_RIGHT);
- // Position 71 - Date de naissance JJMMAA
- $date_naissance = substr($row['date_naissance'],8,2).substr($row['date_naissance'],5,2).substr($row['date_naissance'],2,2);
- $date_naissance = str_pad($date_naissance, 6, "0", STR_PAD_RIGHT);
+ // Position 222 - Sexe
+ $cnen .= $row['sexe'];
- // Position 77 - Code departement de naissance
- $departement = substr($row['code_departement_naissance'], 0, 2);
- $departement = str_pad($departement, 2, "0", STR_PAD_RIGHT);
- $code_naissance = str_pad($row['code_departement_naissance'], 5, 0, STR_PAD_RIGHT);
+ // Position 223 - Date de naissance
+ $date_naissance = date('Ymd', strtotime($row['date_naissance']));
+ $cnen .= str_pad($date_naissance, 8, "0", STR_PAD_RIGHT);
- // Position 82 - Libelle de la commune de naissance
- // Position 112 - Nom du territoire outre-mer ou pays de naissance
- if (substr($row['code_departement_naissance'],0,2)== "98" or
- substr($row['code_departement_naissance'],0,2)== "99" ) {
- // Libelle de la commune de naissance
- $libellecommune = str_pad(substr($this->withoutaccent($row['libelle_lieu_de_naissance']),0,30),30," ", STR_PAD_RIGHT);
- // Nom du territoire outre-mer ou pays de naissance
- $libelledepartement = str_pad(substr($this->withoutaccent($row['libelle_departement_naissance']), 0,12),12," ", STR_PAD_RIGHT);
- } else {
- // Pas de libellé de commune si nait en france
- $libellecommune = str_pad(substr("", 0,30),30," ", STR_PAD_RIGHT);
- // Nom du territoire outre-mer ou pays de naissance
- $libelledepartement = str_pad("",12," ", STR_PAD_RIGHT);
- }
+ // Position 231 - Pays de naissance
+ $libelle_departement_naissance = substr($row['libelle_departement_naissance'], 0, 30);
+ $cnen .= str_pad($libelle_departement_naissance, 30, " ", STR_PAD_RIGHT);
- // Position 124 - Code de mise a jour (I = pour inscription avis modele A, R = pour radiation avis modele B2)
- if ($row['typecat'] == 'Inscription') {
- $maj = "I";
- } elseif ($row['typecat'] == 'Radiation') {
- $maj = "R";
- } else {
- $maj = "0";
- }
+ // Position 261 - Département de naissance (code)
+ $code_lieu_de_naissance = substr($row['date_naissance'],0,2);
+ $cnen .= str_pad($code_lieu_de_naissance, 2, " ", STR_PAD_RIGHT);
- // Position 125
- // Date de reception de la demande en mairie (avis modele A)
- // Date de l'inscription d'office des jeunes de 18 ans proposes par l'Insee et retenus par la commission administrative
- // Date de la mise a jour (date indiquee sur le avis modele B2 : fait le ...)
- $date_modif = substr($row['date_modif'],8,2).substr($row['date_modif'],5,2).substr($row['date_modif'],2,2);
- $date_modif = str_pad($date_modif,6,"0", STR_PAD_RIGHT);
+ // Position 263 - Subdivision administrative du lieu
+ // de naissance
+ $cnen .= str_pad($bl, 30," ", STR_PAD_RIGHT);
- // Position 131 - Numero d'enregistrement
- $enregistrement = str_pad($i, 6, "0", STR_PAD_LEFT);
+ // Position 293 - Commune ou localité de naissance
+ $libelle_lieu_de_naissance = substr($row['libelle_lieu_de_naissance'], 0, 30);
+ $cnen .= str_pad($libelle_lieu_de_naissance, 30, " ", STR_PAD_RIGHT);
- // Position 137 - Code géographique
- $depville = $this->page->collectivite['inseeville'];
+ // Position 323 - Date d'inscription ou radiation
+ $date_modif = date('Ymd', strtotime($row['date_modif']));
+ $cnen .= str_pad($date_modif, 8, "0", STR_PAD_RIGHT);
- // Position 143 - Code type d'inscription
- if ($row['typecat'] == "Inscription") {
-
- // 1 pour inscription volontaire
- // 2 pour inscription par decision judiciaire
- // 8 pour inscription d'office jeunes de 18 ans
- $codeinscription = substr($row['codeinscription'], 0, 1);
- } else {
- $codeinscription = " ";
- }
+ // Position 331 - Pays d'autre inscription
+ $cnen .= str_pad($bl, 30," ", STR_PAD_RIGHT);
- // Concatenation des champs
- $cnen = $typedenregistrement.$nomprenom.$sexe.$date_naissance.$code_naissance;
- $cnen .= $libellecommune.$libelledepartement.$maj.$date_modif;
- $cnen .= $enregistrement.$depville." ".$codeinscription.$date_modif.$this->page->vars['newline'];;
+ // Position 361 - Subdivision administrative
+ $cnen .= str_pad($bl, 2," ", STR_PAD_RIGHT);
+
+ // Position 363 - Subdivision administrative
+ $cnen .= str_pad($bl, 30," ", STR_PAD_RIGHT);
+
+ // Position 393 - Commune ou localité d'autre inscription
+ $cnen .= str_pad($bl, 30," ", STR_PAD_RIGHT);
+
+ // Position 423 - Commune ou localité d'autre inscription
+ $cnen .= str_pad($bl, 78," ", STR_PAD_RIGHT);
+
+ $cnen .= $this->page->vars['newline'];
}
//