@flowselections/layout-maker 1.69.1 → 1.69.3

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.
@@ -3009,7 +3009,9 @@ VALUES
3009
3009
  ('fs.pakbon', 2, 'pakbon', 'Pakbon', 'Standaarddocument voor eigen orders, met kolom Sticker. Volledig aanpasbaar — aanpassen kan per klant.', 'A4', 210, 297, '{"pakbon":{"secties":[{"id":"logo-std","type":"logo","titel":"Logo","zichtbaar":true,"opties":{"uitlijning":"left","hoogte":18},"condities":[]},{"id":"bedrijfsgegevens-std","type":"bedrijfsgegevens","titel":"Bedrijfsgegevens","zichtbaar":true,"opties":{"toonNaam":true,"toonAdres":true,"toonContact":true,"toonKvk":false},"condities":[]},{"id":"klantgegevens-std","type":"klantgegevens","titel":"Klantgegevens","zichtbaar":true,"opties":{"toonKlantnummer":true,"toonContact":true,"toonReferentie":true},"condities":[]},{"id":"afleveradres-std","type":"afleveradres","titel":"Afleveradres","zichtbaar":true,"opties":{"toonLand":true},"condities":[]},{"id":"orderinformatie-std","type":"orderinformatie","titel":"Orderinformatie","zichtbaar":true,"opties":{"toonOrdernummer":true,"toonDatum":true,"toonLeverdatum":true,"toonReferentie":true},"condities":[]},{"id":"pickmethode-std","type":"pickmethode","titel":"Pickmethode","zichtbaar":true,"opties":{"methode":"kar","kop":"Te verzamelen fusten — karindeling zelf bepalen","velden":["artikelnummer","artikelnaam","potmaat","kleur","locatie","fustsoort","planten_per_fust","fust_aantal","aantal"],"toonFusthoogte":true,"toonTotaal":true,"toonBarcode":true,"barcodeHoogte":15},"condities":[]},{"id":"karren-std","type":"karren","titel":"Karren","zichtbaar":true,"opties":{"modus":"pagina","bundel_identiek":true,"velden":["karnummer","lagen","producten"],"scheiding":"kop","koptekst":"KAR {kar}","kleur":"#e8eef7"},"condities":[]},{"id":"lagen-std","type":"lagen","titel":"Lagen","zichtbaar":true,"opties":{"modus":"apart","velden":["laagnummer","belading","producten"],"koptekst":"Laag {laag}"},"condities":[]},{"id":"producten-std","type":"producten","titel":"Producten op een laag","zichtbaar":true,"opties":{"weergave":"tabel","velden":["artikelnummer","artikelnaam","potmaat","aantal","sticker"],"toonSamenstelling":true,"onderdeelVelden":["artikelnaam","kleur","potmaat","aantal"],"groeperen":false,"kop_eenmalig":true,"sortering":"eigen"},"condities":[]},{"id":"fusten-std","type":"fusten","titel":"Fusten","zichtbaar":true,"opties":{"modus":"totaal","velden":["fusttype","aantal"]},"condities":[]},{"id":"totalen-std","type":"totalen","titel":"Totalen","zichtbaar":true,"opties":{"velden":["producten","karren","lagen"],"uitlijning":"right","elke_pagina":false,"toon_paginanummer":false},"condities":[]},{"id":"handtekening-std","type":"handtekening","titel":"Handtekening","zichtbaar":true,"opties":{"label":"Voor ontvangst getekend","toonNaam":true,"toonDatum":true,"toonBarcode":true},"condities":[]}]}}'::jsonb),
3010
3010
  ('fs.afleverbrief_bvo', 1, 'afleverbrief', 'Afleverbrief (BVO)', 'Verzendbrief voor eigen (niet-Floriday) orders. Volledig aanpasbaar.', 'A4', 210, 297, '{}'::jsonb),
3011
3011
  ('fs.productiebon', 1, 'productiebon', 'Productiebon', 'Standaard productiebon met de vaste blokindeling. Volledig aanpasbaar.', 'A4', 210, 297, '{}'::jsonb),
