@flowselections/layout-maker 1.65.2 → 1.66.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"PakbonPreview.d.ts","sourceRoot":"","sources":["../../src/components/PakbonPreview.tsx"],"names":[],"mappings":"AAKA,OAAO,EA0BL,KAAK,YAAY,EAEjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AA6B9B,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,SAAe,EACf,QAAc,EACd,OAAc,GACf,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACtC,+BAiJA;AAiLD,oEAAoE;AACpE,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAmCA"}
1
+ {"version":3,"file":"PakbonPreview.d.ts","sourceRoot":"","sources":["../../src/components/PakbonPreview.tsx"],"names":[],"mappings":"AAKA,OAAO,EA8BL,KAAK,YAAY,EAEjB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AA6B9B,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,SAAe,EACf,QAAc,EACd,OAAc,GACf,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;CACtC,+BAiJA;AAiLD,oEAAoE;AACpE,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAmCA"}
@@ -4,7 +4,7 @@ import { PaginaDocument } from "./PaginaDocument.js";
4
4
  import { useLogos } from "../lib/logoLibrary.js";
5
5
  import { code128Bars } from "../lib/code128.js";
6
6
  import { karMetadata } from "../lib/pakbonPresentation.js";
7
- import { DEMO_ORDER, deelkarVoorbeeldOrder, conditieContext, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karBundelTekst, fustVerzamellijst, fustRegels, FUSTREGEL_LABELS, FUSTREGEL_RECHTS, pickMethode, pakbonLayoutVariant, productVeldBreedtes, sectieOnderdruktVoorVariant, karKopNummer, kolomLabel, laagBundelTekst, sectieZichtbaar, sorteerProducten, totalen, vulVeldcodes, } from "../lib/pakbonBuilder.js";
7
+ import { DEMO_ORDER, deelkarVoorbeeldOrder, conditieContext, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karBundelTekst, fustVerzamellijst, fustRegels, FUSTREGEL_LABELS, FUSTREGEL_RECHTS, pickMethode, pakbonLayoutVariant, productVeldBreedtes, onderdeelCellen, onderdeelVelden, samenstellingTonen, voegProductSamen, sectieOnderdruktVoorVariant, karKopNummer, kolomLabel, laagBundelTekst, sectieZichtbaar, sorteerProducten, totalen, vulVeldcodes, } from "../lib/pakbonBuilder.js";
8
8
  /** Voorbeeldbarcode: alleen bedoeld om de plek en hoogte te tonen. */
