@flowselections/logistiek-engine 1.0.24 → 1.0.26
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/README.md +24 -24
- package/dist-lib/components/ConsistentieCard.d.ts +2 -0
- package/dist-lib/components/ConsistentieCard.d.ts.map +1 -0
- package/dist-lib/components/ConsistentieCard.js +38 -0
- package/dist-lib/components/LogistiekEnginePage.d.ts.map +1 -1
- package/dist-lib/components/LogistiekEnginePage.js +8 -2
- package/dist-lib/components/ModulePromptsPage.d.ts.map +1 -1
- package/dist-lib/components/ModulePromptsPage.js +11 -3
- package/dist-lib/components/RegiePage.d.ts.map +1 -1
- package/dist-lib/components/RegiePage.js +3 -2
- package/dist-lib/index.d.ts +1 -0
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +1 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +1333 -775
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +1333 -775
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.js +1 -1
- package/dist-lib/integrations/supabase/moduleClient.d.ts +1333 -775
- package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +1346 -806
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/floridayDocuments.functions.d.ts +3510 -1836
- package/dist-lib/lib/floridayDocuments.functions.d.ts.map +1 -1
- package/dist-lib/lib/floridayPush.functions.d.ts +1333 -775
- 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 +5855 -3090
- 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 +52 -13
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts +2340 -1224
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts +1333 -775
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts.map +1 -1
- package/dist-lib/lib/modulePrompts.d.ts +19 -3
- package/dist-lib/lib/modulePrompts.d.ts.map +1 -1
- package/dist-lib/lib/modulePrompts.js +1664 -1141
- package/dist-lib/lib/ruleEngineSchema.d.ts.map +1 -1
- package/dist-lib/lib/ruleEngineSchema.js +21 -4
- package/dist-lib/lib/ruleEngineWizard.d.ts.map +1 -1
- package/dist-lib/lib/ruleEngineWizard.js +3 -1
- package/package.json +1 -1
- package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts +0 -2
- package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts.map +0 -1
- package/dist-lib/components/rule-engine/FloridayConnectionBanner.js +0 -41
- package/dist-lib/integrations/supabase/client.d.ts +0 -20293
- package/dist-lib/integrations/supabase/client.d.ts.map +0 -1
- package/dist-lib/integrations/supabase/client.js +0 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruleEngineSchema.d.ts","sourceRoot":"","sources":["../../src/lib/ruleEngineSchema.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,UAAU,GACV,MAAM,GACN,UAAU,GACV,OAAO,GACP,MAAM,GACN,QAAQ,GACR,aAAa,GACb,UAAU,CAAC;AAKf,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,OAAO,EAAE,CAAC;IACd,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,wFAAwF;IACxF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,QAAQ,CAAC,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,wGAAwG;IACxG,SAAS,CAAC,EAAE,cAAc,GAAG,cAAc,EAAE,CAAC;CAC/C;AAGD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAID,eAAO,MAAM,gBAAgB,EAAE,WAAW,EAQzC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,WAAW,EAK5C,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAI9D,eAAO,MAAM,UAAU,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"ruleEngineSchema.d.ts","sourceRoot":"","sources":["../../src/lib/ruleEngineSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -251,6 +251,7 @@ export const RULE_STEPS = [
|
|
|
251
251
|
options: [
|
|
252
252
|
{ value: "order", label: "Picken per order" },
|
|
253
253
|
{ value: "cart", label: "Picken per kar" },
|
|
254
|
+
{ value: "smallest", label: "Picken per kar of order, kleinste telt" },
|
|
254
255
|
{ value: "buffer", label: "Picken per orderbuffer" },
|
|
255
256
|
],
|
|
256
257
|
},
|
|
@@ -635,7 +636,7 @@ export const RULE_STEPS = [
|
|
|
635
636
|
type: "toggle",
|
|
636
637
|
default: true,
|
|
637
638
|
description: "Bij picken per kar: karren met dezelfde inhoud komen op één pakbon, met bovenaan hoe vaak die kar gemaakt moet worden.",
|
|
638
|
-
dependsOn: { step: "order_picken", key: "pick_mode", in: ["cart"] },
|
|
639
|
+
dependsOn: { step: "order_picken", key: "pick_mode", in: ["cart", "smallest"] },
|
|
639
640
|
},
|
|
640
641
|
{
|
|
641
642
|
key: "packing_slip_carts_per_print",
|
|
@@ -647,17 +648,33 @@ export const RULE_STEPS = [
|
|
|
647
648
|
unit: "karren",
|
|
648
649
|
description: "Hoeveel karren je tegelijk uitprint. Elke afwijkende karindeling levert een eigen pakbon op: 3 karren met 3 verschillende indelingen worden dus 3 pakbonnen. Hoeveel karindelingen op één vel passen bepaalt de pakbon-layout.",
|
|
649
650
|
dependsOn: [
|
|
650
|
-
{ step: "order_picken", key: "pick_mode", in: ["cart"] },
|
|
651
|
+
{ step: "order_picken", key: "pick_mode", in: ["cart", "smallest"] },
|
|
651
652
|
{ key: "packing_slip_group_identical_carts", in: [true] },
|
|
652
653
|
],
|
|
653
654
|
},
|
|
654
655
|
{ key: "packing_slip_station", label: "Pickstation", type: "pickstation" },
|
|
656
|
+
{
|
|
657
|
+
key: "packing_slip_barcode",
|
|
658
|
+
label: "Barcode op de pakbon",
|
|
659
|
+
type: "toggle",
|
|
660
|
+
default: true,
|
|
661
|
+
description: "Elke kar krijgt een eigen barcode op de pakbon. Die barcode scan je later om de juiste verzendbrief te maken. Waar de barcode staat, bepaal je in de Layout maker.",
|
|
662
|
+
},
|
|
655
663
|
{
|
|
656
664
|
key: "packing_slip_layout",
|
|
657
|
-
label: "
|
|
665
|
+
label: "Pakbon volledige kar",
|
|
666
|
+
type: "layout",
|
|
667
|
+
layoutTypes: ["pakbon"],
|
|
668
|
+
description: "De pakbon voor een volledig gevulde kar. Op \u201cAutomatisch\u201d pakt de Layout maker zijn eigen actieve layout. Levert Floriday een kant-en-klare pakbon als PDF, dan wordt die altijd gebruikt.",
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
key: "packing_slip_partial_layout",
|
|
672
|
+
label: "Pakbon resterende order / deelkar",
|
|
658
673
|
type: "layout",
|
|
659
674
|
layoutTypes: ["pakbon"],
|
|
660
|
-
|
|
675
|
+
fallbackKey: "packing_slip_layout",
|
|
676
|
+
description: "De pakbon voor de laatste kar die niet helemaal vol is, of voor een order die binnen \u00e9\u00e9n kar past. Leeg laten betekent: dezelfde layout als de volle kar.",
|
|
677
|
+
dependsOn: { step: "order_picken", key: "pick_mode", in: ["order", "cart", "smallest"] },
|
|
661
678
|
},
|
|
662
679
|
{
|
|
663
680
|
key: "packing_slip_help",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ruleEngineWizard.d.ts","sourceRoot":"","sources":["../../src/lib/ruleEngineWizard.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,2EAA2E;IAC3E,cAAc,EAAE,OAAO,CAAC;CACzB;AAeD,eAAO,MAAM,YAAY,EAAE,UAAU,EAsDpC,CAAC;AA+BF,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEzD;
|
|
1
|
+
{"version":3,"file":"ruleEngineWizard.d.ts","sourceRoot":"","sources":["../../src/lib/ruleEngineWizard.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,2EAA2E;IAC3E,cAAc,EAAE,OAAO,CAAC;CACzB;AAeD,eAAO,MAAM,YAAY,EAAE,UAAU,EAsDpC,CAAC;AA+BF,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAEzD;AA8DD,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAE9D;AAyCD,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAStF"}
|
|
@@ -115,7 +115,7 @@ const EXTRA_HELP = {
|
|
|
115
115
|
max_layers: "Het aantal lagen dat je fysiek op een kar of container kwijt kunt.",
|
|
116
116
|
max_boxes_per_pallet: "Het aantal dozen dat je fysiek op één pallet kwijt kunt.",
|
|
117
117
|
optimal_fill: "Aan: het systeem zoekt de indeling waarbij de minste dragers nodig zijn.",
|
|
118
|
-
pick_mode: "Bepaalt waar een pickopdracht over gaat: één order, één kar
|
|
118
|
+
pick_mode: "Bepaalt waar een pickopdracht over gaat: één order, één kar, een hele buffer, of \u201ckleinste telt\u201d — dan pick je per order zolang de order binnen één kar past en per kar zodra hij over meerdere karren gaat.",
|
|
119
119
|
scanner: "Met scanner werk je foutlozer; zonder scanner werk je op papier.",
|
|
120
120
|
capacity_alert_email: "Stuurt naast de melding ook een e-mail naar de opgegeven adressen.",
|
|
121
121
|
internal_alert_enabled: "Je eigen team krijgt bericht zodra een levering vertraagd raakt.",
|
|
@@ -132,6 +132,8 @@ const EXTRA_HELP = {
|
|
|
132
132
|
packing_slip_release: "Bepaalt op welk moment de pakbon bij het pickstation verschijnt.",
|
|
133
133
|
packing_slip_hours_before: "Zoveel uur vóór het picken staat de pakbon klaar.",
|
|
134
134
|
packing_slip_station: "Het pickstation waar de pakbon uitgeprint wordt.",
|
|
135
|
+
packing_slip_barcode: "Zet op elke pakbon een barcode die hoort bij die ene kar van die ene order. Scan je die barcode later bij het verzenden, dan rolt automatisch de juiste verzendbrief eruit.",
|
|
136
|
+
packing_slip_partial_layout: "Alleen voor de laatste kar die niet helemaal vol is, of voor een order die binnen \u00e9\u00e9n kar past. Leeg laten betekent: dezelfde layout als de volle kar.",
|
|
135
137
|
sticker_release: "Bepaalt op welk moment de stickers bij het pickstation verschijnen.",
|
|
136
138
|
sticker_hours_before: "Zoveel uur vóór het picken staan de stickers klaar.",
|
|
137
139
|
sticker_station: "Het pickstation waar de stickers uitgeprint worden.",
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FloridayConnectionBanner.d.ts","sourceRoot":"","sources":["../../../src/components/rule-engine/FloridayConnectionBanner.tsx"],"names":[],"mappings":"AAYA,wBAAgB,wBAAwB,gCAwDvC"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
// ============================================================================
|
|
3
|
-
// src/components/rule-engine/FloridayConnectionBanner.tsx
|
|
4
|
-
// Toont welke Floriday-koppeling de documenten levert. De gegevens komen
|
|
5
|
-
// volledig uit de authenticatie-module; deze module kiest niets zelf.
|
|
6
|
-
// ============================================================================
|
|
7
|
-
import { useQuery } from "@tanstack/react-query";
|
|
8
|
-
import { Badge, Skeleton } from "@flowselections/core";
|
|
9
|
-
import { AlertTriangle, Link2 } from "lucide-react";
|
|
10
|
-
import { supabase } from "../../integrations/supabase/client";
|
|
11
|
-
import { getFloridayConnection } from "../../lib/floridayDocuments.functions";
|
|
12
|
-
export function FloridayConnectionBanner() {
|
|
13
|
-
const { data, isLoading } = useQuery({
|
|
14
|
-
queryKey: ["floriday-connection"],
|
|
15
|
-
queryFn: async () => {
|
|
16
|
-
try {
|
|
17
|
-
// Zonder sessie geeft de server-function een 401-Response terug; die
|
|
18
|
-
// mag nooit als throw naar de router lekken (blanco scherm).
|
|
19
|
-
const { data: sessionData } = await supabase.auth.getSession();
|
|
20
|
-
if (!sessionData.session) {
|
|
21
|
-
return { ok: false, error: "Geen actieve sessie." };
|
|
22
|
-
}
|
|
23
|
-
return await getFloridayConnection();
|
|
24
|
-
}
|
|
25
|
-
catch (e) {
|
|
26
|
-
// Geen sessie of gateway-fout: banner toont de foutstaat, geen crash.
|
|
27
|
-
const message = e instanceof Response ? `HTTP ${e.status}` : String(e?.message ?? e);
|
|
28
|
-
return { ok: false, error: message };
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
retry: false,
|
|
32
|
-
staleTime: 60000,
|
|
33
|
-
});
|
|
34
|
-
if (isLoading)
|
|
35
|
-
return _jsx(Skeleton, { className: "h-14 w-full rounded-lg" });
|
|
36
|
-
if (!data || data.ok !== true) {
|
|
37
|
-
return (_jsxs("div", { className: "flex items-start gap-3 rounded-lg border border-destructive/40 bg-destructive/5 p-3", children: [_jsx(AlertTriangle, { className: "mt-0.5 h-4 w-4 text-destructive" }), _jsxs("div", { className: "text-sm", children: [_jsx("p", { className: "font-medium text-destructive", children: "Geen actieve Floriday-koppeling" }), _jsx("p", { className: "text-muted-foreground", children: "Documenten kunnen niet worden opgehaald zolang de Floriday-authenticatiemodule geen actieve koppeling heeft." })] })] }));
|
|
38
|
-
}
|
|
39
|
-
const c = data.connection;
|
|
40
|
-
return (_jsxs("div", { className: "flex flex-wrap items-center gap-3 rounded-lg border border-border bg-muted/40 p-3", children: [_jsx(Link2, { className: "h-4 w-4 text-muted-foreground" }), _jsxs("div", { className: "text-sm", children: [_jsx("span", { className: "font-medium", children: c?.label ?? c?.organization_name ?? "Floriday" }), c?.gln_code && _jsxs("span", { className: "text-muted-foreground", children: [" \u00B7 GLN ", c.gln_code] })] }), _jsx(Badge, { variant: data.environment === "live" ? "default" : "secondary", children: data.environment === "live" ? "Live" : "Staging" }), _jsx("span", { className: "text-xs text-muted-foreground", children: "Documenten worden opgehaald via de Floriday-authenticatiemodule." })] }));
|
|
41
|
-
}
|