@flowselections/floriday-verkoop-module 1.0.47 → 1.0.49

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 (72) hide show
  1. package/dist-lib/components/verkoop/OrderKarindelingCard.d.ts.map +1 -1
  2. package/dist-lib/components/verkoop/OrderKarindelingCard.js +5 -1
  3. package/dist-lib/components/verkoop/SalesOrderDetailView.d.ts.map +1 -1
  4. package/dist-lib/components/verkoop/SalesOrderDetailView.js +10 -17
  5. package/dist-lib/components/verkoop/SalesOrdersTable.d.ts.map +1 -1
  6. package/dist-lib/components/verkoop/SalesOrdersTable.js +5 -1
  7. package/dist-lib/integrations/supabase/auth-middleware.d.ts +8 -0
  8. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  9. package/dist-lib/integrations/supabase/client.d.ts +8 -0
  10. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  11. package/dist-lib/integrations/supabase/client.server.d.ts +8 -0
  12. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  13. package/dist-lib/integrations/supabase/types.d.ts +8 -0
  14. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  15. package/dist-lib/lib/cart-lock.functions.d.ts +8 -0
  16. package/dist-lib/lib/cart-lock.functions.d.ts.map +1 -1
  17. package/dist-lib/lib/cart-planning-settings.functions.d.ts +88 -0
  18. package/dist-lib/lib/cart-planning-settings.functions.d.ts.map +1 -1
  19. package/dist-lib/lib/cart-replan.functions.d.ts +24 -0
  20. package/dist-lib/lib/cart-replan.functions.d.ts.map +1 -1
  21. package/dist-lib/lib/create-order.functions.d.ts +136 -0
  22. package/dist-lib/lib/create-order.functions.d.ts.map +1 -1
  23. package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts +24 -0
  24. package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts.map +1 -1
  25. package/dist-lib/lib/floriday-logistic-labels.functions.d.ts +8 -0
  26. package/dist-lib/lib/floriday-logistic-labels.functions.d.ts.map +1 -1
  27. package/dist-lib/lib/floriday-mirror.functions.d.ts +8 -0
  28. package/dist-lib/lib/floriday-mirror.functions.d.ts.map +1 -1
  29. package/dist-lib/lib/floriday-mirror.functions.js +11 -0
  30. package/dist-lib/lib/floriday-public.functions.d.ts +56 -0
  31. package/dist-lib/lib/floriday-public.functions.d.ts.map +1 -1
  32. package/dist-lib/lib/floriday-writes.functions.d.ts +40 -0
  33. package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
  34. package/dist-lib/lib/invoice-timing.functions.d.ts +32 -0
  35. package/dist-lib/lib/invoice-timing.functions.d.ts.map +1 -1
  36. package/dist-lib/lib/load-carrier-labels.d.ts +13 -0
  37. package/dist-lib/lib/load-carrier-labels.d.ts.map +1 -1
  38. package/dist-lib/lib/load-carrier-labels.js +20 -0
  39. package/dist-lib/lib/load-carriers.functions.d.ts +8 -0
  40. package/dist-lib/lib/load-carriers.functions.d.ts.map +1 -1
  41. package/dist-lib/lib/logistics-engine.functions.d.ts +40 -0
  42. package/dist-lib/lib/logistics-engine.functions.d.ts.map +1 -1
  43. package/dist-lib/lib/logistics-stock.functions.d.ts +16 -0
  44. package/dist-lib/lib/logistics-stock.functions.d.ts.map +1 -1
  45. package/dist-lib/lib/order-addresses.functions.d.ts +8 -0
  46. package/dist-lib/lib/order-addresses.functions.d.ts.map +1 -1
  47. package/dist-lib/lib/order-buffers.functions.d.ts +24 -0
  48. package/dist-lib/lib/order-buffers.functions.d.ts.map +1 -1
  49. package/dist-lib/lib/order-carrier.functions.d.ts +16 -0
  50. package/dist-lib/lib/order-carrier.functions.d.ts.map +1 -1
  51. package/dist-lib/lib/order-pickup.functions.d.ts +16 -0
  52. package/dist-lib/lib/order-pickup.functions.d.ts.map +1 -1
  53. package/dist-lib/lib/order-shipments.functions.d.ts +32 -0
  54. package/dist-lib/lib/order-shipments.functions.d.ts.map +1 -1
  55. package/dist-lib/lib/order-status.d.ts +7 -10
  56. package/dist-lib/lib/order-status.d.ts.map +1 -1
  57. package/dist-lib/lib/order-status.js +6 -3
  58. package/dist-lib/lib/salesorders-list.functions.d.ts +8 -0
  59. package/dist-lib/lib/salesorders-list.functions.d.ts.map +1 -1
  60. package/dist-lib/lib/salesorders-list.server.d.ts.map +1 -1
  61. package/dist-lib/lib/salesorders-list.server.js +24 -23
  62. package/dist-lib/lib/salesorders-mapping.d.ts +24 -0
  63. package/dist-lib/lib/salesorders-mapping.d.ts.map +1 -1
  64. package/dist-lib/lib/salesorders-mapping.js +64 -13
  65. package/dist-lib/lib/salesorders.functions.d.ts +40 -0
  66. package/dist-lib/lib/salesorders.functions.d.ts.map +1 -1
  67. package/dist-lib/lib/salesorders.functions.js +43 -9
  68. package/dist-lib/lib/stock-consumption-alerts.functions.d.ts +16 -0
  69. package/dist-lib/lib/stock-consumption-alerts.functions.d.ts.map +1 -1
  70. package/dist-lib/lib/tradeitems.functions.d.ts +8 -0
  71. package/dist-lib/lib/tradeitems.functions.d.ts.map +1 -1
  72. package/package.json +1 -1
