@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.
- package/dist-lib/components/verkoop/OrderKarindelingCard.d.ts.map +1 -1
- package/dist-lib/components/verkoop/OrderKarindelingCard.js +5 -1
- package/dist-lib/components/verkoop/SalesOrderDetailView.d.ts.map +1 -1
- package/dist-lib/components/verkoop/SalesOrderDetailView.js +10 -17
- package/dist-lib/components/verkoop/SalesOrdersTable.d.ts.map +1 -1
- package/dist-lib/components/verkoop/SalesOrdersTable.js +5 -1
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +8 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +8 -0
- package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +8 -0
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +8 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/cart-lock.functions.d.ts +8 -0
- package/dist-lib/lib/cart-lock.functions.d.ts.map +1 -1
- package/dist-lib/lib/cart-planning-settings.functions.d.ts +88 -0
- package/dist-lib/lib/cart-planning-settings.functions.d.ts.map +1 -1
- package/dist-lib/lib/cart-replan.functions.d.ts +24 -0
- package/dist-lib/lib/cart-replan.functions.d.ts.map +1 -1
- package/dist-lib/lib/create-order.functions.d.ts +136 -0
- package/dist-lib/lib/create-order.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts +24 -0
- package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-logistic-labels.functions.d.ts +8 -0
- package/dist-lib/lib/floriday-logistic-labels.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-mirror.functions.d.ts +8 -0
- package/dist-lib/lib/floriday-mirror.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-mirror.functions.js +11 -0
- package/dist-lib/lib/floriday-public.functions.d.ts +56 -0
- package/dist-lib/lib/floriday-public.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-writes.functions.d.ts +40 -0
- package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
- package/dist-lib/lib/invoice-timing.functions.d.ts +32 -0
- package/dist-lib/lib/invoice-timing.functions.d.ts.map +1 -1
- package/dist-lib/lib/load-carrier-labels.d.ts +13 -0
- package/dist-lib/lib/load-carrier-labels.d.ts.map +1 -1
- package/dist-lib/lib/load-carrier-labels.js +20 -0
- package/dist-lib/lib/load-carriers.functions.d.ts +8 -0
- package/dist-lib/lib/load-carriers.functions.d.ts.map +1 -1
- package/dist-lib/lib/logistics-engine.functions.d.ts +40 -0
- package/dist-lib/lib/logistics-engine.functions.d.ts.map +1 -1
- package/dist-lib/lib/logistics-stock.functions.d.ts +16 -0
- package/dist-lib/lib/logistics-stock.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-addresses.functions.d.ts +8 -0
- package/dist-lib/lib/order-addresses.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-buffers.functions.d.ts +24 -0
- package/dist-lib/lib/order-buffers.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-carrier.functions.d.ts +16 -0
- package/dist-lib/lib/order-carrier.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-pickup.functions.d.ts +16 -0
- package/dist-lib/lib/order-pickup.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-shipments.functions.d.ts +32 -0
- package/dist-lib/lib/order-shipments.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-status.d.ts +7 -10
- package/dist-lib/lib/order-status.d.ts.map +1 -1
- package/dist-lib/lib/order-status.js +6 -3
- package/dist-lib/lib/salesorders-list.functions.d.ts +8 -0
- package/dist-lib/lib/salesorders-list.functions.d.ts.map +1 -1
- package/dist-lib/lib/salesorders-list.server.d.ts.map +1 -1
- package/dist-lib/lib/salesorders-list.server.js +24 -23
- package/dist-lib/lib/salesorders-mapping.d.ts +24 -0
- package/dist-lib/lib/salesorders-mapping.d.ts.map +1 -1
- package/dist-lib/lib/salesorders-mapping.js +64 -13
- package/dist-lib/lib/salesorders.functions.d.ts +40 -0
- package/dist-lib/lib/salesorders.functions.d.ts.map +1 -1
- package/dist-lib/lib/salesorders.functions.js +43 -9
- package/dist-lib/lib/stock-consumption-alerts.functions.d.ts +16 -0
- package/dist-lib/lib/stock-consumption-alerts.functions.d.ts.map +1 -1
- package/dist-lib/lib/tradeitems.functions.d.ts +8 -0
- package/dist-lib/lib/tradeitems.functions.d.ts.map +1 -1
- 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
|
-
|
|
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
|
-
|
|
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
|
|
374
|
-
|
|
375
|
-
.
|
|
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
|
|
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;
|