@flowselections/logistiek-engine 1.0.238 → 1.0.240
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/db/schema/logistiek-engine.sql +2435 -10
- package/dist-lib/components/GeblokkeerdeOrdersCard.d.ts.map +1 -1
- package/dist-lib/components/GeblokkeerdeOrdersCard.js +2 -2
- package/dist-lib/components/KarplanStatusCard.d.ts.map +1 -1
- package/dist-lib/components/KarplanStatusCard.js +7 -2
- package/dist-lib/components/StandaardgegevensCard.d.ts.map +1 -1
- package/dist-lib/components/StandaardgegevensCard.js +64 -3
- package/dist-lib/components/TaakGezondheidCard.d.ts.map +1 -1
- package/dist-lib/components/TaakGezondheidCard.js +5 -3
- package/dist-lib/hooks/useGeblokkeerdeOrders.d.ts +2 -0
- package/dist-lib/hooks/useGeblokkeerdeOrders.d.ts.map +1 -1
- package/dist-lib/hooks/useGeblokkeerdeOrders.js +13 -0
- package/dist-lib/integrations/supabase/previewAuthStorage.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/previewAuthStorage.js +2 -1
- package/dist-lib/integrations/supabase/types.d.ts +1080 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/engineStatusTeksten.d.ts +7 -0
- package/dist-lib/lib/engineStatusTeksten.d.ts.map +1 -0
- package/dist-lib/lib/engineStatusTeksten.js +22 -0
- package/dist-lib/lib/flowTree.js +3 -3
- package/dist-lib/lib/moduleVersion.d.ts +1 -1
- package/dist-lib/lib/moduleVersion.js +1 -1
- package/dist-lib/lib/ruleEngineSchema.js +2 -2
- package/dist-lib/lib/taakTeLaat.d.ts +7 -0
- package/dist-lib/lib/taakTeLaat.d.ts.map +1 -0
- package/dist-lib/lib/taakTeLaat.js +62 -0
- package/package.json +1 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Schemaversie die deze moduleversie verwacht (gelijk aan logistics_schema_versie()). */
|
|
2
|
+
export declare const VERWACHTE_SCHEMA_VERSIE = "2026-11-10b";
|
|
3
|
+
/** True als de database ouder is dan de module (geen of oudere versiemarkering). */
|
|
4
|
+
export declare function schemaVersieOud(versie: string | null | undefined): boolean;
|
|
5
|
+
/** "X leeg (Pickmodule)" -> "X ontbreken: de Pickschermen-module moet worden bijgewerkt." */
|
|
6
|
+
export declare function meldingGewoneTaal(m: string): string;
|
|
7
|
+
//# sourceMappingURL=engineStatusTeksten.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engineStatusTeksten.d.ts","sourceRoot":"","sources":["../../src/lib/engineStatusTeksten.ts"],"names":[],"mappings":"AAEA,0FAA0F;AAC1F,eAAO,MAAM,uBAAuB,gBAAgB,CAAC;AAErD,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAG1E;AAQD,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKnD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Teksten voor de Engine-status in gewone taal.
|
|
2
|
+
/** Schemaversie die deze moduleversie verwacht (gelijk aan logistics_schema_versie()). */
|
|
3
|
+
export const VERWACHTE_SCHEMA_VERSIE = "2026-11-10b";
|
|
4
|
+
/** True als de database ouder is dan de module (geen of oudere versiemarkering). */
|
|
5
|
+
export function schemaVersieOud(versie) {
|
|
6
|
+
if (!versie)
|
|
7
|
+
return true;
|
|
8
|
+
return versie < VERWACHTE_SCHEMA_VERSIE;
|
|
9
|
+
}
|
|
10
|
+
const MODULE_NAAM = {
|
|
11
|
+
Pickmodule: "Pickschermen-module",
|
|
12
|
+
Verkoop: "Verkoop-module",
|
|
13
|
+
Voorraad: "Voorraad-module",
|
|
14
|
+
};
|
|
15
|
+
/** "X leeg (Pickmodule)" -> "X ontbreken: de Pickschermen-module moet worden bijgewerkt." */
|
|
16
|
+
export function meldingGewoneTaal(m) {
|
|
17
|
+
const r = /^(.*?)\s+leeg\s+\(([^)]+)\)\s*$/.exec(String(m ?? ""));
|
|
18
|
+
if (!r)
|
|
19
|
+
return m;
|
|
20
|
+
const module = MODULE_NAAM[r[2]] ?? `${r[2]}-module`;
|
|
21
|
+
return `${r[1]} ontbreken: de ${module} moet worden bijgewerkt.`;
|
|
22
|
+
}
|
package/dist-lib/lib/flowTree.js
CHANGED
|
@@ -204,20 +204,20 @@ export function buildFlowTree(settings, overrides) {
|
|
|
204
204
|
}
|
|
205
205
|
// ── Floriday: bestelregels eerst samenvoegen tot één bestelling ────────────
|
|
206
206
|
const ovFields = (veilig["order_verwerking"]?.fields ?? {});
|
|
207
|
-
const samenvoegenAan = ovFields["floriday_merge_lines"]
|
|
207
|
+
const samenvoegenAan = ovFields["floriday_merge_lines"] === true;
|
|
208
208
|
add({
|
|
209
209
|
id: "stap:bestelregels_samenvoegen",
|
|
210
210
|
kind: "step",
|
|
211
211
|
label: "Bestelregels samenvoegen",
|
|
212
212
|
sublabel: samenvoegenAan
|
|
213
|
-
? "aan —
|
|
213
|
+
? "aan — orders van dezelfde klant, leverdag, afleverlocatie en ophaalmoment worden samen gepickt"
|
|
214
214
|
: "uit — elke Floriday-regel blijft een eigen order",
|
|
215
215
|
state: samenvoegenAan ? "active" : "disabled",
|
|
216
216
|
storeId: "order_verwerking",
|
|
217
217
|
fieldKeys: ["floriday_merge_lines"],
|
|
218
218
|
lines: [
|
|
219
219
|
samenvoegenAan
|
|
220
|
-
? "Samenvoegen: aan (zelfde klant,
|
|
220
|
+
? "Samenvoegen: aan (zelfde klant, leverdag, afleverlocatie en ophaalmoment)"
|
|
221
221
|
: "Samenvoegen: uit",
|
|
222
222
|
"Laagste FO-nummer blijft het ordernummer",
|
|
223
223
|
"Al ingedeelde, geprinte of gecontroleerde orders blijven ongewijzigd",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const MODULE_VERSION = "1.0.
|
|
1
|
+
export declare const MODULE_VERSION = "1.0.240";
|
|
2
2
|
//# sourceMappingURL=moduleVersion.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Automatisch gegenereerd door prebuild:lib; niet handmatig aanpassen.
|
|
2
|
-
export const MODULE_VERSION = "1.0.
|
|
2
|
+
export const MODULE_VERSION = "1.0.240";
|
|
@@ -39,8 +39,8 @@ export const RULE_STEPS = [
|
|
|
39
39
|
key: "floriday_merge_lines",
|
|
40
40
|
label: "Floriday-bestelregels samenvoegen tot \u00e9\u00e9n bestelling",
|
|
41
41
|
type: "toggle",
|
|
42
|
-
default:
|
|
43
|
-
description: "
|
|
42
|
+
default: false,
|
|
43
|
+
description: "Orders van dezelfde klant, leverdag, afleverlocatie en ophaalmoment worden samen gepickt.",
|
|
44
44
|
},
|
|
45
45
|
],
|
|
46
46
|
},
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Interval in minuten voor gangbare cronschema's; null als onbekend. */
|
|
2
|
+
export declare function intervalMinuten(schema: string): number | null;
|
|
3
|
+
/** True als de taak langer dan 2x zijn interval niet draaide. */
|
|
4
|
+
export declare function taakTeLaat(laatsteStart: string | null, schema: string, nu?: number): boolean;
|
|
5
|
+
/** Foutmelding van een taak in gewone taal. */
|
|
6
|
+
export declare function taakFoutGewoneTaal(bericht: string | null): string | null;
|
|
7
|
+
//# sourceMappingURL=taakTeLaat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taakTeLaat.d.ts","sourceRoot":"","sources":["../../src/lib/taakTeLaat.ts"],"names":[],"mappings":"AAEA,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqB7D;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAE,MAAmB,GAAG,OAAO,CAOxG;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAcxE"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// Bewaking geplande taken: interval uit het cronschema en "te laat" (> 2x interval).
|
|
2
|
+
/** Interval in minuten voor gangbare cronschema's; null als onbekend. */
|
|
3
|
+
export function intervalMinuten(schema) {
|
|
4
|
+
const s = String(schema ?? "").trim();
|
|
5
|
+
const sec = /^(\d+)\s*seconds?$/i.exec(s);
|
|
6
|
+
if (sec)
|
|
7
|
+
return Math.max(1, Number(sec[1]) / 60);
|
|
8
|
+
const d = s.split(/\s+/);
|
|
9
|
+
if (d.length !== 5)
|
|
10
|
+
return null;
|
|
11
|
+
const [min, uur, dag, maand, wd] = d;
|
|
12
|
+
const rest = dag === "*" && maand === "*" && wd === "*";
|
|
13
|
+
if (!rest)
|
|
14
|
+
return null;
|
|
15
|
+
if (uur === "*") {
|
|
16
|
+
if (min === "*")
|
|
17
|
+
return 1;
|
|
18
|
+
const m = /^\*\/(\d+)$/.exec(min);
|
|
19
|
+
if (m)
|
|
20
|
+
return Number(m[1]);
|
|
21
|
+
if (/^\d+(,\d+)+$/.test(min))
|
|
22
|
+
return Math.ceil(60 / min.split(",").length);
|
|
23
|
+
if (/^\d+$/.test(min))
|
|
24
|
+
return 60;
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
const u = /^\*\/(\d+)$/.exec(uur);
|
|
28
|
+
if (u && /^\d+$/.test(min))
|
|
29
|
+
return Number(u[1]) * 60;
|
|
30
|
+
if (/^\d+$/.test(uur) && /^\d+$/.test(min))
|
|
31
|
+
return 24 * 60;
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
/** True als de taak langer dan 2x zijn interval niet draaide. */
|
|
35
|
+
export function taakTeLaat(laatsteStart, schema, nu = Date.now()) {
|
|
36
|
+
const iv = intervalMinuten(schema);
|
|
37
|
+
if (iv == null)
|
|
38
|
+
return false;
|
|
39
|
+
if (!laatsteStart)
|
|
40
|
+
return true;
|
|
41
|
+
const t = new Date(laatsteStart).getTime();
|
|
42
|
+
if (!Number.isFinite(t))
|
|
43
|
+
return false;
|
|
44
|
+
return nu - t > 2 * iv * 60000;
|
|
45
|
+
}
|
|
46
|
+
/** Foutmelding van een taak in gewone taal. */
|
|
47
|
+
export function taakFoutGewoneTaal(bericht) {
|
|
48
|
+
if (!bericht)
|
|
49
|
+
return null;
|
|
50
|
+
const b = bericht.toLowerCase();
|
|
51
|
+
if (b.includes("timeout") || b.includes("time-out") || b.includes("statement timeout") || b.includes("canceling statement"))
|
|
52
|
+
return "De taak duurde te lang en is afgebroken. De volgende keer probeert hij het opnieuw.";
|
|
53
|
+
if (b.includes("does not exist") || b.includes("bestaat niet"))
|
|
54
|
+
return "De taak gebruikt een onderdeel dat in deze database ontbreekt. Supabase bijwerken nodig.";
|
|
55
|
+
if (b.includes("permission denied") || b.includes("niet ingelogd") || b.includes("geen toegang"))
|
|
56
|
+
return "De taak had geen toestemming om zijn werk te doen. Neem contact op met de beheerder.";
|
|
57
|
+
if (b.includes("lock") || b.includes("deadlock"))
|
|
58
|
+
return "De taak moest wachten op ander werk en is gestopt. De volgende keer probeert hij het opnieuw.";
|
|
59
|
+
if (b.includes("connection") || b.includes("could not connect"))
|
|
60
|
+
return "De taak kon de shell niet bereiken. De volgende keer probeert hij het opnieuw.";
|
|
61
|
+
return "De taak is mislukt. Neem contact op met de beheerder als dit blijft gebeuren.";
|
|
62
|
+
}
|