@open3cl/engine 1.11.1 → 1.11.3
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/11_ecs.spec.js +17 -1
- package/11_rdim_ecs_individuelle_unique.js +78 -0
- package/11_rdim_ecs_individuelle_unique.spec.js +136 -0
- package/13.2_generateur_combustion.spec.js +24 -1
- package/13.2_generateur_combustion_bouilleur.spec.js +8 -0
- package/13.2_generateur_combustion_ch.spec.js +41 -0
- package/14_generateur_ecs.spec.js +72 -0
- package/15_conso_aux.spec.js +20 -0
- package/3.1_b.spec.js +23 -0
- package/3.2.1_mur.spec.js +99 -0
- package/3.2.3_plancher_haut.spec.js +29 -0
- package/3.3_baie_vitree.spec.js +10 -0
- package/3.4_pont_thermique.spec.js +27 -0
- package/4_ventilation.spec.js +12 -0
- package/7_inertie.spec.js +10 -0
- package/9_besoin_ch.spec.js +4 -0
- package/9_conso_ch.js +1 -1
- package/9_emetteur_ch.spec.js +3 -1
- package/9_generateur_ch.spec.js +11 -0
- package/README.md +13 -13
- package/apport_et_besoin.spec.js +5 -1
- package/core/assets/domain/add-additionnal-ue-values-tables.js +0 -19
- package/core/assets/domain/add-additionnal-ue-values-tables.spec.js +3 -4
- package/core/assets/domain/synchronize-dpe-ges-limit-values-tables.spec.js +25 -0
- package/core/assets/domain/synchronize-valeur-tables.spec.js +43 -0
- package/core/util/logger/log-service.spec.js +11 -0
- package/dpe-sanitizer.service.spec.js +9 -0
- package/engine.js +10 -2
- package/engine.spec.js +66 -5
- package/features/dpe/domain/models/baie-ets.model.ts +8 -11
- package/features/dpe/domain/models/baie-vitree.model.ts +24 -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 +102 -171
- package/features/dpe/domain/models/ets.model.ts +10 -18
- package/features/dpe/domain/models/installation-chauffage.model.ts +49 -102
- package/features/dpe/domain/models/installation-ecs.model.ts +27 -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/ventilation.model.ts +15 -25
- package/features/normalizer/domain/dpe-normalizer.service.spec.js +5 -3
- package/package.json +27 -45
- package/utils.js +1 -2
- package/utils.spec.js +16 -0
|
@@ -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';
|
|
15
|
+
import type { BaieVitree } from './baie-vitree.model';
|
|
16
|
+
import type { Climatisation } from './climatisation.model';
|
|
17
|
+
import type { Ets } from './ets.model';
|
|
18
|
+
import type { InstallationChauffage } from './installation-chauffage.model';
|
|
19
|
+
import type { InstallationEcs } from './installation-ecs.model';
|
|
20
|
+
import type { Mur } from './mur.model';
|
|
21
|
+
import type { PlancherBas, PlancherHaut } from './plancher.model';
|
|
22
|
+
import type { PontThermique } from './pont-thermique.model';
|
|
23
|
+
import type { Porte } from './porte.model';
|
|
24
|
+
import type { ProductionElecEnr } from './production-elec-enr.model';
|
|
25
|
+
import type { Sortie } from './sortie.model';
|
|
26
|
+
import type { Ventilation } from './ventilation.model';
|
|
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 {
|
|
@@ -205,3 +134,5 @@ export enum TypeDpe {
|
|
|
205
134
|
APPARTEMENT = 'APPARTEMENT',
|
|
206
135
|
IMMEUBLE = 'IMMEUBLE'
|
|
207
136
|
}
|
|
137
|
+
|
|
138
|
+
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';
|
|
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,48 @@
|
|
|
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';
|
|
3
12
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
rdim: number;
|
|
15
|
-
nombre_niveau_installation_ch: number;
|
|
16
|
-
enum_cfg_installation_ch_id: number;
|
|
17
|
-
ratio_virtualisation?: number;
|
|
18
|
-
coef_ifc?: number;
|
|
19
|
-
cle_repartition_ch?: number;
|
|
20
|
-
enum_type_installation_id: number;
|
|
21
|
-
enum_methode_calcul_conso_id: number;
|
|
22
|
-
enum_methode_saisie_fact_couv_sol_id?: number;
|
|
23
|
-
tv_facteur_couverture_solaire_id?: number;
|
|
24
|
-
fch_saisi?: number;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export interface InstallationChauffageDI {
|
|
28
|
-
besoin_ch: number;
|
|
29
|
-
besoin_ch_depensier: number;
|
|
30
|
-
production_ch_solaire?: number;
|
|
31
|
-
fch?: number;
|
|
32
|
-
conso_ch: number;
|
|
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;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export interface GenerateurChauffage {
|
|
65
|
-
donnee_entree?: GenerateurChauffageDE;
|
|
66
|
-
donnee_utilisateur?: GenerateurChauffageDU;
|
|
67
|
-
donnee_intermediaire?: GenerateurChauffageDI;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
export interface GenerateurChauffageDE extends DE {
|
|
71
|
-
reference_generateur_mixte?: number;
|
|
72
|
-
ref_produit_generateur_ch?: number;
|
|
73
|
-
enum_type_generateur_ch_id: number;
|
|
74
|
-
enum_usage_generateur_id: number;
|
|
75
|
-
enum_type_energie_id: number;
|
|
76
|
-
position_volume_chauffe: number;
|
|
77
|
-
tv_rendement_generation_id?: number;
|
|
78
|
-
tv_scop_id?: number;
|
|
79
|
-
tv_temp_fonc_100_id?: number;
|
|
80
|
-
tv_temp_fonc_30_id?: number;
|
|
81
|
-
tv_generateur_combustion_id?: number;
|
|
82
|
-
tv_reseau_chaleur_id?: number;
|
|
83
|
-
identifiant_reseau_chaleur?: string;
|
|
84
|
-
date_arrete_reseau_chaleur?: string;
|
|
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;
|
|
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;
|
|
90
23
|
}
|
|
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
|
+
export type GenerateurChauffageDE = XsdLogementInstallationChauffageGenerateurChauffageDonneeEntree;
|
|
31
|
+
export type GenerateurChauffageDI =
|
|
32
|
+
XsdLogementInstallationChauffageGenerateurChauffageDonneeIntermediaire;
|
|
91
33
|
|
|
92
|
-
export
|
|
93
|
-
|
|
94
|
-
|
|
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;
|
|
34
|
+
export enum TypeGenerateur {
|
|
35
|
+
CHAUDIERE = 'CHAUDIERE',
|
|
36
|
+
OTHER = 'OTHER'
|
|
103
37
|
}
|
|
104
38
|
|
|
39
|
+
/** Donnée utilisateur propre à Open3CL (absente du XSD). */
|
|
105
40
|
export interface GenerateurChauffageDU {
|
|
41
|
+
/** Valeurs intermédiaires ajoutées dynamiquement par le moteur (ex. conso_ch_appoint_bijonction). */
|
|
42
|
+
[key: string]: any;
|
|
106
43
|
ratio_virtualisation?: number;
|
|
107
44
|
typeGenerateur?: TypeGenerateur;
|
|
45
|
+
isCombustionGenerator?: boolean;
|
|
108
46
|
combustion: boolean;
|
|
109
47
|
pac: boolean;
|
|
110
48
|
generateur?: {
|
|
@@ -119,7 +57,16 @@ export interface GenerateurChauffageDU {
|
|
|
119
57
|
};
|
|
120
58
|
}
|
|
121
59
|
|
|
122
|
-
export
|
|
123
|
-
|
|
124
|
-
|
|
60
|
+
export interface GenerateurChauffage extends XsdLogementInstallationChauffageGenerateurChauffage {
|
|
61
|
+
donnee_utilisateur?: GenerateurChauffageDU;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface InstallationChauffage extends Omit<
|
|
65
|
+
XsdLogementInstallationChauffage,
|
|
66
|
+
'donnee_entree' | 'emetteur_chauffage_collection' | 'generateur_chauffage_collection'
|
|
67
|
+
> {
|
|
68
|
+
donnee_entree: InstallationChauffageDE;
|
|
69
|
+
donnee_utilisateur?: Record<string, any>; // hors XSD
|
|
70
|
+
emetteur_chauffage_collection: { emetteur_chauffage: EmetteurChauffage[] };
|
|
71
|
+
generateur_chauffage_collection: { generateur_chauffage: GenerateurChauffage[] };
|
|
125
72
|
}
|
|
@@ -1,41 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
surface_habitable: number;
|
|
17
|
-
nombre_logement: number;
|
|
18
|
-
rdim: number;
|
|
19
|
-
nombre_niveau_installation_ecs: number;
|
|
20
|
-
fecs_saisi?: number;
|
|
21
|
-
tv_facteur_couverture_solaire_id?: number;
|
|
22
|
-
enum_methode_saisie_fact_couv_sol_id?: number;
|
|
23
|
-
enum_type_installation_solaire_id?: number;
|
|
24
|
-
tv_rendement_distribution_ecs_id: number;
|
|
25
|
-
enum_bouclage_reseau_ecs_id: number;
|
|
26
|
-
reseau_distribution_isole: boolean;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export interface InstallationEcsDI {
|
|
30
|
-
rendement_distribution: number;
|
|
31
|
-
besoin_ecs: number;
|
|
32
|
-
besoin_ecs_depensier: number;
|
|
33
|
-
fecs?: number;
|
|
34
|
-
production_ecs_solaire?: number;
|
|
35
|
-
conso_ecs: number;
|
|
36
|
-
conso_ecs_depensier: number;
|
|
37
|
-
}
|
|
38
|
-
|
|
1
|
+
import type {
|
|
2
|
+
XsdLogementInstallationEcs,
|
|
3
|
+
XsdLogementInstallationEcsDonneeEntree,
|
|
4
|
+
XsdLogementInstallationEcsDonneeIntermediaire,
|
|
5
|
+
XsdLogementInstallationEcsGenerateurEcs,
|
|
6
|
+
XsdLogementInstallationEcsGenerateurEcsDonneeEntree,
|
|
7
|
+
XsdLogementInstallationEcsGenerateurEcsDonneeIntermediaire
|
|
8
|
+
} from './dpe-xsd.generated';
|
|
9
|
+
|
|
10
|
+
export type InstallationEcsDE = XsdLogementInstallationEcsDonneeEntree;
|
|
11
|
+
export type InstallationEcsDI = XsdLogementInstallationEcsDonneeIntermediaire;
|
|
12
|
+
export type GenerateurEcsDE = XsdLogementInstallationEcsGenerateurEcsDonneeEntree;
|
|
13
|
+
export type GenerateurEcsDI = XsdLogementInstallationEcsGenerateurEcsDonneeIntermediaire;
|
|
14
|
+
|
|
15
|
+
/** Donnée utilisateur propre à Open3CL (absente du XSD) : valeurs intermédiaires du moteur. */
|
|
39
16
|
export interface InstallationEcsDU {
|
|
40
17
|
QdwIndVc: { conventionnel: number; depensier: number };
|
|
41
18
|
QdwColVc: { conventionnel: number; depensier: number };
|
|
@@ -43,47 +20,20 @@ export interface InstallationEcsDU {
|
|
|
43
20
|
QgwRecuperable: number;
|
|
44
21
|
}
|
|
45
22
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export interface GenerateurEcsDE extends DE {
|
|
53
|
-
reference_generateur_mixte?: string;
|
|
54
|
-
enum_type_generateur_ecs_id: number;
|
|
55
|
-
ref_produit_generateur_ecs?: string;
|
|
56
|
-
enum_usage_generateur_id: number;
|
|
57
|
-
enum_type_energie_id: number;
|
|
58
|
-
tv_generateur_combustion_id?: number;
|
|
59
|
-
enum_methode_saisie_carac_sys_id: number;
|
|
60
|
-
tv_pertes_stockage_id?: number;
|
|
61
|
-
tv_scop_id?: number;
|
|
62
|
-
enum_periode_installation_ecs_thermo_id?: number;
|
|
63
|
-
identifiant_reseau_chaleur?: string;
|
|
64
|
-
date_arrete_reseau_chaleur?: string;
|
|
65
|
-
tv_reseau_chaleur_id?: number;
|
|
66
|
-
enum_type_stockage_ecs_id: number;
|
|
67
|
-
position_volume_chauffe: number;
|
|
68
|
-
position_volume_chauffe_stockage?: number;
|
|
69
|
-
volume_stockage: number;
|
|
70
|
-
presence_ventouse?: boolean;
|
|
23
|
+
/** Donnée utilisateur propre à Open3CL (absente du XSD). */
|
|
24
|
+
export interface GenerateurEcsDU {
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
Qgw?: number;
|
|
71
27
|
}
|
|
72
28
|
|
|
73
|
-
export interface
|
|
74
|
-
|
|
75
|
-
qp0?: number;
|
|
76
|
-
pveilleuse?: number;
|
|
77
|
-
rpn?: number;
|
|
78
|
-
cop?: number;
|
|
79
|
-
ratio_besoin_ecs: number;
|
|
80
|
-
rendement_generation?: number;
|
|
81
|
-
rendement_generation_stockage?: number;
|
|
82
|
-
conso_ecs: number;
|
|
83
|
-
conso_ecs_depensier: number;
|
|
84
|
-
rendement_stockage?: number;
|
|
29
|
+
export interface GenerateurEcs extends XsdLogementInstallationEcsGenerateurEcs {
|
|
30
|
+
donnee_utilisateur?: GenerateurEcsDU;
|
|
85
31
|
}
|
|
86
32
|
|
|
87
|
-
export interface
|
|
88
|
-
|
|
33
|
+
export interface InstallationEcs extends Omit<
|
|
34
|
+
XsdLogementInstallationEcs,
|
|
35
|
+
'generateur_ecs_collection'
|
|
36
|
+
> {
|
|
37
|
+
donnee_utilisateur?: InstallationEcsDU;
|
|
38
|
+
generateur_ecs_collection: { generateur_ecs: GenerateurEcs[] };
|
|
89
39
|
}
|
|
@@ -1,39 +1,11 @@
|
|
|
1
|
-
|
|
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
|
+
XsdLogementEnveloppeMur,
|
|
5
|
+
XsdLogementEnveloppeMurDonneeEntree,
|
|
6
|
+
XsdLogementEnveloppeMurDonneeIntermediaire
|
|
7
|
+
} from './dpe-xsd.generated';
|
|
2
8
|
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export interface MurDE extends DE {
|
|
9
|
-
reference_lnc?: string;
|
|
10
|
-
tv_coef_reduction_deperdition_id?: number; // TV
|
|
11
|
-
surface_aiu?: number;
|
|
12
|
-
surface_aue?: number;
|
|
13
|
-
enum_cfg_isolation_lnc_id?: number; // ENUM cfg_isolation_lnc
|
|
14
|
-
enum_type_adjacence_id?: number; // ENUM type_adjacence
|
|
15
|
-
enum_orientation_id?: number; // ENUM orientation
|
|
16
|
-
surface_paroi_totale?: number;
|
|
17
|
-
surface_paroi_opaque?: number;
|
|
18
|
-
umur0_saisi?: number;
|
|
19
|
-
tv_umur0_id?: number; // TV
|
|
20
|
-
epaisseur_structure?: number;
|
|
21
|
-
enum_materiaux_structure_mur_id?: number; // ENUM materiaux_structure_mur
|
|
22
|
-
enum_methode_saisie_u0_id?: number; // ENUM methode_saisie_u0
|
|
23
|
-
enduit_isolant_paroi_ancienne?: boolean;
|
|
24
|
-
umur_saisi?: number;
|
|
25
|
-
enum_type_doublage_id?: number; // ENUM type_doublage
|
|
26
|
-
enum_type_isolation_id?: number; // ENUM type_isolation
|
|
27
|
-
enum_periode_isolation_id?: number; // ENUM periode_isolation
|
|
28
|
-
resistance_isolation?: number;
|
|
29
|
-
epaisseur_isolation?: number;
|
|
30
|
-
tv_umur_id?: number; // TV
|
|
31
|
-
enum_methode_saisie_u_id?: number; // ENUM methode_saisie_u
|
|
32
|
-
paroi_lourde?: boolean;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export interface MurDI {
|
|
36
|
-
umur: number;
|
|
37
|
-
umur0: number;
|
|
38
|
-
b: number;
|
|
39
|
-
}
|
|
9
|
+
export type Mur = XsdLogementEnveloppeMur;
|
|
10
|
+
export type MurDE = XsdLogementEnveloppeMurDonneeEntree;
|
|
11
|
+
export type MurDI = XsdLogementEnveloppeMurDonneeIntermediaire;
|