@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.
- package/README.md +24 -24
- package/dist-lib/components/AfmetingenBronnenCard.d.ts +2 -0
- package/dist-lib/components/AfmetingenBronnenCard.d.ts.map +1 -0
- package/dist-lib/components/AfmetingenBronnenCard.js +46 -0
- package/dist-lib/components/BufferDebugCard.d.ts.map +1 -1
- package/dist-lib/components/BufferDebugCard.js +6 -1
- package/dist-lib/components/ConsistentieCard.d.ts.map +1 -1
- package/dist-lib/components/ConsistentieCard.js +1 -1
- package/dist-lib/components/KarplanStatusCard.d.ts +2 -0
- package/dist-lib/components/KarplanStatusCard.d.ts.map +1 -0
- package/dist-lib/components/KarplanStatusCard.js +31 -0
- package/dist-lib/components/RegiePage.d.ts.map +1 -1
- package/dist-lib/components/RegiePage.js +3 -1
- package/dist-lib/components/RuleEnginePage.d.ts.map +1 -1
- package/dist-lib/components/RuleEnginePage.js +7 -4
- package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts +2 -0
- package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts.map +1 -0
- package/dist-lib/components/rule-engine/FloridayConnectionBanner.js +41 -0
- package/dist-lib/components/rule-engine/RuleFieldInput.d.ts.map +1 -1
- package/dist-lib/components/rule-engine/RuleFieldInput.js +9 -0
- package/dist-lib/hooks/useRecalcJob.d.ts.map +1 -1
- package/dist-lib/hooks/useRecalcJob.js +26 -1
- package/dist-lib/hooks/useScannersPrinters.d.ts +11 -0
- package/dist-lib/hooks/useScannersPrinters.d.ts.map +1 -0
- package/dist-lib/hooks/useScannersPrinters.js +65 -0
- package/dist-lib/index.d.ts +2 -0
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +2 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +2063 -78
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +20293 -0
- package/dist-lib/integrations/supabase/client.d.ts.map +1 -0
- package/dist-lib/integrations/supabase/client.js +13 -0
- package/dist-lib/integrations/supabase/client.server.d.ts +2063 -78
- 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 +2063 -78
- package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +2097 -68
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.js +1 -0
- package/dist-lib/lib/attachAuthToken.d.ts +2 -0
- package/dist-lib/lib/attachAuthToken.d.ts.map +1 -0
- package/dist-lib/lib/attachAuthToken.js +50 -0
- package/dist-lib/lib/bufferMatching.d.ts.map +1 -1
- package/dist-lib/lib/bufferMatching.js +1 -0
- package/dist-lib/lib/cartPlanRequests.server.d.ts +13 -0
- package/dist-lib/lib/cartPlanRequests.server.d.ts.map +1 -0
- package/dist-lib/lib/cartPlanRequests.server.js +168 -0
- package/dist-lib/lib/controlScan.server.d.ts +12 -0
- package/dist-lib/lib/controlScan.server.d.ts.map +1 -0
- package/dist-lib/lib/controlScan.server.js +197 -0
- package/dist-lib/lib/dimensionData.server.d.ts +11 -1
- package/dist-lib/lib/dimensionData.server.d.ts.map +1 -1
- package/dist-lib/lib/dimensionData.server.js +58 -48
- package/dist-lib/lib/dimensionPlanner.d.ts +26 -1
- package/dist-lib/lib/dimensionPlanner.d.ts.map +1 -1
- package/dist-lib/lib/dimensionPlanner.js +37 -6
- package/dist-lib/lib/floridayDocuments.functions.d.ts +6240 -285
- package/dist-lib/lib/floridayDocuments.functions.d.ts.map +1 -1
- package/dist-lib/lib/floridayDocuments.functions.js +4 -3
- package/dist-lib/lib/floridayPush.functions.d.ts +2064 -79
- package/dist-lib/lib/floridayPush.functions.d.ts.map +1 -1
- package/dist-lib/lib/floridayPush.functions.js +2 -1
- package/dist-lib/lib/handlers/logistics-tick.server.d.ts.map +1 -1
- package/dist-lib/lib/handlers/logistics-tick.server.js +57 -0
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts +10302 -377
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanning.functions.js +6 -5
- package/dist-lib/lib/loadCarrierPlanning.server.d.ts +42 -0
- package/dist-lib/lib/loadCarrierPlanning.server.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanning.server.js +563 -31
- package/dist-lib/lib/logisticsPlanner.d.ts.map +1 -1
- package/dist-lib/lib/logisticsPlanner.js +24 -9
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts +4163 -193
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalcJob.functions.js +3 -2
- package/dist-lib/lib/logisticsRecalcJob.server.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalcJob.server.js +1 -0
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts +2064 -79
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalculate.functions.js +3 -1
- package/dist-lib/lib/modulePrompts.d.ts.map +1 -1
- package/dist-lib/lib/modulePrompts.js +2560 -1586
- package/dist-lib/lib/planQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/planQueue.server.js +6 -0
- package/dist-lib/lib/readableServerErrors.d.ts +2 -0
- package/dist-lib/lib/readableServerErrors.d.ts.map +1 -0
- package/dist-lib/lib/readableServerErrors.js +36 -0
- package/dist-lib/lib/ruleEngineSchema.d.ts +1 -1
- package/dist-lib/lib/ruleEngineSchema.d.ts.map +1 -1
- package/dist-lib/lib/ruleEngineSchema.js +72 -51
- package/dist-lib/lib/ruleEngineWizard.d.ts.map +1 -1
- package/dist-lib/lib/ruleEngineWizard.js +5 -6
- 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,
|
|
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
|
}
|