9
9
  function BarcodeStrepen({ waarde, hoogteMm = 15 }) {
10
10
  const bars = code128Bars(waarde);
@@ -344,10 +344,8 @@ function ProductenView({ sectie, laag, toonKop = true, }) {
344
344
  const map = new Map();
345
345
  for (const p of producten) {
346
346
  const bestaand = map.get(p.artikelnummer);
347
- if (bestaand) {
348
- bestaand.aantal += p.aantal;
349
- bestaand.fust_aantal += p.fust_aantal;
350
- }
347
+ if (bestaand)
348
+ voegProductSamen(bestaand, p);
351
349
  else
352
350
  map.set(p.artikelnummer, { ...p });
353
351
  }
@@ -364,10 +362,15 @@ function ProductenView({ sectie, laag, toonKop = true, }) {
364
362
  };
365
363
  const label = (v) => (v === "foto" ? "Foto" : v === "qrcode" ? "QR-code" : kolomLabel(v));
366
364
  const breedtes = productVeldBreedtes(velden);
365
+ const sub = samenstellingTonen(sectie.opties) ? onderdeelVelden(sectie.opties) : null;
366
+ const subRijen = (p) => sub && p.onderdelen?.length ? p.onderdelen.map((o) => onderdeelCellen(o, velden, sub)) : [];
367
367
  if (weergave === "tabel") {
368
- return (_jsxs("table", { className: "w-full table-fixed border-collapse", children: [_jsx("colgroup", { children: velden.map((veld, index) => (_jsx("col", { style: { width: `${breedtes[index]}%` } }, veld))) }), toonKop && (_jsx("thead", { children: _jsx("tr", { children: velden.map((v) => (_jsx("th", { className: "break-words border-b px-1 py-0.5 text-left text-[9px] text-muted-foreground", children: label(v) }, v))) }) })), _jsx("tbody", { children: producten.map((p, i) => (_jsx("tr", { children: velden.map((v) => (_jsx("td", { className: "break-words border-b px-1 py-0.5 align-top", children: cel(p, v) }, v))) }, `${p.artikelnummer}-${i}`))) })] }));
368
+ return (_jsxs("table", { className: "w-full table-fixed border-collapse", children: [_jsx("colgroup", { children: velden.map((veld, index) => (_jsx("col", { style: { width: `${breedtes[index]}%` } }, veld))) }), toonKop && (_jsx("thead", { children: _jsx("tr", { children: velden.map((v) => (_jsx("th", { className: "break-words border-b px-1 py-0.5 text-left text-[9px] text-muted-foreground", children: label(v) }, v))) }) })), _jsx("tbody", { children: producten.flatMap((p, i) => [
369
+ _jsx("tr", { children: velden.map((v) => (_jsx("td", { className: "break-words border-b px-1 py-0.5 align-top", children: cel(p, v) }, v))) }, `${p.artikelnummer}-${i}`),
370
+ ...subRijen(p).map((r, j) => (_jsx("tr", { className: "text-[0.88em] text-muted-foreground", children: r.map((w, k) => (_jsx("td", { className: "break-words border-b px-1 py-0.5 align-top", children: w }, k))) }, `${p.artikelnummer}-${i}-o${j}`))),
371
+ ]) })] }));
369
372
  }
370
- return (_jsx("div", { className: weergave === "naast" ? "grid grid-cols-2 gap-1" : "space-y-0.5", children: producten.map((p, i) => (_jsx("div", { className: "flex gap-2", children: velden.map((v) => (_jsx("span", { children: cel(p, v) }, v))) }, `${p.artikelnummer}-${i}`))) }));
373
+ return (_jsx("div", { className: weergave === "naast" ? "grid grid-cols-2 gap-1" : "space-y-0.5", children: producten.map((p, i) => (_jsxs("div", { children: [_jsx("div", { className: "flex gap-2", children: velden.map((v) => (_jsx("span", { children: cel(p, v) }, v))) }), subRijen(p).map((r, j) => (_jsx("div", { className: "pl-3 text-[0.88em] text-muted-foreground", children: r.filter(Boolean).join(" · ") }, j)))] }, `${p.artikelnummer}-${i}`))) }));
371
374
  }
372
375
  const FUST_KOLOM_LABELS = {
373
376
  artikelnummer: "Artikel",
@@ -26,8 +26,8 @@ export { FustKolomVolgorde } from './components/FustKolomVolgorde.js';
26
26
  export { BlokOntwerperPage } from './components/BlokOntwerperPage.js';
27
27
  export { PakbonBlokKaderEditor, PakbonSectieEditor, PakbonSectiesPanel } from './components/PakbonSectiesPanel.js';
28
28
  export { PakbonPreview, PakbonSectiePreview } from './components/PakbonPreview.js';
29
- export { BESCHIKBARE_KOLOMMEN, CONDITIE_VELDEN, DEMO_ORDER, deelkarVoorbeeldOrder, FUST_VELD_OPTIES, SECTIE_REGISTER, alleProducten, conditieContext, fustVerzamellijst, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karBundelTekst, kolomLabel, laagBundelTekst, leesAfleverbriefConfig, leesPakbonConfig, nieuweKolom, nieuweSectie, pakbonLayoutVariant, pickMethode, productVeldBreedtes, sectieDef, sectieOnderdrukt, sectieOnderdruktVoorVariant, sectieZichtbaar, sorteerProducten, standaardAfleverbriefConfig, standaardPakbonConfig, totalen, vulVeldcodes } from './lib/pakbonBuilder.js';
30
- export type { DemoKar, DemoLaag, DemoOrder, DemoProduct, FustVerzamelGroep, FustVerzamelProduct, KarGroep, LaagGroep, PakbonConditie, PakbonConfig, PakbonDocumentLogo, PakbonKolom, PakbonLayoutVariant, PakbonSectie, PakbonSectieType, PickMethode, SectieDef } from './lib/pakbonBuilder.js';
29
+ export { BESCHIKBARE_KOLOMMEN, CONDITIE_VELDEN, DEMO_ORDER, deelkarVoorbeeldOrder, FUST_VELD_OPTIES, SECTIE_REGISTER, alleProducten, conditieContext, fustVerzamellijst, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karBundelTekst, kolomLabel, laagBundelTekst, leesAfleverbriefConfig, leesPakbonConfig, nieuweKolom, nieuweSectie, pakbonLayoutVariant, pickMethode, productVeldBreedtes, sectieDef, sectieOnderdrukt, sectieOnderdruktVoorVariant, sectieZichtbaar, sorteerProducten, standaardAfleverbriefConfig, standaardPakbonConfig, totalen, vulVeldcodes, ONDERDEEL_VELD_OPTIES, ONDERDEEL_VELDEN_STANDAARD, onderdeelCellen, onderdeelVelden, samenstellingTonen, voegProductSamen } from './lib/pakbonBuilder.js';
30
+ export type { DemoKar, DemoLaag, DemoProductOnderdeel, DemoOrder, DemoProduct, FustVerzamelGroep, FustVerzamelProduct, KarGroep, LaagGroep, PakbonConditie, PakbonConfig, PakbonDocumentLogo, PakbonKolom, PakbonLayoutVariant, PakbonSectie, PakbonSectieType, PickMethode, SectieDef } from './lib/pakbonBuilder.js';
31
31
  export { esc, maakPakbonOrder, printPakbon, printPakbonMetLogos, renderPakbonBody, renderPakbonDocument, voorbeeldPakbonOrder } from './lib/pakbonHtml.js';
32
32
  export type { PakbonLogo, PakbonOrder, PakbonRenderOpties } from './lib/pakbonHtml.js';
33
33
  export { karMetadata } from './lib/pakbonPresentation.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist-lib/index.js CHANGED
@@ -28,7 +28,7 @@ export { FustKolomVolgorde } from './components/FustKolomVolgorde.js';
28
28
  export { BlokOntwerperPage } from './components/BlokOntwerperPage.js';
29
29
  export { PakbonBlokKaderEditor, PakbonSectieEditor, PakbonSectiesPanel } from './components/PakbonSectiesPanel.js';
30
30
  export { PakbonPreview, PakbonSectiePreview } from './components/PakbonPreview.js';
31
- export { BESCHIKBARE_KOLOMMEN, CONDITIE_VELDEN, DEMO_ORDER, deelkarVoorbeeldOrder, FUST_VELD_OPTIES, SECTIE_REGISTER, alleProducten, conditieContext, fustVerzamellijst, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karBundelTekst, kolomLabel, laagBundelTekst, leesAfleverbriefConfig, leesPakbonConfig, nieuweKolom, nieuweSectie, pakbonLayoutVariant, pickMethode, productVeldBreedtes, sectieDef, sectieOnderdrukt, sectieOnderdruktVoorVariant, sectieZichtbaar, sorteerProducten, standaardAfleverbriefConfig, standaardPakbonConfig, totalen, vulVeldcodes } from './lib/pakbonBuilder.js';
31
+ export { BESCHIKBARE_KOLOMMEN, CONDITIE_VELDEN, DEMO_ORDER, deelkarVoorbeeldOrder, FUST_VELD_OPTIES, SECTIE_REGISTER, alleProducten, conditieContext, fustVerzamellijst, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karBundelTekst, kolomLabel, laagBundelTekst, leesAfleverbriefConfig, leesPakbonConfig, nieuweKolom, nieuweSectie, pakbonLayoutVariant, pickMethode, productVeldBreedtes, sectieDef, sectieOnderdrukt, sectieOnderdruktVoorVariant, sectieZichtbaar, sorteerProducten, standaardAfleverbriefConfig, standaardPakbonConfig, totalen, vulVeldcodes, ONDERDEEL_VELD_OPTIES, ONDERDEEL_VELDEN_STANDAARD, onderdeelCellen, onderdeelVelden, samenstellingTonen, voegProductSamen } from './lib/pakbonBuilder.js';
32
32
  export { esc, maakPakbonOrder, printPakbon, printPakbonMetLogos, renderPakbonBody, renderPakbonDocument, voorbeeldPakbonOrder } from './lib/pakbonHtml.js';
33
33
  export { karMetadata } from './lib/pakbonPresentation.js';
34
34
  export { bouwPakbonScanInhoud, bewaarPakbonScanInhoud } from './lib/pakbonScan.js';
@@ -1 +1 @@
1
- {"version":3,"file":"orderData.server.d.ts","sourceRoot":"","sources":["../../src/lib/orderData.server.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE/B,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAwBtD,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAKvD;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG;IACrD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAgCA;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG;IAC7C,KAAK,EAAE,WAAW,CAAC;IACnB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAMA;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,OAAO,EACX,MAAM,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC7E,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CA+arB;AAkHD;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAGhG"}
1
+ {"version":3,"file":"orderData.server.d.ts","sourceRoot":"","sources":["../../src/lib/orderData.server.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE/B,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAwBtD,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAKvD;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG;IACrD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAgCA;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG;IAC7C,KAAK,EAAE,WAAW,CAAC;IACnB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAMA;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,OAAO,EACX,MAAM,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC7E,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CA8mBrB;AAkHD;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAGhG"}
@@ -222,6 +222,129 @@ export async function laadPakbonData(db, opties) {
222
222
  stickerUrls.set(String(s["product_id"]), url);
223
223
  }
224
224
  }
225
+ // --- samenstelling (halffabricaten) ----------------------------------------
226
+ // Alleen lezen uit `product_bom_items`. Een ouder kan gekoppeld zijn op
227
+ // product-id of op Floriday-handelsartikel-id; beide vormen worden gelezen.
228
+ const floridayVan = (p) => {
229
+ if (!p)
230
+ return "";
231
+ const extra = (p["custom_fields"] ?? {});
232
+ return String(p["floriday_trade_item_id"] ?? p["trade_item_key"] ?? extra["floriday_id"] ?? "");
233
+ };
234
+ const ouderFloridayIds = uniek(Array.from(producten.values()).map((p) => floridayVan(p)));
235
+ const bomPerOuder = new Map(); // sleutel: "p:<id>" of "f:<floridayId>"
236
+ {
237
+ const rijen = [];
238
+ if (productIds.length)
239
+ rijen.push(...arr(await veilig(() => db.from("product_bom_items").select("*").in("parent_product_id", productIds))));
240
+ if (ouderFloridayIds.length)
241
+ rijen.push(...arr(await veilig(() => db
242
+ .from("product_bom_items")
243
+ .select("*")
244
+ .in("parent_trade_item_floriday_id", ouderFloridayIds))));
245
+ const gezien = new Set();
246
+ for (const r of rijen) {
247
+ const id = String(r["id"] ?? "");
248
+ if (gezien.has(id))
249
+ continue;
250
+ gezien.add(id);
251
+ const sleutel = r["parent_product_id"]
252
+ ? `p:${r["parent_product_id"]}`
253
+ : `f:${r["parent_trade_item_floriday_id"] ?? ""}`;
254
+ bomPerOuder.set(sleutel, [...(bomPerOuder.get(sleutel) ?? []), r]);
255
+ }
256
+ for (const lijstje of bomPerOuder.values())
257
+ lijstje.sort((a, b) => num(a["sort_order"]) - num(b["sort_order"]));
258
+ }
259
+ const alleBom = Array.from(bomPerOuder.values()).flat();
260
+ // Onderdelen ophalen als product, zodat kleur/potmaat dezelfde verrijking krijgen.
261
+ const onderdeelProductIds = uniek(alleBom.map((r) => r["component_product_id"])).filter((id) => !producten.has(id));
262
+ if (onderdeelProductIds.length) {
263
+ const data = await veilig(() => db
264
+ .from("products")
265
+ .select("id, product, article_number, custom_fields, floriday_trade_item_id, trade_item_key")
266
+ .in("id", onderdeelProductIds));
267
+ for (const p of arr(data))
268
+ producten.set(String(p["id"]), p);
269
+ }
270
+ const onderdeelFloridayIds = uniek(alleBom.filter((r) => !r["component_product_id"]).map((r) => r["component_trade_item_floriday_id"]));
271
+ const productOpFloriday = new Map();
272
+ if (onderdeelFloridayIds.length) {
273
+ const data = await veilig(() => db
274
+ .from("products")
275
+ .select("id, product, article_number, custom_fields, floriday_trade_item_id, trade_item_key")
276
+ .in("floriday_trade_item_id", onderdeelFloridayIds));
277
+ for (const p of arr(data)) {
278
+ producten.set(String(p["id"]), p);
279
+ productOpFloriday.set(String(p["floriday_trade_item_id"]), String(p["id"]));
280
+ }
281
+ // Onderdelen zonder eigen product: naam uit de Floriday-artikelcache.
282
+ const zonder = onderdeelFloridayIds.filter((fid) => !productOpFloriday.has(fid));
283
+ if (zonder.length) {
284
+ const items = arr(await veilig(() => db.from("floriday_trade_items_cache").select("floriday_id, data").in("floriday_id", zonder)));
285
+ for (const it of items) {
286
+ const d = (it["data"] ?? {});
287
+ const fid = String(it["floriday_id"]);
288
+ producten.set(`fl:${fid}`, {
289
+ id: `fl:${fid}`,
290
+ product: taalTekst(d["tradeItemName"]) || taalTekst(d["name"]) || "",
291
+ floriday_trade_item_id: fid,
292
+ custom_fields: {},
293
+ });
294
+ productOpFloriday.set(fid, `fl:${fid}`);
295
+ }
296
+ }
297
+ }
298
+ // --- stickerinformatie ----------------------------------------------------
299
+ // 1. Floriday-klantstickers van de order van de regel (match op
300
+ // verkooporder-id + handelsartikel-id; should_be_printed bepaalt Ja/Nee).
301
+ // 2. Anders `customer_product_stickers` (klant + handelsartikel) → Ja.
302
+ // 3. Anders onbekend ("–"). Nooit op naam matchen.
303
+ const orderPerId = new Map(orders.map((o) => [String(o["id"]), o]));
304
+ const floridayOrderIds = uniek(orders.map((o) => o["floriday_sales_order_id"]));
305
+ const floridayStickers = new Map(); // salesOrder → tradeItem → print
306
+ if (floridayOrderIds.length) {
307
+ const rijen = arr(await veilig(() => db
308
+ .from("floriday_customer_stickers_cache")
309
+ .select("sales_order_id, trade_item_id, should_be_printed, is_deleted")
310
+ .in("sales_order_id", floridayOrderIds)));
311
+ for (const r of rijen) {
312
+ if (r["is_deleted"] === true)
313
+ continue;
314
+ const so = String(r["sales_order_id"] ?? "");
315
+ const m = floridayStickers.get(so) ?? new Map();
316
+ const ti = String(r["trade_item_id"] ?? "");
317
+ m.set(ti, (m.get(ti) ?? false) || r["should_be_printed"] !== false);
318
+ floridayStickers.set(so, m);
319
+ }
320
+ }
321
+ const klantSleutels = uniek(orders.map((o) => o["customer_id"]));
322
+ const klantStickers = new Set(); // "<klant>|<artikel>"
323
+ if (klantSleutels.length) {
324
+ const rijen = arr(await veilig(() => db
325
+ .from("customer_product_stickers")
326
+ .select("customer_key, trade_item_key")
327
+ .in("customer_key", klantSleutels)));
328
+ for (const r of rijen)
329
+ klantStickers.add(`${r["customer_key"]}|${r["trade_item_key"]}`);
330
+ }
331
+ const stickerVoor = (orderId, p) => {
332
+ if (!p)
333
+ return "–";
334
+ const order = orderPerId.get(orderId);
335
+ const fid = floridayVan(p);
336
+ const so = String(order?.["floriday_sales_order_id"] ?? "");
337
+ const opOrder = so ? floridayStickers.get(so) : undefined;
338
+ if (opOrder && fid)
339
+ return opOrder.get(fid) === true ? "Ja" : "Nee";
340
+ const klant = String(order?.["customer_id"] ?? "");
341
+ if (klant) {
342
+ const sleutels = [fid, String(p["trade_item_key"] ?? ""), String(p["id"] ?? "")].filter(Boolean);
343
+ if (sleutels.some((k) => klantStickers.has(`${klant}|${k}`)))
344
+ return "Ja";
345
+ }
346
+ return "–";
347
+ };
225
348
  // --- verrijking vanuit Floriday-artikelcache ------------------------------
226
349
  // `products.unit` is vrijwel altijd "stuks" en zegt niets over het fust.
227
350
  // De echte fustsoort, potmaat en kleur staan in de Floriday-cache:
@@ -303,6 +426,44 @@ export async function laadPakbonData(db, opties) {
303
426
  p["custom_fields"] = extra;
304
427
  }
305
428
  }
429
+ const orderVan = (bron) => String(bron["order_id"] ??
430
+ regelPerId.get(String(bron["order_item_id"] ?? ""))?.["order_id"] ??
431
+ karrenRijen.find((k) => k["id"] === bron["cart_id"])?.["order_id"] ??
432
+ (orders.length === 1 ? orders[0]["id"] : ""));
433
+ const kenmerk = (extra, sleutels) => {
434
+ for (const k of sleutels) {
435
+ const w = extra[k];
436
+ if (w != null && String(w).trim())
437
+ return String(w);
438
+ }
439
+ return "";
440
+ };
441
+ const onderdelenVoor = (bron, p, aantal) => {
442
+ const id = String(bron["product_id"] ?? "");
443
+ const fid = floridayVan(p);
444
+ const rijen = bomPerOuder.get(`p:${id}`) ?? (fid ? bomPerOuder.get(`f:${fid}`) : undefined);
445
+ if (!rijen?.length)
446
+ return undefined;
447
+ const orderId = orderVan(bron);
448
+ return rijen.map((r) => {
449
+ const cid = r["component_product_id"]
450
+ ? String(r["component_product_id"])
451
+ : productOpFloriday.get(String(r["component_trade_item_floriday_id"] ?? "")) ?? "";
452
+ const c = producten.get(cid);
453
+ const extra = (c?.["custom_fields"] ?? {});
454
+ const perStuk = num(r["quantity"]);
455
+ return {
456
+ artikelnaam: taalTekst(c?.["product"]) || "",
457
+ kleur: kenmerk(extra, ["kleur", "Kleur", "colour", "color", "__kleur"]),
458
+ potmaat: kenmerk(extra, ["potmaat", "Potmaat", "pot_size", "potSize", "potmaat_cm", "maat", "__potmaat"]),
459
+ per_stuk: perStuk,
460
+ aantal: perStuk * (aantal || 0),
461
+ sticker: stickerVoor(orderId, c ?? (r["component_trade_item_floriday_id"]
462
+ ? { floriday_trade_item_id: r["component_trade_item_floriday_id"] }
463
+ : undefined)),
464
+ };
465
+ });
466
+ };
306
467
  const maakProduct = (bron, aantalPlanten, fusten, perFust) => {
307
468
  const p = producten.get(String(bron["product_id"] ?? "")) ?? {};
308
469
  const extra = (p["custom_fields"] ?? {});
@@ -340,6 +501,8 @@ export async function laadPakbonData(db, opties) {
340
501
  extra["__fustsoort"] ??
341
502
  (unit && unit.toLowerCase() !== "stuks" ? unit : "Niet ingesteld")),
342
503
  planten_per_fust: perFust,
504
+ sticker: stickerVoor(orderVan(bron), p),
505
+ onderdelen: onderdelenVoor(bron, p, aantalPlanten),
343
506
  };
344
507
  };
345
508
  // --- karren met lagen -----------------------------------------------------
@@ -42,6 +42,11 @@ export declare const BESCHIKBARE_KOLOMMEN: {
42
42
  key: string;
43
43
  label: string;
44
44
  }[];
45
+ export declare const ONDERDEEL_VELD_OPTIES: {
46
+ value: string;
47
+ label: string;
48
+ }[];
49
+ export declare const ONDERDEEL_VELDEN_STANDAARD: string[];
45
50
  export declare function kolomLabel(key: string): string;
46
51
  export declare function nieuweKolom(key: string): PakbonKolom;
47
52
  /**
@@ -147,7 +152,32 @@ export interface DemoProduct {
147
152
  fust_aantal: number;
148
153
  fustsoort: string;
149
154
  planten_per_fust: number;
155
+ /** "Ja", "Nee" of "–" (onbekend). */
156
+ sticker?: string;
157
+ /** Onderdelen (halffabricaten) van een samengesteld product. */
158
+ onderdelen?: DemoProductOnderdeel[];
159
+ }
160
+ export interface DemoProductOnderdeel {
161
+ artikelnaam: string;
162
+ kleur: string;
163
+ potmaat: string;
164
+ /** aantal per stuk van het samengestelde product */
165
+ per_stuk: number;
166
+ /** totaal voor deze regel (per_stuk × aantal hoofdproduct) */
167
+ aantal: number;
168
+ sticker: string;
150
169
  }
