@flowselections/logistiek-engine 1.0.153 → 1.0.155

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.
@@ -1 +1 @@
1
- {"version":3,"file":"autoSend.server.d.ts","sourceRoot":"","sources":["../../src/lib/autoSend.server.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAW5D,uFAAuF;AACvF,wBAAsB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAS/E;AAED,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;GA0DvF"}
1
+ {"version":3,"file":"autoSend.server.d.ts","sourceRoot":"","sources":["../../src/lib/autoSend.server.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAW5D,uFAAuF;AACvF,wBAAsB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAS/E;AAED,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO;;;;;;GAkEvF"}
@@ -55,6 +55,15 @@ export async function runAutoSendQueue(sb, opts = {}) {
55
55
  if (uitkomst.soort === "verstuurd") {
56
56
  run.sent++;
57
57
  await finish(true, null, res.status);
58
+ // Zelfde route als na handmatig versturen: verzendbrief direct klaarzetten.
59
+ try {
60
+ await sb.rpc("logistics_shipping_note_ensure_accepted", { p_order_id: row.order_id, p_limit: 50 });
61
+ const { runShippingNoteQueue } = await import("./shippingNoteQueue.server.js");
62
+ await runShippingNoteQueue(sb, { limit: 10 });
63
+ }
64
+ catch {
65
+ /* de minuutronde pakt het alsnog op */
66
+ }
58
67
  }
59
68
  else if (uitkomst.soort === "definitief") {
60
69
  run.definitief++;
@@ -239,6 +239,14 @@ async function runTickRound(supabase, tickJob, ident) {
239
239
  catch {
240
240
  /* vrijgeven mag de ronde niet blokkeren */
241
241
  }
242
+ // 1.0.153: belading door Floriday geaccepteerd (op welke manier ook
243
+ // verstuurd)? Dan per kar een verzendbriefaanvraag klaarzetten.
244
+ try {
245
+ await supabase.rpc("logistics_shipping_note_ensure_accepted", { p_order_id: null, p_limit: 100 });
246
+ }
247
+ catch {
248
+ /* mag de ronde niet blokkeren */
249
+ }
242
250
  const { runShippingNoteQueue } = await import("../shippingNoteQueue.server.js");
243
251
  if (typeof runShippingNoteQueue !== "function") {
244
252
  throw new Error("Deze versie van de Logistiek Engine bevat geen verzendbriefverwerking. Werk de module bij.");
@@ -1 +1 @@
1
- {"version":3,"file":"modulePrompts.d.ts","sourceRoot":"","sources":["../../src/lib/modulePrompts.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;CAKvB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,oBAAoB,CAAC;AAKhE,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACnC;AA20KD,eAAO,MAAM,cAAc,EAAE,YAAY,EAUL,CAAC;AAErC,gEAAgE;AAChE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,oBAAoB,GAC7B,MAAM,CAmBR;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE9D;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,IAAI,MAAM,CAiB9C;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,eAAe,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CAIR"}
1
+ {"version":3,"file":"modulePrompts.d.ts","sourceRoot":"","sources":["../../src/lib/modulePrompts.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;CAKvB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,oBAAoB,CAAC;AAKhE,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACnC;AAmiLD,eAAO,MAAM,cAAc,EAAE,YAAY,EAUL,CAAC;AAErC,gEAAgE;AAChE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,oBAAoB,GAC7B,MAAM,CAmBR;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE9D;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,IAAI,MAAM,CAiB9C;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,eAAe,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CAIR"}
@@ -1016,6 +1016,40 @@ CONTROLELIJST
1016
1016
  [ ] Geen eigen ladingdragercontrole meer.
1017
1017
  [ ] Nieuwe Floriday-order die wel wordt ingedeeld: geen mail.
1018
1018
  [ ] Mail noemt de koper als klant.
1019
+ [ ] Meld terug met je pakketversie.`,
1020
+ },
1021
+ {
1022
+ number: 23,
1023
+ title: "Buffertotalen in logistics_order_plan_coverage_list",
1024
+ date: "2026-10-16",
1025
+ summary: "Nieuwe kolommen buffer_order_count en buffer_cart_count; tel karren per gecombineerde order, niet per order.",
1026
+ body: `KOPPELPROMPT VERKOOP 23 – vereist Logistiek Engine 1.0.153
1027
+
1028
+ WAAROM
1029
+ Verkoop telde karren per order op (FO-2601428 + FO-2601429: 3 in plaats van 2)
1030
+ en elke order kreeg "gedeeld" omdat buffer_id altijd gevuld is.
1031
+
1032
+ WAT ER IS
1033
+ public.logistics_order_plan_coverage_list(p_order_ids uuid[]) heeft twee extra
1034
+ kolommen; de bestaande kolommen en hun volgorde zijn ongewijzigd:
1035
+ - buffer_order_count int – aantal orders in dezelfde gecombineerde order
1036
+ (niet verwijderd, niet geannuleerd); 1 = losse order
1037
+ - buffer_cart_count int – aantal unieke karren van de hele gecombineerde order
1038
+ (een gedeelde kar telt één keer)
1039
+ Rechten ongewijzigd: alleen ingelogde gebruikers (authenticated, service_role).
1040
+
1041
+ WAT JIJ DOET
1042
+ 1. Toon "gedeeld" alleen als buffer_order_count > 1, niet op buffer_id.
1043
+ 2. Toon het aantal karren van een gecombineerde order uit buffer_cart_count;
1044
+ tel cart_count van de losse orders niet bij elkaar op.
1045
+ 3. Maximaal 1000 order-id's per aanroep, zoals nu.
1046
+
1047
+ REGELS
1048
+ - Match op id. Geen omgevingswaarden. Wijzig geen Engine-functies of -rechten.
1049
+
1050
+ CONTROLELIJST
1051
+ [ ] Buffer met 2 orders en 2 karren: beide orders tonen 2 karren, "gedeeld".
1052
+ [ ] Losse order: geen "gedeeld".
1019
1053
  [ ] Meld terug met je pakketversie.`,
1020
1054
  },
1021
1055
  ],
@@ -2096,6 +2130,98 @@ CENTRAL_AUTH_URL ontbreekt — poging 0 van 5".
2096
2130
  CONTROLELIJST
2097
2131
  [ ] Antwoord bevat code (of status) en error zoals hierboven.
2098
2132
  [ ] Handtekening van de Engine wordt geaccepteerd met dezelfde sleutel.
2133
+ [ ] Meld terug met je pakketversie.`,
2134
+ },
2135
+ {
2136
+ number: 25,
2137
+ title: "Zelfde vertrek als de planning: vervoerder, momentsleutel en vertrek per kar",
2138
+ date: "2026-10-16",
2139
+ summary: "Lees order_carts.carrier_id, pickup_moment_key, departure_at en late_signup over voor de aanmeldmail.",
2140
+ body: `KOPPELPROMPT AFHANDELING 25 – vereist Logistiek Engine 1.0.153
2141
+
2142
+ WAAROM
2143
+ De aanmeldmail en de planning moeten altijd hetzelfde vertrek gebruiken. De
2144
+ Engine rekent nu het vertrek met jouw regel uit planning.ts en legt het per
2145
+ kar vast.
2146
+
2147
+ WAT DE ENGINE DOET (alleen lezen in carriers)
2148
+ - Vervoerder per order, op id: eerst orders.custom_fields->>'carrier' (bestaat de
2149
+ vervoerder), dan het werkgebied zoals jouw afh_signup_groups, dan de
2150
+ standaardvervoerder (is_default).
2151
+ - Regel: bezorgdag = dag 0; per moment pickup_days en signup_days in WERKdagen
2152
+ terugtellen; kies het eerstvolgende moment waarvan de aanmelddeadline op het
2153
+ binnenkomstmoment van de order nog niet voorbij was; alle deadlines voorbij:
2154
+ het laatste moment, gemarkeerd "te laat aangemeld".
2155
+ - Werkdagen en tijdzone komen uit de instellingen bij Werktijden (pickwerkdagen),
2156
+ niet vast ma–vr.
2157
+ - Een moment zonder pickup_time of signup_time wordt overgeslagen; jij vult nu
2158
+ 16:00/17:30 in. Voorstel: neem de Engine-regel over (geen standaardtijd).
2159
+
2160
+ NIEUWE KOLOMMEN IN order_carts (gevuld door de Engine)
2161
+ - carrier_id uuid
2162
+ - pickup_moment_key text, formaat "<pickup_days>@<pickup_time>|<signup_days>@<signup_time>", bijv. "1@15:00|1@13:00"
2163
+ - departure_at timestamptz (berekend vertrek)
2164
+ - late_signup boolean
2165
+ pickup_moment_id blijft leeg (carriers.pickup_moments heeft geen id per moment).
2166
+ Een kar met pickup_locked = true wordt niet overschreven.
2167
+
2168
+ WAT JIJ DOET
2169
+ 1. Lees voor de aanmeldmail per kar carrier_id, pickup_moment_key en departure_at
2170
+ uit order_carts, op kar-id. Groepeer daarop; reken niet zelf opnieuw.
2171
+ 2. Ontbreekt departure_at (oude orders): val terug op je huidige berekening en
2172
+ toon in "Details voor beheer" dat de planning nog niets vastlegde.
2173
+ 3. Toon late_signup als "te laat aangemeld".
2174
+ 4. Vervang in afh_subtract_workdays de vaste ma–vr door de pickwerkdagen
2175
+ (public.logistics_is_pick_workday(date)), zodat beide kanten dezelfde dagen tellen.
2176
+
2177
+ VERZENDBRIEF
2178
+ Na een geaccepteerde belading (automatisch, handmatig of buffer) zet de Engine
2179
+ nu zelf per kar de Floriday-verzendbrief klaar. Je hoeft niets extra aan te
2180
+ roepen; de route logistics-shipping-note-now blijft werken.
2181
+
2182
+ REGELS
2183
+ - Match op id. Geen omgevingswaarden. Wijzig geen Engine-functies of -rechten.
2184
+
2185
+ CONTROLELIJST
2186
+ [ ] Order levering maandag, geplaatst vrijdag vóór 13:00: mail en planning "vr 15:00".
2187
+ [ ] Na 13:00 geplaatst: "te laat aangemeld", nooit een dag zonder ophaalmoment.
2188
+ [ ] Mail gebruikt departure_at uit order_carts.
2189
+ [ ] Meld terug met je pakketversie.`,
2190
+ },
2191
+ {
2192
+ number: 26,
2193
+ title: "Werkdagen alleen via logistics_is_pick_workday (incl. afwijkende dagen)",
2194
+ date: "2026-10-16",
2195
+ summary: "Gebruik voor de aanmeldmail uitsluitend public.logistics_is_pick_workday(date) als werkdagbron.",
2196
+ body: `KOPPELPROMPT AFHANDELING 26 – vereist Logistiek Engine 1.0.154
2197
+
2198
+ WAAROM
2199
+ Werkdagen moeten op één plek worden bepaald. Vanaf 1.0.154 neemt de Engine
2200
+ ook de "Afwijkende dagen" uit Werktijden mee.
2201
+
2202
+ WAT public.logistics_is_pick_workday(p_date date) RETURNS boolean NU DOET
2203
+ 1. Afwijkende dag als gesloten ingesteld → false.
2204
+ 2. Afwijkende dag met geldige tijden (sluit > opent) → true, ook op een dag
2205
+ die normaal dicht is (bijv. zaterdag).
2206
+ 3. Geen afwijkende dag → true als de weekdag in de pickwerkdagen van de
2207
+ werkwijze staat ÉN er een actief openingsvenster in Werktijden is.
2208
+ 4. Tijdzone ontbreekt in Werktijden → fout (fail closed), geen standaard.
2209
+ Naam, argument, returntype en rechten zijn ongewijzigd.
2210
+ De tijden van een afwijkende dag staan in public.logistics_day_windows(date).
2211
+
2212
+ WAT JIJ DOET
2213
+ 1. Gebruik in afh_subtract_workdays en overal in de aanmeldmail uitsluitend
2214
+ public.logistics_is_pick_workday(date) om werkdagen te tellen. Haal eigen
2215
+ weekdaglijsten (ma–vr) en eigen feestdaglogica weg.
2216
+ 2. Vang de fout bij ontbrekende tijdzone af en toon die in "Details voor
2217
+ beheer"; reken niet door met een standaard.
2218
+
2219
+ REGELS
2220
+ - Wijzig geen Engine-functies of -rechten. Geen omgevingswaarden.
2221
+
2222
+ CONTROLELIJST
2223
+ [ ] Maandag als gesloten afwijkende dag: aanmelddeadline en ophaalmoment schuiven naar de vorige werkdag, gelijk aan de planning.
2224
+ [ ] Zaterdag met afwijkende tijden telt als werkdag.
2099
2225
  [ ] Meld terug met je pakketversie.`,
2100
2226
  },
2101
2227
  ],
@@ -3963,6 +4089,56 @@ CONTROLELIJST
3963
4089
  [ ] Buffer van 2 karren: na print+scan kar 1 blijft "PB-…-K2 · Kar 2 van 2" staan.
3964
4090
  [ ] Wachtende deelkar is zichtbaar met "wacht tot", niet printbaar.
3965
4091
  [ ] pickstation_auto_send_status toont "Verstuurd (handmatig) om …" na handmatig versturen.
4092
+ [ ] Meld terug met je pakketversie.`,
4093
+ },
4094
+ {
4095
+ number: 47,
4096
+ title: "Velden per kar: fust, vertrek, begin pickvenster en reden",
4097
+ date: "2026-10-16",
4098
+ summary: "pickStartsAt/reasonCode in de karplanstatus; cartCrates/departureAt in pickregel en karplan.",
4099
+ body: `KOPPELPROMPT PICKSCHERMEN 47 – vereist Logistiek Engine 1.0.153
4100
+
4101
+ WAAROM
4102
+ Het pickstation moet tonen wanneer een kar vertrekt, hoeveel fust er op déze
4103
+ kar staat en wanneer het picken begint, zonder zelf tijden af te leiden.
4104
+
4105
+ NIEUWE VELDEN (ontbrekende waarde = null, nooit een terugvalwaarde)
4106
+ 1. logistics_cart_plan_status(p_ref) (en dus ook de openbare variant):
4107
+ - pickStartsAt: ISO-tijd in UTC, begin van het pickvenster, of null
4108
+ - reasonCode: 'pick_window_not_started' | 'not_released' | 'plan_missing' | 'ready'
4109
+ - reason blijft bestaan (tekst voor de medewerker)
4110
+ 2. pick_queue.payload (alleen karregels van de Engine, payload.cartRowFor gevuld):
4111
+ - cartCrates: fust op déze kar
4112
+ - bufferCrates: fust van alle karren van de order of gecombineerde order
4113
+ - departureAt: ISO UTC vertrekmoment van de kar, of null
4114
+ - pickStartsAt: ISO UTC begin pickvenster, of null
4115
+ - forcedPickDay: 'JJJJ-MM-DD' als de regel bewust vooruit is gemaakt
4116
+ - payload.crates blijft ongewijzigd (totaal), gebruik voortaan cartCrates
4117
+ 3. pick_queue_cart_plan(_queue_item_id), in de root én in elk element van carts[]:
4118
+ - cartCrates, bufferCrates, departureAt, pickStartsAt
4119
+ - releaseAt: ISO UTC moment waarop de kar printbaar wordt, of null
4120
+ - releaseReason: tekst waarom de kar nog niet vrij is, of null
4121
+ - carrierId, pickupMomentKey, lateSignup (alleen in carts[])
4122
+
4123
+ WAT JE TOONT
4124
+ - reasonCode = 'pick_window_not_started' en pickStartsAt gevuld:
4125
+ "Wordt vrijgegeven <dag> <datum> om <tijd>" (tijdzone van de vestiging).
4126
+ - departureAt gevuld: "Vertrek <dag> <tijd>". Null: geen vertrektijd tonen.
4127
+ - Fust: cartCrates; eventueel "van <bufferCrates>" ernaast.
4128
+ - Vooruit printen: kies alleen werkdagen. pick_sync_pick_day geeft bij een
4129
+ niet-werkdag { error: 'Kies een werkdag om vooruit te printen.' }; toon die tekst.
4130
+ Bij een bewust gekozen werkdag zijn alle karren printbaar, behalve een
4131
+ deelkar die nog wacht (printbaar=false, wachtTot, wachtReden).
4132
+
4133
+ REGELS
4134
+ - Match op id (cartId, queue-id), nooit op naam. Niets hardcoded.
4135
+ - Wijzig geen rechten of RLS; de rechten van deze functies zijn ongewijzigd.
4136
+
4137
+ CONTROLELIJST
4138
+ [ ] Order met levering maandag, geplaatst vrijdag: pickdag vrijdag, vertrek volgens ophaalmoment.
4139
+ [ ] Niet-vrijgegeven kar toont "Wordt vrijgegeven … om …".
4140
+ [ ] Bufferkar toont het eigen aantal fust (cartCrates), niet het totaal.
4141
+ [ ] Vooruit printen op een werkdag maakt karren printbaar, behalve een wachtende deelkar.
3966
4142
  [ ] Meld terug met je pakketversie.`,
3967
4143
  },
3968
4144
  ],
@@ -5292,6 +5468,42 @@ CONTROLELIJST
5292
5468
  [ ] Terugmelding met de telling per bron.
5293
5469
  [ ] Melding sluit vanzelf als de bron sluit.
5294
5470
  [ ] Teller daalt; geen meldingen van verzonden of geannuleerde orders.
5471
+ [ ] Meld terug met je pakketversie.`,
5472
+ },
5473
+ {
5474
+ number: 2,
5475
+ title: "Vertrek per ophaalmoment en karrencontrole vandaag",
5476
+ date: "2026-10-16",
5477
+ summary: "Twee alleen-lezen functies voor het dashboard: logistics_pickup_moments_today en control_today_scan_summary.",
5478
+ body: `KOPPELPROMPT DASHBOARDS 2 – vereist Logistiek Engine 1.0.153
5479
+
5480
+ WAAROM
5481
+ Je vroeg om het vertrek per ophaalmoment vandaag en de karrencontrole van
5482
+ vandaag. Beide functies zijn er nu; alleen lezen, alleen voor ingelogde gebruikers.
5483
+
5484
+ 1. public.logistics_pickup_moments_today() returns jsonb (array):
5485
+ { carrier_id, pickup_moment_key, departure_at, naam_vervoerder, karren_totaal, karren_klaar }
5486
+ - Gegroepeerd op order_carts.carrier_id + pickup_moment_key + departure_at, nooit op naam.
5487
+ - "Vandaag" = logistics_local_today(): karren uit logistics_cart_index(vandaag, vandaag)
5488
+ plus karren met departure_at op vandaag (tijdzone van de vestiging).
5489
+ - karren_klaar = karren met een goedgekeurde controlescan (afmelden legt die ook vast).
5490
+ - Karren zonder vertrek: één aparte rij met carrier_id = null, pickup_moment_key = null,
5491
+ departure_at = null. naam_vervoerder is alleen voor weergave.
5492
+ - pickup_moment_id blijft leeg; gebruik het niet.
5493
+
5494
+ 2. public.control_today_scan_summary() returns jsonb:
5495
+ { karren_totaal, karren_gescand, dag }
5496
+ - Op unieke kar uit logistics_cart_index(vandaag, vandaag); gescand = goedgekeurde scan.
5497
+ - Dit is dezelfde definitie als de Controlepost. control_get_todays_carts() telt
5498
+ karnummers (ook losse/oude); gebruik daarom deze functie en niet die combinatie.
5499
+
5500
+ REGELS
5501
+ - Match op id. Geen omgevingswaarden. Wijzig geen Engine-functies of -rechten.
5502
+
5503
+ CONTROLELIJST
5504
+ [ ] Tegel "Vertrek vandaag" toont per ophaalmoment totaal en klaar.
5505
+ [ ] Karren zonder vertrek staan in een eigen rij.
5506
+ [ ] Karrencontrole vandaag gelijk aan de Controlepost.
5295
5507
  [ ] Meld terug met je pakketversie.`,
5296
5508
  },
5297
5509
  ],
@@ -1,2 +1,2 @@
1
- export declare const MODULE_VERSION = "1.0.153";
1
+ export declare const MODULE_VERSION = "1.0.155";
2
2
  //# sourceMappingURL=moduleVersion.d.ts.map
@@ -1,2 +1,2 @@
1
1
  // Automatisch gegenereerd door prebuild:lib; niet handmatig aanpassen.
2
- export const MODULE_VERSION = "1.0.153";
2
+ export const MODULE_VERSION = "1.0.155";
@@ -1 +1 @@
1
- {"version":3,"file":"shippingNoteQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/shippingNoteQueue.server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAoCD,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,OAAO,CAAC,eAAe,CAAC,CA4d1B;AAMD,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAC;AAElE,qGAAqG;AACrG,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAQ9F;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAG5E;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,mBAAmB,GAAG,MAAM,CAI3E"}
1
+ {"version":3,"file":"shippingNoteQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/shippingNoteQueue.server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAQ5D,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAoCD,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,OAAO,CAAC,eAAe,CAAC,CA+d1B;AAMD,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,aAAa,GAAG,IAAI,CAAC;AAElE,qGAAqG;AACrG,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAQ9F;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAG5E;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,mBAAmB,GAAG,MAAM,CAI3E"}
@@ -333,12 +333,15 @@ export async function runShippingNoteQueue(sb, options = {}) {
333
333
  continue;
334
334
  }
335
335
  // De pakbon is de bron voor printplek en kar; de printer kiest de Layout maker.
336
- const { data: slip } = await sb
337
- .from("print_jobs")
338
- .select("payload, is_herprint")
339
- .eq("id", row.slip_job_id)
340
- .maybeSingle();
341
- const slipRow = (slip ?? null);
336
+ // Aanvragen die zijn klaargezet na een geaccepteerde belading (1.0.153)
337
+ // hebben geen pakbon-printopdracht: dan geldt de kar van de aanvraag zelf.
338
+ const naAcceptatie = String(row.batch_key ?? "").startsWith("na-acceptatie:");
339
+ const { data: slip } = naAcceptatie
340
+ ? { data: null }
341
+ : await sb.from("print_jobs").select("payload, is_herprint").eq("id", row.slip_job_id).maybeSingle();
342
+ const slipRow = naAcceptatie
343
+ ? { payload: { cart_id: row.cart_id }, is_herprint: false }
344
+ : (slip ?? null);
342
345
  if (!slipRow) {
343
346
  await faal("pakbon_verdwenen", "De bijbehorende pakbon bestaat niet meer; er wordt geen losse verzendbrief gemaakt.", fulfillmentOrderId);
344
347
  continue;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowselections/logistiek-engine",
3
- "version": "1.0.153",
3
+ "version": "1.0.155",
4
4
  "flowselections": {
5
5
  "moduleId": "logistiek-engine",
6
6
  "pages": [