added invoices and status in cockpit, created info button for contract status types

This commit is contained in:
2026-02-08 01:18:12 +01:00
parent 1ad4fe0819
commit aee48a8ccb
45 changed files with 4543 additions and 863 deletions
+21 -3
View File
File diff suppressed because one or more lines are too long
+18
View File
@@ -476,6 +476,17 @@ exports.Prisma.EnergyContractDetailsScalarFieldEnum = {
previousCustomerNumber: 'previousCustomerNumber'
};
exports.Prisma.InvoiceScalarFieldEnum = {
id: 'id',
energyContractDetailsId: 'energyContractDetailsId',
invoiceDate: 'invoiceDate',
invoiceType: 'invoiceType',
documentPath: 'documentPath',
notes: 'notes',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.InternetContractDetailsScalarFieldEnum = {
id: 'id',
contractId: 'contractId',
@@ -624,6 +635,12 @@ exports.ContractTaskStatus = exports.$Enums.ContractTaskStatus = {
COMPLETED: 'COMPLETED'
};
exports.InvoiceType = exports.$Enums.InvoiceType = {
INTERIM: 'INTERIM',
FINAL: 'FINAL',
NOT_AVAILABLE: 'NOT_AVAILABLE'
};
exports.InsuranceType = exports.$Enums.InsuranceType = {
LIABILITY: 'LIABILITY',
PARTIAL: 'PARTIAL',
@@ -657,6 +674,7 @@ exports.Prisma.ModelName = {
ContractTask: 'ContractTask',
ContractTaskSubtask: 'ContractTaskSubtask',
EnergyContractDetails: 'EnergyContractDetails',
Invoice: 'Invoice',
InternetContractDetails: 'InternetContractDetails',
PhoneNumber: 'PhoneNumber',
MobileContractDetails: 'MobileContractDetails',
+1612 -1
View File
File diff suppressed because it is too large Load Diff
+21 -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-86f9a11dd446473e587830adde1df64246ce246e4602839fa2ced48c6aa2f902",
"name": "prisma-client-a41de88ab23bcfe6707e2a70a25cdd4736b5f2e024b64f8f8760b0e23260313f",
"main": "index.js",
"types": "index.d.ts",
"browser": "index-browser.js",
+25 -4
View File
@@ -596,12 +596,18 @@ model ContractTaskSubtask {
// ==================== ENERGY CONTRACT DETAILS ====================
enum InvoiceType {
INTERIM // Zwischenrechnung
FINAL // Schlussrechnung
NOT_AVAILABLE // Rechnung nicht mehr zu bekommen
}
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³)
@@ -610,6 +616,21 @@ model EnergyContractDetails {
bonus Float?
previousProviderName String?
previousCustomerNumber String?
invoices Invoice[] // Rechnungen
}
model Invoice {
id Int @id @default(autoincrement())
energyContractDetailsId Int
energyContractDetails EnergyContractDetails @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade)
invoiceDate DateTime
invoiceType InvoiceType
documentPath String? // Pflicht, außer bei NOT_AVAILABLE
notes String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@index([energyContractDetailsId])
}
// ==================== INTERNET CONTRACT DETAILS ====================
+18
View File
@@ -476,6 +476,17 @@ exports.Prisma.EnergyContractDetailsScalarFieldEnum = {
previousCustomerNumber: 'previousCustomerNumber'
};
exports.Prisma.InvoiceScalarFieldEnum = {
id: 'id',
energyContractDetailsId: 'energyContractDetailsId',
invoiceDate: 'invoiceDate',
invoiceType: 'invoiceType',
documentPath: 'documentPath',
notes: 'notes',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
};
exports.Prisma.InternetContractDetailsScalarFieldEnum = {
id: 'id',
contractId: 'contractId',
@@ -624,6 +635,12 @@ exports.ContractTaskStatus = exports.$Enums.ContractTaskStatus = {
COMPLETED: 'COMPLETED'
};
exports.InvoiceType = exports.$Enums.InvoiceType = {
INTERIM: 'INTERIM',
FINAL: 'FINAL',
NOT_AVAILABLE: 'NOT_AVAILABLE'
};
exports.InsuranceType = exports.$Enums.InsuranceType = {
LIABILITY: 'LIABILITY',
PARTIAL: 'PARTIAL',
@@ -657,6 +674,7 @@ exports.Prisma.ModelName = {
ContractTask: 'ContractTask',
ContractTaskSubtask: 'ContractTaskSubtask',
EnergyContractDetails: 'EnergyContractDetails',
Invoice: 'Invoice',
InternetContractDetails: 'InternetContractDetails',
PhoneNumber: 'PhoneNumber',
MobileContractDetails: 'MobileContractDetails',