@flowselections/logistiek-engine 1.0.111 → 1.0.113
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/MisluktVerzendbrievenCard.d.ts.map +1 -1
- package/dist-lib/components/MisluktVerzendbrievenCard.js +3 -3
- package/dist-lib/hooks/useShippingNoteStatus.d.ts +3 -1
- package/dist-lib/hooks/useShippingNoteStatus.d.ts.map +1 -1
- package/dist-lib/hooks/useShippingNoteStatus.js +6 -3
- package/dist-lib/integrations/supabase/types.d.ts +400 -1
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/handlers/logistics-shipping-note-now.server.d.ts.map +1 -1
- package/dist-lib/lib/handlers/logistics-shipping-note-now.server.js +15 -4
- package/dist-lib/lib/handlers/logistics-tick.server.js +8 -0
- package/dist-lib/lib/modulePrompts.d.ts +2 -0
- package/dist-lib/lib/modulePrompts.d.ts.map +1 -1
- package/dist-lib/lib/modulePrompts.js +43 -1
- package/dist-lib/lib/moduleVersion.d.ts +1 -1
- package/dist-lib/lib/moduleVersion.js +1 -1
- package/dist-lib/lib/shippingNoteQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/shippingNoteQueue.server.js +51 -5
- package/dist-lib/lib/shippingNoteStates.d.ts +26 -0
- package/dist-lib/lib/shippingNoteStates.d.ts.map +1 -0
- package/dist-lib/lib/shippingNoteStates.js +38 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MisluktVerzendbrievenCard.d.ts","sourceRoot":"","sources":["../../src/components/MisluktVerzendbrievenCard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MisluktVerzendbrievenCard.d.ts","sourceRoot":"","sources":["../../src/components/MisluktVerzendbrievenCard.tsx"],"names":[],"mappings":"AAoBA,wBAAgB,yBAAyB,gCAwExC"}
|
|
@@ -15,7 +15,7 @@ export function MisluktVerzendbrievenCard() {
|
|
|
15
15
|
const laad = useCallback(async () => {
|
|
16
16
|
const { data, error } = await supabase
|
|
17
17
|
.from("logistics_slip_shipping_note")
|
|
18
|
-
.select("id, order_number, error, error_code, updated_at")
|
|
18
|
+
.select("id, order_number, error, error_code, updated_at, voor_herstel")
|
|
19
19
|
.eq("status", "mislukt")
|
|
20
20
|
.order("updated_at", { ascending: false })
|
|
21
21
|
.limit(25);
|
|
@@ -35,7 +35,7 @@ export function MisluktVerzendbrievenCard() {
|
|
|
35
35
|
const { data, error } = await supabase.rpc("logistics_slip_note_retry", { _id: id });
|
|
36
36
|
const res = (data ?? {});
|
|
37
37
|
if (error || !res.ok) {
|
|
38
|
-
toast.error(error?.message ?? res.error ?? "Opnieuw
|
|
38
|
+
toast.error(error?.message ?? res.error ?? "Opnieuw starten is niet gelukt.");
|
|
39
39
|
}
|
|
40
40
|
else {
|
|
41
41
|
toast.success("De verzendbrief wordt opnieuw aangevraagd.");
|
|
@@ -46,5 +46,5 @@ export function MisluktVerzendbrievenCard() {
|
|
|
46
46
|
setBezig(null);
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
|
-
return (_jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Mislukte verzendbrieven" }), _jsx(CardDescription, { children: "Floriday-verzendbrieven bij een pakbon die niet geprint konden worden.
|
|
49
|
+
return (_jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { children: "Mislukte verzendbrieven" }), _jsx(CardDescription, { children: "Floriday-verzendbrieven bij een pakbon die niet geprint konden worden. Opnieuw starten kan alleen bij een open order met een goedgekeurde controlescan; de kar hoeft niet opnieuw gescand te worden." })] }), _jsxs(CardContent, { className: "space-y-2", children: [fout && _jsx("p", { className: "text-sm text-destructive", children: fout }), !fout && regels.length === 0 && (_jsx("p", { className: "text-sm text-muted-foreground", children: "Geen mislukte verzendbrieven." })), regels.map((r) => (_jsxs("div", { className: "flex items-start justify-between gap-3 border-b border-border py-2", children: [_jsxs("div", { className: "min-w-0", children: [_jsxs("p", { className: "text-sm font-medium", children: [r.order_number ?? "Onbekende order", r.voor_herstel && _jsx("span", { className: "ml-2 text-xs text-muted-foreground", children: "oud, v\u00F3\u00F3r herstel" })] }), _jsx("p", { className: "text-xs text-muted-foreground break-words", children: r.error ?? r.error_code ?? "Onbekende fout" })] }), _jsxs(Button, { size: "sm", variant: "outline", disabled: bezig === r.id, onClick: () => void opnieuw(r.id), children: [_jsx(RefreshCw, { className: "mr-1 h-3 w-3" }), "Opnieuw starten"] })] }, r.id)))] })] }));
|
|
50
50
|
}
|
|
@@ -8,6 +8,8 @@ export interface ShippingNoteStatus {
|
|
|
8
8
|
shippingNoteJobId: string | null;
|
|
9
9
|
cartId: string | null;
|
|
10
10
|
orderNumber: string | null;
|
|
11
|
+
/** Wacht op goedgekeurde controlescan/vrijgave; geen fout na de pollimiet. */
|
|
12
|
+
wachtOpVrijgave?: boolean;
|
|
11
13
|
}
|
|
12
14
|
/** Zet een nog wachtende status om naar een expliciete fout na de pollimiet. */
|
|
13
15
|
export declare function timedOutStatus(current: ShippingNoteStatus, maxPollMs: number): ShippingNoteStatus;
|
|
@@ -18,7 +20,7 @@ export declare function timedOutStatus(current: ShippingNoteStatus, maxPollMs: n
|
|
|
18
20
|
* aanvraag of printopdracht. Ontbreekt de sleutel, dan gebeurt er niets extra
|
|
19
21
|
* en blijft de gewone achtergrondverwerking de status bijwerken.
|
|
20
22
|
*/
|
|
21
|
-
export declare function kickShippingNoteQueue(): Promise<void>;
|
|
23
|
+
export declare function kickShippingNoteQueue(slipJobId?: string | null): Promise<void>;
|
|
22
24
|
export declare function useShippingNoteStatus(slipJobId: string | null, cartId: string | null, options?: {
|
|
23
25
|
pollMs?: number;
|
|
24
26
|
maxPollMs?: number;
|
|
@@ -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;
|
|
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;IAC3B,8EAA8E;IAC9E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAID,gFAAgF;AAChF,wBAAgB,cAAc,CAC5B,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,GAChB,kBAAkB,CAQpB;AA8BD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,SAAS,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAe1F;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"}
|
|
@@ -7,6 +7,8 @@ import { supabase } from "@flowselections/core";
|
|
|
7
7
|
const WAITING = new Set(["klaar_voor_print", "wacht_op_floriday"]);
|
|
8
8
|
/** Zet een nog wachtende status om naar een expliciete fout na de pollimiet. */
|
|
9
9
|
export function timedOutStatus(current, maxPollMs) {
|
|
10
|
+
if (current.wachtOpVrijgave)
|
|
11
|
+
return current;
|
|
10
12
|
const minuten = Math.round(maxPollMs / 60000);
|
|
11
13
|
return {
|
|
12
14
|
...current,
|
|
@@ -34,6 +36,7 @@ function safeStatus(value) {
|
|
|
34
36
|
shippingNoteJobId: typeof row["shippingNoteJobId"] === "string" ? row["shippingNoteJobId"] : null,
|
|
35
37
|
cartId: typeof row["cartId"] === "string" ? row["cartId"] : null,
|
|
36
38
|
orderNumber: typeof row["orderNumber"] === "string" ? row["orderNumber"] : null,
|
|
39
|
+
wachtOpVrijgave: row["wachtOpVrijgave"] === true,
|
|
37
40
|
};
|
|
38
41
|
}
|
|
39
42
|
/**
|
|
@@ -43,7 +46,7 @@ function safeStatus(value) {
|
|
|
43
46
|
* aanvraag of printopdracht. Ontbreekt de sleutel, dan gebeurt er niets extra
|
|
44
47
|
* en blijft de gewone achtergrondverwerking de status bijwerken.
|
|
45
48
|
*/
|
|
46
|
-
export async function kickShippingNoteQueue() {
|
|
49
|
+
export async function kickShippingNoteQueue(slipJobId = null) {
|
|
47
50
|
const apikey = import.meta.env["VITE_SUPABASE_PUBLISHABLE_KEY"] ??
|
|
48
51
|
import.meta.env["VITE_SUPABASE_ANON_KEY"] ??
|
|
49
52
|
"";
|
|
@@ -53,7 +56,7 @@ export async function kickShippingNoteQueue() {
|
|
|
53
56
|
await fetch("/api/public/hooks/logistics-shipping-note-now", {
|
|
54
57
|
method: "POST",
|
|
55
58
|
headers: { apikey, "Content-Type": "application/json" },
|
|
56
|
-
body:
|
|
59
|
+
body: JSON.stringify(slipJobId ? { slipJobId } : {}),
|
|
57
60
|
});
|
|
58
61
|
}
|
|
59
62
|
catch {
|
|
@@ -100,7 +103,7 @@ export function useShippingNoteStatus(slipJobId, cartId, options = {}) {
|
|
|
100
103
|
return;
|
|
101
104
|
void (async () => {
|
|
102
105
|
if (fetchNow)
|
|
103
|
-
await kickShippingNoteQueue();
|
|
106
|
+
await kickShippingNoteQueue(slipJobId);
|
|
104
107
|
await reload();
|
|
105
108
|
})();
|
|
106
109
|
}, [cartId, fetchNow, reload, slipJobId]);
|