@flowselections/floriday-verkoop-module 1.0.18 → 1.0.20
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/integrations/supabase/auth-middleware.d.ts +62 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +62 -0
- package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +62 -0
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +62 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/cart-lock.functions.d.ts +62 -0
- package/dist-lib/lib/cart-lock.functions.d.ts.map +1 -1
- package/dist-lib/lib/cart-replan.functions.d.ts +124 -0
- package/dist-lib/lib/cart-replan.functions.d.ts.map +1 -1
- package/dist-lib/lib/create-order.functions.d.ts +744 -0
- package/dist-lib/lib/create-order.functions.d.ts.map +1 -1
- package/dist-lib/lib/create-order.functions.js +63 -44
- package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts +186 -0
- package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-logistic-labels.functions.d.ts +62 -0
- package/dist-lib/lib/floriday-logistic-labels.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-public.functions.d.ts +434 -0
- package/dist-lib/lib/floriday-public.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-writes.functions.d.ts +310 -0
- package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
- package/dist-lib/lib/order-shipments.functions.d.ts +248 -0
- package/dist-lib/lib/order-shipments.functions.d.ts.map +1 -1
- package/dist-lib/lib/salesorders.functions.d.ts +186 -0
- package/dist-lib/lib/salesorders.functions.d.ts.map +1 -1
- package/dist-lib/lib/tradeitems.functions.d.ts +62 -0
- package/dist-lib/lib/tradeitems.functions.d.ts.map +1 -1
- package/dist-lib/lib/useSalesOrdersQuery.d.ts.map +1 -1
- package/dist-lib/lib/useSalesOrdersQuery.js +62 -3
- package/package.json +1 -1
|
@@ -49,7 +49,7 @@ export const listProductsForCreateOrder = createServerFn({ method: "GET" })
|
|
|
49
49
|
.range(0, 9999),
|
|
50
50
|
context.supabase
|
|
51
51
|
.from("products")
|
|
52
|
-
.select("id, product, unit, sale_price, plants_per_crate, crates_per_layer, layers_per_cart, quantity, custom_fields")
|
|
52
|
+
.select("id, product, unit, sale_price, plants_per_crate, crates_per_layer, layers_per_cart, quantity, custom_fields, trade_item_key")
|
|
53
53
|
.range(0, 4999),
|
|
54
54
|
]);
|
|
55
55
|
// Supabase geeft standaard max. 1000 rijen terug. Voor productgroepen kan de
|
|
@@ -242,6 +242,13 @@ export const listProductsForCreateOrder = createServerFn({ method: "GET" })
|
|
|
242
242
|
for (const p of Array.isArray(productsRes.data) ? productsRes.data : []) {
|
|
243
243
|
productsById.set(p.id, p);
|
|
244
244
|
}
|
|
245
|
+
const productsByGroupId = new Map();
|
|
246
|
+
for (const p of Array.isArray(productsRes.data) ? productsRes.data : []) {
|
|
247
|
+
const key = p.trade_item_key;
|
|
248
|
+
if (typeof key === "string" && key.startsWith("group:")) {
|
|
249
|
+
productsByGroupId.set(key.slice("group:".length), p);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
245
252
|
const packingFromProductRow = (p) => ({
|
|
246
253
|
plants_per_crate: Math.max(1, Number(p?.plants_per_crate ?? 1)),
|
|
247
254
|
crates_per_layer: Math.max(1, Number(p?.crates_per_layer ?? 1)),
|
|
@@ -277,32 +284,34 @@ export const listProductsForCreateOrder = createServerFn({ method: "GET" })
|
|
|
277
284
|
reserved = resSum;
|
|
278
285
|
available = Math.max(0, physical - reserved);
|
|
279
286
|
}
|
|
280
|
-
//
|
|
281
|
-
//
|
|
287
|
+
// Head eerst — belading van de groep = belading van het hoofdproduct.
|
|
288
|
+
// Volgorde: head_trade_item_floriday_id → head_product_id → group-mirror
|
|
289
|
+
// products-rij (`trade_item_key = 'group:<id>'`) → eerste member.
|
|
282
290
|
let packing = { plants_per_crate: 1, crates_per_layer: 1, layers_per_cart: 1 };
|
|
283
|
-
const
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
for (const cand of candidates) {
|
|
291
|
+
const headFloriday = r.head_trade_item_floriday_id;
|
|
292
|
+
const headProduct = r.head_product_id;
|
|
293
|
+
const groupMirror = productsByGroupId.get(id);
|
|
294
|
+
const firstMemberId = members[0]?.trade_item_id ?? null;
|
|
295
|
+
const tryFromById = (cand) => {
|
|
289
296
|
if (!cand)
|
|
290
|
-
|
|
291
|
-
const
|
|
292
|
-
if (
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
297
|
+
return null;
|
|
298
|
+
const hit = byId.get(cand);
|
|
299
|
+
if (!hit)
|
|
300
|
+
return null;
|
|
301
|
+
return {
|
|
302
|
+
plants_per_crate: hit.plants_per_crate,
|
|
303
|
+
crates_per_layer: hit.crates_per_layer,
|
|
304
|
+
layers_per_cart: hit.layers_per_cart,
|
|
305
|
+
};
|
|
306
|
+
};
|
|
307
|
+
const tryFromProductRow = (row) => (row ? packingFromProductRow(row) : null);
|
|
308
|
+
packing =
|
|
309
|
+
tryFromById(headFloriday) ??
|
|
310
|
+
tryFromProductRow(headProduct ? productsById.get(headProduct) : null) ??
|
|
311
|
+
tryFromProductRow(groupMirror) ??
|
|
312
|
+
tryFromById(firstMemberId) ??
|
|
313
|
+
tryFromProductRow(firstMemberId ? productsById.get(firstMemberId) : null) ??
|
|
314
|
+
packing;
|
|
306
315
|
byId.set(id, {
|
|
307
316
|
id,
|
|
308
317
|
product: displayName,
|
|
@@ -513,7 +522,12 @@ export const createManualOrder = createServerFn({ method: "POST" })
|
|
|
513
522
|
const groupById = new Map();
|
|
514
523
|
for (const r of groupsRes.data ?? [])
|
|
515
524
|
groupById.set(r.id, r);
|
|
516
|
-
|
|
525
|
+
// Groepen krijgen GEEN spiegelrij in `products`: de database heeft een
|
|
526
|
+
// trigger die id-botsingen tussen products en product_groups tegenhoudt.
|
|
527
|
+
// De order-regel wordt daarom met product_id = null én naamprefix
|
|
528
|
+
// "[Groep] <naam>" opgeslagen; expand-group-order-items resolvt de groep
|
|
529
|
+
// dan op naam en splitst hem in members.
|
|
530
|
+
const missingLines = data.lines.filter((l) => !existingIds.has(l.product_id) && !groupById.has(l.product_id));
|
|
517
531
|
if (missingLines.length > 0) {
|
|
518
532
|
const shortRand = () => Array.from({ length: 6 }, () => Math.floor(Math.random() * 16).toString(16).toUpperCase()).join("");
|
|
519
533
|
const seen = new Set();
|
|
@@ -548,13 +562,6 @@ export const createManualOrder = createServerFn({ method: "POST" })
|
|
|
548
562
|
customFields.floriday_id = id;
|
|
549
563
|
customFields.source = "sales-module-floriday-mirror";
|
|
550
564
|
}
|
|
551
|
-
else if (groupById.has(id)) {
|
|
552
|
-
source = "group";
|
|
553
|
-
tradeItemKey = `group:${id}`;
|
|
554
|
-
articleNumber = l.article_code?.trim() || `GRP-${shortRand()}`;
|
|
555
|
-
customFields.group_id = id;
|
|
556
|
-
customFields.source = "sales-module-group-mirror";
|
|
557
|
-
}
|
|
558
565
|
else {
|
|
559
566
|
source = "unknown";
|
|
560
567
|
tradeItemKey = `product:${id}`;
|
|
@@ -576,9 +583,11 @@ export const createManualOrder = createServerFn({ method: "POST" })
|
|
|
576
583
|
custom_fields: { ...customFields, mirror_kind: source },
|
|
577
584
|
};
|
|
578
585
|
});
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
586
|
+
if (toInsert.length > 0) {
|
|
587
|
+
const { error: prodErr } = await supabaseAdmin.from("products").insert(toInsert);
|
|
588
|
+
if (prodErr)
|
|
589
|
+
throw new Error(`Product aanmaken faalde: ${prodErr.message}`);
|
|
590
|
+
}
|
|
582
591
|
}
|
|
583
592
|
const total = data.lines.reduce((s, l) => s + (Number(l.unit_price ?? 0) * Number(l.quantity)), 0);
|
|
584
593
|
const { data: order, error: orderErr } = await supabaseAdmin.from("orders").insert({
|
|
@@ -600,14 +609,24 @@ export const createManualOrder = createServerFn({ method: "POST" })
|
|
|
600
609
|
}).select("id, order_number").single();
|
|
601
610
|
if (orderErr)
|
|
602
611
|
throw new Error(orderErr.message);
|
|
603
|
-
const items = data.lines.map((l) =>
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
612
|
+
const items = data.lines.map((l) => {
|
|
613
|
+
const isGroup = groupById.has(l.product_id);
|
|
614
|
+
const groupRow = isGroup ? groupById.get(l.product_id) : null;
|
|
615
|
+
const groupName = groupRow?.name ?? l.product_name;
|
|
616
|
+
const displayName = isGroup
|
|
617
|
+
? (/^\s*\[Groep\]/i.test(l.product_name) ? l.product_name : `[Groep] ${groupName}`)
|
|
618
|
+
: l.product_name;
|
|
619
|
+
return {
|
|
620
|
+
order_id: order.id,
|
|
621
|
+
// Groepen krijgen product_id = null; expand-group-order-items
|
|
622
|
+
// resolvt hen op naam ("[Groep] <naam>").
|
|
623
|
+
product_id: isGroup ? null : l.product_id,
|
|
624
|
+
product_name: displayName,
|
|
625
|
+
quantity: Math.max(1, Math.round(l.quantity)),
|
|
626
|
+
unit: l.unit ?? "stuks",
|
|
627
|
+
unit_price: l.unit_price ?? undefined,
|
|
628
|
+
};
|
|
629
|
+
});
|
|
611
630
|
const { error: itemsErr } = await supabaseAdmin.from("order_items").insert(items);
|
|
612
631
|
if (itemsErr)
|
|
613
632
|
throw new Error(itemsErr.message);
|
|
@@ -7693,6 +7693,39 @@ export declare const getPreferredWarehouseStatus: import("@tanstack/start-client
|
|
|
7693
7693
|
referencedColumns: ["id"];
|
|
7694
7694
|
}];
|
|
7695
7695
|
};
|
|
7696
|
+
product_merge_log: {
|
|
7697
|
+
Row: {
|
|
7698
|
+
canonical_product_id: string | null;
|
|
7699
|
+
id: string;
|
|
7700
|
+
merged_at: string;
|
|
7701
|
+
merged_from_id: string;
|
|
7702
|
+
notes: string | null;
|
|
7703
|
+
snapshot: import("../integrations/supabase/types").Json;
|
|
7704
|
+
source_table: string;
|
|
7705
|
+
status: string;
|
|
7706
|
+
};
|
|
7707
|
+
Insert: {
|
|
7708
|
+
canonical_product_id?: string | null;
|
|
7709
|
+
id?: string;
|
|
7710
|
+
merged_at?: string;
|
|
7711
|
+
merged_from_id: string;
|
|
7712
|
+
notes?: string | null;
|
|
7713
|
+
snapshot?: import("../integrations/supabase/types").Json;
|
|
7714
|
+
source_table: string;
|
|
7715
|
+
status?: string;
|
|
7716
|
+
};
|
|
7717
|
+
Update: {
|
|
7718
|
+
canonical_product_id?: string | null;
|
|
7719
|
+
id?: string;
|
|
7720
|
+
merged_at?: string;
|
|
7721
|
+
merged_from_id?: string;
|
|
7722
|
+
notes?: string | null;
|
|
7723
|
+
snapshot?: import("../integrations/supabase/types").Json;
|
|
7724
|
+
source_table?: string;
|
|
7725
|
+
status?: string;
|
|
7726
|
+
};
|
|
7727
|
+
Relationships: [];
|
|
7728
|
+
};
|
|
7696
7729
|
products: {
|
|
7697
7730
|
Row: {
|
|
7698
7731
|
article_number: string | null;
|
|
@@ -7701,6 +7734,9 @@ export declare const getPreferredWarehouseStatus: import("@tanstack/start-client
|
|
|
7701
7734
|
crates_per_layer: number;
|
|
7702
7735
|
created_at: string;
|
|
7703
7736
|
custom_fields: import("../integrations/supabase/types").Json;
|
|
7737
|
+
floriday_active: boolean;
|
|
7738
|
+
floriday_payload: import("../integrations/supabase/types").Json;
|
|
7739
|
+
floriday_trade_item_id: string | null;
|
|
7704
7740
|
id: string;
|
|
7705
7741
|
image_url: string | null;
|
|
7706
7742
|
incoming_quantity: number;
|
|
@@ -7725,6 +7761,9 @@ export declare const getPreferredWarehouseStatus: import("@tanstack/start-client
|
|
|
7725
7761
|
crates_per_layer?: number;
|
|
7726
7762
|
created_at?: string;
|
|
7727
7763
|
custom_fields?: import("../integrations/supabase/types").Json;
|
|
7764
|
+
floriday_active?: boolean;
|
|
7765
|
+
floriday_payload?: import("../integrations/supabase/types").Json;
|
|
7766
|
+
floriday_trade_item_id?: string | null;
|
|
7728
7767
|
id?: string;
|
|
7729
7768
|
image_url?: string | null;
|
|
7730
7769
|
incoming_quantity?: number;
|
|
@@ -7749,6 +7788,9 @@ export declare const getPreferredWarehouseStatus: import("@tanstack/start-client
|
|
|
7749
7788
|
crates_per_layer?: number;
|
|
7750
7789
|
created_at?: string;
|
|
7751
7790
|
custom_fields?: import("../integrations/supabase/types").Json;
|
|
7791
|
+
floriday_active?: boolean;
|
|
7792
|
+
floriday_payload?: import("../integrations/supabase/types").Json;
|
|
7793
|
+
floriday_trade_item_id?: string | null;
|
|
7752
7794
|
id?: string;
|
|
7753
7795
|
image_url?: string | null;
|
|
7754
7796
|
incoming_quantity?: number;
|
|
@@ -10707,6 +10749,13 @@ export declare const getPreferredWarehouseStatus: import("@tanstack/start-client
|
|
|
10707
10749
|
};
|
|
10708
10750
|
Returns: number;
|
|
10709
10751
|
};
|
|
10752
|
+
_migrate_rewrite_stock_key: {
|
|
10753
|
+
Args: {
|
|
10754
|
+
_from_key: string;
|
|
10755
|
+
_to_key: string;
|
|
10756
|
+
};
|
|
10757
|
+
Returns: undefined;
|
|
10758
|
+
};
|
|
10710
10759
|
afh_city_code: {
|
|
10711
10760
|
Args: {
|
|
10712
10761
|
_city: string;
|
|
@@ -11265,6 +11314,13 @@ export declare const getPreferredWarehouseStatus: import("@tanstack/start-client
|
|
|
11265
11314
|
};
|
|
11266
11315
|
Returns: undefined;
|
|
11267
11316
|
};
|
|
11317
|
+
merge_products: {
|
|
11318
|
+
Args: {
|
|
11319
|
+
_canonical: string;
|
|
11320
|
+
_loser: string;
|
|
11321
|
+
};
|
|
11322
|
+
Returns: undefined;
|
|
11323
|
+
};
|
|
11268
11324
|
next_manufacture_partij: {
|
|
11269
11325
|
Args: {
|
|
11270
11326
|
_tenant_id: string;
|
|
@@ -11730,6 +11786,12 @@ export declare const getPreferredWarehouseStatus: import("@tanstack/start-client
|
|
|
11730
11786
|
};
|
|
11731
11787
|
Returns: undefined;
|
|
11732
11788
|
};
|
|
11789
|
+
sync_product_group_belading: {
|
|
11790
|
+
Args: {
|
|
11791
|
+
_group_id: string;
|
|
11792
|
+
};
|
|
11793
|
+
Returns: undefined;
|
|
11794
|
+
};
|
|
11733
11795
|
sync_product_packing_from_floriday_cache: {
|
|
11734
11796
|
Args: {
|
|
11735
11797
|
p_floriday_id: string;
|
|
@@ -19471,6 +19533,39 @@ export declare const getAutoFulfillmentStatus: import("@tanstack/start-client-co
|
|
|
19471
19533
|
referencedColumns: ["id"];
|
|
19472
19534
|
}];
|
|
19473
19535
|
};
|
|
19536
|
+
product_merge_log: {
|
|
19537
|
+
Row: {
|
|
19538
|
+
canonical_product_id: string | null;
|
|
19539
|
+
id: string;
|
|
19540
|
+
merged_at: string;
|
|
19541
|
+
merged_from_id: string;
|
|
19542
|
+
notes: string | null;
|
|
19543
|
+
snapshot: import("../integrations/supabase/types").Json;
|
|
19544
|
+
source_table: string;
|
|
19545
|
+
status: string;
|
|
19546
|
+
};
|
|
19547
|
+
Insert: {
|
|
19548
|
+
canonical_product_id?: string | null;
|
|
19549
|
+
id?: string;
|
|
19550
|
+
merged_at?: string;
|
|
19551
|
+
merged_from_id: string;
|
|
19552
|
+
notes?: string | null;
|
|
19553
|
+
snapshot?: import("../integrations/supabase/types").Json;
|
|
19554
|
+
source_table: string;
|
|
19555
|
+
status?: string;
|
|
19556
|
+
};
|
|
19557
|
+
Update: {
|
|
19558
|
+
canonical_product_id?: string | null;
|
|
19559
|
+
id?: string;
|
|
19560
|
+
merged_at?: string;
|
|
19561
|
+
merged_from_id?: string;
|
|
19562
|
+
notes?: string | null;
|
|
19563
|
+
snapshot?: import("../integrations/supabase/types").Json;
|
|
19564
|
+
source_table?: string;
|
|
19565
|
+
status?: string;
|
|
19566
|
+
};
|
|
19567
|
+
Relationships: [];
|
|
19568
|
+
};
|
|
19474
19569
|
products: {
|
|
19475
19570
|
Row: {
|
|
19476
19571
|
article_number: string | null;
|
|
@@ -19479,6 +19574,9 @@ export declare const getAutoFulfillmentStatus: import("@tanstack/start-client-co
|
|
|
19479
19574
|
crates_per_layer: number;
|
|
19480
19575
|
created_at: string;
|
|
19481
19576
|
custom_fields: import("../integrations/supabase/types").Json;
|
|
19577
|
+
floriday_active: boolean;
|
|
19578
|
+
floriday_payload: import("../integrations/supabase/types").Json;
|
|
19579
|
+
floriday_trade_item_id: string | null;
|
|
19482
19580
|
id: string;
|
|
19483
19581
|
image_url: string | null;
|
|
19484
19582
|
incoming_quantity: number;
|
|
@@ -19503,6 +19601,9 @@ export declare const getAutoFulfillmentStatus: import("@tanstack/start-client-co
|
|
|
19503
19601
|
crates_per_layer?: number;
|
|
19504
19602
|
created_at?: string;
|
|
19505
19603
|
custom_fields?: import("../integrations/supabase/types").Json;
|
|
19604
|
+
floriday_active?: boolean;
|
|
19605
|
+
floriday_payload?: import("../integrations/supabase/types").Json;
|
|
19606
|
+
floriday_trade_item_id?: string | null;
|
|
19506
19607
|
id?: string;
|
|
19507
19608
|
image_url?: string | null;
|
|
19508
19609
|
incoming_quantity?: number;
|
|
@@ -19527,6 +19628,9 @@ export declare const getAutoFulfillmentStatus: import("@tanstack/start-client-co
|
|
|
19527
19628
|
crates_per_layer?: number;
|
|
19528
19629
|
created_at?: string;
|
|
19529
19630
|
custom_fields?: import("../integrations/supabase/types").Json;
|
|
19631
|
+
floriday_active?: boolean;
|
|
19632
|
+
floriday_payload?: import("../integrations/supabase/types").Json;
|
|
19633
|
+
floriday_trade_item_id?: string | null;
|
|
19530
19634
|
id?: string;
|
|
19531
19635
|
image_url?: string | null;
|
|
19532
19636
|
incoming_quantity?: number;
|
|
@@ -22485,6 +22589,13 @@ export declare const getAutoFulfillmentStatus: import("@tanstack/start-client-co
|
|
|
22485
22589
|
};
|
|
22486
22590
|
Returns: number;
|
|
22487
22591
|
};
|
|
22592
|
+
_migrate_rewrite_stock_key: {
|
|
22593
|
+
Args: {
|
|
22594
|
+
_from_key: string;
|
|
22595
|
+
_to_key: string;
|
|
22596
|
+
};
|
|
22597
|
+
Returns: undefined;
|
|
22598
|
+
};
|
|
22488
22599
|
afh_city_code: {
|
|
22489
22600
|
Args: {
|
|
22490
22601
|
_city: string;
|
|
@@ -23043,6 +23154,13 @@ export declare const getAutoFulfillmentStatus: import("@tanstack/start-client-co
|
|
|
23043
23154
|
};
|
|
23044
23155
|
Returns: undefined;
|
|
23045
23156
|
};
|
|
23157
|
+
merge_products: {
|
|
23158
|
+
Args: {
|
|
23159
|
+
_canonical: string;
|
|
23160
|
+
_loser: string;
|
|
23161
|
+
};
|
|
23162
|
+
Returns: undefined;
|
|
23163
|
+
};
|
|
23046
23164
|
next_manufacture_partij: {
|
|
23047
23165
|
Args: {
|
|
23048
23166
|
_tenant_id: string;
|
|
@@ -23508,6 +23626,12 @@ export declare const getAutoFulfillmentStatus: import("@tanstack/start-client-co
|
|
|
23508
23626
|
};
|
|
23509
23627
|
Returns: undefined;
|
|
23510
23628
|
};
|
|
23629
|
+
sync_product_group_belading: {
|
|
23630
|
+
Args: {
|
|
23631
|
+
_group_id: string;
|
|
23632
|
+
};
|
|
23633
|
+
Returns: undefined;
|
|
23634
|
+
};
|
|
23511
23635
|
sync_product_packing_from_floriday_cache: {
|
|
23512
23636
|
Args: {
|
|
23513
23637
|
p_floriday_id: string;
|
|
@@ -31258,6 +31382,39 @@ export declare const retryAutoFulfillment: import("@tanstack/start-client-core")
|
|
|
31258
31382
|
referencedColumns: ["id"];
|
|
31259
31383
|
}];
|
|
31260
31384
|
};
|
|
31385
|
+
product_merge_log: {
|
|
31386
|
+
Row: {
|
|
31387
|
+
canonical_product_id: string | null;
|
|
31388
|
+
id: string;
|
|
31389
|
+
merged_at: string;
|
|
31390
|
+
merged_from_id: string;
|
|
31391
|
+
notes: string | null;
|
|
31392
|
+
snapshot: import("../integrations/supabase/types").Json;
|
|
31393
|
+
source_table: string;
|
|
31394
|
+
status: string;
|
|
31395
|
+
};
|
|
31396
|
+
Insert: {
|
|
31397
|
+
canonical_product_id?: string | null;
|
|
31398
|
+
id?: string;
|
|
31399
|
+
merged_at?: string;
|
|
31400
|
+
merged_from_id: string;
|
|
31401
|
+
notes?: string | null;
|
|
31402
|
+
snapshot?: import("../integrations/supabase/types").Json;
|
|
31403
|
+
source_table: string;
|
|
31404
|
+
status?: string;
|
|
31405
|
+
};
|
|
31406
|
+
Update: {
|
|
31407
|
+
canonical_product_id?: string | null;
|
|
31408
|
+
id?: string;
|
|
31409
|
+
merged_at?: string;
|
|
31410
|
+
merged_from_id?: string;
|
|
31411
|
+
notes?: string | null;
|
|
31412
|
+
snapshot?: import("../integrations/supabase/types").Json;
|
|
31413
|
+
source_table?: string;
|
|
31414
|
+
status?: string;
|
|
31415
|
+
};
|
|
31416
|
+
Relationships: [];
|
|
31417
|
+
};
|
|
31261
31418
|
products: {
|
|
31262
31419
|
Row: {
|
|
31263
31420
|
article_number: string | null;
|
|
@@ -31266,6 +31423,9 @@ export declare const retryAutoFulfillment: import("@tanstack/start-client-core")
|
|
|
31266
31423
|
crates_per_layer: number;
|
|
31267
31424
|
created_at: string;
|
|
31268
31425
|
custom_fields: import("../integrations/supabase/types").Json;
|
|
31426
|
+
floriday_active: boolean;
|
|
31427
|
+
floriday_payload: import("../integrations/supabase/types").Json;
|
|
31428
|
+
floriday_trade_item_id: string | null;
|
|
31269
31429
|
id: string;
|
|
31270
31430
|
image_url: string | null;
|
|
31271
31431
|
incoming_quantity: number;
|
|
@@ -31290,6 +31450,9 @@ export declare const retryAutoFulfillment: import("@tanstack/start-client-core")
|
|
|
31290
31450
|
crates_per_layer?: number;
|
|
31291
31451
|
created_at?: string;
|
|
31292
31452
|
custom_fields?: import("../integrations/supabase/types").Json;
|
|
31453
|
+
floriday_active?: boolean;
|
|
31454
|
+
floriday_payload?: import("../integrations/supabase/types").Json;
|
|
31455
|
+
floriday_trade_item_id?: string | null;
|
|
31293
31456
|
id?: string;
|
|
31294
31457
|
image_url?: string | null;
|
|
31295
31458
|
incoming_quantity?: number;
|
|
@@ -31314,6 +31477,9 @@ export declare const retryAutoFulfillment: import("@tanstack/start-client-core")
|
|
|
31314
31477
|
crates_per_layer?: number;
|
|
31315
31478
|
created_at?: string;
|
|
31316
31479
|
custom_fields?: import("../integrations/supabase/types").Json;
|
|
31480
|
+
floriday_active?: boolean;
|
|
31481
|
+
floriday_payload?: import("../integrations/supabase/types").Json;
|
|
31482
|
+
floriday_trade_item_id?: string | null;
|
|
31317
31483
|
id?: string;
|
|
31318
31484
|
image_url?: string | null;
|
|
31319
31485
|
incoming_quantity?: number;
|
|
@@ -34272,6 +34438,13 @@ export declare const retryAutoFulfillment: import("@tanstack/start-client-core")
|
|
|
34272
34438
|
};
|
|
34273
34439
|
Returns: number;
|
|
34274
34440
|
};
|
|
34441
|
+
_migrate_rewrite_stock_key: {
|
|
34442
|
+
Args: {
|
|
34443
|
+
_from_key: string;
|
|
34444
|
+
_to_key: string;
|
|
34445
|
+
};
|
|
34446
|
+
Returns: undefined;
|
|
34447
|
+
};
|
|
34275
34448
|
afh_city_code: {
|
|
34276
34449
|
Args: {
|
|
34277
34450
|
_city: string;
|
|
@@ -34830,6 +35003,13 @@ export declare const retryAutoFulfillment: import("@tanstack/start-client-core")
|
|
|
34830
35003
|
};
|
|
34831
35004
|
Returns: undefined;
|
|
34832
35005
|
};
|
|
35006
|
+
merge_products: {
|
|
35007
|
+
Args: {
|
|
35008
|
+
_canonical: string;
|
|
35009
|
+
_loser: string;
|
|
35010
|
+
};
|
|
35011
|
+
Returns: undefined;
|
|
35012
|
+
};
|
|
34833
35013
|
next_manufacture_partij: {
|
|
34834
35014
|
Args: {
|
|
34835
35015
|
_tenant_id: string;
|
|
@@ -35295,6 +35475,12 @@ export declare const retryAutoFulfillment: import("@tanstack/start-client-core")
|
|
|
35295
35475
|
};
|
|
35296
35476
|
Returns: undefined;
|
|
35297
35477
|
};
|
|
35478
|
+
sync_product_group_belading: {
|
|
35479
|
+
Args: {
|
|
35480
|
+
_group_id: string;
|
|
35481
|
+
};
|
|
35482
|
+
Returns: undefined;
|
|
35483
|
+
};
|
|
35298
35484
|
sync_product_packing_from_floriday_cache: {
|
|
35299
35485
|
Args: {
|
|
35300
35486
|
p_floriday_id: string;
|