From 2393a6cbb54461afffae7730888ae323c0c34105 Mon Sep 17 00:00:00 2001 From: David Bruant Date: Wed, 18 Dec 2024 17:39:32 +0100 Subject: [PATCH] =?UTF-8?q?Stocker=20le=20d=C3=A9partement=20principal=20s?= =?UTF-8?q?i=20ce=20dernier=20est=20rempli=20en=20cas=20d'absence=20des=20?= =?UTF-8?q?autres=20infos=20de=20localisation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...c-d\303\251marches-simplifi\303\251es-88444.js" | 12 +++++++++++- .../apiSchema.ts" | 14 ++++++++------ 2 files changed, 19 insertions(+), 7 deletions(-) diff --git "a/outils/sync-d\303\251marches-simplifi\303\251es-88444.js" "b/outils/sync-d\303\251marches-simplifi\303\251es-88444.js" index 2568421..542d71e 100644 --- "a/outils/sync-d\303\251marches-simplifi\303\251es-88444.js" +++ "b/outils/sync-d\303\251marches-simplifi\303\251es-88444.js" @@ -22,7 +22,7 @@ import _schema88444 from '../data/démarches-simplifiées/schema-DS-88444.json' /** @import {default as Personne, PersonneInitializer} from '../scripts/types/database/public/Personne.ts' */ /** @import {default as Entreprise} from '../scripts/types/database/public/Entreprise.ts' */ /** @import {AnnotationsPriveesDemarcheSimplifiee88444, DossierDemarcheSimplifiee88444} from '../scripts/types/démarches-simplifiées/DémarcheSimplifiée88444.ts' */ -/** @import {DémarchesSimpliféesCommune, BaseChampDS, ChampDSCommunes, ChampDSDépartements, ChampDSRégions, Dossier as DossierDS, Traitement, Message } from '../scripts/types/démarches-simplifiées/apiSchema.ts' */ +/** @import {DémarchesSimpliféesCommune, BaseChampDS, ChampDSCommunes, ChampDSDépartements, ChampDSRégions, Dossier as DossierDS, Traitement, Message, ChampDSDépartement, DémarchesSimpliféesDépartement } from '../scripts/types/démarches-simplifiées/apiSchema.ts' */ /** @import {SchemaDémarcheSimplifiée, ChampDescriptor} from '../scripts/types/démarches-simplifiées/schema.ts' */ /** @import {DossierPourSynchronisation} from '../scripts/types/démarches-simplifiées/DossierPourSynchronisation.ts' */ @@ -169,12 +169,16 @@ const dossiersPourSynchronisation = dossiersDS.map(( const champCommunes = champById.get(pitchouKeyToChampDS.get('Commune(s) où se situe le projet')) /** @type {ChampDSDépartements} */ const champDépartements = champById.get(pitchouKeyToChampDS.get('Département(s) où se situe le projet')) + /** @type {ChampDSDépartement} */ + const champDépartementPrincipal = champById.get(pitchouKeyToChampDS.get('Dans quel département se localise majoritairement votre projet ?')) /** @type {ChampDSRégions} */ const champRégions = champById.get(pitchouKeyToChampDS.get('Région(s) où se situe le projet')) /** @type {DémarchesSimpliféesCommune[] | undefined} */ let communes; + + /** @type {DémarchesSimpliféesDépartement['code'][] | undefined} */ let départements; let régions; @@ -210,6 +214,12 @@ const dossiersPourSynchronisation = dossiersDS.map(( } } + // Si la localisation avec les champs dédiés (surtout communes et départements) a échoué, + // se rabattre sur le champ du département principal s'il est présent + if(champDépartementPrincipal && (!départements || départements.length === 0)){ + départements = [champDépartementPrincipal.departement.code] + } + /* Demandeur diff --git "a/scripts/types/d\303\251marches-simplifi\303\251es/apiSchema.ts" "b/scripts/types/d\303\251marches-simplifi\303\251es/apiSchema.ts" index a06a2e7..e4c90e8 100644 --- "a/scripts/types/d\303\251marches-simplifi\303\251es/apiSchema.ts" +++ "b/scripts/types/d\303\251marches-simplifi\303\251es/apiSchema.ts" @@ -26,6 +26,12 @@ export interface DémarchesSimpliféesCommune{ postalCode: string } +export interface DémarchesSimpliféesDépartement { + name: string + code: string +} + + interface BaseChampDSCommune extends BaseChampDS { commune: DémarchesSimpliféesCommune departement: DémarchesSimpliféesDépartement @@ -33,16 +39,12 @@ interface BaseChampDSCommune extends BaseChampDS { export type ChampDSCommunes = BaseRepetitionChampsDS -export interface DémarchesSimpliféesDépartement { - name: string - code: string -} -interface BaseChampDSDépartement extends BaseChampDS { +export interface ChampDSDépartement extends BaseChampDS { departement: DémarchesSimpliféesDépartement } -export type ChampDSDépartements = BaseRepetitionChampsDS +export type ChampDSDépartements = BaseRepetitionChampsDS export interface BaseChampDSRégion extends BaseChampDS { region: {