@flowselections/floriday-verkoop-module 1.0.28 → 1.0.30
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/CreateOrderPage.d.ts.map +1 -1
- package/dist-lib/components/verkoop/CreateOrderPage.js +64 -20
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +9 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +9 -0
- package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +9 -0
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +9 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/cart-lock.functions.d.ts +9 -0
- package/dist-lib/lib/cart-lock.functions.d.ts.map +1 -1
- package/dist-lib/lib/cart-planning-settings.functions.d.ts +99 -0
- package/dist-lib/lib/cart-planning-settings.functions.d.ts.map +1 -1
- package/dist-lib/lib/cart-replan.functions.d.ts +27 -0
- package/dist-lib/lib/cart-replan.functions.d.ts.map +1 -1
- package/dist-lib/lib/cart-replan.functions.js +4 -4
- package/dist-lib/lib/create-order.functions.d.ts +13977 -42
- package/dist-lib/lib/create-order.functions.d.ts.map +1 -1
- package/dist-lib/lib/create-order.functions.js +63 -0
- package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts +27 -0
- package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-logistic-labels.functions.d.ts +9 -0
- package/dist-lib/lib/floriday-logistic-labels.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-mirror.functions.d.ts +9 -0
- package/dist-lib/lib/floriday-mirror.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-public.functions.d.ts +63 -0
- package/dist-lib/lib/floriday-public.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-writes.functions.d.ts +45 -0
- package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-buffers.functions.d.ts +27 -0
- package/dist-lib/lib/order-buffers.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-shipments.functions.d.ts +36 -0
- package/dist-lib/lib/order-shipments.functions.d.ts.map +1 -1
- package/dist-lib/lib/salesorders.functions.d.ts +45 -0
- package/dist-lib/lib/salesorders.functions.d.ts.map +1 -1
- package/dist-lib/lib/tradeitems.functions.d.ts +9 -0
- package/dist-lib/lib/tradeitems.functions.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -426,6 +426,64 @@ export const listCarriersForCreateOrder = createServerFn({ method: "GET" })
|
|
|
426
426
|
.order("name");
|
|
427
427
|
return { items: data ?? [] };
|
|
428
428
|
});
|
|
429
|
+
// ─── Beladingen (packing-configuraties) ────────────────────────────────────
|
|
430
|
+
// Alle in het systeem voorkomende beladingen: planten per fust ×
|
|
431
|
+
// fusten per laag × lagen per kar. Bron: Floriday trade items, interne
|
|
432
|
+
// concept-artikelen en de products-tabel. De handmatige bestel-flow gebruikt
|
|
433
|
+
// deze lijst om de standaardbelading van een product te kunnen wijzigen.
|
|
434
|
+
export const listBeladingOptions = createServerFn({ method: "GET" })
|
|
435
|
+
.middleware([requireSupabaseAuth])
|
|
436
|
+
.handler(async ({ context }) => {
|
|
437
|
+
const [tradeItemsRes, draftsRes, productsRes] = await Promise.all([
|
|
438
|
+
context.supabase
|
|
439
|
+
.from("floriday_trade_items_cache")
|
|
440
|
+
.select("data")
|
|
441
|
+
.eq("is_deleted", false)
|
|
442
|
+
.range(0, 4999),
|
|
443
|
+
context.supabase.from("trade_item_drafts").select("data").range(0, 4999),
|
|
444
|
+
context.supabase
|
|
445
|
+
.from("products")
|
|
446
|
+
.select("plants_per_crate, crates_per_layer, layers_per_cart")
|
|
447
|
+
.range(0, 4999),
|
|
448
|
+
]);
|
|
449
|
+
const combos = new Map();
|
|
450
|
+
const add = (ppc, cpl, lpc) => {
|
|
451
|
+
const a = Math.max(1, Math.round(Number(ppc ?? 0)) || 0);
|
|
452
|
+
const b = Math.max(1, Math.round(Number(cpl ?? 0)) || 0);
|
|
453
|
+
const c = Math.max(1, Math.round(Number(lpc ?? 0)) || 0);
|
|
454
|
+
if (!Number.isFinite(a) || !Number.isFinite(b) || !Number.isFinite(c))
|
|
455
|
+
return;
|
|
456
|
+
if (a === 1 && b === 1 && c === 1)
|
|
457
|
+
return;
|
|
458
|
+
combos.set(`${a}x${b}x${c}`, { plants_per_crate: a, crates_per_layer: b, layers_per_cart: c });
|
|
459
|
+
};
|
|
460
|
+
const addFromPackings = (d) => {
|
|
461
|
+
const packs = Array.isArray(d?.packingConfigurations) ? d.packingConfigurations : [];
|
|
462
|
+
for (const p of packs) {
|
|
463
|
+
add(p?.piecesPerPackage ?? p?.unitsPerPackage, p?.packagesPerLayer, p?.layersPerLoadCarrier);
|
|
464
|
+
}
|
|
465
|
+
};
|
|
466
|
+
for (const r of Array.isArray(tradeItemsRes.data) ? tradeItemsRes.data : []) {
|
|
467
|
+
addFromPackings(r?.data);
|
|
468
|
+
}
|
|
469
|
+
for (const r of Array.isArray(draftsRes.data) ? draftsRes.data : []) {
|
|
470
|
+
addFromPackings(r?.data);
|
|
471
|
+
}
|
|
472
|
+
for (const p of Array.isArray(productsRes.data) ? productsRes.data : []) {
|
|
473
|
+
add(p.plants_per_crate, p.crates_per_layer, p.layers_per_cart);
|
|
474
|
+
}
|
|
475
|
+
const items = Array.from(combos.entries())
|
|
476
|
+
.map(([key, v]) => ({
|
|
477
|
+
key,
|
|
478
|
+
...v,
|
|
479
|
+
crates_per_cart: v.crates_per_layer * v.layers_per_cart,
|
|
480
|
+
plants_per_cart: v.plants_per_crate * v.crates_per_layer * v.layers_per_cart,
|
|
481
|
+
}))
|
|
482
|
+
.sort((a, b) => a.plants_per_crate - b.plants_per_crate ||
|
|
483
|
+
a.crates_per_layer - b.crates_per_layer ||
|
|
484
|
+
a.layers_per_cart - b.layers_per_cart);
|
|
485
|
+
return { items };
|
|
486
|
+
});
|
|
429
487
|
// ─── Orderpicktijd (dagen) ──────────────────────────────────────────────────
|
|
430
488
|
export const getOrderPickDaysCO = createServerFn({ method: "GET" })
|
|
431
489
|
.middleware([requireSupabaseAuth])
|
|
@@ -624,6 +682,11 @@ export const createManualOrder = createServerFn({ method: "POST" })
|
|
|
624
682
|
product_name: displayName,
|
|
625
683
|
quantity: Math.max(1, Math.round(l.quantity)),
|
|
626
684
|
unit: l.unit ?? "stuks",
|
|
685
|
+
// Gekozen belading vastleggen op de regel zelf, zodat de karindeling
|
|
686
|
+
// de handmatige keuze gebruikt i.p.v. de standaard van het product.
|
|
687
|
+
plants_per_crate: l.plants_per_crate ?? null,
|
|
688
|
+
crates_per_layer: l.crates_per_layer ?? null,
|
|
689
|
+
layers_per_cart: l.layers_per_cart ?? null,
|
|
627
690
|
unit_price: l.unit_price ?? undefined,
|
|
628
691
|
};
|
|
629
692
|
});
|
|
@@ -8310,9 +8310,12 @@ export declare const getPreferredWarehouseStatus: import("@tanstack/start-client
|
|
|
8310
8310
|
};
|
|
8311
8311
|
order_items: {
|
|
8312
8312
|
Row: {
|
|
8313
|
+
crates_per_layer: number | null;
|
|
8313
8314
|
created_at: string;
|
|
8314
8315
|
id: string;
|
|
8316
|
+
layers_per_cart: number | null;
|
|
8315
8317
|
order_id: string;
|
|
8318
|
+
plants_per_crate: number | null;
|
|
8316
8319
|
product_id: string | null;
|
|
8317
8320
|
product_name: string;
|
|
8318
8321
|
quantity: number;
|
|
@@ -8320,9 +8323,12 @@ export declare const getPreferredWarehouseStatus: import("@tanstack/start-client
|
|
|
8320
8323
|
unit_price: number | null;
|
|
8321
8324
|
};
|
|
8322
8325
|
Insert: {
|
|
8326
|
+
crates_per_layer?: number | null;
|
|
8323
8327
|
created_at?: string;
|
|
8324
8328
|
id?: string;
|
|
8329
|
+
layers_per_cart?: number | null;
|
|
8325
8330
|
order_id: string;
|
|
8331
|
+
plants_per_crate?: number | null;
|
|
8326
8332
|
product_id?: string | null;
|
|
8327
8333
|
product_name: string;
|
|
8328
8334
|
quantity?: number;
|
|
@@ -8330,9 +8336,12 @@ export declare const getPreferredWarehouseStatus: import("@tanstack/start-client
|
|
|
8330
8336
|
unit_price?: number | null;
|
|
8331
8337
|
};
|
|
8332
8338
|
Update: {
|
|
8339
|
+
crates_per_layer?: number | null;
|
|
8333
8340
|
created_at?: string;
|
|
8334
8341
|
id?: string;
|
|
8342
|
+
layers_per_cart?: number | null;
|
|
8335
8343
|
order_id?: string;
|
|
8344
|
+
plants_per_crate?: number | null;
|
|
8336
8345
|
product_id?: string | null;
|
|
8337
8346
|
product_name?: string;
|
|
8338
8347
|
quantity?: number;
|
|
@@ -22122,9 +22131,12 @@ export declare const getAutoFulfillmentStatus: import("@tanstack/start-client-co
|
|
|
22122
22131
|
};
|
|
22123
22132
|
order_items: {
|
|
22124
22133
|
Row: {
|
|
22134
|
+
crates_per_layer: number | null;
|
|
22125
22135
|
created_at: string;
|
|
22126
22136
|
id: string;
|
|
22137
|
+
layers_per_cart: number | null;
|
|
22127
22138
|
order_id: string;
|
|
22139
|
+
plants_per_crate: number | null;
|
|
22128
22140
|
product_id: string | null;
|
|
22129
22141
|
product_name: string;
|
|
22130
22142
|
quantity: number;
|
|
@@ -22132,9 +22144,12 @@ export declare const getAutoFulfillmentStatus: import("@tanstack/start-client-co
|
|
|
22132
22144
|
unit_price: number | null;
|
|
22133
22145
|
};
|
|
22134
22146
|
Insert: {
|
|
22147
|
+
crates_per_layer?: number | null;
|
|
22135
22148
|
created_at?: string;
|
|
22136
22149
|
id?: string;
|
|
22150
|
+
layers_per_cart?: number | null;
|
|
22137
22151
|
order_id: string;
|
|
22152
|
+
plants_per_crate?: number | null;
|
|
22138
22153
|
product_id?: string | null;
|
|
22139
22154
|
product_name: string;
|
|
22140
22155
|
quantity?: number;
|
|
@@ -22142,9 +22157,12 @@ export declare const getAutoFulfillmentStatus: import("@tanstack/start-client-co
|
|
|
22142
22157
|
unit_price?: number | null;
|
|
22143
22158
|
};
|
|
22144
22159
|
Update: {
|
|
22160
|
+
crates_per_layer?: number | null;
|
|
22145
22161
|
created_at?: string;
|
|
22146
22162
|
id?: string;
|
|
22163
|
+
layers_per_cart?: number | null;
|
|
22147
22164
|
order_id?: string;
|
|
22165
|
+
plants_per_crate?: number | null;
|
|
22148
22166
|
product_id?: string | null;
|
|
22149
22167
|
product_name?: string;
|
|
22150
22168
|
quantity?: number;
|
|
@@ -35943,9 +35961,12 @@ export declare const retryAutoFulfillment: import("@tanstack/start-client-core")
|
|
|
35943
35961
|
};
|
|
35944
35962
|
order_items: {
|
|
35945
35963
|
Row: {
|
|
35964
|
+
crates_per_layer: number | null;
|
|
35946
35965
|
created_at: string;
|
|
35947
35966
|
id: string;
|
|
35967
|
+
layers_per_cart: number | null;
|
|
35948
35968
|
order_id: string;
|
|
35969
|
+
plants_per_crate: number | null;
|
|
35949
35970
|
product_id: string | null;
|
|
35950
35971
|
product_name: string;
|
|
35951
35972
|
quantity: number;
|
|
@@ -35953,9 +35974,12 @@ export declare const retryAutoFulfillment: import("@tanstack/start-client-core")
|
|
|
35953
35974
|
unit_price: number | null;
|
|
35954
35975
|
};
|
|
35955
35976
|
Insert: {
|
|
35977
|
+
crates_per_layer?: number | null;
|
|
35956
35978
|
created_at?: string;
|
|
35957
35979
|
id?: string;
|
|
35980
|
+
layers_per_cart?: number | null;
|
|
35958
35981
|
order_id: string;
|
|
35982
|
+
plants_per_crate?: number | null;
|
|
35959
35983
|
product_id?: string | null;
|
|
35960
35984
|
product_name: string;
|
|
35961
35985
|
quantity?: number;
|
|
@@ -35963,9 +35987,12 @@ export declare const retryAutoFulfillment: import("@tanstack/start-client-core")
|
|
|
35963
35987
|
unit_price?: number | null;
|
|
35964
35988
|
};
|
|
35965
35989
|
Update: {
|
|
35990
|
+
crates_per_layer?: number | null;
|
|
35966
35991
|
created_at?: string;
|
|
35967
35992
|
id?: string;
|
|
35993
|
+
layers_per_cart?: number | null;
|
|
35968
35994
|
order_id?: string;
|
|
35995
|
+
plants_per_crate?: number | null;
|
|
35969
35996
|
product_id?: string | null;
|
|
35970
35997
|
product_name?: string;
|
|
35971
35998
|
quantity?: number;
|