@flowselections/floriday-voorraad 1.0.133 → 1.0.137
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/voorraad/ArtikelWizard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ArtikelWizard.js +42 -18
- package/dist-lib/components/voorraad/FloridayInfoCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/FloridayInfoCard.js +19 -0
- package/dist-lib/integrations/supabase/types.d.ts +283 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/__tests__/release-134.test.d.ts +2 -0
- package/dist-lib/lib/__tests__/release-134.test.d.ts.map +1 -0
- package/dist-lib/lib/__tests__/release-134.test.js +50 -0
- package/dist-lib/lib/__tests__/release-136.test.d.ts +2 -0
- package/dist-lib/lib/__tests__/release-136.test.d.ts.map +1 -0
- package/dist-lib/lib/__tests__/release-136.test.js +36 -0
- package/dist-lib/lib/floriday-warehouse.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-warehouse.functions.js +4 -2
- package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-writes.functions.js +11 -10
- package/dist-lib/lib/idempotency-key.d.ts +11 -0
- package/dist-lib/lib/idempotency-key.d.ts.map +1 -0
- package/dist-lib/lib/idempotency-key.js +41 -0
- package/dist-lib/lib/publish-errors.d.ts +1 -1
- package/dist-lib/lib/publish-errors.d.ts.map +1 -1
- package/dist-lib/lib/publish-errors.js +10 -0
- package/dist-lib/lib/publish-pipeline.js +1 -1
- package/dist-lib/lib/publish-status.d.ts +13 -1
- package/dist-lib/lib/publish-status.d.ts.map +1 -1
- package/dist-lib/lib/publish-status.js +22 -1
- package/dist-lib/lib/publish-verify.d.ts +25 -0
- package/dist-lib/lib/publish-verify.d.ts.map +1 -0
- package/dist-lib/lib/publish-verify.js +44 -0
- package/package.json +2 -2
- package/sql/floriday-voorraad-schema.sql +108 -27
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArtikelWizard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ArtikelWizard.tsx"],"names":[],"mappings":"AA2DA,OAAO,EAUL,KAAK,UAAU,EAMhB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ArtikelWizard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/ArtikelWizard.tsx"],"names":[],"mappings":"AA2DA,OAAO,EAUL,KAAK,UAAU,EAMhB,MAAM,4BAA4B,CAAC;AA4DpC,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMpF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,UAAU,CA0BrF;AAiED,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EAAE,cAAc,EACvB,WAAW,EACX,SAAS,EACT,WAAW,EACX,OAAO,GACR,GAAE;IACD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,aAAa,CAAC;CACpB,+BA+3EL"}
|
|
@@ -21,7 +21,8 @@ import { useFloridayVbnRequired } from "../../hooks/useFloridayVbnRequired.js";
|
|
|
21
21
|
import { saveFloridayVbnRequired } from "../../lib/floriday-vbn-required.functions.js";
|
|
22
22
|
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
|
23
23
|
import { fetchFloridayWriteMode } from "../../lib/floriday-write-mode.js";
|
|
24
|
-
import { editTargetText } from "../../lib/publish-status.js";
|
|
24
|
+
import { editTargetText, formSalePrice, syncAfterPublish } from "../../lib/publish-status.js";
|
|
25
|
+
import { compareAfterUpdate, verifyDifferenceMessage } from "../../lib/publish-verify.js";
|
|
25
26
|
import { articleCodeProblem } from "../../lib/article-code.js";
|
|
26
27
|
import { useCodeList, useTradeItemFormSchema } from "../../hooks/useFloriday.js";
|
|
27
28
|
import { useFloridayPriceGroups } from "../../hooks/useFloridayPriceGroups.js";
|
|
@@ -563,9 +564,7 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
|
|
|
563
564
|
? barcode
|
|
564
565
|
: (payload.gtin ?? ""),
|
|
565
566
|
// M26: de verkoopprijs van het artikel is leidend (zelfde veld als "Prijs opslaan").
|
|
566
|
-
salePricePerPiece:
|
|
567
|
-
? Number(product.sale_price)
|
|
568
|
-
: Number(customFields.sale_price ?? customFields.salePrice ?? payload.salePricePerPiece) || 0,
|
|
567
|
+
salePricePerPiece: formSalePrice(product.sale_price, customFields.sale_price ?? customFields.salePrice ?? payload.salePricePerPiece),
|
|
569
568
|
// Voorkeur: werkelijke voorraad uit trade_item_stock.
|
|
570
569
|
// Fallback: opgeslagen payload-waarde. `products.quantity` wordt
|
|
571
570
|
// bewust NIET meer gelezen — die staat structureel op 0.
|
|
@@ -823,9 +822,8 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
|
|
|
823
822
|
if (r.price_group_id) {
|
|
824
823
|
groupPrices[r.price_group_id] = Number(r.price_per_piece);
|
|
825
824
|
}
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
}
|
|
825
|
+
// 1.0.136: de basisprijs komt NOOIT uit trade_item_prices; die volgt
|
|
826
|
+
// products.sale_price en wordt nooit teruggeschreven naar het artikel.
|
|
829
827
|
}
|
|
830
828
|
next.priceGroupPrices = groupPrices;
|
|
831
829
|
return next;
|
|
@@ -1209,7 +1207,9 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
|
|
|
1209
1207
|
// Zijn de productregels (schema) nog niet binnen? Dan publiceren we niet,
|
|
1210
1208
|
// maar bewaren we de wijziging ALTIJD lokaal en markeren we hem als
|
|
1211
1209
|
// "nog niet doorgegeven aan Floriday".
|
|
1212
|
-
|
|
1210
|
+
// 1.0.136: alleen bij AANMAKEN. Een update van een bestaand Floriday-artikel
|
|
1211
|
+
// heeft de productregels niet nodig en mag daar nooit op vastlopen.
|
|
1212
|
+
if (wantsPublish && !schemaQuery.isSuccess && !isEditingPublished) {
|
|
1213
1213
|
setSubmitting(true);
|
|
1214
1214
|
try {
|
|
1215
1215
|
const localId = await upsertLocalTradeItem({
|
|
@@ -1584,6 +1584,7 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
|
|
|
1584
1584
|
}, stepOpts);
|
|
1585
1585
|
}
|
|
1586
1586
|
// 6) Controle achteraf --------------------------------------------------
|
|
1587
|
+
let verifyMismatch = null;
|
|
1587
1588
|
if (resolvedTradeItemId) {
|
|
1588
1589
|
const verify = await runPublishStep(jobId, "verify", async () => {
|
|
1589
1590
|
const res = (await gatewayReadFn({
|
|
@@ -1628,13 +1629,32 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
|
|
|
1628
1629
|
if (!confirmedPacking) {
|
|
1629
1630
|
warnings.push("Floriday heeft nog geen belading voor dit artikel");
|
|
1630
1631
|
}
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1632
|
+
// Naam, VBN of hoofdverpakking die afwijkt van wat het ERP stuurde
|
|
1633
|
+
// = de wijziging is niet aangekomen: stap (en job) mislukt.
|
|
1634
|
+
let expectedPacking = null;
|
|
1635
|
+
try {
|
|
1636
|
+
const pb = buildPrimaryPackingBase(data);
|
|
1637
|
+
expectedPacking = {
|
|
1638
|
+
piecesPerPackage: pb.piecesPerPackage,
|
|
1639
|
+
packagesPerLayer: pb.packagesPerLayer,
|
|
1640
|
+
layersPerLoadCarrier: pb.layersPerLoadCarrier,
|
|
1641
|
+
vbnPackageCode: pb.customPackageId ? null : pb.vbnPackageCode,
|
|
1642
|
+
loadCarrier: pb.loadCarrier,
|
|
1643
|
+
};
|
|
1644
|
+
}
|
|
1645
|
+
catch {
|
|
1646
|
+
expectedPacking = null;
|
|
1647
|
+
}
|
|
1648
|
+
const diffs = compareAfterUpdate({ name: data.name, vbnCode: data.vbnCode, packing: confirmedPacking ? expectedPacking : null }, item);
|
|
1649
|
+
if (diffs.length > 0) {
|
|
1650
|
+
throw new Error(`VERIFY_MISMATCH:${verifyDifferenceMessage(diffs)}`);
|
|
1634
1651
|
}
|
|
1635
1652
|
return { warnings };
|
|
1636
1653
|
}, stepOpts);
|
|
1637
|
-
if (!verify.ok) {
|
|
1654
|
+
if (!verify.ok && verify.error?.code === "VERIFY_MISMATCH") {
|
|
1655
|
+
verifyMismatch = verify.error.message;
|
|
1656
|
+
}
|
|
1657
|
+
else if (!verify.ok) {
|
|
1638
1658
|
toast.warning("Gepubliceerd; de controle achteraf lukte niet", {
|
|
1639
1659
|
description: `${verify.error?.message ?? "Onbekende reden"} — het artikel staat wel in Floriday.`,
|
|
1640
1660
|
});
|
|
@@ -1642,14 +1662,19 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
|
|
|
1642
1662
|
}
|
|
1643
1663
|
const status = jobId ? await finishPublishJob(jobId, {
|
|
1644
1664
|
tradeItemId: resolvedTradeItemId,
|
|
1645
|
-
}) : "succeeded";
|
|
1665
|
+
}) : verifyMismatch ? "failed" : "succeeded";
|
|
1646
1666
|
if (jobId)
|
|
1647
1667
|
await reloadPublishJob(jobId);
|
|
1648
|
-
if (status === "
|
|
1668
|
+
if (status === "failed" && verifyMismatch) {
|
|
1669
|
+
if (draftId) {
|
|
1670
|
+
await markLocalSyncStatus(draftId, syncAfterPublish(status, verifyMismatch)).catch(() => { });
|
|
1671
|
+
}
|
|
1672
|
+
toast.error("Wijziging niet aangekomen in Floriday", { description: verifyMismatch });
|
|
1673
|
+
}
|
|
1674
|
+
else if (status === "succeeded") {
|
|
1649
1675
|
if (draftId) {
|
|
1650
1676
|
await markLocalSyncStatus(draftId, {
|
|
1651
|
-
|
|
1652
|
-
last_error: null,
|
|
1677
|
+
...syncAfterPublish(status, null),
|
|
1653
1678
|
last_synced_at: new Date().toISOString(),
|
|
1654
1679
|
}).catch(() => { });
|
|
1655
1680
|
}
|
|
@@ -1660,8 +1685,7 @@ export function ArtikelWizard({ draftId: initialDraftId, tradeItemId, productId,
|
|
|
1660
1685
|
else if (status === "succeeded_with_warnings") {
|
|
1661
1686
|
if (draftId) {
|
|
1662
1687
|
await markLocalSyncStatus(draftId, {
|
|
1663
|
-
|
|
1664
|
-
last_error: null,
|
|
1688
|
+
...syncAfterPublish(status, null),
|
|
1665
1689
|
last_synced_at: new Date().toISOString(),
|
|
1666
1690
|
}).catch(() => { });
|
|
1667
1691
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloridayInfoCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/FloridayInfoCard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FloridayInfoCard.d.ts","sourceRoot":"","sources":["../../../src/components/voorraad/FloridayInfoCard.tsx"],"names":[],"mappings":"AAaA,UAAU,KAAK;IACb,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,8EAA8E;IAC9E,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACtB,CAAC;CACH;AA6DD,wBAAgB,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,KAAK,EAAE,EAAE,KAAK,sCAoSrE"}
|
|
@@ -5,6 +5,7 @@ import { AlertTriangle, ChevronDown, ChevronRight, ExternalLink } from "lucide-r
|
|
|
5
5
|
import { supabase } from "../../integrations/supabase/client.js";
|
|
6
6
|
import { floridayInfoFromCache, } from "../../lib/floriday-info.js";
|
|
7
7
|
import { useLoadCarriers } from "../../hooks/useLoadCarriers.js";
|
|
8
|
+
import { gatewayReadFn } from "../../lib/floriday-gateway.functions.js";
|
|
8
9
|
const floridayLogo = "/flowselections-assets/Voorraad/floriday-logo.png";
|
|
9
10
|
function formatDate(iso) {
|
|
10
11
|
if (!iso)
|
|
@@ -47,6 +48,24 @@ export function FloridayInfoCard({ floridayTradeItemId, local }) {
|
|
|
47
48
|
setNotFound(false);
|
|
48
49
|
(async () => {
|
|
49
50
|
try {
|
|
51
|
+
// 1.0.136: eerst live uit Floriday (via floriday-get), zodat een net
|
|
52
|
+
// verstuurde wijziging direct zichtbaar is; de kopie is alleen terugval.
|
|
53
|
+
try {
|
|
54
|
+
const live = (await gatewayReadFn({
|
|
55
|
+
data: { path: `/suppliers-api-2026v1/trade-items/${floridayTradeItemId}` },
|
|
56
|
+
}));
|
|
57
|
+
if (cancelled)
|
|
58
|
+
return;
|
|
59
|
+
if (live?.data && typeof live.data === "object") {
|
|
60
|
+
setInfo(floridayInfoFromCache({ ...live.data, id: floridayTradeItemId }));
|
|
61
|
+
setNotFound(false);
|
|
62
|
+
setActivePhoto(0);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
/* terugval op de kopie */
|
|
68
|
+
}
|
|
50
69
|
const { data, error } = await supabase
|
|
51
70
|
.from("floriday_trade_items_cache")
|
|
52
71
|
.select("data,floriday_id")
|
|
@@ -11025,6 +11025,7 @@ export type Database = {
|
|
|
11025
11025
|
invoice_date: string;
|
|
11026
11026
|
invoice_number: string | null;
|
|
11027
11027
|
note: string | null;
|
|
11028
|
+
paid_at: string | null;
|
|
11028
11029
|
payment_term_days: number;
|
|
11029
11030
|
reference: string | null;
|
|
11030
11031
|
sent_at: string | null;
|
|
@@ -11058,6 +11059,7 @@ export type Database = {
|
|
|
11058
11059
|
invoice_date?: string;
|
|
11059
11060
|
invoice_number?: string | null;
|
|
11060
11061
|
note?: string | null;
|
|
11062
|
+
paid_at?: string | null;
|
|
11061
11063
|
payment_term_days?: number;
|
|
11062
11064
|
reference?: string | null;
|
|
11063
11065
|
sent_at?: string | null;
|
|
@@ -11091,6 +11093,7 @@ export type Database = {
|
|
|
11091
11093
|
invoice_date?: string;
|
|
11092
11094
|
invoice_number?: string | null;
|
|
11093
11095
|
note?: string | null;
|
|
11096
|
+
paid_at?: string | null;
|
|
11094
11097
|
payment_term_days?: number;
|
|
11095
11098
|
reference?: string | null;
|
|
11096
11099
|
sent_at?: string | null;
|
|
@@ -11157,6 +11160,30 @@ export type Database = {
|
|
|
11157
11160
|
}
|
|
11158
11161
|
];
|
|
11159
11162
|
};
|
|
11163
|
+
itk_cost_settings: {
|
|
11164
|
+
Row: {
|
|
11165
|
+
created_at: string;
|
|
11166
|
+
labour_cost_cents_per_hour: number | null;
|
|
11167
|
+
singleton: boolean;
|
|
11168
|
+
travel_cost_cents_per_hour: number | null;
|
|
11169
|
+
updated_at: string;
|
|
11170
|
+
};
|
|
11171
|
+
Insert: {
|
|
11172
|
+
created_at?: string;
|
|
11173
|
+
labour_cost_cents_per_hour?: number | null;
|
|
11174
|
+
singleton?: boolean;
|
|
11175
|
+
travel_cost_cents_per_hour?: number | null;
|
|
11176
|
+
updated_at?: string;
|
|
11177
|
+
};
|
|
11178
|
+
Update: {
|
|
11179
|
+
created_at?: string;
|
|
11180
|
+
labour_cost_cents_per_hour?: number | null;
|
|
11181
|
+
singleton?: boolean;
|
|
11182
|
+
travel_cost_cents_per_hour?: number | null;
|
|
11183
|
+
updated_at?: string;
|
|
11184
|
+
};
|
|
11185
|
+
Relationships: [];
|
|
11186
|
+
};
|
|
11160
11187
|
itk_customer_dynamic_values: {
|
|
11161
11188
|
Row: {
|
|
11162
11189
|
created_at: string;
|
|
@@ -17538,6 +17565,7 @@ export type Database = {
|
|
|
17538
17565
|
};
|
|
17539
17566
|
monteur_contracten: {
|
|
17540
17567
|
Row: {
|
|
17568
|
+
bruto_uurloon: number | null;
|
|
17541
17569
|
contract_type: string;
|
|
17542
17570
|
created_at: string;
|
|
17543
17571
|
days_per_week: number;
|
|
@@ -17549,6 +17577,7 @@ export type Database = {
|
|
|
17549
17577
|
vacation_days_per_year: number;
|
|
17550
17578
|
};
|
|
17551
17579
|
Insert: {
|
|
17580
|
+
bruto_uurloon?: number | null;
|
|
17552
17581
|
contract_type?: string;
|
|
17553
17582
|
created_at?: string;
|
|
17554
17583
|
days_per_week?: number;
|
|
@@ -17560,6 +17589,7 @@ export type Database = {
|
|
|
17560
17589
|
vacation_days_per_year?: number;
|
|
17561
17590
|
};
|
|
17562
17591
|
Update: {
|
|
17592
|
+
bruto_uurloon?: number | null;
|
|
17563
17593
|
contract_type?: string;
|
|
17564
17594
|
created_at?: string;
|
|
17565
17595
|
days_per_week?: number;
|
|
@@ -29984,6 +30014,27 @@ export type Database = {
|
|
|
29984
30014
|
}
|
|
29985
30015
|
];
|
|
29986
30016
|
};
|
|
30017
|
+
werkbon_package_settings: {
|
|
30018
|
+
Row: {
|
|
30019
|
+
avg_mechanic_rate_cents: number;
|
|
30020
|
+
created_at: string;
|
|
30021
|
+
id: number;
|
|
30022
|
+
updated_at: string;
|
|
30023
|
+
};
|
|
30024
|
+
Insert: {
|
|
30025
|
+
avg_mechanic_rate_cents?: number;
|
|
30026
|
+
created_at?: string;
|
|
30027
|
+
id?: number;
|
|
30028
|
+
updated_at?: string;
|
|
30029
|
+
};
|
|
30030
|
+
Update: {
|
|
30031
|
+
avg_mechanic_rate_cents?: number;
|
|
30032
|
+
created_at?: string;
|
|
30033
|
+
id?: number;
|
|
30034
|
+
updated_at?: string;
|
|
30035
|
+
};
|
|
30036
|
+
Relationships: [];
|
|
30037
|
+
};
|
|
29987
30038
|
werkbon_packages: {
|
|
29988
30039
|
Row: {
|
|
29989
30040
|
active: boolean;
|
|
@@ -30484,6 +30535,7 @@ export type Database = {
|
|
|
30484
30535
|
signature_accepted_at: string | null;
|
|
30485
30536
|
signature_by_user_id: string | null;
|
|
30486
30537
|
signature_image_path: string | null;
|
|
30538
|
+
signature_missing_reason: string | null;
|
|
30487
30539
|
signature_name: string | null;
|
|
30488
30540
|
source_email_meta: Json | null;
|
|
30489
30541
|
source_mailbox_message_id: string | null;
|
|
@@ -30533,6 +30585,7 @@ export type Database = {
|
|
|
30533
30585
|
signature_accepted_at?: string | null;
|
|
30534
30586
|
signature_by_user_id?: string | null;
|
|
30535
30587
|
signature_image_path?: string | null;
|
|
30588
|
+
signature_missing_reason?: string | null;
|
|
30536
30589
|
signature_name?: string | null;
|
|
30537
30590
|
source_email_meta?: Json | null;
|
|
30538
30591
|
source_mailbox_message_id?: string | null;
|
|
@@ -30582,6 +30635,7 @@ export type Database = {
|
|
|
30582
30635
|
signature_accepted_at?: string | null;
|
|
30583
30636
|
signature_by_user_id?: string | null;
|
|
30584
30637
|
signature_image_path?: string | null;
|
|
30638
|
+
signature_missing_reason?: string | null;
|
|
30585
30639
|
signature_name?: string | null;
|
|
30586
30640
|
source_email_meta?: Json | null;
|
|
30587
30641
|
source_mailbox_message_id?: string | null;
|
|
@@ -32278,6 +32332,12 @@ export type Database = {
|
|
|
32278
32332
|
};
|
|
32279
32333
|
Returns: Json;
|
|
32280
32334
|
};
|
|
32335
|
+
afh_signup_sender: {
|
|
32336
|
+
Args: {
|
|
32337
|
+
p_purpose: string;
|
|
32338
|
+
};
|
|
32339
|
+
Returns: Json;
|
|
32340
|
+
};
|
|
32281
32341
|
afh_subtract_workdays: {
|
|
32282
32342
|
Args: {
|
|
32283
32343
|
_date: string;
|
|
@@ -33458,6 +33518,7 @@ export type Database = {
|
|
|
33458
33518
|
invoice_date: string;
|
|
33459
33519
|
invoice_number: string;
|
|
33460
33520
|
kind: string;
|
|
33521
|
+
original_invoice_id: string;
|
|
33461
33522
|
payment_status: string;
|
|
33462
33523
|
source: string;
|
|
33463
33524
|
status: string;
|
|
@@ -34826,9 +34887,29 @@ export type Database = {
|
|
|
34826
34887
|
afgerond: number;
|
|
34827
34888
|
bezig: number;
|
|
34828
34889
|
customer_id: string;
|
|
34890
|
+
gem_betaaltermijn_dagen: number;
|
|
34829
34891
|
klussen: number;
|
|
34892
|
+
materiaal_kosten_cents: number;
|
|
34830
34893
|
omzet_cents: number;
|
|
34831
34894
|
open: number;
|
|
34895
|
+
reis_minuten: number;
|
|
34896
|
+
te_laat: number;
|
|
34897
|
+
te_laat_open: number;
|
|
34898
|
+
werk_minuten: number;
|
|
34899
|
+
}[];
|
|
34900
|
+
};
|
|
34901
|
+
itk_month_trend: {
|
|
34902
|
+
Args: {
|
|
34903
|
+
_today: string;
|
|
34904
|
+
};
|
|
34905
|
+
Returns: {
|
|
34906
|
+
materiaal_kosten_cents: number;
|
|
34907
|
+
omzet_cents: number;
|
|
34908
|
+
periode: string;
|
|
34909
|
+
reis_minuten: number;
|
|
34910
|
+
tot: string;
|
|
34911
|
+
van: string;
|
|
34912
|
+
werk_minuten: number;
|
|
34832
34913
|
}[];
|
|
34833
34914
|
};
|
|
34834
34915
|
itk_offerte_naar_werkbon: {
|
|
@@ -35290,6 +35371,18 @@ export type Database = {
|
|
|
35290
35371
|
};
|
|
35291
35372
|
Returns: boolean;
|
|
35292
35373
|
};
|
|
35374
|
+
logistics_allocation_stale: {
|
|
35375
|
+
Args: {
|
|
35376
|
+
p_order_item_id: string;
|
|
35377
|
+
};
|
|
35378
|
+
Returns: boolean;
|
|
35379
|
+
};
|
|
35380
|
+
logistics_allocation_stale_reden: {
|
|
35381
|
+
Args: {
|
|
35382
|
+
p_order_item_id: string;
|
|
35383
|
+
};
|
|
35384
|
+
Returns: string;
|
|
35385
|
+
};
|
|
35293
35386
|
logistics_allowed_load_carriers: {
|
|
35294
35387
|
Args: {
|
|
35295
35388
|
p_strategy_id?: string;
|
|
@@ -35332,6 +35425,19 @@ export type Database = {
|
|
|
35332
35425
|
};
|
|
35333
35426
|
Returns: boolean;
|
|
35334
35427
|
};
|
|
35428
|
+
logistics_archive_stale_buffer_carts: {
|
|
35429
|
+
Args: {
|
|
35430
|
+
p_uitvoeren?: boolean;
|
|
35431
|
+
};
|
|
35432
|
+
Returns: Json;
|
|
35433
|
+
};
|
|
35434
|
+
logistics_archive_stale_buffer_carts_core: {
|
|
35435
|
+
Args: {
|
|
35436
|
+
p_buffer: string;
|
|
35437
|
+
p_uitvoeren: boolean;
|
|
35438
|
+
};
|
|
35439
|
+
Returns: Json;
|
|
35440
|
+
};
|
|
35335
35441
|
logistics_archived_orders: {
|
|
35336
35442
|
Args: never;
|
|
35337
35443
|
Returns: {
|
|
@@ -35528,6 +35634,12 @@ export type Database = {
|
|
|
35528
35634
|
};
|
|
35529
35635
|
Returns: Json;
|
|
35530
35636
|
};
|
|
35637
|
+
logistics_buffer_carts: {
|
|
35638
|
+
Args: {
|
|
35639
|
+
p_buffer_id: string;
|
|
35640
|
+
};
|
|
35641
|
+
Returns: Json;
|
|
35642
|
+
};
|
|
35531
35643
|
logistics_buffer_closed_for_join: {
|
|
35532
35644
|
Args: {
|
|
35533
35645
|
p_buffer: string;
|
|
@@ -35639,6 +35751,16 @@ export type Database = {
|
|
|
35639
35751
|
};
|
|
35640
35752
|
Returns: number;
|
|
35641
35753
|
};
|
|
35754
|
+
logistics_canon_ref: {
|
|
35755
|
+
Args: {
|
|
35756
|
+
p_ref: string;
|
|
35757
|
+
};
|
|
35758
|
+
Returns: {
|
|
35759
|
+
pid: string;
|
|
35760
|
+
reden: string;
|
|
35761
|
+
tkey: string;
|
|
35762
|
+
}[];
|
|
35763
|
+
};
|
|
35642
35764
|
logistics_capacity_day_check: {
|
|
35643
35765
|
Args: {
|
|
35644
35766
|
p_from?: string;
|
|
@@ -35646,6 +35768,26 @@ export type Database = {
|
|
|
35646
35768
|
};
|
|
35647
35769
|
Returns: Json;
|
|
35648
35770
|
};
|
|
35771
|
+
logistics_capacity_day_load: {
|
|
35772
|
+
Args: {
|
|
35773
|
+
p_from: string;
|
|
35774
|
+
p_settings: Json;
|
|
35775
|
+
p_to: string;
|
|
35776
|
+
p_user: string;
|
|
35777
|
+
};
|
|
35778
|
+
Returns: {
|
|
35779
|
+
carts: number;
|
|
35780
|
+
d: string;
|
|
35781
|
+
required: number;
|
|
35782
|
+
zonder_kar: number;
|
|
35783
|
+
}[];
|
|
35784
|
+
};
|
|
35785
|
+
logistics_capacity_day_orders: {
|
|
35786
|
+
Args: {
|
|
35787
|
+
p_date: string;
|
|
35788
|
+
};
|
|
35789
|
+
Returns: Json;
|
|
35790
|
+
};
|
|
35649
35791
|
logistics_capacity_plan_day: {
|
|
35650
35792
|
Args: {
|
|
35651
35793
|
p_date: string;
|
|
@@ -35823,6 +35965,12 @@ export type Database = {
|
|
|
35823
35965
|
Args: never;
|
|
35824
35966
|
Returns: Json;
|
|
35825
35967
|
};
|
|
35968
|
+
logistics_cart_eerdere_buffer: {
|
|
35969
|
+
Args: {
|
|
35970
|
+
p_cart_id: string;
|
|
35971
|
+
};
|
|
35972
|
+
Returns: Json;
|
|
35973
|
+
};
|
|
35826
35974
|
logistics_cart_extra_fields: {
|
|
35827
35975
|
Args: {
|
|
35828
35976
|
p_cart_id: string;
|
|
@@ -36102,6 +36250,18 @@ export type Database = {
|
|
|
36102
36250
|
};
|
|
36103
36251
|
Returns: Json;
|
|
36104
36252
|
};
|
|
36253
|
+
logistics_cart_verouderd_redenen: {
|
|
36254
|
+
Args: {
|
|
36255
|
+
p_cart_id: string;
|
|
36256
|
+
};
|
|
36257
|
+
Returns: Json;
|
|
36258
|
+
};
|
|
36259
|
+
logistics_cart_vervoer_gemengd: {
|
|
36260
|
+
Args: {
|
|
36261
|
+
p_cart_id: string;
|
|
36262
|
+
};
|
|
36263
|
+
Returns: Json;
|
|
36264
|
+
};
|
|
36105
36265
|
logistics_cart_vulgraad_core: {
|
|
36106
36266
|
Args: {
|
|
36107
36267
|
p_cart_id: string;
|
|
@@ -37094,6 +37254,38 @@ export type Database = {
|
|
|
37094
37254
|
uitleg: string;
|
|
37095
37255
|
}[];
|
|
37096
37256
|
};
|
|
37257
|
+
logistics_install_check_217: {
|
|
37258
|
+
Args: never;
|
|
37259
|
+
Returns: {
|
|
37260
|
+
ok: boolean;
|
|
37261
|
+
punt: string;
|
|
37262
|
+
uitleg: string;
|
|
37263
|
+
}[];
|
|
37264
|
+
};
|
|
37265
|
+
logistics_install_check_218: {
|
|
37266
|
+
Args: never;
|
|
37267
|
+
Returns: {
|
|
37268
|
+
ok: boolean;
|
|
37269
|
+
punt: string;
|
|
37270
|
+
uitleg: string;
|
|
37271
|
+
}[];
|
|
37272
|
+
};
|
|
37273
|
+
logistics_install_check_220: {
|
|
37274
|
+
Args: never;
|
|
37275
|
+
Returns: {
|
|
37276
|
+
ok: boolean;
|
|
37277
|
+
punt: string;
|
|
37278
|
+
uitleg: string;
|
|
37279
|
+
}[];
|
|
37280
|
+
};
|
|
37281
|
+
logistics_install_check_221: {
|
|
37282
|
+
Args: never;
|
|
37283
|
+
Returns: {
|
|
37284
|
+
ok: boolean;
|
|
37285
|
+
punt: string;
|
|
37286
|
+
uitleg: string;
|
|
37287
|
+
}[];
|
|
37288
|
+
};
|
|
37097
37289
|
logistics_is_beheer: {
|
|
37098
37290
|
Args: never;
|
|
37099
37291
|
Returns: boolean;
|
|
@@ -37472,6 +37664,13 @@ export type Database = {
|
|
|
37472
37664
|
};
|
|
37473
37665
|
Returns: string[];
|
|
37474
37666
|
};
|
|
37667
|
+
logistics_order_dag: {
|
|
37668
|
+
Args: {
|
|
37669
|
+
p_delivery_date: string;
|
|
37670
|
+
p_planned_start: string;
|
|
37671
|
+
};
|
|
37672
|
+
Returns: string;
|
|
37673
|
+
};
|
|
37475
37674
|
logistics_order_date: {
|
|
37476
37675
|
Args: {
|
|
37477
37676
|
p: string;
|
|
@@ -37713,6 +37912,12 @@ export type Database = {
|
|
|
37713
37912
|
status: string;
|
|
37714
37913
|
}[];
|
|
37715
37914
|
};
|
|
37915
|
+
logistics_order_own_transport: {
|
|
37916
|
+
Args: {
|
|
37917
|
+
p_custom_fields: Json;
|
|
37918
|
+
};
|
|
37919
|
+
Returns: boolean;
|
|
37920
|
+
};
|
|
37716
37921
|
logistics_order_pick_day: {
|
|
37717
37922
|
Args: {
|
|
37718
37923
|
p_order_ref: string;
|
|
@@ -37821,6 +38026,12 @@ export type Database = {
|
|
|
37821
38026
|
order_id: string;
|
|
37822
38027
|
}[];
|
|
37823
38028
|
};
|
|
38029
|
+
logistics_order_transport_group: {
|
|
38030
|
+
Args: {
|
|
38031
|
+
p_order: Json;
|
|
38032
|
+
};
|
|
38033
|
+
Returns: string;
|
|
38034
|
+
};
|
|
37824
38035
|
logistics_order_unit_carts: {
|
|
37825
38036
|
Args: {
|
|
37826
38037
|
p_order_ids: string[];
|
|
@@ -37878,6 +38089,13 @@ export type Database = {
|
|
|
37878
38089
|
};
|
|
37879
38090
|
Returns: Json;
|
|
37880
38091
|
};
|
|
38092
|
+
logistics_own_transport_carrier: {
|
|
38093
|
+
Args: {
|
|
38094
|
+
p_order: Json;
|
|
38095
|
+
p_skip_manual: boolean;
|
|
38096
|
+
};
|
|
38097
|
+
Returns: Json;
|
|
38098
|
+
};
|
|
37881
38099
|
logistics_own_transport_departure: {
|
|
37882
38100
|
Args: {
|
|
37883
38101
|
p_delivery_date: string;
|
|
@@ -38038,6 +38256,12 @@ export type Database = {
|
|
|
38038
38256
|
};
|
|
38039
38257
|
Returns: number;
|
|
38040
38258
|
};
|
|
38259
|
+
logistics_pick_queue_fix_cancelled_status: {
|
|
38260
|
+
Args: {
|
|
38261
|
+
p_uitvoeren?: boolean;
|
|
38262
|
+
};
|
|
38263
|
+
Returns: Json;
|
|
38264
|
+
};
|
|
38041
38265
|
logistics_pick_start_estimate: {
|
|
38042
38266
|
Args: {
|
|
38043
38267
|
p_order: Json;
|
|
@@ -38702,6 +38926,19 @@ export type Database = {
|
|
|
38702
38926
|
};
|
|
38703
38927
|
Returns: Json;
|
|
38704
38928
|
};
|
|
38929
|
+
logistics_reservation_repair_stale: {
|
|
38930
|
+
Args: {
|
|
38931
|
+
p_uitvoeren?: boolean;
|
|
38932
|
+
};
|
|
38933
|
+
Returns: Json;
|
|
38934
|
+
};
|
|
38935
|
+
logistics_reservation_repair_stale_core: {
|
|
38936
|
+
Args: {
|
|
38937
|
+
p_order_item_ids: string[];
|
|
38938
|
+
p_uitvoeren: boolean;
|
|
38939
|
+
};
|
|
38940
|
+
Returns: Json;
|
|
38941
|
+
};
|
|
38705
38942
|
logistics_reserved_fast_skip: {
|
|
38706
38943
|
Args: {
|
|
38707
38944
|
p_key: string;
|
|
@@ -39142,6 +39379,23 @@ export type Database = {
|
|
|
39142
39379
|
};
|
|
39143
39380
|
Returns: undefined;
|
|
39144
39381
|
};
|
|
39382
|
+
logistics_stale_buffer_carts: {
|
|
39383
|
+
Args: {
|
|
39384
|
+
p_buffer?: string;
|
|
39385
|
+
};
|
|
39386
|
+
Returns: {
|
|
39387
|
+
actieve_order: boolean;
|
|
39388
|
+
afgerond: boolean;
|
|
39389
|
+
besluit: string;
|
|
39390
|
+
cart_id: string;
|
|
39391
|
+
geprint: boolean;
|
|
39392
|
+
gescand: boolean;
|
|
39393
|
+
karnummer: number;
|
|
39394
|
+
nieuwe_buffer: string;
|
|
39395
|
+
orders: string;
|
|
39396
|
+
oude_buffer: string;
|
|
39397
|
+
}[];
|
|
39398
|
+
};
|
|
39145
39399
|
logistics_startlijst: {
|
|
39146
39400
|
Args: never;
|
|
39147
39401
|
Returns: Json;
|
|
@@ -44865,6 +45119,12 @@ export type Database = {
|
|
|
44865
45119
|
};
|
|
44866
45120
|
Returns: Json;
|
|
44867
45121
|
};
|
|
45122
|
+
voorraad_correctie_1136: {
|
|
45123
|
+
Args: {
|
|
45124
|
+
p_uitvoeren?: boolean;
|
|
45125
|
+
};
|
|
45126
|
+
Returns: Json;
|
|
45127
|
+
};
|
|
44868
45128
|
voorraad_correctie_status: {
|
|
44869
45129
|
Args: {
|
|
44870
45130
|
p_correctie?: string;
|
|
@@ -44963,6 +45223,12 @@ export type Database = {
|
|
|
44963
45223
|
};
|
|
44964
45224
|
Returns: boolean;
|
|
44965
45225
|
};
|
|
45226
|
+
voorraad_orderregel_sleutel: {
|
|
45227
|
+
Args: {
|
|
45228
|
+
p_ref: string;
|
|
45229
|
+
};
|
|
45230
|
+
Returns: string;
|
|
45231
|
+
};
|
|
44966
45232
|
voorraad_packing_from_floriday: {
|
|
44967
45233
|
Args: {
|
|
44968
45234
|
p_product_id: string;
|
|
@@ -45032,6 +45298,15 @@ export type Database = {
|
|
|
45032
45298
|
};
|
|
45033
45299
|
Returns: number;
|
|
45034
45300
|
};
|
|
45301
|
+
werkbon_arbeidskosten_schatting: {
|
|
45302
|
+
Args: {
|
|
45303
|
+
_werkbon_id: string;
|
|
45304
|
+
};
|
|
45305
|
+
Returns: {
|
|
45306
|
+
estimated_labor_cents: number;
|
|
45307
|
+
labor_minutes: number;
|
|
45308
|
+
}[];
|
|
45309
|
+
};
|
|
45035
45310
|
werkbon_format_project_number: {
|
|
45036
45311
|
Args: {
|
|
45037
45312
|
_parent_project_number?: string;
|
|
@@ -45167,6 +45442,14 @@ export type Database = {
|
|
|
45167
45442
|
};
|
|
45168
45443
|
Returns: string;
|
|
45169
45444
|
};
|
|
45445
|
+
wo_planner_contacten: {
|
|
45446
|
+
Args: never;
|
|
45447
|
+
Returns: {
|
|
45448
|
+
naam: string;
|
|
45449
|
+
telefoon: string;
|
|
45450
|
+
user_id: string;
|
|
45451
|
+
}[];
|
|
45452
|
+
};
|
|
45170
45453
|
wo_process_offerte_request: {
|
|
45171
45454
|
Args: {
|
|
45172
45455
|
_queue_id: string;
|