diff --git a/.database/potentiel-dev.dump b/.database/potentiel-dev.dump index 3b39366fcc0..411a1a904f3 100644 Binary files a/.database/potentiel-dev.dump and b/.database/potentiel-dev.dump differ diff --git a/.demo/Tests-Intrusions-EY.csv b/.demo/Tests-Intrusions-EY.csv index 4591cfe71a4..1476afeea95 100644 --- a/.demo/Tests-Intrusions-EY.csv +++ b/.demo/Tests-Intrusions-EY.csv @@ -3,7 +3,7 @@ N 3. Consignation";Date d'échéance au format JJ/MM/AAAA;"1. Lauréat d'aucun AO 2. Abandon classique 3. Abandon avec recandidature -4. Lauréat d'un AO";puissance_production_annuelle;prix_reference;Evaluation carbone simplifiée indiquée au C. du formulaire de candidature et arrondie (kg eq CO2/kWc);Note prix;Note carbone;Note environnementale;Note totale;Nom (personne physique) ou raison sociale (personne morale) :;Nature du candidat;Numéro SIREN ou SIRET*;Code NACE;Type entreprise;Société mère;Région d'implantation;Adresse;Nom et prénom du représentant légal;Titre du représentant légal;Nom et prénom du contact;Société du contact;Titre du contact;Adresse postale du contact;Adresse électronique du contact;Téléphone;Nom du projet;Famille de candidature;Numéro SIRET de l'installation;N°, voie, lieu-dit 1;CP;Commune;Département;Région;Deuxième commune si le projet est implanté sur deux communes;Puissance installée (MWc);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (degrés);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (minutes);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (secondes);"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude +4. Lauréat d'un AO";puissance;prix_reference;Evaluation carbone simplifiée indiquée au C. du formulaire de candidature et arrondie (kg eq CO2/kWc);Note prix;Note carbone;Note environnementale;Note totale;Nom (personne physique) ou raison sociale (personne morale) :;Nature du candidat;Numéro SIREN ou SIRET*;Code NACE;Type entreprise;Société mère;Région d'implantation;Adresse;Nom et prénom du représentant légal;Titre du représentant légal;Nom et prénom du contact;Société du contact;Titre du contact;Adresse postale du contact;Adresse électronique du contact;Téléphone;Nom du projet;Famille de candidature;Numéro SIRET de l'installation;N°, voie, lieu-dit 1;CP;Commune;Département;Région;Deuxième commune si le projet est implanté sur deux communes;Puissance installée (MWc);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (degrés);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (minutes);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (secondes);"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude (degrés)";"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude (minutes)";"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude (secondes)";Prix de référence (€/MWh);Valeur de l’évaluation carbone des modules (kg eq CO2/kWc);Financement collectif (Oui/Non);Part minimale du financement collectif (%);Origine du financement collectif;Gouvernance partagée (Oui/Non);Niveau d'engagement gouvernance partagée (%);Type d'utorisation d'Urbanisme (pièce n°3);Numéro de l'autorisation d'urbanisme;Date d'obtention de l'autorisation d'urbanisme;Commentaire si plusieurs autorisation d'urbanisme;Dépôt 1ère périodes précédentes ? 1;Dépôt 1ère périodes précédentes ? 2;Dépôt 1ère périodes précédentes ? 3;Date d'obtention du CETI;"Type de terrain d'implantation diff --git a/.demo/exampleCandidatsCRE4.csv b/.demo/exampleCandidatsCRE4.csv index 9a4e968dd31..5b49edd8013 100644 --- a/.demo/exampleCandidatsCRE4.csv +++ b/.demo/exampleCandidatsCRE4.csv @@ -4,7 +4,7 @@ N 2. Abandon classique 3. Abandon avec recandidature 4. Lauréat d'un AO";"Territoire -(AO ZNI)";puissance_production_annuelle;puissance_projet_initial;prix_reference;"Taux d'autoconsommation +(AO ZNI)";puissance;puissance_projet_initial;prix_reference;"Taux d'autoconsommation (AO autoconsommation)";Evaluation carbone simplifiée indiquée au C. du formulaire de candidature et arrondie (kg eq CO2/kWc);Note prix;Note carbone;Note environnementale;"Note innovation (AO innovation)";Note totale;;Nom (personne physique) ou raison sociale (personne morale) :;Nature du candidat;Numéro SIREN ou SIRET*;Code NACE;Type entreprise;Région d'implantation;Adresse;Nom et prénom du représentant légal;Titre du représentant légal;Nom et prénom du signataire du formulaire;Nom et prénom du contact;Titre du contact;Adresse postale du contact;Adresse électronique du contact;Téléphone;Nom du projet;Famille de candidature;Puissance installée (MWc);"Type de consommateur associé (AO autoconsommation)";"Nature et nombre du ou des consommateur(s) diff --git a/.demo/exempleCandidatsPPE2.csv b/.demo/exempleCandidatsPPE2.csv index 68a530b2616..8a7319e2cb0 100644 --- a/.demo/exempleCandidatsPPE2.csv +++ b/.demo/exempleCandidatsPPE2.csv @@ -3,7 +3,7 @@ N 3. Consignation";Date d'échéance au format JJ/MM/AAAA;"1. Lauréat d'aucun AO 2. Abandon classique 3. Abandon avec recandidature -4. Lauréat d'un AO";Installation couplée à un dispositif de stockage;Identité de l'installateur;puissance_production_annuelle;puissance_projet_initial;prix_reference;Evaluation carbone simplifiée indiquée au C. du formulaire de candidature et arrondie (kg eq CO2/kWc);Note prix;Note carbone;Note environnementale;Note totale;Nom (personne physique) ou raison sociale (personne morale) :;Nature du candidat;Numéro SIREN ou SIRET*;Code NACE;Type entreprise;Société mère;Région d'implantation;Adresse;Nom et prénom du représentant légal;Titre du représentant légal;Nom et prénom du contact;Société du contact;Titre du contact;Adresse postale du contact;Adresse électronique du contact;Téléphone;Famille de candidature;Numéro SIRET de l'installation;N°, voie, lieu-dit 1;CP;Commune;Département;Région;Deuxième commune si le projet est implanté sur deux communes;Puissance installée (MWc);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (degrés);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (minutes);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (secondes);"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude +4. Lauréat d'un AO";Installation couplée à un dispositif de stockage;Identité de l'installateur;puissance;puissance_projet_initial;prix_reference;Evaluation carbone simplifiée indiquée au C. du formulaire de candidature et arrondie (kg eq CO2/kWc);Note prix;Note carbone;Note environnementale;Note totale;Nom (personne physique) ou raison sociale (personne morale) :;Nature du candidat;Numéro SIREN ou SIRET*;Code NACE;Type entreprise;Société mère;Région d'implantation;Adresse;Nom et prénom du représentant légal;Titre du représentant légal;Nom et prénom du contact;Société du contact;Titre du contact;Adresse postale du contact;Adresse électronique du contact;Téléphone;Famille de candidature;Numéro SIRET de l'installation;N°, voie, lieu-dit 1;CP;Commune;Département;Région;Deuxième commune si le projet est implanté sur deux communes;Puissance installée (MWc);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (degrés);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (minutes);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (secondes);"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude (degrés)";"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude (minutes)";"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude (secondes)";Prix de référence (€/MWh);Valeur de l’évaluation carbone des modules (kg eq CO2/kWc);Financement collectif (Oui/Non);Part minimale du financement collectif (%);Origine du financement collectif;Gouvernance partagée (Oui/Non);Niveau d'engagement gouvernance partagée (%);Type d'utorisation d'Urbanisme (pièce n°3);Numéro de l'autorisation d'urbanisme;Date d'obtention de l'autorisation d'urbanisme;Commentaire si plusieurs autorisation d'urbanisme;Dépôt 1ère périodes précédentes ? 1;Dépôt 1ère périodes précédentes ? 2;Dépôt 1ère périodes précédentes ? 3;Date d'obtention du CETI;"Type de terrain d'implantation diff --git "a/.demo/exempleCandidatsPPE2BatimentP\303\251riode6.csv" "b/.demo/exempleCandidatsPPE2BatimentP\303\251riode6.csv" index 6a026139c88..2ce726e1edd 100644 --- "a/.demo/exempleCandidatsPPE2BatimentP\303\251riode6.csv" +++ "b/.demo/exempleCandidatsPPE2BatimentP\303\251riode6.csv" @@ -3,7 +3,7 @@ N 3. Consignation";Date d'échéance au format JJ/MM/AAAA;"1. Lauréat d'aucun AO 2. Abandon classique 3. Abandon avec recandidature -4. Lauréat d'un AO";Installation couplée à un dispositif de stockage;Identité de l'installateur;puissance_production_annuelle;puissance_projet_initial;prix_reference;Evaluation carbone simplifiée indiquée au C. du formulaire de candidature et arrondie (kg eq CO2/kWc);Note prix;Note carbone;Note environnementale;Note totale;Nom (personne physique) ou raison sociale (personne morale) :;Nature du candidat;Numéro SIREN ou SIRET*;Code NACE;Type entreprise;Société mère;Région d'implantation;Adresse;Nom et prénom du représentant légal;Titre du représentant légal;Nom et prénom du contact;Société du contact;Titre du contact;Adresse postale du contact;Adresse électronique du contact;Téléphone;Famille de candidature;Numéro SIRET de l'installation;N°, voie, lieu-dit 1;CP;Commune;Département;Région;Deuxième commune si le projet est implanté sur deux communes;Puissance installée (MWc);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (degrés);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (minutes);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (secondes);"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude +4. Lauréat d'un AO";Installation couplée à un dispositif de stockage;Identité de l'installateur;puissance;puissance_projet_initial;prix_reference;Evaluation carbone simplifiée indiquée au C. du formulaire de candidature et arrondie (kg eq CO2/kWc);Note prix;Note carbone;Note environnementale;Note totale;Nom (personne physique) ou raison sociale (personne morale) :;Nature du candidat;Numéro SIREN ou SIRET*;Code NACE;Type entreprise;Société mère;Région d'implantation;Adresse;Nom et prénom du représentant légal;Titre du représentant légal;Nom et prénom du contact;Société du contact;Titre du contact;Adresse postale du contact;Adresse électronique du contact;Téléphone;Famille de candidature;Numéro SIRET de l'installation;N°, voie, lieu-dit 1;CP;Commune;Département;Région;Deuxième commune si le projet est implanté sur deux communes;Puissance installée (MWc);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (degrés);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (minutes);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (secondes);"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude (degrés)";"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude (minutes)";"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude (secondes)";Prix de référence (€/MWh);Valeur de l’évaluation carbone des modules (kg eq CO2/kWc);Financement collectif (Oui/Non);Part minimale du financement collectif (%);Origine du financement collectif;Gouvernance partagée (Oui/Non);Niveau d'engagement gouvernance partagée (%);Type d'utorisation d'Urbanisme (pièce n°3);Numéro de l'autorisation d'urbanisme;Date d'obtention de l'autorisation d'urbanisme;Commentaire si plusieurs autorisation d'urbanisme;Dépôt 1ère périodes précédentes ? 1;Dépôt 1ère périodes précédentes ? 2;Dépôt 1ère périodes précédentes ? 3;Date d'obtention du CETI;"Type de terrain d'implantation diff --git a/.demo/exempleCandidatsPetitPV.csv b/.demo/exempleCandidatsPetitPV.csv index eecfcc64fef..c9c2c531695 100644 --- a/.demo/exempleCandidatsPetitPV.csv +++ b/.demo/exempleCandidatsPetitPV.csv @@ -3,7 +3,7 @@ N 3. Consignation";Date d'échéance au format JJ/MM/AAAA;"1. Lauréat d'aucun AO 2. Abandon classique 3. Abandon avec recandidature -4. Lauréat d'un AO";Installation couplée à un dispositif de stockage;Capacité du dispositif de stockage;Puissance du dispositif de stockage;Identité de l'installateur;Nature de l'exploitation;Taux d'autoconsommation individuelle (ACI) prévisionnel;puissance_production_annuelle;puissance_projet_initial;prix_reference;Evaluation carbone simplifiée indiquée au C. du formulaire de candidature et arrondie (kg eq CO2/kWc);Note prix;Note carbone;Note environnementale;Note totale;Nom (personne physique) ou raison sociale (personne morale) :;Nature du candidat;Numéro SIREN ou SIRET*;Code NACE;Type entreprise;Société mère;Région d'implantation;Adresse;Nom et prénom du représentant légal;Titre du représentant légal;Nom et prénom du contact;Société du contact;Titre du contact;Adresse postale du contact;Adresse électronique du contact;Téléphone;Famille de candidature;Numéro SIRET de l'installation;N°, voie, lieu-dit 1;CP;Commune;Département;Région;Deuxième commune si le projet est implanté sur deux communes;Puissance installée (MWc);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (degrés);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (minutes);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (secondes);"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude +4. Lauréat d'un AO";Installation couplée à un dispositif de stockage;Capacité du dispositif de stockage;Puissance du dispositif de stockage;Identité de l'installateur;Nature de l'exploitation;Taux d'autoconsommation individuelle (ACI) prévisionnel;puissance;puissance_projet_initial;prix_reference;Evaluation carbone simplifiée indiquée au C. du formulaire de candidature et arrondie (kg eq CO2/kWc);Note prix;Note carbone;Note environnementale;Note totale;Nom (personne physique) ou raison sociale (personne morale) :;Nature du candidat;Numéro SIREN ou SIRET*;Code NACE;Type entreprise;Société mère;Région d'implantation;Adresse;Nom et prénom du représentant légal;Titre du représentant légal;Nom et prénom du contact;Société du contact;Titre du contact;Adresse postale du contact;Adresse électronique du contact;Téléphone;Famille de candidature;Numéro SIRET de l'installation;N°, voie, lieu-dit 1;CP;Commune;Département;Région;Deuxième commune si le projet est implanté sur deux communes;Puissance installée (MWc);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (degrés);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (minutes);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (secondes);"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude (degrés)";"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude (minutes)";"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude (secondes)";Prix de référence (€/MWh);Valeur de l’évaluation carbone des modules (kg eq CO2/kWc);Financement collectif (Oui/Non);Part minimale du financement collectif (%);Origine du financement collectif;Gouvernance partagée (Oui/Non);Niveau d'engagement gouvernance partagée (%);Type d'utorisation d'Urbanisme (pièce n°3);Numéro de l'autorisation d'urbanisme;Date d'obtention de l'autorisation d'urbanisme;Commentaire si plusieurs autorisation d'urbanisme;Dépôt 1ère périodes précédentes ? 1;Dépôt 1ère périodes précédentes ? 2;Dépôt 1ère périodes précédentes ? 3;Date d'obtention du CETI;"Type de terrain d'implantation diff --git a/.demo/test-projects-seed.csv b/.demo/test-projects-seed.csv index de8e4a0fc9c..08e87485a37 100644 --- a/.demo/test-projects-seed.csv +++ b/.demo/test-projects-seed.csv @@ -3,7 +3,7 @@ N 3. Consignation";Date d'échéance au format JJ/MM/AAAA;"1. Lauréat d'aucun AO 2. Abandon classique 3. Abandon avec recandidature -4. Lauréat d'un AO";puissance_production_annuelle;prix_reference;Evaluation carbone simplifiée indiquée au C. du formulaire de candidature et arrondie (kg eq CO2/kWc);Note prix;Note carbone;Note environnementale;Note totale;Nom (personne physique) ou raison sociale (personne morale) :;Nature du candidat;Numéro SIREN ou SIRET*;Code NACE;Type entreprise;Société mère;Région d'implantation;Adresse;Nom et prénom du représentant légal;Titre du représentant légal;Nom et prénom du contact;Société du contact;Titre du contact;Adresse postale du contact;Adresse électronique du contact;Téléphone;Nom du projet;Famille de candidature;Numéro SIRET de l'installation;N°, voie, lieu-dit 1;CP;Commune;Département;Région;Deuxième commune si le projet est implanté sur deux communes;Puissance installée (MWc);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (degrés);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (minutes);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (secondes);"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude +4. Lauréat d'un AO";puissance;prix_reference;Evaluation carbone simplifiée indiquée au C. du formulaire de candidature et arrondie (kg eq CO2/kWc);Note prix;Note carbone;Note environnementale;Note totale;Nom (personne physique) ou raison sociale (personne morale) :;Nature du candidat;Numéro SIREN ou SIRET*;Code NACE;Type entreprise;Société mère;Région d'implantation;Adresse;Nom et prénom du représentant légal;Titre du représentant légal;Nom et prénom du contact;Société du contact;Titre du contact;Adresse postale du contact;Adresse électronique du contact;Téléphone;Nom du projet;Famille de candidature;Numéro SIRET de l'installation;N°, voie, lieu-dit 1;CP;Commune;Département;Région;Deuxième commune si le projet est implanté sur deux communes;Puissance installée (MWc);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (degrés);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (minutes);Coordonnées géodésiques WGS84 du barycentre de l’Installation : Latitude (secondes);"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude (degrés)";"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude (minutes)";"Coordonnées géodésiques WGS84du barycentre de l’Installation : Longitude (secondes)";Prix de référence (€/MWh);Valeur de l’évaluation carbone des modules (kg eq CO2/kWc);Part minimale du financement collectif (%);Origine du financement collectif;Gouvernance partagée (Oui/Non);Type d'utorisation d'Urbanisme (pièce n°3);Numéro de l'autorisation d'urbanisme;Date d'obtention de l'autorisation d'urbanisme;Commentaire si plusieurs autorisation d'urbanisme;Dépôt 1ère périodes précédentes ? 1;Dépôt 1ère périodes précédentes ? 2;Dépôt 1ère périodes précédentes ? 3;Date d'obtention du CETI;"Type de terrain d'implantation diff --git a/packages/applications/document-builder/src/candidature/attestation/buildCertificate.ts b/packages/applications/document-builder/src/candidature/attestation/buildCertificate.ts index b162d8201f9..2dd68d6c3ec 100644 --- a/packages/applications/document-builder/src/candidature/attestation/buildCertificate.ts +++ b/packages/applications/document-builder/src/candidature/attestation/buildCertificate.ts @@ -123,13 +123,13 @@ const mapToCertificateData = ({ evaluationCarbone: candidature.dépôt.evaluationCarboneSimplifiée, prixReference: candidature.dépôt.prixReference, - puissance: candidature.dépôt.puissanceProductionAnnuelle, + puissance: candidature.dépôt.puissance, technologie: candidature.technologie.type, engagementFournitureDePuissanceAlaPointe: candidature.dépôt.puissanceALaPointe, motifsElimination: candidature.instruction.motifÉlimination ?? '', désignationCatégorie: getDésignationCatégorie({ - puissance: candidature.dépôt.puissanceProductionAnnuelle, + puissance: candidature.dépôt.puissance, note: candidature.instruction.noteTotale, periodeDetails: période, }), diff --git a/packages/applications/legacy/src/modules/project/utils/parseProjectLine.ts b/packages/applications/legacy/src/modules/project/utils/parseProjectLine.ts index 8703e66d4ee..07cb1570516 100644 --- a/packages/applications/legacy/src/modules/project/utils/parseProjectLine.ts +++ b/packages/applications/legacy/src/modules/project/utils/parseProjectLine.ts @@ -16,7 +16,7 @@ const mappedColumns = [ 'Nom projet', 'Société mère', 'Candidat', - 'puissance_production_annuelle', + 'puissance', 'prix_reference', 'Note totale', 'Nom et prénom du représentant légal', @@ -61,7 +61,7 @@ const columnMapper = { actionnaire: (line: any) => line['Société mère'], nomCandidat: (line: any) => line['Nom (personne physique) ou raison sociale (personne morale) :'] || line['Candidat'], - puissance: (line: any) => prepareNumber(line['puissance_production_annuelle']), + puissance: (line: any) => prepareNumber(line['puissance']), prixReference: (line: any) => { const prix = prepareNumber(line['prix_reference']); diff --git a/packages/applications/legacy/src/sagas/candidature.saga.ts b/packages/applications/legacy/src/sagas/candidature.saga.ts index 922f2ab126b..1c7d473ba95 100644 --- a/packages/applications/legacy/src/sagas/candidature.saga.ts +++ b/packages/applications/legacy/src/sagas/candidature.saga.ts @@ -173,7 +173,7 @@ const mapToLegacyEventPayload = ( technologie: payload.technologie, historiqueAbandon: payload.historiqueAbandon, désignationCatégorie: getDésignationCatégorie({ - puissance: payload.puissanceProductionAnnuelle, + puissance: payload.puissance, note: payload.noteTotale, periodeDetails: période, }), @@ -188,7 +188,7 @@ const mapToNotifiedCorrectedData = ( ): ProjectRawDataCorrected['payload']['correctedData'] => ({ email: payload.emailContact, motifsElimination: payload.motifÉlimination ?? '', - puissanceInitiale: payload.puissanceProductionAnnuelle, + puissanceInitiale: payload.puissance, engagementFournitureDePuissanceAlaPointe: payload.puissanceALaPointe, prixReference: payload.prixReference, note: payload.noteTotale, @@ -210,8 +210,8 @@ const mapToCorrectedData = (payload: SubscriptionEvent['payload']) => ({ email: payload.emailContact, motifsElimination: payload.motifÉlimination ?? '', actionnaire: payload.sociétéMère, - puissance: payload.puissanceProductionAnnuelle, - puissanceInitiale: payload.puissanceProductionAnnuelle, + puissance: payload.puissance, + puissanceInitiale: payload.puissance, engagementFournitureDePuissanceAlaPointe: payload.puissanceALaPointe, prixReference: payload.prixReference, note: payload.noteTotale, diff --git a/packages/applications/ssr/src/app/candidatures/(liste)/CandidatureListItem.tsx b/packages/applications/ssr/src/app/candidatures/(liste)/CandidatureListItem.tsx index 608e610b487..551fac36bbc 100644 --- a/packages/applications/ssr/src/app/candidatures/(liste)/CandidatureListItem.tsx +++ b/packages/applications/ssr/src/app/candidatures/(liste)/CandidatureListItem.tsx @@ -22,7 +22,7 @@ export const CandidatureListItem: FC = ({ nomCandidat, emailContact, nomReprésentantLégal, - puissanceProductionAnnuelle, + puissance, unitéPuissance, prixReference, evaluationCarboneSimplifiée, @@ -39,7 +39,7 @@ export const CandidatureListItem: FC = ({ email={emailContact} nomReprésentantLégal={nomReprésentantLégal} puissance={{ - valeur: puissanceProductionAnnuelle, + valeur: puissance, unité: unitéPuissance, }} prixReference={prixReference} diff --git "a/packages/applications/ssr/src/app/candidatures/[identifiant]/D\303\251tailsCandidature.page.tsx" "b/packages/applications/ssr/src/app/candidatures/[identifiant]/D\303\251tailsCandidature.page.tsx" index 8fd238c53b5..f79455a0a2b 100644 --- "a/packages/applications/ssr/src/app/candidatures/[identifiant]/D\303\251tailsCandidature.page.tsx" +++ "b/packages/applications/ssr/src/app/candidatures/[identifiant]/D\303\251tailsCandidature.page.tsx" @@ -117,7 +117,7 @@ export const DétailsCandidaturePage: FC = ({ )} - Puissance installée : {dépôt.puissanceProductionAnnuelle} MW + Puissance installée : {dépôt.puissance} MW Prix de référence : {dépôt.prixReference} €/MWh {dépôt.puissanceDeSite && ( Puissance de site : {dépôt.puissanceDeSite} MW diff --git a/packages/applications/ssr/src/app/candidatures/[identifiant]/corriger/CorrigerCandidature.form.tsx b/packages/applications/ssr/src/app/candidatures/[identifiant]/corriger/CorrigerCandidature.form.tsx index 16de49f36eb..6bab5138609 100644 --- a/packages/applications/ssr/src/app/candidatures/[identifiant]/corriger/CorrigerCandidature.form.tsx +++ b/packages/applications/ssr/src/app/candidatures/[identifiant]/corriger/CorrigerCandidature.form.tsx @@ -266,12 +266,12 @@ export const CorrigerCandidatureForm: React.FC = ( }} /> ({ nomCandidat: candidature.dépôt.nomCandidat, nomRepresentantLegal: candidature.dépôt.nomReprésentantLégal, emailContact: candidature.dépôt.emailContact.formatter(), - puissanceProductionAnnuelle: candidature.dépôt.puissanceProductionAnnuelle, + puissance: candidature.dépôt.puissance, prixReference: candidature.dépôt.prixReference, societeMere: candidature.dépôt.sociétéMère, puissanceALaPointe: candidature.dépôt.puissanceALaPointe, diff --git "a/packages/applications/ssr/src/app/candidatures/importer/(demarche-simplifi\303\251e)/importerCandidaturesParDS.action.ts" "b/packages/applications/ssr/src/app/candidatures/importer/(demarche-simplifi\303\251e)/importerCandidaturesParDS.action.ts" index 5e1c6b15954..124348780f5 100644 --- "a/packages/applications/ssr/src/app/candidatures/importer/(demarche-simplifi\303\251e)/importerCandidaturesParDS.action.ts" +++ "b/packages/applications/ssr/src/app/candidatures/importer/(demarche-simplifi\303\251e)/importerCandidaturesParDS.action.ts" @@ -129,7 +129,7 @@ const action: FormAction = async ( // seront récupérées lors de la désignation lauréate de la candidature attestationConstitutionGf: undefined, dateConstitutionGf: undefined, - puissanceProductionAnnuelle: convertirKWcEnMWc(dépôt.puissanceProductionAnnuelle), + puissance: convertirKWcEnMWc(dépôt.puissance), puissanceDeSite: dépôt.puissanceDeSite !== undefined ? convertirKWcEnMWc(dépôt.puissanceDeSite) diff --git "a/packages/applications/ssr/src/app/elimines/[identifiant]/(d\303\251tails)/D\303\251tailsProjet\303\211limin\303\251.page.tsx" "b/packages/applications/ssr/src/app/elimines/[identifiant]/(d\303\251tails)/D\303\251tailsProjet\303\211limin\303\251.page.tsx" index f751da32aa3..2416af22cc4 100644 --- "a/packages/applications/ssr/src/app/elimines/[identifiant]/(d\303\251tails)/D\303\251tailsProjet\303\211limin\303\251.page.tsx" +++ "b/packages/applications/ssr/src/app/elimines/[identifiant]/(d\303\251tails)/D\303\251tailsProjet\303\211limin\303\251.page.tsx" @@ -36,7 +36,7 @@ export const DétailsProjetÉliminéPage: FC = identifiantProjet, éliminé: { unitéPuissance, - puissanceProductionAnnuelle, + puissance, localité, sociétéMère, emailContact, @@ -108,7 +108,7 @@ export const DétailsProjetÉliminéPage: FC = )}
  • - Puissance : {puissanceProductionAnnuelle}{' '} + Puissance : {puissance}{' '} {Candidature.UnitéPuissance.bind(unitéPuissance).formatter()}
  • {prixReference && ( diff --git "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/modifier/ModifierLaur\303\251at.form.tsx" "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/modifier/ModifierLaur\303\251at.form.tsx" index ac410b98b46..5cfad1d4093 100644 --- "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/modifier/ModifierLaur\303\251at.form.tsx" +++ "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/modifier/ModifierLaur\303\251at.form.tsx" @@ -219,11 +219,11 @@ export const ModifierLauréatForm: React.FC = ({ = async (_, body) => }); } - if (laureat.puissanceProductionAnnuelle || laureat.puissanceDeSite) { + if (laureat.puissance || laureat.puissanceDeSite) { const puissanceActuelle = await getPuissanceInfos(rawIdentifiantProjet); await mediator.send({ @@ -99,7 +99,7 @@ const action: FormAction = async (_, body) => identifiantProjetValue: identifiantProjet, identifiantUtilisateurValue: utilisateur.identifiantUtilisateur.formatter(), dateModificationValue: new Date().toISOString(), - puissanceValue: laureat.puissanceProductionAnnuelle ?? puissanceActuelle.puissance, + puissanceValue: laureat.puissance ?? puissanceActuelle.puissance, puissanceDeSiteValue: laureat.puissanceDeSite ?? puissanceActuelle.puissanceDeSite, raisonValue: '', }, @@ -213,8 +213,7 @@ const mapBodyToCandidatureUsecaseData = ( nomReprésentantLégal: data.nomRepresentantLegal ?? previous.nomReprésentantLégal, technologie: data.technologie ?? previous.technologie.formatter(), nomCandidat: data.nomCandidat ?? previous.nomCandidat, - puissanceProductionAnnuelle: - data.puissanceProductionAnnuelle ?? previous.puissanceProductionAnnuelle, + puissance: data.puissance ?? previous.puissance, prixReference: data.prixReference ?? previous.prixReference, emailContact: data.emailContact ?? previous.emailContact.formatter(), localité: localitéValue, diff --git "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/modifier/page.tsx" "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/modifier/page.tsx" index 3f63fff1fdd..5d0812ffe94 100644 --- "a/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/modifier/page.tsx" +++ "b/packages/applications/ssr/src/app/laureats/[identifiant]/(d\303\251tails)/modifier/page.tsx" @@ -69,7 +69,7 @@ const mapToProps: MapToProps = ({ candidature, lauréat, cahierDesCharges }) => region: candidature.dépôt.localité.région, actionnariat: candidature.dépôt.actionnariat?.type, puissanceALaPointe: candidature.dépôt.puissanceALaPointe, - puissanceProductionAnnuelle: candidature.dépôt.puissanceProductionAnnuelle, + puissance: candidature.dépôt.puissance, coefficientKChoisi: candidature.dépôt.coefficientKChoisi, puissanceDeSite: candidature.dépôt.puissanceDeSite, numeroDAutorisationDUrbanisme: candidature.dépôt.autorisationDUrbanisme?.numéro, @@ -114,7 +114,7 @@ const mapToProps: MapToProps = ({ candidature, lauréat, cahierDesCharges }) => currentValue: lauréat.lauréat.localité.région, estEnCoursDeModification: false, }, - puissanceProductionAnnuelle: { + puissance: { currentValue: lauréat.puissance.puissance, estEnCoursDeModification: !!lauréat.puissance.dateDemandeEnCours, }, diff --git a/packages/applications/ssr/src/utils/candidature/candidatureFields.schema.ts b/packages/applications/ssr/src/utils/candidature/candidatureFields.schema.ts index c9718d904a9..d8130540e54 100644 --- a/packages/applications/ssr/src/utils/candidature/candidatureFields.schema.ts +++ b/packages/applications/ssr/src/utils/candidature/candidatureFields.schema.ts @@ -27,7 +27,7 @@ export const numéroCRESchema = requiredStringSchema; export const nomProjetSchema = requiredStringSchema; export const sociétéMèreSchema = optionalStringWithDefaultValueSchema; export const nomCandidatSchema = requiredStringSchema; -export const optionalPuissanceProductionAnnuelleSchema = optionalStrictlyPositiveNumberSchema; +export const optionalPuissanceSchema = optionalStrictlyPositiveNumberSchema; export const prixRéférenceSchema = strictlyPositiveNumberSchema; export const noteTotaleSchema = numberSchema; export const nomReprésentantLégalSchema = requiredStringSchema; diff --git "a/packages/applications/ssr/src/utils/candidature/candidatureNotifi\303\251e.schema.ts" "b/packages/applications/ssr/src/utils/candidature/candidatureNotifi\303\251e.schema.ts" index 172184a2f41..5c2b1604b2b 100644 --- "a/packages/applications/ssr/src/utils/candidature/candidatureNotifi\303\251e.schema.ts" +++ "b/packages/applications/ssr/src/utils/candidature/candidatureNotifi\303\251e.schema.ts" @@ -52,7 +52,7 @@ const candidatureNotifiéeSchema = z actionnariat: actionnariatCorrigerCandidatureSchema, nomProjet: nomProjetSchema, puissanceALaPointe: puissanceALaPointeSchema, - puissanceProductionAnnuelle: puissanceOuPuissanceDeSiteSchema, + puissance: puissanceOuPuissanceDeSiteSchema, coefficientKChoisi: choixCoefficientKSchema, puissanceDeSite: optionalPuissanceOuPuissanceDeSiteSchema, dateDAutorisationDUrbanisme: dateDAutorisationDUrbanismeSchema, @@ -69,7 +69,7 @@ const lauréatSchema = z actionnaire: sociétéMèreSchema, nomRepresentantLegal: nomReprésentantLégalSchema, nomProjet: nomProjetSchema, - puissanceProductionAnnuelle: puissanceOuPuissanceDeSiteSchema, + puissance: puissanceOuPuissanceDeSiteSchema, puissanceDeSite: optionalPuissanceOuPuissanceDeSiteSchema, nomCandidat: nomCandidatSchema, evaluationCarboneSimplifiee: évaluationCarboneSimplifiéeSchema, diff --git a/packages/applications/ssr/src/utils/candidature/csv/candidatureCsv.schema.test.ts b/packages/applications/ssr/src/utils/candidature/csv/candidatureCsv.schema.test.ts index b9d9f933d47..103bb6a7505 100644 --- a/packages/applications/ssr/src/utils/candidature/csv/candidatureCsv.schema.test.ts +++ b/packages/applications/ssr/src/utils/candidature/csv/candidatureCsv.schema.test.ts @@ -13,7 +13,7 @@ const minimumValues: Partial> = { 'Nom projet': 'nom projet', Candidat: 'candidat', Période: 'période', - puissance_production_annuelle: '1', + puissance: '1', prix_reference: '1', 'Note totale': '1', 'Nom et prénom du représentant légal': 'valentin cognito', @@ -58,7 +58,7 @@ describe('Schema candidature CSV', () => { nomProjet: 'nom projet', sociétéMère: '', nomCandidat: 'candidat', - puissanceProductionAnnuelle: 1, + puissance: 1, prixReference: 1, noteTotale: 1, nomReprésentantLégal: 'valentin cognito', @@ -106,7 +106,7 @@ describe('Schema candidature CSV', () => { nomProjet: 'nom projet', sociétéMère: '', nomCandidat: 'candidat', - puissanceProductionAnnuelle: 1, + puissance: 1, prixReference: 1, noteTotale: 1, nomReprésentantLégal: 'valentin cognito', @@ -169,7 +169,7 @@ describe('Schema candidature CSV', () => { nomProjet: 'nom projet', sociétéMère: '', nomCandidat: 'candidat', - puissanceProductionAnnuelle: 1, + puissance: 1, prixReference: 1, noteTotale: 1, nomReprésentantLégal: 'valentin cognito', @@ -247,15 +247,10 @@ describe('Schema candidature CSV', () => { test('nombre avec caractères', () => { const result = candidatureCsvSchema.safeParse({ ...minimumValuesEliminé, - puissance_production_annuelle: 'abcd', + puissance: 'abcd', 'Note totale': 'abcd', }); - assertError( - result, - ['puissance_production_annuelle'], - 'Le champ doit être un nombre positif', - 0, - ); + assertError(result, ['puissance'], 'Le champ doit être un nombre positif', 0); assertError(result, ['Note totale'], 'Le champ doit être un nombre', 1); }); @@ -271,37 +266,25 @@ describe('Schema candidature CSV', () => { test('nombre strictement positif requis vide', () => { const result = candidatureCsvSchema.safeParse({ ...minimumValuesEliminé, - puissance_production_annuelle: '', + puissance: '', }); - assertError( - result, - ['puissance_production_annuelle'], - 'Le champ doit être un nombre positif', - ); + assertError(result, ['puissance'], 'Le champ doit être un nombre positif'); }); test('nombre strictement positif vaut 0', () => { const result = candidatureCsvSchema.safeParse({ ...minimumValuesEliminé, - puissance_production_annuelle: 0, + puissance: 0, }); - assertError( - result, - ['puissance_production_annuelle'], - 'Le champ doit être un nombre positif', - ); + assertError(result, ['puissance'], 'Le champ doit être un nombre positif'); }); test('nombre strictement positif avec valeur négative', () => { const result = candidatureCsvSchema.safeParse({ ...minimumValuesEliminé, - puissance_production_annuelle: 0, + puissance: 0, }); - assertError( - result, - ['puissance_production_annuelle'], - 'Le champ doit être un nombre positif', - ); + assertError(result, ['puissance'], 'Le champ doit être un nombre positif'); }); test('oui/non avec valeur invalide', () => { diff --git a/packages/applications/ssr/src/utils/candidature/csv/candidatureCsv.schema.ts b/packages/applications/ssr/src/utils/candidature/csv/candidatureCsv.schema.ts index 2942ac7dc06..b9ee5295966 100644 --- a/packages/applications/ssr/src/utils/candidature/csv/candidatureCsv.schema.ts +++ b/packages/applications/ssr/src/utils/candidature/csv/candidatureCsv.schema.ts @@ -87,7 +87,7 @@ const colonnes = { nomProjet: 'Nom projet', sociétéMère: 'Société mère', nomCandidat: 'Candidat', - puissanceProductionAnnuelle: 'puissance_production_annuelle', + puissance: 'puissance', prixReference: 'prix_reference', noteTotale: 'Note totale', nomReprésentantLégal: 'Nom et prénom du représentant légal', @@ -137,7 +137,7 @@ const candidatureCsvRowSchema = z [colonnes.nomProjet]: nomProjetSchema, [colonnes.sociétéMère]: sociétéMèreSchema, [colonnes.nomCandidat]: nomCandidatSchema, - [colonnes.puissanceProductionAnnuelle]: puissanceOuPuissanceDeSiteSchema, + [colonnes.puissance]: puissanceOuPuissanceDeSiteSchema, [colonnes.prixReference]: prixRéférenceSchema, [colonnes.noteTotale]: noteTotaleSchema, [colonnes.nomReprésentantLégal]: nomReprésentantLégalSchema, diff --git "a/packages/applications/ssr/src/utils/candidature/d\303\251p\303\264t.schema.ts" "b/packages/applications/ssr/src/utils/candidature/d\303\251p\303\264t.schema.ts" index 5753c36765c..cdacbe8ac8f 100644 --- "a/packages/applications/ssr/src/utils/candidature/d\303\251p\303\264t.schema.ts" +++ "b/packages/applications/ssr/src/utils/candidature/d\303\251p\303\264t.schema.ts" @@ -30,7 +30,7 @@ export const dépôtSchema = z.object({ nomProjet: nomProjetSchema, sociétéMère: sociétéMèreSchema, nomCandidat: nomCandidatSchema, - puissanceProductionAnnuelle: puissanceOuPuissanceDeSiteSchema, + puissance: puissanceOuPuissanceDeSiteSchema, prixReference: prixRéférenceSchema, nomReprésentantLégal: nomReprésentantLégalSchema, emailContact: emailContactSchema, diff --git "a/packages/applications/ssr/src/utils/mod\303\250le-document/mapToMod\303\250leR\303\251ponsePayload.ts" "b/packages/applications/ssr/src/utils/mod\303\250le-document/mapToMod\303\250leR\303\251ponsePayload.ts" index d4f09c6783d..1c519a2bd8c 100644 --- "a/packages/applications/ssr/src/utils/mod\303\250le-document/mapToMod\303\250leR\303\251ponsePayload.ts" +++ "b/packages/applications/ssr/src/utils/mod\303\250le-document/mapToMod\303\250leR\303\251ponsePayload.ts" @@ -95,7 +95,7 @@ export const mapCandidatureToModèleRéponsePayload = ({ nomCandidat: candidature.dépôt.nomCandidat, nomProjet: candidature.dépôt.nomProjet, nomReprésentantLégal: candidature.dépôt.nomReprésentantLégal, - puissance: candidature.dépôt.puissanceProductionAnnuelle, + puissance: candidature.dépôt.puissance, notifiéLe: candidature.notification?.notifiéeLe, unitéPuissance: candidature.unitéPuissance, }); diff --git "a/packages/domain/projet/src/acc\303\250s/lister/listerProjets\303\200R\303\251clamer.query.ts" "b/packages/domain/projet/src/acc\303\250s/lister/listerProjets\303\200R\303\251clamer.query.ts" index bceccd30f97..e11024b4cbf 100644 --- "a/packages/domain/projet/src/acc\303\250s/lister/listerProjets\303\200R\303\251clamer.query.ts" +++ "b/packages/domain/projet/src/acc\303\250s/lister/listerProjets\303\200R\303\251clamer.query.ts" @@ -80,13 +80,13 @@ export const registerListerProjetsÀRéclamerQuery = ({ const mapToReadModel = ({ identifiantProjet, nomProjet, - puissanceProductionAnnuelle, + puissance, localité, emailContact, }: Candidature.CandidatureEntity): ProjetÀRéclamerReadModel => ({ identifiantProjet: IdentifiantProjet.convertirEnValueType(identifiantProjet), nomProjet, - puissance: puissanceProductionAnnuelle, + puissance, région: localité.région, emailContact, }); diff --git a/packages/domain/projet/src/candidature/candidature.aggregate.ts b/packages/domain/projet/src/candidature/candidature.aggregate.ts index 1d72c8684d1..99f2fdb7b40 100644 --- a/packages/domain/projet/src/candidature/candidature.aggregate.ts +++ b/packages/domain/projet/src/candidature/candidature.aggregate.ts @@ -135,8 +135,8 @@ export class CandidatureAggregate extends AbstractAggregate< return this.dépôt.sociétéMère; } - get puissanceProductionAnnuelle() { - return this.dépôt.puissanceProductionAnnuelle; + get puissance() { + return this.dépôt.puissance; } get prixRéférence() { @@ -164,7 +164,7 @@ export class CandidatureAggregate extends AbstractAggregate< return Puissance.VolumeRéservé.déterminer({ note: this.noteTotale, période: this.projet.période, - puissanceInitiale: this.puissanceProductionAnnuelle, + puissanceInitiale: this.puissance, }); } diff --git a/packages/domain/projet/src/candidature/candidature.entity.ts b/packages/domain/projet/src/candidature/candidature.entity.ts index 9dcc2d1b836..5aa3c143e85 100644 --- a/packages/domain/projet/src/candidature/candidature.entity.ts +++ b/packages/domain/projet/src/candidature/candidature.entity.ts @@ -50,7 +50,7 @@ export type CandidatureEntity = Entity< nomCandidat: string; nomReprésentantLégal: string; emailContact: string; - puissanceProductionAnnuelle: number; + puissance: number; prixReference: number; // Peut valoir N/A pour les AOs avec une seule technologie technologie: TypeTechnologie.RawType; diff --git "a/packages/domain/projet/src/candidature/d\303\251p\303\264t.valueType.ts" "b/packages/domain/projet/src/candidature/d\303\251p\303\264t.valueType.ts" index 5310228ca56..3a7778d7308 100644 --- "a/packages/domain/projet/src/candidature/d\303\251p\303\264t.valueType.ts" +++ "b/packages/domain/projet/src/candidature/d\303\251p\303\264t.valueType.ts" @@ -24,7 +24,7 @@ export type RawType = { prixReference: number; localité: Localité.RawType; historiqueAbandon: HistoriqueAbandon.RawType; - puissanceProductionAnnuelle: number; + puissance: number; puissanceALaPointe: boolean; puissanceDeSite: number | undefined; puissanceProjetInitial: number | undefined; @@ -60,7 +60,7 @@ export type ValueType = ReadonlyValueType<{ prixReference: number; localité: Localité.ValueType; historiqueAbandon: HistoriqueAbandon.ValueType; - puissanceProductionAnnuelle: number; + puissance: number; puissanceALaPointe: boolean; puissanceDeSite: number | undefined; puissanceProjetInitial: number | undefined; @@ -93,7 +93,7 @@ export const bind = (plain: PlainType): ValueType => ({ prixReference: plain.prixReference, evaluationCarboneSimplifiée: plain.evaluationCarboneSimplifiée, puissanceALaPointe: plain.puissanceALaPointe, - puissanceProductionAnnuelle: plain.puissanceProductionAnnuelle, + puissance: plain.puissance, puissanceProjetInitial: plain.puissanceProjetInitial, sociétéMère: plain.sociétéMère, territoireProjet: plain.territoireProjet, @@ -142,7 +142,7 @@ export const bind = (plain: PlainType): ValueType => ({ valueType.puissanceALaPointe === this.puissanceALaPointe && valueType.coefficientKChoisi === this.coefficientKChoisi && valueType.puissanceDeSite === this.puissanceDeSite && - valueType.puissanceProductionAnnuelle === this.puissanceProductionAnnuelle && + valueType.puissance === this.puissance && valueType.puissanceProjetInitial === this.puissanceProjetInitial && valueType.sociétéMère === this.sociétéMère && valueType.territoireProjet === this.territoireProjet && @@ -175,7 +175,7 @@ export const bind = (plain: PlainType): ValueType => ({ prixReference: this.prixReference, evaluationCarboneSimplifiée: this.evaluationCarboneSimplifiée, puissanceALaPointe: this.puissanceALaPointe, - puissanceProductionAnnuelle: this.puissanceProductionAnnuelle, + puissance: this.puissance, puissanceProjetInitial: this.puissanceProjetInitial, sociétéMère: this.sociétéMère, territoireProjet: this.territoireProjet, @@ -232,7 +232,7 @@ export const convertirEnValueType = (raw: WithOptionalUndefined) => prixReference: raw.prixReference, evaluationCarboneSimplifiée: raw.evaluationCarboneSimplifiée, puissanceALaPointe: raw.puissanceALaPointe, - puissanceProductionAnnuelle: raw.puissanceProductionAnnuelle, + puissance: raw.puissance, puissanceProjetInitial: raw.puissanceProjetInitial, sociétéMère: raw.sociétéMère, territoireProjet: raw.territoireProjet, diff --git "a/packages/domain/projet/src/candidature/importer/candidatureImport\303\251e.event.ts" "b/packages/domain/projet/src/candidature/importer/candidatureImport\303\251e.event.ts" index 561f4e431f0..cbf23723a71 100644 --- "a/packages/domain/projet/src/candidature/importer/candidatureImport\303\251e.event.ts" +++ "b/packages/domain/projet/src/candidature/importer/candidatureImport\303\251e.event.ts" @@ -18,7 +18,7 @@ type CandidatureImportéeEventPayload = { nomProjet: string; sociétéMère: string; nomCandidat: string; - puissanceProductionAnnuelle: number; + puissance: number; prixReference: number; noteTotale: number; nomReprésentantLégal: string; diff --git a/packages/domain/projet/src/candidature/lister/listerCandidatures.query.ts b/packages/domain/projet/src/candidature/lister/listerCandidatures.query.ts index c85c9e6c9fd..986700f8d56 100644 --- a/packages/domain/projet/src/candidature/lister/listerCandidatures.query.ts +++ b/packages/domain/projet/src/candidature/lister/listerCandidatures.query.ts @@ -16,7 +16,7 @@ export type CandidaturesListItemReadModel = { nomCandidat: Dépôt.ValueType['nomCandidat']; nomReprésentantLégal: Dépôt.ValueType['nomReprésentantLégal']; emailContact: Dépôt.ValueType['emailContact']; - puissanceProductionAnnuelle: number; + puissance: number; prixReference: Dépôt.ValueType['prixReference']; evaluationCarboneSimplifiée: Dépôt.ValueType['evaluationCarboneSimplifiée']; localité: Localité.ValueType; @@ -109,7 +109,7 @@ export const mapToReadModel = ({ nomCandidat, nomReprésentantLégal, emailContact, - puissanceProductionAnnuelle, + puissance, prixReference, localité, evaluationCarboneSimplifiée, @@ -123,7 +123,7 @@ export const mapToReadModel = ({ nomProjet, nomReprésentantLégal, emailContact: Email.convertirEnValueType(emailContact), - puissanceProductionAnnuelle, + puissance, prixReference, evaluationCarboneSimplifiée, nomCandidat, diff --git "a/packages/domain/projet/src/laur\303\251at/laur\303\251at.aggregate.ts" "b/packages/domain/projet/src/laur\303\251at/laur\303\251at.aggregate.ts" index 1bf68b5daa8..3ec38e44f04 100644 --- "a/packages/domain/projet/src/laur\303\251at/laur\303\251at.aggregate.ts" +++ "b/packages/domain/projet/src/laur\303\251at/laur\303\251at.aggregate.ts" @@ -289,7 +289,7 @@ export class LauréatAggregate extends AbstractAggregate< // champs mixte, dont une valeur dépend de l'appel d'offres await this.puissance.importer({ importéeLe: notifiéLe, - puissance: this.projet.candidature.puissanceProductionAnnuelle, + puissance: this.projet.candidature.puissance, puissanceDeSite: this.projet.appelOffre.champsSupplémentaires?.puissanceDeSite && this.projet.candidature.dépôt.puissanceDeSite diff --git "a/packages/domain/projet/src/laur\303\251at/puissance/consulter/consulterPuissance.query.ts" "b/packages/domain/projet/src/laur\303\251at/puissance/consulter/consulterPuissance.query.ts" index 7181e3dfafa..4a7ba254ae6 100644 --- "a/packages/domain/projet/src/laur\303\251at/puissance/consulter/consulterPuissance.query.ts" +++ "b/packages/domain/projet/src/laur\303\251at/puissance/consulter/consulterPuissance.query.ts" @@ -56,7 +56,7 @@ export const mapToReadModel: MapToReadModel = ({ puissance, puissanceDeSite, dateDemandeEnCours, - candidature: { puissanceProductionAnnuelle: puissanceInitiale, unitéPuissance }, + candidature: { puissance: puissanceInitiale, unitéPuissance }, }) => ({ identifiantProjet: IdentifiantProjet.convertirEnValueType(identifiantProjet), puissance, diff --git "a/packages/domain/projet/src/laur\303\251at/puissance/consulter/consulterVolumeR\303\251serv\303\251.query.ts" "b/packages/domain/projet/src/laur\303\251at/puissance/consulter/consulterVolumeR\303\251serv\303\251.query.ts" index 0b1f6b45e15..324bb069ac3 100644 --- "a/packages/domain/projet/src/laur\303\251at/puissance/consulter/consulterVolumeR\303\251serv\303\251.query.ts" +++ "b/packages/domain/projet/src/laur\303\251at/puissance/consulter/consulterVolumeR\303\251serv\303\251.query.ts" @@ -47,7 +47,7 @@ export const registerConsulterVolumeRéservéQuery = ({ return ( VolumeRéservé.déterminer({ note: candidature.noteTotale, - puissanceInitiale: candidature.puissanceProductionAnnuelle, + puissanceInitiale: candidature.puissance, période, }) ?? Option.none ); diff --git "a/packages/domain/projet/src/laur\303\251at/puissance/puissance.aggregate.ts" "b/packages/domain/projet/src/laur\303\251at/puissance/puissance.aggregate.ts" index d39caf47b42..94b10d734cf 100644 --- "a/packages/domain/projet/src/laur\303\251at/puissance/puissance.aggregate.ts" +++ "b/packages/domain/projet/src/laur\303\251at/puissance/puissance.aggregate.ts" @@ -298,7 +298,7 @@ export class PuissanceAggregate extends AbstractAggregate< private getRatioChangement(nouvellePuissance: number) { return RatioChangementPuissance.bind({ ratios: this.lauréat.projet.cahierDesChargesActuel.getRatiosChangementPuissance(), - puissanceInitiale: this.lauréat.projet.candidature.puissanceProductionAnnuelle, + puissanceInitiale: this.lauréat.projet.candidature.puissance, puissanceMaxFamille: this.lauréat.projet.famille?.puissanceMax, nouvellePuissance, volumeRéservé: this.lauréat.projet.candidature.volumeRéservé, diff --git "a/packages/domain/projet/src/\303\251limin\303\251/consulter/consulter\303\211limin\303\251.query.ts" "b/packages/domain/projet/src/\303\251limin\303\251/consulter/consulter\303\211limin\303\251.query.ts" index 852b52b58ff..63bacf107a9 100644 --- "a/packages/domain/projet/src/\303\251limin\303\251/consulter/consulter\303\211limin\303\251.query.ts" +++ "b/packages/domain/projet/src/\303\251limin\303\251/consulter/consulter\303\211limin\303\251.query.ts" @@ -21,7 +21,7 @@ export type ConsulterÉliminéReadModel = { | 'localité' | 'nomProjet' | 'nomCandidat' - | 'puissanceProductionAnnuelle' + | 'puissance' | 'prixReference' | 'nomReprésentantLégal' | 'sociétéMère' @@ -77,7 +77,7 @@ const mapToReadModel: MapToReadModel = ( nomReprésentantLégal: candidature.dépôt.nomReprésentantLégal, sociétéMère: candidature.dépôt.sociétéMère, prixReference: candidature.dépôt.prixReference, - puissanceProductionAnnuelle: candidature.dépôt.puissanceProductionAnnuelle, + puissance: candidature.dépôt.puissance, unitéPuissance: candidature.unitéPuissance, attestationDésignation: candidature.notification?.attestation, autorisationDUrbanisme: candidature.dépôt.autorisationDUrbanisme diff --git "a/packages/domain/projet/src/\303\251limin\303\251/lister/lister\303\211limin\303\251.query.ts" "b/packages/domain/projet/src/\303\251limin\303\251/lister/lister\303\211limin\303\251.query.ts" index efe17a7a4b0..23e1dcf25e2 100644 --- "a/packages/domain/projet/src/\303\251limin\303\251/lister/lister\303\211limin\303\251.query.ts" +++ "b/packages/domain/projet/src/\303\251limin\303\251/lister/lister\303\211limin\303\251.query.ts" @@ -17,7 +17,7 @@ type ÉliminéListItemReadModel = { nomReprésentantLégal: Candidature.ConsulterCandidatureReadModel['dépôt']['nomReprésentantLégal']; puissance: { unité: Candidature.UnitéPuissance.ValueType; - valeur: Candidature.ConsulterCandidatureReadModel['dépôt']['puissanceProductionAnnuelle']; + valeur: Candidature.ConsulterCandidatureReadModel['dépôt']['puissance']; }; prixReference: Candidature.ConsulterCandidatureReadModel['dépôt']['prixReference']; evaluationCarboneSimplifiée: Candidature.ConsulterCandidatureReadModel['dépôt']['evaluationCarboneSimplifiée']; @@ -116,7 +116,7 @@ const mapToReadModel: MapToReadModelProps = ({ localité, nomReprésentantLégal, nomCandidat: producteur, - puissanceProductionAnnuelle: puissance, + puissance: puissance, unitéPuissance, emailContact, prixReference, diff --git "a/packages/infrastructure/ds-api-client/src/_helpers/mappers/mapApiResponseToD\303\251p\303\264t.ts" "b/packages/infrastructure/ds-api-client/src/_helpers/mappers/mapApiResponseToD\303\251p\303\264t.ts" index 5e27f4b5cc7..b1cf108a238 100644 --- "a/packages/infrastructure/ds-api-client/src/_helpers/mappers/mapApiResponseToD\303\251p\303\264t.ts" +++ "b/packages/infrastructure/ds-api-client/src/_helpers/mappers/mapApiResponseToD\303\251p\303\264t.ts" @@ -21,7 +21,7 @@ const colonnes = { nomReprésentantLégal: `NOM et Prénom du représentant légal`, emailContact: 'Adresse électronique du contact', nomProjet: 'Nom du projet', - puissanceProductionAnnuelle: 'Puissance installée P', + puissance: 'Puissance installée P', puissanceDeSite: 'Puissance P+Q', prixReference: 'Prix unitaire de référence', evaluationCarboneSimplifiée: 'Évaluation carbone simplifiée', @@ -93,7 +93,7 @@ export const mapApiResponseToDépôt = ({ // 2. Identification du projet nomProjet: accessor.getStringValue('nomProjet'), - puissanceProductionAnnuelle: accessor.getNumberValue('puissanceProductionAnnuelle'), + puissance: accessor.getNumberValue('puissance'), puissanceDeSite: accessor.getNumberValue('puissanceDeSite'), prixReference: accessor.getNumberValue('prixReference'), diff --git a/packages/specifications/src/candidature/candidature.exempleMap.ts b/packages/specifications/src/candidature/candidature.exempleMap.ts index c02ca5bd510..e4c6c97d2ea 100644 --- a/packages/specifications/src/candidature/candidature.exempleMap.ts +++ b/packages/specifications/src/candidature/candidature.exempleMap.ts @@ -42,7 +42,7 @@ export const dépôtExempleMap: FieldToExempleMapper< nomReprésentantLégal: ['nom représentant légal'], dateÉchéanceGf: ["date d'échéance", mapDateTime], dateConstitutionGf: ['date de constitution', mapDateTime], - puissanceProductionAnnuelle: ['puissance production annuelle', mapNumber], + puissance: ['puissance', mapNumber], prixReference: ['prix reference', mapNumber], evaluationCarboneSimplifiée: ['évaluation carbone simplifiée', mapNumber], puissanceALaPointe: ['puissance à la pointe', mapBoolean], diff --git a/packages/specifications/src/candidature/fixtures/importerCandidature.fixture.ts b/packages/specifications/src/candidature/fixtures/importerCandidature.fixture.ts index b9092095b49..976ab6a593b 100644 --- a/packages/specifications/src/candidature/fixtures/importerCandidature.fixture.ts +++ b/packages/specifications/src/candidature/fixtures/importerCandidature.fixture.ts @@ -70,7 +70,7 @@ export class ImporterCandidatureFixture nomCandidatValue: dépôt.nomCandidat, emailContactValue: dépôt.emailContact, sociétéMèreValue: dépôt.sociétéMère, - puissanceProductionAnnuelleValue: dépôt.puissanceProductionAnnuelle, + puissanceValue: dépôt.puissance, nomReprésentantLégalValue: dépôt.nomReprésentantLégal, localitéValue: dépôt.localité, typeGarantiesFinancièresValue: dépôt.typeGarantiesFinancières, @@ -169,7 +169,7 @@ const créerDépôt = ( sociétéMère: faker.company.name(), territoireProjet: '', historiqueAbandon: faker.helpers.arrayElement(Candidature.HistoriqueAbandon.types), - puissanceProductionAnnuelle: faker.number.float({ min: 0.1, max: 3 }), + puissance: faker.number.float({ min: 0.1, max: 3 }), prixReference: faker.number.float({ min: 0.1, max: 3 }), nomReprésentantLégal: faker.person.fullName(), evaluationCarboneSimplifiée: faker.number.float({ min: 0.1, max: 3 }), diff --git "a/packages/specifications/src/projet/laur\303\251at/puissance/changement/demanderChangementPuissance.feature" "b/packages/specifications/src/projet/laur\303\251at/puissance/changement/demanderChangementPuissance.feature" index c20349f485e..f1220bea9fd 100644 --- "a/packages/specifications/src/projet/laur\303\251at/puissance/changement/demanderChangementPuissance.feature" +++ "b/packages/specifications/src/projet/laur\303\251at/puissance/changement/demanderChangementPuissance.feature" @@ -111,10 +111,10 @@ Fonctionnalité: Demander le changement de puissance d'un projet lauréat Scénario: Impossible pour le porteur de demander le changement de puissance si elle dépasse la puissance max par famille Etant donné le projet lauréat "Du bouchon lyonnais" avec : - | appel d'offres | PPE2 - Innovation | - | période | 1 | - | famille | 1 | - | puissance production annuelle | 1 | + | appel d'offres | PPE2 - Innovation | + | période | 1 | + | famille | 1 | + | puissance | 1 | # la puissance max par famille est 3 pour cette famille Quand le porteur demande le changement de puissance pour le projet lauréat avec : | ratio puissance | 3.1 | @@ -122,10 +122,10 @@ Fonctionnalité: Demander le changement de puissance d'un projet lauréat Scénario: Impossible pour le porteur de demander un changement de puissance si elle dépasse le volume réservé de l'appel d'offre Etant donné le projet lauréat "Du bouchon lyonnais" avec : - | appel d'offres | PPE2 - Sol | - | période | 3 | - | note totale | 34 | - | puissance production annuelle | 1 | + | appel d'offres | PPE2 - Sol | + | période | 3 | + | note totale | 34 | + | puissance | 1 | # le volume réservé de l'AO est de 5 Quand le porteur demande le changement de puissance pour le projet lauréat avec : | ratio puissance | 6 | diff --git "a/packages/specifications/src/projet/laur\303\251at/puissance/changement/enregistrerChangementPuissance.feature" "b/packages/specifications/src/projet/laur\303\251at/puissance/changement/enregistrerChangementPuissance.feature" index 36b47fbbb19..15c50be83d6 100644 --- "a/packages/specifications/src/projet/laur\303\251at/puissance/changement/enregistrerChangementPuissance.feature" +++ "b/packages/specifications/src/projet/laur\303\251at/puissance/changement/enregistrerChangementPuissance.feature" @@ -130,10 +130,10 @@ Fonctionnalité: Enregistrer un changement de puissance d'un projet lauréat par Scénario: Impossible pour le porteur d'enregistrer un changement de puissance si elle dépasse la puissance max par famille Etant donné le projet lauréat "Du bouchon lyonnais" avec : - | appel d'offres | PPE2 - Innovation | - | période | 1 | - | famille | 1 | - | puissance production annuelle | 1 | + | appel d'offres | PPE2 - Innovation | + | période | 1 | + | famille | 1 | + | puissance | 1 | # la puissance max par famille est 3 pour cette famille Quand le porteur enregistre un changement de puissance pour le projet lauréat avec : | ratio puissance | 3.1 | @@ -141,10 +141,10 @@ Fonctionnalité: Enregistrer un changement de puissance d'un projet lauréat par Scénario: Impossible pour le porteur d'enregistrer un changement de puissance si elle dépasse le volume réservé de l'appel d'offre Etant donné le projet lauréat "Du bouchon lyonnais" avec : - | appel d'offres | PPE2 - Sol | - | période | 3 | - | note totale | 34 | - | puissance production annuelle | 1 | + | appel d'offres | PPE2 - Sol | + | période | 3 | + | note totale | 34 | + | puissance | 1 | # le volume réservé de l'AO est de 5 Quand le porteur enregistre un changement de puissance pour le projet lauréat avec : | ratio puissance | 6 | diff --git "a/packages/specifications/src/projet/laur\303\251at/puissance/changement/stepDefinitions/changementPuissance.then.ts" "b/packages/specifications/src/projet/laur\303\251at/puissance/changement/stepDefinitions/changementPuissance.then.ts" index 3a98a060f79..4070e59069c 100644 --- "a/packages/specifications/src/projet/laur\303\251at/puissance/changement/stepDefinitions/changementPuissance.then.ts" +++ "b/packages/specifications/src/projet/laur\303\251at/puissance/changement/stepDefinitions/changementPuissance.then.ts" @@ -114,8 +114,7 @@ async function vérifierChangementPuissance( const expected = mapToPlainObject( this.lauréatWorld.puissanceWorld.changementPuissanceWorld.mapToExpected({ identifiantProjet: IdentifiantProjet.convertirEnValueType(identifiantProjet), - puissanceActuelle: - this.candidatureWorld.importerCandidature.values.puissanceProductionAnnuelleValue, + puissanceActuelle: this.candidatureWorld.importerCandidature.values.puissanceValue, statut, }), ); diff --git "a/packages/specifications/src/projet/laur\303\251at/puissance/changement/stepDefinitions/changementPuissance.when.ts" "b/packages/specifications/src/projet/laur\303\251at/puissance/changement/stepDefinitions/changementPuissance.when.ts" index 69f7b122ce0..d9b061e8f9c 100644 --- "a/packages/specifications/src/projet/laur\303\251at/puissance/changement/stepDefinitions/changementPuissance.when.ts" +++ "b/packages/specifications/src/projet/laur\303\251at/puissance/changement/stepDefinitions/changementPuissance.when.ts" @@ -128,8 +128,7 @@ export async function demanderChangementPuissance( data: { raisonValue: raison, puissanceValue: - ratioPuissance * - this.candidatureWorld.importerCandidature.dépôtValue.puissanceProductionAnnuelle, + ratioPuissance * this.candidatureWorld.importerCandidature.dépôtValue.puissance, puissanceDeSiteValue: puissanceDeSite, dateDemandeValue: demandéLe, identifiantUtilisateurValue: demandéPar, @@ -162,8 +161,7 @@ export async function enregistrerChangementPuissance( data: { raisonValue: raison, puissanceValue: - ratioPuissance * - this.candidatureWorld.importerCandidature.dépôtValue.puissanceProductionAnnuelle, + ratioPuissance * this.candidatureWorld.importerCandidature.dépôtValue.puissance, puissanceDeSiteValue: puissanceDeSite, dateChangementValue: demandéLe, identifiantUtilisateurValue: demandéPar, diff --git "a/packages/specifications/src/projet/laur\303\251at/puissance/stepDefinitions/puissance.then.ts" "b/packages/specifications/src/projet/laur\303\251at/puissance/stepDefinitions/puissance.then.ts" index f6a285cb118..b16e7774b3c 100644 --- "a/packages/specifications/src/projet/laur\303\251at/puissance/stepDefinitions/puissance.then.ts" +++ "b/packages/specifications/src/projet/laur\303\251at/puissance/stepDefinitions/puissance.then.ts" @@ -16,7 +16,7 @@ Alors( this.candidatureWorld.importerCandidature.identifiantProjet, ); - const puissance = await mediator.send({ + const puissanceReadModel = await mediator.send({ type: 'Lauréat.Puissance.Query.ConsulterPuissance', data: { identifiantProjet: identifiantProjet.formatter(), @@ -25,14 +25,14 @@ Alors( const { unitéPuissance, - dépôt: { puissanceProductionAnnuelle, puissanceDeSite }, + dépôt: { puissance, puissanceDeSite }, } = this.candidatureWorld.mapToExpected(); - const actual = mapToPlainObject(puissance); + const actual = mapToPlainObject(puissanceReadModel); const expected = mapToPlainObject( this.lauréatWorld.puissanceWorld.mapToExpected( identifiantProjet, - puissanceProductionAnnuelle, + puissance, unitéPuissance, puissanceDeSite, ), diff --git "a/packages/specifications/src/projet/laur\303\251at/puissance/stepDefinitions/puissance.when.ts" "b/packages/specifications/src/projet/laur\303\251at/puissance/stepDefinitions/puissance.when.ts" index 1793ebc1496..ae36d1a6ea0 100644 --- "a/packages/specifications/src/projet/laur\303\251at/puissance/stepDefinitions/puissance.when.ts" +++ "b/packages/specifications/src/projet/laur\303\251at/puissance/stepDefinitions/puissance.when.ts" @@ -63,8 +63,7 @@ async function modifierPuissance( ...(ratio !== undefined ? { puissance: - this.candidatureWorld.importerCandidature.dépôtValue.puissanceProductionAnnuelle * - Number(ratio), + this.candidatureWorld.importerCandidature.dépôtValue.puissance * Number(ratio), } : {}), puissanceDeSite: nouvellePuissanceDeSite, diff --git "a/packages/specifications/src/projet/\303\251limin\303\251/\303\251limin\303\251.world.ts" "b/packages/specifications/src/projet/\303\251limin\303\251/\303\251limin\303\251.world.ts" index ca189e46973..f5f3877fc5a 100644 --- "a/packages/specifications/src/projet/\303\251limin\303\251/\303\251limin\303\251.world.ts" +++ "b/packages/specifications/src/projet/\303\251limin\303\251/\303\251limin\303\251.world.ts" @@ -56,7 +56,7 @@ export class ÉliminéWorld { nomCandidat, autorisationDUrbanisme, localité, - puissanceProductionAnnuelle, + puissance, prixReference, nomReprésentantLégal, sociétéMère, @@ -76,7 +76,7 @@ export class ÉliminéWorld { autorisationDUrbanisme, prixReference, nomProjet, - puissanceProductionAnnuelle, + puissance, actionnariat, attestationDésignation: this.potentielWorld.éliminéWorld.recoursWorld.accorderRecoursFixture .aÉtéCréé