170
+ /** Staat de samenstelling aan voor deze productsectie? (standaard aan) */
171
+ export declare function samenstellingTonen(opties: Record<string, unknown> | undefined): boolean;
172
+ export declare function onderdeelVelden(opties: Record<string, unknown> | undefined): string[];
173
+ /**
174
+ * Cellen voor één onderdeelregel, uitgelijnd op de kolommen van de hoofdregel.
175
+ * Gekozen onderdeelgegevens zonder eigen kolom in de hoofdtabel worden achter
176
+ * de naam gezet, zodat niets wegvalt. Lege waarden blijven leeg.
177
+ */
178
+ export declare function onderdeelCellen(o: DemoProductOnderdeel, velden: string[], gekozen: string[]): string[];
179
+ /** Telt een product op bij een gelijk product (groeperen), incl. onderdelen. */
180
+ export declare function voegProductSamen(doel: DemoProduct, p: DemoProduct): void;
151
181
  export interface DemoLaag {
152
182
  laagnummer: number;
153
183
  belading: 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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"}
@@ -21,7 +21,16 @@ export const BESCHIKBARE_KOLOMMEN = [
21
21
  { key: "fust_aantal", label: "Aantal fusten" },
22
22
  { key: "fustsoort", label: "Fustsoort" },
23
23
  { key: "planten_per_fust", label: "Planten per fust" },
24
+ { key: "sticker", label: "Sticker" },
24
25
  ];
26
+ export const ONDERDEEL_VELD_OPTIES = [
27
+ { value: "artikelnaam", label: "Productnaam" },
28
+ { value: "kleur", label: "Kleur" },
29
+ { value: "potmaat", label: "Potmaat" },
30
+ { value: "aantal", label: "Aantal" },
31
+ { value: "sticker", label: "Sticker" },
32
+ ];
33
+ export const ONDERDEEL_VELDEN_STANDAARD = ["artikelnaam", "kleur", "potmaat", "aantal"];
25
34
  export function kolomLabel(key) {
26
35
  return BESCHIKBARE_KOLOMMEN.find((k) => k.key === key)?.label ?? key;
27
36
  }
@@ -58,6 +67,7 @@ export function productVeldBreedtes(velden) {
58
67
  fust_aantal: 10,
59
68
  fustsoort: 12,
60
69
  planten_per_fust: 11,
70
+ sticker: 8,
61
71
  foto: 9,
62
72
  qrcode: 9,
63
73
  };
@@ -547,6 +557,20 @@ export const SECTIE_REGISTER = [
547
557
  { value: "qrcode", label: "QR-code" },
548
558
  ]),
