Datenschutz vollmacht fixed, two time counter added

This commit is contained in:
2026-03-21 16:42:31 +01:00
parent 0121c82412
commit 4f359df161
56 changed files with 4401 additions and 789 deletions
+23 -3
View File
File diff suppressed because one or more lines are too long
+20
View File
@@ -361,6 +361,7 @@ exports.Prisma.MeterScalarFieldEnum = {
customerId: 'customerId',
meterNumber: 'meterNumber',
type: 'type',
tariffModel: 'tariffModel',
location: 'location',
isActive: 'isActive',
createdAt: 'createdAt',
@@ -372,6 +373,7 @@ exports.Prisma.MeterReadingScalarFieldEnum = {
meterId: 'meterId',
readingDate: 'readingDate',
value: 'value',
valueNt: 'valueNt',
unit: 'unit',
notes: 'notes',
reportedBy: 'reportedBy',
@@ -529,11 +531,23 @@ exports.Prisma.EnergyContractDetailsScalarFieldEnum = {
annualConsumptionKwh: 'annualConsumptionKwh',
basePrice: 'basePrice',
unitPrice: 'unitPrice',
unitPriceNt: 'unitPriceNt',
bonus: 'bonus',
previousProviderName: 'previousProviderName',
previousCustomerNumber: 'previousCustomerNumber'
};
exports.Prisma.ContractMeterScalarFieldEnum = {
id: 'id',
energyContractDetailsId: 'energyContractDetailsId',
meterId: 'meterId',
position: 'position',
installedAt: 'installedAt',
removedAt: 'removedAt',
finalReading: 'finalReading',
createdAt: 'createdAt'
};
exports.Prisma.InvoiceScalarFieldEnum = {
id: 'id',
energyContractDetailsId: 'energyContractDetailsId',
@@ -742,6 +756,11 @@ exports.MeterType = exports.$Enums.MeterType = {
GAS: 'GAS'
};
exports.MeterTariffModel = exports.$Enums.MeterTariffModel = {
SINGLE: 'SINGLE',
DUAL: 'DUAL'
};
exports.MeterReadingStatus = exports.$Enums.MeterReadingStatus = {
RECORDED: 'RECORDED',
REPORTED: 'REPORTED',
@@ -855,6 +874,7 @@ exports.Prisma.ModelName = {
ContractTask: 'ContractTask',
ContractTaskSubtask: 'ContractTaskSubtask',
EnergyContractDetails: 'EnergyContractDetails',
ContractMeter: 'ContractMeter',
Invoice: 'Invoice',
InternetContractDetails: 'InternetContractDetails',
PhoneNumber: 'PhoneNumber',
+2068 -57
View File
File diff suppressed because it is too large Load Diff
+23 -3
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,5 +1,5 @@
{
"name": "prisma-client-c6d54e22fa4d6137f643638da5d523e99ce84f9544cc793fd89163f1612953c6",
"name": "prisma-client-45a91d7556f300a75a0048d27fac6a72915779fc4e5c2234b54fe3547ddb1605",
"main": "index.js",
"types": "index.d.ts",
"browser": "index-browser.js",
+43 -17
View File
@@ -411,18 +411,25 @@ enum MeterType {
GAS
}
enum MeterTariffModel {
SINGLE // Eintarifzähler (Standard)
DUAL // Zweitarifzähler (HT/NT)
}
model Meter {
id Int @id @default(autoincrement())
customerId Int
customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)
meterNumber String
type MeterType
location String?
isActive Boolean @default(true)
readings MeterReading[]
energyDetails EnergyContractDetails[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
id Int @id @default(autoincrement())
customerId Int
customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)
meterNumber String
type MeterType
tariffModel MeterTariffModel @default(SINGLE) // Eintarif oder Zweitarif (HT/NT)
location String?
isActive Boolean @default(true)
readings MeterReading[]
energyDetails EnergyContractDetails[]
contractMeters ContractMeter[] @relation("ContractMeters")
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model MeterReading {
@@ -430,7 +437,8 @@ model MeterReading {
meterId Int
meter Meter @relation(fields: [meterId], references: [id], onDelete: Cascade)
readingDate DateTime
value Float
value Float // Bei Eintarif: Gesamtwert. Bei Zweitarif: HT-Wert
valueNt Float? // Nur bei Zweitarif: NT-Wert (Niedertarif)
unit String @default("kWh")
notes String?
// Meldung & Übertragung
@@ -709,20 +717,38 @@ enum InvoiceType {
}
model EnergyContractDetails {
id Int @id @default(autoincrement())
contractId Int @unique
contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)
id Int @id @default(autoincrement())
contractId Int @unique
contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)
meterId Int?
meter Meter? @relation(fields: [meterId], references: [id])
meter Meter? @relation(fields: [meterId], references: [id])
maloId String? // Marktlokations-ID
annualConsumption Float? // kWh für Strom, m³ für Gas
annualConsumptionKwh Float? // kWh für Gas (zusätzlich zu m³)
basePrice Float? // €/Monat
unitPrice Float? // €/kWh (Arbeitspreis)
unitPrice Float? // €/kWh (Arbeitspreis) - bei HT/NT: HT-Preis
unitPriceNt Float? // €/kWh NT-Preis (nur bei Zweitarifzähler)
bonus Float?
previousProviderName String?
previousCustomerNumber String?
invoices Invoice[] // Rechnungen
contractMeters ContractMeter[] // Zähler-Zuordnungen (inkl. Folgezähler)
}
model ContractMeter {
id Int @id @default(autoincrement())
energyContractDetailsId Int
energyContractDetails EnergyContractDetails @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade)
meterId Int
meter Meter @relation("ContractMeters", fields: [meterId], references: [id])
position Int @default(0) // 0 = Original, 1 = erster Folgezähler, etc.
installedAt DateTime? // Ab wann wird dieser Zähler am Vertrag genutzt?
removedAt DateTime? // Wann wurde der Zähler gewechselt? (null = aktuell)
finalReading Float? // Letzter Stand vor dem Wechsel
createdAt DateTime @default(now())
@@unique([energyContractDetailsId, meterId])
@@index([energyContractDetailsId])
}
model Invoice {
+20
View File
@@ -361,6 +361,7 @@ exports.Prisma.MeterScalarFieldEnum = {
customerId: 'customerId',
meterNumber: 'meterNumber',
type: 'type',
tariffModel: 'tariffModel',
location: 'location',
isActive: 'isActive',
createdAt: 'createdAt',
@@ -372,6 +373,7 @@ exports.Prisma.MeterReadingScalarFieldEnum = {
meterId: 'meterId',
readingDate: 'readingDate',
value: 'value',
valueNt: 'valueNt',
unit: 'unit',
notes: 'notes',
reportedBy: 'reportedBy',
@@ -529,11 +531,23 @@ exports.Prisma.EnergyContractDetailsScalarFieldEnum = {
annualConsumptionKwh: 'annualConsumptionKwh',
basePrice: 'basePrice',
unitPrice: 'unitPrice',
unitPriceNt: 'unitPriceNt',
bonus: 'bonus',
previousProviderName: 'previousProviderName',
previousCustomerNumber: 'previousCustomerNumber'
};
exports.Prisma.ContractMeterScalarFieldEnum = {
id: 'id',
energyContractDetailsId: 'energyContractDetailsId',
meterId: 'meterId',
position: 'position',
installedAt: 'installedAt',
removedAt: 'removedAt',
finalReading: 'finalReading',
createdAt: 'createdAt'
};
exports.Prisma.InvoiceScalarFieldEnum = {
id: 'id',
energyContractDetailsId: 'energyContractDetailsId',
@@ -742,6 +756,11 @@ exports.MeterType = exports.$Enums.MeterType = {
GAS: 'GAS'
};
exports.MeterTariffModel = exports.$Enums.MeterTariffModel = {
SINGLE: 'SINGLE',
DUAL: 'DUAL'
};
exports.MeterReadingStatus = exports.$Enums.MeterReadingStatus = {
RECORDED: 'RECORDED',
REPORTED: 'REPORTED',
@@ -855,6 +874,7 @@ exports.Prisma.ModelName = {
ContractTask: 'ContractTask',
ContractTaskSubtask: 'ContractTaskSubtask',
EnergyContractDetails: 'EnergyContractDetails',
ContractMeter: 'ContractMeter',
Invoice: 'Invoice',
InternetContractDetails: 'InternetContractDetails',
PhoneNumber: 'PhoneNumber',