init
This commit is contained in:
@@ -0,0 +1,425 @@
|
||||
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: [],
|
||||
),
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user