@flowselections/layout-maker 1.69.10 → 1.69.15
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/dist-lib/components/A4StickervelKaart.d.ts +5 -0
- package/dist-lib/components/A4StickervelKaart.d.ts.map +1 -0
- package/dist-lib/components/A4StickervelKaart.js +123 -0
- package/dist-lib/components/KlaarOmTePrintenBlok.d.ts.map +1 -1
- package/dist-lib/components/KlaarOmTePrintenBlok.js +50 -7
- package/dist-lib/components/PrintQueuePage.d.ts.map +1 -1
- package/dist-lib/components/PrintQueuePage.js +4 -6
- package/dist-lib/components/PrintplekDetailPage.d.ts.map +1 -1
- package/dist-lib/components/PrintplekDetailPage.js +3 -1
- package/dist-lib/components/PrintplekkenPage.d.ts.map +1 -1
- package/dist-lib/components/PrintplekkenPage.js +2 -1
- package/dist-lib/components/StickerRouteTestKaart.d.ts +5 -0
- package/dist-lib/components/StickerRouteTestKaart.d.ts.map +1 -0
- package/dist-lib/components/StickerRouteTestKaart.js +75 -0
- package/dist-lib/components/UitwijkRegel.d.ts +5 -0
- package/dist-lib/components/UitwijkRegel.d.ts.map +1 -0
- package/dist-lib/components/UitwijkRegel.js +17 -0
- package/dist-lib/components/UitwijkTekening.d.ts +19 -0
- package/dist-lib/components/UitwijkTekening.d.ts.map +1 -0
- package/dist-lib/components/UitwijkTekening.js +21 -0
- package/dist-lib/index.d.ts +12 -0
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +14 -0
- package/dist-lib/integrations/supabase/types.d.ts +3714 -25
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.js +1 -0
- package/dist-lib/lib/belading.d.ts +10 -0
- package/dist-lib/lib/belading.d.ts.map +1 -0
- package/dist-lib/lib/belading.js +49 -0
- package/dist-lib/lib/codelijstCache.d.ts +11 -0
- package/dist-lib/lib/codelijstCache.d.ts.map +1 -0
- package/dist-lib/lib/codelijstCache.js +117 -0
- package/dist-lib/lib/documentTypes.d.ts +1 -1
- package/dist-lib/lib/documentTypes.d.ts.map +1 -1
- package/dist-lib/lib/documentTypes.js +2 -1
- package/dist-lib/lib/eigenDocumenten.d.ts +2 -0
- package/dist-lib/lib/eigenDocumenten.d.ts.map +1 -1
- package/dist-lib/lib/eigenDocumenten.js +22 -0
- package/dist-lib/lib/installCheck.d.ts +36 -0
- package/dist-lib/lib/installCheck.d.ts.map +1 -0
- package/dist-lib/lib/installCheck.js +65 -0
- package/dist-lib/lib/kiesFormaat.d.ts +11 -0
- package/dist-lib/lib/kiesFormaat.d.ts.map +1 -0
- package/dist-lib/lib/kiesFormaat.js +32 -0
- package/dist-lib/lib/klaarOmTePrinten.d.ts +15 -1
- package/dist-lib/lib/klaarOmTePrinten.d.ts.map +1 -1
- package/dist-lib/lib/klaarOmTePrinten.js +19 -1
- package/dist-lib/lib/orderData.server.d.ts.map +1 -1
- package/dist-lib/lib/orderData.server.js +25 -31
- package/dist-lib/lib/pakbonBuilder.d.ts +6 -0
- package/dist-lib/lib/pakbonBuilder.d.ts.map +1 -1
- package/dist-lib/lib/pakbonBuilder.js +18 -5
- package/dist-lib/lib/pakbonContent.d.ts.map +1 -1
- package/dist-lib/lib/pakbonContent.js +4 -1
- package/dist-lib/lib/pakbonHtml.d.ts.map +1 -1
- package/dist-lib/lib/pakbonHtml.js +5 -2
- package/dist-lib/lib/pakbonPresentation.d.ts +3 -1
- package/dist-lib/lib/pakbonPresentation.d.ts.map +1 -1
- package/dist-lib/lib/pakbonPresentation.js +13 -6
- package/dist-lib/lib/printQueue.server.d.ts +16 -2
- package/dist-lib/lib/printQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/printQueue.server.js +305 -59
- package/dist-lib/lib/printService.server.d.ts.map +1 -1
- package/dist-lib/lib/printService.server.js +3 -2
- package/dist-lib/lib/printerKeuze.d.ts +15 -0
- package/dist-lib/lib/printerKeuze.d.ts.map +1 -0
- package/dist-lib/lib/printerKeuze.js +32 -0
- package/dist-lib/lib/queueTick.d.ts.map +1 -1
- package/dist-lib/lib/queueTick.js +9 -1
- package/dist-lib/lib/runnerRegistry.server.d.ts +10 -0
- package/dist-lib/lib/runnerRegistry.server.d.ts.map +1 -1
- package/dist-lib/lib/runnerRegistry.server.js +55 -0
- package/dist-lib/lib/standaardLayouts.server.d.ts +6 -0
- package/dist-lib/lib/standaardLayouts.server.d.ts.map +1 -1
- package/dist-lib/lib/standaardLayouts.server.js +13 -0
- package/dist-lib/lib/stickerPlaatsing.d.ts +37 -0
- package/dist-lib/lib/stickerPlaatsing.d.ts.map +1 -0
- package/dist-lib/lib/stickerPlaatsing.js +122 -0
- package/dist-lib/lib/stickerUitwijk.d.ts +197 -0
- package/dist-lib/lib/stickerUitwijk.d.ts.map +1 -0
- package/dist-lib/lib/stickerUitwijk.js +311 -0
- package/dist-lib/lib/testprint.d.ts +13 -0
- package/dist-lib/lib/testprint.d.ts.map +1 -1
- package/dist-lib/lib/testprint.js +38 -0
- package/dist-lib/lib/useDocumentData.js +1 -1
- package/dist-lib/lib/versie.generated.d.ts +1 -1
- package/dist-lib/lib/versie.generated.js +1 -1
- package/dist-lib/lib/vroegeWaarschuwing.d.ts +21 -0
- package/dist-lib/lib/vroegeWaarschuwing.d.ts.map +1 -0
- package/dist-lib/lib/vroegeWaarschuwing.js +15 -0
- package/package.json +1 -1
- package/sql/print-schema.sql +1 -0
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
// te weten welke scope actief was.
|
|
13
13
|
// Draait alleen op de server (printwachtrij).
|
|
14
14
|
// ============================================================================
|
|
15
|
+
import { beladingTekst, laagDeel, lagenVanRegel } from "./belading.js";
|
|
16
|
+
import { codelijstLabels } from "./codelijstCache.js";
|
|
15
17
|
const arr = (v) => (Array.isArray(v) ? v : []);
|
|
16
18
|
const num = (v) => (Number.isFinite(Number(v)) ? Number(v) : 0);
|
|
17
19
|
const uniek = (v) => Array.from(new Set(v.map((x) => (x ? String(x) : "")).filter(Boolean)));
|
|
@@ -408,20 +410,10 @@ export async function laadPakbonData(db, opties) {
|
|
|
408
410
|
i.kleurCode ? `B01:${i.kleurCode}` : "",
|
|
409
411
|
i.potmaatCode ? `S01:${i.potmaatCode}` : "",
|
|
410
412
|
]));
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
.select("code, label")
|
|
416
|
-
.eq("list_name", "vbn-characteristic-value")
|
|
417
|
-
.in("code", kenmerkSleutels)));
|
|
418
|
-
for (const w of waarden) {
|
|
419
|
-
const code = String(w["code"] ?? "");
|
|
420
|
-
const label = String(w["label"] ?? "").trim();
|
|
421
|
-
if (code && label && !kenmerkNamen.has(code))
|
|
422
|
-
kenmerkNamen.set(code, label);
|
|
423
|
-
}
|
|
424
|
-
}
|
|
413
|
+
// Actieve omgeving, cache per ronde en 2 s time-out (codelijstCache).
|
|
414
|
+
const kenmerkNamen = kenmerkSleutels.length
|
|
415
|
+
? await codelijstLabels(db, kenmerkSleutels)
|
|
416
|
+
: new Map();
|
|
425
417
|
// Schrijf de verrijking terug in de custom_fields van het product.
|
|
426
418
|
for (const p of producten.values()) {
|
|
427
419
|
const extra = (p["custom_fields"] ?? {});
|
|
@@ -499,27 +491,27 @@ export async function laadPakbonData(db, opties) {
|
|
|
499
491
|
extra["potmaat_cm"] ??
|
|
500
492
|
extra["maat"] ??
|
|
501
493
|
extra["__potmaat"] ??
|
|
502
|
-
"
|
|
494
|
+
""),
|
|
503
495
|
kleur: String(extra["kleur"] ??
|
|
504
496
|
extra["Kleur"] ??
|
|
505
497
|
extra["colour"] ??
|
|
506
498
|
extra["color"] ??
|
|
507
499
|
extra["__kleur"] ??
|
|
508
|
-
"
|
|
500
|
+
""),
|
|
509
501
|
aantal: aantalPlanten,
|
|
510
502
|
barcode: String(p["barcode"] ?? ""),
|
|
511
503
|
locatie: String(p["location"] ||
|
|
512
504
|
extra["locatie"] ||
|
|
513
505
|
extra["location"] ||
|
|
514
506
|
extra["warehouse_location"] ||
|
|
515
|
-
"
|
|
507
|
+
""),
|
|
516
508
|
gewicht: bron["weight_kg"] ? `${num(bron["weight_kg"]).toFixed(1)} kg` : "",
|
|
517
509
|
fust_aantal: fusten,
|
|
518
510
|
// "stuks" is een aantalseenheid, geen fustsoort — die slaan we over.
|
|
519
511
|
fustsoort: String(extra["fustsoort"] ??
|
|
520
512
|
extra["Fustsoort"] ??
|
|
521
513
|
extra["__fustsoort"] ??
|
|
522
|
-
(unit && unit.toLowerCase() !== "stuks" ? unit : "
|
|
514
|
+
(unit && unit.toLowerCase() !== "stuks" ? unit : "")),
|
|
523
515
|
planten_per_fust: perFust,
|
|
524
516
|
sticker: stickerWaarde(regelVan(bron), () => stickerVoor(orderVan(bron), p)),
|
|
525
517
|
onderdelen: onderdelenVoor(bron, p, aantalPlanten),
|
|
@@ -540,20 +532,21 @@ export async function laadPakbonData(db, opties) {
|
|
|
540
532
|
const fusten = num(item["crates"]);
|
|
541
533
|
const perFust = num(item["plants_per_crate"]);
|
|
542
534
|
const nummer = Math.max(1, num(item["layer_index"]) || 1);
|
|
543
|
-
const
|
|
544
|
-
const
|
|
545
|
-
const deel = capaciteit > 0 ? inLaag / capaciteit : num(item["layer_fraction"]) || 0;
|
|
535
|
+
const deelOfNull = laagDeel(item);
|
|
536
|
+
const deel = deelOfNull ?? 0;
|
|
546
537
|
let laag = perLaag.get(nummer);
|
|
547
538
|
if (!laag) {
|
|
548
|
-
laag = { producten: [], ruimte: 0 };
|
|
539
|
+
laag = { producten: [], ruimte: 0, delen: [], lagenRegel: [] };
|
|
549
540
|
perLaag.set(nummer, laag);
|
|
550
541
|
}
|
|
551
542
|
laag.producten.push(maakProduct(item, fusten * perFust, fusten, perFust, !(fusten > 0 && perFust > 0)));
|
|
552
543
|
laag.ruimte += deel;
|
|
544
|
+
laag.delen.push(deelOfNull);
|
|
545
|
+
laag.lagenRegel.push(lagenVanRegel(item));
|
|
553
546
|
}
|
|
554
547
|
const hoogste = Math.max(maxLagen, ...perLaag.keys());
|
|
555
548
|
for (let n = 1; n <= hoogste; n++) {
|
|
556
|
-
lagen.push(perLaag.get(n) ?? { producten: [], ruimte: 0 });
|
|
549
|
+
lagen.push(perLaag.get(n) ?? { producten: [], ruimte: 0, delen: [], lagenRegel: [] });
|
|
557
550
|
}
|
|
558
551
|
}
|
|
559
552
|
else {
|
|
@@ -561,22 +554,23 @@ export async function laadPakbonData(db, opties) {
|
|
|
561
554
|
for (const item of items) {
|
|
562
555
|
const fusten = num(item["crates"]);
|
|
563
556
|
const perFust = num(item["plants_per_crate"]);
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
1;
|
|
557
|
+
// Fusten / capaciteit van de laag is de rekenbare waarheid (1.69.12:
|
|
558
|
+
// altijd 0–1; daarbuiten geen percentage, zie belading.ts).
|
|
559
|
+
const deelOfNull = laagDeel(item);
|
|
560
|
+
const deel = deelOfNull ?? 1;
|
|
569
561
|
const product = maakProduct(item, fusten * perFust, fusten, perFust, !(fusten > 0 && perFust > 0));
|
|
570
562
|
if (!huidige || huidige.ruimte + deel > 1.0001) {
|
|
571
|
-
huidige = { producten: [], ruimte: 0 };
|
|
563
|
+
huidige = { producten: [], ruimte: 0, delen: [], lagenRegel: [] };
|
|
572
564
|
lagen.push(huidige);
|
|
573
565
|
}
|
|
574
566
|
huidige.producten.push(product);
|
|
575
567
|
huidige.ruimte += deel;
|
|
568
|
+
huidige.delen.push(deelOfNull);
|
|
569
|
+
huidige.lagenRegel.push(lagenVanRegel(item));
|
|
576
570
|
}
|
|
577
571
|
}
|
|
578
572
|
if (!lagen.length)
|
|
579
|
-
lagen.push({ producten: [], ruimte: 0 });
|
|
573
|
+
lagen.push({ producten: [], ruimte: 0, delen: [], lagenRegel: [] });
|
|
580
574
|
return {
|
|
581
575
|
// Nodig om een Engine-opdracht voor precies één kar te kunnen filteren.
|
|
582
576
|
// De waarde komt uit de gedeelde database en wordt nooit lokaal bedacht.
|
|
@@ -593,7 +587,7 @@ export async function laadPakbonData(db, opties) {
|
|
|
593
587
|
const potmaten = uniek(laag.producten.map((product) => product["potmaat"]));
|
|
594
588
|
return {
|
|
595
589
|
laagnummer: j + 1,
|
|
596
|
-
belading:
|
|
590
|
+
belading: beladingTekst(laag.delen, laag.lagenRegel),
|
|
597
591
|
potmaat: potmaten.length === 1 ? potmaten[0] : "",
|
|
598
592
|
producten: laag.producten,
|
|
599
593
|
fusten: vatFustenSamen(laag.producten),
|
|
@@ -294,6 +294,12 @@ export declare const DEMO_ORDER: {
|
|
|
294
294
|
};
|
|
295
295
|
export type DemoOrder = typeof DEMO_ORDER;
|
|
296
296
|
export declare function alleProducten(order: DemoOrder): DemoProduct[];
|
|
297
|
+
/** Kolommen die verdwijnen als ze voor alle regels leeg zijn. */
|
|
298
|
+
export declare const VERBERG_ALS_LEEG: Set<string>;
|
|
299
|
+
/** Haalt Potmaat/Locatie/Kleur/Fustsoort weg als geen enkele regel een waarde heeft. */
|
|
300
|
+
export declare function zonderLegeKolommen<P>(velden: string[], producten: P[], cel: (p: P, v: string) => unknown): string[];
|
|
301
|
+
/** "1 kar", "2 karren": enkelvoud alleen bij precies 1. */
|
|
302
|
+
export declare function telwoord(n: number, enkelvoud: string, meervoud: string): string;
|
|
297
303
|
export declare function totalen(order: DemoOrder): Record<string, string>;
|
|
298
304
|
export declare const CONDITIE_VELDEN: {
|
|
299
305
|
value: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pakbonBuilder.d.ts","sourceRoot":"","sources":["../../src/lib/pakbonBuilder.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pakbonBuilder.d.ts","sourceRoot":"","sources":["../../src/lib/pakbonBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -334,6 +334,7 @@ export const SECTIE_REGISTER = [
|
|
|
334
334
|
omschrijving: "Transporteur, route en chauffeur.",
|
|
335
335
|
opties: [
|
|
336
336
|
{ key: "toonTransporteur", label: "Vervoerder (carrier_label uit de Engine)", type: "schakelaar", standaard: true },
|
|
337
|
+
{ key: "toonOphaalmoment", label: "Vertrektijd / ophaalmoment", type: "schakelaar", standaard: true },
|
|
337
338
|
{ key: "toonRoute", label: "Route", type: "schakelaar", standaard: true },
|
|
338
339
|
{ key: "toonChauffeur", label: "Chauffeur", type: "schakelaar", standaard: false },
|
|
339
340
|
{ key: "toonTrack", label: "Track & trace", type: "schakelaar", standaard: false },
|
|
@@ -508,6 +509,7 @@ export const SECTIE_REGISTER = [
|
|
|
508
509
|
{ value: "qrcode", label: "QR-code" },
|
|
509
510
|
{ value: "chauffeur", label: "Chauffeur" },
|
|
510
511
|
{ value: "route", label: "Route" },
|
|
512
|
+
{ value: "stickers", label: "Aantal stickers bij deze kar" },
|
|
511
513
|
],
|
|
512
514
|
},
|
|
513
515
|
{
|
|
@@ -943,7 +945,7 @@ export function onderdeelCellen(o, velden, gekozen) {
|
|
|
943
945
|
if (v === naamKolom) {
|
|
944
946
|
const delen = [];
|
|
945
947
|
const naam = gekozen.includes("artikelnaam") ? o.artikelnaam : "";
|
|
946
|
-
const kop =
|
|
948
|
+
const kop = `– ${o.per_stuk ? `${o.per_stuk}× ` : ""}${naam}`.trimEnd();
|
|
947
949
|
delen.push(kop);
|
|
948
950
|
for (const extra of zonderKolom) {
|
|
949
951
|
const w = waarde(extra);
|
|
@@ -1154,9 +1156,20 @@ export const DEMO_ORDER = {
|
|
|
1154
1156
|
export function alleProducten(order) {
|
|
1155
1157
|
return order.karren.flatMap((k) => k.lagen.flatMap((l) => l.producten));
|
|
1156
1158
|
}
|
|
1159
|
+
/** Kolommen die verdwijnen als ze voor alle regels leeg zijn. */
|
|
1160
|
+
export const VERBERG_ALS_LEEG = new Set(["potmaat", "locatie", "kleur", "fustsoort"]);
|
|
1161
|
+
/** Haalt Potmaat/Locatie/Kleur/Fustsoort weg als geen enkele regel een waarde heeft. */
|
|
1162
|
+
export function zonderLegeKolommen(velden, producten, cel) {
|
|
1163
|
+
return velden.filter((v) => !VERBERG_ALS_LEEG.has(v) || producten.some((p) => String(cel(p, v) ?? "").trim() !== ""));
|
|
1164
|
+
}
|
|
1165
|
+
/** "1 kar", "2 karren": enkelvoud alleen bij precies 1. */
|
|
1166
|
+
export function telwoord(n, enkelvoud, meervoud) {
|
|
1167
|
+
return `${n} ${n === 1 ? enkelvoud : meervoud}`;
|
|
1168
|
+
}
|
|
1157
1169
|
export function totalen(order) {
|
|
1158
1170
|
const producten = alleProducten(order);
|
|
1159
|
-
|
|
1171
|
+
// Alleen lagen met inhoud tellen; lege plekken op de kar zijn geen laag.
|
|
1172
|
+
const lagen = order.karren.reduce((n, k) => n + k.lagen.filter((l) => (l.producten?.length ?? 0) > 0 || (l.fusten?.length ?? 0) > 0).length, 0);
|
|
1160
1173
|
// Ontbreekt de fustlijst per laag, dan tellen we de fusten van de producten.
|
|
1161
1174
|
const fusten = order.karren.reduce((n, k) => n +
|
|
1162
1175
|
k.lagen.reduce((m, l) => {
|
|
@@ -1168,9 +1181,9 @@ export function totalen(order) {
|
|
|
1168
1181
|
const gewicht = producten.reduce((n, p2) => n + parseFloat(p2.gewicht), 0);
|
|
1169
1182
|
return {
|
|
1170
1183
|
producten: `${stuks} stuks`,
|
|
1171
|
-
lagen:
|
|
1172
|
-
fusten:
|
|
1173
|
-
karren:
|
|
1184
|
+
lagen: telwoord(lagen, "laag", "lagen"),
|
|
1185
|
+
fusten: telwoord(fusten, "fust", "fusten"),
|
|
1186
|
+
karren: telwoord(order.karren.length, "kar", "karren"),
|
|
1174
1187
|
gewicht: `${gewicht.toFixed(1)} kg`,
|
|
1175
1188
|
volume: `${(lagen * 0.42).toFixed(2)} m³`,
|
|
1176
1189
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pakbonContent.d.ts","sourceRoot":"","sources":["../../src/lib/pakbonContent.ts"],"names":[],"mappings":"AASA,OAAO,
|
|
1
|
+
{"version":3,"file":"pakbonContent.d.ts","sourceRoot":"","sources":["../../src/lib/pakbonContent.ts"],"names":[],"mappings":"AASA,OAAO,EA0BL,KAAK,SAAS,EAEd,KAAK,YAAY,EAGlB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAe,KAAK,IAAI,EAAmC,MAAM,kBAAkB,CAAC;AAE3F,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,2EAA2E;AAC3E,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;IAC/B,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B,CAAC;AAmnBF,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,IAAI,EAAE,CAAC;IAClB,UAAU,EAAE,IAAI,EAAE,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,sDAAsD;AACtD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CA+EvE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAmB9E"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// layout-engine (pakbonDocument.ts) bepaalt WAAR het terechtkomt. Er is geen
|
|
7
7
|
// tweede plek meer waar pakboninhoud wordt samengesteld.
|
|
8
8
|
// ============================================================================
|
|
9
|
-
import { beperkTotDeelkar, conditieContext, deelkarVoorbeeldOrder, fustVerzamellijst, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karKopNummer, karBundelTekst, laagBundelTekst, leesPakbonConfig, pakbonLayoutVariant, pickMethode, productVeldBreedtes, sectieOnderdruktVoorVariant, sectieZichtbaar, sorteerProducten, onderdeelCellen, onderdeelVelden, samenstellingTonen, voegProductSamen, totalen, vulVeldcodes, } from "./pakbonBuilder.js";
|
|
9
|
+
import { beperkTotDeelkar, conditieContext, deelkarVoorbeeldOrder, fustVerzamellijst, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karKopNummer, karBundelTekst, laagBundelTekst, leesPakbonConfig, pakbonLayoutVariant, pickMethode, productVeldBreedtes, sectieOnderdruktVoorVariant, sectieZichtbaar, sorteerProducten, onderdeelCellen, zonderLegeKolommen, onderdeelVelden, samenstellingTonen, voegProductSamen, totalen, vulVeldcodes, } from "./pakbonBuilder.js";
|
|
10
10
|
import { karMetadata } from "./pakbonPresentation.js";
|
|
11
11
|
import { KLEUR_GRIJS } from "./pakbonDocument.js";
|
|
12
12
|
const arr = (v) => (Array.isArray(v) ? v : []);
|
|
@@ -66,6 +66,9 @@ function sectitel(tekst, basis) {
|
|
|
66
66
|
function productTabel(velden, producten, toonKop, basis, onderdeelKolommen = null) {
|
|
67
67
|
if (!velden.length || !producten.length)
|
|
68
68
|
return null;
|
|
69
|
+
velden = zonderLegeKolommen(velden, producten, cel);
|
|
70
|
+
if (!velden.length)
|
|
71
|
+
return null;
|
|
69
72
|
const breedtes = productVeldBreedtes(velden);
|
|
70
73
|
const kolommen = velden.map((v, i) => ({
|
|
71
74
|
label: PRODUCT_LABELS[v] ?? v,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pakbonHtml.d.ts","sourceRoot":"","sources":["../../src/lib/pakbonHtml.ts"],"names":[],"mappings":"AAUA,OAAO,
|
|
1
|
+
{"version":3,"file":"pakbonHtml.d.ts","sourceRoot":"","sources":["../../src/lib/pakbonHtml.ts"],"names":[],"mappings":"AAUA,OAAO,EAgCL,KAAK,SAAS,EAEd,KAAK,YAAY,EAGlB,MAAM,iBAAiB,CAAC;AAMzB,2FAA2F;AAC3F,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,sEAAsE;IACtE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAWD,wBAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAKtC;AASD,2EAA2E;AAC3E,eAAO,MAAM,eAAe,8BAA8B,CAAC;AAmB3D;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAqF3D;AAwFD,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGlD;AA8pBD,oEAAoE;AACpE,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,GAAG,OAAO,EAC9B,KAAK,EAAE,WAAW,EAClB,MAAM,GAAE,kBAAuB,GAC9B,MAAM,CAmFR;AAgBD,gEAAgE;AAChE,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,GAAG,OAAO,EAC9B,KAAK,EAAE,WAAW,EAClB,MAAM,GAAE,kBAAuB,GAC9B,MAAM,CAkFR;AAED,iEAAiE;AACjE,wBAAgB,oBAAoB,IAAI,WAAW,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,YAAY,GAAG,OAAO,EAC9B,KAAK,EAAE,WAAW,EAClB,MAAM,GAAE,kBAAuB,GAC9B,IAAI,CAsCN;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,YAAY,GAAG,OAAO,EAC9B,KAAK,EAAE,WAAW,EAClB,MAAM,GAAE,kBAAuB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAUf"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
// layoutconfiguratie en de echte ordergegevens. Zo tonen het live voorbeeld en
|
|
8
8
|
// de afdruk altijd exact dezelfde secties — inclusief de orderregels.
|
|
9
9
|
// ============================================================================
|
|
10
|
-
import { DEMO_ORDER, deelkarVoorbeeldOrder, conditieContext, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karBundelTekst, fustVerzamellijst, fustRegels, FUSTREGEL_LABELS, FUSTREGEL_RECHTS, pickMethode, pakbonLayoutVariant, productVeldBreedtes, sectieOnderdruktVoorVariant, HERHAAL_SECTIES, kopHerhalen, karKopNummer, laagBundelTekst, leesPakbonConfig, sectieZichtbaar, sorteerProducten, onderdeelCellen, onderdeelVelden, samenstellingTonen, voegProductSamen, totalen, vulVeldcodes, } from "./pakbonBuilder.js";
|
|
10
|
+
import { DEMO_ORDER, deelkarVoorbeeldOrder, conditieContext, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karBundelTekst, fustVerzamellijst, fustRegels, FUSTREGEL_LABELS, FUSTREGEL_RECHTS, pickMethode, pakbonLayoutVariant, productVeldBreedtes, sectieOnderdruktVoorVariant, HERHAAL_SECTIES, kopHerhalen, karKopNummer, laagBundelTekst, leesPakbonConfig, sectieZichtbaar, sorteerProducten, onderdeelCellen, zonderLegeKolommen, onderdeelVelden, samenstellingTonen, voegProductSamen, totalen, vulVeldcodes, } from "./pakbonBuilder.js";
|
|
11
11
|
import { haalPrintLogos } from "./logoLibrary.js";
|
|
12
12
|
import { code128BarsHtml } from "./code128.js";
|
|
13
13
|
import { karMetadata } from "./pakbonPresentation.js";
|
|
@@ -312,7 +312,7 @@ function fustTabel(velden, fusten, titel) {
|
|
|
312
312
|
return `${titel ? `<div class="sectitel">${esc(titel)}</div>` : ""}<table class="regels">${kop}${rijen}</table>`;
|
|
313
313
|
}
|
|
314
314
|
function productenHtml(sectie, laag, toonKop = true) {
|
|
315
|
-
|
|
315
|
+
let velden = lijst(sectie, "velden");
|
|
316
316
|
if (!velden.length)
|
|
317
317
|
return "";
|
|
318
318
|
let producten = sorteerProducten(laag.producten, optS(sectie, "sortering", "eigen"));
|
|
@@ -329,6 +329,9 @@ function productenHtml(sectie, laag, toonKop = true) {
|
|
|
329
329
|
}
|
|
330
330
|
if (!producten.length)
|
|
331
331
|
return "";
|
|
332
|
+
velden = zonderLegeKolommen(velden, producten, cel);
|
|
333
|
+
if (!velden.length)
|
|
334
|
+
return "";
|
|
332
335
|
const label = (v) => v === "foto" ? "Foto" : v === "qrcode" ? "QR-code" : PRODUCT_LABELS[v] ?? v;
|
|
333
336
|
const weergave = optS(sectie, "weergave", "tabel");
|
|
334
337
|
const sub = samenstellingTonen(sectie.opties) ? onderdeelVelden(sectie.opties) : null;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type DemoKar } from "./pakbonBuilder.js";
|
|
2
2
|
/**
|
|
3
3
|
* Canonieke zichtbare metadata van een kar. Zowel het live voorbeeld als de
|
|
4
4
|
* print-renderer gebruiken deze lijst, zodat geen van beide zelf regels kan
|
|
5
5
|
* toevoegen of in een andere volgorde kan zetten.
|
|
6
6
|
*/
|
|
7
7
|
export declare function karMetadata(kar: DemoKar, velden: string[]): string[];
|
|
8
|
+
/** Stickers bij deze kar: planten van regels waar een sticker bij hoort. */
|
|
9
|
+
export declare function aantalStickersBijKar(kar: DemoKar): number;
|
|
8
10
|
//# sourceMappingURL=pakbonPresentation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pakbonPresentation.d.ts","sourceRoot":"","sources":["../../src/lib/pakbonPresentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"pakbonPresentation.d.ts","sourceRoot":"","sources":["../../src/lib/pakbonPresentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAwBpE;AACD,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAKzD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { telwoord } from "./pakbonBuilder.js";
|
|
1
2
|
/**
|
|
2
3
|
* Canonieke zichtbare metadata van een kar. Zowel het live voorbeeld als de
|
|
3
4
|
* print-renderer gebruiken deze lijst, zodat geen van beide zelf regels kan
|
|
@@ -5,8 +6,10 @@
|
|
|
5
6
|
*/
|
|
6
7
|
export function karMetadata(kar, velden) {
|
|
7
8
|
const info = [];
|
|
8
|
-
if (velden.includes("lagen"))
|
|
9
|
-
|
|
9
|
+
if (velden.includes("lagen")) {
|
|
10
|
+
const gevuld = kar.lagen.filter((l) => (l.producten?.length ?? 0) > 0).length;
|
|
11
|
+
info.push(telwoord(gevuld || kar.lagen.length, "laag", "lagen"));
|
|
12
|
+
}
|
|
10
13
|
if (velden.includes("producten")) {
|
|
11
14
|
const aantal = kar.lagen.reduce((totaal, laag) => totaal + laag.producten.reduce((som, product) => som + product.aantal, 0), 0);
|
|
12
15
|
info.push(`${aantal} producten`);
|
|
@@ -21,9 +24,13 @@ export function karMetadata(kar, velden) {
|
|
|
21
24
|
info.push("gedeelde kar");
|
|
22
25
|
// De karstand hoort in de grote karkop (`KAR 2 van 2`), niet nogmaals in
|
|
23
26
|
// deze metaregel. Anders verschijnt dezelfde telling op twee plekken.
|
|
24
|
-
if (
|
|
25
|
-
info.push(
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
if (velden.includes("stickers"))
|
|
28
|
+
info.push(telwoord(aantalStickersBijKar(kar), "sticker", "stickers"));
|
|
29
|
+
// Geen technisch kar-id en geen interne regeltelling op papier: de barcode
|
|
30
|
+
// identificeert de kar.
|
|
28
31
|
return info;
|
|
29
32
|
}
|
|
33
|
+
/** Stickers bij deze kar: planten van regels waar een sticker bij hoort. */
|
|
34
|
+
export function aantalStickersBijKar(kar) {
|
|
35
|
+
return kar.lagen.reduce((n, l) => n + l.producten.reduce((m, p) => m + (String(p.sticker ?? "") === "Ja" ? Number(p.aantal || 0) : 0), 0), 0);
|
|
36
|
+
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { SupabaseClient } from "@supabase/supabase-js";
|
|
2
2
|
import { type EigenStickerMaat } from "./eigenDocumenten.js";
|
|
3
|
+
import { type GeladenEtiket } from "./etiketControle.js";
|
|
4
|
+
import { type StickerSoort } from "./stickerUitwijk.js";
|
|
3
5
|
type Job = Record<string, any>;
|
|
4
6
|
/** De databaseclient die de shell aanlevert. De module maakt er zelf nooit een. */
|
|
5
7
|
export type PrintDb = SupabaseClient<any, any, any>;
|
|
@@ -126,8 +128,11 @@ export interface WachtrijResultaat {
|
|
|
126
128
|
/** Waarom deze ronde niets deed (bijvoorbeeld: een andere ronde draait al). */
|
|
127
129
|
overgeslagen?: string;
|
|
128
130
|
}
|
|
129
|
-
/**
|
|
130
|
-
export declare
|
|
131
|
+
/** Na deze looptijd pakt een ronde geen nieuwe opdracht meer (lopende wordt afgemaakt). */
|
|
132
|
+
export declare const RONDE_BUDGET_MS = 20000;
|
|
133
|
+
export declare function verwerkWachtrij(db: PrintDb, max?: number, opties?: {
|
|
134
|
+
origin?: string | null;
|
|
135
|
+
}): Promise<WachtrijResultaat>;
|
|
131
136
|
/**
|
|
132
137
|
* Dezelfde documentkeuze als de printwachtrij maakt, maar zonder printer en
|
|
133
138
|
* zonder statuswijziging. Gebruikt door het voorbeeld (`preview-pdf`) zodat
|
|
@@ -137,5 +142,14 @@ export declare function bepaalDocumentKeuze(db: PrintDb, job: Job): Promise<{
|
|
|
137
142
|
keuze: LayoutKeuze;
|
|
138
143
|
klaarPdf: string | null;
|
|
139
144
|
}>;
|
|
145
|
+
/**
|
|
146
|
+
* Is dit een labelprinter? Ja als er een geladen etiket is ingesteld, of als
|
|
147
|
+
* een werkplek hem als labelprinter gebruikt. Alleen dan geldt de controle,
|
|
148
|
+
* zodat bestaande printers zonder werkplek precies blijven werken als nu.
|
|
149
|
+
*/
|
|
150
|
+
/** Stickersoort voor de verkleininstelling (op configuratie en bron, nooit op naam). */
|
|
151
|
+
export declare function stickerSoortVoor(documenttype: string, layout: Job | null, floriday: boolean, klaar: boolean): StickerSoort;
|
|
152
|
+
/** Eigen ontwerp past niet op het geladen etiket: variant op de etiketmaat maken. */
|
|
153
|
+
export declare function eigenEtiketVariantNodig(layout: Job, etiket: GeladenEtiket): boolean;
|
|
140
154
|
export {};
|
|
141
155
|
//# sourceMappingURL=printQueue.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/printQueue.server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"printQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/printQueue.server.ts"],"names":[],"mappings":"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"}
|