@flowselections/logistiek-engine 1.0.27 → 1.0.28

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 (95) 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/KarplanStatusCard.d.ts +2 -0
  10. package/dist-lib/components/KarplanStatusCard.d.ts.map +1 -0
  11. package/dist-lib/components/KarplanStatusCard.js +31 -0
  12. package/dist-lib/components/RegiePage.d.ts.map +1 -1
  13. package/dist-lib/components/RegiePage.js +3 -1
  14. package/dist-lib/components/RuleEnginePage.d.ts.map +1 -1
  15. package/dist-lib/components/RuleEnginePage.js +7 -4
  16. package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts +2 -0
  17. package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts.map +1 -0
  18. package/dist-lib/components/rule-engine/FloridayConnectionBanner.js +41 -0
  19. package/dist-lib/components/rule-engine/RuleFieldInput.d.ts.map +1 -1
  20. package/dist-lib/components/rule-engine/RuleFieldInput.js +9 -0
  21. package/dist-lib/hooks/useRecalcJob.d.ts.map +1 -1
  22. package/dist-lib/hooks/useRecalcJob.js +26 -1
  23. package/dist-lib/hooks/useScannersPrinters.d.ts +11 -0
  24. package/dist-lib/hooks/useScannersPrinters.d.ts.map +1 -0
  25. package/dist-lib/hooks/useScannersPrinters.js +65 -0
  26. package/dist-lib/index.d.ts +2 -0
  27. package/dist-lib/index.d.ts.map +1 -1
  28. package/dist-lib/index.js +2 -0
  29. package/dist-lib/integrations/supabase/auth-middleware.d.ts +2063 -78
  30. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  31. package/dist-lib/integrations/supabase/client.d.ts +20293 -0
  32. package/dist-lib/integrations/supabase/client.d.ts.map +1 -0
  33. package/dist-lib/integrations/supabase/client.js +13 -0
  34. package/dist-lib/integrations/supabase/client.server.d.ts +2063 -78
  35. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  36. package/dist-lib/integrations/supabase/client.server.js +1 -1
  37. package/dist-lib/integrations/supabase/moduleClient.d.ts +2063 -78
  38. package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
  39. package/dist-lib/integrations/supabase/types.d.ts +2097 -68
  40. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  41. package/dist-lib/integrations/supabase/types.js +1 -0
  42. package/dist-lib/lib/attachAuthToken.d.ts +2 -0
  43. package/dist-lib/lib/attachAuthToken.d.ts.map +1 -0
  44. package/dist-lib/lib/attachAuthToken.js +50 -0
  45. package/dist-lib/lib/bufferMatching.d.ts.map +1 -1
  46. package/dist-lib/lib/bufferMatching.js +1 -0
  47. package/dist-lib/lib/cartPlanRequests.server.d.ts +13 -0
  48. package/dist-lib/lib/cartPlanRequests.server.d.ts.map +1 -0
  49. package/dist-lib/lib/cartPlanRequests.server.js +168 -0
  50. package/dist-lib/lib/controlScan.server.d.ts +12 -0
  51. package/dist-lib/lib/controlScan.server.d.ts.map +1 -0
  52. package/dist-lib/lib/controlScan.server.js +197 -0
  53. package/dist-lib/lib/dimensionData.server.d.ts +11 -1
  54. package/dist-lib/lib/dimensionData.server.d.ts.map +1 -1
  55. package/dist-lib/lib/dimensionData.server.js +58 -48
  56. package/dist-lib/lib/dimensionPlanner.d.ts +26 -1
  57. package/dist-lib/lib/dimensionPlanner.d.ts.map +1 -1
  58. package/dist-lib/lib/dimensionPlanner.js +37 -6
  59. package/dist-lib/lib/floridayDocuments.functions.d.ts +6240 -285
  60. package/dist-lib/lib/floridayDocuments.functions.d.ts.map +1 -1
  61. package/dist-lib/lib/floridayDocuments.functions.js +4 -3
  62. package/dist-lib/lib/floridayPush.functions.d.ts +2064 -79
  63. package/dist-lib/lib/floridayPush.functions.d.ts.map +1 -1
  64. package/dist-lib/lib/floridayPush.functions.js +2 -1
  65. package/dist-lib/lib/handlers/logistics-tick.server.d.ts.map +1 -1
  66. package/dist-lib/lib/handlers/logistics-tick.server.js +57 -0
  67. package/dist-lib/lib/loadCarrierPlanning.functions.d.ts +10302 -377
  68. package/dist-lib/lib/loadCarrierPlanning.functions.d.ts.map +1 -1
  69. package/dist-lib/lib/loadCarrierPlanning.functions.js +6 -5
  70. package/dist-lib/lib/loadCarrierPlanning.server.d.ts +42 -0
  71. package/dist-lib/lib/loadCarrierPlanning.server.d.ts.map +1 -1
  72. package/dist-lib/lib/loadCarrierPlanning.server.js +563 -31
  73. package/dist-lib/lib/logisticsPlanner.d.ts.map +1 -1
  74. package/dist-lib/lib/logisticsPlanner.js +24 -9
  75. package/dist-lib/lib/logisticsRecalcJob.functions.d.ts +4163 -193
  76. package/dist-lib/lib/logisticsRecalcJob.functions.d.ts.map +1 -1
  77. package/dist-lib/lib/logisticsRecalcJob.functions.js +3 -2
  78. package/dist-lib/lib/logisticsRecalcJob.server.d.ts.map +1 -1
  79. package/dist-lib/lib/logisticsRecalcJob.server.js +1 -0
  80. package/dist-lib/lib/logisticsRecalculate.functions.d.ts +2064 -79
  81. package/dist-lib/lib/logisticsRecalculate.functions.d.ts.map +1 -1
  82. package/dist-lib/lib/logisticsRecalculate.functions.js +3 -1
  83. package/dist-lib/lib/modulePrompts.d.ts.map +1 -1
  84. package/dist-lib/lib/modulePrompts.js +2560 -1586
  85. package/dist-lib/lib/planQueue.server.d.ts.map +1 -1
  86. package/dist-lib/lib/planQueue.server.js +6 -0
  87. package/dist-lib/lib/readableServerErrors.d.ts +2 -0
  88. package/dist-lib/lib/readableServerErrors.d.ts.map +1 -0
  89. package/dist-lib/lib/readableServerErrors.js +36 -0
  90. package/dist-lib/lib/ruleEngineSchema.d.ts +1 -1
  91. package/dist-lib/lib/ruleEngineSchema.d.ts.map +1 -1
  92. package/dist-lib/lib/ruleEngineSchema.js +72 -51
  93. package/dist-lib/lib/ruleEngineWizard.d.ts.map +1 -1
  94. package/dist-lib/lib/ruleEngineWizard.js +5 -6
  95. package/package.json +1 -1
