@flowselections/pick-schermen-kwekers 1.0.84 → 1.0.87

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 (83) hide show
  1. package/dist-lib/components/pick/DocumentChoiceMelding.d.ts +1 -1
  2. package/dist-lib/components/pick/DocumentChoiceMelding.d.ts.map +1 -1
  3. package/dist-lib/components/pick/PickScherm.d.ts.map +1 -1
  4. package/dist-lib/components/pick/PickScherm.js +377 -159
  5. package/dist-lib/components/pick/werkvloer/Werkvloer.d.ts +52 -0
  6. package/dist-lib/components/pick/werkvloer/Werkvloer.d.ts.map +1 -0
  7. package/dist-lib/components/pick/werkvloer/Werkvloer.js +33 -0
  8. package/dist-lib/hooks/useCartStickerStates.d.ts +1 -1
  9. package/dist-lib/hooks/useCartStickerStates.d.ts.map +1 -1
  10. package/dist-lib/hooks/usePickConfig.d.ts +11 -11
  11. package/dist-lib/hooks/usePickConfig.d.ts.map +1 -1
  12. package/dist-lib/hooks/usePickPrintStatus.d.ts +3 -3
  13. package/dist-lib/hooks/usePickPrintStatus.d.ts.map +1 -1
  14. package/dist-lib/hooks/usePickPrintStatus.js +4 -4
  15. package/dist-lib/hooks/usePickQueue.d.ts +3 -3
  16. package/dist-lib/hooks/usePickQueue.d.ts.map +1 -1
  17. package/dist-lib/hooks/usePickReferenceData.d.ts +1 -1
  18. package/dist-lib/hooks/usePickReferenceData.d.ts.map +1 -1
  19. package/dist-lib/hooks/useShippingNoteStatus.d.ts +1 -1
  20. package/dist-lib/hooks/useShippingNoteStatus.d.ts.map +1 -1
  21. package/dist-lib/hooks/useShippingNoteStatus.js +11 -9
  22. package/dist-lib/hooks/useWerkvloer.d.ts +20 -0
  23. package/dist-lib/hooks/useWerkvloer.d.ts.map +1 -0
  24. package/dist-lib/hooks/useWerkvloer.js +98 -0
  25. package/dist-lib/integrations/supabase/client.js +1 -1
  26. package/dist-lib/integrations/supabase/client.server.js +1 -1
  27. package/dist-lib/integrations/supabase/types.d.ts +69 -0
  28. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  29. package/dist-lib/lib/__tests__/pickPublicStatus.test.d.ts +2 -0
  30. package/dist-lib/lib/__tests__/pickPublicStatus.test.d.ts.map +1 -0
  31. package/dist-lib/lib/__tests__/pickPublicStatus.test.js +48 -0
  32. package/dist-lib/lib/labels.d.ts +2 -0
  33. package/dist-lib/lib/labels.d.ts.map +1 -1
  34. package/dist-lib/lib/labels.js +41 -0
  35. package/dist-lib/lib/pick142.d.ts.map +1 -1
  36. package/dist-lib/lib/pick142.js +7 -10
  37. package/dist-lib/lib/pick156.d.ts.map +1 -1
  38. package/dist-lib/lib/pick156.js +6 -20
  39. package/dist-lib/lib/pick159.js +1 -1
  40. package/dist-lib/lib/pickApi.d.ts +20 -0
  41. package/dist-lib/lib/pickApi.d.ts.map +1 -1
  42. package/dist-lib/lib/pickApi.js +27 -0
  43. package/dist-lib/lib/shippingNoteStatus.d.ts +1 -1
  44. package/dist-lib/lib/shippingNoteStatus.d.ts.map +1 -1
  45. package/dist-lib/lib/shippingNoteStatus.js +5 -2
  46. package/dist-lib/lib/werkvloer.d.ts +40 -0
  47. package/dist-lib/lib/werkvloer.d.ts.map +1 -0
  48. package/dist-lib/lib/werkvloer.js +121 -0
  49. package/dist-lib/lib/werkvloer.test.d.ts +2 -0
  50. package/dist-lib/lib/werkvloer.test.d.ts.map +1 -0
  51. package/dist-lib/lib/werkvloer.test.js +49 -0
  52. package/package.json +1 -1
  53. package/schema/pickschermen.sql +176 -0
  54. package/dist-lib/lib/layoutApi.d.ts +0 -23
  55. package/dist-lib/lib/layoutApi.d.ts.map +0 -1
  56. package/dist-lib/lib/layoutApi.js +0 -94
  57. package/dist-lib/lib/layoutMaker/documentProfiles.d.ts +0 -50
  58. package/dist-lib/lib/layoutMaker/documentProfiles.d.ts.map +0 -1
  59. package/dist-lib/lib/layoutMaker/documentProfiles.js +0 -458
  60. package/dist-lib/lib/layoutMaker/documentTypes.d.ts +0 -123
  61. package/dist-lib/lib/layoutMaker/documentTypes.d.ts.map +0 -1
  62. package/dist-lib/lib/layoutMaker/documentTypes.js +0 -74
  63. package/dist-lib/lib/layoutMaker/logoLibrary.d.ts +0 -13
  64. package/dist-lib/lib/layoutMaker/logoLibrary.d.ts.map +0 -1
  65. package/dist-lib/lib/layoutMaker/logoLibrary.js +0 -54
  66. package/dist-lib/lib/layoutMaker/pakbonBuilder.d.ts +0 -196
  67. package/dist-lib/lib/layoutMaker/pakbonBuilder.d.ts.map +0 -1
  68. package/dist-lib/lib/layoutMaker/pakbonBuilder.js +0 -813
  69. package/dist-lib/lib/layoutMaker/pakbonHtml.d.ts +0 -48
  70. package/dist-lib/lib/layoutMaker/pakbonHtml.d.ts.map +0 -1
  71. package/dist-lib/lib/layoutMaker/pakbonHtml.js +0 -703
  72. package/dist-lib/lib/layoutRenderer.d.ts +0 -7
  73. package/dist-lib/lib/layoutRenderer.d.ts.map +0 -1
  74. package/dist-lib/lib/layoutRenderer.js +0 -233
  75. package/dist-lib/lib/layoutTypes.d.ts +0 -84
  76. package/dist-lib/lib/layoutTypes.d.ts.map +0 -1
  77. package/dist-lib/lib/layoutTypes.js +0 -25
  78. package/dist-lib/lib/orderContext.d.ts +0 -50
  79. package/dist-lib/lib/orderContext.d.ts.map +0 -1
  80. package/dist-lib/lib/orderContext.js +0 -162
  81. package/dist-lib/lib/pakbonOrderInput.d.ts +0 -8
  82. package/dist-lib/lib/pakbonOrderInput.d.ts.map +0 -1
  83. package/dist-lib/lib/pakbonOrderInput.js +0 -150
