@open3cl/engine 1.11.2 → 1.11.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/10_besoin_fr.spec.js +1 -1
- package/10_clim.js +1 -1
- package/10_clim.spec.js +5 -9
- package/11_besoin_ecs.spec.js +1 -1
- package/11_ecs.js +2 -1
- package/11_ecs.spec.js +2 -2
- package/11_nadeq.js +1 -0
- package/11_nadeq.spec.js +1 -1
- package/11_rdim_ecs_individuelle_unique.js +78 -0
- package/11_rdim_ecs_individuelle_unique.spec.js +136 -0
- package/12.4_pac.js +5 -3
- package/12.4_pac.spec.js +10 -18
- package/13.2_generateur_combustion.js +19 -16
- package/13.2_generateur_combustion.spec.js +10 -10
- package/13.2_generateur_combustion_bouilleur.js +5 -2
- package/13.2_generateur_combustion_bouilleur.spec.js +1 -1
- package/13.2_generateur_combustion_ch.js +8 -7
- package/13.2_generateur_combustion_ch.spec.js +7 -7
- package/13.2_generateur_combustion_chaudiere.js +5 -2
- package/13.2_generateur_combustion_chaudiere.spec.js +2 -2
- package/13.2_generateur_combustion_pdim.js +6 -6
- package/13.2_generateur_combustion_pdim.spec.js +1 -1
- package/13.2_generateur_combustion_pn.spec.js +1 -1
- package/13.2_generateur_pac.js +4 -1
- package/13.2_generateur_pac.spec.js +1 -1
- package/13_rendement_distribution_ecs.spec.js +1 -1
- package/14_generateur_ecs.js +2 -1
- package/14_generateur_ecs.spec.js +4 -4
- package/15_conso_aux.js +19 -17
- package/15_conso_aux.spec.js +8 -8
- package/16.2_production_enr.js +4 -3
- package/16.2_production_enr.spec.js +1 -1
- package/16_conso_eclairage.spec.js +1 -1
- package/2021_04_13_confort_ete.spec.js +1 -1
- package/2021_04_13_qualite_isolation.js +1 -1
- package/2021_04_13_qualite_isolation.spec.js +2 -2
- package/3.1_b.spec.js +1 -1
- package/3.2.1_mur.js +10 -9
- package/3.2.1_mur.spec.js +11 -19
- package/3.2.2_plancher_bas.js +4 -3
- package/3.2.2_plancher_bas.spec.js +10 -20
- package/3.2.3_plancher_haut.js +1 -1
- package/3.2.3_plancher_haut.spec.js +2 -2
- package/3.3.1.4_porte.js +1 -1
- package/3.3.1.4_porte.spec.js +2 -2
- package/3.3_baie_vitree.js +2 -2
- package/3.3_baie_vitree.spec.js +3 -3
- package/3.4_pont_thermique.js +6 -4
- package/3.4_pont_thermique.spec.js +7 -7
- package/3_deperdition.js +1 -0
- package/3_deperdition.spec.js +3 -3
- package/4_ventilation.js +2 -2
- package/4_ventilation.spec.js +1 -1
- package/5_conso_ventilation.spec.js +1 -1
- package/6.1_apport_gratuit.spec.js +2 -2
- package/6.2_surface_sud_equivalente.js +12 -9
- package/6.2_surface_sud_equivalente.spec.js +3 -3
- package/7_inertie.js +7 -4
- package/7_inertie.spec.js +1 -1
- package/8_intermittence.spec.js +1 -1
- package/9_besoin_ch.js +5 -3
- package/9_besoin_ch.spec.js +3 -3
- package/9_chauffage.js +12 -11
- package/9_chauffage.spec.js +7 -7
- package/9_conso_ch.spec.js +3 -3
- package/9_emetteur_ch.js +5 -5
- package/9_emetteur_ch.spec.js +1 -1
- package/9_generateur_ch.js +16 -13
- package/9_generateur_ch.spec.js +6 -6
- package/README.md +19 -19
- package/apport_et_besoin.spec.js +1 -1
- package/conso.js +18 -14
- package/conso.spec.js +3 -3
- package/core/assets/domain/synchronize-assets.js +2 -0
- package/core/assets/domain/synchronize-c1-tables.js +2 -0
- package/core/assets/domain/synchronize-dpe-ges-limit-values-tables.js +2 -0
- package/core/assets/domain/synchronize-enum-tables.js +2 -0
- package/core/assets/domain/synchronize-solicitations-tables.js +2 -0
- package/core/assets/domain/synchronize-valeur-tables.js +6 -0
- package/core/file/infrastructure/adapter/csv-parser.store.js +2 -1
- package/dpe-sanitizer.service.js +1 -0
- package/engine.js +11 -2
- package/engine.spec.js +23 -2
- package/enums.d.ts +1257 -0
- package/features/dpe/domain/models/baie-ets.model.ts +8 -11
- package/features/dpe/domain/models/baie-vitree.model.ts +28 -96
- package/features/dpe/domain/models/climatisation.model.ts +13 -23
- package/features/dpe/domain/models/dpe-xsd.generated.ts +2797 -0
- package/features/dpe/domain/models/dpe.model.ts +105 -181
- package/features/dpe/domain/models/ets.model.ts +10 -18
- package/features/dpe/domain/models/installation-chauffage.model.ts +92 -99
- package/features/dpe/domain/models/installation-ecs.model.ts +45 -77
- package/features/dpe/domain/models/mur.model.ts +10 -38
- package/features/dpe/domain/models/plancher.model.ts +22 -63
- package/features/dpe/domain/models/pont-thermique.model.ts +10 -20
- package/features/dpe/domain/models/porte.model.ts +10 -30
- package/features/dpe/domain/models/production-elec-enr.model.ts +13 -27
- package/features/dpe/domain/models/sortie.model.ts +32 -176
- package/features/dpe/domain/models/type-generateur.model.js +4 -3
- package/features/dpe/domain/models/type-habitation.model.js +8 -6
- package/features/dpe/domain/models/type-stockage.model.js +4 -3
- package/features/dpe/domain/models/type-ventilation.model.js +4 -3
- package/features/dpe/domain/models/ventilation.model.ts +15 -25
- package/features/dpe/infrastructure/ch/chTv.store.js +2 -2
- package/features/dpe/infrastructure/ecs/ecsTv.store.js +3 -3
- package/features/dpe/infrastructure/enveloppe/baieVitreeTv.store.js +1 -1
- package/features/dpe/infrastructure/froid/frTv.store.js +3 -3
- package/features/dpe/infrastructure/froid/frTv.store.spec.js +1 -1
- package/features/dpe/infrastructure/tv.store.js +1 -1
- package/features/engine/domain/apport_et_besoin/apport-et-besoin.service.js +3 -0
- package/features/engine/domain/apport_et_besoin/apport_gratuit/apport-gratuit.service.js +3 -1
- package/features/engine/domain/apport_et_besoin/ch/besoin-ch.service.js +3 -1
- package/features/engine/domain/apport_et_besoin/ch/perte-ch-recup.service.js +9 -3
- package/features/engine/domain/apport_et_besoin/ch/perte-ch-recup.service.spec.js +1 -1
- package/features/engine/domain/apport_et_besoin/ecs/besoin-ecs.service.js +2 -1
- package/features/engine/domain/apport_et_besoin/ecs/perte-ecs-recup.service.js +4 -1
- package/features/engine/domain/apport_et_besoin/froid/besoin-froid.service.js +3 -1
- package/features/engine/domain/apport_et_besoin/surface-sud-equivalente.service.js +7 -2
- package/features/engine/domain/apport_et_besoin/surface-sud-equivalente.service.spec.js +1 -1
- package/features/engine/domain/ch/emetteur-ch.service.js +3 -1
- package/features/engine/domain/ch/emetteur-ch.service.spec.js +1 -1
- package/features/engine/domain/ch/generateur-ch.service.js +4 -1
- package/features/engine/domain/ch/generateur-ch.service.spec.js +3 -3
- package/features/engine/domain/ch/installation-ch.service.js +2 -0
- package/features/engine/domain/conso/conso.service.js +2 -0
- package/features/engine/domain/conso/froid/conso-froid.service.js +5 -1
- package/features/engine/domain/contexte.builder.js +2 -0
- package/features/engine/domain/ecs/generateur-ecs.service.js +1 -0
- package/features/engine/domain/ecs/installation-ecs.service.js +3 -0
- package/features/engine/domain/engine.service.js +1 -0
- package/features/engine/domain/enveloppe/baie_vitree/deperdition-baie-vitree.service.js +4 -1
- package/features/engine/domain/enveloppe/deperdition-enveloppe.service.js +3 -0
- package/features/engine/domain/enveloppe/deperdition.service.js +8 -4
- package/features/engine/domain/enveloppe/espace_tampon/espace-tampon.service.js +4 -1
- package/features/engine/domain/enveloppe/mur/deperdition-mur.service.js +3 -1
- package/features/engine/domain/enveloppe/plancher_bas/deperdition-plancher-bas.service.js +3 -1
- package/features/engine/domain/enveloppe/plancher_bas/deperdition-plancher-bas.service.spec.js +2 -2
- package/features/engine/domain/enveloppe/plancher_haut/deperdition-plancher-haut.service.js +4 -2
- package/features/engine/domain/enveloppe/pont_thermique/deperdition-pont-thermique.service.js +9 -1
- package/features/engine/domain/enveloppe/pont_thermique/deperdition-pont-thermique.service.spec.js +1 -1
- package/features/engine/domain/enveloppe/porte/deperdition-porte.service.js +3 -1
- package/features/engine/domain/enveloppe/ventilation/deperdition-ventilation.service.js +3 -1
- package/features/engine/domain/enveloppe/ventilation/deperdition-ventilation.service.spec.js +1 -1
- package/features/engine/domain/logement/nadeq.service.js +1 -1
- package/features/engine/domain/logement/nadeq.service.spec.js +1 -1
- package/features/engine/domain/models/contexte.model.ts +2 -2
- package/features/normalizer/domain/dpe-normalizer.service.js +1 -0
- package/ficheTechnique.js +4 -2
- package/globals.d.ts +14 -0
- package/package.json +3 -2
- package/preprocessor/index.js +1 -0
- package/tv.d.ts +759 -0
- package/tvs.d.ts +2 -7
- package/utils.js +8 -6
|
@@ -1,193 +1,122 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import type {
|
|
2
|
+
XsdAdministratif,
|
|
3
|
+
XsdAdministratifDiagnostiqueur,
|
|
4
|
+
XsdAdministratifGeolocalisation,
|
|
5
|
+
XsdAdministratifInformationFormulaireConsentement,
|
|
6
|
+
XsdDpe,
|
|
7
|
+
XsdDpeImmeuble,
|
|
8
|
+
XsdDpeImmeubleLogementVisite,
|
|
9
|
+
XsdLogement,
|
|
10
|
+
XsdLogementCaracteristiqueGenerale,
|
|
11
|
+
XsdLogementEnveloppe,
|
|
12
|
+
XsdLogementMeteo,
|
|
13
|
+
XsdTAdresse
|
|
14
|
+
} from './dpe-xsd.generated.js';
|
|
15
|
+
import type { BaieVitree } from './baie-vitree.model.js';
|
|
16
|
+
import type { Climatisation } from './climatisation.model.js';
|
|
17
|
+
import type { Ets } from './ets.model.js';
|
|
18
|
+
import type { InstallationChauffage } from './installation-chauffage.model.js';
|
|
19
|
+
import type { InstallationEcs } from './installation-ecs.model.js';
|
|
20
|
+
import type { Mur } from './mur.model.js';
|
|
21
|
+
import type { PlancherBas, PlancherHaut } from './plancher.model.js';
|
|
22
|
+
import type { PontThermique } from './pont-thermique.model.js';
|
|
23
|
+
import type { Porte } from './porte.model.js';
|
|
24
|
+
import type { ProductionElecEnr } from './production-elec-enr.model.js';
|
|
25
|
+
import type { Sortie } from './sortie.model.js';
|
|
26
|
+
import type { Ventilation } from './ventilation.model.js';
|
|
27
|
+
|
|
28
|
+
// Types issus du XSD (générés) : voir dpe-xsd.generated.ts
|
|
29
|
+
export type Administratif = XsdAdministratif;
|
|
30
|
+
export type Diagnostiqueur = XsdAdministratifDiagnostiqueur;
|
|
31
|
+
export type Geolocalisation = XsdAdministratifGeolocalisation;
|
|
32
|
+
export type Adresse = XsdTAdresse;
|
|
33
|
+
/** Nom historique ; le XSD 2.7 parle de `information_formulaire_consentement`. */
|
|
34
|
+
export type InformationConsentementProprietaire = XsdAdministratifInformationFormulaireConsentement;
|
|
35
|
+
export type DpeImmeuble = XsdDpeImmeuble;
|
|
36
|
+
export type LogementVisite = XsdDpeImmeubleLogementVisite;
|
|
37
|
+
export type CaracteristiqueGenerale = XsdLogementCaracteristiqueGenerale;
|
|
38
|
+
export type Meteo = XsdLogementMeteo;
|
|
13
39
|
|
|
14
40
|
/**
|
|
15
|
-
*
|
|
41
|
+
* Données de calcul propres à Open3CL (absentes du XSD) : séries mensuelles conservées entre les
|
|
42
|
+
* étapes du moteur.
|
|
16
43
|
*/
|
|
17
|
-
export interface
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
administratif: Administratif;
|
|
24
|
-
dpe_immeuble?: DpeImmeuble;
|
|
25
|
-
logement?: Logement;
|
|
26
|
-
tertiaire?: Tertiaire;
|
|
27
|
-
logement_neuf?: LogementNeuf;
|
|
28
|
-
descriptif_enr_collection: any; // Pas traité pour l'instant
|
|
29
|
-
descriptif_simplifie_collection: any; // Pas traité pour l'instant
|
|
30
|
-
fiche_technique_collection: any; // Pas traité pour l'instant
|
|
31
|
-
justificatif_collection: any; // Pas traité pour l'instant
|
|
32
|
-
descriptif_geste_entretien_collection: any; // Pas traité pour l'instant
|
|
33
|
-
descriptif_travaux: any; // Pas traité pour l'instant
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export interface Administratif {
|
|
37
|
-
dpe_a_remplacer?: string;
|
|
38
|
-
reference_interne_projet?: string;
|
|
39
|
-
motif_remplacement?: string;
|
|
40
|
-
dpe_immeuble_associe?: string;
|
|
41
|
-
enum_version_id: string;
|
|
42
|
-
date_visite_diagnostiqueur: string;
|
|
43
|
-
nom_proprietaire?: string;
|
|
44
|
-
siren_proprietaire?: string;
|
|
45
|
-
nom_proprietaire_installation_commune?: string;
|
|
46
|
-
date_etablissement_dpe: string;
|
|
47
|
-
enum_modele_dpe_id: string;
|
|
48
|
-
diagnostiqueur: Diagnostiqueur;
|
|
49
|
-
geolocalisation: Geolocalisation;
|
|
50
|
-
consentement_proprietaire?: boolean;
|
|
51
|
-
information_consentement_proprietaire?: InformationConsentementProprietaire;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export interface Diagnostiqueur {
|
|
55
|
-
usr_logiciel_id: string;
|
|
56
|
-
version_logiciel: string;
|
|
57
|
-
version_moteur_calcul?: string;
|
|
58
|
-
nom_diagnostiqueur: string;
|
|
59
|
-
prenom_diagnostiqueur: string;
|
|
60
|
-
mail_diagnostiqueur: string;
|
|
61
|
-
telephone_diagnostiqueur: string;
|
|
62
|
-
adresse_diagnostiqueur: string;
|
|
63
|
-
entreprise_diagnostiqueur: string;
|
|
64
|
-
numero_certification_diagnostiqueur: string;
|
|
65
|
-
organisme_certificateur: string;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export interface DpeImmeuble {
|
|
69
|
-
logement_visite_collection: LogementVisite[];
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
export interface LogementVisite {
|
|
73
|
-
description: string;
|
|
74
|
-
enum_position_etage_logement_id: string;
|
|
75
|
-
enum_typologie_logement_id: string;
|
|
76
|
-
surface_habitable_logement: number;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export interface Geolocalisation {
|
|
80
|
-
invar_logement?: string;
|
|
81
|
-
numero_fiscal_local?: string;
|
|
82
|
-
id_batiment_rnb?: string;
|
|
83
|
-
rpls_log_id?: string;
|
|
84
|
-
rpls_org_id?: string;
|
|
85
|
-
idpar?: string;
|
|
86
|
-
immatriculation_copropriete?: string;
|
|
87
|
-
adresses?: {
|
|
88
|
-
adresse_bien: Adresse;
|
|
89
|
-
adresse_proprietaire: Adresse;
|
|
90
|
-
adresse_proprietaire_installation_commune: Adresse;
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
export interface Adresse {
|
|
95
|
-
adresse_brut: string;
|
|
96
|
-
code_postal_brut: string;
|
|
97
|
-
nom_commune_brut: string;
|
|
98
|
-
label_brut: string;
|
|
99
|
-
label_brut_avec_complement: string;
|
|
100
|
-
enum_statut_geocodage_ban_id: string;
|
|
101
|
-
ban_date_appel: string;
|
|
102
|
-
ban_id?: string;
|
|
103
|
-
ban_id_ban_adresse?: string;
|
|
104
|
-
ban_label?: string;
|
|
105
|
-
ban_housenumber?: string;
|
|
106
|
-
ban_street?: string;
|
|
107
|
-
ban_citycode?: string;
|
|
108
|
-
ban_postcode?: string;
|
|
109
|
-
ban_city?: string;
|
|
110
|
-
ban_type?: string;
|
|
111
|
-
ban_score?: string;
|
|
112
|
-
ban_x?: string;
|
|
113
|
-
compl_nom_residence?: string;
|
|
114
|
-
compl_ref_batiment?: string;
|
|
115
|
-
compl_etage_appartement?: string;
|
|
116
|
-
compl_ref_cage_escalier?: string;
|
|
117
|
-
compl_ref_logement?: string;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export interface InformationConsentementProprietaire {
|
|
121
|
-
nom_proprietaire: string;
|
|
122
|
-
personne_morale: boolean;
|
|
123
|
-
siren_proprietaire?: string;
|
|
124
|
-
telephone?: string;
|
|
125
|
-
mail?: string;
|
|
126
|
-
label_adresse: string;
|
|
127
|
-
label_adresse_avec_complement: string;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
export interface CaracteristiqueGenerale {
|
|
131
|
-
annee_construction?: number;
|
|
132
|
-
enum_periode_construction_id: number;
|
|
133
|
-
enum_methode_application_dpe_log_id: number;
|
|
134
|
-
enum_calcul_echantillonnage_id?: number;
|
|
135
|
-
surface_habitable_logement?: number;
|
|
136
|
-
nombre_niveau_immeuble?: number;
|
|
137
|
-
nombre_niveau_logement?: number;
|
|
138
|
-
hsp: number;
|
|
139
|
-
surface_habitable_immeuble?: number;
|
|
140
|
-
surface_tertiaire_immeuble?: number;
|
|
141
|
-
nombre_appartement?: number;
|
|
142
|
-
appartement_non_visite: boolean;
|
|
44
|
+
export interface LogementDonneesCalcul {
|
|
45
|
+
apportsInterneCh: { [key: string]: number };
|
|
46
|
+
apportsInterneDepensier: { [key: string]: number };
|
|
47
|
+
apportsSolaire: { [key: string]: number };
|
|
48
|
+
besoinChauffageHP: { [key: string]: number };
|
|
49
|
+
besoinChauffageDepensierHP: { [key: string]: number };
|
|
143
50
|
}
|
|
144
51
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
52
|
+
/** Enveloppe : collections typées avec les modèles enrichis (voir *.model.ts). */
|
|
53
|
+
export interface Enveloppe extends Omit<
|
|
54
|
+
XsdLogementEnveloppe,
|
|
55
|
+
| 'mur_collection'
|
|
56
|
+
| 'plancher_bas_collection'
|
|
57
|
+
| 'plancher_haut_collection'
|
|
58
|
+
| 'baie_vitree_collection'
|
|
59
|
+
| 'porte_collection'
|
|
60
|
+
| 'ets_collection'
|
|
61
|
+
| 'pont_thermique_collection'
|
|
62
|
+
> {
|
|
63
|
+
mur_collection: { mur: Mur[] };
|
|
64
|
+
plancher_bas_collection: { plancher_bas: PlancherBas[] };
|
|
65
|
+
plancher_haut_collection: { plancher_haut: PlancherHaut[] };
|
|
66
|
+
baie_vitree_collection: { baie_vitree: BaieVitree[] };
|
|
67
|
+
porte_collection: { porte: Porte[] };
|
|
68
|
+
/** Le XSD autorise plusieurs `ets` ; le parseur du moteur ne les met pas en tableau si un seul. */
|
|
69
|
+
ets_collection: { ets: Ets | Ets[] };
|
|
70
|
+
pont_thermique_collection: { pont_thermique: PontThermique[] };
|
|
150
71
|
}
|
|
151
72
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
73
|
+
/**
|
|
74
|
+
* Logement : type XSD, avec les installations ECS/chauffage enrichies des `donnee_utilisateur`
|
|
75
|
+
* propres à Open3CL, et `donnees_de_calcul` (hors XSD).
|
|
76
|
+
*/
|
|
77
|
+
export interface Logement extends Omit<
|
|
78
|
+
XsdLogement,
|
|
79
|
+
| 'enveloppe'
|
|
80
|
+
| 'ventilation_collection'
|
|
81
|
+
| 'climatisation_collection'
|
|
82
|
+
| 'production_elec_enr'
|
|
83
|
+
| 'sortie'
|
|
84
|
+
| 'installation_ecs_collection'
|
|
85
|
+
| 'installation_chauffage_collection'
|
|
86
|
+
> {
|
|
155
87
|
enveloppe: Enveloppe;
|
|
156
88
|
ventilation_collection: { ventilation: Ventilation[] };
|
|
157
89
|
climatisation_collection: { climatisation: Climatisation[] };
|
|
158
|
-
production_elec_enr?: ProductionElecEnr;
|
|
90
|
+
production_elec_enr?: ProductionElecEnr | null;
|
|
91
|
+
sortie: Sortie;
|
|
159
92
|
installation_ecs_collection: { installation_ecs: InstallationEcs[] };
|
|
160
93
|
installation_chauffage_collection: { installation_chauffage: InstallationChauffage[] };
|
|
161
|
-
sortie: Sortie;
|
|
162
94
|
donnees_de_calcul: LogementDonneesCalcul;
|
|
163
95
|
}
|
|
164
96
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
besoinChauffageHP: { [key: string]: number };
|
|
170
|
-
besoinChauffageDepensierHP: { [key: string]: number };
|
|
171
|
-
}
|
|
172
|
-
|
|
97
|
+
/**
|
|
98
|
+
* Le moteur traite `tertiaire` et `logement_neuf` comme un logement (le XSD les décrit
|
|
99
|
+
* différemment : cf. XsdTertiaire / XsdLogementNeuf dans dpe-xsd.generated.ts).
|
|
100
|
+
*/
|
|
173
101
|
export interface Tertiaire extends Logement {}
|
|
174
102
|
|
|
175
103
|
export interface LogementNeuf extends Logement {}
|
|
176
104
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
105
|
+
/**
|
|
106
|
+
* @see https://gitlab.com/observatoire-dpe/observatoire-dpe/-/blob/master/modele_donnee/DPEv2.7.xsd
|
|
107
|
+
*/
|
|
108
|
+
export interface Dpe extends Omit<
|
|
109
|
+
XsdDpe,
|
|
110
|
+
'logement' | 'tertiaire' | 'logement_neuf' | 'administratif'
|
|
111
|
+
> {
|
|
112
|
+
/** Hors XSD : numéro DPE ajouté par le moteur / l'API */
|
|
113
|
+
numero_dpe: string;
|
|
114
|
+
/** Hors XSD : statut du DPE */
|
|
115
|
+
statut: string;
|
|
116
|
+
administratif: Administratif;
|
|
117
|
+
logement?: Logement;
|
|
118
|
+
tertiaire?: Tertiaire;
|
|
119
|
+
logement_neuf?: LogementNeuf;
|
|
191
120
|
}
|
|
192
121
|
|
|
193
122
|
export interface DE {
|
|
@@ -195,13 +124,8 @@ export interface DE {
|
|
|
195
124
|
reference?: string;
|
|
196
125
|
}
|
|
197
126
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
export enum TypeDpe {
|
|
204
|
-
MAISON = 'MAISON',
|
|
205
|
-
APPARTEMENT = 'APPARTEMENT',
|
|
206
|
-
IMMEUBLE = 'IMMEUBLE'
|
|
207
|
-
}
|
|
127
|
+
/** Types définis à l'exécution dans type-habitation.model.js. */
|
|
128
|
+
export type TypeHabitation = 'MAISON' | 'APPARTEMENT' | 'IMMEUBLE';
|
|
129
|
+
export type TypeDpe = 'MAISON' | 'APPARTEMENT' | 'APPARTEMENT_A_PARTIR_IMMEUBLE' | 'IMMEUBLE';
|
|
130
|
+
|
|
131
|
+
export type FullDpe = Dpe;
|
|
@@ -1,19 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// Alias des types générés depuis le XSD DPE (voir dpe-xsd.generated.ts). Les extensions propres
|
|
2
|
+
// à Open3CL se déclarent ici (hors fichier généré) pour survivre à la régénération.
|
|
3
|
+
import type {
|
|
4
|
+
XsdLogementEnveloppeEts,
|
|
5
|
+
XsdLogementEnveloppeEtsDonneeEntree,
|
|
6
|
+
XsdLogementEnveloppeEtsDonneeIntermediaire
|
|
7
|
+
} from './dpe-xsd.generated.js';
|
|
3
8
|
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
baie_ets_collection?: { baie_ets: BaieEts[] };
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface EtsDE extends DE {
|
|
11
|
-
tv_coef_reduction_deperdition_id?: number; // TV
|
|
12
|
-
enum_cfg_isolation_lnc_id?: number; // ENUM cfg_isolation_lnc
|
|
13
|
-
tv_coef_transparence_ets_id: number; // TV
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface EtsDI {
|
|
17
|
-
coef_transparence_ets: number;
|
|
18
|
-
bver: number;
|
|
19
|
-
}
|
|
9
|
+
export type Ets = XsdLogementEnveloppeEts;
|
|
10
|
+
export type EtsDE = XsdLogementEnveloppeEtsDonneeEntree;
|
|
11
|
+
export type EtsDI = XsdLogementEnveloppeEtsDonneeIntermediaire;
|
|
@@ -1,110 +1,89 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type {
|
|
2
|
+
XsdLogementInstallationChauffage,
|
|
3
|
+
XsdLogementInstallationChauffageDonneeEntree,
|
|
4
|
+
XsdLogementInstallationChauffageDonneeIntermediaire,
|
|
5
|
+
XsdLogementInstallationChauffageEmetteurChauffage,
|
|
6
|
+
XsdLogementInstallationChauffageEmetteurChauffageDonneeEntree,
|
|
7
|
+
XsdLogementInstallationChauffageEmetteurChauffageDonneeIntermediaire,
|
|
8
|
+
XsdLogementInstallationChauffageGenerateurChauffage,
|
|
9
|
+
XsdLogementInstallationChauffageGenerateurChauffageDonneeEntree,
|
|
10
|
+
XsdLogementInstallationChauffageGenerateurChauffageDonneeIntermediaire
|
|
11
|
+
} from './dpe-xsd.generated.js';
|
|
3
12
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
13
|
+
/** + champ Open3CL hors XSD : `ficheTechniqueComptage` (fiche technique). */
|
|
14
|
+
export type InstallationChauffageDE = XsdLogementInstallationChauffageDonneeEntree & {
|
|
15
|
+
ficheTechniqueComptage?: any;
|
|
16
|
+
};
|
|
17
|
+
export type InstallationChauffageDI = XsdLogementInstallationChauffageDonneeIntermediaire;
|
|
18
|
+
export interface EmetteurChauffage extends Omit<
|
|
19
|
+
XsdLogementInstallationChauffageEmetteurChauffage,
|
|
20
|
+
'donnee_intermediaire'
|
|
21
|
+
> {
|
|
22
|
+
donnee_intermediaire: EmetteurChauffageDI;
|
|
9
23
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
conso_ch_depensier: number;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export interface EmetteurChauffage {
|
|
37
|
-
donnee_entree?: EmetteurChauffageDE;
|
|
38
|
-
donnee_intermediaire?: EmetteurChauffageDI;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export interface EmetteurChauffageDE extends DE {
|
|
42
|
-
surface_chauffee: number;
|
|
43
|
-
tv_rendement_emission_id: number;
|
|
44
|
-
tv_rendement_distribution_ch_id: number;
|
|
45
|
-
tv_rendement_regulation_id: number;
|
|
46
|
-
enum_type_emission_distribution_id: number;
|
|
47
|
-
tv_intermittence_id: number;
|
|
48
|
-
reseau_distribution_isole?: boolean;
|
|
49
|
-
enum_equipement_intermittence_id: number;
|
|
50
|
-
enum_type_regulation_id: number;
|
|
51
|
-
enum_periode_installation_emetteur_id?: number;
|
|
52
|
-
enum_type_chauffage_id: number;
|
|
53
|
-
enum_temp_distribution_ch_id: number;
|
|
54
|
-
enum_lien_generateur_emetteur_id: number;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export interface EmetteurChauffageDI {
|
|
58
|
-
i0: number;
|
|
59
|
-
rendement_emission: number;
|
|
60
|
-
rendement_distribution: number;
|
|
61
|
-
rendement_regulation: number;
|
|
24
|
+
export type EmetteurChauffageDE = XsdLogementInstallationChauffageEmetteurChauffageDonneeEntree;
|
|
25
|
+
/** + champ calculé Open3CL hors XSD : `lb` (longueur de boucle). */
|
|
26
|
+
export type EmetteurChauffageDI =
|
|
27
|
+
XsdLogementInstallationChauffageEmetteurChauffageDonneeIntermediaire & {
|
|
28
|
+
lb?: number;
|
|
29
|
+
};
|
|
30
|
+
/** Champs communs aux générateurs (chauffage et ECS) ajoutés par le moteur hors XSD, en entrée. */
|
|
31
|
+
export interface GenerateurDEMoteur {
|
|
32
|
+
/** Année d'installation (issue de la saisie ou de la fiche technique). */
|
|
33
|
+
annee_installation?: number | string;
|
|
34
|
+
/** 1 si le générateur a un ventilateur (chaudières bois). */
|
|
35
|
+
presenceVentilateur?: number;
|
|
36
|
+
/** 1 si le générateur est à ventilateur de combustion (renseigné par le moteur, §13.2). */
|
|
37
|
+
ventilateurCombustion?: number;
|
|
38
|
+
ratio_virtualisation?: number | null;
|
|
39
|
+
enum_type_installation_id?: string | null;
|
|
40
|
+
enum_type_generateur_ecs_id?: string | null;
|
|
41
|
+
enum_periode_installation_ecs_thermo_id?: string | null;
|
|
42
|
+
volume_stockage?: number | null;
|
|
43
|
+
/** Clé de répartition de la consommation ECS (copiée de l'installation par le moteur). */
|
|
44
|
+
cle_repartition_ecs?: number | null;
|
|
45
|
+
/** Clé de répartition de la consommation de chauffage (copiée de l'installation par le moteur). */
|
|
46
|
+
cle_repartition_ch?: number | null;
|
|
62
47
|
}
|
|
63
48
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
49
|
+
/** Champs communs aux générateurs (chauffage et ECS) calculés par le moteur hors XSD. */
|
|
50
|
+
export interface GenerateurDIMoteur {
|
|
51
|
+
/** Rendement de génération (PAC) : scop ou cop. */
|
|
52
|
+
rg?: number | null;
|
|
53
|
+
/** Rendement de génération du cas dépensier (PAC). */
|
|
54
|
+
rg_dep?: number | null;
|
|
55
|
+
scop?: number | null;
|
|
56
|
+
cop?: number | null;
|
|
57
|
+
/** Puissance de la veilleuse (W). */
|
|
58
|
+
pveil?: number | null;
|
|
68
59
|
}
|
|
69
60
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
priorite_generateur_cascade?: number;
|
|
86
|
-
presence_ventouse?: number;
|
|
87
|
-
presence_regulation_combustion?: boolean;
|
|
88
|
-
enum_methode_saisie_carac_sys_id: number;
|
|
89
|
-
enum_lien_generateur_emetteur_id: number;
|
|
90
|
-
}
|
|
61
|
+
/** + champs calculés/renseignés par le moteur hors XSD. */
|
|
62
|
+
export type GenerateurChauffageDE =
|
|
63
|
+
XsdLogementInstallationChauffageGenerateurChauffageDonneeEntree &
|
|
64
|
+
GenerateurDEMoteur & {
|
|
65
|
+
/** Nombre d'installations de chauffage de l'immeuble (rdim). */
|
|
66
|
+
rdim_installation_ch?: number;
|
|
67
|
+
/** true si `rdim` a été reconstitué pour un DPE à l'immeuble. */
|
|
68
|
+
rdim_reconstitue?: boolean;
|
|
69
|
+
/** Nombre de niveaux de l'installation (copié de l'installation par le moteur). */
|
|
70
|
+
nombre_niveau_installation_ch?: number;
|
|
71
|
+
/** Surface chauffée par l'installation (copiée de l'installation par le moteur). */
|
|
72
|
+
surface_chauffee?: number;
|
|
73
|
+
};
|
|
74
|
+
export type GenerateurChauffageDI =
|
|
75
|
+
XsdLogementInstallationChauffageGenerateurChauffageDonneeIntermediaire & GenerateurDIMoteur;
|
|
91
76
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
pn?: number;
|
|
95
|
-
qp0?: number;
|
|
96
|
-
pveilleuse?: number;
|
|
97
|
-
temp_fonc_30?: number;
|
|
98
|
-
temp_fonc_100?: number;
|
|
99
|
-
rpn?: number;
|
|
100
|
-
rpint?: number;
|
|
101
|
-
conso_ch: number;
|
|
102
|
-
conso_ch_depensier: number;
|
|
103
|
-
}
|
|
77
|
+
/** Type de générateur (défini à l'exécution dans type-generateur.model.js). */
|
|
78
|
+
export type TypeGenerateur = 'CHAUDIERE' | 'OTHER';
|
|
104
79
|
|
|
80
|
+
/** Donnée utilisateur propre à Open3CL (absente du XSD). */
|
|
105
81
|
export interface GenerateurChauffageDU {
|
|
82
|
+
/** Valeurs intermédiaires ajoutées dynamiquement par le moteur (ex. conso_ch_appoint_bijonction). */
|
|
83
|
+
[key: string]: any;
|
|
106
84
|
ratio_virtualisation?: number;
|
|
107
85
|
typeGenerateur?: TypeGenerateur;
|
|
86
|
+
isCombustionGenerator?: boolean;
|
|
108
87
|
combustion: boolean;
|
|
109
88
|
pac: boolean;
|
|
110
89
|
generateur?: {
|
|
@@ -119,7 +98,21 @@ export interface GenerateurChauffageDU {
|
|
|
119
98
|
};
|
|
120
99
|
}
|
|
121
100
|
|
|
122
|
-
export
|
|
123
|
-
|
|
124
|
-
|
|
101
|
+
export interface GenerateurChauffage extends Omit<
|
|
102
|
+
XsdLogementInstallationChauffageGenerateurChauffage,
|
|
103
|
+
'donnee_entree' | 'donnee_intermediaire'
|
|
104
|
+
> {
|
|
105
|
+
donnee_entree: GenerateurChauffageDE;
|
|
106
|
+
donnee_intermediaire?: GenerateurChauffageDI;
|
|
107
|
+
donnee_utilisateur?: GenerateurChauffageDU;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export interface InstallationChauffage extends Omit<
|
|
111
|
+
XsdLogementInstallationChauffage,
|
|
112
|
+
'donnee_entree' | 'emetteur_chauffage_collection' | 'generateur_chauffage_collection'
|
|
113
|
+
> {
|
|
114
|
+
donnee_entree: InstallationChauffageDE;
|
|
115
|
+
donnee_utilisateur?: Record<string, any>; // hors XSD
|
|
116
|
+
emetteur_chauffage_collection: { emetteur_chauffage: EmetteurChauffage[] };
|
|
117
|
+
generateur_chauffage_collection: { generateur_chauffage: GenerateurChauffage[] };
|
|
125
118
|
}
|