@flowselections/logistiek-engine 1.0.27 → 1.0.29

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 (101) hide show
  1. package/README.md +24 -24
  2. package/dist-lib/components/AfmetingenBronnenCard.d.ts +2 -0
  3. package/dist-lib/components/AfmetingenBronnenCard.d.ts.map +1 -0
  4. package/dist-lib/components/AfmetingenBronnenCard.js +46 -0
  5. package/dist-lib/components/BufferDebugCard.d.ts.map +1 -1
  6. package/dist-lib/components/BufferDebugCard.js +6 -1
  7. package/dist-lib/components/ConsistentieCard.d.ts.map +1 -1
  8. package/dist-lib/components/ConsistentieCard.js +1 -1
  9. package/dist-lib/components/GeblokkeerdeOrdersCard.d.ts +2 -0
  10. package/dist-lib/components/GeblokkeerdeOrdersCard.d.ts.map +1 -0
  11. package/dist-lib/components/GeblokkeerdeOrdersCard.js +44 -0
  12. package/dist-lib/components/KarplanStatusCard.d.ts +2 -0
  13. package/dist-lib/components/KarplanStatusCard.d.ts.map +1 -0
  14. package/dist-lib/components/KarplanStatusCard.js +31 -0
  15. package/dist-lib/components/RegiePage.d.ts.map +1 -1
  16. package/dist-lib/components/RegiePage.js +4 -1
  17. package/dist-lib/components/RuleEnginePage.d.ts.map +1 -1
  18. package/dist-lib/components/RuleEnginePage.js +7 -4
  19. package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts +2 -0
  20. package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts.map +1 -0
  21. package/dist-lib/components/rule-engine/FloridayConnectionBanner.js +41 -0
  22. package/dist-lib/components/rule-engine/RuleFieldInput.d.ts.map +1 -1
  23. package/dist-lib/components/rule-engine/RuleFieldInput.js +9 -0
  24. package/dist-lib/hooks/useGeblokkeerdeOrders.d.ts +28 -0
  25. package/dist-lib/hooks/useGeblokkeerdeOrders.d.ts.map +1 -0
  26. package/dist-lib/hooks/useGeblokkeerdeOrders.js +94 -0
  27. package/dist-lib/hooks/useRecalcJob.d.ts.map +1 -1
  28. package/dist-lib/hooks/useRecalcJob.js +26 -1
  29. package/dist-lib/hooks/useScannersPrinters.d.ts +11 -0
  30. package/dist-lib/hooks/useScannersPrinters.d.ts.map +1 -0
  31. package/dist-lib/hooks/useScannersPrinters.js +65 -0
  32. package/dist-lib/index.d.ts +3 -0
  33. package/dist-lib/index.d.ts.map +1 -1
  34. package/dist-lib/index.js +3 -0
  35. package/dist-lib/integrations/supabase/auth-middleware.d.ts +2105 -68
  36. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  37. package/dist-lib/integrations/supabase/client.d.ts +20293 -0
  38. package/dist-lib/integrations/supabase/client.d.ts.map +1 -0
  39. package/dist-lib/integrations/supabase/client.js +13 -0
  40. package/dist-lib/integrations/supabase/client.server.d.ts +2105 -68
  41. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  42. package/dist-lib/integrations/supabase/client.server.js +1 -1
  43. package/dist-lib/integrations/supabase/moduleClient.d.ts +2105 -68
  44. package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
  45. package/dist-lib/integrations/supabase/types.d.ts +2135 -54
  46. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  47. package/dist-lib/integrations/supabase/types.js +1 -0
  48. package/dist-lib/lib/attachAuthToken.d.ts +2 -0
  49. package/dist-lib/lib/attachAuthToken.d.ts.map +1 -0
  50. package/dist-lib/lib/attachAuthToken.js +50 -0
  51. package/dist-lib/lib/bufferMatching.d.ts.map +1 -1
  52. package/dist-lib/lib/bufferMatching.js +1 -0
  53. package/dist-lib/lib/cartPlanRequests.server.d.ts +13 -0
  54. package/dist-lib/lib/cartPlanRequests.server.d.ts.map +1 -0
  55. package/dist-lib/lib/cartPlanRequests.server.js +168 -0
  56. package/dist-lib/lib/controlScan.server.d.ts +12 -0
  57. package/dist-lib/lib/controlScan.server.d.ts.map +1 -0
  58. package/dist-lib/lib/controlScan.server.js +197 -0
  59. package/dist-lib/lib/dimensionData.server.d.ts +11 -1
  60. package/dist-lib/lib/dimensionData.server.d.ts.map +1 -1
  61. package/dist-lib/lib/dimensionData.server.js +58 -48
  62. package/dist-lib/lib/dimensionPlanner.d.ts +26 -1
  63. package/dist-lib/lib/dimensionPlanner.d.ts.map +1 -1
  64. package/dist-lib/lib/dimensionPlanner.js +37 -6
  65. package/dist-lib/lib/floridayDocuments.functions.d.ts +6314 -203
  66. package/dist-lib/lib/floridayDocuments.functions.d.ts.map +1 -1
  67. package/dist-lib/lib/floridayDocuments.functions.js +4 -3
  68. package/dist-lib/lib/floridayPush.functions.d.ts +2106 -69
  69. package/dist-lib/lib/floridayPush.functions.d.ts.map +1 -1
  70. package/dist-lib/lib/floridayPush.functions.js +2 -1
  71. package/dist-lib/lib/handlers/logistics-tick.server.d.ts.map +1 -1
  72. package/dist-lib/lib/handlers/logistics-tick.server.js +64 -0
  73. package/dist-lib/lib/loadCarrierPlanning.functions.d.ts +10480 -295
  74. package/dist-lib/lib/loadCarrierPlanning.functions.d.ts.map +1 -1
  75. package/dist-lib/lib/loadCarrierPlanning.functions.js +6 -5
  76. package/dist-lib/lib/loadCarrierPlanning.server.d.ts +42 -0
  77. package/dist-lib/lib/loadCarrierPlanning.server.d.ts.map +1 -1
  78. package/dist-lib/lib/loadCarrierPlanning.server.js +583 -31
  79. package/dist-lib/lib/logisticsPlanner.d.ts.map +1 -1
  80. package/dist-lib/lib/logisticsPlanner.js +24 -9
  81. package/dist-lib/lib/logisticsRecalcJob.functions.d.ts +4231 -157
  82. package/dist-lib/lib/logisticsRecalcJob.functions.d.ts.map +1 -1
  83. package/dist-lib/lib/logisticsRecalcJob.functions.js +3 -2
  84. package/dist-lib/lib/logisticsRecalcJob.server.d.ts.map +1 -1
  85. package/dist-lib/lib/logisticsRecalcJob.server.js +1 -0
  86. package/dist-lib/lib/logisticsRecalculate.functions.d.ts +2106 -69
  87. package/dist-lib/lib/logisticsRecalculate.functions.d.ts.map +1 -1
  88. package/dist-lib/lib/logisticsRecalculate.functions.js +3 -1
  89. package/dist-lib/lib/modulePrompts.d.ts.map +1 -1
  90. package/dist-lib/lib/modulePrompts.js +2560 -1586
  91. package/dist-lib/lib/planQueue.server.d.ts.map +1 -1
  92. package/dist-lib/lib/planQueue.server.js +6 -0
  93. package/dist-lib/lib/readableServerErrors.d.ts +2 -0
  94. package/dist-lib/lib/readableServerErrors.d.ts.map +1 -0
  95. package/dist-lib/lib/readableServerErrors.js +36 -0
  96. package/dist-lib/lib/ruleEngineSchema.d.ts +1 -1
  97. package/dist-lib/lib/ruleEngineSchema.d.ts.map +1 -1
  98. package/dist-lib/lib/ruleEngineSchema.js +72 -51
  99. package/dist-lib/lib/ruleEngineWizard.d.ts.map +1 -1
  100. package/dist-lib/lib/ruleEngineWizard.js +5 -6
  101. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useRecalcJob.d.ts","sourceRoot":"","sources":["../../src/hooks/useRecalcJob.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACrC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,UAE/C;AAED,wBAAgB,YAAY;;;qCA4DL,MAAM,GAAG,IAAI;;EAanC"}
