@flowselections/floriday-voorraad 1.0.55 → 1.0.59

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.
@@ -1 +1 @@
1
- {"version":3,"file":"StockIntegrityAlert.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/StockIntegrityAlert.tsx"],"names":[],"mappings":"AAuBA,wBAAgB,mBAAmB,uCAoFlC"}
1
+ {"version":3,"file":"StockIntegrityAlert.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/StockIntegrityAlert.tsx"],"names":[],"mappings":"AAoCA,wBAAgB,mBAAmB,uCA2GlC"}
@@ -8,8 +8,18 @@ import { useCallback, useEffect, useState } from "react";
8
8
  import { AlertOctagon } from "lucide-react";
9
9
  import { toast } from "sonner";
10
10
  import { supabase } from "../../integrations/supabase/client";
11
+ const keyToProductId = (k) => k.replace(/^product:/, "");
12
+ function label(it, names) {
13
+ const found = names.get(it.trade_item_key);
14
+ const code = it.article_code ?? found?.code ?? null;
15
+ const name = it.name ?? found?.name ?? null;
16
+ if (code || name)
17
+ return [code, name].filter(Boolean).join(" – ");
18
+ return "onbekend artikel";
19
+ }
11
20
  export function StockIntegrityAlert() {
12
21
  const [alerts, setAlerts] = useState([]);
22
+ const [names, setNames] = useState(new Map());
13
23
  const load = useCallback(async () => {
14
24
  const { data, error } = await supabase
15
25
  .from("stock_integrity_alerts")
@@ -22,7 +32,29 @@ export function StockIntegrityAlert() {
22
32
  console.error("Voorraadbewaking laden mislukt:", error.message);
23
33
  return;
24
34
  }
25
- setAlerts(Array.isArray(data) ? data : []);
35
+ const list = Array.isArray(data) ? data : [];
36
+ setAlerts(list);
37
+ // Oude alarmen zonder naam: naam opzoeken via de sleutel.
38
+ const keys = Array.from(new Set(list.flatMap((a) => (Array.isArray(a.items) ? a.items.slice(0, 10) : []))
39
+ .filter((it) => !it.article_code && !it.name)
40
+ .map((it) => it.trade_item_key)));
41
+ if (keys.length === 0)
42
+ return;
43
+ const uuidRe = /^[0-9a-f-]{36}$/i;
44
+ const ids = keys.map(keyToProductId).filter((k) => uuidRe.test(k));
45
+ const map = new Map();
46
+ const [byId, byFid] = await Promise.all([
47
+ ids.length ? supabase.from("products").select("id, article_number, product").in("id", ids) : { data: [] },
48
+ supabase.from("products").select("floriday_trade_item_id, article_number, product").in("floriday_trade_item_id", keys),
49
+ ]);
50
+ for (const p of (byId.data ?? [])) {
51
+ for (const k of keys)
52
+ if (keyToProductId(k) === p.id)
53
+ map.set(k, { code: p.article_number, name: p.product });
54
+ }
55
+ for (const p of (byFid.data ?? []))
56
+ map.set(p.floriday_trade_item_id, { code: p.article_number, name: p.product });
57
+ setNames(map);
26
58
  }, []);
27
59
  useEffect(() => {
28
60
  void load();
@@ -51,5 +83,5 @@ export function StockIntegrityAlert() {
51
83
  };
52
84
  if (alerts.length === 0)
53
85
  return null;
54
- return (_jsx("div", { className: "space-y-2", children: alerts.map((a) => (_jsxs("div", { className: "flex items-start gap-3 rounded-md border border-destructive/40 bg-destructive/10 p-3 text-sm text-destructive", children: [_jsx(AlertOctagon, { className: "mt-0.5 h-4 w-4 shrink-0" }), _jsxs("div", { className: "flex-1 space-y-1", children: [_jsxs("p", { className: "font-medium", children: [a.item_count, " artikelen gingen tegelijk naar voorraad 0 (", new Date(a.created_at).toLocaleString("nl-NL"), "). Controleer of dit klopt."] }), _jsx("ul", { className: "text-xs text-foreground/80", children: (Array.isArray(a.items) ? a.items : []).slice(0, 10).map((it, i) => (_jsxs("li", { children: [it.trade_item_key, ": was ", it.physical_before, it.change_source ? ` (bron ${it.change_source})` : " (bron onbekend)"] }, `${it.trade_item_key}-${i}`))) })] }), _jsx("button", { type: "button", className: "rounded-md border border-destructive/40 bg-background px-3 py-1 text-xs font-medium text-foreground hover:bg-muted", onClick: () => void acknowledge(a.id), children: "Gezien" })] }, a.id))) }));
86
+ return (_jsx("div", { className: "space-y-2", children: alerts.map((a) => (_jsxs("div", { className: "flex items-start gap-3 rounded-md border border-destructive/40 bg-destructive/10 p-3 text-sm text-destructive", children: [_jsx(AlertOctagon, { className: "mt-0.5 h-4 w-4 shrink-0" }), _jsxs("div", { className: "flex-1 space-y-1", children: [_jsxs("p", { className: "font-medium", children: [a.item_count, " artikelen gingen tegelijk naar voorraad 0 (", new Date(a.created_at).toLocaleString("nl-NL"), "). Controleer of dit klopt."] }), _jsx("ul", { className: "text-xs text-foreground/80", children: (Array.isArray(a.items) ? a.items : []).slice(0, 10).map((it, i) => (_jsxs("li", { children: [label(it, names), ": was ", it.physical_before, it.change_source ? ` (bron ${it.change_source})` : " (bron onbekend)"] }, `${it.trade_item_key}-${i}`))) })] }), _jsx("button", { type: "button", className: "rounded-md border border-destructive/40 bg-background px-3 py-1 text-xs font-medium text-foreground hover:bg-muted", onClick: () => void acknowledge(a.id), children: "Gezien" })] }, a.id))) }));
55
87
  }
@@ -7337,7 +7337,22 @@ export type Database = {
7337
7337
  updated_by?: string | null;
7338
7338
  user_id?: string;
7339
7339
  };
7340
- Relationships: [];
7340
+ Relationships: [
7341
+ {
7342
+ foreignKeyName: "floriday_inventory_settings_product_id_fkey";
7343
+ columns: ["product_id"];
7344
+ isOneToOne: false;
7345
+ referencedRelation: "logistics_product_dimensions";
7346
+ referencedColumns: ["product_id"];
7347
+ },
7348
+ {
7349
+ foreignKeyName: "floriday_inventory_settings_product_id_fkey";
7350
+ columns: ["product_id"];
7351
+ isOneToOne: false;
7352
+ referencedRelation: "products";
7353
+ referencedColumns: ["id"];
7354
+ }
7355
+ ];
7341
7356
  };
7342
7357
  floriday_invoices_cache: {
7343
7358
  Row: {
@@ -7686,6 +7701,39 @@ export type Database = {
7686
7701
  }
7687
7702
  ];
7688
7703
  };
7704
+ floriday_queue_cleanup_runs: {
7705
+ Row: {
7706
+ created_at: string;
7707
+ deleted: Json;
7708
+ error: string | null;
7709
+ finished_at: string | null;
7710
+ id: string;
7711
+ more_remaining: boolean;
7712
+ orphan_settings: number | null;
7713
+ started_at: string;
7714
+ };
7715
+ Insert: {
7716
+ created_at?: string;
7717
+ deleted?: Json;
7718
+ error?: string | null;
7719
+ finished_at?: string | null;
7720
+ id?: string;
7721
+ more_remaining?: boolean;
7722
+ orphan_settings?: number | null;
7723
+ started_at?: string;
7724
+ };
7725
+ Update: {
7726
+ created_at?: string;
7727
+ deleted?: Json;
7728
+ error?: string | null;
7729
+ finished_at?: string | null;
7730
+ id?: string;
7731
+ more_remaining?: boolean;
7732
+ orphan_settings?: number | null;
7733
+ started_at?: string;
7734
+ };
7735
+ Relationships: [];
7736
+ };
7689
7737
  floriday_rate_limit_state: {
7690
7738
  Row: {
7691
7739
  bucket: string;
@@ -8844,22 +8892,55 @@ export type Database = {
8844
8892
  Row: {
8845
8893
  drain_batch: number;
8846
8894
  id: boolean;
8895
+ import_chunk_size: number;
8896
+ import_max_bytes: number;
8897
+ import_max_rows: number;
8898
+ import_new_chunk_size: number;
8899
+ import_retention_days: number;
8847
8900
  max_ms_inline: number;
8848
8901
  max_parents_inline: number;
8902
+ queue_cleanup_batch: number;
8903
+ queue_cleanup_max_batches: number;
8904
+ queue_failed_days: number;
8905
+ queue_sent_days: number;
8906
+ queue_skipped_days: number;
8907
+ queue_superseded_days: number;
8849
8908
  updated_at: string;
8850
8909
  };
8851
8910
  Insert: {
8852
8911
  drain_batch?: number;
8853
8912
  id?: boolean;
8913
+ import_chunk_size?: number;
8914
+ import_max_bytes?: number;
8915
+ import_max_rows?: number;
8916
+ import_new_chunk_size?: number;
8917
+ import_retention_days?: number;
8854
8918
  max_ms_inline?: number;
8855
8919
  max_parents_inline?: number;
8920
+ queue_cleanup_batch?: number;
8921
+ queue_cleanup_max_batches?: number;
8922
+ queue_failed_days?: number;
8923
+ queue_sent_days?: number;
8924
+ queue_skipped_days?: number;
8925
+ queue_superseded_days?: number;
8856
8926
  updated_at?: string;
8857
8927
  };
8858
8928
  Update: {
8859
8929
  drain_batch?: number;
8860
8930
  id?: boolean;
8931
+ import_chunk_size?: number;
8932
+ import_max_bytes?: number;
8933
+ import_max_rows?: number;
8934
+ import_new_chunk_size?: number;
8935
+ import_retention_days?: number;
8861
8936
  max_ms_inline?: number;
8862
8937
  max_parents_inline?: number;
8938
+ queue_cleanup_batch?: number;
8939
+ queue_cleanup_max_batches?: number;
8940
+ queue_failed_days?: number;
8941
+ queue_sent_days?: number;
8942
+ queue_skipped_days?: number;
8943
+ queue_superseded_days?: number;
8863
8944
  updated_at?: string;
8864
8945
  };
8865
8946
  Relationships: [];
@@ -11092,6 +11173,42 @@ export type Database = {
11092
11173
  };
11093
11174
  Relationships: [];
11094
11175
  };
11176
+ logistics_autolink_audit: {
11177
+ Row: {
11178
+ created_at: string;
11179
+ id: string;
11180
+ match_type: string;
11181
+ order_id: string | null;
11182
+ order_item_id: string | null;
11183
+ order_source: string | null;
11184
+ product_floriday_id: string | null;
11185
+ product_id: string | null;
11186
+ product_name: string | null;
11187
+ };
11188
+ Insert: {
11189
+ created_at?: string;
11190
+ id?: string;
11191
+ match_type: string;
11192
+ order_id?: string | null;
11193
+ order_item_id?: string | null;
11194
+ order_source?: string | null;
11195
+ product_floriday_id?: string | null;
11196
+ product_id?: string | null;
11197
+ product_name?: string | null;
11198
+ };
11199
+ Update: {
11200
+ created_at?: string;
11201
+ id?: string;
11202
+ match_type?: string;
11203
+ order_id?: string | null;
11204
+ order_item_id?: string | null;
11205
+ order_source?: string | null;
11206
+ product_floriday_id?: string | null;
11207
+ product_id?: string | null;
11208
+ product_name?: string | null;
11209
+ };
11210
+ Relationships: [];
11211
+ };
11095
11212
  logistics_base_url_checks: {
11096
11213
  Row: {
11097
11214
  candidate_host: string | null;
@@ -21046,43 +21163,212 @@ export type Database = {
21046
21163
  };
21047
21164
  Relationships: [];
21048
21165
  };
21166
+ stock_import_chunks: {
21167
+ Row: {
21168
+ chunk_no: number;
21169
+ created_at: string;
21170
+ duration_ms: number | null;
21171
+ processed_at: string | null;
21172
+ run_id: string;
21173
+ status: string;
21174
+ undone_at: string | null;
21175
+ updated_at: string;
21176
+ };
21177
+ Insert: {
21178
+ chunk_no: number;
21179
+ created_at?: string;
21180
+ duration_ms?: number | null;
21181
+ processed_at?: string | null;
21182
+ run_id: string;
21183
+ status?: string;
21184
+ undone_at?: string | null;
21185
+ updated_at?: string;
21186
+ };
21187
+ Update: {
21188
+ chunk_no?: number;
21189
+ created_at?: string;
21190
+ duration_ms?: number | null;
21191
+ processed_at?: string | null;
21192
+ run_id?: string;
21193
+ status?: string;
21194
+ undone_at?: string | null;
21195
+ updated_at?: string;
21196
+ };
21197
+ Relationships: [
21198
+ {
21199
+ foreignKeyName: "stock_import_chunks_run_id_fkey";
21200
+ columns: ["run_id"];
21201
+ isOneToOne: false;
21202
+ referencedRelation: "stock_import_runs";
21203
+ referencedColumns: ["id"];
21204
+ }
21205
+ ];
21206
+ };
21207
+ stock_import_rows: {
21208
+ Row: {
21209
+ article_code: string | null;
21210
+ article_name: string | null;
21211
+ chunk_no: number;
21212
+ connection_id: string | null;
21213
+ created_at: string;
21214
+ custom_values: Json | null;
21215
+ error: string | null;
21216
+ id: string;
21217
+ incoming_after: number | null;
21218
+ incoming_before: number | null;
21219
+ incoming_in: number | null;
21220
+ is_new: boolean;
21221
+ minimum_after: number | null;
21222
+ minimum_before: number | null;
21223
+ minimum_in: number | null;
21224
+ new_payload: Json | null;
21225
+ note: string | null;
21226
+ physical_after: number | null;
21227
+ physical_before: number | null;
21228
+ physical_in: number | null;
21229
+ processed_at: string | null;
21230
+ product_id: string | null;
21231
+ row_no: number;
21232
+ run_id: string;
21233
+ status: string;
21234
+ trade_item_key: string | null;
21235
+ updated_at: string;
21236
+ };
21237
+ Insert: {
21238
+ article_code?: string | null;
21239
+ article_name?: string | null;
21240
+ chunk_no: number;
21241
+ connection_id?: string | null;
21242
+ created_at?: string;
21243
+ custom_values?: Json | null;
21244
+ error?: string | null;
21245
+ id?: string;
21246
+ incoming_after?: number | null;
21247
+ incoming_before?: number | null;
21248
+ incoming_in?: number | null;
21249
+ is_new?: boolean;
21250
+ minimum_after?: number | null;
21251
+ minimum_before?: number | null;
21252
+ minimum_in?: number | null;
21253
+ new_payload?: Json | null;
21254
+ note?: string | null;
21255
+ physical_after?: number | null;
21256
+ physical_before?: number | null;
21257
+ physical_in?: number | null;
21258
+ processed_at?: string | null;
21259
+ product_id?: string | null;
21260
+ row_no: number;
21261
+ run_id: string;
21262
+ status?: string;
21263
+ trade_item_key?: string | null;
21264
+ updated_at?: string;
21265
+ };
21266
+ Update: {
21267
+ article_code?: string | null;
21268
+ article_name?: string | null;
21269
+ chunk_no?: number;
21270
+ connection_id?: string | null;
21271
+ created_at?: string;
21272
+ custom_values?: Json | null;
21273
+ error?: string | null;
21274
+ id?: string;
21275
+ incoming_after?: number | null;
21276
+ incoming_before?: number | null;
21277
+ incoming_in?: number | null;
21278
+ is_new?: boolean;
21279
+ minimum_after?: number | null;
21280
+ minimum_before?: number | null;
21281
+ minimum_in?: number | null;
21282
+ new_payload?: Json | null;
21283
+ note?: string | null;
21284
+ physical_after?: number | null;
21285
+ physical_before?: number | null;
21286
+ physical_in?: number | null;
21287
+ processed_at?: string | null;
21288
+ product_id?: string | null;
21289
+ row_no?: number;
21290
+ run_id?: string;
21291
+ status?: string;
21292
+ trade_item_key?: string | null;
21293
+ updated_at?: string;
21294
+ };
21295
+ Relationships: [
21296
+ {
21297
+ foreignKeyName: "stock_import_rows_run_id_fkey";
21298
+ columns: ["run_id"];
21299
+ isOneToOne: false;
21300
+ referencedRelation: "stock_import_runs";
21301
+ referencedColumns: ["id"];
21302
+ }
21303
+ ];
21304
+ };
21049
21305
  stock_import_runs: {
21050
21306
  Row: {
21307
+ chunk_size: number | null;
21051
21308
  connection_id: string | null;
21052
21309
  created_at: string;
21053
21310
  created_rows: number;
21311
+ done_chunks: number;
21054
21312
  errors: Json;
21313
+ file_hash: string | null;
21055
21314
  filename: string | null;
21315
+ finished_at: string | null;
21056
21316
  id: string;
21057
21317
  mutations: Json;
21318
+ rows_purged_at: string | null;
21058
21319
  skipped_rows: number;
21320
+ status: string;
21321
+ total_chunks: number;
21059
21322
  total_rows: number;
21323
+ undo_skipped_rows: number;
21324
+ undone_rows: number;
21325
+ updated_at: string;
21060
21326
  updated_rows: number;
21061
21327
  user_id: string;
21062
21328
  };
21063
21329
  Insert: {
21330
+ chunk_size?: number | null;
21064
21331
  connection_id?: string | null;
21065
21332
  created_at?: string;
21066
21333
  created_rows?: number;
21334
+ done_chunks?: number;
21067
21335
  errors?: Json;
21336
+ file_hash?: string | null;
21068
21337
  filename?: string | null;
21338
+ finished_at?: string | null;
21069
21339
  id?: string;
21070
21340
  mutations?: Json;
21341
+ rows_purged_at?: string | null;
21071
21342
  skipped_rows?: number;
21343
+ status?: string;
21344
+ total_chunks?: number;
21072
21345
  total_rows?: number;
21346
+ undo_skipped_rows?: number;
21347
+ undone_rows?: number;
21348
+ updated_at?: string;
21073
21349
  updated_rows?: number;
21074
21350
  user_id: string;
21075
21351
  };
21076
21352
  Update: {
21353
+ chunk_size?: number | null;
21077
21354
  connection_id?: string | null;
21078
21355
  created_at?: string;
21079
21356
  created_rows?: number;
21357
+ done_chunks?: number;
21080
21358
  errors?: Json;
21359
+ file_hash?: string | null;
21081
21360
  filename?: string | null;
21361
+ finished_at?: string | null;
21082
21362
  id?: string;
21083
21363
  mutations?: Json;
21364
+ rows_purged_at?: string | null;
21084
21365
  skipped_rows?: number;
21366
+ status?: string;
21367
+ total_chunks?: number;
21085
21368
  total_rows?: number;
21369
+ undo_skipped_rows?: number;
21370
+ undone_rows?: number;
21371
+ updated_at?: string;
21086
21372
  updated_rows?: number;
21087
21373
  user_id?: string;
21088
21374
  };
@@ -26990,6 +27276,15 @@ export type Database = {
26990
27276
  };
26991
27277
  };
26992
27278
  Functions: {
27279
+ _floriday_queue_cleanup_batch: {
27280
+ Args: {
27281
+ p_days: number;
27282
+ p_keep_latest: boolean;
27283
+ p_limit: number;
27284
+ p_statuses: string[];
27285
+ };
27286
+ Returns: number;
27287
+ };
26993
27288
  _floriday_schedule_job: {
26994
27289
  Args: {
26995
27290
  p_apikey: string;
@@ -27013,6 +27308,12 @@ export type Database = {
27013
27308
  };
27014
27309
  Returns: Json;
27015
27310
  };
27311
+ _stock_import_caller: {
27312
+ Args: {
27313
+ p_owner: string;
27314
+ };
27315
+ Returns: boolean;
27316
+ };
27016
27317
  _wo_is_planner: {
27017
27318
  Args: never;
27018
27319
  Returns: boolean;
@@ -27953,7 +28254,7 @@ export type Database = {
27953
28254
  };
27954
28255
  floriday_cleanup_stock_queue_v2: {
27955
28256
  Args: never;
27956
- Returns: undefined;
28257
+ Returns: Json;
27957
28258
  };
27958
28259
  floriday_compact_stock_snapshots: {
27959
28260
  Args: never;
@@ -28005,6 +28306,10 @@ export type Database = {
28005
28306
  };
28006
28307
  Returns: number;
28007
28308
  };
28309
+ floriday_orphan_settings_count: {
28310
+ Args: never;
28311
+ Returns: number;
28312
+ };
28008
28313
  floriday_publish_horizon_weeks: {
28009
28314
  Args: never;
28010
28315
  Returns: number;
@@ -28961,6 +29266,13 @@ export type Database = {
28961
29266
  };
28962
29267
  Returns: string;
28963
29268
  };
29269
+ logistics_apply_cart_swap: {
29270
+ Args: {
29271
+ p_delete_ids: string[];
29272
+ p_new_carts: Json;
29273
+ };
29274
+ Returns: Json;
29275
+ };
28964
29276
  logistics_apply_document_layouts: {
28965
29277
  Args: never;
28966
29278
  Returns: undefined;
@@ -29916,6 +30228,12 @@ export type Database = {
29916
30228
  };
29917
30229
  Returns: boolean;
29918
30230
  };
30231
+ logistics_is_group_label: {
30232
+ Args: {
30233
+ p_label: string;
30234
+ };
30235
+ Returns: boolean;
30236
+ };
29919
30237
  logistics_is_pick_workday: {
29920
30238
  Args: {
29921
30239
  p_date: string;
@@ -30476,6 +30794,21 @@ export type Database = {
30476
30794
  Args: never;
30477
30795
  Returns: number;
30478
30796
  };
30797
+ logistics_plan_wachttijd: {
30798
+ Args: {
30799
+ p_order_id: string;
30800
+ p_reason: string;
30801
+ };
30802
+ Returns: Json;
30803
+ };
30804
+ logistics_plan_wachttijd_melden: {
30805
+ Args: {
30806
+ p_order_id: string;
30807
+ p_reason: string;
30808
+ p_wacht: Json;
30809
+ };
30810
+ Returns: undefined;
30811
+ };
30479
30812
  logistics_planner_cart_snapshot: {
30480
30813
  Args: {
30481
30814
  p_buffer_id: string;
@@ -30562,6 +30895,12 @@ export type Database = {
30562
30895
  Args: never;
30563
30896
  Returns: number;
30564
30897
  };
30898
+ logistics_recompute_reserved_targeted: {
30899
+ Args: {
30900
+ p_product_id: string;
30901
+ };
30902
+ Returns: Json;
30903
+ };
30565
30904
  logistics_reconcile_missing_plan_queue: {
30566
30905
  Args: never;
30567
30906
  Returns: number;
@@ -30659,6 +30998,13 @@ export type Database = {
30659
30998
  };
30660
30999
  Returns: Json;
30661
31000
  };
31001
+ logistics_reserved_fast_skip: {
31002
+ Args: {
31003
+ p_key: string;
31004
+ p_raw: string;
31005
+ };
31006
+ Returns: boolean;
31007
+ };
30662
31008
  logistics_reserved_key: {
30663
31009
  Args: {
30664
31010
  p_key: string;
@@ -30684,6 +31030,12 @@ export type Database = {
30684
31030
  };
30685
31031
  Returns: string;
30686
31032
  };
31033
+ logistics_resolve_product_match: {
31034
+ Args: {
31035
+ p_label: string;
31036
+ };
31037
+ Returns: Record<string, unknown>;
31038
+ };
30687
31039
  logistics_resolve_settings: {
30688
31040
  Args: {
30689
31041
  p_config_id: string;
@@ -33314,6 +33666,40 @@ export type Database = {
33314
33666
  };
33315
33667
  Returns: Json;
33316
33668
  };
33669
+ stock_import_cleanup: {
33670
+ Args: never;
33671
+ Returns: number;
33672
+ };
33673
+ stock_import_create: {
33674
+ Args: {
33675
+ p_connection_id: string;
33676
+ p_file_hash: string;
33677
+ p_filename: string;
33678
+ p_force?: boolean;
33679
+ p_rows: Json;
33680
+ };
33681
+ Returns: Json;
33682
+ };
33683
+ stock_import_process_chunk: {
33684
+ Args: {
33685
+ p_chunk_no: number;
33686
+ p_run_id: string;
33687
+ };
33688
+ Returns: Json;
33689
+ };
33690
+ stock_import_stop: {
33691
+ Args: {
33692
+ p_run_id: string;
33693
+ };
33694
+ Returns: Json;
33695
+ };
33696
+ stock_import_undo_chunk: {
33697
+ Args: {
33698
+ p_chunk_no: number;
33699
+ p_run_id: string;
33700
+ };
33701
+ Returns: Json;
33702
+ };
33317
33703
  stop_time_log: {
33318
33704
  Args: {
33319
33705
  p_employee_id: string;