@@ -1,150 +0,0 @@
1
- function txt(v) {
2
- return v === null || v === undefined ? "" : String(v);
3
- }
4
- /** Productnamen komen soms als vertaal-JSON ({"nl":"..."}) uit de database. */
5
- function naam(v) {
6
- const s = txt(v).trim();
7
- if (!s.startsWith("{"))
8
- return s;
9
- try {
10
- const parsed = JSON.parse(s);
11
- const keys = ["nl", "en", "de", ...Object.keys(parsed)];
12
- for (const k of keys) {
13
- const w = parsed[k];
14
- if (typeof w === "string" && w.trim())
15
- return w;
16
- }
17
- }
18
- catch {
19
- // geen JSON: onbewerkt teruggeven
20
- }
21
- return s;
22
- }
23
- function obj(raw) {
24
- return raw && typeof raw === "object" && !Array.isArray(raw) ? raw : {};
25
- }
26
- function arr(raw) {
27
- return Array.isArray(raw) ? raw : [];
28
- }
29
- function product(p) {
30
- return {
31
- artikelnummer: txt(p.artikelnummer),
32
- artikelnaam: naam(p.artikelnaam),
33
- potmaat: txt(p.potmaat),
34
- kleur: txt(p.kleur),
35
- aantal: Number(p.aantal) || 0,
36
- locatie: txt(p.locatie),
37
- barcode: txt(p.barcode),
38
- opmerking: txt(p.opmerking),
39
- fust_aantal: Number(p.fust_aantal) || 0,
40
- fustsoort: txt(p.fustsoort),
41
- planten_per_fust: Number(p.planten_per_fust) || 0,
42
- };
43
- }
44
- /** Fusten van een laag, samengevoegd per fustsoort. */
45
- function fusten(producten) {
46
- const map = new Map();
47
- for (const p of arr(producten)) {
48
- const soort = txt(p.fustsoort) || "Fust";
49
- map.set(soort, (map.get(soort) ?? 0) + (Number(p.fust_aantal) || 0));
50
- }
51
- return [...map.entries()]
52
- .filter(([, aantal]) => aantal > 0)
53
- .map(([fusttype, aantal]) => ({ fusttype, aantal }));
54
- }
55
- function kar(k, index, transport) {
56
- const lagen = arr(k.lagen).map((l, j) => ({
57
- laagnummer: Number(l.laagnummer) || j + 1,
58
- belading: txt(l.belading),
59
- potmaat: txt(arr(l.producten)[0]?.potmaat),
60
- producten: arr(l.producten).map(product),
61
- fusten: fusten(arr(l.producten)),
62
- }));
63
- return {
64
- karnummer: Number(k.karnummer) || index + 1,
65
- route: transport["route"] ?? "",
66
- chauffeur: transport["chauffeur"] ?? "",
67
- gewicht: "",
68
- lagen: lagen.length
69
- ? lagen
70
- : [
71
- {
72
- laagnummer: 1,
73
- belading: "",
74
- potmaat: "",
75
- producten: arr(k.producten).map(product),
76
- fusten: fusten(arr(k.producten)),
77
- },
78
- ],
79
- };
80
- }
81
- /**
82
- * Bouwt de invoer voor `maakPakbonOrder()` uit de opgehaalde ordercontext.
83
- * Orderregels zonder karren worden als platte productlijst meegegeven; de
84
- * layout-module plaatst die zelf in één kar/laag.
85
- */
86
- export function pakbonOrderInput(data) {
87
- const order = obj(data.order);
88
- const klant = obj(data.klant);
89
- const aflever = obj(data.afleveradres);
90
- const transport = {
91
- transporteur: txt(order["transporteur"] ?? order["carrier"] ?? order["transporter"]),
92
- route: txt(order["route"] ?? order["route_name"]),
93
- chauffeur: txt(order["chauffeur"] ?? order["driver"]),
94
- track: txt(order["track_trace"] ?? order["tracking_code"]),
95
- };
96
- const karren = arr(data.karren).map((k, i) => kar(k, i, transport));
97
- const losseRegels = arr(data.regels).map((r) => ({
98
- artikelnummer: txt(r["article_number"] ?? r["artikelnummer"]),
99
- artikelnaam: naam(r["product_name"] ?? r["artikelnaam"] ?? r["product"]),
100
- potmaat: txt(r["potmaat"] ?? r["pot_size"]),
101
- aantal: Number(r["quantity"] ?? r["aantal"]) || 0,
102
- locatie: txt(r["location"] ?? r["locatie"]),
103
- barcode: txt(r["barcode"]),
104
- fust_aantal: Number(r["crates"] ?? r["fust_aantal"]) || 0,
105
- fustsoort: txt(r["unit"] ?? r["fustsoort"]),
106
- planten_per_fust: Number(r["plants_per_crate"] ?? r["planten_per_fust"]) || 0,
107
- opmerking: txt(r["notes"] ?? r["opmerking"]),
108
- }));
109
- const adres = [aflever["adres"], aflever["adres2"]].filter(Boolean).join(" · ");
110
- const plaats = [aflever["postcode"], aflever["plaats"]].filter(Boolean).join(" ");
111
- return {
112
- order: {
113
- nummer: txt(order["ordernummer"] ?? order["order_number"]),
114
- datum: txt(order["orderdatum"] ?? order["order_date"]),
115
- leverdatum: txt(order["leverdatum"] ?? order["delivery_date"]),
116
- referentie: txt(order["referentie"] ?? order["reference"]),
117
- opmerking: txt(order["notes"] ?? order["opmerking"] ?? order["remarks"]),
118
- },
119
- bedrijf: {
120
- naam: txt(order["company_name"] ?? ""),
121
- adres: "",
122
- plaats: "",
123
- telefoon: "",
124
- email: "",
125
- kvk: "",
126
- btw: "",
127
- },
128
- klant: {
129
- naam: txt(klant["naam"] ?? klant["name"]),
130
- nummer: txt(klant["klantnummer"] ?? klant["customer_number"]),
131
- contact: txt(klant["contact_name"] ?? klant["contactpersoon"] ?? klant["email"]),
132
- referentie: txt(order["customer_reference"] ?? order["referentie"]),
133
- },
134
- afleveradres: {
135
- naam: txt(aflever["naam"]),
136
- adres,
137
- plaats,
138
- land: txt(aflever["land"]),
139
- },
140
- factuuradres: {
141
- naam: txt(klant["naam"] ?? klant["name"]),
142
- adres: txt(klant["invoice_address"] ?? aflever["adres"]),
143
- plaats: txt(klant["invoice_city"] ?? aflever["plaats"]),
144
- land: txt(klant["invoice_country"] ?? aflever["land"]),
145
- },
146
- transport,
147
- karren,
148
- producten: karren.length ? [] : losseRegels,
149
- };
150
- }