Files
MarcWieland 411ede36ef init
2026-07-26 23:58:12 +02:00

426 lines
12 KiB
Dart

import '../models/customer.dart';
import '../models/installed_part.dart';
import '../models/order.dart';
import '../models/schedule_item.dart';
class MockData {
static final List<Customer> customers = [
Customer(
id: 'cust-1',
customerNumber: 'K-10025',
name: 'Max Mustermann',
street: 'Musterweg 12',
zipCode: '12345',
city: 'Musterstadt',
latitude: 50.1135,
longitude: 8.6790,
distanceKm: 2.4,
phone: '0171 1234567',
email: 'max.mustermann@email.de',
notes: 'Schlüsselbox an der Garage',
firstContactDate: DateTime(2022, 3, 10),
openOrdersCount: 1,
lastOrderDate: DateTime(2024, 5, 15),
installedParts: const [
InstalledPart(
id: 'part-1',
customerId: 'cust-1',
name: 'Buderus Logamax plus GB172-24',
category: 'Gas-Brennwertgerät',
serialNumber: '8374747383',
quantity: 1,
),
InstalledPart(
id: 'part-2',
customerId: 'cust-1',
name: 'Bosch EasyControl CT200',
category: 'Raumthermostat',
serialNumber: '1234567890',
quantity: 1,
),
InstalledPart(
id: 'part-3',
customerId: 'cust-1',
name: 'Honeywell Hauswasserfilter FF06',
category: 'Wasserfilter',
serialNumber: '9876543210',
quantity: 1,
),
],
orders: [
WorkOrder(
id: 'ord-1',
customerId: 'cust-1',
title: 'Wartung Heizungsanlage',
date: DateTime(2024, 5, 15),
status: OrderStatus.abgeschlossen,
),
WorkOrder(
id: 'ord-2',
customerId: 'cust-1',
title: 'Thermostat Einstellung & Kalibrierung',
date: DateTime(2026, 8, 2),
status: OrderStatus.offen,
),
],
),
Customer(
id: 'cust-2',
customerNumber: 'K-10026',
name: 'Sabine Schulze',
street: 'Nordring 45',
zipCode: '12347',
city: 'Musterstadt',
latitude: 50.1265,
longitude: 8.6890,
distanceKm: 4.1,
phone: '0160 9876543',
email: 'sabine.schulze@example.com',
notes: 'Hund im Garten, bitte vorher anrufen.',
firstContactDate: DateTime(2021, 11, 4),
openOrdersCount: 0,
lastOrderDate: DateTime(2024, 4, 10),
installedParts: const [
InstalledPart(
id: 'part-4',
customerId: 'cust-2',
name: 'Viessmann Vitodens 200-W',
category: 'Gas-Brennwertgerät',
serialNumber: '7632918401',
quantity: 1,
),
],
orders: [
WorkOrder(
id: 'ord-3',
customerId: 'cust-2',
title: 'Jahresinspektion',
date: DateTime(2024, 4, 10),
status: OrderStatus.abgeschlossen,
),
],
),
Customer(
id: 'cust-3',
customerNumber: 'K-10027',
name: 'Bäckerei Hoffmann GmbH',
street: 'Hauptstraße 88',
zipCode: '12345',
city: 'Musterstadt',
latitude: 50.1080,
longitude: 8.6650,
distanceKm: 1.8,
phone: '069 5551234',
email: 'info@baeckerei-hoffmann.de',
notes: 'Zufahrt über den Lieferanteneingang Rückseite.',
firstContactDate: DateTime(2020, 1, 15),
openOrdersCount: 2,
lastOrderDate: DateTime(2024, 6, 01),
installedParts: const [
InstalledPart(
id: 'part-5',
customerId: 'cust-3',
name: 'Grundfos Magna3 32-120 F',
category: 'Heizungsumwälzpumpe',
serialNumber: '983301920',
quantity: 2,
),
],
orders: [
WorkOrder(
id: 'ord-4',
customerId: 'cust-3',
title: 'Austausch Umwälzpumpe',
date: DateTime(2024, 6, 1),
status: OrderStatus.abgeschlossen,
),
],
),
Customer(
id: 'cust-4',
customerNumber: 'K-10028',
name: 'Dr. Michael Weber',
street: 'Goetheallee 3',
zipCode: '12349',
city: 'Musterstadt',
latitude: 50.0980,
longitude: 8.6720,
distanceKm: 3.5,
phone: '0172 4443322',
email: 'm.weber@praxis-weber.de',
notes: 'Termine nur mittwochs nachmittags möglich.',
firstContactDate: DateTime(2023, 7, 20),
openOrdersCount: 1,
lastOrderDate: DateTime(2023, 12, 12),
installedParts: const [],
orders: [
WorkOrder(
id: 'ord-5',
customerId: 'cust-4',
title: 'Installationsprüfbericht',
date: DateTime(2023, 12, 12),
status: OrderStatus.abgeschlossen,
),
],
),
Customer(
id: 'cust-5',
customerNumber: 'K-10029',
name: 'Elena Schmidt',
street: 'Ostendstraße 102',
zipCode: '12345',
city: 'Musterstadt',
latitude: 50.1110,
longitude: 8.7020,
distanceKm: 3.1,
phone: '0151 7766554',
email: 'elena.schmidt@gmx.de',
notes: 'Klingel beschriftet mit "Schmidt / OG 2".',
firstContactDate: DateTime(2024, 2, 1),
openOrdersCount: 0,
lastOrderDate: DateTime(2024, 3, 22),
installedParts: const [],
orders: [],
),
];
// Daily Schedule Items matching Auftragsuebersicht.png Day View
static final List<ScheduleItem> dayScheduleItems = [
ScheduleItem(
id: 'sch-1',
title: 'Team-Besprechung / Material-Laden',
startTime: '07:00',
endTime: '09:00',
type: ScheduleItemType.routine,
),
ScheduleItem(
id: 'sch-2',
title: 'Max Mustermann - Heizungswartung',
customerName: 'Max Mustermann',
address: 'Musterweg 12, 12345 Musterstadt',
taskDescription: 'Wartung Gas-Brennwertgerät',
startTime: '10:30',
endTime: '13:00',
type: ScheduleItemType.job,
isInProgress: true,
),
ScheduleItem(
id: 'sch-3',
title: 'Mittagspause',
startTime: '13:00',
endTime: '13:30',
type: ScheduleItemType.lunchBreak,
),
ScheduleItem(
id: 'sch-4',
title: 'Anja Klein - Thermostat-Tausch',
customerName: 'Anja Klein',
address: 'Musterweg 12, 12345 Musterstadt',
taskDescription: 'Wartung Gas-Brennwertgerät',
startTime: '13:30',
endTime: '15:00',
type: ScheduleItemType.job,
),
ScheduleItem(
id: 'sch-5',
title: 'Bauprojekt Neubau - Sanitär-Rohinstallation',
customerName: 'Bauprojekt Neubau',
address: 'Musterweg 12, 12345 Musterstadt',
startTime: '15:30',
endTime: '17:00',
type: ScheduleItemType.job,
),
ScheduleItem(
id: 'sch-6',
title: 'Feierabend',
startTime: '18:00',
endTime: '18:00',
type: ScheduleItemType.feierabend,
),
];
// Weekly Matrix Summaries matching Auftragsuebersicht.png Week View
static final List<DaySummary> weekSummaries = [
DaySummary(
dayName: 'Mo',
fullDayName: 'Montag',
dateString: '13.05',
ordersCount: 3,
hoursTotal: 8.5,
items: [
ScheduleItem(
id: 'w-mo-1',
title: 'Max Mustermann',
customerName: 'Max Mustermann',
address: 'Musterweg 12, 12345 Musterstadt',
startTime: '08:00',
endTime: '10:30',
isCompleted: true,
),
ScheduleItem(
id: 'w-mo-2',
title: 'Sabine Schulze',
customerName: 'Sabine Schulze',
address: 'Nordring 45, 12347 Musterstadt',
startTime: '11:00',
endTime: '14:00',
isCompleted: true,
),
],
),
DaySummary(
dayName: 'Di',
fullDayName: 'Dienstag',
dateString: '14.05',
ordersCount: 4,
hoursTotal: 9.0,
items: [
ScheduleItem(
id: 'w-di-1',
title: 'Max Mustermann',
customerName: 'Max Mustermann',
address: 'Musterweg 12, 12345 Musterstadt',
startTime: '08:00',
endTime: '10:00',
isCompleted: false,
),
ScheduleItem(
id: 'w-di-2',
title: 'Anja Klein',
customerName: 'Anja Klein',
address: 'Musterweg 12, 12345 Musterstadt',
startTime: '10:30',
endTime: '12:30',
isCompleted: false,
),
ScheduleItem(
id: 'w-di-3',
title: 'Max Mustermann',
customerName: 'Max Mustermann',
address: 'Musterweg 12, 12345 Musterstadt',
taskDescription: 'Wartertiter',
startTime: '13:30',
endTime: '15:30',
isCompleted: false,
),
ScheduleItem(
id: 'w-di-4',
title: 'Bauprojekt Neubau - Sanitär-Rohinstallation',
customerName: 'Bauprojekt Neubau',
address: 'Musterweg 12, 12345 Musterstadt',
taskDescription: 'Bauprüfer',
startTime: '16:00',
endTime: '18:00',
isCompleted: true,
),
],
),
DaySummary(
dayName: 'Mi',
fullDayName: 'Mittwoch',
dateString: '15.05',
ordersCount: 2,
hoursTotal: 7.5,
items: [
ScheduleItem(
id: 'w-mi-1',
title: 'Bäckerei Hoffmann GmbH',
customerName: 'Bäckerei Hoffmann GmbH',
address: 'Hauptstraße 88, 12345 Musterstadt',
startTime: '08:00',
endTime: '12:00',
isCompleted: true,
),
],
),
DaySummary(
dayName: 'Do',
fullDayName: 'Donnerstag',
dateString: '16.05',
ordersCount: 2,
hoursTotal: 7.5,
items: [
ScheduleItem(
id: 'w-do-1',
title: 'Max Mustermann',
customerName: 'Max Mustermann',
address: 'Musterweg 12, 12345 Musterstadt',
startTime: '09:00',
endTime: '12:00',
isCompleted: false,
),
ScheduleItem(
id: 'w-do-2',
title: 'Anja Klein',
customerName: 'Anja Klein',
address: 'Musterweg 12, 12345 Musterstadt',
startTime: '13:30',
endTime: '16:00',
isCompleted: false,
),
],
),
DaySummary(
dayName: 'Fr',
fullDayName: 'Freitag',
dateString: '17.05',
ordersCount: 5,
hoursTotal: 9.5,
items: [
ScheduleItem(
id: 'w-fr-1',
title: 'Max Mustermann',
customerName: 'Max Mustermann',
address: 'Musterweg 12, 12345 Musterstadt',
startTime: '08:00',
endTime: '10:00',
isCompleted: true,
),
ScheduleItem(
id: 'w-fr-2',
title: 'Max Mustermann',
customerName: 'Max Mustermann',
address: 'Musterweg 12, 12345 Musterstadt',
startTime: '10:15',
endTime: '12:00',
isCompleted: false,
),
ScheduleItem(
id: 'w-fr-3',
title: 'Max Mustermann',
customerName: 'Max Mustermann',
address: 'Musterweg 12, 12345 Musterstadt',
startTime: '13:00',
endTime: '15:00',
isCompleted: false,
),
ScheduleItem(
id: 'w-fr-4',
title: 'Max Mustermann',
customerName: 'Max Mustermann',
address: 'Musterweg 12, 12345 Musterstadt',
startTime: '15:30',
endTime: '17:30',
isCompleted: true,
),
],
),
DaySummary(
dayName: 'Sa',
fullDayName: 'Samstag',
dateString: '18.05',
ordersCount: 3,
hoursTotal: 8.0,
items: [],
),
DaySummary(
dayName: 'So',
fullDayName: 'Sonntag',
dateString: '19.05',
ordersCount: 3,
hoursTotal: 8.0,
items: [],
),
];
}