@flowselections/logistiek-engine 1.0.53 → 1.0.90
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/AfrondWachtrijCard.d.ts +2 -0
- package/dist-lib/components/AfrondWachtrijCard.d.ts.map +1 -0
- package/dist-lib/components/AfrondWachtrijCard.js +27 -0
- package/dist-lib/components/BeladingsafwijkingenCard.d.ts +2 -0
- package/dist-lib/components/BeladingsafwijkingenCard.d.ts.map +1 -0
- package/dist-lib/components/BeladingsafwijkingenCard.js +44 -0
- package/dist-lib/components/FlowCanvas.d.ts +6 -0
- package/dist-lib/components/FlowCanvas.d.ts.map +1 -1
- package/dist-lib/components/FlowCanvas.js +79 -18
- package/dist-lib/components/FlowOrders.d.ts.map +1 -1
- package/dist-lib/components/FlowOrders.js +59 -13
- package/dist-lib/components/FlowPage.d.ts.map +1 -1
- package/dist-lib/components/FlowPage.js +175 -6
- package/dist-lib/components/GeblokkeerdeOrdersCard.d.ts.map +1 -1
- package/dist-lib/components/GeblokkeerdeOrdersCard.js +21 -2
- package/dist-lib/components/KardekkingCard.d.ts +2 -0
- package/dist-lib/components/KardekkingCard.d.ts.map +1 -0
- package/dist-lib/components/KardekkingCard.js +29 -0
- package/dist-lib/components/LogistiekEnginePage.d.ts.map +1 -1
- package/dist-lib/components/LogistiekEnginePage.js +7 -1
- package/dist-lib/components/LogistiekEngineQueuePage.d.ts.map +1 -1
- package/dist-lib/components/LogistiekEngineQueuePage.js +4 -2
- package/dist-lib/components/NodeTracePanel.d.ts +4 -1
- package/dist-lib/components/NodeTracePanel.d.ts.map +1 -1
- package/dist-lib/components/NodeTracePanel.js +8 -2
- package/dist-lib/components/OrderStopBanner.d.ts +9 -2
- package/dist-lib/components/OrderStopBanner.d.ts.map +1 -1
- package/dist-lib/components/OrderStopBanner.js +27 -13
- package/dist-lib/components/OrderTraceDetails.d.ts.map +1 -1
- package/dist-lib/components/OrderTraceDetails.js +2 -1
- package/dist-lib/components/PlanWachtrijPage.d.ts +2 -0
- package/dist-lib/components/PlanWachtrijPage.d.ts.map +1 -0
- package/dist-lib/components/PlanWachtrijPage.js +99 -0
- package/dist-lib/components/PlannerDiffCard.d.ts +2 -0
- package/dist-lib/components/PlannerDiffCard.d.ts.map +1 -0
- package/dist-lib/components/PlannerDiffCard.js +25 -0
- package/dist-lib/components/RegiePage.d.ts.map +1 -1
- package/dist-lib/components/RegiePage.js +21 -13
- package/dist-lib/components/TaakGezondheidCard.d.ts +2 -0
- package/dist-lib/components/TaakGezondheidCard.d.ts.map +1 -0
- package/dist-lib/components/TaakGezondheidCard.js +31 -0
- package/dist-lib/hooks/useAfrondWachtrij.d.ts +28 -0
- package/dist-lib/hooks/useAfrondWachtrij.d.ts.map +1 -0
- package/dist-lib/hooks/useAfrondWachtrij.js +88 -0
- package/dist-lib/hooks/useBeladingsafwijkingen.d.ts +39 -0
- package/dist-lib/hooks/useBeladingsafwijkingen.d.ts.map +1 -0
- package/dist-lib/hooks/useBeladingsafwijkingen.js +119 -0
- package/dist-lib/hooks/useGeblokkeerdeOrders.d.ts +7 -0
- package/dist-lib/hooks/useGeblokkeerdeOrders.d.ts.map +1 -1
- package/dist-lib/hooks/useGeblokkeerdeOrders.js +28 -2
- package/dist-lib/hooks/useLogisticsTrace.js +1 -1
- package/dist-lib/hooks/useOrderTrace.js +1 -1
- package/dist-lib/hooks/useOrderVersies.d.ts.map +1 -1
- package/dist-lib/hooks/useOrderVersies.js +17 -3
- package/dist-lib/hooks/usePlanWachtrij.d.ts +33 -0
- package/dist-lib/hooks/usePlanWachtrij.d.ts.map +1 -0
- package/dist-lib/hooks/usePlanWachtrij.js +104 -0
- package/dist-lib/hooks/useRecalcJob.js +1 -1
- package/dist-lib/hooks/useShippingNoteDiagnose.d.ts +20 -0
- package/dist-lib/hooks/useShippingNoteDiagnose.d.ts.map +1 -0
- package/dist-lib/hooks/useShippingNoteDiagnose.js +52 -0
- package/dist-lib/hooks/useTaakGezondheid.d.ts +16 -0
- package/dist-lib/hooks/useTaakGezondheid.d.ts.map +1 -0
- package/dist-lib/hooks/useTaakGezondheid.js +43 -0
- package/dist-lib/hooks/useWerktijden.js +1 -1
- package/dist-lib/hooks/useWerkwijzeStatus.js +1 -1
- package/dist-lib/index.d.ts +10 -0
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +10 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +3147 -159
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +3147 -159
- 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 +3147 -159
- package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/previewAuthStorage.d.ts +1 -1
- package/dist-lib/integrations/supabase/previewAuthStorage.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/previewAuthStorage.js +8 -1
- package/dist-lib/integrations/supabase/types.d.ts +3183 -161
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/attachAuthToken.js +1 -1
- package/dist-lib/lib/bufferDecision.test.d.ts +2 -0
- package/dist-lib/lib/bufferDecision.test.d.ts.map +1 -0
- package/dist-lib/lib/bufferDecision.test.js +104 -0
- package/dist-lib/lib/cartCoverage.functions.d.ts +30820 -0
- package/dist-lib/lib/cartCoverage.functions.d.ts.map +1 -0
- package/dist-lib/lib/cartCoverage.functions.js +20 -0
- package/dist-lib/lib/floridayDocuments.functions.d.ts +8979 -15
- package/dist-lib/lib/floridayDocuments.functions.d.ts.map +1 -1
- package/dist-lib/lib/floridayDocuments.functions.js +5 -5
- package/dist-lib/lib/floridayPush.functions.d.ts +3147 -159
- package/dist-lib/lib/floridayPush.functions.d.ts.map +1 -1
- package/dist-lib/lib/floridayPush.functions.js +3 -3
- package/dist-lib/lib/flowJourney.d.ts +40 -0
- package/dist-lib/lib/flowJourney.d.ts.map +1 -0
- package/dist-lib/lib/flowJourney.js +156 -0
- package/dist-lib/lib/flowNodes.d.ts +3 -0
- package/dist-lib/lib/flowNodes.d.ts.map +1 -1
- package/dist-lib/lib/flowNodes.js +6 -0
- package/dist-lib/lib/flowRoute.d.ts +11 -1
- package/dist-lib/lib/flowRoute.d.ts.map +1 -1
- package/dist-lib/lib/flowRoute.js +343 -40
- package/dist-lib/lib/flowTree.d.ts +86 -1
- package/dist-lib/lib/flowTree.d.ts.map +1 -1
- package/dist-lib/lib/flowTree.js +391 -2
- package/dist-lib/lib/foutTekst.d.ts +4 -0
- package/dist-lib/lib/foutTekst.d.ts.map +1 -0
- package/dist-lib/lib/foutTekst.js +43 -0
- package/dist-lib/lib/handlers/logistics-tick.server.d.ts +2 -0
- package/dist-lib/lib/handlers/logistics-tick.server.d.ts.map +1 -1
- package/dist-lib/lib/handlers/logistics-tick.server.js +56 -0
- package/dist-lib/lib/handlers/logistics-tick.test.d.ts +2 -0
- package/dist-lib/lib/handlers/logistics-tick.test.d.ts.map +1 -0
- package/dist-lib/lib/handlers/logistics-tick.test.js +63 -0
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts +14965 -25
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanning.functions.js +7 -7
- package/dist-lib/lib/loadCarrierPlanning.server.d.ts +24 -12
- package/dist-lib/lib/loadCarrierPlanning.server.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanning.server.js +490 -211
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts +5986 -10
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalcJob.functions.js +4 -4
- package/dist-lib/lib/logisticsRecalcJob.server.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalcJob.server.js +17 -2
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts +3147 -159
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalculate.functions.js +2 -2
- package/dist-lib/lib/modulePrompts.d.ts.map +1 -1
- package/dist-lib/lib/modulePrompts.js +3436 -3325
- package/dist-lib/lib/nodeTrace.d.ts +4 -0
- package/dist-lib/lib/nodeTrace.d.ts.map +1 -1
- package/dist-lib/lib/nodeTrace.js +6 -15
- package/dist-lib/lib/planQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/planQueue.server.js +24 -3
- package/dist-lib/lib/plannerDiff.d.ts +37 -0
- package/dist-lib/lib/plannerDiff.d.ts.map +1 -0
- package/dist-lib/lib/plannerDiff.functions.d.ts +30821 -0
- package/dist-lib/lib/plannerDiff.functions.d.ts.map +1 -0
- package/dist-lib/lib/plannerDiff.functions.js +21 -0
- package/dist-lib/lib/plannerDiff.js +74 -0
- package/dist-lib/lib/plannerDiff.server.d.ts +5 -0
- package/dist-lib/lib/plannerDiff.server.d.ts.map +1 -0
- package/dist-lib/lib/plannerDiff.server.js +60 -0
- package/dist-lib/lib/plannerDiff.test.d.ts +2 -0
- package/dist-lib/lib/plannerDiff.test.d.ts.map +1 -0
- package/dist-lib/lib/plannerDiff.test.js +41 -0
- package/dist-lib/lib/resolveBuffer.test.d.ts +2 -0
- package/dist-lib/lib/resolveBuffer.test.d.ts.map +1 -0
- package/dist-lib/lib/resolveBuffer.test.js +38 -0
- package/dist-lib/lib/ruleEngineSchema.d.ts.map +1 -1
- package/dist-lib/lib/ruleEngineSchema.js +52 -0
- package/dist-lib/lib/stopReden.d.ts +43 -0
- package/dist-lib/lib/stopReden.d.ts.map +1 -0
- package/dist-lib/lib/stopReden.js +197 -0
- package/dist-lib/lib/taskCounts.d.ts +2 -0
- package/dist-lib/lib/taskCounts.d.ts.map +1 -0
- package/dist-lib/lib/taskCounts.js +15 -0
- package/dist-lib/lib/taskCounts.test.d.ts +2 -0
- package/dist-lib/lib/taskCounts.test.d.ts.map +1 -0
- package/dist-lib/lib/taskCounts.test.js +12 -0
- package/dist-lib/lib/trace.server.d.ts.map +1 -1
- package/dist-lib/lib/trace.server.js +3 -0
- package/dist-lib/lib/vakUitleg.d.ts.map +1 -1
- package/dist-lib/lib/vakUitleg.js +2 -1
- package/package.json +12 -9
|
@@ -12,6 +12,8 @@ export interface NodeTraceGroep {
|
|
|
12
12
|
reden: string | null;
|
|
13
13
|
errorClass: string | null;
|
|
14
14
|
volgendeStap: string | null;
|
|
15
|
+
/** Auditpunt 5: dit vakje staat niet in het logboek, maar is uit de kaart afgeleid. */
|
|
16
|
+
afgeleid?: boolean;
|
|
15
17
|
}
|
|
16
18
|
/** Terugval voor oude gebeurtenissen zonder vastgelegd vakje. */
|
|
17
19
|
export declare function gokNode(e: TraceEventRow): string | null;
|
|
@@ -31,6 +33,8 @@ export interface VakSamenvatting {
|
|
|
31
33
|
values?: Record<string, unknown>;
|
|
32
34
|
} | null;
|
|
33
35
|
volgendeStap: string | null;
|
|
36
|
+
/** Auditpunt 5: dit vakje staat niet in het logboek, maar is uit de kaart afgeleid. */
|
|
37
|
+
afgeleid?: boolean;
|
|
34
38
|
fout: string | null;
|
|
35
39
|
errorClass: string | null;
|
|
36
40
|
pogingen: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeTrace.d.ts","sourceRoot":"","sources":["../../src/lib/nodeTrace.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,cAAc,GAAG,SAAS,CAAC;AAE/F,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"nodeTrace.d.ts","sourceRoot":"","sources":["../../src/lib/nodeTrace.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGhE,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,cAAc,GAAG,SAAS,CAAC;AAE/F,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAGD,iEAAiE;AACjE,wBAAgB,OAAO,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAwBvD;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CA+CvG;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,cAAc,EAAE,CAMnF;AAMD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE;QACV,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,GAAG,IAAI,CAAC;IACT,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,4FAA4F;AAC5F,wBAAgB,aAAa,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAEvD;AAQD,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CA8BlE;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5B,+DAA+D;IAC/D,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,EAAE,CAuC5F"}
|
|
@@ -6,13 +6,6 @@
|
|
|
6
6
|
// Alleen lezen: hier wordt niets bepaald, alleen gegroepeerd.
|
|
7
7
|
// ============================================================================
|
|
8
8
|
import { FLOW_NODE } from "./flowNodes";
|
|
9
|
-
const ERNST = {
|
|
10
|
-
geslaagd: 0,
|
|
11
|
-
overgeslagen: 0,
|
|
12
|
-
waarschuwing: 1,
|
|
13
|
-
wachtend: 2,
|
|
14
|
-
mislukt: 3,
|
|
15
|
-
};
|
|
16
9
|
/** Terugval voor oude gebeurtenissen zonder vastgelegd vakje. */
|
|
17
10
|
export function gokNode(e) {
|
|
18
11
|
if (e.nodeId)
|
|
@@ -87,14 +80,12 @@ export function groepeerPerNode(events) {
|
|
|
87
80
|
groep.duurMs = totaal > 0 ? totaal : null;
|
|
88
81
|
groep.pogingen = groep.events.reduce((m, e) => Math.max(m, e.attempts ?? 0), 0);
|
|
89
82
|
groep.volgendeStap = laatsteEvent?.nextStep ?? null;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
groep.
|
|
96
|
-
groep.reden = ergste?.reason ?? ergste?.error ?? ergste?.decision ?? laatsteEvent?.reason ?? null;
|
|
97
|
-
groep.errorClass = ergste?.errorClass ?? null;
|
|
83
|
+
// De laatste registratie bepaalt de stand: een vakje dat eerst wachtte en
|
|
84
|
+
// daarna is afgerond, is afgerond. Een latere "wachtend" blijft wachtend.
|
|
85
|
+
const bepalend = laatsteEvent ?? groep.events[0];
|
|
86
|
+
groep.status = bepalend?.status ?? "geslaagd";
|
|
87
|
+
groep.reden = bepalend?.reason ?? bepalend?.error ?? bepalend?.decision ?? null;
|
|
88
|
+
groep.errorClass = bepalend?.errorClass ?? null;
|
|
98
89
|
}
|
|
99
90
|
return map;
|
|
100
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/planQueue.server.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"planQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/planQueue.server.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,2FAA2F;IAC3F,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAwBD,wFAAwF;AACxF,wBAAsB,YAAY,CAChC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC3D,OAAO,CAAC,eAAe,CAAC,CAwQ1B;AAmDD,4EAA4E;AAE5E,wBAAsB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtE"}
|
|
@@ -11,6 +11,7 @@ import { replanBufferInternal, replanOrderInternal } from "./loadCarrierPlanning
|
|
|
11
11
|
import { attachIndelingToTasks } from "./loadCarrierTaskSync.server.js";
|
|
12
12
|
import { trace, newTraceId, classifyError } from "./trace.server.js";
|
|
13
13
|
import { FLOW_NODE } from "./flowNodes.js";
|
|
14
|
+
import { completePlannerDiffRuns, skipPlannerDiffRuns } from "./plannerDiff.server.js";
|
|
14
15
|
const EMPTY = {
|
|
15
16
|
claimed: 0,
|
|
16
17
|
planned: 0,
|
|
@@ -72,7 +73,8 @@ export async function runPlanQueue(sb, options = {}) {
|
|
|
72
73
|
};
|
|
73
74
|
if (Date.now() > deadlineAt) {
|
|
74
75
|
// Teruggeven aan de wachtrij; de volgende ronde pakt hem weer op.
|
|
75
|
-
|
|
76
|
+
// Doorschuiven is geen mislukking: geen extra poging, geen foutmelding.
|
|
77
|
+
await sb.rpc("logistics_plan_defer", { p_id: row.id });
|
|
76
78
|
await trace(sb, {
|
|
77
79
|
...basis,
|
|
78
80
|
step: "Indelen uitgesteld",
|
|
@@ -223,9 +225,15 @@ export async function runPlanQueue(sb, options = {}) {
|
|
|
223
225
|
}
|
|
224
226
|
}
|
|
225
227
|
// De blokkade zet de wachtrijregel zelf al op 'geblokkeerd'; die mag niet
|
|
226
|
-
// alsnog als afgerond worden weggeschreven.
|
|
227
|
-
|
|
228
|
+
// alsnog als afgerond worden weggeschreven. Een wachtende vergelijking
|
|
229
|
+
// krijgt geen "na"-stand en wordt daarom als overgeslagen afgesloten.
|
|
230
|
+
if (blocked) {
|
|
231
|
+
const skipWarnings = await skipPlannerDiffRuns(sb, [row.order_id, ...group.map((g) => g.order_id)].filter(Boolean), "Indeling geblokkeerd; geen nieuwe karindeling om mee te vergelijken.").catch((e) => [String(e)]);
|
|
232
|
+
for (const w of skipWarnings)
|
|
233
|
+
if (result.errors.length < 10)
|
|
234
|
+
result.errors.push(w);
|
|
228
235
|
continue;
|
|
236
|
+
}
|
|
229
237
|
// Orders zonder taken krijgen een order.received-event, zodat de
|
|
230
238
|
// taakdispatcher er taken van maakt.
|
|
231
239
|
for (const g of group.length > 0 ? group : [{ order_id: row.order_id }]) {
|
|
@@ -233,6 +241,11 @@ export async function runPlanQueue(sb, options = {}) {
|
|
|
233
241
|
continue;
|
|
234
242
|
await sb.rpc("logistics_plan_ensure_event", { p_order_id: g.order_id });
|
|
235
243
|
}
|
|
244
|
+
// Dry-run: vergelijking oud/nieuw wegschrijven (alleen als er een momentopname wacht).
|
|
245
|
+
const diffWarnings = await completePlannerDiffRuns(sb, [row.order_id, ...group.map((g) => g.order_id)].filter(Boolean)).catch((e) => [String(e)]);
|
|
246
|
+
for (const w of diffWarnings)
|
|
247
|
+
if (result.errors.length < 10)
|
|
248
|
+
result.errors.push(w);
|
|
236
249
|
await sb.rpc("logistics_plan_finish", { p_id: row.id, p_error: null });
|
|
237
250
|
}
|
|
238
251
|
catch (err) {
|
|
@@ -275,6 +288,9 @@ async function runDayLevelSteps(sb, dates, result) {
|
|
|
275
288
|
{ fn: "logistics_prune_buffer_member_queue", args: {} },
|
|
276
289
|
{ fn: "logistics_apply_document_layouts", args: {} },
|
|
277
290
|
{ fn: "logistics_capacity_day_check", args: { p_from: from, p_to: to >= from ? to : from } },
|
|
291
|
+
// Legt per order vast waar hij in de flow staat (vrijgave, pickstation,
|
|
292
|
+
// picken, controle, afgehandeld). Alleen meekijkend.
|
|
293
|
+
{ fn: "logistics_trace_progress", args: { p_limit: 200 } },
|
|
278
294
|
];
|
|
279
295
|
for (const call of calls) {
|
|
280
296
|
const { error } = await sb.rpc(call.fn, call.args);
|
|
@@ -293,6 +309,11 @@ async function syncPickQueue(sb, result) {
|
|
|
293
309
|
if (pruneError && result.errors.length < 10) {
|
|
294
310
|
result.errors.push(`logistics_prune_buffer_member_queue: ${pruneError.message}`);
|
|
295
311
|
}
|
|
312
|
+
// Ook zonder nieuwe planning schuift de reis van bestaande orders door.
|
|
313
|
+
const { error: traceError } = await sb.rpc("logistics_trace_progress", { p_limit: 200 });
|
|
314
|
+
if (traceError && result.errors.length < 10) {
|
|
315
|
+
result.errors.push(`logistics_trace_progress: ${traceError.message}`);
|
|
316
|
+
}
|
|
296
317
|
}
|
|
297
318
|
/** Ruimt afgeronde wachtrijrijen op volgens de ingestelde bewaartermijn. */
|
|
298
319
|
export async function prunePlanQueue(sb) {
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface SnapshotItem {
|
|
2
|
+
orderItemId: string | null;
|
|
3
|
+
crates: number | string | null;
|
|
4
|
+
}
|
|
5
|
+
export interface SnapshotCart {
|
|
6
|
+
cartId?: string;
|
|
7
|
+
cartNumber: number | null;
|
|
8
|
+
bufferId?: string | null;
|
|
9
|
+
orderId?: string | null;
|
|
10
|
+
items: SnapshotItem[];
|
|
11
|
+
}
|
|
12
|
+
export interface PlannerDiffResult {
|
|
13
|
+
identical: boolean;
|
|
14
|
+
cartsBefore: number;
|
|
15
|
+
cartsAfter: number;
|
|
16
|
+
differences: Array<{
|
|
17
|
+
cartNumber: number | null;
|
|
18
|
+
before: string | null;
|
|
19
|
+
after: string | null;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
export declare function compareSnapshots(before: unknown, after: unknown): PlannerDiffResult;
|
|
23
|
+
/** Overzicht: laatste vergelijking per buffer. 'wachtend' en 'overgeslagen' tellen niet als vergeleken of afwijkend. */
|
|
24
|
+
export declare function summarizeDiffRuns<T extends {
|
|
25
|
+
buffer_id: string | null;
|
|
26
|
+
order_ref: string | null;
|
|
27
|
+
status: string;
|
|
28
|
+
identical: boolean | null;
|
|
29
|
+
}>(rows: T[]): {
|
|
30
|
+
totaal: number;
|
|
31
|
+
identiek: number;
|
|
32
|
+
afwijkend: number;
|
|
33
|
+
mislukt: number;
|
|
34
|
+
overgeslagen: number;
|
|
35
|
+
afwijkingen: T[];
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=plannerDiff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plannerDiff.d.ts","sourceRoot":"","sources":["../../src/lib/plannerDiff.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAChC;AACD,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AACD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CAChG;AAiBD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAyBnF;AAED,wHAAwH;AACxH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAA;CAAE,EAC3I,IAAI,EAAE,CAAC,EAAE;;;;;;;EAsBV"}
|