@flowselections/layout-maker 1.69.10 → 1.69.15

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 (92) hide show
  1. package/dist-lib/components/A4StickervelKaart.d.ts +5 -0
  2. package/dist-lib/components/A4StickervelKaart.d.ts.map +1 -0
  3. package/dist-lib/components/A4StickervelKaart.js +123 -0
  4. package/dist-lib/components/KlaarOmTePrintenBlok.d.ts.map +1 -1
  5. package/dist-lib/components/KlaarOmTePrintenBlok.js +50 -7
  6. package/dist-lib/components/PrintQueuePage.d.ts.map +1 -1
  7. package/dist-lib/components/PrintQueuePage.js +4 -6
  8. package/dist-lib/components/PrintplekDetailPage.d.ts.map +1 -1
  9. package/dist-lib/components/PrintplekDetailPage.js +3 -1
  10. package/dist-lib/components/PrintplekkenPage.d.ts.map +1 -1
  11. package/dist-lib/components/PrintplekkenPage.js +2 -1
  12. package/dist-lib/components/StickerRouteTestKaart.d.ts +5 -0
  13. package/dist-lib/components/StickerRouteTestKaart.d.ts.map +1 -0
  14. package/dist-lib/components/StickerRouteTestKaart.js +75 -0
  15. package/dist-lib/components/UitwijkRegel.d.ts +5 -0
  16. package/dist-lib/components/UitwijkRegel.d.ts.map +1 -0
  17. package/dist-lib/components/UitwijkRegel.js +17 -0
  18. package/dist-lib/components/UitwijkTekening.d.ts +19 -0
  19. package/dist-lib/components/UitwijkTekening.d.ts.map +1 -0
  20. package/dist-lib/components/UitwijkTekening.js +21 -0
  21. package/dist-lib/index.d.ts +12 -0
  22. package/dist-lib/index.d.ts.map +1 -1
  23. package/dist-lib/index.js +14 -0
  24. package/dist-lib/integrations/supabase/types.d.ts +3714 -25
  25. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  26. package/dist-lib/integrations/supabase/types.js +1 -0
  27. package/dist-lib/lib/belading.d.ts +10 -0
  28. package/dist-lib/lib/belading.d.ts.map +1 -0
  29. package/dist-lib/lib/belading.js +49 -0
  30. package/dist-lib/lib/codelijstCache.d.ts +11 -0
  31. package/dist-lib/lib/codelijstCache.d.ts.map +1 -0
  32. package/dist-lib/lib/codelijstCache.js +117 -0
  33. package/dist-lib/lib/documentTypes.d.ts +1 -1
  34. package/dist-lib/lib/documentTypes.d.ts.map +1 -1
  35. package/dist-lib/lib/documentTypes.js +2 -1
  36. package/dist-lib/lib/eigenDocumenten.d.ts +2 -0
  37. package/dist-lib/lib/eigenDocumenten.d.ts.map +1 -1
  38. package/dist-lib/lib/eigenDocumenten.js +22 -0
  39. package/dist-lib/lib/installCheck.d.ts +36 -0
  40. package/dist-lib/lib/installCheck.d.ts.map +1 -0
  41. package/dist-lib/lib/installCheck.js +65 -0
  42. package/dist-lib/lib/kiesFormaat.d.ts +11 -0
  43. package/dist-lib/lib/kiesFormaat.d.ts.map +1 -0
  44. package/dist-lib/lib/kiesFormaat.js +32 -0
  45. package/dist-lib/lib/klaarOmTePrinten.d.ts +15 -1
  46. package/dist-lib/lib/klaarOmTePrinten.d.ts.map +1 -1
  47. package/dist-lib/lib/klaarOmTePrinten.js +19 -1
  48. package/dist-lib/lib/orderData.server.d.ts.map +1 -1
  49. package/dist-lib/lib/orderData.server.js +25 -31
  50. package/dist-lib/lib/pakbonBuilder.d.ts +6 -0
  51. package/dist-lib/lib/pakbonBuilder.d.ts.map +1 -1
  52. package/dist-lib/lib/pakbonBuilder.js +18 -5
  53. package/dist-lib/lib/pakbonContent.d.ts.map +1 -1
  54. package/dist-lib/lib/pakbonContent.js +4 -1
  55. package/dist-lib/lib/pakbonHtml.d.ts.map +1 -1
  56. package/dist-lib/lib/pakbonHtml.js +5 -2
  57. package/dist-lib/lib/pakbonPresentation.d.ts +3 -1
  58. package/dist-lib/lib/pakbonPresentation.d.ts.map +1 -1
  59. package/dist-lib/lib/pakbonPresentation.js +13 -6
  60. package/dist-lib/lib/printQueue.server.d.ts +16 -2
  61. package/dist-lib/lib/printQueue.server.d.ts.map +1 -1
  62. package/dist-lib/lib/printQueue.server.js +305 -59
  63. package/dist-lib/lib/printService.server.d.ts.map +1 -1
  64. package/dist-lib/lib/printService.server.js +3 -2
  65. package/dist-lib/lib/printerKeuze.d.ts +15 -0
  66. package/dist-lib/lib/printerKeuze.d.ts.map +1 -0
  67. package/dist-lib/lib/printerKeuze.js +32 -0
  68. package/dist-lib/lib/queueTick.d.ts.map +1 -1
  69. package/dist-lib/lib/queueTick.js +9 -1
  70. package/dist-lib/lib/runnerRegistry.server.d.ts +10 -0
  71. package/dist-lib/lib/runnerRegistry.server.d.ts.map +1 -1
  72. package/dist-lib/lib/runnerRegistry.server.js +55 -0
  73. package/dist-lib/lib/standaardLayouts.server.d.ts +6 -0
  74. package/dist-lib/lib/standaardLayouts.server.d.ts.map +1 -1
  75. package/dist-lib/lib/standaardLayouts.server.js +13 -0
  76. package/dist-lib/lib/stickerPlaatsing.d.ts +37 -0
  77. package/dist-lib/lib/stickerPlaatsing.d.ts.map +1 -0
  78. package/dist-lib/lib/stickerPlaatsing.js +122 -0
  79. package/dist-lib/lib/stickerUitwijk.d.ts +197 -0
  80. package/dist-lib/lib/stickerUitwijk.d.ts.map +1 -0
  81. package/dist-lib/lib/stickerUitwijk.js +311 -0
  82. package/dist-lib/lib/testprint.d.ts +13 -0
  83. package/dist-lib/lib/testprint.d.ts.map +1 -1
  84. package/dist-lib/lib/testprint.js +38 -0
  85. package/dist-lib/lib/useDocumentData.js +1 -1
  86. package/dist-lib/lib/versie.generated.d.ts +1 -1
  87. package/dist-lib/lib/versie.generated.js +1 -1
  88. package/dist-lib/lib/vroegeWaarschuwing.d.ts +21 -0
  89. package/dist-lib/lib/vroegeWaarschuwing.d.ts.map +1 -0
  90. package/dist-lib/lib/vroegeWaarschuwing.js +15 -0
  91. package/package.json +1 -1
  92. package/sql/print-schema.sql +1 -0