@@ -3,7 +3,8 @@
3
3
  import { createServerFn } from "@tanstack/react-start";
4
4
  import { z } from "zod";
5
5
  import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware";
6
- import { mapJsonbToSalesOrderDTO, } from "./salesorders-mapping";
6
+ import { mapJsonbToSalesOrderDTO, packingConfigFromFloridayPacking, } from "./salesorders-mapping";
7
+ import { resolveOrderStage } from "./order-status";
7
8
  import { loadActiveConnections, syncBySequence, } from "./floriday-sync";
8
9
  const ENTITY_TYPE = "salesorders";
9
10
  const MAX_ENDPOINT = "/sales-orders/current-max-sequence";
@@ -350,29 +351,47 @@ export const getSalesOrderDetail = createServerFn({ method: "POST" })
350
351
  ...(onRow?.order_number ? { orderNumber: String(onRow.order_number) } : {}),
351
352
  __controlledAt: controlledAt,
352
353
  };
353
- const dto = mapJsonbToSalesOrderDTO(enrichedOrder, customerLookup, tradeItemLookup);
354
+ let dto = mapJsonbToSalesOrderDTO(enrichedOrder, customerLookup, tradeItemLookup);
354
355
  // 6) Buffer-siblings: zoek buffer_id via orders-tabel en verzamel alle
355
356
  // verwante Floriday-orders. Zo werkt de detailweergave onafhankelijk
356
357
  // van de (soms trage of gefilterde) lijst-query.
358
+ // De lokale orderrij is tevens de bron van waarheid voor de status.
357
359
  let bufferId = null;
358
360
  const bufferSiblings = [];
