L14 Abrechnungsübersicht: Demo-Seed auf frischer Datenbank lauffähig
Seit L12 darf ein Nutzer nur eine laufende Uhr haben. DEMO-06/DEMO-07 (laufende Uhren) werden deshalb nach den vergangenen Einsätzen derselben Monteure angelegt; Inhalte unverändert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+18
-14
@@ -273,20 +273,8 @@ export async function seedDemoTenant(tenantId: string, users: DemoUsers): Promis
|
||||
await assign(id, nord, [users.tech2]);
|
||||
await transitionWorkOrder(tech2, { workOrderId: id, to: "accepted" });
|
||||
});
|
||||
await order({ ext: "DEMO-06", customer: "K-D006", site: "Halle 1 – Kühllager", title: "Störung Kältemittelleitung", orderTypeId: type("stoerung"), priority: "urgent", plannedStart: day(0, 9), plannedEnd: day(0, 13) }, async (id) => {
|
||||
await assign(id, sued, [users.tech3]);
|
||||
await travel(tech3, id, day(0, 8, 30));
|
||||
});
|
||||
await order({ ext: "DEMO-07", customer: "K-D003", site: "Quartier Poppenbüttel – Block 3", title: "Montage Gas-Brennwerttherme", orderTypeId: type("montage"), plannedStart: day(0, 7), plannedEnd: day(0, 17), materials: heating, scope: "Demontage Altgerät, Montage Neugerät, Abgasanschluss, Inbetriebnahme." }, async (id) => {
|
||||
await assign(id, nord, [users.tech]);
|
||||
await travel(tech, id, day(0, 6, 45));
|
||||
await work(tech, id, day(0, 7, 10));
|
||||
await photo(tech, id, { phase: "before", requirementKey: "ausgangszustand", comment: "Altgerät vor Demontage" });
|
||||
await note(tech, id, "work_done", "Altgerät demontiert, Anschlüsse verschlossen.");
|
||||
await note(tech, id, "deviation", "Abgasrohr muss um 30 cm verlängert werden.");
|
||||
await planMaterial(tech, id, 1, 14, "fully_used", "Leitungsführung um den Schacht");
|
||||
await material(tech, id, { clientId: randomUUID(), name: "Abgasrohr-Verlängerung DN80", articleNumber: "AG-80-05", quantity: 1, unit: "Stk", usageStatus: "additional", deviationReason: "Abgasrohr zu kurz" });
|
||||
});
|
||||
// DEMO-06/DEMO-07 (laufende Uhren von Sven Südfeld und Max Monteur) werden erst nach DEMO-19 angelegt: seit
|
||||
// L12 darf ein Nutzer nur eine laufende Uhr haben – spätere Einsätze derselben Monteure würden sonst kollidieren.
|
||||
await order({ ext: "DEMO-08", customer: "K-D002", site: "Filiale Eppendorf", title: "Undichte Leitung unter der Theke", orderTypeId: type("reparatur"), plannedStart: day(0, 7), plannedEnd: day(0, 11) }, async (id) => {
|
||||
await assign(id, sued, [users.tech3]);
|
||||
await work(tech3, id, day(0, 7, 5));
|
||||
@@ -376,6 +364,22 @@ export async function seedDemoTenant(tenantId: string, users: DemoUsers): Promis
|
||||
await markBilled(bo, { workOrderId: id });
|
||||
});
|
||||
|
||||
// Heute laufende Uhren (nach allen vergangenen Einsätzen derselben Monteure, s. o.)
|
||||
await order({ ext: "DEMO-06", customer: "K-D006", site: "Halle 1 – Kühllager", title: "Störung Kältemittelleitung", orderTypeId: type("stoerung"), priority: "urgent", plannedStart: day(0, 9), plannedEnd: day(0, 13) }, async (id) => {
|
||||
await assign(id, sued, [users.tech3]);
|
||||
await travel(tech3, id, day(0, 8, 30));
|
||||
});
|
||||
await order({ ext: "DEMO-07", customer: "K-D003", site: "Quartier Poppenbüttel – Block 3", title: "Montage Gas-Brennwerttherme", orderTypeId: type("montage"), plannedStart: day(0, 7), plannedEnd: day(0, 17), materials: heating, scope: "Demontage Altgerät, Montage Neugerät, Abgasanschluss, Inbetriebnahme." }, async (id) => {
|
||||
await assign(id, nord, [users.tech]);
|
||||
await travel(tech, id, day(0, 6, 45));
|
||||
await work(tech, id, day(0, 7, 10));
|
||||
await photo(tech, id, { phase: "before", requirementKey: "ausgangszustand", comment: "Altgerät vor Demontage" });
|
||||
await note(tech, id, "work_done", "Altgerät demontiert, Anschlüsse verschlossen.");
|
||||
await note(tech, id, "deviation", "Abgasrohr muss um 30 cm verlängert werden.");
|
||||
await planMaterial(tech, id, 1, 14, "fully_used", "Leitungsführung um den Schacht");
|
||||
await material(tech, id, { clientId: randomUUID(), name: "Abgasrohr-Verlängerung DN80", articleNumber: "AG-80-05", quantity: 1, unit: "Stk", usageStatus: "additional", deviationReason: "Abgasrohr zu kurz" });
|
||||
});
|
||||
|
||||
// Notdienst mit vorläufigem Kunden (feste Client-IDs → idempotent)
|
||||
const emergencyExisting = await bo.db.workSession.findFirst({ where: { clientId: "7c1d6a0e-3b1f-4c55-9d2a-00000000d020" }, select: { workOrderId: true } });
|
||||
if (!emergencyExisting) {
|
||||
|
||||
Reference in New Issue
Block a user