@@ -40,6 +40,7 @@ export const Constants = {
40
40
  "afleverbrief",
41
41
  "veilingbrief",
42
42
  "traysticker",
43
+ "eigen_sticker",
43
44
  ],
44
45
  doc_orientation: ["portrait", "landscape"],
45
46
  exact_env: ["staging", "live"],
@@ -0,0 +1,10 @@
1
+ /** Deel (0–1) van één laag dat deze regel vult, of null als onbekend/onlogisch. */
2
+ export declare function laagDeel(item: Record<string, unknown>): number | null;
3
+ /** Aantal lagen dat een regel beslaat als de Engine dat meldt (veld lagen, of layer_fraction > 1). */
4
+ export declare function lagenVanRegel(item: Record<string, unknown>): number | null;
5
+ /**
6
+ * Tekst voor de laag: "33%" bij een bekende vulling 0–1; "24 lagen" als de
7
+ * regel meerdere lagen beslaat; anders leeg (geen percentage).
8
+ */
9
+ export declare function beladingTekst(delen: (number | null)[], lagen?: (number | null)[]): string;
10
+ //# sourceMappingURL=belading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"belading.d.ts","sourceRoot":"","sources":["../../src/lib/belading.ts"],"names":[],"mappings":"AAeA,mFAAmF;AACnF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CASrE;AAED,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAM1E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,GAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAO,GAAG,MAAM,CAO7F"}
@@ -0,0 +1,49 @@
1
+ // ============================================================================
2
+ // src/lib/belading.ts — belading per laag op de pakbon (1.69.12).
3
+ // Per laag altijd 0–100%: fusten op die laag ÷ fusten per laag. Een
4
+ // layer_fraction van de Engine telt alleen als hij tussen 0 en 1 ligt; een
5
+ // waarde daarboven (regel over meerdere lagen) wordt nooit als percentage
6
+ // getoond, maar als aantal lagen. Onbekend of onlogisch: geen percentage.
7
+ // Gelezen Engine-velden: crates_in_layer, crates, crates_per_layer,
8
+ // layer_fraction, lagen.
9
+ // ============================================================================
10
+ const getal = (v) => {
11
+ const n = Number(v);
12
+ return Number.isFinite(n) ? n : 0;
13
+ };
14
+ /** Deel (0–1) van één laag dat deze regel vult, of null als onbekend/onlogisch. */
15
+ export function laagDeel(item) {
16
+ const capaciteit = getal(item["crates_per_layer"]);
17
+ const opLaag = getal(item["crates_in_layer"]) || getal(item["crates"]);
18
+ if (capaciteit > 0 && opLaag > 0) {
19
+ const d = opLaag / capaciteit;
20
+ return d > 0 && d <= 1.0001 ? Math.min(d, 1) : null;
21
+ }
22
+ const lf = getal(item["layer_fraction"]);
23
+ return lf > 0 && lf <= 1 ? lf : null;
24
+ }
25
+ /** Aantal lagen dat een regel beslaat als de Engine dat meldt (veld lagen, of layer_fraction > 1). */
26
+ export function lagenVanRegel(item) {
27
+ const lagen = getal(item["lagen"]);
28
+ if (lagen >= 1)
29
+ return Math.round(lagen);
30
+ const lf = getal(item["layer_fraction"]);
31
+ if (lf > 1)
32
+ return Math.ceil(lf - 1e-9);
33
+ return null;
34
+ }
35
+ /**
36
+ * Tekst voor de laag: "33%" bij een bekende vulling 0–1; "24 lagen" als de
37
+ * regel meerdere lagen beslaat; anders leeg (geen percentage).
38
+ */
39
+ export function beladingTekst(delen, lagen = []) {
40
+ const meer = lagen.find((l) => l !== null && l > 1);
41
+ if (meer)
42
+ return `${meer} lagen`;
43
+ if (!delen.length || delen.some((d) => d === null))
44
+ return "";
45
+ const som = delen.reduce((a, b) => a + b, 0);
46
+ if (!(som > 0) || som > 1.0001)
47
+ return "";
48
+ return `${Math.round(Math.min(som, 1) * 100)}%`;
49
+ }
@@ -0,0 +1,11 @@
1
+ import type { SupabaseClient } from "@supabase/supabase-js";
2
+ type Db = SupabaseClient<any, any, any>;
3
+ export declare const CODELIJST_TIMEOUT_MS = 2000;
4
+ export declare function startCodelijstRonde(): void;
5
+ export declare function stopCodelijstRonde(): void;
6
+ /** Haalt de meldingen op (en leegt ze), zodat de wachtrij ze bij de opdracht logt. */
7
+ export declare function neemCodelijstMeldingen(): Record<string, unknown>[];
8
+ /** Labels voor de gevraagde codes. Ontbrekende labels = de code wordt geprint. */
9
+ export declare function codelijstLabels(db: Db, codes: string[]): Promise<Map<string, string>>;
10
+ export {};
11
+ //# sourceMappingURL=codelijstCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codelijstCache.d.ts","sourceRoot":"","sources":["../../src/lib/codelijstCache.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,KAAK,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAExC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAMzC,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AACD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AACD,sFAAsF;AACtF,wBAAgB,sBAAsB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAKlE;AAyCD,kFAAkF;AAClF,wBAAsB,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA8C3F"}
@@ -0,0 +1,117 @@
1
+ // ============================================================================
2
+ // src/lib/codelijstCache.ts — VBN-codelijstlabels voor de pakbon.
3
+ // - Altijd gefilterd op de actieve Floriday-omgeving (geen labels van staging
4
+ // en productie door elkaar; gebruikt de index environment+list_name+code).
5
+ // - Cache per printronde in het geheugen (startCodelijstRonde/stopCodelijstRonde).
6
+ // - Time-out van 2 s: lukt het niet, dan blijven de codes staan (nooit wachten)
7
+ // en komt er een melding die de wachtrij in de faselog schrijft.
8
+ // ============================================================================
9
+ export const CODELIJST_TIMEOUT_MS = 2000;
10
+ const LIJST = "vbn-characteristic-value";
11
+ let ronde = null;
12
+ export function startCodelijstRonde() {
13
+ ronde = { omgeving: undefined, labels: new Map(), meldingen: [] };
14
+ }
15
+ export function stopCodelijstRonde() {
16
+ ronde = null;
17
+ }
18
+ /** Haalt de meldingen op (en leegt ze), zodat de wachtrij ze bij de opdracht logt. */
19
+ export function neemCodelijstMeldingen() {
20
+ if (!ronde)
21
+ return [];
22
+ const m = ronde.meldingen;
23
+ ronde.meldingen = [];
24
+ return m;
25
+ }
26
+ function meld(m) {
27
+ if (ronde)
28
+ ronde.meldingen.push(m);
29
+ }
30
+ async function metTimeout(ms, werk) {
31
+ const ac = new AbortController();
32
+ let klok;
33
+ const grens = new Promise((_, weiger) => {
34
+ klok = setTimeout(() => {
35
+ ac.abort();
36
+ weiger(new Error("time-out"));
37
+ }, ms);
38
+ });
39
+ try {
40
+ return await Promise.race([Promise.resolve(werk(ac.signal)), grens]);
41
+ }
42
+ finally {
43
+ if (klok)
44
+ clearTimeout(klok);
45
+ }
46
+ }
47
+ async function actieveOmgeving(db) {
48
+ if (ronde && ronde.omgeving !== undefined)
49
+ return ronde.omgeving;
50
+ let env = null;
51
+ try {
52
+ const { data, error } = await metTimeout(CODELIJST_TIMEOUT_MS, (s) => db.rpc("get_active_floriday_connection_public").abortSignal(s));
53
+ if (!error) {
54
+ const rij = Array.isArray(data) ? data[0] : data;
55
+ const v = rij?.["active_environment"];
56
+ env = typeof v === "string" && v ? v : null;
57
+ }
58
+ }
59
+ catch {
60
+ env = null;
61
+ }
62
+ if (ronde)
63
+ ronde.omgeving = env;
64
+ return env;
65
+ }
66
+ /** Labels voor de gevraagde codes. Ontbrekende labels = de code wordt geprint. */
67
+ export async function codelijstLabels(db, codes) {
68
+ const uit = new Map();
69
+ const nodig = codes.filter((c) => {
70
+ const bekend = ronde?.labels.get(c);
71
+ if (bekend !== undefined) {
72
+ if (bekend)
73
+ uit.set(c, bekend);
74
+ return false;
75
+ }
76
+ return true;
77
+ });
78
+ if (!nodig.length)
79
+ return uit;
80
+ const env = await actieveOmgeving(db);
81
+ if (!env) {
82
+ meld({ fase: "codelijst_overgeslagen", reden: "geen actieve Floriday-omgeving; codes geprint", codes: nodig.length });
83
+ return uit;
84
+ }
85
+ const start = Date.now();
86
+ try {
87
+ const { data, error } = await metTimeout(CODELIJST_TIMEOUT_MS, (s) => db
88
+ .from("floriday_code_lists_cache")
89
+ .select("code, label")
90
+ .eq("environment", env)
91
+ .eq("list_name", LIJST)
92
+ .in("code", nodig)
93
+ .abortSignal(s));
94
+ if (error)
95
+ throw new Error(error.message);
96
+ for (const w of Array.isArray(data) ? data : []) {
97
+ const code = String(w["code"] ?? "");
98
+ const label = String(w["label"] ?? "").trim();
99
+ if (code && label && !uit.has(code))
100
+ uit.set(code, label);
101
+ }
102
+ for (const c of nodig)
103
+ ronde?.labels.set(c, uit.get(c) ?? null);
104
+ const ms = Date.now() - start;
105
+ if (ms > 1000)
106
+ meld({ fase: "codelijst_traag", ms, codes: nodig.length });
107
+ }
108
+ catch (e) {
109
+ meld({
110
+ fase: "codelijst_traag",
111
+ ms: Date.now() - start,
112
+ codes: nodig.length,
113
+ reden: e instanceof Error && e.message === "time-out" ? "langer dan 2 s; codes geprint" : "niet leesbaar; codes geprint",
114
+ });
115
+ }
116
+ return uit;
117
+ }
@@ -1,4 +1,4 @@
1
- export type DocumentType = "pakbon" | "sticker" | "traysticker" | "productiebon" | "factuur" | "offerte" | "orderbevestiging" | "etiket" | "verzendlabel" | "productlabel" | "barcode_label" | "magazijnlijst" | "controlelijst" | "transportdocument" | "veilingbon" | "afleverbrief" | "veilingbrief" | "vrij";
1
+ export type DocumentType = "pakbon" | "sticker" | "traysticker" | "eigen_sticker" | "productiebon" | "factuur" | "offerte" | "orderbevestiging" | "etiket" | "verzendlabel" | "productlabel" | "barcode_label" | "magazijnlijst" | "controlelijst" | "transportdocument" | "veilingbon" | "afleverbrief" | "veilingbrief" | "vrij";
2
2
  export declare const DOCUMENT_TYPES: {
3
3
  value: DocumentType;
4
4
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"documentTypes.d.ts","sourceRoot":"","sources":["../../src/lib/documentTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documentTypes.d.ts","sourceRoot":"","sources":["../../src/lib/documentTypes.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export const DOCUMENT_TYPES = [
5
5
  { value: "pakbon", label: "Pakbon" },
6
6
  { value: "sticker", label: "Sticker" },
7
7
  { value: "traysticker", label: "Traysticker" },
8
+ { value: "eigen_sticker", label: "Eigen sticker" },
8
9
  { value: "productiebon", label: "Productiebon" },
9
10
  { value: "factuur", label: "Factuur" },
10
11
  { value: "offerte", label: "Offerte" },
@@ -22,7 +23,7 @@ export const DOCUMENT_TYPES = [
22
23
  { value: "vrij", label: "Vrij document" },
23
24
  ];
24
25
  /** Soorten die van nature een etiket zijn: altijd naar de labelprinter. */
25
- export const ETIKET_SOORTEN = ["sticker", "traysticker", "etiket", "verzendlabel", "productlabel", "barcode_label"];
26
+ export const ETIKET_SOORTEN = ["sticker", "traysticker", "eigen_sticker", "etiket", "verzendlabel", "productlabel", "barcode_label"];
26
27
  export const isEtiketSoort = (t) => ETIKET_SOORTEN.includes(String(t));
27
28
  export function documentTypeLabel(value) {
28
29
  return DOCUMENT_TYPES.find((d) => d.value === value)?.label ?? value;
@@ -23,6 +23,8 @@ export declare function eigenStickerId(payload: unknown): string | null;
23
23
  export declare const TRAYSTICKER_VELDEN: readonly ["logo", "bedrijfsnaam", "klantnaam", "ordernummer", "leverdatum", "afleverlocatie", "tray", "producten", "barcode"];
24
24
  export type TrayVeld = (typeof TRAYSTICKER_VELDEN)[number];
25
25
  export declare const TRAYSTICKER_GEEN_INDELING = "Aantal fusten onbekend";
26
+ /** Voorbeeldgegevens voor een testprint (geen echte order, geen echte namen). */
27
+ export declare const VOORBEELD_TRAY_PAYLOAD: Record<string, unknown>;
26
28
  export type TrayRegel = {
27
29
  artikelnummer: string;
28
30
  naam: string;
@@ -1 +1 @@
1
- {"version":3,"file":"eigenDocumenten.d.ts","sourceRoot":"","sources":["../../src/lib/eigenDocumenten.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,2BAA2B,4IAC8F,CAAC;AAEvI,MAAM,MAAM,gBAAgB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,CAAA;CAAE,CAAC;AAExH;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,OAAO,EACnB,QAAQ,GAAE,OAAc,EACxB,OAAO,GAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAW,GAC/D,gBAAgB,GAAG,IAAI,CAmBzB;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGtF;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAIhH;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI9D;AAGD,eAAO,MAAM,kBAAkB,+HAErB,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAElE,MAAM,MAAM,SAAS,GAAG;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAChF,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;IAAE,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC;AAOlE,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,GAAG,IAAI,CAOpE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAK1D;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC/C,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClD,MAAM,CAiCR;AAGD,eAAO,MAAM,sBAAsB,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,EAoBvF,CAAC;AAEF,eAAO,MAAM,gCAAgC,UAAuE,CAAC;AAarH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAK5D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAaxE"}
1
+ {"version":3,"file":"eigenDocumenten.d.ts","sourceRoot":"","sources":["../../src/lib/eigenDocumenten.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,2BAA2B,4IAC8F,CAAC;AAEvI,MAAM,MAAM,gBAAgB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,CAAA;CAAE,CAAC;AAExH;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,OAAO,EACnB,QAAQ,GAAE,OAAc,EACxB,OAAO,GAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAW,GAC/D,gBAAgB,GAAG,IAAI,CAmBzB;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGtF;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAIhH;AAED,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI9D;AAGD,eAAO,MAAM,kBAAkB,+HAErB,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,eAAO,MAAM,yBAAyB,2BAA2B,CAAC;AAElE,iFAAiF;AACjF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAoB1D,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAChF,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;IAAE,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC;AAOlE,2EAA2E;AAC3E,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,EAAE,GAAG,IAAI,CAOpE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAK1D;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC/C,OAAO,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAClD,MAAM,CAiCR;AAGD,eAAO,MAAM,sBAAsB,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,EAoBvF,CAAC;AAEF,eAAO,MAAM,gCAAgC,UAAuE,CAAC;AAarH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,CAK5D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAaxE"}
@@ -66,6 +66,28 @@ export const TRAYSTICKER_VELDEN = [
66
66
  "logo", "bedrijfsnaam", "klantnaam", "ordernummer", "leverdatum", "afleverlocatie", "tray", "producten", "barcode",
67
67
  ];
68
68
  export const TRAYSTICKER_GEEN_INDELING = "Aantal fusten onbekend";
69
+ /** Voorbeeldgegevens voor een testprint (geen echte order, geen echte namen). */
70
+ export const VOORBEELD_TRAY_PAYLOAD = {
71
+ voorbeeld: true,
72
+ order_number: "VOORBEELD-0001",
73
+ klantnaam: "Voorbeeldklant",
74
+ leverdatum: "01-01-2027",
75
+ afleverlocatie: "Voorbeeldlocatie",
76
+ tray_nummer: 1,
77
+ tray_totaal: 2,
78
+ tray_producten: [
79
+ { artikelnummer: "VB-100", naam: "Voorbeeldplant 12 cm", aantal: "10" },
80
+ {
81
+ artikelnummer: "VB-200",
82
+ naam: "Voorbeeld samenstelling",
83
+ aantal: "4",
84
+ onderdelen: [
85
+ { artikelnummer: "VB-201", naam: "Onderdeel A", aantal: "2" },
86
+ { artikelnummer: "VB-202", naam: "Onderdeel B", aantal: "2" },
87
+ ],
88
+ },
89
+ ],
90
+ };
69
91
  const trayRegel = (x) => {
70
92
  const r = obj(x);
71
93
  return { artikelnummer: tekst(r["artikelnummer"]), naam: tekst(r["naam"] ?? r["productnaam"]), aantal: tekst(r["aantal"]) };
@@ -0,0 +1,36 @@
1
+ import type { PrinterFormaten } from "./papierFormaten.js";
2
+ import { type UitwijkUitkomst, type VerkleinInstelling, type Velindeling } from "./stickerUitwijk.js";
3
+ export type InstallMelding = {
4
+ niveau: "ok" | "waarschuwing";
5
+ printplek: string;
6
+ documenttype: string;
7
+ tekst: string;
8
+ };
9
+ /** Uitleg voor één sticker op één printplek, in gewone taal. */
10
+ export declare function stickerRegel(soortLabel: string, maat: {
11
+ breedte_mm: number;
12
+ hoogte_mm: number;
13
+ }, printerNaam: string | null, geladenEtiket: unknown, a4: {
14
+ naam: string;
15
+ } | null,
16
+ /** Velindeling van de printplek (a4VelVoor), of true/false voor de standaardlijst. */
17
+ a4Vel: boolean | Velindeling | null, instelling: VerkleinInstelling | null,
18
+ /** PrintNode-papiermaten van de labelprinter (1.69.12); weggelaten = niet gecontroleerd. */
19
+ formaten?: PrinterFormaten | null): {
20
+ niveau: "ok" | "waarschuwing";
21
+ tekst: string;
22
+ uitkomst: UitwijkUitkomst | null;
23
+ };
24
+ /** Alle gangbare maten voor één printplek (overzicht op Printplekken). */
25
+ export declare function matenPerPrintplek(printerNaam: string | null, geladenEtiket: unknown, a4: {
26
+ naam: string;
27
+ } | null, a4Vel: boolean, instelling: VerkleinInstelling | null, formaten?: PrinterFormaten | null): {
28
+ maat: string;
29
+ niveau: "ok" | "waarschuwing";
30
+ tekst: string;
31
+ }[];
32
+ /** Melding voor een document zonder printer (bijvoorbeeld Controlelijst karren). */
33
+ export declare function geenPrinterMelding(documentLabel: string, printplek: string | null): string;
34
+ /** Waarschuwing als de labelprinter geen papiermaat voor het geladen etiket kent (1.69.12). */
35
+ export declare function papierMelding(printerNaam: string, geladenEtiket: unknown, formaten: PrinterFormaten | null | undefined): string | null;
36
+ //# sourceMappingURL=installCheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installCheck.d.ts","sourceRoot":"","sources":["../../src/lib/installCheck.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,IAAI,GAAG,cAAc,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAWF,gEAAgE;AAChE,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC/C,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,aAAa,EAAE,OAAO,EACtB,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI;AAC3B,sFAAsF;AACtF,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,EACnC,UAAU,EAAE,kBAAkB,GAAG,IAAI;AACrC,4FAA4F;AAC5F,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,GAChC;IAAE,MAAM,EAAE,IAAI,GAAG,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAA;CAAE,CAcpF;AAED,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,aAAa,EAAE,OAAO,EACtB,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EAC3B,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,kBAAkB,GAAG,IAAI,EACrC,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,IAAI,GAAG,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAKlE;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAI1F;AAUD,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAItI"}
@@ -0,0 +1,65 @@
1
+ // ============================================================================
2
+ // src/lib/installCheck.ts — install_check (1.69.11): alleen lezen, waarschuwt,
3
+ // blokkeert nooit. Per printplek: hoe gaan de stickermaten (precies, gedraaid,
4
+ // groter etiket, verkleind, via A4) en ontbreekt er een printer voor een
5
+ // document (bijvoorbeeld de Controlelijst karren).
6
+ // ============================================================================
7
+ import { leesGeladenEtiket } from "./etiketControle.js";
8
+ import { GANGBARE_ETIKETMATEN, kiesUitwijkroute, papierWaarschuwingen, } from "./stickerUitwijk.js";
9
+ const ROUTE_TEKST = {
10
+ precies: "past precies",
11
+ gedraaid: "past gedraaid",
12
+ groter_etiket: "1-op-1 op een groter etiket",
13
+ verkleind: "wordt verkleind",
14
+ a4_vel: "gaat via een A4-stickervel",
15
+ a4_snijlijnen: "gaat via gewoon A4 met snijlijnen",
16
+ };
17
+ /** Uitleg voor één sticker op één printplek, in gewone taal. */
18
+ export function stickerRegel(soortLabel, maat, printerNaam, geladenEtiket, a4,
19
+ /** Velindeling van de printplek (a4VelVoor), of true/false voor de standaardlijst. */
20
+ a4Vel, instelling,
21
+ /** PrintNode-papiermaten van de labelprinter (1.69.12); weggelaten = niet gecontroleerd. */
22
+ formaten) {
23
+ const e = leesGeladenEtiket(geladenEtiket);
24
+ const etiketten = e && printerNaam ? [{ printerNaam, paper: e.standaard ? "" : e.naam, breedte_mm: e.breedte_mm, hoogte_mm: e.hoogte_mm, formaten: formaten === undefined ? undefined : alleenPapier(formaten) }] : [];
25
+ const u = kiesUitwijkroute({ sticker: maat, etiketten, a4Printer: a4, a4VelIngesteld: !!a4Vel, a4VelIndeling: typeof a4Vel === "object" ? a4Vel : undefined, instelling });
26
+ const m = `${Math.round(maat.breedte_mm)} × ${Math.round(maat.hoogte_mm)} mm`;
27
+ if (!u) {
28
+ return { niveau: "waarschuwing", tekst: `${soortLabel} (${m}): geen labelprinter en geen A4-printer op deze printplek.`, uitkomst: null };
29
+ }
30
+ if (u.uitwijkroute === "precies" || u.uitwijkroute === "gedraaid") {
31
+ return { niveau: "ok", tekst: `${soortLabel} (${m}) ${ROUTE_TEKST[u.uitwijkroute]} op ${u.printerNaam}.`, uitkomst: u };
32
+ }
33
+ const kan = printerNaam && e ? `Printer ${printerNaam} kan de ${soortLabel.toLowerCase()} niet 1-op-1 printen (etiket ${Math.round(e.breedte_mm)} × ${Math.round(e.hoogte_mm)} mm). ` : "";
34
+ return { niveau: "waarschuwing", tekst: `${kan}${soortLabel} (${m}) ${ROUTE_TEKST[u.uitwijkroute]}: ${u.reden}.`, uitkomst: u };
35
+ }
36
+ /** Alle gangbare maten voor één printplek (overzicht op Printplekken). */
37
+ export function matenPerPrintplek(printerNaam, geladenEtiket, a4, a4Vel, instelling, formaten) {
38
+ return GANGBARE_ETIKETMATEN.map((m) => {
39
+ const r = stickerRegel("Sticker", m, printerNaam, geladenEtiket, a4, a4Vel, instelling, formaten);
40
+ return { maat: `${m.breedte_mm}×${m.hoogte_mm}`, niveau: r.niveau, tekst: r.uitkomst ? ROUTE_TEKST[r.uitkomst.uitwijkroute] + (r.uitkomst.uitwijkroute === "verkleind" ? ` (${Math.round(r.uitkomst.schaal * 100)}%)` : "") : "geen printer" };
41
+ });
42
+ }
43
+ /** Melding voor een document zonder printer (bijvoorbeeld Controlelijst karren). */
44
+ export function geenPrinterMelding(documentLabel, printplek) {
45
+ return printplek
46
+ ? `${documentLabel} heeft geen printer op printplek ‘${printplek}’. Stel er een in bij Printen › Printplekken.`
47
+ : `${documentLabel} heeft geen printer. Stel er een in bij Printen › Printplekken.`;
48
+ }
49
+ /** Alleen de papierregels (naam -> [b, h]); andere velden zoals dpi tellen niet. */
50
+ function alleenPapier(f) {
51
+ if (!f || typeof f !== "object" || Array.isArray(f))
52
+ return null;
53
+ const uit = {};
54
+ for (const [k, v] of Object.entries(f))
55
+ if (Array.isArray(v) && v.length >= 2)
56
+ uit[k] = v;
57
+ return Object.keys(uit).length ? uit : null;
58
+ }
59
+ /** Waarschuwing als de labelprinter geen papiermaat voor het geladen etiket kent (1.69.12). */
60
+ export function papierMelding(printerNaam, geladenEtiket, formaten) {
61
+ const e = leesGeladenEtiket(geladenEtiket);
62
+ if (!e || formaten === undefined)
63
+ return null;
64
+ return papierWaarschuwingen([{ printerNaam, paper: "", breedte_mm: e.breedte_mm, hoogte_mm: e.hoogte_mm, formaten: alleenPapier(formaten ?? null) }])[0] ?? null;
65
+ }
@@ -0,0 +1,11 @@
1
+ type Rij = Record<string, unknown>;
2
+ export type Formaat = {
3
+ breedte_mm: number | null;
4
+ hoogte_mm: number | null;
5
+ orientatie: string | null;
6
+ marge_boven: number | null;
7
+ };
8
+ export declare function testprintHoudtFormaat(job: Rij): boolean;
9
+ export declare function kiesFormaat(job: Rij, layout: Rij | null | undefined): Formaat;
10
+ export {};
11
+ //# sourceMappingURL=kiesFormaat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kiesFormaat.d.ts","sourceRoot":"","sources":["../../src/lib/kiesFormaat.ts"],"names":[],"mappings":"AAMA,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnC,MAAM,MAAM,OAAO,GAAG;IAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAOrI,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAIvD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAgB7E"}
@@ -0,0 +1,32 @@
1
+ // ============================================================================
2
+ // src/lib/kiesFormaat.ts — papierformaat van een opdracht.
3
+ // Testprint zonder layout_id met voorbeeld_formaat: het gekozen voorbeeldformaat
4
+ // wint (ook als er een klantlayout is gevonden). Anders wint de layout.
5
+ // ============================================================================
6
+ function num(v) {
7
+ const n = Number(v);
8
+ return v !== null && v !== undefined && v !== "" && Number.isFinite(n) && n > 0 ? n : null;
9
+ }
10
+ export function testprintHoudtFormaat(job) {
11
+ const p = (job["payload"] ?? {});
12
+ const vf = p["voorbeeld_formaat"];
13
+ return p["is_testprint"] === true && !!vf && typeof vf === "object" && (job["layout_id"] === null || job["layout_id"] === undefined || job["layout_id"] === "");
14
+ }
15
+ export function kiesFormaat(job, layout) {
16
+ const vf = ((job["payload"] ?? {})["voorbeeld_formaat"] ?? null);
17
+ const eerst = testprintHoudtFormaat(job) ? [vf, layout] : [layout, vf];
18
+ const pak = (k) => {
19
+ for (const b of eerst) {
20
+ const v = b?.[k];
21
+ if (v !== null && v !== undefined && v !== "")
22
+ return v;
23
+ }
24
+ return null;
25
+ };
26
+ return {
27
+ breedte_mm: num(pak("breedte_mm")),
28
+ hoogte_mm: num(pak("hoogte_mm")),
29
+ orientatie: pak("orientatie") ?? null,
30
+ marge_boven: num(pak("marge_boven")),
31
+ };
32
+ }
@@ -1,4 +1,18 @@
1
- export declare const KLAAR_SOORTEN: readonly ["pakbon", "afleverbrief", "sticker", "traysticker", "veilingbrief", "factuur", "productiebon"];
1
+ export declare const KLAAR_SOORTEN: readonly ["pakbon", "afleverbrief", "sticker", "traysticker", "veilingbrief", "factuur", "productiebon", "controlelijst"];
2
+ /**
3
+ * Opgevraagde documenttypen die geen standaardlayout van deze module nodig
4
+ * hebben (1.69.12): factuur komt met de opmaak van Facturatie, etiket was een
5
+ * testopdracht.
6
+ */
7
+ export declare const GEEN_STANDAARD_NODIG: ReadonlySet<string>;
8
+ /**
9
+ * Types zonder standaard die echt in gebruik zijn: opgevraagd (aantal > 0),
10
+ * niet in de standaardlijst en niet in GEEN_STANDAARD_NODIG.
11
+ */
12
+ export declare function opgevraagdZonderStandaard(opgevraagd: {
13
+ documenttype: string;
14
+ aantal: number;
15
+ }[], metStandaard: Iterable<string>): string[];
2
16
  /** Soorten waarvoor de Engine een Floriday-systeemlayout opvraagt. */
3
17
  export declare const FLORIDAY_VERWIJZING_SOORTEN: string[];
4
18
  export interface LayoutRij {
@@ -1 +1 @@
1
- {"version":3,"file":"klaarOmTePrinten.d.ts","sourceRoot":"","sources":["../../src/lib/klaarOmTePrinten.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa,0GAEhB,CAAC;AAEX,sEAAsE;AACtE,eAAO,MAAM,2BAA2B,UAA6D,CAAC;AAEtG,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,4BAA4B,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAU3H,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,YAAY,CAM9E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAWhH;AAED,iGAAiG;AACjG,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,CAc1G;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD"}
1
+ {"version":3,"file":"klaarOmTePrinten.d.ts","sourceRoot":"","sources":["../../src/lib/klaarOmTePrinten.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa,2HAEhB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAkC,CAAC;AAExF;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAO1I;AAED,sEAAsE;AACtE,eAAO,MAAM,2BAA2B,UAA6D,CAAC;AAEtG,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,4BAA4B,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAU3H,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,YAAY,CAM9E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAWhH;AAED,iGAAiG;AACjG,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,CAc1G;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD"}
@@ -5,8 +5,26 @@
5
5
  // ============================================================================
6
6
  import { ETIKET_SOORTEN } from "./documentTypes.js";
7
7
  export const KLAAR_SOORTEN = [
8
- "pakbon", "afleverbrief", "sticker", "traysticker", "veilingbrief", "factuur", "productiebon",
8
+ "pakbon", "afleverbrief", "sticker", "traysticker", "veilingbrief", "factuur", "productiebon", "controlelijst",
9
9
  ];
10
+ /**
11
+ * Opgevraagde documenttypen die geen standaardlayout van deze module nodig
12
+ * hebben (1.69.12): factuur komt met de opmaak van Facturatie, etiket was een
13
+ * testopdracht.
14
+ */
15
+ export const GEEN_STANDAARD_NODIG = new Set(["factuur", "etiket"]);
16
+ /**
17
+ * Types zonder standaard die echt in gebruik zijn: opgevraagd (aantal > 0),
18
+ * niet in de standaardlijst en niet in GEEN_STANDAARD_NODIG.
19
+ */
20
+ export function opgevraagdZonderStandaard(opgevraagd, metStandaard) {
21
+ const std = new Set(metStandaard);
22
+ return opgevraagd
23
+ .filter((o) => o.aantal > 0 && !std.has(o.documenttype) && !GEEN_STANDAARD_NODIG.has(o.documenttype))
24
+ .map((o) => o.documenttype)
25
+ .filter((t, i, a) => a.indexOf(t) === i)
26
+ .sort();
27
+ }
10
28
  /** Soorten waarvoor de Engine een Floriday-systeemlayout opvraagt. */
11
29
  export const FLORIDAY_VERWIJZING_SOORTEN = ["afleverbrief", "veilingbrief", "sticker", "traysticker"];
12
30
  /** Winnende layout: precies één actief, of precies één actief standaard. */
@@ -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,CA0oBrB;AAkHD;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAGhG;AAcD,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAIzD"}
1
+ {"version":3,"file":"orderData.server.d.ts","sourceRoot":"","sources":["../../src/lib/orderData.server.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,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,CA6nBrB;AAkHD;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAGhG;AAcD,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAIzD"}