@flowselections/logistiek-engine 1.0.24 → 1.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-lib/components/LogistiekEnginePage.d.ts.map +1 -1
- package/dist-lib/components/LogistiekEnginePage.js +8 -2
- package/dist-lib/components/RegiePage.d.ts.map +1 -1
- package/dist-lib/components/RegiePage.js +1 -1
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +226 -1
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +226 -1
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/moduleClient.d.ts +226 -1
- package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +228 -1
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/floridayDocuments.functions.d.ts +678 -3
- package/dist-lib/lib/floridayDocuments.functions.d.ts.map +1 -1
- package/dist-lib/lib/floridayPush.functions.d.ts +226 -1
- package/dist-lib/lib/floridayPush.functions.d.ts.map +1 -1
- package/dist-lib/lib/handlers/logistics-tick.server.d.ts.map +1 -1
- package/dist-lib/lib/handlers/logistics-tick.server.js +11 -0
- package/dist-lib/lib/loadCarrierPlanner.d.ts +6 -0
- package/dist-lib/lib/loadCarrierPlanner.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanner.js +3 -0
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts +1130 -5
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanning.server.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanning.server.js +3 -0
- package/dist-lib/lib/logisticsPlanner.d.ts +2 -0
- package/dist-lib/lib/logisticsPlanner.d.ts.map +1 -1
- package/dist-lib/lib/logisticsPlanner.js +17 -0
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts +452 -2
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts +226 -1
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts.map +1 -1
- package/dist-lib/lib/modulePrompts.d.ts.map +1 -1
- package/dist-lib/lib/modulePrompts.js +185 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogistiekEnginePage.d.ts","sourceRoot":"","sources":["../../src/components/LogistiekEnginePage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LogistiekEnginePage.d.ts","sourceRoot":"","sources":["../../src/components/LogistiekEnginePage.tsx"],"names":[],"mappings":"AAoEA,wBAAgB,mBAAmB,gCA4OlC"}
|
|
@@ -7,7 +7,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
7
7
|
// ============================================================================
|
|
8
8
|
import { useState } from "react";
|
|
9
9
|
import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, Button, Card, CardContent, CardDescription, CardHeader, CardTitle, Badge, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Skeleton, } from "@flowselections/core";
|
|
10
|
-
import { Container, Pencil, Plus, SlidersHorizontal, Trash2, Workflow } from "lucide-react";
|
|
10
|
+
import { Container, Pencil, Plus, Puzzle, SlidersHorizontal, Trash2, Workflow } from "lucide-react";
|
|
11
11
|
import { Link } from "@tanstack/react-router";
|
|
12
12
|
import { StrategieDialog } from "./StrategieDialog";
|
|
13
13
|
import { useLogistiekStrategieen, } from "../hooks/useLogistiekStrategieen";
|
|
@@ -30,6 +30,12 @@ const SNELKOPPELINGEN = [
|
|
|
30
30
|
titel: "Ladingdragers",
|
|
31
31
|
uitleg: "Beheer karren, dozen en andere ladingdragers.",
|
|
32
32
|
},
|
|
33
|
+
{
|
|
34
|
+
to: "/logistiek-engine/modules",
|
|
35
|
+
icon: Puzzle,
|
|
36
|
+
titel: "Modules",
|
|
37
|
+
uitleg: "Koppelprompts voor aangesloten modules bekijken en downloaden.",
|
|
38
|
+
},
|
|
33
39
|
];
|
|
34
40
|
export function LogistiekEnginePage() {
|
|
35
41
|
const { items, loading, saving, error, create, update, remove, setActive, clearActive } = useLogistiekStrategieen();
|
|
@@ -56,7 +62,7 @@ export function LogistiekEnginePage() {
|
|
|
56
62
|
setEditing(item);
|
|
57
63
|
setDialogOpen(true);
|
|
58
64
|
};
|
|
59
|
-
return (_jsxs("main", { className: "p-6 space-y-6", children: [_jsx("p", { className: "text-sm text-muted-foreground", children: "Hier bepaal je hoe orders in je bedrijf logistiek worden afgehandeld." }), _jsx("div", { className: "grid gap-
|
|
65
|
+
return (_jsxs("main", { className: "p-6 space-y-6", children: [_jsx("p", { className: "text-sm text-muted-foreground", children: "Hier bepaal je hoe orders in je bedrijf logistiek worden afgehandeld." }), _jsx("div", { className: "grid gap-3 sm:grid-cols-2 lg:grid-cols-4", children: SNELKOPPELINGEN.map(({ to, icon: Icon, titel, uitleg }) => (_jsx(Link, { to: to, className: "group", children: _jsx(Card, { className: "h-full transition-colors group-hover:border-primary", children: _jsxs(CardHeader, { className: "p-4", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-md bg-primary/10 text-primary", children: _jsx(Icon, { className: "h-4 w-4" }) }), _jsx(CardTitle, { className: "text-sm font-semibold leading-tight", children: titel })] }), _jsx(CardDescription, { className: "pt-1 text-xs leading-relaxed", children: uitleg })] }) }) }, to))) }), _jsxs(Card, { children: [_jsx(CardHeader, { children: _jsxs("div", { className: "flex flex-wrap items-start justify-between gap-3", children: [_jsxs("div", { children: [_jsx(CardTitle, { children: "Werkwijzen" }), _jsx(CardDescription, { children: "Alleen een werkwijze die aan staat wordt op je orders toegepast." })] }), _jsxs(Button, { size: "sm", onClick: openNew, children: [_jsx(Plus, { className: "h-4 w-4" }), "Nieuwe werkwijze"] })] }) }), _jsx(CardContent, { children: loading ? (_jsxs("div", { className: "space-y-2", children: [_jsx(Skeleton, { className: "h-8 w-full" }), _jsx(Skeleton, { className: "h-8 w-full" }), _jsx(Skeleton, { className: "h-8 w-full" })] })) : error ? (_jsx("p", { className: "text-sm text-destructive", children: "Kon de gegevens niet ophalen. Probeer het over een moment opnieuw." })) : safeItems.length === 0 ? (_jsxs("div", { className: "space-y-3", children: [_jsx("p", { className: "text-sm text-muted-foreground", children: "Je hebt nog geen werkwijze ingesteld." }), _jsxs(Button, { variant: "outline", size: "sm", onClick: openNew, children: [_jsx(Plus, { className: "h-4 w-4" }), "Eerste werkwijze aanmaken"] })] })) : (_jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { children: "Naam" }), _jsx(TableHead, { children: "Status" }), _jsx(TableHead, { className: "w-48 text-right", children: "Acties" })] }) }), _jsx(TableBody, { children: safeItems.map((item) => (_jsxs(TableRow, { children: [_jsx(TableCell, { children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "h-3 w-3 shrink-0 rounded-full border border-border", style: { backgroundColor: item.color ?? "#3b82f6" } }), _jsxs("div", { children: [_jsx("p", { className: "font-medium", children: item.name ?? "—" }), item.description && (_jsx("p", { className: "text-xs text-muted-foreground", children: item.description }))] })] }) }), _jsx(TableCell, { children: _jsxs("div", { className: "flex items-center gap-3", children: [_jsxs("label", { className: "flex items-center gap-2 text-sm", children: [_jsx("input", { type: "radio", name: "actieve-werkwijze", className: "h-4 w-4 accent-primary", checked: !!item.is_active, disabled: saving, onChange: () => kiesWerkwijze(item), "aria-label": `${item.name ?? "Werkwijze"} als actieve werkwijze kiezen` }), _jsx("span", { className: "sr-only", children: "Actief" })] }), _jsx(Badge, { variant: item.is_active ? "default" : "secondary", children: item.is_active ? "Actief" : "Uit" }), item.is_active && (_jsx(Button, { size: "sm", variant: "ghost", disabled: saving, onClick: () => void clearActive(), children: "Uitzetten" }))] }) }), _jsx(TableCell, { className: "text-right", children: _jsxs("div", { className: "flex justify-end gap-1", children: [_jsx(Button, { size: "sm", variant: "outline", asChild: true, children: _jsxs(Link, { to: "/logistiek-engine/rule-engine", search: { strategy: String(item.id), naam: item.name ?? "" }, children: [_jsx(SlidersHorizontal, { className: "h-4 w-4" }), "Instellen"] }) }), _jsx(Button, { size: "icon", variant: "ghost", onClick: () => openEdit(item), "aria-label": "Bewerken", children: _jsx(Pencil, { className: "h-4 w-4" }) }), _jsx(Button, { size: "icon", variant: "ghost", onClick: () => setDeleting(item), "aria-label": "Verwijderen", children: _jsx(Trash2, { className: "h-4 w-4" }) })] }) })] }, String(item.id)))) })] })) })] }), _jsx(StrategieDialog, { open: dialogOpen, onOpenChange: setDialogOpen, strategie: editing, saving: saving, onSubmit: (input) => (editing ? update(editing.id, input) : create(input)) }), _jsx(AlertDialog, { open: !!deleting, onOpenChange: (open) => !open && setDeleting(null), children: _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: "Werkwijze verwijderen?" }), _jsxs(AlertDialogDescription, { children: ["\"", deleting?.name, "\" wordt definitief verwijderd. Dit kan niet ongedaan worden gemaakt."] })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: "Annuleren" }), _jsx(AlertDialogAction, { onClick: async () => {
|
|
60
66
|
if (deleting)
|
|
61
67
|
await remove(deleting.id);
|
|
62
68
|
setDeleting(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegiePage.d.ts","sourceRoot":"","sources":["../../src/components/RegiePage.tsx"],"names":[],"mappings":"AAuEA,wBAAgB,SAAS,
|
|
1
|
+
{"version":3,"file":"RegiePage.d.ts","sourceRoot":"","sources":["../../src/components/RegiePage.tsx"],"names":[],"mappings":"AAuEA,wBAAgB,SAAS,gCA0XxB"}
|
|
@@ -76,7 +76,7 @@ export function RegiePage() {
|
|
|
76
76
|
return (_jsxs("div", { className: "space-y-6 p-6", children: [_jsxs("div", { className: "flex flex-wrap items-start justify-between gap-4", children: [_jsxs("div", { children: [_jsxs("h1", { className: "flex items-center gap-2 text-2xl font-semibold tracking-tight", children: [_jsx(Workflow, { className: "h-6 w-6 text-primary" }), "Overzicht & meldingen"] }), _jsx("p", { className: "text-muted-foreground text-sm", children: "Wat er vandaag klaarstaat en waar aandacht voor nodig is." })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { variant: "outline", asChild: true, children: _jsx(Link, { to: "/logistiek-engine", children: "Terug naar overzicht" }) }), _jsxs(Button, { variant: "outline", onClick: () => void laden(), disabled: loading, children: [_jsx(RefreshCw, { className: "mr-2 h-4 w-4" }), "Vernieuwen"] })] })] }), _jsx("div", { className: "grid gap-4 sm:grid-cols-2 lg:grid-cols-3", children: Object.keys(LOGISTICS_MODULES).map((key) => (_jsxs(Card, { children: [_jsxs(CardHeader, { className: "pb-2", children: [_jsx(CardDescription, { children: LOGISTICS_MODULES[key] }), _jsx(CardTitle, { className: "text-2xl", children: perModule[key] ?? 0 })] }), _jsx(CardContent, { className: "text-muted-foreground text-xs", children: "openstaande en geplande taken" })] }, key))) }), _jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Taken per order" }), _jsx(CardDescription, { children: "Elke order krijgt bij binnenkomst meteen de volledige keten aan taken toegewezen." }), _jsxs("div", { className: "pt-2", children: [_jsx(Label, { htmlFor: "regie-filter", className: "sr-only", children: "Zoeken" }), _jsx(Input, { id: "regie-filter", placeholder: "Zoek op ordernummer, taaktype of module\u2026", value: filter, onChange: (e) => setFilter(e.target.value), className: "max-w-sm" })] })] }), _jsx(CardContent, { className: "space-y-6", children: loading ? (_jsxs("div", { className: "space-y-2", children: [_jsx(Skeleton, { className: "h-10 w-full" }), _jsx(Skeleton, { className: "h-10 w-full" }), _jsx(Skeleton, { className: "h-10 w-full" })] })) : perOrder.length === 0 ? (_jsxs("p", { className: "text-muted-foreground py-8 text-center text-sm", children: ["Nog geen taken. Zodra een module een melding wegschrijft in", " ", _jsx("code", { className: "bg-muted rounded px-1", children: "logistics_events" }), " maakt de database de keten meteen aan."] })) : (perOrder.map(([orderRef, orderTaken]) => {
|
|
77
77
|
const spoed = orderTaken.some((t) => (t.priority ?? 0) > 0);
|
|
78
78
|
const actief = orderTaken.some((t) => t.status !== "cancelled" && t.status !== "done" && t.status !== "superseded");
|
|
79
|
-
return (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [_jsxs("h2", { className: "flex items-center gap-2 font-medium", children: ["Order ", orderRef, _jsxs("span", { className: "text-muted-foreground text-xs font-normal", children: [orderTaken.length, " taken"] }), spoed && (_jsx(Badge, { variant: "destructive", className: "text-[10px]", children: "spoed" }))] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsxs(Button, { variant: "outline", size: "sm", onClick: () => void zetPrioriteit(orderRef, spoed ? 0 : 100), children: [_jsx(ArrowUpCircle, { className: "mr-1 h-4 w-4" }), spoed ? "Normaal" : "Spoed"] }), actief && (_jsxs(Button, { variant: "outline", size: "sm", onClick: () => void annuleerOrder(orderRef), children: [_jsx(Ban, { className: "mr-1 h-4 w-4" }), "Annuleren"] })), _jsx(Button, { variant: "ghost", size: "sm", onClick: () => void verwijderOrder(orderRef), children: _jsx(Trash2, { className: "h-4 w-4" }) })] })] }), _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { className: "w-12", children: "#" }), _jsx(TableHead, { children: "Taak" }), _jsx(TableHead, { children: "Module" }), _jsx(TableHead, { children: "Start" }), _jsx(TableHead, { children: "Gereed" }), _jsx(TableHead, { children: "Status" }), _jsx(TableHead, { className: "text-right", children: "Actie" })] }) }), _jsx(TableBody, { children: orderTaken.map((t) => (_jsxs(TableRow, { children: [_jsx(TableCell, { className: "text-muted-foreground", children: t.sequence + 1 }), _jsxs(TableCell, { className: "font-medium", children: [TASK_LABEL[t.task_type] ?? t.task_type, t.shadow && (_jsx(Badge, { variant: "outline", className: "ml-2 text-[10px]", children: "schaduw" }))] }), _jsx(TableCell, { className: "text-sm", children: LOGISTICS_MODULES[t.owner_module] ?? t.owner_module }),
|
|
79
|
+
return (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [_jsxs("h2", { className: "flex items-center gap-2 font-medium", children: ["Order ", orderRef, _jsxs("span", { className: "text-muted-foreground text-xs font-normal", children: [orderTaken.length, " taken"] }), spoed && (_jsx(Badge, { variant: "destructive", className: "text-[10px]", children: "spoed" }))] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsxs(Button, { variant: "outline", size: "sm", onClick: () => void zetPrioriteit(orderRef, spoed ? 0 : 100), children: [_jsx(ArrowUpCircle, { className: "mr-1 h-4 w-4" }), spoed ? "Normaal" : "Spoed"] }), actief && (_jsxs(Button, { variant: "outline", size: "sm", onClick: () => void annuleerOrder(orderRef), children: [_jsx(Ban, { className: "mr-1 h-4 w-4" }), "Annuleren"] })), _jsx(Button, { variant: "ghost", size: "sm", onClick: () => void verwijderOrder(orderRef), children: _jsx(Trash2, { className: "h-4 w-4" }) })] })] }), _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { className: "w-12", children: "#" }), _jsx(TableHead, { children: "Taak" }), _jsx(TableHead, { children: "Module" }), _jsx(TableHead, { children: "Start" }), _jsx(TableHead, { children: "Gereed" }), _jsx(TableHead, { children: "Status" }), _jsx(TableHead, { className: "text-right", children: "Actie" })] }) }), _jsx(TableBody, { children: orderTaken.map((t) => (_jsxs(TableRow, { children: [_jsx(TableCell, { className: "text-muted-foreground", children: t.sequence + 1 }), _jsxs(TableCell, { className: "font-medium", children: [TASK_LABEL[t.task_type] ?? t.task_type, t.shadow && (_jsx(Badge, { variant: "outline", className: "ml-2 text-[10px]", children: "schaduw" }))] }), _jsx(TableCell, { className: "text-sm", children: LOGISTICS_MODULES[t.owner_module] ?? t.owner_module }), _jsxs(TableCell, { className: "text-sm", children: [tijd(t.planned_start), t.payload?.["pickWindowShifted"] === true && (_jsx(Badge, { variant: "outline", className: "ml-2 text-[10px]", title: "Het berekende moment lag in het verleden; deze taak is naar nu verschoven.", children: "te laat aangemeld" }))] }), _jsx(TableCell, { className: "text-sm", children: tijd(t.planned_end) }), _jsxs(TableCell, { children: [_jsx(Badge, { variant: statusVariant(t.status), children: TASK_STATUS_LABEL[t.status] ?? t.status }), t.claimed_by && (t.status === "claimed" || t.status === "in_progress") && (_jsxs("span", { className: "text-muted-foreground ml-2 text-xs", children: ["door ", t.claimed_by] })), t.error && _jsx("span", { className: "text-destructive ml-2 text-xs", children: t.error })] }), _jsxs(TableCell, { className: "space-x-1 text-right", children: [t.status === "planned" && (_jsx(Button, { variant: "outline", size: "sm", onClick: () => void claimTaak(t.id), children: "Claimen" })), (t.status === "claimed" || t.status === "in_progress") && (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", size: "sm", onClick: () => void rondTaakAf(t.id), children: "Afronden" }), _jsx(Button, { variant: "ghost", size: "sm", onClick: () => void meldTaakMislukt(t.id, "Handmatig gemeld vanuit regieoverzicht"), children: "Mislukt" })] }))] })] }, t.id))) })] })] }, orderRef));
|
|
80
80
|
})) })] }), _jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Planrondes" }), _jsx(CardDescription, { children: "Elke keer dat de Engine (her)plande, met welke regelversie." })] }), _jsx(CardContent, { children: safeRuns.length === 0 ? (_jsx("p", { className: "text-muted-foreground text-sm", children: "Nog geen planrondes." })) : (_jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { children: "Moment" }), _jsx(TableHead, { children: "Order" }), _jsx(TableHead, { children: "Aanleiding" }), _jsx(TableHead, { children: "Bron" }), _jsx(TableHead, { children: "Regelversie" }), _jsx(TableHead, { children: "Taken" }), _jsx(TableHead, { children: "Signalen" })] }) }), _jsx(TableBody, { children: safeRuns.map((r) => {
|
|
81
81
|
const warnings = Array.isArray(r.warnings) ? r.warnings : [];
|
|
82
82
|
return (_jsxs(TableRow, { children: [_jsx(TableCell, { className: "text-sm", children: tijd(r.created_at) }), _jsx(TableCell, { className: "font-medium", children: r.order_ref }), _jsx(TableCell, { className: "text-sm", children: r.trigger }), _jsx(TableCell, { className: "text-sm", children: r.source_module ?? "—" }), _jsxs(TableCell, { className: "text-sm", children: [r.rule_version ?? "—", r.settings_hash ? (_jsx("span", { className: "text-muted-foreground ml-1 font-mono text-xs", children: r.settings_hash.slice(0, 6) })) : null] }), _jsxs(TableCell, { className: "text-sm", children: [r.tasks_created, " nieuw / ", r.tasks_revised, " herzien"] }), _jsx(TableCell, { className: "text-sm", children: warnings.length === 0 ? (_jsx("span", { className: "text-muted-foreground", children: "\u2014" })) : (_jsx("div", { className: "flex flex-wrap gap-1", children: warnings.map((w, i) => (_jsx(Badge, { variant: "outline", children: WAARSCHUWING_LABEL[String(w.code)] ?? String(w.code) }, i))) })) })] }, r.id));
|
|
@@ -2852,6 +2852,84 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
2852
2852
|
};
|
|
2853
2853
|
Relationships: [];
|
|
2854
2854
|
};
|
|
2855
|
+
delivery_notes: {
|
|
2856
|
+
Row: {
|
|
2857
|
+
byte_size: number | null;
|
|
2858
|
+
connection_id: string | null;
|
|
2859
|
+
content_type: string;
|
|
2860
|
+
created_at: string;
|
|
2861
|
+
error_message: string | null;
|
|
2862
|
+
fetched_at: string | null;
|
|
2863
|
+
fulfillment_order_id: string | null;
|
|
2864
|
+
http_status: number | null;
|
|
2865
|
+
id: string;
|
|
2866
|
+
label_code: string | null;
|
|
2867
|
+
letter: string | null;
|
|
2868
|
+
load_carrier_index: number | null;
|
|
2869
|
+
load_carrier_type: string | null;
|
|
2870
|
+
order_id: string | null;
|
|
2871
|
+
order_number: string | null;
|
|
2872
|
+
packages: number | null;
|
|
2873
|
+
source: string;
|
|
2874
|
+
status: string;
|
|
2875
|
+
storage_bucket: string;
|
|
2876
|
+
storage_path: string | null;
|
|
2877
|
+
updated_at: string;
|
|
2878
|
+
};
|
|
2879
|
+
Insert: {
|
|
2880
|
+
byte_size?: number | null;
|
|
2881
|
+
connection_id?: string | null;
|
|
2882
|
+
content_type?: string;
|
|
2883
|
+
created_at?: string;
|
|
2884
|
+
error_message?: string | null;
|
|
2885
|
+
fetched_at?: string | null;
|
|
2886
|
+
fulfillment_order_id?: string | null;
|
|
2887
|
+
http_status?: number | null;
|
|
2888
|
+
id?: string;
|
|
2889
|
+
label_code?: string | null;
|
|
2890
|
+
letter?: string | null;
|
|
2891
|
+
load_carrier_index?: number | null;
|
|
2892
|
+
load_carrier_type?: string | null;
|
|
2893
|
+
order_id?: string | null;
|
|
2894
|
+
order_number?: string | null;
|
|
2895
|
+
packages?: number | null;
|
|
2896
|
+
source?: string;
|
|
2897
|
+
status?: string;
|
|
2898
|
+
storage_bucket?: string;
|
|
2899
|
+
storage_path?: string | null;
|
|
2900
|
+
updated_at?: string;
|
|
2901
|
+
};
|
|
2902
|
+
Update: {
|
|
2903
|
+
byte_size?: number | null;
|
|
2904
|
+
connection_id?: string | null;
|
|
2905
|
+
content_type?: string;
|
|
2906
|
+
created_at?: string;
|
|
2907
|
+
error_message?: string | null;
|
|
2908
|
+
fetched_at?: string | null;
|
|
2909
|
+
fulfillment_order_id?: string | null;
|
|
2910
|
+
http_status?: number | null;
|
|
2911
|
+
id?: string;
|
|
2912
|
+
label_code?: string | null;
|
|
2913
|
+
letter?: string | null;
|
|
2914
|
+
load_carrier_index?: number | null;
|
|
2915
|
+
load_carrier_type?: string | null;
|
|
2916
|
+
order_id?: string | null;
|
|
2917
|
+
order_number?: string | null;
|
|
2918
|
+
packages?: number | null;
|
|
2919
|
+
source?: string;
|
|
2920
|
+
status?: string;
|
|
2921
|
+
storage_bucket?: string;
|
|
2922
|
+
storage_path?: string | null;
|
|
2923
|
+
updated_at?: string;
|
|
2924
|
+
};
|
|
2925
|
+
Relationships: [{
|
|
2926
|
+
foreignKeyName: "delivery_notes_order_id_fkey";
|
|
2927
|
+
columns: ["order_id"];
|
|
2928
|
+
isOneToOne: false;
|
|
2929
|
+
referencedRelation: "orders";
|
|
2930
|
+
referencedColumns: ["id"];
|
|
2931
|
+
}];
|
|
2932
|
+
};
|
|
2855
2933
|
document_bronregels: {
|
|
2856
2934
|
Row: {
|
|
2857
2935
|
bron: string;
|
|
@@ -13660,6 +13738,9 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
13660
13738
|
is_herprint: boolean;
|
|
13661
13739
|
kopieen: number;
|
|
13662
13740
|
layout_id: string | null;
|
|
13741
|
+
lokaal_opgeslagen_op: string | null;
|
|
13742
|
+
lokale_pdf_fout: string | null;
|
|
13743
|
+
lokale_pdf_status: string | null;
|
|
13663
13744
|
opgepakt_op: string | null;
|
|
13664
13745
|
paginas: number;
|
|
13665
13746
|
payload: import("./types").Json;
|
|
@@ -13668,6 +13749,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
13668
13749
|
pogingen: number;
|
|
13669
13750
|
printer_id: string | null;
|
|
13670
13751
|
render_html: string | null;
|
|
13752
|
+
resultaat_pdf_base64: string | null;
|
|
13671
13753
|
status: Database["public"]["Enums"]["print_job_status"];
|
|
13672
13754
|
updated_at: string;
|
|
13673
13755
|
volgende_poging: string | null;
|
|
@@ -13692,6 +13774,9 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
13692
13774
|
is_herprint?: boolean;
|
|
13693
13775
|
kopieen?: number;
|
|
13694
13776
|
layout_id?: string | null;
|
|
13777
|
+
lokaal_opgeslagen_op?: string | null;
|
|
13778
|
+
lokale_pdf_fout?: string | null;
|
|
13779
|
+
lokale_pdf_status?: string | null;
|
|
13695
13780
|
opgepakt_op?: string | null;
|
|
13696
13781
|
paginas?: number;
|
|
13697
13782
|
payload?: import("./types").Json;
|
|
@@ -13700,6 +13785,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
13700
13785
|
pogingen?: number;
|
|
13701
13786
|
printer_id?: string | null;
|
|
13702
13787
|
render_html?: string | null;
|
|
13788
|
+
resultaat_pdf_base64?: string | null;
|
|
13703
13789
|
status?: Database["public"]["Enums"]["print_job_status"];
|
|
13704
13790
|
updated_at?: string;
|
|
13705
13791
|
volgende_poging?: string | null;
|
|
@@ -13724,6 +13810,9 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
13724
13810
|
is_herprint?: boolean;
|
|
13725
13811
|
kopieen?: number;
|
|
13726
13812
|
layout_id?: string | null;
|
|
13813
|
+
lokaal_opgeslagen_op?: string | null;
|
|
13814
|
+
lokale_pdf_fout?: string | null;
|
|
13815
|
+
lokale_pdf_status?: string | null;
|
|
13727
13816
|
opgepakt_op?: string | null;
|
|
13728
13817
|
paginas?: number;
|
|
13729
13818
|
payload?: import("./types").Json;
|
|
@@ -13732,6 +13821,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
13732
13821
|
pogingen?: number;
|
|
13733
13822
|
printer_id?: string | null;
|
|
13734
13823
|
render_html?: string | null;
|
|
13824
|
+
resultaat_pdf_base64?: string | null;
|
|
13735
13825
|
status?: Database["public"]["Enums"]["print_job_status"];
|
|
13736
13826
|
updated_at?: string;
|
|
13737
13827
|
volgende_poging?: string | null;
|
|
@@ -14122,6 +14212,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
14122
14212
|
ondersteunde_laden: import("./types").Json | null;
|
|
14123
14213
|
online: boolean;
|
|
14124
14214
|
papierformaat: string;
|
|
14215
|
+
pdf_map: string | null;
|
|
14125
14216
|
poort: number | null;
|
|
14126
14217
|
soort: Database["public"]["Enums"]["printer_kind"];
|
|
14127
14218
|
systeemnaam: string;
|
|
@@ -14147,6 +14238,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
14147
14238
|
ondersteunde_laden?: import("./types").Json | null;
|
|
14148
14239
|
online?: boolean;
|
|
14149
14240
|
papierformaat?: string;
|
|
14241
|
+
pdf_map?: string | null;
|
|
14150
14242
|
poort?: number | null;
|
|
14151
14243
|
soort?: Database["public"]["Enums"]["printer_kind"];
|
|
14152
14244
|
systeemnaam?: string;
|
|
@@ -14172,6 +14264,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
14172
14264
|
ondersteunde_laden?: import("./types").Json | null;
|
|
14173
14265
|
online?: boolean;
|
|
14174
14266
|
papierformaat?: string;
|
|
14267
|
+
pdf_map?: string | null;
|
|
14175
14268
|
poort?: number | null;
|
|
14176
14269
|
soort?: Database["public"]["Enums"]["printer_kind"];
|
|
14177
14270
|
systeemnaam?: string;
|
|
@@ -20428,6 +20521,9 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
20428
20521
|
is_herprint: boolean;
|
|
20429
20522
|
kopieen: number;
|
|
20430
20523
|
layout_id: string | null;
|
|
20524
|
+
lokaal_opgeslagen_op: string | null;
|
|
20525
|
+
lokale_pdf_fout: string | null;
|
|
20526
|
+
lokale_pdf_status: string | null;
|
|
20431
20527
|
opgepakt_op: string | null;
|
|
20432
20528
|
paginas: number;
|
|
20433
20529
|
payload: import("./types").Json;
|
|
@@ -20436,6 +20532,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
20436
20532
|
pogingen: number;
|
|
20437
20533
|
printer_id: string | null;
|
|
20438
20534
|
render_html: string | null;
|
|
20535
|
+
resultaat_pdf_base64: string | null;
|
|
20439
20536
|
status: Database["public"]["Enums"]["print_job_status"];
|
|
20440
20537
|
updated_at: string;
|
|
20441
20538
|
volgende_poging: string | null;
|
|
@@ -20527,6 +20624,53 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
20527
20624
|
isSetofReturn: true;
|
|
20528
20625
|
};
|
|
20529
20626
|
};
|
|
20627
|
+
claim_pdf_print_jobs: {
|
|
20628
|
+
Args: {
|
|
20629
|
+
_max?: number;
|
|
20630
|
+
};
|
|
20631
|
+
Returns: {
|
|
20632
|
+
agent_id: string | null;
|
|
20633
|
+
bron_job_id: string | null;
|
|
20634
|
+
created_at: string;
|
|
20635
|
+
documentnaam: string;
|
|
20636
|
+
documenttype: Database["public"]["Enums"]["doc_layout_type"];
|
|
20637
|
+
extern_job_id: string | null;
|
|
20638
|
+
foutmelding: string | null;
|
|
20639
|
+
gebruiker_id: string | null;
|
|
20640
|
+
gebruiker_naam: string;
|
|
20641
|
+
gebruikte_bron: string | null;
|
|
20642
|
+
gebruikte_layout_id: string | null;
|
|
20643
|
+
gestart_op: string | null;
|
|
20644
|
+
herkomst: string | null;
|
|
20645
|
+
id: string;
|
|
20646
|
+
idempotentie_sleutel: string | null;
|
|
20647
|
+
is_herprint: boolean;
|
|
20648
|
+
kopieen: number;
|
|
20649
|
+
layout_id: string | null;
|
|
20650
|
+
lokaal_opgeslagen_op: string | null;
|
|
20651
|
+
lokale_pdf_fout: string | null;
|
|
20652
|
+
lokale_pdf_status: string | null;
|
|
20653
|
+
opgepakt_op: string | null;
|
|
20654
|
+
paginas: number;
|
|
20655
|
+
payload: import("./types").Json;
|
|
20656
|
+
pdf_base64: string | null;
|
|
20657
|
+
pdf_url: string | null;
|
|
20658
|
+
pogingen: number;
|
|
20659
|
+
printer_id: string | null;
|
|
20660
|
+
render_html: string | null;
|
|
20661
|
+
resultaat_pdf_base64: string | null;
|
|
20662
|
+
status: Database["public"]["Enums"]["print_job_status"];
|
|
20663
|
+
updated_at: string;
|
|
20664
|
+
volgende_poging: string | null;
|
|
20665
|
+
voltooid_op: string | null;
|
|
20666
|
+
}[];
|
|
20667
|
+
SetofOptions: {
|
|
20668
|
+
from: "*";
|
|
20669
|
+
to: "print_jobs";
|
|
20670
|
+
isOneToOne: false;
|
|
20671
|
+
isSetofReturn: true;
|
|
20672
|
+
};
|
|
20673
|
+
};
|
|
20530
20674
|
claim_print_jobs: {
|
|
20531
20675
|
Args: {
|
|
20532
20676
|
_agent_id: string;
|
|
@@ -20551,6 +20695,9 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
20551
20695
|
is_herprint: boolean;
|
|
20552
20696
|
kopieen: number;
|
|
20553
20697
|
layout_id: string | null;
|
|
20698
|
+
lokaal_opgeslagen_op: string | null;
|
|
20699
|
+
lokale_pdf_fout: string | null;
|
|
20700
|
+
lokale_pdf_status: string | null;
|
|
20554
20701
|
opgepakt_op: string | null;
|
|
20555
20702
|
paginas: number;
|
|
20556
20703
|
payload: import("./types").Json;
|
|
@@ -20559,6 +20706,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
20559
20706
|
pogingen: number;
|
|
20560
20707
|
printer_id: string | null;
|
|
20561
20708
|
render_html: string | null;
|
|
20709
|
+
resultaat_pdf_base64: string | null;
|
|
20562
20710
|
status: Database["public"]["Enums"]["print_job_status"];
|
|
20563
20711
|
updated_at: string;
|
|
20564
20712
|
volgende_poging: string | null;
|
|
@@ -20699,6 +20847,8 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
20699
20847
|
order_id: string;
|
|
20700
20848
|
order_source: string;
|
|
20701
20849
|
pick_date: string;
|
|
20850
|
+
printed_at: string;
|
|
20851
|
+
printed_today: boolean;
|
|
20702
20852
|
status: string;
|
|
20703
20853
|
}[];
|
|
20704
20854
|
};
|
|
@@ -21407,6 +21557,10 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
21407
21557
|
};
|
|
21408
21558
|
Returns: number;
|
|
21409
21559
|
};
|
|
21560
|
+
logistics_cancel_orphan_tasks: {
|
|
21561
|
+
Args: never;
|
|
21562
|
+
Returns: number;
|
|
21563
|
+
};
|
|
21410
21564
|
logistics_capacity_day_check: {
|
|
21411
21565
|
Args: {
|
|
21412
21566
|
p_from?: string;
|
|
@@ -21427,6 +21581,25 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
21427
21581
|
};
|
|
21428
21582
|
Returns: number;
|
|
21429
21583
|
};
|
|
21584
|
+
logistics_cart_index: {
|
|
21585
|
+
Args: {
|
|
21586
|
+
p_from?: string;
|
|
21587
|
+
p_to?: string;
|
|
21588
|
+
};
|
|
21589
|
+
Returns: {
|
|
21590
|
+
cart_id: string;
|
|
21591
|
+
cart_index: number;
|
|
21592
|
+
cart_label: string;
|
|
21593
|
+
is_shared: boolean;
|
|
21594
|
+
order_number: string;
|
|
21595
|
+
order_source: string;
|
|
21596
|
+
order_uuid: string;
|
|
21597
|
+
pick_date: string;
|
|
21598
|
+
printed_at: string;
|
|
21599
|
+
shifted: boolean;
|
|
21600
|
+
task_status: string;
|
|
21601
|
+
}[];
|
|
21602
|
+
};
|
|
21430
21603
|
logistics_check_order_allowed: {
|
|
21431
21604
|
Args: {
|
|
21432
21605
|
p_lines: import("./types").Json;
|
|
@@ -21575,6 +21748,17 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
21575
21748
|
isSetofReturn: false;
|
|
21576
21749
|
};
|
|
21577
21750
|
};
|
|
21751
|
+
logistics_consistency_check: {
|
|
21752
|
+
Args: never;
|
|
21753
|
+
Returns: {
|
|
21754
|
+
agenda_carts: number;
|
|
21755
|
+
control_carts: number;
|
|
21756
|
+
ok: boolean;
|
|
21757
|
+
orphan_tasks: number;
|
|
21758
|
+
pick_date: string;
|
|
21759
|
+
raw_carts: number;
|
|
21760
|
+
}[];
|
|
21761
|
+
};
|
|
21578
21762
|
logistics_delay_customer_email: {
|
|
21579
21763
|
Args: {
|
|
21580
21764
|
p_customer: string;
|
|
@@ -21768,6 +21952,25 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
21768
21952
|
};
|
|
21769
21953
|
Returns: number;
|
|
21770
21954
|
};
|
|
21955
|
+
logistics_order_overview: {
|
|
21956
|
+
Args: {
|
|
21957
|
+
p_from?: string;
|
|
21958
|
+
p_to?: string;
|
|
21959
|
+
};
|
|
21960
|
+
Returns: {
|
|
21961
|
+
cart_count: number;
|
|
21962
|
+
customer_name: string;
|
|
21963
|
+
delivery_date: string;
|
|
21964
|
+
order_number: string;
|
|
21965
|
+
order_source: string;
|
|
21966
|
+
order_uuid: string;
|
|
21967
|
+
pick_date: string;
|
|
21968
|
+
plant_count: number;
|
|
21969
|
+
printed_at: string;
|
|
21970
|
+
shifted: boolean;
|
|
21971
|
+
status: string;
|
|
21972
|
+
}[];
|
|
21973
|
+
};
|
|
21771
21974
|
logistics_order_pick_day: {
|
|
21772
21975
|
Args: {
|
|
21773
21976
|
p_order_ref: string;
|
|
@@ -21780,6 +21983,22 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
21780
21983
|
};
|
|
21781
21984
|
Returns: string;
|
|
21782
21985
|
};
|
|
21986
|
+
logistics_pick_agenda: {
|
|
21987
|
+
Args: {
|
|
21988
|
+
p_from?: string;
|
|
21989
|
+
p_to?: string;
|
|
21990
|
+
};
|
|
21991
|
+
Returns: {
|
|
21992
|
+
cart_count: number;
|
|
21993
|
+
in_preparation: number;
|
|
21994
|
+
order_count: number;
|
|
21995
|
+
orders: import("./types").Json;
|
|
21996
|
+
pick_date: string;
|
|
21997
|
+
plant_count: number;
|
|
21998
|
+
ready: number;
|
|
21999
|
+
shifted_count: number;
|
|
22000
|
+
}[];
|
|
22001
|
+
};
|
|
21783
22002
|
logistics_pick_email_purpose: {
|
|
21784
22003
|
Args: never;
|
|
21785
22004
|
Returns: string;
|
|
@@ -22758,6 +22977,12 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
22758
22977
|
};
|
|
22759
22978
|
Returns: string;
|
|
22760
22979
|
};
|
|
22980
|
+
resolve_print_job_printer_id: {
|
|
22981
|
+
Args: {
|
|
22982
|
+
_job: Database["public"]["Tables"]["print_jobs"]["Row"];
|
|
22983
|
+
};
|
|
22984
|
+
Returns: string;
|
|
22985
|
+
};
|
|
22761
22986
|
resolve_product_id_for_item: {
|
|
22762
22987
|
Args: {
|
|
22763
22988
|
p_product_name: string;
|
|
@@ -23349,7 +23574,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
23349
23574
|
};
|
|
23350
23575
|
CompositeTypes: { [_ in never]: never; };
|
|
23351
23576
|
}, {
|
|
23352
|
-
PostgrestVersion: "14.
|
|
23577
|
+
PostgrestVersion: "14.5";
|
|
23353
23578
|
}>;
|
|
23354
23579
|
userId: string;
|
|
23355
23580
|
claims: import("@supabase/auth-js").User;
|