@flowselections/layout-maker 1.69.19 → 1.69.23
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/FormaatOrientatieBar.d.ts.map +1 -1
- package/dist-lib/components/FormaatOrientatieBar.js +10 -7
- package/dist-lib/components/GeladenEtiketTab.d.ts.map +1 -1
- package/dist-lib/components/GeladenEtiketTab.js +3 -1
- package/dist-lib/components/InstelOverzichtKaart.d.ts +12 -0
- package/dist-lib/components/InstelOverzichtKaart.d.ts.map +1 -0
- package/dist-lib/components/InstelOverzichtKaart.js +78 -0
- package/dist-lib/components/KlaarOmTePrintenBlok.d.ts.map +1 -1
- package/dist-lib/components/KlaarOmTePrintenBlok.js +2 -1
- package/dist-lib/components/LayoutsPage.d.ts.map +1 -1
- package/dist-lib/components/LayoutsPage.js +29 -5
- package/dist-lib/components/PakbonBuilderPage.d.ts.map +1 -1
- package/dist-lib/components/PakbonBuilderPage.js +9 -1
- package/dist-lib/components/PrintersPage.d.ts.map +1 -1
- package/dist-lib/components/PrintersPage.js +3 -2
- package/dist-lib/components/PrintplekDetailPage.d.ts.map +1 -1
- package/dist-lib/components/PrintplekDetailPage.js +5 -9
- package/dist-lib/components/RolKeuze.d.ts +9 -0
- package/dist-lib/components/RolKeuze.d.ts.map +1 -0
- package/dist-lib/components/RolKeuze.js +91 -0
- package/dist-lib/components/StickerOntwerpPage.d.ts +4 -0
- package/dist-lib/components/StickerOntwerpPage.d.ts.map +1 -0
- package/dist-lib/components/StickerOntwerpPage.js +77 -0
- package/dist-lib/components/SysteemLayoutMelding.d.ts +1 -1
- package/dist-lib/components/SysteemLayoutMelding.d.ts.map +1 -1
- package/dist-lib/components/WerkplekConfiguratiePage.d.ts.map +1 -1
- package/dist-lib/components/WerkplekConfiguratiePage.js +15 -7
- package/dist-lib/index.d.ts +5 -0
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +5 -0
- package/dist-lib/integrations/supabase/types.d.ts +621 -120
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/directPrint.d.ts.map +1 -1
- package/dist-lib/lib/directPrint.js +19 -0
- package/dist-lib/lib/etiketRollen.d.ts +41 -0
- package/dist-lib/lib/etiketRollen.d.ts.map +1 -0
- package/dist-lib/lib/etiketRollen.js +64 -0
- package/dist-lib/lib/formaatWeergave.d.ts +24 -0
- package/dist-lib/lib/formaatWeergave.d.ts.map +1 -0
- package/dist-lib/lib/formaatWeergave.js +24 -0
- package/dist-lib/lib/instelOverzicht.d.ts +45 -0
- package/dist-lib/lib/instelOverzicht.d.ts.map +1 -0
- package/dist-lib/lib/instelOverzicht.js +106 -0
- package/dist-lib/lib/ontwerpKeuze.d.ts +80 -0
- package/dist-lib/lib/ontwerpKeuze.d.ts.map +1 -0
- package/dist-lib/lib/ontwerpKeuze.js +193 -0
- 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 +15 -0
- package/dist-lib/lib/pakbonContent.d.ts.map +1 -1
- package/dist-lib/lib/pakbonContent.js +2 -1
- package/dist-lib/lib/pakbonHtml.d.ts.map +1 -1
- package/dist-lib/lib/pakbonHtml.js +3 -1
- package/dist-lib/lib/pakbonPresentation.d.ts.map +1 -1
- package/dist-lib/lib/pakbonPresentation.js +3 -0
- package/dist-lib/lib/printQueue.server.d.ts +4 -0
- package/dist-lib/lib/printQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/printQueue.server.js +274 -5
- package/dist-lib/lib/stickerOntwerp.d.ts +67 -0
- package/dist-lib/lib/stickerOntwerp.d.ts.map +1 -0
- package/dist-lib/lib/stickerOntwerp.js +109 -0
- package/dist-lib/lib/stickerRoute.d.ts +3 -0
- package/dist-lib/lib/stickerRoute.d.ts.map +1 -0
- package/dist-lib/lib/stickerRoute.js +5 -0
- package/dist-lib/lib/stickerUitwijk.d.ts +5 -0
- package/dist-lib/lib/stickerUitwijk.d.ts.map +1 -1
- package/dist-lib/lib/stickerUitwijk.js +12 -1
- package/dist-lib/lib/testpagina.d.ts +7 -1
- package/dist-lib/lib/testpagina.d.ts.map +1 -1
- package/dist-lib/lib/testpagina.js +39 -5
- package/dist-lib/lib/useNetwerkPrinters.d.ts +1 -0
- package/dist-lib/lib/useNetwerkPrinters.d.ts.map +1 -1
- package/dist-lib/lib/useNetwerkPrinters.js +11 -3
- package/dist-lib/lib/versie.generated.d.ts +1 -1
- package/dist-lib/lib/versie.generated.js +1 -1
- package/dist-lib/lib/voorbeeldPrint.d.ts.map +1 -1
- package/dist-lib/lib/voorbeeldPrint.js +53 -3
- package/dist-lib/lib/werkplekken.d.ts +5 -1
- package/dist-lib/lib/werkplekken.d.ts.map +1 -1
- package/dist-lib/lib/werkplekken.js +1 -1
- package/package.json +6 -1
- package/sql/print-schema.sql +320 -162
- package/sql/print-schema.verslag.md +5 -2
|
@@ -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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"}
|
|
@@ -338,6 +338,7 @@ export const SECTIE_REGISTER = [
|
|
|
338
338
|
{ key: "toonRoute", label: "Route", type: "schakelaar", standaard: true },
|
|
339
339
|
{ key: "toonChauffeur", label: "Chauffeur", type: "schakelaar", standaard: false },
|
|
340
340
|
{ key: "toonTrack", label: "Track & trace", type: "schakelaar", standaard: false },
|
|
341
|
+
{ key: "toonLadingdrager", label: "Ladingdrager per kar (uit de Logistics Engine)", type: "schakelaar", standaard: true },
|
|
341
342
|
],
|
|
342
343
|
},
|
|
343
344
|
{
|
|
@@ -510,6 +511,7 @@ export const SECTIE_REGISTER = [
|
|
|
510
511
|
{ value: "chauffeur", label: "Chauffeur" },
|
|
511
512
|
{ value: "route", label: "Route" },
|
|
512
513
|
{ value: "stickers", label: "Aantal stickers bij deze kar" },
|
|
514
|
+
{ value: "ladingdrager", label: "Ladingdrager (uit de Logistics Engine)" },
|
|
513
515
|
],
|
|
514
516
|
},
|
|
515
517
|
{
|
|
@@ -808,6 +810,19 @@ export function leesPakbonConfig(config) {
|
|
|
808
810
|
const basis = secties && secties.length ? { secties } : standaardPakbonConfig();
|
|
809
811
|
return { ...basis, secties: migreerPickmethode(basis.secties), logo };
|
|
810
812
|
}
|
|
813
|
+
/** Ladingdragertekst(en) van de karren; leeg als de Engine het veld niet levert. */
|
|
814
|
+
export function ladingdragerTekst(order) {
|
|
815
|
+
const karren = Array.isArray(order?.karren) ? order.karren : [];
|
|
816
|
+
const teksten = karren.map((k) => String(k?.ladingdrager_tekst ?? "").trim()).filter(Boolean);
|
|
817
|
+
if (!teksten.length)
|
|
818
|
+
return "";
|
|
819
|
+
if (karren.length === 1)
|
|
820
|
+
return teksten[0];
|
|
821
|
+
return karren
|
|
822
|
+
.map((k, i) => (k?.ladingdrager_tekst ? `Kar ${k.cart_index ?? k.karnummer ?? i + 1}: ${k.ladingdrager_tekst}` : ""))
|
|
823
|
+
.filter(Boolean)
|
|
824
|
+
.join(" · ");
|
|
825
|
+
}
|
|
811
826
|
/** Standaardindeling van een afleverbrief: geen kar-, laag- of fustblokken. */
|
|
812
827
|
export function standaardAfleverbriefConfig() {
|
|
813
828
|
return {
|
|
@@ -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,EA2BL,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;AAonBF,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, zonderLegeKolommen, onderdeelVelden, samenstellingTonen, voegProductSamen, totalen, vulVeldcodes, } from "./pakbonBuilder.js";
|
|
9
|
+
import { beperkTotDeelkar, conditieContext, deelkarVoorbeeldOrder, fustVerzamellijst, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karKopNummer, ladingdragerTekst, 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 : []);
|
|
@@ -390,6 +390,7 @@ function sectieFlow(s, order, zoek, input) {
|
|
|
390
390
|
...itemOf(opt(s, "toonRoute", true), "Route", order.transport.route),
|
|
391
391
|
...itemOf(opt(s, "toonChauffeur", false), "Chauffeur", order.transport.chauffeur),
|
|
392
392
|
...itemOf(opt(s, "toonTrack", false), "Track & trace", order.transport.track),
|
|
393
|
+
...itemOf(opt(s, "toonLadingdrager", true), "Ladingdrager", ladingdragerTekst(order)),
|
|
393
394
|
];
|
|
394
395
|
if (!items.length)
|
|
395
396
|
return [];
|
|
@@ -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,EAiCL,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,CAsF3D;AAwFD,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGlD;AA+pBD,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, zonderLegeKolommen, 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, ladingdragerTekst, 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";
|
|
@@ -78,6 +78,7 @@ export function maakPakbonOrder(input) {
|
|
|
78
78
|
? (k["cart_items"] ?? k["items"] ?? cart["cart_items"] ?? cart["items"])
|
|
79
79
|
: undefined,
|
|
80
80
|
gedeeld: k["gedeeld"] === true,
|
|
81
|
+
ladingdrager_tekst: String(k["ladingdrager_tekst"] ?? k["ladingdragerTekst"] ?? "").trim() || undefined,
|
|
81
82
|
lagen: arr(k["lagen"]).map((l, j) => ({
|
|
82
83
|
laagnummer: Number(l["laagnummer"] ?? j + 1),
|
|
83
84
|
belading: String(l["belading"] ?? ""),
|
|
@@ -625,6 +626,7 @@ function sectieHtmlRuw(s, order, zoek, opties) {
|
|
|
625
626
|
opt(s, "toonRoute", true) ? rij("Route", order.transport.route) : "",
|
|
626
627
|
opt(s, "toonChauffeur", false) ? rij("Chauffeur", order.transport.chauffeur) : "",
|
|
627
628
|
opt(s, "toonTrack", false) ? rij("Track & trace", order.transport.track) : "",
|
|
629
|
+
opt(s, "toonLadingdrager", true) ? rij("Ladingdrager", ladingdragerTekst(order)) : "",
|
|
628
630
|
].join("")}</div>`);
|
|
629
631
|
case "opmerkingen":
|
|
630
632
|
if (!order.order.opmerking)
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,CA0BpE;AACD,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAKzD"}
|
|
@@ -22,6 +22,9 @@ export function karMetadata(kar, velden) {
|
|
|
22
22
|
info.push(kar.route);
|
|
23
23
|
if (kar.gedeeld)
|
|
24
24
|
info.push("gedeelde kar");
|
|
25
|
+
// Engine 1.0.201; ontbreekt het veld, dan wordt het weggelaten.
|
|
26
|
+
if (velden.includes("ladingdrager") && kar.ladingdrager_tekst)
|
|
27
|
+
info.push(kar.ladingdrager_tekst);
|
|
25
28
|
// De karstand hoort in de grote karkop (`KAR 2 van 2`), niet nogmaals in
|
|
26
29
|
// deze metaregel. Anders verschijnt dezelfde telling op twee plekken.
|
|
27
30
|
if (velden.includes("stickers"))
|
|
@@ -2,6 +2,8 @@ import type { SupabaseClient } from "@supabase/supabase-js";
|
|
|
2
2
|
import { type EigenStickerMaat } from "./eigenDocumenten.js";
|
|
3
3
|
import { type GeladenEtiket } from "./etiketControle.js";
|
|
4
4
|
import { type StickerSoort } from "./stickerUitwijk.js";
|
|
5
|
+
/** Documentsoorten waarvoor de keuzeregel (ontwerp + printer) geldt (1.69.20). */
|
|
6
|
+
export declare const KEUZE_SOORTEN: Set<string>;
|
|
5
7
|
type Job = Record<string, any>;
|
|
6
8
|
/** De databaseclient die de shell aanlevert. De module maakt er zelf nooit een. */
|
|
7
9
|
export type PrintDb = SupabaseClient<any, any, any>;
|
|
@@ -151,5 +153,7 @@ export declare function bepaalDocumentKeuze(db: PrintDb, job: Job): Promise<{
|
|
|
151
153
|
export declare function stickerSoortVoor(documenttype: string, layout: Job | null, floriday: boolean, klaar: boolean): StickerSoort;
|
|
152
154
|
/** Eigen ontwerp past niet op het geladen etiket: variant op de etiketmaat maken. */
|
|
153
155
|
export declare function eigenEtiketVariantNodig(layout: Job, etiket: GeladenEtiket): boolean;
|
|
156
|
+
/** Geldt de keuzeregel? Niet voor een testprint op één printer en niet voor een testpagina. */
|
|
157
|
+
export declare function keuzeRegelGeldt(job: Job): boolean;
|
|
154
158
|
export {};
|
|
155
159
|
//# 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":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AA2B5D,OAAO,EAA+H,KAAK,gBAAgB,EAAkF,MAAM,mBAAmB,CAAC;AAQvQ,OAAO,EAAsD,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC1G,OAAO,EAAkL,KAAK,YAAY,EAAwB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"printQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/printQueue.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,11 @@ import { etiketPast, leesGeladenEtiket, maatNl, pdfPaginaMm } from "./etiketCont
|
|
|
26
26
|
import { a4VelVoor, kiesUitwijkroute, leesA4StickervelWaarde, leesStickerInstellingenStrikt, uitwijkVoorPickschermen } from "./stickerUitwijk.js";
|
|
27
27
|
import { documentTypeLabel as documentTypeLabelVoor } from "./documentTypes.js";
|
|
28
28
|
import { PAPIERFORMATEN } from "./documentTypes.js";
|
|
29
|
+
import { kiesOntwerpEnPrinter, ontwerpKeuzeVoorOpslag } from "./ontwerpKeuze.js";
|
|
30
|
+
import { afdrukMaat } from "./formaatWeergave.js";
|
|
31
|
+
import { leesStickerOntwerp, stickerGegevens, stickerOntwerpHtml, VOORBEELD_STICKER, VELDEN_PER_KLASSE } from "./stickerOntwerp.js";
|
|
32
|
+
/** Documentsoorten waarvoor de keuzeregel (ontwerp + printer) geldt (1.69.20). */
|
|
33
|
+
export const KEUZE_SOORTEN = new Set(["sticker", "traysticker", "eigen_sticker", "verzendlabel"]);
|
|
29
34
|
const MAX_POGINGEN = 3;
|
|
30
35
|
const arr = (v) => (Array.isArray(v) ? v : []);
|
|
31
36
|
/**
|
|
@@ -416,6 +421,11 @@ function isVoorbeeldAfdruk(job) {
|
|
|
416
421
|
return true;
|
|
417
422
|
return Boolean(p?.layoutId ?? p?.data?.layoutId ?? p?.layout_id);
|
|
418
423
|
}
|
|
424
|
+
/** Strikt: alleen "Voorbeeld printen" uit een ontwerper (payload.voorbeeld = true). */
|
|
425
|
+
function isOntwerperVoorbeeld(job) {
|
|
426
|
+
const p = (job.payload ?? {});
|
|
427
|
+
return p?.voorbeeld === true || p?.data?.voorbeeld === true;
|
|
428
|
+
}
|
|
419
429
|
/** Mag deze layout als ontwerp winnen van meegestuurde HTML? */
|
|
420
430
|
function magOntwerpWinnen(layout) {
|
|
421
431
|
if (!layout)
|
|
@@ -440,6 +450,13 @@ async function zoekLayout(db, job) {
|
|
|
440
450
|
throw new WachtOpLayoutFout("Wacht op layout_id van de Logistics Engine. Deze taak wordt niet met een vervangende layout uitgevoerd.");
|
|
441
451
|
}
|
|
442
452
|
const voorbeeld = !engineJob && heeftEigenOpmaak && isVoorbeeldAfdruk(job);
|
|
453
|
+
// 1.69.20: "Voorbeeld printen" gebruikt het geopende ontwerp (maat en soort),
|
|
454
|
+
// nooit de standaardlayout van de documentsoort. De meegestuurde opmaak blijft leidend.
|
|
455
|
+
if (!id && voorbeeld && isOntwerperVoorbeeld(job)) {
|
|
456
|
+
const vl = String(job.payload?.voorbeeld_layout_id ?? "").trim();
|
|
457
|
+
if (/^[0-9a-f-]{36}$/i.test(vl))
|
|
458
|
+
id = vl;
|
|
459
|
+
}
|
|
443
460
|
if (id) {
|
|
444
461
|
const { data } = await db
|
|
445
462
|
.from("document_layouts")
|
|
@@ -457,11 +474,14 @@ async function zoekLayout(db, job) {
|
|
|
457
474
|
};
|
|
458
475
|
}
|
|
459
476
|
const documenttype = normaliseerDocumenttype(leesDocumentCode(job) || job.documenttype);
|
|
477
|
+
// Standaardontwerpen van Flow Selections (bron flowselections) worden alleen
|
|
478
|
+
// via de keuzeregel gekozen, nooit als standaardlayout van de soort.
|
|
460
479
|
const { data } = await db
|
|
461
480
|
.from("document_layouts")
|
|
462
481
|
.select("*")
|
|
463
482
|
.eq("documenttype", documenttype)
|
|
464
483
|
.eq("actief", true)
|
|
484
|
+
.or("bron.is.null,bron.neq.flowselections")
|
|
465
485
|
.order("is_standaard", { ascending: false })
|
|
466
486
|
.order("updated_at", { ascending: false })
|
|
467
487
|
.limit(1);
|
|
@@ -1071,6 +1091,30 @@ export async function bouwHtml(db, job, keuze, uitkomst) {
|
|
|
1071
1091
|
noteer("eigen_layout");
|
|
1072
1092
|
return controlelijstHtml(p, cfg);
|
|
1073
1093
|
}
|
|
1094
|
+
// Stickerontwerp met velden (fs_sticker, 1.69.20): standaardontwerpen van
|
|
1095
|
+
// Flow Selections en de stickerontwerper; opgemaakt op de maat van de layout
|
|
1096
|
+
// (bij een standaardontwerp is dat de maat van de rol).
|
|
1097
|
+
const fsSticker = leesStickerOntwerp(cfg);
|
|
1098
|
+
if (fsSticker) {
|
|
1099
|
+
const velden = fsSticker.velden.length ? fsSticker.velden : VELDEN_PER_KLASSE[fsSticker.klasse ?? "middel"];
|
|
1100
|
+
let gegevens = stickerGegevens(p);
|
|
1101
|
+
if (isTestprintJob(job) || isOntwerperVoorbeeld(job)) {
|
|
1102
|
+
gegevens = { ...VOORBEELD_STICKER };
|
|
1103
|
+
}
|
|
1104
|
+
else if (!gegevens.klantnaam || !gegevens.leverdatum) {
|
|
1105
|
+
const order = await laadOrderVanuitDatabase(db, p).catch(() => null);
|
|
1106
|
+
if (order)
|
|
1107
|
+
gegevens = stickerGegevens(p, order);
|
|
1108
|
+
}
|
|
1109
|
+
const inst = await bedrijfsInstelling(db).catch(() => null);
|
|
1110
|
+
let logoSrc = null;
|
|
1111
|
+
if (velden.includes("logo") && inst?.logoId) {
|
|
1112
|
+
const logos = await logosVoor(db, { config: { logo: { logoId: inst.logoId } } }).catch(() => []);
|
|
1113
|
+
logoSrc = logos.find((l) => l.id === inst.logoId)?.viewUrl ?? null;
|
|
1114
|
+
}
|
|
1115
|
+
noteer("eigen_layout");
|
|
1116
|
+
return stickerOntwerpHtml(gegevens, velden, { breedte_mm: breedteMm, hoogte_mm: hoogteMm }, { naam: String(inst?.naam ?? ""), logoSrc });
|
|
1117
|
+
}
|
|
1074
1118
|
// Stickers met "kies altijd de layout van de klant": meegestuurde opmaak van
|
|
1075
1119
|
// de klant wint. Is er niets meegestuurd, dan bepaalt de terugvalkeuze of we
|
|
1076
1120
|
// deze layout gebruiken of de opdracht netjes laten mislukken.
|
|
@@ -1289,6 +1333,7 @@ export async function bouwHtml(db, job, keuze, uitkomst) {
|
|
|
1289
1333
|
{
|
|
1290
1334
|
...gekozenKar,
|
|
1291
1335
|
barcode,
|
|
1336
|
+
...(await ladingdragerVoorKar(db, job, p, gekozenKar, engineCart, karIndex)),
|
|
1292
1337
|
...(karLabel ? { cart_label: karLabel } : {}),
|
|
1293
1338
|
...(karIndex ? { cart_index: karIndex } : {}),
|
|
1294
1339
|
...(karTotaal ? { cart_total: karTotaal } : {}),
|
|
@@ -1695,7 +1740,7 @@ async function verwerkJob(db, job) {
|
|
|
1695
1740
|
throw new GeenDocumentFout(STICKER_MAAT_ONBEKEND);
|
|
1696
1741
|
await faseLog(db, job.id, "sticker_maat", { bron: stickerMaat.bron, breedte_mm: stickerMaat.breedte_mm, hoogte_mm: stickerMaat.hoogte_mm });
|
|
1697
1742
|
}
|
|
1698
|
-
else if (!klaar && layout?.config?.eigen_sticker) {
|
|
1743
|
+
else if (!klaar && layout?.config?.eigen_sticker && !isOntwerperVoorbeeld(job)) {
|
|
1699
1744
|
// Eigen sticker: werkelijke maat van de geüploade sticker; die kiest de
|
|
1700
1745
|
// printer en gaat door de etiketcontrole. Onbekend = niet printen.
|
|
1701
1746
|
const m = await zoekEigenStickerMaat(db, (job.payload ?? {}));
|
|
@@ -1713,7 +1758,7 @@ async function verwerkJob(db, job) {
|
|
|
1713
1758
|
}
|
|
1714
1759
|
}
|
|
1715
1760
|
klok.markeer("printer_resolved");
|
|
1716
|
-
|
|
1761
|
+
let printer = printerKeuze.printer;
|
|
1717
1762
|
if (!printer || !printer.extern_printer_id) {
|
|
1718
1763
|
await mislukt(db, job, printerKeuze.reden ||
|
|
1719
1764
|
`Printer '${printer?.naam ?? "onbekend"}' is niet aan PrintNode gekoppeld.`, true);
|
|
@@ -1725,9 +1770,36 @@ async function verwerkJob(db, job) {
|
|
|
1725
1770
|
await log(db, job.id, "annulering_bevestigd", "Niet afgeleverd: opdracht was geannuleerd.");
|
|
1726
1771
|
return "wachtend";
|
|
1727
1772
|
}
|
|
1773
|
+
// 1.69.20: één keuzeregel voor ontwerp + printer (stap 1–5).
|
|
1774
|
+
let ontwerpKeuze = null;
|
|
1775
|
+
let naarA4 = null;
|
|
1776
|
+
if (keuzeRegelGeldt(job)) {
|
|
1777
|
+
const k = await bepaalOntwerpKeuze(db, job, layout, printer, stickerMaat, !!klaar);
|
|
1778
|
+
if (k) {
|
|
1779
|
+
ontwerpKeuze = k.keuze;
|
|
1780
|
+
await log(db, job.id, "waarom", k.keuze.reden);
|
|
1781
|
+
for (const w of k.keuze.waarschuwingen)
|
|
1782
|
+
await log(db, job.id, "waarschuwing", w);
|
|
1783
|
+
if (k.keuze.stap === 5) {
|
|
1784
|
+
await db.from("print_jobs").update({ ontwerp_keuze: ontwerpKeuzeVoorOpslag(k.keuze) }).eq("id", job.id);
|
|
1785
|
+
await geweigerd(db, job, "FORMAAT_PAST_NIET", k.keuze.reden);
|
|
1786
|
+
return "mislukt";
|
|
1787
|
+
}
|
|
1788
|
+
if (k.printer)
|
|
1789
|
+
printer = k.printer;
|
|
1790
|
+
if (k.layout) {
|
|
1791
|
+
layout = k.layout;
|
|
1792
|
+
keuze.layout = k.layout;
|
|
1793
|
+
keuze.ontwerpWint = true;
|
|
1794
|
+
stickerMaat = null;
|
|
1795
|
+
}
|
|
1796
|
+
if (k.keuze.stap === 4)
|
|
1797
|
+
naarA4 = k.printer;
|
|
1798
|
+
}
|
|
1799
|
+
}
|
|
1728
1800
|
// Labelprinter: het geladen etiket is leidend (punt "geladen etiket").
|
|
1729
|
-
const label = await labelControleVoorbereiden(db, printer);
|
|
1730
|
-
if (!label && ETIKET_PDF_SOORTEN.has(String(job.documenttype ?? ""))) {
|
|
1801
|
+
const label = naarA4 ? null : await labelControleVoorbereiden(db, printer);
|
|
1802
|
+
if (!naarA4 && !label && ETIKET_PDF_SOORTEN.has(String(job.documenttype ?? ""))) {
|
|
1731
1803
|
await geweigerd(db, job, "GEEN_GELADEN_ETIKET", `${documentTypeLabelVoor(String(job.documenttype))} gaat alleen naar een labelprinter met een ingesteld geladen etiket; printer ${String(printer.naam ?? printer.id)} heeft er geen.`);
|
|
1732
1804
|
return "mislukt";
|
|
1733
1805
|
}
|
|
@@ -1806,7 +1878,30 @@ async function verwerkJob(db, job) {
|
|
|
1806
1878
|
const fitToPage = false;
|
|
1807
1879
|
let kopieenNaarPrinter = Number(job.kopieen ?? 1);
|
|
1808
1880
|
let papier = kiesPapier(formaten, breedteMm, hoogteMm);
|
|
1809
|
-
if (
|
|
1881
|
+
if (naarA4) {
|
|
1882
|
+
// Stap 4 van de keuzeregel: A4 met snijlijnen (of het A4-stickervel van de printplek), 1-op-1.
|
|
1883
|
+
const maat = stickerMaat ?? pdfPaginaMm(pdfBase64) ?? afdrukMaat(kiesFormaat(job, layout));
|
|
1884
|
+
const plekId = leesPrintPlekId(job) || (await zoekPrintPlekId(db, job).catch(() => null));
|
|
1885
|
+
const vel = plekId ? await leesA4Stickervel(db, String(plekId)) : null;
|
|
1886
|
+
const velIndeling = a4VelVoor(vel, maat);
|
|
1887
|
+
uitwijk = kiesUitwijkroute({
|
|
1888
|
+
sticker: maat,
|
|
1889
|
+
etiketten: [],
|
|
1890
|
+
a4Printer: { naam: String(naarA4.weergavenaam || naarA4.naam || "A4-printer"), id: String(naarA4.id) },
|
|
1891
|
+
a4VelIngesteld: !!velIndeling,
|
|
1892
|
+
a4VelIndeling: velIndeling,
|
|
1893
|
+
instelling: null,
|
|
1894
|
+
});
|
|
1895
|
+
if (uitwijk) {
|
|
1896
|
+
doelPrinter = naarA4;
|
|
1897
|
+
const geplaatst = await voerUitwijkUit(pdfBase64, uitwijk, maat, Number(job.kopieen ?? 1));
|
|
1898
|
+
pdfBase64 = geplaatst.pdfBase64;
|
|
1899
|
+
kopieenNaarPrinter = geplaatst.kopieen;
|
|
1900
|
+
papier = { paper: uitwijk.paper || null, rotate: 0, uitleg: uitwijk.reden };
|
|
1901
|
+
await log(db, job.id, "uitwijk", `${uitwijk.reden} (${uitwijk.printerNaam}).`);
|
|
1902
|
+
}
|
|
1903
|
+
}
|
|
1904
|
+
else if (label) {
|
|
1810
1905
|
const maat = stickerMaat ?? (klaar ? pdfPaginaMm(pdfBase64) : null) ?? { breedte_mm: breedteMm, hoogte_mm: hoogteMm };
|
|
1811
1906
|
const uit = etiketPast({ ...maat, soortLabel: stickerCache?.sticker_type ? stickerTypeLabel(stickerCache.sticker_type) : documentTypeLabelVoor(String(job.documenttype ?? "Document")) }, label.etiket, label.naam, !!stickerMaat);
|
|
1812
1907
|
if (label.etiket && ETIKET_PDF_SOORTEN.has(String(job.documenttype ?? "")) && (uit.ok || uit.code === "FORMAAT_PAST_NIET")) {
|
|
@@ -1884,6 +1979,7 @@ async function verwerkJob(db, job) {
|
|
|
1884
1979
|
gebruikte_bron: uitkomst.bron,
|
|
1885
1980
|
extern_job_id: externJobId,
|
|
1886
1981
|
printer_keuze: await printerKeuzeVoor(db, job, doelPrinter, uitwijk),
|
|
1982
|
+
...(ontwerpKeuze ? { ontwerp_keuze: ontwerpKeuzeVoorOpslag(ontwerpKeuze) } : {}),
|
|
1887
1983
|
printnode_status: "new",
|
|
1888
1984
|
printnode_status_op: new Date().toISOString(),
|
|
1889
1985
|
verloopt_na_s: verloopt,
|
|
@@ -2450,3 +2546,176 @@ function leesWerkplekId(job) {
|
|
|
2450
2546
|
const v = String((job.payload ?? {})["werkplek_id"] ?? "").trim();
|
|
2451
2547
|
return /^[0-9a-f-]{36}$/i.test(v) ? v : null;
|
|
2452
2548
|
}
|
|
2549
|
+
// ============================================================================
|
|
2550
|
+
// 1.69.20 — keuzeregel ontwerp + printer (zie ontwerpKeuze.ts).
|
|
2551
|
+
// ============================================================================
|
|
2552
|
+
const KEUZE_PRINTER_VELDEN = "id, naam, weergavenaam, extern_printer_id, actief, papierformaat, ondersteunde_formaten, ondersteunde_laden, formaten_bijgewerkt_op, afdrukmethode, geladen_etiket";
|
|
2553
|
+
/** Geldt de keuzeregel? Niet voor een testprint op één printer en niet voor een testpagina. */
|
|
2554
|
+
export function keuzeRegelGeldt(job) {
|
|
2555
|
+
const p = (job.payload ?? {});
|
|
2556
|
+
if (p["is_testpagina"] === true)
|
|
2557
|
+
return false;
|
|
2558
|
+
if (p["is_testprint"] === true && p["uitwijk_test"] !== true)
|
|
2559
|
+
return false;
|
|
2560
|
+
return KEUZE_SOORTEN.has(normaliseerDocumenttype(leesDocumentCode(job) || job.documenttype));
|
|
2561
|
+
}
|
|
2562
|
+
const printerNaamVan = (p) => String(p.weergavenaam || p.naam || "Printer");
|
|
2563
|
+
/**
|
|
2564
|
+
* 1.69.20 (Engine 1.0.201): ladingdragerTekst per kar, bijvoorbeeld "Deense
|
|
2565
|
+
* container + 3 platen (3,2 lagen, 41 %)". Eerst uit de kar zelf, anders uit
|
|
2566
|
+
* logistics_cart_slip_plan. Ontbreekt het veld, dan niets (geen terugvaltekst).
|
|
2567
|
+
*/
|
|
2568
|
+
async function ladingdragerVoorKar(db, job, p, kar, engineCart, karIndex) {
|
|
2569
|
+
const uit = (k) => {
|
|
2570
|
+
const t = String(k?.ladingdragerTekst ?? k?.ladingdrager_tekst ?? "").trim();
|
|
2571
|
+
if (!t)
|
|
2572
|
+
return null;
|
|
2573
|
+
const extra = Number(k?.additionalLayers ?? k?.additional_layers);
|
|
2574
|
+
return { ladingdrager_tekst: t, ...(Number.isFinite(extra) ? { extra_platen: extra } : {}) };
|
|
2575
|
+
};
|
|
2576
|
+
const direct = uit(kar) ?? uit(engineCart ?? null);
|
|
2577
|
+
if (direct)
|
|
2578
|
+
return direct;
|
|
2579
|
+
const d = (p?.data && typeof p.data === "object" ? p.data : {});
|
|
2580
|
+
const orderId = String(d.orderId ?? d.order_id ?? p?.order_id ?? job.order_id ?? "").trim();
|
|
2581
|
+
if (!/^[0-9a-f-]{36}$/i.test(orderId))
|
|
2582
|
+
return {};
|
|
2583
|
+
try {
|
|
2584
|
+
const { data, error } = await db.rpc("logistics_cart_slip_plan", { p_order_id: orderId });
|
|
2585
|
+
if (error || !data || typeof data !== "object")
|
|
2586
|
+
return {};
|
|
2587
|
+
const carts = arr(data.carts);
|
|
2588
|
+
const id = String(kar?.cart_id ?? engineCart?.cart_id ?? "").trim();
|
|
2589
|
+
const nr = Number(karIndex ?? kar?.cart_index ?? 0) || 0;
|
|
2590
|
+
const match = (id && carts.find((c) => String(c.cartId ?? c.cart_id ?? "").trim() === id)) ||
|
|
2591
|
+
(nr && carts.find((c) => Number(c.cartNumber ?? c.cart_number ?? c.seq ?? 0) === nr)) ||
|
|
2592
|
+
(carts.length === 1 ? carts[0] : null);
|
|
2593
|
+
return uit(match) ?? {};
|
|
2594
|
+
}
|
|
2595
|
+
catch {
|
|
2596
|
+
return {};
|
|
2597
|
+
}
|
|
2598
|
+
}
|
|
2599
|
+
function kandidaatUitLayout(l, herkomst) {
|
|
2600
|
+
const m = afdrukMaat(l);
|
|
2601
|
+
const fs = leesStickerOntwerp(l.config);
|
|
2602
|
+
return { id: String(l.id), naam: String(l.naam ?? "Ontwerp"), breedte_mm: m.breedte_mm, hoogte_mm: m.hoogte_mm, herkomst, ...(fs?.klasse ? { klasse: fs.klasse } : {}) };
|
|
2603
|
+
}
|
|
2604
|
+
/**
|
|
2605
|
+
* Bepaalt ontwerp en printer voor een sticker-achtig document. Geeft null als
|
|
2606
|
+
* de regel niet van toepassing is (bijvoorbeeld een eigen traysticker, die al
|
|
2607
|
+
* op de maat van het etiket wordt opgebouwd).
|
|
2608
|
+
*/
|
|
2609
|
+
async function bepaalOntwerpKeuze(db, job, layout, printer, stickerMaat, klaar) {
|
|
2610
|
+
const type = normaliseerDocumenttype(leesDocumentCode(job) || job.documenttype);
|
|
2611
|
+
const cfg = (layout?.config ?? {});
|
|
2612
|
+
if (cfg.eigen_traysticker)
|
|
2613
|
+
return null;
|
|
2614
|
+
const voorbeeld = isOntwerperVoorbeeld(job);
|
|
2615
|
+
const vast = klaar || voorbeeld;
|
|
2616
|
+
// Printers van de printplek: de gerouteerde printer eerst.
|
|
2617
|
+
const plekId = leesPrintPlekId(job) || (await zoekPrintPlekId(db, job).catch(() => "")) || "";
|
|
2618
|
+
const ids = [String(printer.id)];
|
|
2619
|
+
const labelToegewezen = new Set();
|
|
2620
|
+
let a4 = null;
|
|
2621
|
+
let a4Terugval = true;
|
|
2622
|
+
if (plekId) {
|
|
2623
|
+
const { data: rijen } = await db.from("document_printplek_printers").select("printer_id, documenttype").eq("print_plek_id", plekId);
|
|
2624
|
+
for (const r of arr(rijen)) {
|
|
2625
|
+
if (!KEUZE_SOORTEN.has(String(r.documenttype)) || !r.printer_id)
|
|
2626
|
+
continue;
|
|
2627
|
+
labelToegewezen.add(String(r.printer_id));
|
|
2628
|
+
if (!ids.includes(String(r.printer_id)))
|
|
2629
|
+
ids.push(String(r.printer_id));
|
|
2630
|
+
}
|
|
2631
|
+
const { data: plek } = await db.from("print_plekken").select("a4_terugval").eq("id", plekId).maybeSingle();
|
|
2632
|
+
a4Terugval = plek?.a4_terugval !== false;
|
|
2633
|
+
const { data: a4Id } = await db.rpc("printplek_printer", { _plek: plekId, _documenttype: "pakbon" });
|
|
2634
|
+
if (typeof a4Id === "string") {
|
|
2635
|
+
const { data } = await db.from("printers").select(KEUZE_PRINTER_VELDEN).eq("id", a4Id).maybeSingle();
|
|
2636
|
+
a4 = data && data.actief !== false && data.extern_printer_id ? data : null;
|
|
2637
|
+
}
|
|
2638
|
+
}
|
|
2639
|
+
const { data: pr } = await db.from("printers").select(KEUZE_PRINTER_VELDEN).in("id", ids);
|
|
2640
|
+
const perId = new Map(arr(pr).map((p) => [String(p.id), p]));
|
|
2641
|
+
perId.set(String(printer.id), printer);
|
|
2642
|
+
const rolPrinters = [];
|
|
2643
|
+
for (const id of ids) {
|
|
2644
|
+
const p = perId.get(id);
|
|
2645
|
+
if (!p || p.actief === false || !p.extern_printer_id)
|
|
2646
|
+
continue;
|
|
2647
|
+
const e = leesGeladenEtiket(p.geladen_etiket);
|
|
2648
|
+
// Een printer zonder rol telt alleen mee (als "formaat onbekend") als hij voor stickers is ingesteld.
|
|
2649
|
+
if (!e && !labelToegewezen.has(id))
|
|
2650
|
+
continue;
|
|
2651
|
+
if (!e && a4 && String(a4.id) === id)
|
|
2652
|
+
continue;
|
|
2653
|
+
rolPrinters.push({ id, naam: printerNaamVan(p), breedte_mm: e?.breedte_mm ?? null, hoogte_mm: e?.hoogte_mm ?? null });
|
|
2654
|
+
}
|
|
2655
|
+
// Ontwerpen.
|
|
2656
|
+
const documentLabel = klaar ? (type === "traysticker" ? "Floriday-traysticker" : "Floriday-sticker") : documentTypeLabelVoor(type);
|
|
2657
|
+
let klant = null;
|
|
2658
|
+
const kweker = [];
|
|
2659
|
+
if (stickerMaat) {
|
|
2660
|
+
klant = { id: layout?.id ? String(layout.id) : null, naam: String(layout?.naam ?? documentLabel), breedte_mm: stickerMaat.breedte_mm, hoogte_mm: stickerMaat.hoogte_mm, herkomst: "klant" };
|
|
2661
|
+
}
|
|
2662
|
+
else if (layout && (voorbeeld || isEngineOpdracht(job) || cfg.klantlayout?.gebruik_klantlayout === true)) {
|
|
2663
|
+
klant = kandidaatUitLayout(layout, "klant");
|
|
2664
|
+
}
|
|
2665
|
+
else if (layout && String(layout.bron ?? "eigen") !== "flowselections") {
|
|
2666
|
+
kweker.push(kandidaatUitLayout(layout, "kweker"));
|
|
2667
|
+
}
|
|
2668
|
+
const rijen = new Map();
|
|
2669
|
+
const standaard = [];
|
|
2670
|
+
if (!vast) {
|
|
2671
|
+
const { data: eigen } = await db
|
|
2672
|
+
.from("document_layouts")
|
|
2673
|
+
.select("*")
|
|
2674
|
+
.eq("documenttype", type)
|
|
2675
|
+
.eq("actief", true)
|
|
2676
|
+
.order("is_standaard", { ascending: false })
|
|
2677
|
+
.order("updated_at", { ascending: false });
|
|
2678
|
+
for (const l of arr(eigen)) {
|
|
2679
|
+
rijen.set(String(l.id), l);
|
|
2680
|
+
const c = (l.config ?? {});
|
|
2681
|
+
if (String(l.bron ?? "eigen") === "flowselections") {
|
|
2682
|
+
standaard.push(kandidaatUitLayout(l, "standaard"));
|
|
2683
|
+
continue;
|
|
2684
|
+
}
|
|
2685
|
+
if (l.systeem === true || String(l.bron ?? "eigen") !== "eigen")
|
|
2686
|
+
continue;
|
|
2687
|
+
if (String(l.id) === String(layout?.id ?? "") || c.eigen_sticker || c.eigen_traysticker || c.klantlayout?.gebruik_klantlayout === true)
|
|
2688
|
+
continue;
|
|
2689
|
+
if (!(Number(l.breedte_mm) > 0) || !(Number(l.hoogte_mm) > 0))
|
|
2690
|
+
continue;
|
|
2691
|
+
kweker.push(kandidaatUitLayout(l, "kweker"));
|
|
2692
|
+
}
|
|
2693
|
+
}
|
|
2694
|
+
const keuze = kiesOntwerpEnPrinter({
|
|
2695
|
+
documentLabel,
|
|
2696
|
+
klant,
|
|
2697
|
+
kweker,
|
|
2698
|
+
standaard,
|
|
2699
|
+
printers: rolPrinters,
|
|
2700
|
+
a4Printer: a4 ? { id: String(a4.id), naam: printerNaamVan(a4) } : null,
|
|
2701
|
+
a4Terugval,
|
|
2702
|
+
vastFormaat: vast,
|
|
2703
|
+
});
|
|
2704
|
+
let nieuwePrinter = null;
|
|
2705
|
+
if (keuze.stap === 4)
|
|
2706
|
+
nieuwePrinter = a4;
|
|
2707
|
+
else if (keuze.printer && keuze.printer.id !== String(printer.id))
|
|
2708
|
+
nieuwePrinter = perId.get(keuze.printer.id) ?? null;
|
|
2709
|
+
let nieuweLayout = null;
|
|
2710
|
+
const gekozenId = keuze.ontwerp?.id ?? null;
|
|
2711
|
+
if ((keuze.stap === 2 || keuze.stap === 3) && gekozenId && gekozenId !== String(layout?.id ?? "")) {
|
|
2712
|
+
const rij = rijen.get(gekozenId);
|
|
2713
|
+
if (rij) {
|
|
2714
|
+
nieuweLayout =
|
|
2715
|
+
keuze.stap === 3 && keuze.opmaak_breedte_mm && keuze.opmaak_hoogte_mm
|
|
2716
|
+
? { ...rij, breedte_mm: keuze.opmaak_breedte_mm, hoogte_mm: keuze.opmaak_hoogte_mm, orientatie: "portrait" }
|
|
2717
|
+
: rij;
|
|
2718
|
+
}
|
|
2719
|
+
}
|
|
2720
|
+
return { keuze, printer: nieuwePrinter, layout: nieuweLayout };
|
|
2721
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { FormaatKlasse } from "./etiketRollen.js";
|
|
2
|
+
export declare const STICKER_VELDEN: readonly [{
|
|
3
|
+
readonly veld: "logo";
|
|
4
|
+
readonly label: "Logo";
|
|
5
|
+
}, {
|
|
6
|
+
readonly veld: "bedrijfsnaam";
|
|
7
|
+
readonly label: "Bedrijfsnaam";
|
|
8
|
+
}, {
|
|
9
|
+
readonly veld: "klantnaam";
|
|
10
|
+
readonly label: "Klant";
|
|
11
|
+
}, {
|
|
12
|
+
readonly veld: "ordernummer";
|
|
13
|
+
readonly label: "Order";
|
|
14
|
+
}, {
|
|
15
|
+
readonly veld: "leverdatum";
|
|
16
|
+
readonly label: "Leverdatum";
|
|
17
|
+
}, {
|
|
18
|
+
readonly veld: "afleverlocatie";
|
|
19
|
+
readonly label: "Afleverlocatie";
|
|
20
|
+
}, {
|
|
21
|
+
readonly veld: "product";
|
|
22
|
+
readonly label: "Product";
|
|
23
|
+
}, {
|
|
24
|
+
readonly veld: "planten_per_fust";
|
|
25
|
+
readonly label: "Planten per fust";
|
|
26
|
+
}, {
|
|
27
|
+
readonly veld: "fust";
|
|
28
|
+
readonly label: "Fust x van y";
|
|
29
|
+
}, {
|
|
30
|
+
readonly veld: "barcode";
|
|
31
|
+
readonly label: "Barcode (Code128)";
|
|
32
|
+
}];
|
|
33
|
+
export type StickerVeld = (typeof STICKER_VELDEN)[number]["veld"];
|
|
34
|
+
/** Velden per klasse (gelijk aan de standaardontwerpen in de database). */
|
|
35
|
+
export declare const VELDEN_PER_KLASSE: Record<FormaatKlasse, StickerVeld[]>;
|
|
36
|
+
/** Leest config.fs_sticker; null als het geen stickerontwerp is. */
|
|
37
|
+
export declare function leesStickerOntwerp(cfg: unknown): {
|
|
38
|
+
klasse: FormaatKlasse | null;
|
|
39
|
+
velden: StickerVeld[];
|
|
40
|
+
} | null;
|
|
41
|
+
export interface StickerGegevens {
|
|
42
|
+
klantnaam: string;
|
|
43
|
+
ordernummer: string;
|
|
44
|
+
leverdatum: string;
|
|
45
|
+
afleverlocatie: string;
|
|
46
|
+
product: string;
|
|
47
|
+
planten_per_fust: string;
|
|
48
|
+
fust_nummer: string;
|
|
49
|
+
fust_totaal: string;
|
|
50
|
+
barcode: string;
|
|
51
|
+
}
|
|
52
|
+
/** Gegevens uit de opdracht (en eventueel de order); lege velden blijven leeg. */
|
|
53
|
+
export declare function stickerGegevens(payload: unknown, order?: unknown): StickerGegevens;
|
|
54
|
+
/** Voorbeeldgegevens: geen echte order, geen echte namen. */
|
|
55
|
+
export declare const VOORBEELD_STICKER: StickerGegevens;
|
|
56
|
+
/**
|
|
57
|
+
* HTML van een stickerontwerp op een vaste maat (mm). Lettergrootte en
|
|
58
|
+
* barcodehoogte volgen de maat van het etiket; nooit buiten het etiket.
|
|
59
|
+
*/
|
|
60
|
+
export declare function stickerOntwerpHtml(g: StickerGegevens, velden: StickerVeld[], maat: {
|
|
61
|
+
breedte_mm: number;
|
|
62
|
+
hoogte_mm: number;
|
|
63
|
+
}, bedrijf?: {
|
|
64
|
+
naam?: string;
|
|
65
|
+
logoSrc?: string | null;
|
|
66
|
+
}): string;
|
|
67
|
+
//# sourceMappingURL=stickerOntwerp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stickerOntwerp.d.ts","sourceRoot":"","sources":["../../src/lib/stickerOntwerp.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWjB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,2EAA2E;AAC3E,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE,CAIlE,CAAC;AAQF,oEAAoE;AACpE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,WAAW,EAAE,CAAA;CAAE,GAAG,IAAI,CAO/G;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,GAAE,OAAc,GAAG,eAAe,CAoBxF;AAED,6DAA6D;AAC7D,eAAO,MAAM,iBAAiB,EAAE,eAU/B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,EAAE,eAAe,EAClB,MAAM,EAAE,WAAW,EAAE,EACrB,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC/C,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GACvD,MAAM,CAsBR"}
|