@@ -3,9 +3,10 @@
3
3
  // ============================================================================
4
4
  import { createServerFn } from "@tanstack/react-start";
5
5
  import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware";
6
+ import { readableServerErrors } from "../lib/readableServerErrors";
6
7
  /** Zet een order opnieuw in de wachtrij (handmatig opnieuw proberen). */
7
8
  export const retryFloridayPush = createServerFn({ method: "POST" })
8
- .middleware([requireSupabaseAuth])
9
+ .middleware([readableServerErrors, requireSupabaseAuth])
9
10
  .inputValidator((data) => {
10
11
  if (!data || typeof data.orderRef !== "string" || data.orderRef.length === 0) {
11
12
  throw new Error("orderRef is verplicht");
@@ -1 +1 @@
1
- {"version":3,"file":"logistics-tick.server.d.ts","sourceRoot":"","sources":["../../../src/lib/handlers/logistics-tick.server.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,QAAQ,CAAC,CAqFnB"}
1
+ {"version":3,"file":"logistics-tick.server.d.ts","sourceRoot":"","sources":["../../../src/lib/handlers/logistics-tick.server.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,QAAQ,CAAC,CAkJnB"}
@@ -44,6 +44,17 @@ export async function handleLogisticsTick(request, supabase) {
44
44
  if (last.status !== "running")
45
45
  break;
46
46
  }
47
+ // Ophaalmomenten rollend bijwerken vanuit de klantinstellingen (vervoerders).
48
+ let pickupMoments = null;
49
+ try {
50
+ const { data, error } = await supabase.rpc("logistics_refresh_pickup_moments", {
51
+ p_weeks: 4,
52
+ });
53
+ pickupMoments = error ? { error: error.message } : data;
54
+ }
55
+ catch (e) {
56
+ pickupMoments = { error: String(e?.message ?? e) };
57
+ }
47
58
  // Wees-taken van verwijderde orders afsluiten, zodat elke module dezelfde
48
59
  // verzameling orders ziet (één waarheid).
49
60
  let orphans = null;
@@ -64,6 +75,16 @@ export async function handleLogisticsTick(request, supabase) {
64
75
  catch (e) {
65
76
  plan = { error: String(e?.message ?? e) };
66
77
  }
78
+ // Altijd ná de planning: die kan de pickwachtrij opnieuw vullen. Zo blijft
79
+ // per buffer alleen de vaste leidende regel over, ook na elke cron-run.
80
+ let bufferQueue = null;
81
+ try {
82
+ const { data, error } = await supabase.rpc("logistics_prune_buffer_member_queue");
83
+ bufferQueue = error ? { error: error.message } : data;
84
+ }
85
+ catch (e) {
86
+ bufferQueue = { error: String(e?.message ?? e) };
87
+ }
67
88
  // Floriday-pushwachtrij verwerken binnen dezelfde aanroep, met eigen marge.
68
89
  let push = null;
69
90
  try {
@@ -74,6 +95,37 @@ export async function handleLogisticsTick(request, supabase) {
74
95
  catch (e) {
75
96
  push = { error: String(e?.message ?? e) };
76
97
  }
98
+ // Controlepost: goedgekeurde scans afronden met de juiste afleverbrief.
99
+ let control = null;
100
+ try {
101
+ const { runControlScanQueue } = await import("../controlScan.server.js");
102
+ control = await runControlScanQueue(supabase, { limit: 10 });
103
+ }
104
+ catch (e) {
105
+ control = { error: String(e?.message ?? e) };
106
+ }
107
+ // Seintjes van de pickschermen: karplan ontbreekt. Direct oppakken.
108
+ let cartPlanRequests = null;
109
+ try {
110
+ const { runCartPlanRequests } = await import("../cartPlanRequests.server.js");
111
+ cartPlanRequests = await runCartPlanRequests(supabase, { limit: 20 });
112
+ }
113
+ catch (e) {
114
+ cartPlanRequests = { error: String(e?.message ?? e) };
115
+ }
116
+ // Barcodeverzoeken van de Layout maker: de Engine bepaalt de kar en levert
117
+ // de vaste barcode terug in het verzoek én in de printopdracht. Kan het
118
+ // niet, dan wordt het verzoek geannuleerd met een reden (fail closed).
119
+ let barcodes = null;
120
+ try {
121
+ const { data, error } = await supabase.rpc("logistics_fulfill_barcode_requests", {
122
+ p_limit: 100,
123
+ });
124
+ barcodes = error ? { error: error.message } : data;
125
+ }
126
+ catch (e) {
127
+ barcodes = { error: String(e?.message ?? e) };
128
+ }
77
129
  return Response.json({
78
130
  ok: true,
79
131
  ticks,
@@ -82,6 +134,11 @@ export async function handleLogisticsTick(request, supabase) {
82
134
  processed: last?.processed ?? 0,
83
135
  plan,
84
136
  orphans,
137
+ bufferQueue,
138
+ pickupMoments,
85
139
  push,
140
+ control,
141
+ barcodes,
142
+ cartPlanRequests,
86
143
  }, { headers: CORS_HEADERS });
87
144
  }