@flowselections/logistiek-engine 1.0.90 → 1.0.94
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/FlowOrders.js +1 -1
- package/dist-lib/hooks/useShippingNoteStatus.d.ts +2 -0
- package/dist-lib/hooks/useShippingNoteStatus.d.ts.map +1 -1
- package/dist-lib/hooks/useShippingNoteStatus.js +13 -1
- package/dist-lib/hooks/useShippingNoteStatus.test.d.ts +2 -0
- package/dist-lib/hooks/useShippingNoteStatus.test.d.ts.map +1 -0
- package/dist-lib/hooks/useShippingNoteStatus.test.js +20 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +356 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +356 -0
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/moduleClient.d.ts +356 -0
- package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +364 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/cartCoverage.functions.d.ts +356 -0
- package/dist-lib/lib/cartCoverage.functions.d.ts.map +1 -1
- package/dist-lib/lib/floridayDocuments.functions.d.ts +1068 -0
- package/dist-lib/lib/floridayDocuments.functions.d.ts.map +1 -1
- package/dist-lib/lib/floridayPush.functions.d.ts +356 -0
- package/dist-lib/lib/floridayPush.functions.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts +1780 -0
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts +712 -0
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts +356 -0
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts.map +1 -1
- package/dist-lib/lib/plannerDiff.functions.d.ts +356 -0
- package/dist-lib/lib/plannerDiff.functions.d.ts.map +1 -1
- package/dist-lib/lib/ruleEngineSchema.js +2 -2
- package/package.json +1 -1
|
@@ -149,7 +149,7 @@ export function FlowOrders({ onRoute }) {
|
|
|
149
149
|
["fout", "Vastgelopen"],
|
|
150
150
|
["bezig", "Bezig / wachtend"],
|
|
151
151
|
["klaar", "Overig"],
|
|
152
|
-
].map(([w, l]) => (_jsx(Button, { size: "sm", variant: filter === w ? "default" : "outline", onClick: () => setFilter(w), children: l }, w))), _jsx(Button, { size: "sm", variant: "outline", onClick: () => setSortering((s) => (s === "nieuw" ? "oud" : "nieuw")), children: sortering === "nieuw" ? "Nieuwste eerst" : "Oudste eerst" }), _jsxs("span", { className: "ml-auto text-xs text-muted-foreground", children: [gefilterd.length, " orders"] })] })] }), _jsxs(CardContent, { className: "space-y-3", children: [error && (_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2 rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2", children: [_jsx("p", { className: "text-sm text-destructive", children: error }), _jsxs(Button, { size: "sm", variant: "outline", onClick: () => void refresh(), disabled: loading, children: [_jsx(RefreshCw, { className: `mr-1 h-3.5 w-3.5 ${loading ? "animate-spin" : ""}` }), "Opnieuw proberen"] })] })), loading && veiligeRows.length === 0 ? (_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" })] })) : gefilterd.length === 0 ? (_jsx("p", { className: "text-sm text-muted-foreground", children: "Geen orders gevonden." })) : (_jsx("div", { className: "max-h-[420px] overflow-y-auto rounded-md border border-border", children: _jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { className: "sticky top-0 bg-muted/60 text-xs text-muted-foreground", children: _jsxs("tr", { children: [_jsx("th", { className: "px-2 py-1.5 text-left font-medium", children: "Order" }), _jsx("th", { className: "px-2 py-1.5 text-left font-medium", children: "Klant" }), _jsx("th", { className: "px-2 py-1.5 text-left font-medium", children: "Bron" }), _jsx("th", { className: "px-2 py-1.5 text-left font-medium", children: "Levering" }), _jsx("th", { className: "px-2 py-1.5 text-left font-medium", children: "Stand" }), _jsx("th", { className: "px-2 py-1.5 text-right font-medium", children: "Versies" }), _jsx("th", { className: "px-2 py-1.5 text-right font-medium", children: "Fouten" }), _jsx("th", { className: "px-2 py-1.5 text-left font-medium", children: "Laatste activiteit" })] }) }), _jsx("tbody", { children: gefilterd.map((r) => {
|
|
152
|
+
].map(([w, l]) => (_jsx(Button, { size: "sm", variant: filter === w ? "default" : "outline", onClick: () => setFilter(w), children: l }, w))), _jsx(Button, { size: "sm", variant: "outline", onClick: () => setSortering((s) => (s === "nieuw" ? "oud" : "nieuw")), children: sortering === "nieuw" ? "Nieuwste eerst" : "Oudste eerst" }), _jsxs("span", { className: "ml-auto text-xs text-muted-foreground", children: [gefilterd.length, " orders"] })] })] }), _jsxs(CardContent, { className: "space-y-3", children: [error && (_jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2 rounded-md border border-destructive/30 bg-destructive/5 px-3 py-2", children: [_jsx("p", { className: "text-sm text-destructive", children: error }), _jsxs(Button, { size: "sm", variant: "outline", onClick: () => void refresh(), disabled: loading, children: [_jsx(RefreshCw, { className: `mr-1 h-3.5 w-3.5 ${loading ? "animate-spin" : ""}` }), "Opnieuw proberen"] })] })), loading && veiligeRows.length === 0 ? (_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" })] })) : gefilterd.length === 0 ? (error ? null : _jsx("p", { className: "text-sm text-muted-foreground", children: "Geen orders gevonden." })) : (_jsx("div", { className: "max-h-[420px] overflow-y-auto rounded-md border border-border", children: _jsxs("table", { className: "w-full text-sm", children: [_jsx("thead", { className: "sticky top-0 bg-muted/60 text-xs text-muted-foreground", children: _jsxs("tr", { children: [_jsx("th", { className: "px-2 py-1.5 text-left font-medium", children: "Order" }), _jsx("th", { className: "px-2 py-1.5 text-left font-medium", children: "Klant" }), _jsx("th", { className: "px-2 py-1.5 text-left font-medium", children: "Bron" }), _jsx("th", { className: "px-2 py-1.5 text-left font-medium", children: "Levering" }), _jsx("th", { className: "px-2 py-1.5 text-left font-medium", children: "Stand" }), _jsx("th", { className: "px-2 py-1.5 text-right font-medium", children: "Versies" }), _jsx("th", { className: "px-2 py-1.5 text-right font-medium", children: "Fouten" }), _jsx("th", { className: "px-2 py-1.5 text-left font-medium", children: "Laatste activiteit" })] }) }), _jsx("tbody", { children: gefilterd.map((r) => {
|
|
153
153
|
const st = orderStand(r);
|
|
154
154
|
const actief = r.orderNumber === orderRef;
|
|
155
155
|
return (_jsxs("tr", { className: `cursor-pointer border-t border-border hover:bg-muted/40 ${actief ? "bg-primary/10" : ""}`, onClick: () => kies(r.orderNumber), children: [_jsx("td", { className: "px-2 py-1.5 font-medium", children: _jsxs("span", { className: "inline-flex items-center gap-1", children: [actief ? _jsx(ChevronDown, { className: "h-3.5 w-3.5" }) : _jsx(ChevronRight, { className: "h-3.5 w-3.5" }), r.orderNumber] }) }), _jsx("td", { className: "max-w-[180px] truncate px-2 py-1.5", children: r.customerName ?? "—" }), _jsx("td", { className: "px-2 py-1.5", children: r.orderSource === "floriday" ? "Floriday" : r.orderSource ? "Eigen verkoop" : "—" }), _jsx("td", { className: "px-2 py-1.5", children: r.deliveryDate ?? "—" }), _jsxs("td", { className: "px-2 py-1.5", children: [_jsx(Badge, { variant: st.kleur, children: st.label }), r.reasonCode && st.kleur === "destructive" && (_jsx("span", { className: "ml-1 text-xs text-muted-foreground", children: redenTekst(r.reasonCode) }))] }), _jsx("td", { className: "px-2 py-1.5 text-right tabular-nums", children: r.versions }), _jsx("td", { className: `px-2 py-1.5 text-right tabular-nums ${r.errors > 0 ? "text-destructive" : ""}`, children: r.errors }), _jsx("td", { className: "px-2 py-1.5 text-xs text-muted-foreground", children: tijd(r.lastAt ?? r.createdAt) })] }, r.orderNumber));
|
|
@@ -9,6 +9,8 @@ export interface ShippingNoteStatus {
|
|
|
9
9
|
cartId: string | null;
|
|
10
10
|
orderNumber: string | null;
|
|
11
11
|
}
|
|
12
|
+
/** Zet een nog wachtende status om naar een expliciete fout na de pollimiet. */
|
|
13
|
+
export declare function timedOutStatus(current: ShippingNoteStatus, maxPollMs: number): ShippingNoteStatus;
|
|
12
14
|
/**
|
|
13
15
|
* Zet de verzendbriefverwerking direct aan het werk zodra de pakbon naar het
|
|
14
16
|
* pickstation is gestuurd, zodat niet op de volgende ronde hoeft te worden
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useShippingNoteStatus.d.ts","sourceRoot":"","sources":["../../src/hooks/useShippingNoteStatus.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,sBAAsB,GAC9B,kBAAkB,GAClB,mBAAmB,GACnB,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;
|
|
1
|
+
{"version":3,"file":"useShippingNoteStatus.d.ts","sourceRoot":"","sources":["../../src/hooks/useShippingNoteStatus.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,sBAAsB,GAC9B,kBAAkB,GAClB,mBAAmB,GACnB,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAID,gFAAgF;AAChF,wBAAgB,cAAc,CAC5B,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,GAChB,kBAAkB,CAOpB;AA6BD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAe3D;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO;;;;EAyD1E"}
|
|
@@ -5,6 +5,15 @@
|
|
|
5
5
|
import { useCallback, useEffect, useState } from "react";
|
|
6
6
|
import { supabase } from "@flowselections/core";
|
|
7
7
|
const WAITING = new Set(["klaar_voor_print", "wacht_op_floriday"]);
|
|
8
|
+
/** Zet een nog wachtende status om naar een expliciete fout na de pollimiet. */
|
|
9
|
+
export function timedOutStatus(current, maxPollMs) {
|
|
10
|
+
const minuten = Math.round(maxPollMs / 60000);
|
|
11
|
+
return {
|
|
12
|
+
...current,
|
|
13
|
+
status: "mislukt",
|
|
14
|
+
message: `Verzendbriefstatus kon niet worden bepaald na ${minuten} minuten. Controleer de printwachtrij.`,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
8
17
|
function safeStatus(value) {
|
|
9
18
|
if (!value || typeof value !== "object")
|
|
10
19
|
return null;
|
|
@@ -98,8 +107,11 @@ export function useShippingNoteStatus(slipJobId, cartId, options = {}) {
|
|
|
98
107
|
useEffect(() => {
|
|
99
108
|
if (!data || !WAITING.has(data.status) || startedAt === null)
|
|
100
109
|
return;
|
|
101
|
-
if (Date.now() - startedAt >= maxPollMs)
|
|
110
|
+
if (Date.now() - startedAt >= maxPollMs) {
|
|
111
|
+
// Nooit stil stoppen: zonder eindstatus na de limiet expliciet een fout tonen.
|
|
112
|
+
setData(timedOutStatus(data, maxPollMs));
|
|
102
113
|
return;
|
|
114
|
+
}
|
|
103
115
|
const timer = window.setTimeout(() => void reload(), pollMs);
|
|
104
116
|
return () => window.clearTimeout(timer);
|
|
105
117
|
}, [data, maxPollMs, pollMs, reload, startedAt]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useShippingNoteStatus.test.d.ts","sourceRoot":"","sources":["../../src/hooks/useShippingNoteStatus.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { timedOutStatus } from "./useShippingNoteStatus";
|
|
3
|
+
describe("timedOutStatus", () => {
|
|
4
|
+
it("maakt van een wachtende status na de limiet een expliciete fout", () => {
|
|
5
|
+
const wachtend = {
|
|
6
|
+
status: "klaar_voor_print",
|
|
7
|
+
message: "Verzendbrief wordt klaargezet.",
|
|
8
|
+
attempts: 0,
|
|
9
|
+
nextAttemptAt: null,
|
|
10
|
+
slipJobId: "s",
|
|
11
|
+
shippingNoteJobId: null,
|
|
12
|
+
cartId: "c",
|
|
13
|
+
orderNumber: "HO-1",
|
|
14
|
+
};
|
|
15
|
+
const uit = timedOutStatus(wachtend, 15 * 60000);
|
|
16
|
+
expect(uit.status).toBe("mislukt");
|
|
17
|
+
expect(uit.message).toContain("15 minuten");
|
|
18
|
+
expect(uit.slipJobId).toBe("s");
|
|
19
|
+
});
|
|
20
|
+
});
|
|
@@ -734,6 +734,27 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
734
734
|
};
|
|
735
735
|
Relationships: [];
|
|
736
736
|
};
|
|
737
|
+
artikelen_instellingen: {
|
|
738
|
+
Row: {
|
|
739
|
+
created_at: string;
|
|
740
|
+
id: number;
|
|
741
|
+
marge_procent: number;
|
|
742
|
+
updated_at: string;
|
|
743
|
+
};
|
|
744
|
+
Insert: {
|
|
745
|
+
created_at?: string;
|
|
746
|
+
id?: number;
|
|
747
|
+
marge_procent?: number;
|
|
748
|
+
updated_at?: string;
|
|
749
|
+
};
|
|
750
|
+
Update: {
|
|
751
|
+
created_at?: string;
|
|
752
|
+
id?: number;
|
|
753
|
+
marge_procent?: number;
|
|
754
|
+
updated_at?: string;
|
|
755
|
+
};
|
|
756
|
+
Relationships: [];
|
|
757
|
+
};
|
|
737
758
|
artikelen_veldconfig: {
|
|
738
759
|
Row: {
|
|
739
760
|
bron_pad: string;
|
|
@@ -10409,6 +10430,30 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
10409
10430
|
};
|
|
10410
10431
|
Relationships: [];
|
|
10411
10432
|
};
|
|
10433
|
+
logistics_cart_barcode_archief: {
|
|
10434
|
+
Row: {
|
|
10435
|
+
barcode: string;
|
|
10436
|
+
cart_id: string;
|
|
10437
|
+
created_at: string | null;
|
|
10438
|
+
gearchiveerd_op: string;
|
|
10439
|
+
order_id: string | null;
|
|
10440
|
+
};
|
|
10441
|
+
Insert: {
|
|
10442
|
+
barcode: string;
|
|
10443
|
+
cart_id: string;
|
|
10444
|
+
created_at?: string | null;
|
|
10445
|
+
gearchiveerd_op?: string;
|
|
10446
|
+
order_id?: string | null;
|
|
10447
|
+
};
|
|
10448
|
+
Update: {
|
|
10449
|
+
barcode?: string;
|
|
10450
|
+
cart_id?: string;
|
|
10451
|
+
created_at?: string | null;
|
|
10452
|
+
gearchiveerd_op?: string;
|
|
10453
|
+
order_id?: string | null;
|
|
10454
|
+
};
|
|
10455
|
+
Relationships: [];
|
|
10456
|
+
};
|
|
10412
10457
|
logistics_control_scan: {
|
|
10413
10458
|
Row: {
|
|
10414
10459
|
approved_at: string | null;
|
|
@@ -14695,6 +14740,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
14695
14740
|
next_attempt_at: string;
|
|
14696
14741
|
order_id: string;
|
|
14697
14742
|
processed_at: string | null;
|
|
14743
|
+
send_error: string | null;
|
|
14698
14744
|
status: string;
|
|
14699
14745
|
updated_at: string;
|
|
14700
14746
|
};
|
|
@@ -14708,6 +14754,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
14708
14754
|
next_attempt_at?: string;
|
|
14709
14755
|
order_id: string;
|
|
14710
14756
|
processed_at?: string | null;
|
|
14757
|
+
send_error?: string | null;
|
|
14711
14758
|
status?: string;
|
|
14712
14759
|
updated_at?: string;
|
|
14713
14760
|
};
|
|
@@ -14721,6 +14768,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
14721
14768
|
next_attempt_at?: string;
|
|
14722
14769
|
order_id?: string;
|
|
14723
14770
|
processed_at?: string | null;
|
|
14771
|
+
send_error?: string | null;
|
|
14724
14772
|
status?: string;
|
|
14725
14773
|
updated_at?: string;
|
|
14726
14774
|
};
|
|
@@ -17758,6 +17806,9 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
17758
17806
|
lead_time_days: number | null;
|
|
17759
17807
|
min_order_quantity: number | null;
|
|
17760
17808
|
notes: string | null;
|
|
17809
|
+
previous_price_cents: number | null;
|
|
17810
|
+
price_source: string;
|
|
17811
|
+
price_updated_at: string | null;
|
|
17761
17812
|
product_id: string;
|
|
17762
17813
|
purchase_price_cents: number | null;
|
|
17763
17814
|
supplier_article_number: string | null;
|
|
@@ -17771,6 +17822,9 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
17771
17822
|
lead_time_days?: number | null;
|
|
17772
17823
|
min_order_quantity?: number | null;
|
|
17773
17824
|
notes?: string | null;
|
|
17825
|
+
previous_price_cents?: number | null;
|
|
17826
|
+
price_source?: string;
|
|
17827
|
+
price_updated_at?: string | null;
|
|
17774
17828
|
product_id: string;
|
|
17775
17829
|
purchase_price_cents?: number | null;
|
|
17776
17830
|
supplier_article_number?: string | null;
|
|
@@ -17784,6 +17838,9 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
17784
17838
|
lead_time_days?: number | null;
|
|
17785
17839
|
min_order_quantity?: number | null;
|
|
17786
17840
|
notes?: string | null;
|
|
17841
|
+
previous_price_cents?: number | null;
|
|
17842
|
+
price_source?: string;
|
|
17843
|
+
price_updated_at?: string | null;
|
|
17787
17844
|
product_id?: string;
|
|
17788
17845
|
purchase_price_cents?: number | null;
|
|
17789
17846
|
supplier_article_number?: string | null;
|
|
@@ -18314,9 +18371,13 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
18314
18371
|
purchase_order_items: {
|
|
18315
18372
|
Row: {
|
|
18316
18373
|
article_number: string | null;
|
|
18374
|
+
cancel_reason: string | null;
|
|
18375
|
+
cancelled_at: string | null;
|
|
18317
18376
|
created_at: string;
|
|
18318
18377
|
delivery_date: string | null;
|
|
18319
18378
|
id: string;
|
|
18379
|
+
incoming_booked: number;
|
|
18380
|
+
line_status: string;
|
|
18320
18381
|
name: string;
|
|
18321
18382
|
note: string | null;
|
|
18322
18383
|
pot_size: string | null;
|
|
@@ -18324,6 +18385,8 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
18324
18385
|
product_type: string;
|
|
18325
18386
|
purchase_order_id: string;
|
|
18326
18387
|
quantity: number;
|
|
18388
|
+
received_at: string | null;
|
|
18389
|
+
received_booked: number;
|
|
18327
18390
|
supplier_id: string | null;
|
|
18328
18391
|
supplier_product_id: string | null;
|
|
18329
18392
|
unit_price_cents: number;
|
|
@@ -18331,9 +18394,13 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
18331
18394
|
};
|
|
18332
18395
|
Insert: {
|
|
18333
18396
|
article_number?: string | null;
|
|
18397
|
+
cancel_reason?: string | null;
|
|
18398
|
+
cancelled_at?: string | null;
|
|
18334
18399
|
created_at?: string;
|
|
18335
18400
|
delivery_date?: string | null;
|
|
18336
18401
|
id?: string;
|
|
18402
|
+
incoming_booked?: number;
|
|
18403
|
+
line_status?: string;
|
|
18337
18404
|
name?: string;
|
|
18338
18405
|
note?: string | null;
|
|
18339
18406
|
pot_size?: string | null;
|
|
@@ -18341,6 +18408,8 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
18341
18408
|
product_type?: string;
|
|
18342
18409
|
purchase_order_id: string;
|
|
18343
18410
|
quantity?: number;
|
|
18411
|
+
received_at?: string | null;
|
|
18412
|
+
received_booked?: number;
|
|
18344
18413
|
supplier_id?: string | null;
|
|
18345
18414
|
supplier_product_id?: string | null;
|
|
18346
18415
|
unit_price_cents?: number;
|
|
@@ -18348,9 +18417,13 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
18348
18417
|
};
|
|
18349
18418
|
Update: {
|
|
18350
18419
|
article_number?: string | null;
|
|
18420
|
+
cancel_reason?: string | null;
|
|
18421
|
+
cancelled_at?: string | null;
|
|
18351
18422
|
created_at?: string;
|
|
18352
18423
|
delivery_date?: string | null;
|
|
18353
18424
|
id?: string;
|
|
18425
|
+
incoming_booked?: number;
|
|
18426
|
+
line_status?: string;
|
|
18354
18427
|
name?: string;
|
|
18355
18428
|
note?: string | null;
|
|
18356
18429
|
pot_size?: string | null;
|
|
@@ -18358,6 +18431,8 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
18358
18431
|
product_type?: string;
|
|
18359
18432
|
purchase_order_id?: string;
|
|
18360
18433
|
quantity?: number;
|
|
18434
|
+
received_at?: string | null;
|
|
18435
|
+
received_booked?: number;
|
|
18361
18436
|
supplier_id?: string | null;
|
|
18362
18437
|
supplier_product_id?: string | null;
|
|
18363
18438
|
unit_price_cents?: number;
|
|
@@ -18461,6 +18536,153 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
18461
18536
|
referencedColumns: ["id"];
|
|
18462
18537
|
}];
|
|
18463
18538
|
};
|
|
18539
|
+
purchase_request_events: {
|
|
18540
|
+
Row: {
|
|
18541
|
+
created_at: string;
|
|
18542
|
+
details: import("./types").Json | null;
|
|
18543
|
+
event_type: string;
|
|
18544
|
+
id: string;
|
|
18545
|
+
request_id: string;
|
|
18546
|
+
};
|
|
18547
|
+
Insert: {
|
|
18548
|
+
created_at?: string;
|
|
18549
|
+
details?: import("./types").Json | null;
|
|
18550
|
+
event_type: string;
|
|
18551
|
+
id?: string;
|
|
18552
|
+
request_id: string;
|
|
18553
|
+
};
|
|
18554
|
+
Update: {
|
|
18555
|
+
created_at?: string;
|
|
18556
|
+
details?: import("./types").Json | null;
|
|
18557
|
+
event_type?: string;
|
|
18558
|
+
id?: string;
|
|
18559
|
+
request_id?: string;
|
|
18560
|
+
};
|
|
18561
|
+
Relationships: [{
|
|
18562
|
+
foreignKeyName: "purchase_request_events_request_id_fkey";
|
|
18563
|
+
columns: ["request_id"];
|
|
18564
|
+
isOneToOne: false;
|
|
18565
|
+
referencedRelation: "purchase_requests";
|
|
18566
|
+
referencedColumns: ["id"];
|
|
18567
|
+
}];
|
|
18568
|
+
};
|
|
18569
|
+
purchase_request_responses: {
|
|
18570
|
+
Row: {
|
|
18571
|
+
confirmed_date: string | null;
|
|
18572
|
+
confirmed_price_cents: number | null;
|
|
18573
|
+
confirmed_quantity: number;
|
|
18574
|
+
created_at: string;
|
|
18575
|
+
id: string;
|
|
18576
|
+
not_available: boolean;
|
|
18577
|
+
note: string | null;
|
|
18578
|
+
purchase_order_item_id: string;
|
|
18579
|
+
request_id: string;
|
|
18580
|
+
updated_at: string;
|
|
18581
|
+
};
|
|
18582
|
+
Insert: {
|
|
18583
|
+
confirmed_date?: string | null;
|
|
18584
|
+
confirmed_price_cents?: number | null;
|
|
18585
|
+
confirmed_quantity?: number;
|
|
18586
|
+
created_at?: string;
|
|
18587
|
+
id?: string;
|
|
18588
|
+
not_available?: boolean;
|
|
18589
|
+
note?: string | null;
|
|
18590
|
+
purchase_order_item_id: string;
|
|
18591
|
+
request_id: string;
|
|
18592
|
+
updated_at?: string;
|
|
18593
|
+
};
|
|
18594
|
+
Update: {
|
|
18595
|
+
confirmed_date?: string | null;
|
|
18596
|
+
confirmed_price_cents?: number | null;
|
|
18597
|
+
confirmed_quantity?: number;
|
|
18598
|
+
created_at?: string;
|
|
18599
|
+
id?: string;
|
|
18600
|
+
not_available?: boolean;
|
|
18601
|
+
note?: string | null;
|
|
18602
|
+
purchase_order_item_id?: string;
|
|
18603
|
+
request_id?: string;
|
|
18604
|
+
updated_at?: string;
|
|
18605
|
+
};
|
|
18606
|
+
Relationships: [{
|
|
18607
|
+
foreignKeyName: "purchase_request_responses_purchase_order_item_id_fkey";
|
|
18608
|
+
columns: ["purchase_order_item_id"];
|
|
18609
|
+
isOneToOne: false;
|
|
18610
|
+
referencedRelation: "purchase_order_items";
|
|
18611
|
+
referencedColumns: ["id"];
|
|
18612
|
+
}, {
|
|
18613
|
+
foreignKeyName: "purchase_request_responses_request_id_fkey";
|
|
18614
|
+
columns: ["request_id"];
|
|
18615
|
+
isOneToOne: false;
|
|
18616
|
+
referencedRelation: "purchase_requests";
|
|
18617
|
+
referencedColumns: ["id"];
|
|
18618
|
+
}];
|
|
18619
|
+
};
|
|
18620
|
+
purchase_requests: {
|
|
18621
|
+
Row: {
|
|
18622
|
+
created_at: string;
|
|
18623
|
+
expires_at: string;
|
|
18624
|
+
first_viewed_at: string | null;
|
|
18625
|
+
id: string;
|
|
18626
|
+
processed_at: string | null;
|
|
18627
|
+
purchase_order_id: string;
|
|
18628
|
+
responded_at: string | null;
|
|
18629
|
+
sent_at: string;
|
|
18630
|
+
status: string;
|
|
18631
|
+
supplier_id: string | null;
|
|
18632
|
+
supplier_name: string;
|
|
18633
|
+
supplier_note: string | null;
|
|
18634
|
+
to_address: string | null;
|
|
18635
|
+
token_hash: string;
|
|
18636
|
+
updated_at: string;
|
|
18637
|
+
};
|
|
18638
|
+
Insert: {
|
|
18639
|
+
created_at?: string;
|
|
18640
|
+
expires_at?: string;
|
|
18641
|
+
first_viewed_at?: string | null;
|
|
18642
|
+
id?: string;
|
|
18643
|
+
processed_at?: string | null;
|
|
18644
|
+
purchase_order_id: string;
|
|
18645
|
+
responded_at?: string | null;
|
|
18646
|
+
sent_at?: string;
|
|
18647
|
+
status?: string;
|
|
18648
|
+
supplier_id?: string | null;
|
|
18649
|
+
supplier_name?: string;
|
|
18650
|
+
supplier_note?: string | null;
|
|
18651
|
+
to_address?: string | null;
|
|
18652
|
+
token_hash: string;
|
|
18653
|
+
updated_at?: string;
|
|
18654
|
+
};
|
|
18655
|
+
Update: {
|
|
18656
|
+
created_at?: string;
|
|
18657
|
+
expires_at?: string;
|
|
18658
|
+
first_viewed_at?: string | null;
|
|
18659
|
+
id?: string;
|
|
18660
|
+
processed_at?: string | null;
|
|
18661
|
+
purchase_order_id?: string;
|
|
18662
|
+
responded_at?: string | null;
|
|
18663
|
+
sent_at?: string;
|
|
18664
|
+
status?: string;
|
|
18665
|
+
supplier_id?: string | null;
|
|
18666
|
+
supplier_name?: string;
|
|
18667
|
+
supplier_note?: string | null;
|
|
18668
|
+
to_address?: string | null;
|
|
18669
|
+
token_hash?: string;
|
|
18670
|
+
updated_at?: string;
|
|
18671
|
+
};
|
|
18672
|
+
Relationships: [{
|
|
18673
|
+
foreignKeyName: "purchase_requests_purchase_order_id_fkey";
|
|
18674
|
+
columns: ["purchase_order_id"];
|
|
18675
|
+
isOneToOne: false;
|
|
18676
|
+
referencedRelation: "purchase_orders";
|
|
18677
|
+
referencedColumns: ["id"];
|
|
18678
|
+
}, {
|
|
18679
|
+
foreignKeyName: "purchase_requests_supplier_id_fkey";
|
|
18680
|
+
columns: ["supplier_id"];
|
|
18681
|
+
isOneToOne: false;
|
|
18682
|
+
referencedRelation: "suppliers";
|
|
18683
|
+
referencedColumns: ["id"];
|
|
18684
|
+
}];
|
|
18685
|
+
};
|
|
18464
18686
|
reception_notifications: {
|
|
18465
18687
|
Row: {
|
|
18466
18688
|
booking_id: string | null;
|
|
@@ -20624,6 +20846,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
20624
20846
|
auto_invoice_enabled: boolean;
|
|
20625
20847
|
auto_invoice_start_date: string | null;
|
|
20626
20848
|
auto_invoice_trigger_statuses: string[];
|
|
20849
|
+
auto_send_mode: string | null;
|
|
20627
20850
|
created_at: string;
|
|
20628
20851
|
debtor_gl_account: string;
|
|
20629
20852
|
default_article_code: string | null;
|
|
@@ -20652,6 +20875,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
20652
20875
|
auto_invoice_enabled?: boolean;
|
|
20653
20876
|
auto_invoice_start_date?: string | null;
|
|
20654
20877
|
auto_invoice_trigger_statuses?: string[];
|
|
20878
|
+
auto_send_mode?: string | null;
|
|
20655
20879
|
created_at?: string;
|
|
20656
20880
|
debtor_gl_account?: string;
|
|
20657
20881
|
default_article_code?: string | null;
|
|
@@ -20680,6 +20904,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
20680
20904
|
auto_invoice_enabled?: boolean;
|
|
20681
20905
|
auto_invoice_start_date?: string | null;
|
|
20682
20906
|
auto_invoice_trigger_statuses?: string[];
|
|
20907
|
+
auto_send_mode?: string | null;
|
|
20683
20908
|
created_at?: string;
|
|
20684
20909
|
debtor_gl_account?: string;
|
|
20685
20910
|
default_article_code?: string | null;
|
|
@@ -25913,13 +26138,66 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
25913
26138
|
};
|
|
25914
26139
|
Returns: import("./types").Json;
|
|
25915
26140
|
};
|
|
26141
|
+
inkoop_cancel_line: {
|
|
26142
|
+
Args: {
|
|
26143
|
+
_item_id: string;
|
|
26144
|
+
_reason: string;
|
|
26145
|
+
};
|
|
26146
|
+
Returns: string;
|
|
26147
|
+
};
|
|
26148
|
+
inkoop_get_supplier_request: {
|
|
26149
|
+
Args: {
|
|
26150
|
+
_token: string;
|
|
26151
|
+
};
|
|
26152
|
+
Returns: import("./types").Json;
|
|
26153
|
+
};
|
|
26154
|
+
inkoop_hash_token: {
|
|
26155
|
+
Args: {
|
|
26156
|
+
_token: string;
|
|
26157
|
+
};
|
|
26158
|
+
Returns: string;
|
|
26159
|
+
};
|
|
26160
|
+
inkoop_html_escape: {
|
|
26161
|
+
Args: {
|
|
26162
|
+
_t: string;
|
|
26163
|
+
};
|
|
26164
|
+
Returns: string;
|
|
26165
|
+
};
|
|
26166
|
+
inkoop_list_artikelen: {
|
|
26167
|
+
Args: never;
|
|
26168
|
+
Returns: {
|
|
26169
|
+
article_number: string;
|
|
26170
|
+
barcode: string;
|
|
26171
|
+
id: string;
|
|
26172
|
+
incoming_quantity: number;
|
|
26173
|
+
is_layer: boolean;
|
|
26174
|
+
location: string;
|
|
26175
|
+
min_quantity: number;
|
|
26176
|
+
preferred_supplier_name: string;
|
|
26177
|
+
product: string;
|
|
26178
|
+
product_type: string;
|
|
26179
|
+
purchase_price: number;
|
|
26180
|
+
quantity: number;
|
|
26181
|
+
sale_price: number;
|
|
26182
|
+
supplier_count: number;
|
|
26183
|
+
unit: string;
|
|
26184
|
+
}[];
|
|
26185
|
+
};
|
|
25916
26186
|
inkoop_next_order_number: {
|
|
25917
26187
|
Args: never;
|
|
25918
26188
|
Returns: string;
|
|
25919
26189
|
};
|
|
26190
|
+
inkoop_process_request: {
|
|
26191
|
+
Args: {
|
|
26192
|
+
_request_id: string;
|
|
26193
|
+
};
|
|
26194
|
+
Returns: undefined;
|
|
26195
|
+
};
|
|
25920
26196
|
inkoop_send_order: {
|
|
25921
26197
|
Args: {
|
|
26198
|
+
_base_url?: string;
|
|
25922
26199
|
_order_id: string;
|
|
26200
|
+
_resend?: boolean;
|
|
25923
26201
|
};
|
|
25924
26202
|
Returns: {
|
|
25925
26203
|
outbox_id: string;
|
|
@@ -25934,6 +26212,26 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
25934
26212
|
};
|
|
25935
26213
|
Returns: undefined;
|
|
25936
26214
|
};
|
|
26215
|
+
inkoop_stock_key: {
|
|
26216
|
+
Args: {
|
|
26217
|
+
p_product_id: string;
|
|
26218
|
+
};
|
|
26219
|
+
Returns: string;
|
|
26220
|
+
};
|
|
26221
|
+
inkoop_submit_supplier_response: {
|
|
26222
|
+
Args: {
|
|
26223
|
+
_lines: import("./types").Json;
|
|
26224
|
+
_note?: string;
|
|
26225
|
+
_token: string;
|
|
26226
|
+
};
|
|
26227
|
+
Returns: import("./types").Json;
|
|
26228
|
+
};
|
|
26229
|
+
inkoop_sync_item_stock: {
|
|
26230
|
+
Args: {
|
|
26231
|
+
p_item_id: string;
|
|
26232
|
+
};
|
|
26233
|
+
Returns: undefined;
|
|
26234
|
+
};
|
|
25937
26235
|
instructie_get: {
|
|
25938
26236
|
Args: {
|
|
25939
26237
|
_sleutel: string;
|
|
@@ -26371,6 +26669,12 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
26371
26669
|
};
|
|
26372
26670
|
Returns: number;
|
|
26373
26671
|
};
|
|
26672
|
+
logistics_cart_barcode_opschonen: {
|
|
26673
|
+
Args: {
|
|
26674
|
+
p_portie?: number;
|
|
26675
|
+
};
|
|
26676
|
+
Returns: import("./types").Json;
|
|
26677
|
+
};
|
|
26374
26678
|
logistics_cart_barcode_value: {
|
|
26375
26679
|
Args: {
|
|
26376
26680
|
_cart_id: string;
|
|
@@ -27980,6 +28284,13 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
27980
28284
|
};
|
|
27981
28285
|
Returns: string;
|
|
27982
28286
|
};
|
|
28287
|
+
logistics_shipping_note_status: {
|
|
28288
|
+
Args: {
|
|
28289
|
+
p_cart_id?: string;
|
|
28290
|
+
p_slip_job_id?: string;
|
|
28291
|
+
};
|
|
28292
|
+
Returns: import("./types").Json;
|
|
28293
|
+
};
|
|
27983
28294
|
logistics_shipping_notes_wake_all: {
|
|
27984
28295
|
Args: never;
|
|
27985
28296
|
Returns: import("./types").Json;
|
|
@@ -29659,6 +29970,13 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
29659
29970
|
};
|
|
29660
29971
|
Returns: import("./types").Json;
|
|
29661
29972
|
};
|
|
29973
|
+
scan_controleer_pincode: {
|
|
29974
|
+
Args: {
|
|
29975
|
+
p_pin: string;
|
|
29976
|
+
p_scanner_id: string;
|
|
29977
|
+
};
|
|
29978
|
+
Returns: boolean;
|
|
29979
|
+
};
|
|
29662
29980
|
scan_dashboard_stats: {
|
|
29663
29981
|
Args: {
|
|
29664
29982
|
p_dagen?: number;
|
|
@@ -29678,6 +29996,12 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
29678
29996
|
};
|
|
29679
29997
|
Returns: import("./types").Json;
|
|
29680
29998
|
};
|
|
29999
|
+
scan_heeft_pincode: {
|
|
30000
|
+
Args: {
|
|
30001
|
+
p_scanner_id: string;
|
|
30002
|
+
};
|
|
30003
|
+
Returns: boolean;
|
|
30004
|
+
};
|
|
29681
30005
|
scan_kar_compleet: {
|
|
29682
30006
|
Args: {
|
|
29683
30007
|
p_allow_reprint?: boolean;
|
|
@@ -29695,6 +30019,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
29695
30019
|
Args: {
|
|
29696
30020
|
p_code: string;
|
|
29697
30021
|
p_latency_ms?: number;
|
|
30022
|
+
p_medewerker?: string;
|
|
29698
30023
|
p_message?: string;
|
|
29699
30024
|
p_result: string;
|
|
29700
30025
|
p_scanner_key?: string;
|
|
@@ -29767,6 +30092,22 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
29767
30092
|
};
|
|
29768
30093
|
Returns: undefined;
|
|
29769
30094
|
};
|
|
30095
|
+
scan_scanner_info: {
|
|
30096
|
+
Args: {
|
|
30097
|
+
p_slug: string;
|
|
30098
|
+
};
|
|
30099
|
+
Returns: {
|
|
30100
|
+
actief: boolean;
|
|
30101
|
+
heeft_pincode: boolean;
|
|
30102
|
+
id: string;
|
|
30103
|
+
naam: string;
|
|
30104
|
+
omschrijving: string;
|
|
30105
|
+
printer_id: string;
|
|
30106
|
+
type: string;
|
|
30107
|
+
vereist_medewerker: boolean;
|
|
30108
|
+
werkplek: string;
|
|
30109
|
+
}[];
|
|
30110
|
+
};
|
|
29770
30111
|
scan_sessie_annuleren: {
|
|
29771
30112
|
Args: {
|
|
29772
30113
|
p_sessie_id: string;
|
|
@@ -30729,6 +31070,21 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
|
|
|
30729
31070
|
};
|
|
30730
31071
|
Returns: import("./types").Json;
|
|
30731
31072
|
};
|
|
31073
|
+
wo_list_colleague_planning: {
|
|
31074
|
+
Args: {
|
|
31075
|
+
_from: string;
|
|
31076
|
+
_monteur_id: string;
|
|
31077
|
+
_to: string;
|
|
31078
|
+
};
|
|
31079
|
+
Returns: {
|
|
31080
|
+
end_at: string;
|
|
31081
|
+
id: string;
|
|
31082
|
+
role: string;
|
|
31083
|
+
start_at: string;
|
|
31084
|
+
status: string;
|
|
31085
|
+
werkbon_id: string;
|
|
31086
|
+
}[];
|
|
31087
|
+
};
|
|
30732
31088
|
wo_list_offerte_requests: {
|
|
30733
31089
|
Args: {
|
|
30734
31090
|
_status?: string;
|