Rewrite frontend, added rooms, voltage selection per project, startet with todos

This commit is contained in:
2026-05-01 17:07:56 +02:00
parent 81d47ce16f
commit 65819900b1
49 changed files with 3695 additions and 394 deletions
+21 -4
View File
@@ -8,11 +8,20 @@ import type { Consumer } from "../models/consumer.model.js";
export interface ConsumerWithCalculatedValues extends Consumer {
installedPowerKw: number;
demandPowerKw: number;
effectiveVoltageV?: number;
currentA?: number;
}
export interface ProjectVoltageDefaults {
singlePhaseVoltageV: number;
threePhaseVoltageV: number;
}
export class PowerBalanceService {
enrichConsumer(consumer: Consumer): ConsumerWithCalculatedValues {
enrichConsumer(
consumer: Consumer,
projectVoltageDefaults?: ProjectVoltageDefaults
): ConsumerWithCalculatedValues {
const installedPowerKw = calculateInstalledPowerKw({
quantity: consumer.quantity,
installedPowerPerUnitKw: consumer.installedPowerPerUnitKw,
@@ -24,11 +33,19 @@ export class PowerBalanceService {
demandFactor: consumer.demandFactor,
});
const effectiveVoltageV =
consumer.voltageV ??
(consumer.phaseCount === 1
? projectVoltageDefaults?.singlePhaseVoltageV
: consumer.phaseCount === 3
? projectVoltageDefaults?.threePhaseVoltageV
: undefined);
let currentA: number | undefined;
if (consumer.voltageV && consumer.phaseCount && consumer.powerFactor) {
if (effectiveVoltageV && consumer.phaseCount && consumer.powerFactor) {
currentA = calculateCurrentA({
demandPowerKw,
voltageV: consumer.voltageV,
voltageV: effectiveVoltageV,
phaseCount: consumer.phaseCount,
powerFactor: consumer.powerFactor,
});
@@ -38,8 +55,8 @@ export class PowerBalanceService {
...consumer,
installedPowerKw,
demandPowerKw,
effectiveVoltageV,
currentA,
};
}
}