359
361
  try {
360
362
  const ownRes = await supabase
361
363
  .from("orders")
362
- .select("buffer_id")
364
+ .select("buffer_id, status, is_reservation, custom_fields")
363
365
  .eq("floriday_sales_order_id", data.id)
364
366
  .maybeSingle();
365
- bufferId = ownRes.data?.buffer_id ?? null;
367
+ const ownRow = ownRes.data ?? null;
368
+ // De order is leidend voor de belading. Ontbreekt hij in de cache-payload,
369
+ // dan geldt de gespiegelde orderbelading uit custom_fields.floriday_packing.
370
+ if (!orderData?.packingConfiguration) {
371
+ const mirroredPacking = packingConfigFromFloridayPacking((ownRow?.custom_fields ?? {})?.floriday_packing);
372
+ if (mirroredPacking) {
373
+ dto = mapJsonbToSalesOrderDTO({ ...enrichedOrder, packingConfiguration: mirroredPacking }, customerLookup, tradeItemLookup);
374
+ }
375
+ }
376
+ dto.stage = resolveOrderStage({
377
+ status: ownRow ? ownRow.status : orderData?.status,
378
+ controlledAt: controlledAt,
379
+ isReservation: ownRow ? !!ownRow.is_reservation : false,
380
+ });
381
+ dto.floridayFulfilled = Boolean((ownRow?.custom_fields ?? {})?.floriday_fulfilled);
382
+ bufferId = ownRow?.buffer_id ?? null;
366
383
  if (bufferId) {
367
384
  dto.bufferId = bufferId;
368
385
  const sibRes = await supabase
369
386
  .from("orders")
370
- .select("floriday_sales_order_id")
387
+ .select("floriday_sales_order_id, status, is_reservation, custom_fields")
371
388
  .eq("buffer_id", bufferId)
372
389
  .not("floriday_sales_order_id", "is", null);
373
- const sibFoIds = (sibRes.data ?? [])
374
- .map((r) => String(r.floriday_sales_order_id))
375
- .filter((id) => id && id !== data.id);
390
+ const sibLocalByFoId = new Map();
391
+ for (const r of (sibRes.data ?? [])) {
392
+ sibLocalByFoId.set(String(r.floriday_sales_order_id), r);
393
+ }
394
+ const sibFoIds = Array.from(sibLocalByFoId.keys()).filter((id) => id && id !== data.id);
376
395
  if (sibFoIds.length > 0) {
377
396
  const sibCacheRes = await supabase
378
397
  .from("floriday_salesorders_cache")
@@ -458,8 +477,23 @@ export const getSalesOrderDetail = createServerFn({ method: "POST" })
458
477
  });
459
478
  }
460
479
  for (const sr of sibRows) {
461
- const sDto = mapJsonbToSalesOrderDTO({ ...sr.data, __controlledAt: sr.controlled_at ?? null }, customerLookup, tradeItemLookup);
480
+ const sLocalRow = sibLocalByFoId.get(String(sr.floriday_id)) ?? null;
481
+ const sMirrored = sr.data?.packingConfiguration
482
+ ? null
483
+ : packingConfigFromFloridayPacking((sLocalRow?.custom_fields ?? {})?.floriday_packing);
484
+ const sDto = mapJsonbToSalesOrderDTO({
485
+ ...sr.data,
486
+ ...(sMirrored ? { packingConfiguration: sMirrored } : {}),
487
+ __controlledAt: sr.controlled_at ?? null,
488
+ }, customerLookup, tradeItemLookup);
462
489
  sDto.bufferId = bufferId;
490
+ const sLocal = sibLocalByFoId.get(String(sr.floriday_id)) ?? null;
491
+ sDto.stage = resolveOrderStage({
492
+ status: sLocal ? sLocal.status : sr.data?.status,
493
+ controlledAt: sr.controlled_at ?? null,
494
+ isReservation: sLocal ? !!sLocal.is_reservation : false,
495
+ });
496
+ sDto.floridayFulfilled = Boolean((sLocal?.custom_fields ?? {})?.floriday_fulfilled);
463
497
  bufferSiblings.push(sDto);
464
498
  }
465
499
  }
@@ -21453,6 +21453,14 @@ export declare const listOpenStockConsumptionAlerts: import("@tanstack/start-cli
21453
21453
  };
21454
21454
  Returns: import("../integrations/supabase/types").Json;
21455
21455
  };
21456
+ logistics_plan_block: {
21457
+ Args: {
21458
+ p_details?: import("../integrations/supabase/types").Json;
21459
+ p_order_ids: string[];
21460
+ p_reason: string;
21461
+ };
21462
+ Returns: number;
21463
+ };
21456
21464
  logistics_plan_buffer_sql: {
21457
21465
  Args: {
21458
21466
  p_buffer_id: string;
@@ -44367,6 +44375,14 @@ export declare const resolveStockConsumptionAlert: import("@tanstack/start-clien
44367
44375
  };
44368
44376
  Returns: import("../integrations/supabase/types").Json;
44369
44377
  };
44378
+ logistics_plan_block: {
44379
+ Args: {
44380
+ p_details?: import("../integrations/supabase/types").Json;
44381
+ p_order_ids: string[];
44382
+ p_reason: string;
44383
+ };
44384
+ Returns: number;
44385
+ };
44370
44386
  logistics_plan_buffer_sql: {
44371
44387
  Args: {
44372
44388
  p_buffer_id: string;