@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.
Files changed (83) hide show
  1. package/dist-lib/components/FormaatOrientatieBar.d.ts.map +1 -1
  2. package/dist-lib/components/FormaatOrientatieBar.js +10 -7
  3. package/dist-lib/components/GeladenEtiketTab.d.ts.map +1 -1
  4. package/dist-lib/components/GeladenEtiketTab.js +3 -1
  5. package/dist-lib/components/InstelOverzichtKaart.d.ts +12 -0
  6. package/dist-lib/components/InstelOverzichtKaart.d.ts.map +1 -0
  7. package/dist-lib/components/InstelOverzichtKaart.js +78 -0
  8. package/dist-lib/components/KlaarOmTePrintenBlok.d.ts.map +1 -1
  9. package/dist-lib/components/KlaarOmTePrintenBlok.js +2 -1
  10. package/dist-lib/components/LayoutsPage.d.ts.map +1 -1
  11. package/dist-lib/components/LayoutsPage.js +29 -5
  12. package/dist-lib/components/PakbonBuilderPage.d.ts.map +1 -1
  13. package/dist-lib/components/PakbonBuilderPage.js +9 -1
  14. package/dist-lib/components/PrintersPage.d.ts.map +1 -1
  15. package/dist-lib/components/PrintersPage.js +3 -2
  16. package/dist-lib/components/PrintplekDetailPage.d.ts.map +1 -1
  17. package/dist-lib/components/PrintplekDetailPage.js +5 -9
  18. package/dist-lib/components/RolKeuze.d.ts +9 -0
  19. package/dist-lib/components/RolKeuze.d.ts.map +1 -0
  20. package/dist-lib/components/RolKeuze.js +91 -0
  21. package/dist-lib/components/StickerOntwerpPage.d.ts +4 -0
  22. package/dist-lib/components/StickerOntwerpPage.d.ts.map +1 -0
  23. package/dist-lib/components/StickerOntwerpPage.js +77 -0
  24. package/dist-lib/components/SysteemLayoutMelding.d.ts +1 -1
  25. package/dist-lib/components/SysteemLayoutMelding.d.ts.map +1 -1
  26. package/dist-lib/components/WerkplekConfiguratiePage.d.ts.map +1 -1
  27. package/dist-lib/components/WerkplekConfiguratiePage.js +15 -7
  28. package/dist-lib/index.d.ts +5 -0
  29. package/dist-lib/index.d.ts.map +1 -1
  30. package/dist-lib/index.js +5 -0
  31. package/dist-lib/integrations/supabase/types.d.ts +621 -120
  32. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  33. package/dist-lib/lib/directPrint.d.ts.map +1 -1
  34. package/dist-lib/lib/directPrint.js +19 -0
  35. package/dist-lib/lib/etiketRollen.d.ts +41 -0
  36. package/dist-lib/lib/etiketRollen.d.ts.map +1 -0
  37. package/dist-lib/lib/etiketRollen.js +64 -0
  38. package/dist-lib/lib/formaatWeergave.d.ts +24 -0
  39. package/dist-lib/lib/formaatWeergave.d.ts.map +1 -0
  40. package/dist-lib/lib/formaatWeergave.js +24 -0
  41. package/dist-lib/lib/instelOverzicht.d.ts +45 -0
  42. package/dist-lib/lib/instelOverzicht.d.ts.map +1 -0
  43. package/dist-lib/lib/instelOverzicht.js +106 -0
  44. package/dist-lib/lib/ontwerpKeuze.d.ts +80 -0
  45. package/dist-lib/lib/ontwerpKeuze.d.ts.map +1 -0
  46. package/dist-lib/lib/ontwerpKeuze.js +193 -0
  47. package/dist-lib/lib/pakbonBuilder.d.ts +6 -0
  48. package/dist-lib/lib/pakbonBuilder.d.ts.map +1 -1
  49. package/dist-lib/lib/pakbonBuilder.js +15 -0
  50. package/dist-lib/lib/pakbonContent.d.ts.map +1 -1
  51. package/dist-lib/lib/pakbonContent.js +2 -1
  52. package/dist-lib/lib/pakbonHtml.d.ts.map +1 -1
  53. package/dist-lib/lib/pakbonHtml.js +3 -1
  54. package/dist-lib/lib/pakbonPresentation.d.ts.map +1 -1
  55. package/dist-lib/lib/pakbonPresentation.js +3 -0
  56. package/dist-lib/lib/printQueue.server.d.ts +4 -0
  57. package/dist-lib/lib/printQueue.server.d.ts.map +1 -1
  58. package/dist-lib/lib/printQueue.server.js +274 -5
  59. package/dist-lib/lib/stickerOntwerp.d.ts +67 -0
  60. package/dist-lib/lib/stickerOntwerp.d.ts.map +1 -0
  61. package/dist-lib/lib/stickerOntwerp.js +109 -0
  62. package/dist-lib/lib/stickerRoute.d.ts +3 -0
  63. package/dist-lib/lib/stickerRoute.d.ts.map +1 -0
  64. package/dist-lib/lib/stickerRoute.js +5 -0
  65. package/dist-lib/lib/stickerUitwijk.d.ts +5 -0
  66. package/dist-lib/lib/stickerUitwijk.d.ts.map +1 -1
  67. package/dist-lib/lib/stickerUitwijk.js +12 -1
  68. package/dist-lib/lib/testpagina.d.ts +7 -1
  69. package/dist-lib/lib/testpagina.d.ts.map +1 -1
  70. package/dist-lib/lib/testpagina.js +39 -5
  71. package/dist-lib/lib/useNetwerkPrinters.d.ts +1 -0
  72. package/dist-lib/lib/useNetwerkPrinters.d.ts.map +1 -1
  73. package/dist-lib/lib/useNetwerkPrinters.js +11 -3
  74. package/dist-lib/lib/versie.generated.d.ts +1 -1
  75. package/dist-lib/lib/versie.generated.js +1 -1
  76. package/dist-lib/lib/voorbeeldPrint.d.ts.map +1 -1
  77. package/dist-lib/lib/voorbeeldPrint.js +53 -3
  78. package/dist-lib/lib/werkplekken.d.ts +5 -1
  79. package/dist-lib/lib/werkplekken.d.ts.map +1 -1
  80. package/dist-lib/lib/werkplekken.js +1 -1
  81. package/package.json +6 -1
  82. package/sql/print-schema.sql +320 -162
  83. 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,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"}
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,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"}
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,CAwBpE;AACD,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAKzD"}
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":"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"}
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
- const printer = printerKeuze.printer;
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 (label) {
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"}