diff --git a/packages/applications/document-builder/src/assets/images/logo_MCE.png b/packages/applications/document-builder/src/assets/images/logo_MCE.png new file mode 100644 index 0000000000..4974a417de Binary files /dev/null and b/packages/applications/document-builder/src/assets/images/logo_MCE.png differ diff --git a/packages/applications/document-builder/src/candidature/attestation/AttestationCandidatureOptions.ts b/packages/applications/document-builder/src/candidature/attestation/AttestationCandidatureOptions.ts index 2578ad2eba..47867a3db6 100644 --- a/packages/applications/document-builder/src/candidature/attestation/AttestationCandidatureOptions.ts +++ b/packages/applications/document-builder/src/candidature/attestation/AttestationCandidatureOptions.ts @@ -30,9 +30,16 @@ export type AttestationCRE4Options = Common & { isInvestissementParticipatif: boolean; }; -export type AttestationPPE2Options = Common & { - template: 'ppe2.v1' | 'ppe2.v2'; +type PPE2BaseOptions = Common & { actionnariat?: 'financement-collectif' | 'gouvernance-partagée'; }; +export type AttestationPPE2V1Options = PPE2BaseOptions & { + template: 'ppe2.v1'; +}; +export type AttestationPPE2V2Options = PPE2BaseOptions & { + template: 'ppe2.v2'; + ministère: 'MEFSIN' | 'MCE'; +}; +export type AttestationPPE2Options = AttestationPPE2V1Options | AttestationPPE2V2Options; export type AttestationCandidatureOptions = AttestationCRE4Options | AttestationPPE2Options; diff --git a/packages/applications/document-builder/src/candidature/attestation/attestation.stories.tsx b/packages/applications/document-builder/src/candidature/attestation/attestation.stories.tsx index 832f9b519b..bfbf22f989 100644 --- a/packages/applications/document-builder/src/candidature/attestation/attestation.stories.tsx +++ b/packages/applications/document-builder/src/candidature/attestation/attestation.stories.tsx @@ -8,9 +8,9 @@ import { makeCertificate } from './makeCertificate'; const meta = { title: 'Attestations PDF', - component: ({ appelOffre, isClasse, période }) => { + component: ({ appelOffre, isClasse, periode }) => { const data = { - ...fakeProject(appelOffre, période), + ...fakeProject(appelOffre, periode), isClasse, }; return makeCertificate({ @@ -24,14 +24,14 @@ const meta = { control: 'select', options: appelsOffreData.map((x) => x.id), }, - période: { + periode: { control: 'select', options: [...new Set(appelsOffreData.map((x) => x.periodes.map((p) => p.id)).flat())], }, }, } satisfies Meta<{ appelOffre: string; - période: string; + periode: string; isClasse: boolean; }>; @@ -42,8 +42,7 @@ type Story = StoryObj; const fakeProject = (appelOffreId: string, périodeId?: string): AttestationCandidatureOptions => { const appelOffre = appelsOffreData.find((x) => x.id === appelOffreId)!; const période = appelOffre.periodes.find((x) => x.id === périodeId) ?? appelOffre.periodes[0]; - return { - template: période.certificateTemplate ?? 'cre4.v0', + const data = { appelOffre, période, famille: période.familles[0], @@ -65,6 +64,17 @@ const fakeProject = (appelOffreId: string, périodeId?: string): AttestationCand puissance: 42, potentielId: 'potentielId', technologie: 'N/A', + } satisfies Partial; + if (!période.certificateTemplate || période.certificateTemplate === 'ppe2.v2') { + return { + template: 'ppe2.v2', + ministère: période.certificateTemplate === 'ppe2.v2' ? période.ministère : 'MCE', + ...data, + }; + } + return { + template: période.certificateTemplate, + ...data, }; }; @@ -77,6 +87,6 @@ export const Générique: Story = { args: { appelOffre: appelsOffreData[0].id, isClasse: true, - période: '1', + periode: '1', }, }; diff --git a/packages/applications/document-builder/src/candidature/attestation/helpers/getFinancementEtTemplate.ts b/packages/applications/document-builder/src/candidature/attestation/helpers/getFinancementEtTemplate.ts index 747ba27210..3a10ed1186 100644 --- a/packages/applications/document-builder/src/candidature/attestation/helpers/getFinancementEtTemplate.ts +++ b/packages/applications/document-builder/src/candidature/attestation/helpers/getFinancementEtTemplate.ts @@ -1,6 +1,7 @@ import { AppelOffre } from '@potentiel-domain/appel-offre'; import { Candidature } from '@potentiel-domain/candidature'; +const defaultMinistère = 'MCE'; export const getFinancementEtTemplate = ({ période, candidature, @@ -8,6 +9,13 @@ export const getFinancementEtTemplate = ({ période: AppelOffre.Periode; candidature: Candidature.ConsulterCandidatureReadModel; }) => { + const ppe2Actionnariat = candidature.actionnariat?.estÉgaleÀ( + Candidature.TypeActionnariat.financementCollectif, + ) + ? ('financement-collectif' as const) + : candidature.actionnariat?.estÉgaleÀ(Candidature.TypeActionnariat.gouvernancePartagée) + ? ('gouvernance-partagée' as const) + : undefined; switch (période.certificateTemplate) { case 'cre4.v0': case 'cre4.v1': @@ -17,16 +25,17 @@ export const getFinancementEtTemplate = ({ isInvestissementParticipatif: candidature.actionnariat?.type === 'investissement-participatif', }; + + case 'ppe2.v1': + return { + template: période.certificateTemplate, + actionnariat: ppe2Actionnariat, + }; default: return { template: période.certificateTemplate ?? 'ppe2.v2', - actionnariat: candidature.actionnariat?.estÉgaleÀ( - Candidature.TypeActionnariat.financementCollectif, - ) - ? ('financement-collectif' as const) - : candidature.actionnariat?.estÉgaleÀ(Candidature.TypeActionnariat.gouvernancePartagée) - ? ('gouvernance-partagée' as const) - : undefined, + ministère: période.certificateTemplate === 'ppe2.v2' ? période.ministère : defaultMinistère, + actionnariat: ppe2Actionnariat, }; } }; diff --git a/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/Header.tsx b/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/Header.tsx index 96e0552d3e..26af261aa3 100644 --- a/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/Header.tsx +++ b/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/Header.tsx @@ -1,4 +1,4 @@ -import { Image, Text, View } from '@react-pdf/renderer'; +import { Text, View } from '@react-pdf/renderer'; import React from 'react'; import { AttestationPPE2Options } from '../../AttestationCandidatureOptions'; @@ -6,9 +6,9 @@ import { formatDateForPdf } from '../../helpers/formatDateForPdf'; type HeaderProps = { project: AttestationPPE2Options; - imagesRootPath: string; + logo: React.ReactNode; }; -export const Header = ({ project, imagesRootPath }: HeaderProps) => { +export const Header = ({ project, logo }: HeaderProps) => { const { appelOffre, notifiedOn, nomRepresentantLegal, nomCandidat, email, potentielId } = project; return ( @@ -20,10 +20,7 @@ export const Header = ({ project, imagesRootPath }: HeaderProps) => { flexDirection: 'column', }} > - + {logo} Direction de l’énergie diff --git a/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/Logo/MCE.tsx b/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/Logo/MCE.tsx new file mode 100644 index 0000000000..efcfc94cf4 --- /dev/null +++ b/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/Logo/MCE.tsx @@ -0,0 +1,9 @@ +import { Image } from '@react-pdf/renderer'; +import React from 'react'; + +export const LogoMCE = ({ imagesRootPath }: { imagesRootPath: string }) => ( + +); diff --git a/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/Logo/MEFSIN.tsx b/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/Logo/MEFSIN.tsx new file mode 100644 index 0000000000..ff36edd373 --- /dev/null +++ b/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/Logo/MEFSIN.tsx @@ -0,0 +1,9 @@ +import { Image } from '@react-pdf/renderer'; +import React from 'react'; + +export const LogoMEFSIN = ({ imagesRootPath }: { imagesRootPath: string }) => ( + +); diff --git a/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/Logo/index.tsx b/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/Logo/index.tsx new file mode 100644 index 0000000000..d58327c803 --- /dev/null +++ b/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/Logo/index.tsx @@ -0,0 +1,19 @@ +import React from 'react'; + +import { LogoMCE } from './MCE'; +import { LogoMEFSIN } from './MEFSIN'; + +export const Logo = ({ + imagesRootPath, + nom, +}: { + imagesRootPath: string; + nom: 'MCE' | 'MEFSIN'; +}) => { + switch (nom) { + case 'MCE': + return ; + case 'MEFSIN': + return ; + } +}; diff --git a/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/makeCertificate.tsx b/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/makeCertificate.tsx index 5dee171740..6c4eac1f07 100644 --- a/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/makeCertificate.tsx +++ b/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/makeCertificate.tsx @@ -3,7 +3,7 @@ import React from 'react'; import { AppelOffre } from '@potentiel-domain/appel-offre'; import { Certificate } from '../components/Certificate'; -import { AttestationPPE2Options } from '../../AttestationCandidatureOptions'; +import { AttestationPPE2V2Options } from '../../AttestationCandidatureOptions'; import { Objet } from '../components/Objet'; import { Signature } from '../components/Signature'; @@ -11,9 +11,10 @@ import { Header } from './Header'; import { buildLauréat } from './Laureat'; import { buildElimine } from './Elimine'; import { Introduction } from './Introduction'; +import { Logo } from './Logo/index'; const makeCertificate = ( - project: AttestationPPE2Options, + project: AttestationPPE2V2Options, validateur: AppelOffre.Validateur, imagesRootPath: string, ): React.JSX.Element => { @@ -23,7 +24,12 @@ const makeCertificate = ( return ( } + header={ +
} + /> + } objet={} introduction={} content={content} diff --git a/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/ppe2.elimine.stories.tsx b/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/ppe2.elimine.stories.tsx index 06d7b8db5b..daa28ffe6f 100644 --- a/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/ppe2.elimine.stories.tsx +++ b/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/ppe2.elimine.stories.tsx @@ -7,13 +7,13 @@ import { } from '@potentiel-domain/inmemory-referential/src/appelOffre/PPE2'; import { AppelOffre } from '@potentiel-domain/appel-offre'; -import { AttestationPPE2Options } from '../../AttestationCandidatureOptions'; +import { AttestationPPE2V2Options } from '../../AttestationCandidatureOptions'; import { makeCertificate } from './makeCertificate'; const meta = { title: 'Attestations PDF/PPE2/v2', - component: ({ projet }: { projet: AttestationPPE2Options }) => { + component: ({ projet }: { projet: AttestationPPE2V2Options }) => { return makeCertificate( projet, { @@ -29,11 +29,10 @@ export default meta; type Story = StoryObj; -const fakeProject: AttestationPPE2Options = { +const fakeProject = { template: 'ppe2.v2', - appelOffre: { - ...eolienPPE2, - } as AppelOffre.AppelOffreReadModel, + ministère: 'MCE', + appelOffre: eolienPPE2 as AppelOffre.AppelOffreReadModel, période: eolienPPE2.periodes[0], famille: eolienPPE2.periodes[0].familles[0], isClasse: true, @@ -52,7 +51,7 @@ const fakeProject: AttestationPPE2Options = { puissance: 42, potentielId: 'potentielId', technologie: 'N/A', -}; +} satisfies AttestationPPE2V2Options; export const EliminePPE2AuDessusDePcible: Story = { args: { diff --git a/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/ppe2.laureat.stories.tsx b/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/ppe2.laureat.stories.tsx index 2c07ab1615..927b688fc4 100644 --- a/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/ppe2.laureat.stories.tsx +++ b/packages/applications/document-builder/src/candidature/attestation/ppe2/v2/ppe2.laureat.stories.tsx @@ -10,13 +10,13 @@ import { solPPE2, } from '@potentiel-domain/inmemory-referential/src/appelOffre/PPE2'; -import { AttestationPPE2Options } from '../../AttestationCandidatureOptions'; +import { AttestationPPE2V2Options } from '../../AttestationCandidatureOptions'; import { makeCertificate } from './makeCertificate'; const meta = { title: 'Attestations PDF/PPE2/v2', - component: ({ projet }: { projet: AttestationPPE2Options }) => { + component: ({ projet }: { projet: AttestationPPE2V2Options }) => { return makeCertificate( projet, { @@ -32,8 +32,9 @@ export default meta; type Story = StoryObj; -const fakeProject: Omit = { +const fakeProject = { template: 'ppe2.v2', + ministère: 'MCE', famille: undefined, isClasse: true, prixReference: 42, @@ -51,7 +52,7 @@ const fakeProject: Omit = { puissance: 42, potentielId: 'potentielId', technologie: 'pv', -}; +} satisfies Omit; export const LaureatPPE2AutoconsommationMétropoleFinancementCollectif: Story = { args: { diff --git a/packages/domain/appel-offre/src/appelOffre.entity.ts b/packages/domain/appel-offre/src/appelOffre.entity.ts index 49cf27ee90..2829e6316f 100644 --- a/packages/domain/appel-offre/src/appelOffre.entity.ts +++ b/packages/domain/appel-offre/src/appelOffre.entity.ts @@ -138,9 +138,9 @@ export type Validateur = { fullName: string; fonction?: string; }; + export type NotifiedPeriode = { type?: 'notified'; - certificateTemplate: CertificateTemplate; validateurParDéfaut: Validateur; } & ( | { @@ -155,15 +155,15 @@ export type NotifiedPeriode = { noteThresholdBy?: undefined; noteThreshold: number; } -); +) & + CertificateTemplateProps; type NotYetNotifiedPeriode = { type: 'not-yet-notified'; - certificateTemplate: CertificateTemplate; validateurParDéfaut: Validateur; noteThresholdBy?: undefined; noteThreshold?: undefined; -}; +} & CertificateTemplateProps; type LegacyPeriode = { type: 'legacy'; @@ -172,7 +172,16 @@ type LegacyPeriode = { noteThreshold?: undefined; }; -export type CertificateTemplate = 'cre4.v0' | 'cre4.v1' | 'ppe2.v1' | 'ppe2.v2'; +type CertificateTemplateProps = + | { + certificateTemplate: 'cre4.v0' | 'cre4.v1' | 'ppe2.v1'; + } + | { + certificateTemplate: 'ppe2.v2'; + ministère: 'MEFSIN' | 'MCE'; + }; + +export type CertificateTemplate = CertificateTemplateProps['certificateTemplate']; export type Periode = { id: string; diff --git a/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.autoconsommationMetropole.ts b/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.autoconsommationMetropole.ts index 29bb0448f6..d3addc7a10 100644 --- a/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.autoconsommationMetropole.ts +++ b/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.autoconsommationMetropole.ts @@ -185,6 +185,7 @@ Des délais supplémentaires peuvent être accordés par le Préfet, à son appr id: '3', title: 'troisième', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.nicolas, noteThreshold: 72.13, cahierDesCharges: { @@ -200,6 +201,7 @@ Des délais supplémentaires peuvent être accordés par le Préfet, à son appr title: 'quatrième', validateurParDéfaut: validateurParDéfaut.hermine, certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', noteThreshold: 76.25, cahierDesCharges: { référence: '2023/S 176-551607', diff --git a/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.batiment.ts b/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.batiment.ts index a53063b2e0..a323a15dde 100644 --- a/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.batiment.ts +++ b/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.batiment.ts @@ -183,6 +183,7 @@ Des délais supplémentaires peuvent être accordés par le Préfet, à son appr id: '3', title: 'troisième', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.nicolas, cahierDesCharges: { référence: '2022 S 093-254888', @@ -217,6 +218,7 @@ Des délais supplémentaires peuvent être accordés par le Préfet, à son appr id: '4', title: 'quatrième', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.nicolas, cahierDesCharges: { référence: '2022 S 216-620968', @@ -239,6 +241,7 @@ Des délais supplémentaires peuvent être accordés par le Préfet, à son appr id: '5', title: 'cinquième', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.nicolas, cahierDesCharges: { référence: '2023 S 071-217458', @@ -272,6 +275,7 @@ Des délais supplémentaires peuvent être accordés par le Préfet, à son appr id: '6', title: 'sixième', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.hermine, cahierDesCharges: { référence: '2023/S 217-683937', @@ -305,6 +309,7 @@ Des délais supplémentaires peuvent être accordés par le Préfet, à son appr id: '7', title: 'septième', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.hermine, cahierDesCharges: { référence: '2024 S 061-179441', diff --git a/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.eolien.ts b/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.eolien.ts index e10ecb2dc4..48da791b70 100644 --- a/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.eolien.ts +++ b/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.eolien.ts @@ -135,6 +135,7 @@ Des délais supplémentaires peuvent être accordés par le Préfet, à son appr id: '2', title: 'deuxième', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.nicolas, noteThreshold: 0.692142857142864, cahierDesCharges: { @@ -172,6 +173,7 @@ Le Candidat peut également être délié de cette obligation selon l’appréci id: '3', title: 'troisième', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.nicolas, noteThreshold: 1.2, cahierDesCharges: { @@ -197,6 +199,7 @@ Le Candidat peut également être délié de cette obligation selon l’appréci id: '4', title: 'quatrième', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.nicolas, noteThreshold: 13.8, cahierDesCharges: { @@ -221,6 +224,7 @@ Le Candidat peut également être délié de cette obligation selon l’appréci id: '5', title: 'cinquième', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.hermine, noteThreshold: 14.22, cahierDesCharges: { @@ -234,6 +238,7 @@ Le Candidat peut également être délié de cette obligation selon l’appréci id: '6', title: 'sixième', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.hermine, noteThreshold: 16.85, cahierDesCharges: { @@ -247,6 +252,7 @@ Le Candidat peut également être délié de cette obligation selon l’appréci id: '7', title: 'septième', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.hermine, noteThreshold: 16.7, cahierDesCharges: { diff --git a/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.innovation.ts b/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.innovation.ts index bc3aa96732..a86451b6a9 100644 --- a/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.innovation.ts +++ b/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.innovation.ts @@ -120,6 +120,7 @@ Des délais supplémentaires peuvent être accordés par le Préfet, à son appr title: 'première', type: 'notified', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.nicolas, cahierDesCharges: { référence: '2021 S 203-530267', diff --git a/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.neutre.ts b/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.neutre.ts index d137afaff0..f00b0e7d4c 100644 --- a/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.neutre.ts +++ b/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.neutre.ts @@ -76,6 +76,7 @@ Des délais supplémentaires peuvent être accordés par le Préfet, à son appr title: 'première', type: 'notified', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.nicolas, noteThreshold: 26.89, cahierDesCharges: { @@ -102,6 +103,7 @@ Le Candidat peut également être délié de cette obligation selon l’appréci title: 'deuxième', type: 'notified', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.hermine, noteThreshold: 26.87, cahierDesCharges: { diff --git a/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.sol.ts b/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.sol.ts index a49590e2ce..344437e781 100644 --- a/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.sol.ts +++ b/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.sol.ts @@ -184,6 +184,7 @@ Des délais supplémentaires peuvent être accordés par le Préfet, à son appr id: '3', title: 'troisième', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.nicolas, cahierDesCharges: { référence: '2022 S 214-614411', @@ -206,6 +207,7 @@ Des délais supplémentaires peuvent être accordés par le Préfet, à son appr id: '4', title: 'quatrième', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.hermine, cahierDesCharges: { référence: '2023 S 063-187860', @@ -239,6 +241,7 @@ Le Candidat peut également être délié de cette obligation selon l’appréci id: '5', title: 'cinquième', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.hermine, cahierDesCharges: { référence: '2023/S 217-681379', diff --git a/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.zni.ts b/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.zni.ts index 9a4038f3d8..6ab8e49e33 100644 --- a/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.zni.ts +++ b/packages/domain/inmemory-referential/src/appelOffre/PPE2/ppe2.zni.ts @@ -75,6 +75,7 @@ export const zniPPE2: AppelOffre.AppelOffreReadModel = { id: '1', title: 'première', certificateTemplate: 'ppe2.v2', + ministère: 'MEFSIN', validateurParDéfaut: validateurParDéfaut.hermine, cahierDesCharges: { référence: '2023/S 183-570186',