3012
- ('fs.eigen_sticker', 1, 'sticker', 'Eigen sticker', 'Sticker voor eigen orders: drukt de stickerafbeelding van de klant (payload.sticker_afbeelding) op ware grootte af. Volledig aanpasbaar.', 'LABEL_100x62', 100, 62, '{"eigen_sticker":{"afbeelding":"payload.sticker_afbeelding","passend":"ware_grootte"}}'::jsonb)
3012
+ ('fs.eigen_sticker', 1, 'sticker', 'Eigen sticker', 'Sticker voor eigen orders: drukt de stickerafbeelding van de klant (payload.sticker_afbeelding) op ware grootte af. Volledig aanpasbaar.', 'LABEL_100x62', 100, 62, '{"eigen_sticker":{"afbeelding":"payload.sticker_afbeelding","passend":"ware_grootte"}}'::jsonb),
3013
+ ('fs.eigen_traysticker', 2, 'traysticker', 'Eigen traysticker', 'Eén sticker per fust voor eigen orders: logo/bedrijfsnaam, klant, order, leverdatum, afleverlocatie, fust x van y, product met aantal planten per fust (en onderdelen) en barcode. Elk veld aan/uit te zetten.', 'LABEL_100x62', 100, 62, '{"eigen_traysticker":{"velden":{"logo":true,"bedrijfsnaam":true,"klantnaam":true,"ordernummer":true,"leverdatum":true,"afleverlocatie":true,"tray":true,"producten":true,"barcode":true}}}'::jsonb),
3014
+ ('fs.controlelijst', 1, 'controlelijst', 'Controlelijst karren', 'Controlelijst van de karren (Afhandeling). Kop met datum en aantal karren, tabel per kar en een voet om af te tekenen. Kolommen aan/uit te zetten.', 'A4', 210, 297, '{"controlelijst":{"kop":"Controlelijst karren","kolommen":["karnummer","klaarzetten_tekst","klantnaam","ordernummers","status_tekst"],"voet":["Gecontroleerd door","Datum en tijd","Handtekening"]}}'::jsonb)
3013
3015
  ON CONFLICT (sleutel) DO UPDATE SET
3014
3016
  versie = EXCLUDED.versie, documenttype = EXCLUDED.documenttype, naam = EXCLUDED.naam,
3015
3017
  omschrijving = EXCLUDED.omschrijving, papierformaat = EXCLUDED.papierformaat,
@@ -3222,18 +3224,23 @@ DECLARE
3222
3224
  v_l public.document_layouts%ROWTYPE;
3223
3225
  v_naam text;
3224
3226
  BEGIN
3225
- IF v_soort NOT IN ('pakbon','productiebon','verzenddocument','afleverbrief','veilingbrief','sticker','traysticker','eigen_sticker') THEN
3227
+ IF v_soort NOT IN ('pakbon','productiebon','verzenddocument','afleverbrief','veilingbrief','sticker','traysticker','eigen_sticker','controlelijst') THEN
3226
3228
  RETURN jsonb_build_object('ok', false, 'layout_id', NULL, 'bron', NULL, 'documenttype', nullif(v_soort,''),
3227
3229
  'breedte_mm', NULL, 'hoogte_mm', NULL, 'reden', 'Onbekende documentsoort: ' || coalesce(nullif(v_soort,''), '(leeg)') || '.');
3228
3230
  END IF;
3229
- SELECT true, coalesce(o.order_source = 'floriday', false) INTO v_bestaat, v_floriday
3230
- FROM public.orders o WHERE o.id = p_order_id;
3231
+ -- 1.69.2: de controlelijst hoort niet bij één order; p_order_id mag leeg zijn.
3232
+ IF v_soort = 'controlelijst' THEN
3233
+ v_bestaat := true; v_floriday := false;
3234
+ ELSE
3235
+ SELECT true, coalesce(o.order_source = 'floriday', false) INTO v_bestaat, v_floriday
3236
+ FROM public.orders o WHERE o.id = p_order_id;
3237
+ END IF;
3231
3238
  IF v_bestaat IS NULL THEN
3232
3239
  RETURN jsonb_build_object('ok', false, 'layout_id', NULL, 'bron', NULL, 'documenttype', v_soort,
3233
3240
  'breedte_mm', NULL, 'hoogte_mm', NULL, 'reden', 'Order niet gevonden.');
3234
3241
  END IF;
3235
3242
 
3236
- IF v_soort IN ('pakbon','productiebon') THEN
3243
+ IF v_soort IN ('pakbon','productiebon','controlelijst') THEN
3237
3244
  v_type := v_soort; v_bron := 'eigen';
3238
3245
  ELSIF v_soort = 'verzenddocument' THEN
3239
3246
  IF v_floriday THEN
@@ -3287,7 +3294,7 @@ BEGIN
3287
3294
 
3288
3295
  IF v_l.id IS NULL THEN
3289
3296
  v_naam := CASE v_type WHEN 'afleverbrief' THEN 'afleverbrief' WHEN 'veilingbrief' THEN 'veilingbrief'
3290
- WHEN 'productiebon' THEN 'productiebon' WHEN 'pakbon' THEN 'pakbon' WHEN 'traysticker' THEN 'traysticker' ELSE 'sticker' END;
3297
+ WHEN 'productiebon' THEN 'productiebon' WHEN 'pakbon' THEN 'pakbon' WHEN 'traysticker' THEN 'traysticker' WHEN 'controlelijst' THEN 'controlelijst' ELSE 'sticker' END;
3291
3298
  RETURN jsonb_build_object('ok', false, 'layout_id', NULL, 'bron', v_bron, 'documenttype', v_type,
3292
3299
  'breedte_mm', NULL, 'hoogte_mm', NULL,
3293
3300
  'reden', CASE