@flowselections/layout-maker 1.8.2 → 1.13.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.
- package/README.md +8 -1
- package/dist-lib/components/ComputersLijst.d.ts +2 -1
- package/dist-lib/components/ComputersLijst.d.ts.map +1 -1
- package/dist-lib/components/ComputersLijst.js +2 -2
- package/dist-lib/components/DocumentRouteringPage.d.ts +2 -0
- package/dist-lib/components/DocumentRouteringPage.d.ts.map +1 -0
- package/dist-lib/components/DocumentRouteringPage.js +115 -0
- package/dist-lib/components/LayoutsPage.d.ts.map +1 -1
- package/dist-lib/components/LayoutsPage.js +13 -8
- package/dist-lib/components/PrintQueuePage.d.ts.map +1 -1
- package/dist-lib/components/PrintQueuePage.js +16 -1
- package/dist-lib/components/PrintStatusBanner.d.ts +8 -0
- package/dist-lib/components/PrintStatusBanner.d.ts.map +1 -0
- package/dist-lib/components/PrintStatusBanner.js +15 -0
- package/dist-lib/components/PrintersPage.d.ts.map +1 -1
- package/dist-lib/components/PrintersPage.js +7 -23
- package/dist-lib/components/WerkplekConfiguratiePage.d.ts.map +1 -1
- package/dist-lib/components/WerkplekConfiguratiePage.js +35 -24
- package/dist-lib/components/WerkplekkenTabel.d.ts +2 -2
- package/dist-lib/components/WerkplekkenTabel.d.ts.map +1 -1
- package/dist-lib/components/WerkplekkenTabel.js +4 -3
- package/dist-lib/index.d.ts +8 -3
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +9 -5
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +491 -145
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +491 -145
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +505 -150
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/aiLayout.functions.d.ts +491 -145
- package/dist-lib/lib/aiLayout.functions.d.ts.map +1 -1
- package/dist-lib/lib/documentBron.d.ts +35 -0
- package/dist-lib/lib/documentBron.d.ts.map +1 -0
- package/dist-lib/lib/documentBron.js +62 -0
- package/dist-lib/lib/documentRoutering.d.ts +23 -0
- package/dist-lib/lib/documentRoutering.d.ts.map +1 -0
- package/dist-lib/lib/documentRoutering.js +58 -0
- package/dist-lib/lib/documentTypes.d.ts +54 -0
- package/dist-lib/lib/documentTypes.d.ts.map +1 -1
- package/dist-lib/lib/documentTypes.js +56 -0
- package/dist-lib/lib/formaatPrinters.d.ts +5 -0
- package/dist-lib/lib/formaatPrinters.d.ts.map +1 -1
- package/dist-lib/lib/formaatPrinters.js +12 -0
- package/dist-lib/lib/printApi.d.ts +20 -5
- package/dist-lib/lib/printApi.d.ts.map +1 -1
- package/dist-lib/lib/printApi.js +93 -32
- package/dist-lib/lib/printQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/printQueue.server.js +72 -1
- package/dist-lib/lib/printService.functions.d.ts +1964 -580
- package/dist-lib/lib/printService.functions.d.ts.map +1 -1
- package/dist-lib/lib/printerTelling.d.ts +24 -0
- package/dist-lib/lib/printerTelling.d.ts.map +1 -0
- package/dist-lib/lib/printerTelling.js +41 -0
- package/dist-lib/lib/useDocumentData.d.ts +4 -0
- package/dist-lib/lib/useDocumentData.d.ts.map +1 -1
- package/dist-lib/lib/useDocumentData.js +106 -1
- package/package.json +7 -2
|
@@ -76,6 +76,46 @@ async function zoekLayout(db, job) {
|
|
|
76
76
|
.limit(1);
|
|
77
77
|
return { layout: (arr(data)[0] ?? null), expliciet: false };
|
|
78
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* De bronregel voor deze documentsoort en de herkomst van de order. Geeft
|
|
81
|
+
* `null` als er niets is ingesteld; dan geldt het standaardgedrag.
|
|
82
|
+
*/
|
|
83
|
+
async function zoekBronregel(db, job) {
|
|
84
|
+
const payload = (job.payload ?? {});
|
|
85
|
+
const herkomst = String(job.herkomst ?? payload?.["herkomst"] ?? "").trim();
|
|
86
|
+
if (!herkomst)
|
|
87
|
+
return null;
|
|
88
|
+
const { data } = await db
|
|
89
|
+
.from("document_bronregels")
|
|
90
|
+
.select("bron, layout_id")
|
|
91
|
+
.eq("documenttype", job.documenttype)
|
|
92
|
+
.eq("herkomst", herkomst)
|
|
93
|
+
.maybeSingle();
|
|
94
|
+
const regel = data;
|
|
95
|
+
if (!regel || regel.bron === "auto")
|
|
96
|
+
return null;
|
|
97
|
+
if (regel.bron === "eigen_layout" && regel.layout_id && !job.layout_id) {
|
|
98
|
+
job.layout_id = regel.layout_id;
|
|
99
|
+
}
|
|
100
|
+
return regel.bron;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Is aan deze opdracht een vaste Floriday-layout gekoppeld? Zulke layouts zijn
|
|
104
|
+
* geen ontwerp maar een verwijzing naar het document dat Floriday aanlevert.
|
|
105
|
+
*/
|
|
106
|
+
async function isFloridayLayoutKeuze(db, job) {
|
|
107
|
+
const payload = (job.payload ?? {});
|
|
108
|
+
const id = job.layout_id ?? payload?.["layoutId"] ?? payload?.["layout_id"] ?? null;
|
|
109
|
+
if (!id)
|
|
110
|
+
return false;
|
|
111
|
+
const { data } = await db
|
|
112
|
+
.from("document_layouts")
|
|
113
|
+
.select("systeem, bron")
|
|
114
|
+
.eq("id", id)
|
|
115
|
+
.maybeSingle();
|
|
116
|
+
const l = data;
|
|
117
|
+
return Boolean(l?.systeem) && String(l?.bron ?? "") === "floriday";
|
|
118
|
+
}
|
|
79
119
|
/**
|
|
80
120
|
* Haalt een kant-en-klare PDF van de opdracht op (klantstickers, standaard
|
|
81
121
|
* Floriday-documenten). Die gaat ongewijzigd naar de printer.
|
|
@@ -126,6 +166,19 @@ async function zoekPrinter(db, job, layout) {
|
|
|
126
166
|
let printer = await pak(job.printer_id);
|
|
127
167
|
if (printer)
|
|
128
168
|
return printer;
|
|
169
|
+
// Uitzondering voor de werkplek waar de opdracht vandaan komt.
|
|
170
|
+
const werkplek = String(job.payload?.werkplek ?? "").trim();
|
|
171
|
+
if (werkplek) {
|
|
172
|
+
const { data: wp } = await db
|
|
173
|
+
.from("document_werkplek_printers")
|
|
174
|
+
.select("printer_id")
|
|
175
|
+
.eq("documenttype", job.documenttype)
|
|
176
|
+
.eq("werkplek", werkplek)
|
|
177
|
+
.maybeSingle();
|
|
178
|
+
printer = await pak(wp?.printer_id);
|
|
179
|
+
if (printer)
|
|
180
|
+
return printer;
|
|
181
|
+
}
|
|
129
182
|
if (layout?.id) {
|
|
130
183
|
const { data } = await db
|
|
131
184
|
.from("printer_mappings")
|
|
@@ -344,8 +397,26 @@ async function verwerkJob(db, job) {
|
|
|
344
397
|
await log(db, job.id, "overgeslagen", "Stond al bij de printer.");
|
|
345
398
|
return "verstuurd";
|
|
346
399
|
}
|
|
347
|
-
// 1)
|
|
400
|
+
// 1) Bronregel: bepaalt of het meegestuurde document wordt gebruikt of dat
|
|
401
|
+
// er altijd een eigen ontwerp wordt opgemaakt.
|
|
402
|
+
let bron = await zoekBronregel(db, job);
|
|
403
|
+
// 1b) Is er een vaste Floriday-layout gekozen? Die staat alleen voor het
|
|
404
|
+
// kant-en-klare document uit Floriday: dat gaat 1-op-1 naar de printer.
|
|
405
|
+
if (await isFloridayLayoutKeuze(db, job)) {
|
|
406
|
+
bron = "extern_pdf";
|
|
407
|
+
job.layout_id = null;
|
|
408
|
+
}
|
|
409
|
+
if (bron === "eigen_layout") {
|
|
410
|
+
job.pdf_base64 = null;
|
|
411
|
+
job.pdf_url = null;
|
|
412
|
+
}
|
|
413
|
+
// 2) Kant-en-klare PDF (klantsticker, Floriday-document) gaat ongewijzigd door.
|
|
348
414
|
const klaar = await kantEnKlarePdf(db, job);
|
|
415
|
+
if (!klaar && bron === "extern_pdf") {
|
|
416
|
+
await mislukt(db, job, "Floriday-document ontbreekt: voor dit document is ingesteld dat het " +
|
|
417
|
+
"aangeleverde document wordt gebruikt, maar er is geen PDF meegestuurd.", true);
|
|
418
|
+
return "mislukt";
|
|
419
|
+
}
|
|
349
420
|
const keuze = klaar ? { layout: null, expliciet: false } : await zoekLayout(db, job);
|
|
350
421
|
const layout = keuze.layout;
|
|
351
422
|
const printer = await zoekPrinter(db, job, layout);
|