1
+ {"version":3,"file":"useRecalcJob.d.ts","sourceRoot":"","sources":["../../src/hooks/useRecalcJob.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACrC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,UAE/C;AAwBD,wBAAgB,YAAY;;;qCA6DL,MAAM,GAAG,IAAI;;EAenC"}
@@ -13,6 +13,27 @@ const PHASE_LABEL = {
13
13
  export function phaseLabel(phase) {
14
14
  return (phase && PHASE_LABEL[phase]) || "Bezig";
15
15
  }
16
+ /**
17
+ * Serverfuncties gooien bij een fout een Response. Die belandt anders als
18
+ * "[object Response]" in de foutafhandeling (leeg scherm). Hier maken we er
19
+ * altijd een leesbare Error van.
20
+ */
21
+ async function toReadableError(e) {
22
+ if (typeof Response !== "undefined" && e instanceof Response) {
23
+ let body = "";
24
+ try {
25
+ body = (await e.clone().text()).slice(0, 300);
26
+ }
27
+ catch {
28
+ /* body niet leesbaar */
29
+ }
30
+ if (e.status === 401) {
31
+ return new Error("Je sessie is verlopen. Log opnieuw in en probeer het nog een keer.");
32
+ }
33
+ return new Error(body || `Serverfout (${e.status})`);
34
+ }
35
+ return e instanceof Error ? e : new Error(String(e?.message ?? e));
36
+ }
16
37
  export function useRecalcJob() {
17
38
  const [job, setJob] = useState(null);
18
39
  const [starting, setStarting] = useState(false);
@@ -56,7 +77,8 @@ export function useRecalcJob() {
56
77
  break;
57
78
  }
58
79
  }
59
- catch {
80
+ catch (e) {
81
+ console.warn("[logistiek-engine] herberekening doorzetten:", (await toReadableError(e)).message);
60
82
  /* de cron-taak pakt het verder op */
61
83
  }
62
84
  finally {
@@ -75,6 +97,9 @@ export function useRecalcJob() {
75
97
  await start({ data: { strategyId } });
76
98
  await load();
77
99
  }
100
+ catch (e) {
101
+ throw await toReadableError(e);
102
+ }
78
103
  finally {
79
104
  setStarting(false);
80
105
  }
@@ -0,0 +1,11 @@
1
+ export interface DeviceOption {
2
+ id: string;
3
+ name: string;
4
+ hint?: string;
5
+ }
6
+ export declare function useScannersPrinters(): {
7
+ scanners: DeviceOption[];
8
+ printers: DeviceOption[];
9
+ loading: boolean;
10
+ };
11
+ //# sourceMappingURL=useScannersPrinters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScannersPrinters.d.ts","sourceRoot":"","sources":["../../src/hooks/useScannersPrinters.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAsCD,wBAAgB,mBAAmB;;;;EAuBlC"}
@@ -0,0 +1,65 @@
1
+ // ============================================================================
2
+ // src/hooks/useScannersPrinters.ts — scanners en printers uit de database,
3
+ // voor de controle-instellingen in de Rule Engine.
4
+ // ============================================================================
5
+ // Alleen actieve records. Geen vaste namen of id's in code: staat er niets in
6
+ // de database, dan blijft de keuzelijst leeg en meldt het scherm dat.
7
+ // ============================================================================
8
+ import { useEffect, useState } from "react";
9
+ import { supabase } from "@flowselections/core";
10
+ const db = () => supabase;
11
+ let cache = null;
12
+ let inflight = null;
13
+ async function load() {
14
+ if (cache)
15
+ return cache;
16
+ if (!inflight) {
17
+ inflight = (async () => {
18
+ const [scanners, printers] = await Promise.all([
19
+ db().from("scan_scanners").select("id, naam, omschrijving, werkplek, actief").order("naam"),
20
+ db().from("printers").select("id, naam, locatie, actief, online").order("naam"),
21
+ ]);
22
+ const mapScanner = (rows) => (Array.isArray(rows) ? rows : [])
23
+ .filter((r) => r && r.actief !== false)
24
+ .map((r) => ({
25
+ id: String(r.id),
26
+ name: String(r.naam ?? r.id),
27
+ hint: r.werkplek ? String(r.werkplek) : undefined,
28
+ }));
29
+ const mapPrinter = (rows) => (Array.isArray(rows) ? rows : [])
30
+ .filter((r) => r && r.actief !== false)
31
+ .map((r) => ({
32
+ id: String(r.id),
33
+ name: String(r.naam ?? r.id),
34
+ hint: r.locatie ? String(r.locatie) : undefined,
35
+ }));
36
+ cache = { scanners: mapScanner(scanners?.data), printers: mapPrinter(printers?.data) };
37
+ return cache;
38
+ })();
39
+ }
40
+ return inflight;
41
+ }
42
+ export function useScannersPrinters() {
43
+ const [scanners, setScanners] = useState(cache?.scanners ?? []);
44
+ const [printers, setPrinters] = useState(cache?.printers ?? []);
45
+ const [loading, setLoading] = useState(!cache);
46
+ useEffect(() => {
47
+ let active = true;
48
+ load()
49
+ .then((result) => {
50
+ if (!active)
51
+ return;
52
+ setScanners(result.scanners);
53
+ setPrinters(result.printers);
54
+ })
55
+ .catch(() => undefined)
56
+ .finally(() => {
57
+ if (active)
58
+ setLoading(false);
59
+ });
60
+ return () => {
61
+ active = false;
62
+ };
63
+ }, []);
64
+ return { scanners, printers, loading };
65
+ }
@@ -10,6 +10,9 @@ export * from './components/VoorraadMeldingenCard';
10
10
  export { FloridayPushCard } from './components/FloridayPushCard';
11
11
  export { PrintjobsCard } from './components/PrintjobsCard';
12
12
  export { ConsistentieCard } from './components/ConsistentieCard';
13
+ export { KarplanStatusCard } from './components/KarplanStatusCard';
14
+ export { GeblokkeerdeOrdersCard } from './components/GeblokkeerdeOrdersCard';
15
+ export { AfmetingenBronnenCard } from './components/AfmetingenBronnenCard';
13
16
  export * from './hooks/usePrintjobs';
14
17
  export * from './components/VertragingMeldingenCard';
15
18
  export * from './components/CapaciteitMeldingenCard';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,cAAc,kBAAkB,CAAC;AACjC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,cAAc,sBAAsB,CAAC;AAErC,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAChG,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AAMpD,eAAO,MAAM,qBAAqB,EAAE,UAcnC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,cAAc,kBAAkB,CAAC;AACjC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,cAAc,sBAAsB,CAAC;AAErC,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,mDAAmD,CAAC;AAChG,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qCAAqC,CAAC;AAMpD,eAAO,MAAM,qBAAqB,EAAE,UAcnC,CAAC"}
package/dist-lib/index.js CHANGED
@@ -13,6 +13,9 @@ export * from './components/VoorraadMeldingenCard';
13
13
  export { FloridayPushCard } from './components/FloridayPushCard';
14
14
  export { PrintjobsCard } from './components/PrintjobsCard';
15
15
  export { ConsistentieCard } from './components/ConsistentieCard';
16
+ export { KarplanStatusCard } from './components/KarplanStatusCard';
17
+ export { GeblokkeerdeOrdersCard } from './components/GeblokkeerdeOrdersCard';
18
+ export { AfmetingenBronnenCard } from './components/AfmetingenBronnenCard';
16
19
  export * from './hooks/usePrintjobs';
17
20
  export * from './components/VertragingMeldingenCard';
18
21
  export * from './components/CapaciteitMeldingenCard';