@flowselections/pick-schermen-kwekers 1.0.19 → 1.0.21

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 (35) hide show
  1. package/README.md +24 -24
  2. package/dist-lib/components/pick/PickScherm.d.ts.map +1 -1
  3. package/dist-lib/components/pick/PickScherm.js +322 -69
  4. package/dist-lib/components/pick/QueueTable.d.ts +6 -1
  5. package/dist-lib/components/pick/QueueTable.d.ts.map +1 -1
  6. package/dist-lib/components/pick/QueueTable.js +30 -22
  7. package/dist-lib/hooks/useShippingNoteStatus.d.ts +27 -0
  8. package/dist-lib/hooks/useShippingNoteStatus.d.ts.map +1 -0
  9. package/dist-lib/hooks/useShippingNoteStatus.js +132 -0
  10. package/dist-lib/index.d.ts +1 -0
  11. package/dist-lib/index.d.ts.map +1 -1
  12. package/dist-lib/index.js +1 -0
  13. package/dist-lib/integrations/supabase/auth-middleware.d.ts +740 -1
  14. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  15. package/dist-lib/integrations/supabase/client.d.ts +740 -1
  16. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  17. package/dist-lib/integrations/supabase/client.server.d.ts +740 -1
  18. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  19. package/dist-lib/integrations/supabase/types.d.ts +743 -2
  20. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  21. package/dist-lib/lib/layoutMaker/pakbonHtml.js +49 -49
  22. package/dist-lib/lib/layoutRenderer.js +17 -17
  23. package/dist-lib/lib/pickApi.d.ts +10 -0
  24. package/dist-lib/lib/pickApi.d.ts.map +1 -1
  25. package/dist-lib/lib/pickApi.js +21 -0
  26. package/dist-lib/lib/pickTypes.d.ts +59 -2
  27. package/dist-lib/lib/pickTypes.d.ts.map +1 -1
  28. package/dist-lib/lib/pickTypes.js +149 -24
  29. package/dist-lib/lib/shippingNoteStatus.d.ts +35 -0
  30. package/dist-lib/lib/shippingNoteStatus.d.ts.map +1 -0
  31. package/dist-lib/lib/shippingNoteStatus.js +118 -0
  32. package/package.json +2 -2
  33. package/dist-lib/components/TemplateModulePage.d.ts +0 -2
  34. package/dist-lib/components/TemplateModulePage.d.ts.map +0 -1
  35. package/dist-lib/components/TemplateModulePage.js +0 -44
