@flowselections/logistiek-engine 1.0.25 → 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.
Files changed (46) hide show
  1. package/README.md +24 -24
  2. package/dist-lib/components/ConsistentieCard.d.ts +2 -0
  3. package/dist-lib/components/ConsistentieCard.d.ts.map +1 -0
  4. package/dist-lib/components/ConsistentieCard.js +38 -0
  5. package/dist-lib/components/ModulePromptsPage.d.ts.map +1 -1
  6. package/dist-lib/components/ModulePromptsPage.js +11 -3
  7. package/dist-lib/components/RegiePage.d.ts.map +1 -1
  8. package/dist-lib/components/RegiePage.js +2 -1
  9. package/dist-lib/index.d.ts +1 -0
  10. package/dist-lib/index.d.ts.map +1 -1
  11. package/dist-lib/index.js +1 -0
  12. package/dist-lib/integrations/supabase/auth-middleware.d.ts +1048 -715
  13. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  14. package/dist-lib/integrations/supabase/client.server.d.ts +1048 -715
  15. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  16. package/dist-lib/integrations/supabase/client.server.js +1 -1
  17. package/dist-lib/integrations/supabase/moduleClient.d.ts +1048 -715
  18. package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
  19. package/dist-lib/integrations/supabase/types.d.ts +1081 -768
  20. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  21. package/dist-lib/lib/floridayDocuments.functions.d.ts +3054 -2055
  22. package/dist-lib/lib/floridayDocuments.functions.d.ts.map +1 -1
  23. package/dist-lib/lib/floridayPush.functions.d.ts +1048 -715
  24. package/dist-lib/lib/floridayPush.functions.d.ts.map +1 -1
  25. package/dist-lib/lib/loadCarrierPlanning.functions.d.ts +5105 -3465
  26. package/dist-lib/lib/loadCarrierPlanning.functions.d.ts.map +1 -1
  27. package/dist-lib/lib/logisticsPlanner.d.ts.map +1 -1
  28. package/dist-lib/lib/logisticsPlanner.js +35 -13
  29. package/dist-lib/lib/logisticsRecalcJob.functions.d.ts +1983 -1317
  30. package/dist-lib/lib/logisticsRecalcJob.functions.d.ts.map +1 -1
  31. package/dist-lib/lib/logisticsRecalculate.functions.d.ts +1048 -715
  32. package/dist-lib/lib/logisticsRecalculate.functions.d.ts.map +1 -1
  33. package/dist-lib/lib/modulePrompts.d.ts +19 -3
  34. package/dist-lib/lib/modulePrompts.d.ts.map +1 -1
  35. package/dist-lib/lib/modulePrompts.js +1636 -1298
  36. package/dist-lib/lib/ruleEngineSchema.d.ts.map +1 -1
  37. package/dist-lib/lib/ruleEngineSchema.js +21 -4
  38. package/dist-lib/lib/ruleEngineWizard.d.ts.map +1 -1
  39. package/dist-lib/lib/ruleEngineWizard.js +3 -1
  40. package/package.json +1 -1
  41. package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts +0 -2
  42. package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts.map +0 -1
  43. package/dist-lib/components/rule-engine/FloridayConnectionBanner.js +0 -41
  44. package/dist-lib/integrations/supabase/client.d.ts +0 -20293
  45. package/dist-lib/integrations/supabase/client.d.ts.map +0 -1
  46. 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":"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"}
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: "Welke layout voor dit soort orders?",
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
- description: "Kies de layout die bij dit soort orders hoort. 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.",
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;AAsDD,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"}
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 of een hele buffer.",
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowselections/logistiek-engine",
3
- "version": "1.0.25",
3
+ "version": "1.0.26",
4
4
  "flowselections": {
5
5
  "moduleId": "logistiek-engine",
6
6
  "pages": [
@@ -1,2 +0,0 @@
1
- export declare function FloridayConnectionBanner(): import("react").JSX.Element;
2
- //# sourceMappingURL=FloridayConnectionBanner.d.ts.map
@@ -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
- }