549
559
  },
560
+ {
561
+ key: "toonSamenstelling",
562
+ label: "Samenstelling tonen",
563
+ type: "schakelaar",
564
+ standaard: true,
565
+ hint: "Toont onder een samengesteld product uit welke onderdelen het bestaat.",
566
+ },
567
+ {
568
+ key: "onderdeelVelden",
569
+ label: "Gegevens per onderdeel (halffabricaat)",
570
+ type: "meerkeuze",
571
+ standaard: ONDERDEEL_VELDEN_STANDAARD,
572
+ opties: ONDERDEEL_VELD_OPTIES,
573
+ },
550
574
  { key: "groeperen", label: "Gelijke producten groeperen", type: "schakelaar", standaard: false },
551
575
  {
552
576
  key: "kop_eenmalig",
@@ -864,6 +888,59 @@ export function sectieOnderdruktVoorVariant(type, methode, variant) {
864
888
  return type === "pickmethode";
865
889
  return type === "pickmethode" ? false : [...KAR_SECTIES, "orderregels"].includes(type);
866
890
  }
891
+ /** Staat de samenstelling aan voor deze productsectie? (standaard aan) */
892
+ export function samenstellingTonen(opties) {
893
+ return opties?.["toonSamenstelling"] !== false;
894
+ }
895
+ export function onderdeelVelden(opties) {
896
+ const v = opties?.["onderdeelVelden"];
897
+ return Array.isArray(v) ? v.map(String) : ONDERDEEL_VELDEN_STANDAARD;
898
+ }
899
+ /**
900
+ * Cellen voor één onderdeelregel, uitgelijnd op de kolommen van de hoofdregel.
901
+ * Gekozen onderdeelgegevens zonder eigen kolom in de hoofdtabel worden achter
902
+ * de naam gezet, zodat niets wegvalt. Lege waarden blijven leeg.
903
+ */
904
+ export function onderdeelCellen(o, velden, gekozen) {
905
+ const waarde = (v) => {
906
+ if (!gekozen.includes(v))
907
+ return "";
908
+ if (v === "aantal")
909
+ return o.aantal ? String(o.aantal) : "";
910
+ return String(o[v] ?? "");
911
+ };
912
+ const naamKolom = velden.includes("artikelnaam")
913
+ ? "artikelnaam"
914
+ : velden.find((v) => v !== "foto" && v !== "qrcode") ?? velden[0];
915
+ const zonderKolom = gekozen.filter((v) => !velden.includes(v) && v !== "artikelnaam");
916
+ return velden.map((v) => {
917
+ if (v === naamKolom) {
918
+ const delen = [];
919
+ const naam = gekozen.includes("artikelnaam") ? o.artikelnaam : "";
920
+ const kop = `↳ ${o.per_stuk ? `${o.per_stuk}× ` : ""}${naam}`.trimEnd();
921
+ delen.push(kop);
922
+ for (const extra of zonderKolom) {
923
+ const w = waarde(extra);
924
+ if (!w)
925
+ continue;
926
+ delen.push(extra === "sticker" ? `Sticker: ${w}` : extra === "aantal" ? `${w} st` : w);
927
+ }
928
+ return delen.join(" · ");
929
+ }
930
+ return waarde(v);
931
+ });
932
+ }
933
+ /** Telt een product op bij een gelijk product (groeperen), incl. onderdelen. */
934
+ export function voegProductSamen(doel, p) {
935
+ doel.aantal += p.aantal;
936
+ doel.fust_aantal += p.fust_aantal;
937
+ if (doel.onderdelen && p.onderdelen) {
938
+ doel.onderdelen = doel.onderdelen.map((o, i) => {
939
+ const ander = p.onderdelen[i]?.artikelnaam === o.artikelnaam ? p.onderdelen[i] : undefined;
940
+ return ander ? { ...o, aantal: o.aantal + ander.aantal } : o;
941
+ });
942
+ }
943
+ }
867
944
  /**
868
945
  * Bepaalt de canonieke positie binnen de reeks volle karren. De Engine kan in
869
946
  * cartTotal ook een afsluitende deelkar meetellen en stuurde bij oudere K2-jobs
@@ -973,7 +1050,10 @@ export const DEMO_ORDER = {
973
1050
  gewicht: "48 kg",
974
1051
  opmerking: "Onderin plaatsen",
975
1052
  producten: [
976
- p("A1001", "Phalaenopsis wit 2-tak", "12 cm", 96, "A-03", "Orchidee", "Wit"),
1053
+ {
1054
+ ...p("A1001", "Phalaenopsis wit 2-tak", "12 cm", 96, "A-03", "Orchidee", "Wit"),
1055
+ sticker: "Ja",
1056
+ },
977
1057
  p("A1042", "Phalaenopsis roze 2-tak", "12 cm", 48, "A-04", "Orchidee", "Roze"),
978
1058
  ],
979
1059
  fusten: [
@@ -1009,7 +1089,15 @@ export const DEMO_ORDER = {
1009
1089
  gewicht: "38 kg",
1010
1090
  opmerking: "",
1011
1091
  producten: [
1012
- p("C3300", "Kalanchoë mix", "9 cm", 80, "C-02", "Bloeiend", "Mix"),
1092
+ {
1093
+ ...p("C3300", "Pernettya mix 12", "12 cm", 10, "C-02", "Bloeiend", "Mix"),
1094
+ sticker: "Nee",
1095
+ onderdelen: [
1096
+ { artikelnaam: "Pernettya wit", kleur: "Wit", potmaat: "9 cm", per_stuk: 2, aantal: 20, sticker: "Ja" },
1097
+ { artikelnaam: "Pernettya rood", kleur: "Rood", potmaat: "9 cm", per_stuk: 5, aantal: 50, sticker: "Ja" },
1098
+ { artikelnaam: "Pernettya roze", kleur: "Roze", potmaat: "9 cm", per_stuk: 5, aantal: 50, sticker: "Nee" },
1099
+ ],
1100
+ },
1013
1101
  p("C3311", "Succulenten mix", "9 cm", 80, "C-05", "Bloeiend", "Mix"),
1014
1102
  ],
1015
1103
  fusten: [
@@ -1 +1 @@
1
- {"version":3,"file":"pakbonContent.d.ts","sourceRoot":"","sources":["../../src/lib/pakbonContent.ts"],"names":[],"mappings":"AASA,OAAO,EAqBL,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;AAomBF,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,EAyBL,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;AAinBF,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, totalen, vulVeldcodes, } from "./pakbonBuilder.js";
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";
10
10
  import { karMetadata } from "./pakbonPresentation.js";
11
11
  import { KLEUR_GRIJS } from "./pakbonDocument.js";
12
12
  const arr = (v) => (Array.isArray(v) ? v : []);
@@ -33,6 +33,7 @@ const PRODUCT_LABELS = {
33
33
  fust_aantal: "Aantal fusten",
34
34
  fustsoort: "Fustsoort",
35
35
  planten_per_fust: "Planten per fust",
36
+ sticker: "Sticker",
36
37
  };
37
38
  const FUST_KOLOM_LABELS = {
38
39
  artikelnummer: "Artikel",
@@ -62,7 +63,7 @@ function sectitel(tekst, basis) {
62
63
  },
63
64
  ];
64
65
  }
65
- function productTabel(velden, producten, toonKop, basis) {
66
+ function productTabel(velden, producten, toonKop, basis, onderdeelKolommen = null) {
66
67
  if (!velden.length || !producten.length)
67
68
  return null;
68
69
  const breedtes = productVeldBreedtes(velden);
@@ -74,7 +75,12 @@ function productTabel(velden, producten, toonKop, basis) {
74
75
  return {
75
76
  kind: "tabel",
76
77
  kolommen,
77
- rijen: producten.map((p) => velden.map((v) => cel(p, v))),
78
+ rijen: producten.flatMap((p) => [
79
+ velden.map((v) => cel(p, v)),
80
+ ...(onderdeelKolommen && p.onderdelen?.length
81
+ ? p.onderdelen.map((o) => onderdeelCellen(o, velden, onderdeelKolommen))
82
+ : []),
83
+ ]),
78
84
  toonKop,
79
85
  groottePt: basis,
80
86
  randen: "onder",
@@ -193,10 +199,8 @@ function karBlokFlow(s, kar, lagen, zoek, omkaderd, aantal, basis) {
193
199
  const map = new Map();
194
200
  for (const p of producten) {
195
201
  const b = map.get(p.artikelnummer);
196
- if (b) {
197
- b.aantal += p.aantal;
198
- b.fust_aantal += p.fust_aantal;
199
- }
202
+ if (b)
203
+ voegProductSamen(b, p);
200
204
  else
201
205
  map.set(p.artikelnummer, { ...p });
202
206
  }
@@ -204,7 +208,10 @@ function karBlokFlow(s, kar, lagen, zoek, omkaderd, aantal, basis) {
204
208
  }
205
209
  const toonKop = opt(productSectie, "toonKoppen", true) !== false &&
206
210
  (index === 0 || opt(productSectie, "kop_eenmalig", true) === false);
207
- const tabel = productTabel(velden2, producten, toonKop, basis);
211
+ const sub = samenstellingTonen(productSectie.opties)
212
+ ? onderdeelVelden(productSectie.opties)
213
+ : null;
214
+ const tabel = productTabel(velden2, producten, toonKop, basis, sub);
208
215
  if (tabel)
209
216
  kinderen.push(tabel);
210
217
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pakbonHtml.d.ts","sourceRoot":"","sources":["../../src/lib/pakbonHtml.ts"],"names":[],"mappings":"AAUA,OAAO,EAyBL,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;AAyBD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAqF3D;AA4ED,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGlD;AAwoBD,oEAAoE;AACpE,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,GAAG,OAAO,EAC9B,KAAK,EAAE,WAAW,EAClB,MAAM,GAAE,kBAAuB,GAC9B,MAAM,CA8DR;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,EA6BL,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;AAyBD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAqF3D;AAuFD,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAGlD;AAwpBD,oEAAoE;AACpE,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,GAAG,OAAO,EAC9B,KAAK,EAAE,WAAW,EAClB,MAAM,GAAE,kBAAuB,GAC9B,MAAM,CA8DR;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, karKopNummer, laagBundelTekst, leesPakbonConfig, sectieZichtbaar, sorteerProducten, totalen, vulVeldcodes, } from "./pakbonBuilder.js";
10
+ import { DEMO_ORDER, deelkarVoorbeeldOrder, conditieContext, groepeerIdentiekeKarren, groepeerIdentiekeLagen, karBundelTekst, fustVerzamellijst, fustRegels, FUSTREGEL_LABELS, FUSTREGEL_RECHTS, pickMethode, pakbonLayoutVariant, productVeldBreedtes, sectieOnderdruktVoorVariant, karKopNummer, laagBundelTekst, leesPakbonConfig, sectieZichtbaar, sorteerProducten, onderdeelCellen, 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";
@@ -150,6 +150,17 @@ function normProduct(p) {
150
150
  fust_aantal: Number(p["fust_aantal"] ?? 0) || 0,
151
151
  fustsoort: String(p["fustsoort"] ?? ""),
152
152
  planten_per_fust: Number(p["planten_per_fust"] ?? 0) || 0,
153
+ sticker: p["sticker"] == null || p["sticker"] === "" ? "–" : String(p["sticker"]),
154
+ onderdelen: Array.isArray(p["onderdelen"])
155
+ ? p["onderdelen"].map((o) => ({
156
+ artikelnaam: String(o["artikelnaam"] ?? ""),
157
+ kleur: String(o["kleur"] ?? ""),
158
+ potmaat: String(o["potmaat"] ?? ""),
159
+ per_stuk: Number(o["per_stuk"] ?? 0) || 0,
160
+ aantal: Number(o["aantal"] ?? 0) || 0,
161
+ sticker: o["sticker"] == null || o["sticker"] === "" ? "–" : String(o["sticker"]),
162
+ }))
163
+ : undefined,
153
164
  };
154
165
  }
155
166
  // --- secties ----------------------------------------------------------------
@@ -304,10 +315,8 @@ function productenHtml(sectie, laag, toonKop = true) {
304
315
  const map = new Map();
305
316
  for (const p of producten) {
306
317
  const b = map.get(p.artikelnummer);
307
- if (b) {
308
- b.aantal += p.aantal;
309
- b.fust_aantal += p.fust_aantal;
310
- }
318
+ if (b)
319
+ voegProductSamen(b, p);
311
320
  else
312
321
  map.set(p.artikelnummer, { ...p });
313
322
  }
@@ -317,9 +326,13 @@ function productenHtml(sectie, laag, toonKop = true) {
317
326
  return "";
318
327
  const label = (v) => v === "foto" ? "Foto" : v === "qrcode" ? "QR-code" : PRODUCT_LABELS[v] ?? v;
319
328
  const weergave = optS(sectie, "weergave", "tabel");
329
+ const sub = samenstellingTonen(sectie.opties) ? onderdeelVelden(sectie.opties) : null;
330
+ const subRijen = (p) => sub && p.onderdelen?.length ? p.onderdelen.map((o) => onderdeelCellen(o, velden, sub)) : [];
320
331
  if (weergave === "lijst") {
321
332
  return `<ul class="plijst">${producten
322
- .map((p) => `<li>${velden.map((v) => esc(cel(p, v))).filter(Boolean).join(" · ")}</li>`)
333
+ .map((p) => `<li>${velden.map((v) => esc(cel(p, v))).filter(Boolean).join(" · ")}${subRijen(p)
334
+ .map((r) => `<div class="onderdeel">${esc(r.filter(Boolean).join(" · "))}</div>`)
335
+ .join("")}</li>`)
323
336
  .join("")}</ul>`;
324
337
  }
325
338
  const kop = toonKop && opt(sectie, "toonKoppen", true) !== false
@@ -330,7 +343,10 @@ function productenHtml(sectie, laag, toonKop = true) {
330
343
  .map((_, index) => `<col style="width:${(breedtes[index] ?? 0).toFixed(4)}%">`)
331
344
  .join("")}</colgroup>`;
332
345
  const rijen = producten
333
- .map((p) => `<tr>${velden.map((v) => `<td class="onder">${esc(cel(p, v))}</td>`).join("")}</tr>`)
346
+ .map((p) => `<tr>${velden.map((v) => `<td class="onder">${esc(cel(p, v))}</td>`).join("")}</tr>` +
347
+ subRijen(p)
348
+ .map((r) => `<tr class="onderdeel">${r.map((w) => `<td class="onder" style="font-size:.88em;color:#555">${esc(w)}</td>`).join("")}</tr>`)
349
+ .join(""))
334
350
  .join("");
335
351
  return `<table class="regels vast">${colgroup}${kop}${rijen}</table>`;
336
352
  }
@@ -349,6 +365,7 @@ const PRODUCT_LABELS = {
349
365
  fust_aantal: "Aantal fusten",
350
366
  fustsoort: "Fustsoort",
351
367
  planten_per_fust: "Planten per fust",
368
+ sticker: "Sticker",
352
369
  };
353
370
  function karKop(s, kar, velden, bundelTekst = "") {
354
371
  const scheiding = optS(s, "scheiding", "kop");
@@ -1,2 +1,2 @@
1
- export declare const PAKKET_VERSIE = "1.65.2";
1
+ export declare const PAKKET_VERSIE = "1.66.1";
2
2
  //# sourceMappingURL=versie.generated.d.ts.map
@@ -1,2 +1,2 @@
1
1
  // Gegenereerd door scripts/schrijf-versie.cjs uit package.json. Niet met de hand wijzigen.
2
- export const PAKKET_VERSIE = "1.65.2";
2
+ export const PAKKET_VERSIE = "1.66.1";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowselections/layout-maker",
3
- "version": "1.65.2",
3
+ "version": "1.66.1",
4
4
  "flowselections": {
5
5
  "moduleId": "layout-maker",
6
6
  "pages": [