@@ -590,55 +590,55 @@ export function renderPakbonDocument(config, order, opties = {}) {
590
590
  const font = opties.lettertype ?? 'Arial, Helvetica, "Segoe UI", sans-serif';
591
591
  const grootte = opties.lettergrootte ?? 8.5;
592
592
  const body = renderPakbonBody(config, order, opties);
593
- return `<!doctype html><html lang="nl"><head><meta charset="utf-8" />
594
- <title>${esc(opties.titel ?? "Pakbon")}</title>
595
- <style>
596
- @page { size: ${b}mm ${h}mm; margin: ${marge}mm; }
597
- * { box-sizing: border-box; }
598
- html, body { margin: 0; padding: 0; }
599
- body { font-family: ${font}; font-size: ${grootte}pt; color: #111827; line-height: 1.35; }
600
- .blok { margin-bottom: 2mm; }
601
- .sectitel { font-size: 90%; font-weight: 600; text-transform: uppercase; color: #6b7280; margin-bottom: 0.6mm; }
602
- .vet { font-weight: 600; }
603
- .kv { display: flex; justify-content: space-between; gap: 3mm; }
604
- .kv .k { color: #6b7280; }
605
- .kv .v { font-weight: 500; }
606
- .grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 6mm; }
607
- .kader { border: 0.25mm solid #d1d5db; border-radius: 1mm; padding: 1.5mm; }
608
- table.regels { width: 100%; border-collapse: collapse; table-layout: fixed; }
609
- table.regels th, table.regels td { overflow-wrap: anywhere; }
610
- table.regels th, table.regels td { padding: 0.7mm 1mm; vertical-align: top; }
611
- table.regels th { font-size: 90%; text-transform: uppercase; color: #6b7280; font-weight: 600; text-align: left; }
612
- .rand { border: 0.2mm solid #d1d5db; }
613
- .onder { border-bottom: 0.2mm solid #d1d5db; }
614
- table.regels.compact th, table.regels.compact td { padding: 0.3mm 0.8mm; }
615
- tr.zebra td { background: #f3f4f6; }
616
- .plijst { margin: 0; padding-left: 4mm; }
617
- .groep { margin-bottom: 1.5mm; }
618
- .regelrij { display: flex; gap: 2mm; }
619
- .tweekolom { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; }
620
- .karblok { margin-bottom: 2mm; }
621
- .karblok.omkaderd { border: 0.25mm solid #d1d5db; border-radius: 1mm; padding: 1.5mm; }
622
- .karkop { display: flex; justify-content: space-between; align-items: center; padding: 0.8mm 1.5mm; border-radius: 1mm; margin-bottom: 1mm; }
623
- .bundel { display: inline-block; border: 0.3mm dashed #6b7280; border-radius: 1mm; padding: 0.4mm 1.5mm; margin-bottom: 1mm; font-weight: 700; text-transform: uppercase; letter-spacing: 0.2mm; font-size: 90%; }
624
- .laag { margin-bottom: 1.5mm; }
625
- .laagkop { display: flex; justify-content: space-between; font-weight: 500; border-bottom: 0.2mm solid #d1d5db; padding-bottom: 0.4mm; margin-bottom: 0.6mm; }
626
- .laagkop.compact { border-bottom: none; }
627
- .meta { display: flex; gap: 3mm; font-size: 88%; font-weight: 400; color: #4b5563; }
628
- .totalen { display: flex; flex-wrap: wrap; gap: 5mm; border-top: 0.25mm solid #d1d5db; padding-top: 1.2mm; font-weight: 500; }
629
- .paginavoet { position: fixed; bottom: 0; left: 0; right: 0; background: #fff; }
630
- .handtekening { margin-top: 3mm; }
631
- .lijnveld { margin-top: 4mm; border-bottom: 0.25mm solid #6b7280; padding-bottom: 3mm; }
632
- .lijnveld.hoog { padding-bottom: 10mm; }
633
- .lijn { border-top: 0.25mm solid #d1d5db; margin: 1.5mm 0; }
634
- .balk { height: 1mm; background: #374151; margin: 1.5mm 0; }
635
- .qr { border: 0.25mm dashed #9ca3af; }
636
- .streepjes { width: 45mm; background: repeating-linear-gradient(to right, #111827 0 2px, transparent 2px 5px); }
637
- .klein { font-size: 85%; color: #6b7280; }
638
- .breekvoor { break-before: page; page-break-before: always; }
639
- .heelhouden { break-inside: avoid; page-break-inside: avoid; }
640
- img { max-width: 100%; }
641
- </style></head>
593
+ return `<!doctype html><html lang="nl"><head><meta charset="utf-8" />
594
+ <title>${esc(opties.titel ?? "Pakbon")}</title>
595
+ <style>
596
+ @page { size: ${b}mm ${h}mm; margin: ${marge}mm; }
597
+ * { box-sizing: border-box; }
598
+ html, body { margin: 0; padding: 0; }
599
+ body { font-family: ${font}; font-size: ${grootte}pt; color: #111827; line-height: 1.35; }
600
+ .blok { margin-bottom: 2mm; }
601
+ .sectitel { font-size: 90%; font-weight: 600; text-transform: uppercase; color: #6b7280; margin-bottom: 0.6mm; }
602
+ .vet { font-weight: 600; }
603
+ .kv { display: flex; justify-content: space-between; gap: 3mm; }
604
+ .kv .k { color: #6b7280; }
605
+ .kv .v { font-weight: 500; }
606
+ .grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 6mm; }
607
+ .kader { border: 0.25mm solid #d1d5db; border-radius: 1mm; padding: 1.5mm; }
608
+ table.regels { width: 100%; border-collapse: collapse; table-layout: fixed; }
609
+ table.regels th, table.regels td { overflow-wrap: anywhere; }
610
+ table.regels th, table.regels td { padding: 0.7mm 1mm; vertical-align: top; }
611
+ table.regels th { font-size: 90%; text-transform: uppercase; color: #6b7280; font-weight: 600; text-align: left; }
612
+ .rand { border: 0.2mm solid #d1d5db; }
613
+ .onder { border-bottom: 0.2mm solid #d1d5db; }
614
+ table.regels.compact th, table.regels.compact td { padding: 0.3mm 0.8mm; }
615
+ tr.zebra td { background: #f3f4f6; }
616
+ .plijst { margin: 0; padding-left: 4mm; }
617
+ .groep { margin-bottom: 1.5mm; }
618
+ .regelrij { display: flex; gap: 2mm; }
619
+ .tweekolom { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; }
620
+ .karblok { margin-bottom: 2mm; }
621
+ .karblok.omkaderd { border: 0.25mm solid #d1d5db; border-radius: 1mm; padding: 1.5mm; }
622
+ .karkop { display: flex; justify-content: space-between; align-items: center; padding: 0.8mm 1.5mm; border-radius: 1mm; margin-bottom: 1mm; }
623
+ .bundel { display: inline-block; border: 0.3mm dashed #6b7280; border-radius: 1mm; padding: 0.4mm 1.5mm; margin-bottom: 1mm; font-weight: 700; text-transform: uppercase; letter-spacing: 0.2mm; font-size: 90%; }
624
+ .laag { margin-bottom: 1.5mm; }
625
+ .laagkop { display: flex; justify-content: space-between; font-weight: 500; border-bottom: 0.2mm solid #d1d5db; padding-bottom: 0.4mm; margin-bottom: 0.6mm; }
626
+ .laagkop.compact { border-bottom: none; }
627
+ .meta { display: flex; gap: 3mm; font-size: 88%; font-weight: 400; color: #4b5563; }
628
+ .totalen { display: flex; flex-wrap: wrap; gap: 5mm; border-top: 0.25mm solid #d1d5db; padding-top: 1.2mm; font-weight: 500; }
629
+ .paginavoet { position: fixed; bottom: 0; left: 0; right: 0; background: #fff; }
630
+ .handtekening { margin-top: 3mm; }
631
+ .lijnveld { margin-top: 4mm; border-bottom: 0.25mm solid #6b7280; padding-bottom: 3mm; }
632
+ .lijnveld.hoog { padding-bottom: 10mm; }
633
+ .lijn { border-top: 0.25mm solid #d1d5db; margin: 1.5mm 0; }
634
+ .balk { height: 1mm; background: #374151; margin: 1.5mm 0; }
635
+ .qr { border: 0.25mm dashed #9ca3af; }
636
+ .streepjes { width: 45mm; background: repeating-linear-gradient(to right, #111827 0 2px, transparent 2px 5px); }
637
+ .klein { font-size: 85%; color: #6b7280; }
638
+ .breekvoor { break-before: page; page-break-before: always; }
639
+ .heelhouden { break-inside: avoid; page-break-inside: avoid; }
640
+ img { max-width: 100%; }
641
+ </style></head>
642
642
  <body>${body}</body></html>`;
643
643
  }
644
644
  /** Handig voor testen: het document met de voorbeeldgegevens. */
@@ -212,22 +212,22 @@ export function renderLayoutHtml(resolved, data, locale = "nl-NL") {
212
212
  const body = resolved.elements
213
213
  .map((el) => renderElement(el, resolved, data, locale))
214
214
  .join("\n");
215
- return `<!DOCTYPE html>
216
- <html lang="nl"><head><meta charset="utf-8" />
217
- <title>${esc(layout.naam)}</title>
218
- <style>
219
- @page { size: ${w}mm ${h}mm; margin: 0; }
220
- * { box-sizing: border-box; }
221
- html, body { margin: 0; padding: 0; }
222
- body { font-family: ${baseFont}; font-size: ${baseSize}pt; color: #000; }
223
- .page { position: relative; width: ${w}mm; height: ${h}mm; overflow: hidden; }
224
- .content { position: absolute; left: ${ml}mm; top: ${mt}mm; right: ${mr}mm; bottom: ${mb}mm; }
225
- .el { position: absolute; white-space: pre-wrap; }
226
- .lbl { font-weight: 600; }
227
- .lay-table { width: 100%; border-collapse: collapse; font-size: inherit; }
228
- .lay-table th, .lay-table td { padding: 1mm 1.5mm; border-bottom: 0.2mm solid #999; vertical-align: top; }
229
- .barcode { font-family: "Libre Barcode 39", monospace; font-size: 30pt; letter-spacing: 4px; line-height: 1; }
230
- .barcode-text { font-size: 8pt; letter-spacing: 2px; }
231
- </style></head>
215
+ return `<!DOCTYPE html>
216
+ <html lang="nl"><head><meta charset="utf-8" />
217
+ <title>${esc(layout.naam)}</title>
218
+ <style>
219
+ @page { size: ${w}mm ${h}mm; margin: 0; }
220
+ * { box-sizing: border-box; }
221
+ html, body { margin: 0; padding: 0; }
222
+ body { font-family: ${baseFont}; font-size: ${baseSize}pt; color: #000; }
223
+ .page { position: relative; width: ${w}mm; height: ${h}mm; overflow: hidden; }
224
+ .content { position: absolute; left: ${ml}mm; top: ${mt}mm; right: ${mr}mm; bottom: ${mb}mm; }
225
+ .el { position: absolute; white-space: pre-wrap; }
226
+ .lbl { font-weight: 600; }
227
+ .lay-table { width: 100%; border-collapse: collapse; font-size: inherit; }
228
+ .lay-table th, .lay-table td { padding: 1mm 1.5mm; border-bottom: 0.2mm solid #999; vertical-align: top; }
229
+ .barcode { font-family: "Libre Barcode 39", monospace; font-size: 30pt; letter-spacing: 4px; line-height: 1; }
230
+ .barcode-text { font-size: 8pt; letter-spacing: 2px; }
231
+ </style></head>
232
232
  <body><div class="page"><div class="content">${body}</div></div></body></html>`;
233
233
  }
@@ -135,6 +135,16 @@ export declare const pickApi: {
135
135
  events: number;
136
136
  removed: number;
137
137
  }>;
138
+ /**
139
+ * Ingestelde werkwijze van de Logistiek Engine (pickMode, showCartControl,
140
+ * cartsPerPrint). Geeft null terug als er geen actieve werkwijze is; dit
141
+ * scherm bepaalt of onthoudt dan zelf geen aantal.
142
+ */
143
+ pickMode(): Promise<{
144
+ pickMode: string | null;
145
+ showCartControl: boolean;
146
+ cartsPerPrint: number | null;
147
+ } | null>;
138
148
  /**
139
149
  * Toestand van de karplanning volgens de Engine: pas tonen als de planning
140
150
  * klaar en vrijgegeven is. De reden komt letterlijk uit de Engine.
@@ -1 +1 @@
1
- {"version":3,"file":"pickApi.d.ts","sourceRoot":"","sources":["../../src/lib/pickApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pickApi.d.ts","sourceRoot":"","sources":["../../src/lib/pickApi.ts"],"names":[],"mappings":"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"}
@@ -314,6 +314,27 @@ export const pickApi = {
314
314
  const row = (data && typeof data === "object" ? data : {});
315
315
  return { events: Number(row["events"] ?? 0) || 0, removed: Number(row["removed"] ?? 0) || 0 };
316
316
  },
317
+ /**
318
+ * Ingestelde werkwijze van de Logistiek Engine (pickMode, showCartControl,
319
+ * cartsPerPrint). Geeft null terug als er geen actieve werkwijze is; dit
320
+ * scherm bepaalt of onthoudt dan zelf geen aantal.
321
+ */
322
+ async pickMode() {
323
+ const { data, error } = await db.rpc("logistics_pick_mode");
324
+ if (error)
325
+ throw new Error(error.message);
326
+ const row = (data && typeof data === "object" ? data : null);
327
+ if (!row)
328
+ return null;
329
+ const rawCount = row["cartsPerPrint"] ?? row["carts_per_print"];
330
+ const count = Number(rawCount);
331
+ const rawMode = row["pickMode"] ?? row["pick_mode"];
332
+ return {
333
+ pickMode: typeof rawMode === "string" && rawMode.trim() ? rawMode : null,
334
+ showCartControl: (row["showCartControl"] ?? row["show_cart_control"]) === true,
335
+ cartsPerPrint: Number.isFinite(count) && count >= 1 ? Math.round(count) : null,
336
+ };
337
+ },
317
338
  /**
318
339
  * Toestand van de karplanning volgens de Engine: pas tonen als de planning
319
340
  * klaar en vrijgegeven is. De reden komt letterlijk uit de Engine.
@@ -250,6 +250,22 @@ export declare function safeArray<T>(value: unknown): T[];
250
250
  * een eigen order- of documentnummer bedacht.
251
251
  */
252
252
  export declare function unitRefOf(item: PickQueueItem): string;
253
+ /** Karregel-gegevens van de bron; niets wordt zelf berekend. */
254
+ export interface PickCartRow {
255
+ cartId: string | null;
256
+ cartIndex: number | null;
257
+ cartTotal: number | null;
258
+ }
259
+ export declare function cartRowOf(item: PickQueueItem): PickCartRow | null;
260
+ /**
261
+ * Deterministische volgorde van de wachtrij, identiek aan de keuze van
262
+ * pick_claim_next_document: urgent, prioriteit, aanmeldtijd, en bij gelijke
263
+ * stand op kar-nummer (K1 voor K2 voor K3), daarna eenheidsreferentie en
264
+ * aanmaaktijd. Niet-geprinte regels blijven bovenaan. Zo print het scherm van
265
+ * boven naar beneden en de "volgende uitprinten"-knop pakt altijd de bovenste
266
+ * regel. Niets wordt hierbinnen zelf berekend of verzonnen.
267
+ */
268
+ export declare function comparePickQueue(a: PickQueueItem, b: PickQueueItem): number;
253
269
  export declare function unitLabelOf(item: PickQueueItem): string | null;
254
270
  export declare function bufferOrdersOf(item: PickQueueItem): string[];
255
271
  /** Titel van de regel: bufferlabel als de Engine dat meegeeft, anders het documentnummer. */
@@ -273,10 +289,51 @@ export declare function displayCartCount(value: number | null | undefined): numb
273
289
  * - Pickwijze "kleinste telt" (per kar of per order, welke kleiner is):
274
290
  * alleen de hele karren, met "+D" erachter als er ook een deelkar bij hoort.
275
291
  * Voorbeeld: 10+D
276
- * - Overige pickwijzen: het aantal karren, of het aantal fusten als er nog
277
- * geen karren zijn vastgelegd.
292
+ * - Overige pickwijzen: het aantal karren (totalCarts).
293
+ * - Is het karplan nog niet klaar (cartPlanReady = false) of ontbreken de
294
+ * karaantallen, dan tonen we het fustaantal of een streepje, plus de
295
+ * letterlijke reden (cartPlanReason) uit de Engine. Karren worden nóóit uit
296
+ * fusten afgeleid of zelf geteld.
278
297
  */
298
+ export interface CartColumnInfo {
299
+ /** Tekst voor de kolom "Karren" (bv. "10+D", "4", "29 fust", "—"). */
300
+ carts: string;
301
+ /** Letterlijke reden uit de Engine wanneer er nog geen karaantal is. */
302
+ reason: string | null;
303
+ /** Aanvullend label bij een karregel, bv. "Kar 2 van 3". */
304
+ cartLabel?: string | null;
305
+ }
306
+ export declare function cartColumnInfo(item: PickQueueItem): CartColumnInfo;
307
+ /** Compatibele string-weergave; zie {@link cartColumnInfo} voor de reden. */
279
308
  export declare function displayCartColumn(item: PickQueueItem): string;
309
+ /** Wat er nog ontbreekt voordat een regel geprint mag worden. */
310
+ export type PickMissingData = "cartplan" | "release" | "barcode";
311
+ export interface PickReadiness {
312
+ /** Waar zodra de bron alles heeft geleverd wat nodig is om te printen. */
313
+ ready: boolean;
314
+ /** Letterlijke reden uit de bron (Engine); alleen bij barcodes eigen tekst. */
315
+ reason: string | null;
316
+ missing: PickMissingData[];
317
+ }
318
+ /**
319
+ * Beoordeelt of een regel printklaar is. Alle gegevens komen uit de bron:
320
+ * deze module rekent of verzint nooit karren, nummers of barcodes.
321
+ *
322
+ * Bij een karregel (payload.cartRowFor) beslist uitsluitend die ene kar: heeft
323
+ * hij een kar-id, een barcode en meldt de bron ready + released, dan mag hij
324
+ * geprint worden — de andere karren van de order doen dan niet mee.
325
+ */
326
+ export declare function pickReadiness(plan: PickCartPlan | null | undefined, status: {
327
+ ready: boolean;
328
+ released: boolean;
329
+ reason: string | null;
330
+ } | null | undefined, item?: PickQueueItem | null): PickReadiness;
331
+ /**
332
+ * Regelniveau: de bron meldt in de payload zelf dat het karplan nog niet klaar
333
+ * is. Is er niets gemeld, dan blijft de printknop staan en controleert het
334
+ * pickscherm het volledige plan alsnog voordat er geprint wordt.
335
+ */
336
+ export declare function pickRowNeedsData(item: PickQueueItem): boolean;
280
337
  /** Aantal orderregels dat op één pagina past. */
281
338
  export declare const LINES_PER_PAGE = 20;
282
339
  /** Geschat aantal pagina's van het document, altijd minimaal 1. */
@@ -1 +1 @@
1
- {"version":3,"file":"pickTypes.d.ts","sourceRoot":"","sources":["../../src/lib/pickTypes.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yBAAyB,EAAE,OAAO,CAAC;IACnC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,UAAU,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAiBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CA6DrE;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CAE9D;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,yFAAyF;AACzF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKlF;AAKD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAG9E;AAGD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACxB;AAED,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,yDAAyD;AACzD,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EASzD,CAAC;AAEF,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,EAAE,CAEhD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAGrD;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAG9D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,EAAE,CAK5D;AAED,6FAA6F;AAC7F,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAqCpE;AAID,gDAAgD;AAChD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAIhF;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAqB7D;AAKD,iDAAiD;AACjD,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAI7E;AAGD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAMrD"}
1
+ {"version":3,"file":"pickTypes.d.ts","sourceRoot":"","sources":["../../src/lib/pickTypes.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,8 @@ export function parsePickCartPlan(value) {
25
25
  if (!orderId || rawCarts.length === 0)
26
26
  return null;
27
27
  const isBuffer = root?.["isBuffer"] === true;
28
- const declaredTotal = numberOf(root?.["cartTotal"] ?? root?.["cart_total"]);
28
+ // De bron gebruikt zowel cartTotal als totalCarts als naam voor het totaal.
29
+ const declaredTotal = numberOf(root?.["cartTotal"] ?? root?.["cart_total"] ?? root?.["totalCarts"] ?? root?.["total_carts"]);
29
30
  if (!declaredTotal || declaredTotal < 1 || !Number.isInteger(declaredTotal))
30
31
  return null;
31
32
  const carts = rawCarts.flatMap((rawCart) => {
@@ -128,8 +129,60 @@ export function safeArray(value) {
128
129
  */
129
130
  export function unitRefOf(item) {
130
131
  const p = recordOf(item.payload) ?? {};
132
+ // Een karregel is zelfstandig: hij hoort bij zijn eigen kar, nooit bij de order.
133
+ if (p["cartRowFor"] != null) {
134
+ const cartId = textOf(p["cartId"] ?? p["cart_id"]);
135
+ return cartId ?? textOf(item.reference) ?? item.id;
136
+ }
131
137
  return textOf(p["unitRef"] ?? p["unit_ref"]) ?? item.order_number ?? item.id;
132
138
  }
139
+ export function cartRowOf(item) {
140
+ const p = recordOf(item.payload) ?? {};
141
+ if (p["cartRowFor"] == null)
142
+ return null;
143
+ return {
144
+ cartId: textOf(p["cartId"] ?? p["cart_id"]),
145
+ cartIndex: numberOf(p["cartNumber"] ?? p["cart_number"] ?? p["cartIndex"]),
146
+ cartTotal: numberOf(p["cartTotal"] ?? p["cart_total"]),
147
+ };
148
+ }
149
+ /**
150
+ * Deterministische volgorde van de wachtrij, identiek aan de keuze van
151
+ * pick_claim_next_document: urgent, prioriteit, aanmeldtijd, en bij gelijke
152
+ * stand op kar-nummer (K1 voor K2 voor K3), daarna eenheidsreferentie en
153
+ * aanmaaktijd. Niet-geprinte regels blijven bovenaan. Zo print het scherm van
154
+ * boven naar beneden en de "volgende uitprinten"-knop pakt altijd de bovenste
155
+ * regel. Niets wordt hierbinnen zelf berekend of verzonnen.
156
+ */
157
+ export function comparePickQueue(a, b) {
158
+ const ap = a.printed_at ? 1 : 0;
159
+ const bp = b.printed_at ? 1 : 0;
160
+ if (ap !== bp)
161
+ return ap - bp;
162
+ if (a.is_urgent !== b.is_urgent)
163
+ return a.is_urgent ? -1 : 1;
164
+ if (a.priority !== b.priority)
165
+ return a.priority - b.priority;
166
+ const ta = Date.parse(a.announced_at) || 0;
167
+ const tb = Date.parse(b.announced_at) || 0;
168
+ if (ta !== tb)
169
+ return ta - tb;
170
+ // Karregels van dezelfde order delen announced_at: breek de gelijke stand op
171
+ // kar-nummer, net als de database-functie.
172
+ const ca = cartRowOf(a)?.cartIndex ?? 0;
173
+ const cb = cartRowOf(b)?.cartIndex ?? 0;
174
+ if (ca !== cb)
175
+ return ca - cb;
176
+ const ua = unitRefOf(a);
177
+ const ub = unitRefOf(b);
178
+ if (ua !== ub)
179
+ return ua < ub ? -1 : 1;
180
+ const ka = Date.parse(a.created_at) || 0;
181
+ const kb = Date.parse(b.created_at) || 0;
182
+ if (ka !== kb)
183
+ return ka - kb;
184
+ return a.id < b.id ? -1 : a.id > b.id ? 1 : 0;
185
+ }
133
186
  export function unitLabelOf(item) {
134
187
  const p = recordOf(item.payload) ?? {};
135
188
  return textOf(p["unitLabel"] ?? p["unit_label"]);
@@ -165,6 +218,9 @@ export function dedupeByUnit(items) {
165
218
  const unitKey = (item) => {
166
219
  const type = item.document_type_id ?? "-";
167
220
  const own = unitRefOf(item);
221
+ // Karregels blijven altijd zelfstandig staan: K1, K2 en K3 zijn drie regels.
222
+ if (cartRowOf(item))
223
+ return `${type}|cart|${own}|${item.id}`;
168
224
  const leader = memberOf.get(`${type}|${item.order_number ?? own}`);
169
225
  return `${type}|${leader ?? own}`;
170
226
  };
@@ -196,17 +252,7 @@ export function displayCartCount(value) {
196
252
  return null;
197
253
  return Math.round(n);
198
254
  }
199
- /**
200
- * Weergave van de kolom "Karren". De waarden komen uit de Logistiek Engine
201
- * (payload van de wachtrijregel); er wordt niets bijgeteld of verzonnen.
202
- *
203
- * - Pickwijze "kleinste telt" (per kar of per order, welke kleiner is):
204
- * alleen de hele karren, met "+D" erachter als er ook een deelkar bij hoort.
205
- * Voorbeeld: 10+D
206
- * - Overige pickwijzen: het aantal karren, of het aantal fusten als er nog
207
- * geen karren zijn vastgelegd.
208
- */
209
- export function displayCartColumn(item) {
255
+ export function cartColumnInfo(item) {
210
256
  const payload = recordOf(item.payload) ?? {};
211
257
  const num = (key) => {
212
258
  const n = Number(payload[key]);
@@ -215,20 +261,99 @@ export function displayCartColumn(item) {
215
261
  const pickMode = textOf(payload["pickMode"]);
216
262
  const full = num("fullCarts");
217
263
  const partial = num("partialCarts");
218
- const total = num("totalCarts") || (displayCartCount(item.cart_count) ?? 0);
264
+ const total = num("totalCarts");
219
265
  const crates = num("crates");
220
- if (pickMode === "smallest") {
221
- if (full > 0)
222
- return partial > 0 ? `${full}+D` : String(full);
223
- if (partial > 0)
224
- return "D";
225
- return "—";
266
+ const planReady = payload["cartPlanReady"] === true;
267
+ const reason = textOf(payload["cartPlanReason"]);
268
+ // Een karregel is altijd precies één kar; cartTotal is alleen het ordertotaal.
269
+ const cartRow = cartRowOf(item);
270
+ if (cartRow) {
271
+ const label = cartRow.cartIndex && cartRow.cartTotal
272
+ ? `Kar ${cartRow.cartIndex} van ${cartRow.cartTotal}`
273
+ : null;
274
+ return { carts: "1", reason: planReady ? null : reason ?? null, cartLabel: label };
275
+ }
276
+ const fallback = () => (crates > 0 ? `${crates} fust` : "—");
277
+ if (planReady) {
278
+ if (pickMode === "smallest") {
279
+ if (full > 0)
280
+ return { carts: partial > 0 ? `${full}+D` : String(full), reason: null };
281
+ if (partial > 0)
282
+ return { carts: "D", reason: null };
283
+ }
284
+ else if (total > 0) {
285
+ return { carts: String(total), reason: null };
286
+ }
287
+ }
288
+ return { carts: fallback(), reason: reason ?? null };
289
+ }
290
+ /** Compatibele string-weergave; zie {@link cartColumnInfo} voor de reden. */
291
+ export function displayCartColumn(item) {
292
+ return cartColumnInfo(item).carts;
293
+ }
294
+ /**
295
+ * Beoordeelt of een regel printklaar is. Alle gegevens komen uit de bron:
296
+ * deze module rekent of verzint nooit karren, nummers of barcodes.
297
+ *
298
+ * Bij een karregel (payload.cartRowFor) beslist uitsluitend die ene kar: heeft
299
+ * hij een kar-id, een barcode en meldt de bron ready + released, dan mag hij
300
+ * geprint worden — de andere karren van de order doen dan niet mee.
301
+ */
302
+ export function pickReadiness(plan, status, item) {
303
+ const missing = [];
304
+ const allCarts = plan ? safeArray(plan.carts) : [];
305
+ const cartRow = item ? cartRowOf(item) : null;
306
+ if (cartRow) {
307
+ const payload = recordOf(item?.payload) ?? {};
308
+ const own = allCarts.find((cart) => cart.cartId === cartRow.cartId) ?? null;
309
+ const rowReady = payload["cartPlanReady"] === true || status?.ready === true;
310
+ const rowReleased = payload["cartPlanReleased"] === true || status?.released === true;
311
+ const barcode = own?.barcode ?? textOf(payload["barcode"]) ?? textOf(item?.barcode);
312
+ if (!cartRow.cartId)
313
+ missing.push("cartplan");
314
+ if (!rowReady && !missing.includes("cartplan"))
315
+ missing.push("cartplan");
316
+ if (!rowReleased)
317
+ missing.push("release");
318
+ if (!barcode)
319
+ missing.push("barcode");
320
+ return {
321
+ ready: missing.length === 0,
322
+ reason: missing.length === 0
323
+ ? null
324
+ : textOf(payload["cartPlanReason"])
325
+ ?? status?.reason
326
+ ?? (missing.includes("barcode") ? "Deze kar heeft nog geen barcode." : null),
327
+ missing,
328
+ };
226
329
  }
227
- if (total > 0)
228
- return String(total);
229
- if (crates > 0)
230
- return `${crates} fust`;
231
- return "—";
330
+ if (!plan || allCarts.length === 0)
331
+ missing.push("cartplan");
332
+ // Zonder een actuele bevestiging van de Engine is de regel nooit
333
+ // printklaar. Zo kan een oud/lokaal karplan geen printknop vrijgeven.
334
+ if (!status?.ready && !missing.includes("cartplan"))
335
+ missing.push("cartplan");
336
+ if (!status?.released)
337
+ missing.push("release");
338
+ if (allCarts.length > 0 && allCarts.some((cart) => !cart.cartId || !cart.barcode))
339
+ missing.push("barcode");
340
+ const ownReason = missing.includes("barcode")
341
+ ? "Niet alle karren van deze order hebben al een barcode."
342
+ : null;
343
+ return {
344
+ ready: missing.length === 0,
345
+ reason: status?.reason ?? ownReason,
346
+ missing,
347
+ };
348
+ }
349
+ /**
350
+ * Regelniveau: de bron meldt in de payload zelf dat het karplan nog niet klaar
351
+ * is. Is er niets gemeld, dan blijft de printknop staan en controleert het
352
+ * pickscherm het volledige plan alsnog voordat er geprint wordt.
353
+ */
354
+ export function pickRowNeedsData(item) {
355
+ const payload = recordOf(item.payload) ?? {};
356
+ return payload["cartPlanReady"] !== true || payload["cartPlanReleased"] !== true;
232
357
  }
233
358
  /** Aantal orderregels dat op één pagina past. */
234
359
  export const LINES_PER_PAGE = 20;
@@ -0,0 +1,35 @@
1
+ export type ShippingNoteStatusCode = "klaar_voor_print" | "wacht_op_floriday" | "geprint" | "mislukt" | "geblokkeerd";
2
+ /** Herkomst van de order volgens de Engine; bepaalt het type verzendbrief. */
3
+ export type ShippingNoteSource = "floriday" | "eigen";
4
+ export interface ShippingNoteStatus {
5
+ status: ShippingNoteStatusCode | null;
6
+ /** Kant-en-klare tekst uit de Engine; letterlijk tonen. */
7
+ message: string | null;
8
+ attempts: number | null;
9
+ nextAttemptAt: string | null;
10
+ /** Uitsluitend uit de Engine; nooit zelf bepalen of raden. */
11
+ source: ShippingNoteSource | null;
12
+ }
13
+ /** Leesbare aanduiding van het documenttype, of niets als de Engine het niet meldt. */
14
+ export declare function shippingNoteSourceLabel(state: ShippingNoteStatus): string | null;
15
+ /** Een printactie is pas volledig geslaagd als de juiste verzendbrief geprint is. */
16
+ export declare function isShippingNoteComplete(state: ShippingNoteStatus): boolean;
17
+ /**
18
+ * Vraagt de shell één keer om de verzendbrief nu op te halen, direct na een
19
+ * geslaagde pakbonprint. Idempotent en alleen-lezen richting Floriday. De
20
+ * publiceerbare sleutel komt uit de omgeving van de shell; ontbreekt die of
21
+ * faalt de aanroep, dan gebeurt er niets zichtbaars en werkt de
22
+ * achtergrondverwerking de status vanzelf bij.
23
+ */
24
+ export declare function requestShippingNoteNow(): Promise<{
25
+ ok: boolean;
26
+ message: string | null;
27
+ }>;
28
+ export declare function isWaitingShippingNote(status: ShippingNoteStatusCode | null): boolean;
29
+ export declare function shippingNoteMessage(state: ShippingNoteStatus): string | null;
30
+ /**
31
+ * Leest de verzendbriefstatus bij een pakbon-printopdracht. Het print_job-id is
32
+ * de sleutel; het kar-id is alleen de terugval.
33
+ */
34
+ export declare function readShippingNoteStatus(slipJobId: string | null, cartId: string | null): Promise<ShippingNoteStatus>;
35
+ //# sourceMappingURL=shippingNoteStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shippingNoteStatus.d.ts","sourceRoot":"","sources":["../../src/lib/shippingNoteStatus.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,sBAAsB,GAC9B,kBAAkB,GAClB,mBAAmB,GACnB,SAAS,GACT,SAAS,GACT,aAAa,CAAC;AAElB,8EAA8E;AAC9E,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,OAAO,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtC,2DAA2D;IAC3D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,8DAA8D;IAC9D,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACnC;AAeD,uFAAuF;AACvF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAEhF;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAEzE;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC;IACtD,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC,CAuBD;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI,GAAG,OAAO,CAEpF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAI5E;AA6CD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,OAAO,CAAC,kBAAkB,CAAC,CAO7B"}