@flowselections/floriday-verkoop-module 1.0.48 → 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 +6 -4
- 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/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 +9 -1
- package/dist-lib/lib/salesorders-mapping.d.ts +17 -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 +19 -3
- 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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { centralOrderNumber, computeTotals, mapJsonbToSalesOrderDTO, } from "./salesorders-mapping";
|
|
1
|
+
import { centralOrderNumber, computeTotals, mapJsonbToSalesOrderDTO, packingConfigFromFloridayPacking, } from "./salesorders-mapping";
|
|
2
2
|
import { cratePackageName, loadCarrierName, mergeTypeNames } from "./load-carrier-labels";
|
|
3
3
|
import { normalizeLoadCarrierCode } from "./load-carriers";
|
|
4
4
|
import { normalizeTime, resolveDeliveryTimeForDate } from "./carrier-availability";
|
|
@@ -397,8 +397,16 @@ export async function buildSalesOrdersList(supabase, params) {
|
|
|
397
397
|
}
|
|
398
398
|
// 9) Floriday-orders → DTO (zonder zware raw-payload richting browser).
|
|
399
399
|
const floridayOrders = foRows.map((r) => {
|
|
400
|
+
const localRowForPacking = localRowByFoId.get(String(r.floriday_id)) ?? null;
|
|
401
|
+
// De order is leidend voor de belading. Heeft de cache-payload geen
|
|
402
|
+
// packingConfiguration, dan geldt de gespiegelde orderbelading uit
|
|
403
|
+
// custom_fields.floriday_packing; pas daarna het trade item (mapping).
|
|
404
|
+
const mirroredPacking = r.data?.packingConfiguration
|
|
405
|
+
? null
|
|
406
|
+
: packingConfigFromFloridayPacking((localRowForPacking?.custom_fields ?? {})?.floriday_packing);
|
|
400
407
|
const enriched = {
|
|
401
408
|
...r.data,
|
|
409
|
+
...(mirroredPacking ? { packingConfiguration: mirroredPacking } : {}),
|
|
402
410
|
...(orderNumberByFoId.get(String(r.floriday_id))
|
|
403
411
|
? { orderNumber: orderNumberByFoId.get(String(r.floriday_id)) }
|
|
404
412
|
: {}),
|
|
@@ -21,6 +21,8 @@ export interface SalesOrderDTO {
|
|
|
21
21
|
cartTypeName?: string | null;
|
|
22
22
|
/** Canonieke Engine-code van de ladingdrager (bijv. "trolley"). */
|
|
23
23
|
loadCarrierType?: string | null;
|
|
24
|
+
/** Waar de getoonde belading vandaan komt (order | orderregel | product | trade-item). */
|
|
25
|
+
packingSource?: PackingSource;
|
|
24
26
|
totalPieces: number;
|
|
25
27
|
isLocal?: boolean;
|
|
26
28
|
isReservation?: boolean;
|
|
@@ -81,6 +83,21 @@ export interface TradeItemLookupEntry {
|
|
|
81
83
|
raw?: any;
|
|
82
84
|
}
|
|
83
85
|
export type TradeItemLookup = Map<string, TradeItemLookupEntry>;
|
|
86
|
+
/**
|
|
87
|
+
* Waar de belading van een rij vandaan komt. Expliciet, zodat in de code en
|
|
88
|
+
* in de DTO altijd zichtbaar is welke bron een getal heeft geleverd.
|
|
89
|
+
* - "order" : packingConfiguration van de sales order zelf (leidend)
|
|
90
|
+
* - "orderregel" : belading vastgelegd op de orderregel (lokale orders)
|
|
91
|
+
* - "product" : belading van het gekoppelde product (lokale orders)
|
|
92
|
+
* - "trade-item" : terugval op de standaardbelading van het artikel
|
|
93
|
+
*/
|
|
94
|
+
export type PackingSource = "order" | "orderregel" | "product" | "trade-item";
|
|
95
|
+
/**
|
|
96
|
+
* Zet `orders.custom_fields.floriday_packing` (de gespiegelde belading van de
|
|
97
|
+
* ORDER) om naar een Floriday-vormige packingConfiguration. Alleen gebruiken
|
|
98
|
+
* als terugval wanneer de cache-payload er zelf geen heeft.
|
|
99
|
+
*/
|
|
100
|
+
export declare function packingConfigFromFloridayPacking(fp: any): any | null;
|
|
84
101
|
export declare function isCentralOrderNumber(value: unknown): value is string;
|
|
85
102
|
export declare function centralOrderNumber(value: unknown): string;
|
|
86
103
|
/** Rijtype + kale UUID uit een lijst-ID (`local:…`, `mailbox-proposal:…`, Floriday). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"salesorders-mapping.d.ts","sourceRoot":"","sources":["../../src/lib/salesorders-mapping.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"salesorders-mapping.d.ts","sourceRoot":"","sources":["../../src/lib/salesorders-mapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,19 +16,69 @@ function pickPrimaryPacking(raw) {
|
|
|
16
16
|
return null;
|
|
17
17
|
return configs.find((c) => c?.primary === true || String(c?.primary).toLowerCase() === "true") ?? configs[0] ?? null;
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
/** Heeft de order zelf een bruikbare beladingconfiguratie? */
|
|
20
|
+
function hasOrderPacking(pc) {
|
|
21
|
+
if (!pc || typeof pc !== "object")
|
|
22
|
+
return false;
|
|
23
|
+
return (toNum(pc.piecesPerPackage, 0) > 0 ||
|
|
24
|
+
toNum(pc.packagesPerLayer, 0) > 0 ||
|
|
25
|
+
toNum(pc.layersPerLoadCarrier, 0) > 0 ||
|
|
26
|
+
pc.package != null ||
|
|
27
|
+
pc.loadCarrier != null);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Bepaalt de leidende beladingbron: de ORDER wint altijd. Het trade item is
|
|
31
|
+
* uitsluitend terugval wanneer de order geen packingConfiguration heeft.
|
|
32
|
+
* Het trade item blijft wél de bron voor naam/foto/sku (zie mapping onder).
|
|
33
|
+
*/
|
|
34
|
+
function resolvePacking(order, tradeItemRaw) {
|
|
35
|
+
const orderPacking = order?.packingConfiguration;
|
|
36
|
+
if (hasOrderPacking(orderPacking)) {
|
|
37
|
+
return { order, source: "order" };
|
|
38
|
+
}
|
|
39
|
+
const fallback = pickPrimaryPacking(tradeItemRaw);
|
|
40
|
+
if (!fallback)
|
|
41
|
+
return { order, source: "trade-item" };
|
|
22
42
|
return {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
43
|
+
order: {
|
|
44
|
+
...order,
|
|
45
|
+
packingConfiguration: {
|
|
46
|
+
...(orderPacking ?? {}),
|
|
47
|
+
piecesPerPackage: toNum(fallback?.piecesPerPackage, 1),
|
|
48
|
+
packagesPerLayer: toNum(fallback?.packagesPerLayer, 0),
|
|
49
|
+
layersPerLoadCarrier: toNum(fallback?.layersPerLoadCarrier, 0),
|
|
50
|
+
package: fallback?.package ?? orderPacking?.package ?? null,
|
|
51
|
+
loadCarrier: fallback?.loadCarrier ?? orderPacking?.loadCarrier ?? null,
|
|
52
|
+
},
|
|
31
53
|
},
|
|
54
|
+
source: "trade-item",
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Zet `orders.custom_fields.floriday_packing` (de gespiegelde belading van de
|
|
59
|
+
* ORDER) om naar een Floriday-vormige packingConfiguration. Alleen gebruiken
|
|
60
|
+
* als terugval wanneer de cache-payload er zelf geen heeft.
|
|
61
|
+
*/
|
|
62
|
+
export function packingConfigFromFloridayPacking(fp) {
|
|
63
|
+
if (!fp || typeof fp !== "object")
|
|
64
|
+
return null;
|
|
65
|
+
if (String(fp.source ?? "order") !== "order")
|
|
66
|
+
return null;
|
|
67
|
+
const pieces = toNum(fp.pieces_per_package, 0);
|
|
68
|
+
const perLayer = toNum(fp.packages_per_layer, 0);
|
|
69
|
+
const layers = toNum(fp.layers_per_load_carrier, 0);
|
|
70
|
+
const vbn = fp.vbn_package_code ?? null;
|
|
71
|
+
const custom = fp.custom_package_id ?? null;
|
|
72
|
+
const carrier = fp.load_carrier ?? null;
|
|
73
|
+
if (pieces <= 0 && perLayer <= 0 && layers <= 0 && vbn == null && custom == null && carrier == null) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
piecesPerPackage: pieces || 1,
|
|
78
|
+
packagesPerLayer: perLayer,
|
|
79
|
+
layersPerLoadCarrier: layers,
|
|
80
|
+
package: vbn != null || custom != null ? { vbnPackageCode: vbn, customPackageId: custom } : null,
|
|
81
|
+
loadCarrier: carrier,
|
|
32
82
|
};
|
|
33
83
|
}
|
|
34
84
|
const CENTRAL_ORDER_NUMBER_RE = /^(FO|MO|AO|HO)-\d{7}$/;
|
|
@@ -60,8 +110,8 @@ export function mapJsonbToSalesOrderDTO(o, customerLookup, tradeItemLookup, crat
|
|
|
60
110
|
// (geen salesOrderLines-array). Velden staan direct op het object.
|
|
61
111
|
const tradeItemId = String(o?.tradeItemId ?? "");
|
|
62
112
|
const tradeItem = tradeItemId ? tradeItemLookup?.get(tradeItemId) : undefined;
|
|
63
|
-
|
|
64
|
-
const orderWithLivePacking =
|
|
113
|
+
// De ORDER is leidend voor de belading; het trade item is enkel terugval.
|
|
114
|
+
const { order: orderWithLivePacking, source: packingSource } = resolvePacking(o, tradeItem?.raw);
|
|
65
115
|
const numberOfPieces = toNum(orderWithLivePacking?.numberOfPieces, 0);
|
|
66
116
|
const piecesPerPackage = Math.max(1, toNum(orderWithLivePacking?.packingConfiguration?.piecesPerPackage, 1));
|
|
67
117
|
const numberOfPackages = piecesPerPackage > 0 ? Math.ceil(numberOfPieces / piecesPerPackage) : 0;
|
|
@@ -101,6 +151,7 @@ export function mapJsonbToSalesOrderDTO(o, customerLookup, tradeItemLookup, crat
|
|
|
101
151
|
karCount,
|
|
102
152
|
crateTypeName,
|
|
103
153
|
cartTypeName,
|
|
154
|
+
packingSource,
|
|
104
155
|
totalPieces: numberOfPieces,
|
|
105
156
|
customer: {
|
|
106
157
|
name: found?.name ?? "Onbekende klant",
|
|
@@ -21444,6 +21444,14 @@ export declare const runSalesOrdersSync: import("@tanstack/start-client-core").O
|
|
|
21444
21444
|
};
|
|
21445
21445
|
Returns: import("../integrations/supabase/types").Json;
|
|
21446
21446
|
};
|
|
21447
|
+
logistics_plan_block: {
|
|
21448
|
+
Args: {
|
|
21449
|
+
p_details?: import("../integrations/supabase/types").Json;
|
|
21450
|
+
p_order_ids: string[];
|
|
21451
|
+
p_reason: string;
|
|
21452
|
+
};
|
|
21453
|
+
Returns: number;
|
|
21454
|
+
};
|
|
21447
21455
|
logistics_plan_buffer_sql: {
|
|
21448
21456
|
Args: {
|
|
21449
21457
|
p_buffer_id: string;
|
|
@@ -44361,6 +44369,14 @@ export declare const createSalesOrder: import("@tanstack/start-client-core").Opt
|
|
|
44361
44369
|
};
|
|
44362
44370
|
Returns: import("../integrations/supabase/types").Json;
|
|
44363
44371
|
};
|
|
44372
|
+
logistics_plan_block: {
|
|
44373
|
+
Args: {
|
|
44374
|
+
p_details?: import("../integrations/supabase/types").Json;
|
|
44375
|
+
p_order_ids: string[];
|
|
44376
|
+
p_reason: string;
|
|
44377
|
+
};
|
|
44378
|
+
Returns: number;
|
|
44379
|
+
};
|
|
44364
44380
|
logistics_plan_buffer_sql: {
|
|
44365
44381
|
Args: {
|
|
44366
44382
|
p_buffer_id: string;
|
|
@@ -67288,6 +67304,14 @@ export declare const diagnoseFloridayConnection: import("@tanstack/start-client-
|
|
|
67288
67304
|
};
|
|
67289
67305
|
Returns: import("../integrations/supabase/types").Json;
|
|
67290
67306
|
};
|
|
67307
|
+
logistics_plan_block: {
|
|
67308
|
+
Args: {
|
|
67309
|
+
p_details?: import("../integrations/supabase/types").Json;
|
|
67310
|
+
p_order_ids: string[];
|
|
67311
|
+
p_reason: string;
|
|
67312
|
+
};
|
|
67313
|
+
Returns: number;
|
|
67314
|
+
};
|
|
67291
67315
|
logistics_plan_buffer_sql: {
|
|
67292
67316
|
Args: {
|
|
67293
67317
|
p_buffer_id: string;
|
|
@@ -90233,6 +90257,14 @@ export declare const getSalesOrderDetail: import("@tanstack/start-client-core").
|
|
|
90233
90257
|
};
|
|
90234
90258
|
Returns: import("../integrations/supabase/types").Json;
|
|
90235
90259
|
};
|
|
90260
|
+
logistics_plan_block: {
|
|
90261
|
+
Args: {
|
|
90262
|
+
p_details?: import("../integrations/supabase/types").Json;
|
|
90263
|
+
p_order_ids: string[];
|
|
90264
|
+
p_reason: string;
|
|
90265
|
+
};
|
|
90266
|
+
Returns: number;
|
|
90267
|
+
};
|
|
90236
90268
|
logistics_plan_buffer_sql: {
|
|
90237
90269
|
Args: {
|
|
90238
90270
|
p_buffer_id: string;
|
|
@@ -113149,6 +113181,14 @@ export declare const setSalesOrderControlled: import("@tanstack/start-client-cor
|
|
|
113149
113181
|
};
|
|
113150
113182
|
Returns: import("../integrations/supabase/types").Json;
|
|
113151
113183
|
};
|
|
113184
|
+
logistics_plan_block: {
|
|
113185
|
+
Args: {
|
|
113186
|
+
p_details?: import("../integrations/supabase/types").Json;
|
|
113187
|
+
p_order_ids: string[];
|
|
113188
|
+
p_reason: string;
|
|
113189
|
+
};
|
|
113190
|
+
Returns: number;
|
|
113191
|
+
};
|
|
113152
113192
|
logistics_plan_buffer_sql: {
|
|
113153
113193
|
Args: {
|
|
113154
113194
|
p_buffer_id: string;
|