@flowselections/floriday-verkoop-module 1.0.83 → 1.0.85
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 +7 -3
- package/dist-lib/components/verkoop/FloridayStageLine.js +2 -2
- package/dist-lib/components/verkoop/OrderKarindelingCard.js +1 -1
- package/dist-lib/components/verkoop/PlanCoverageBadge.js +1 -1
- package/dist-lib/components/verkoop/SalesOrderDetailView.js +1 -1
- package/dist-lib/components/verkoop/SalesOrdersTable.d.ts.map +1 -1
- package/dist-lib/components/verkoop/SalesOrdersTable.js +9 -9
- package/dist-lib/components/verkoop/VerkoopOrdersPage.d.ts.map +1 -1
- package/dist-lib/components/verkoop/VerkoopOrdersPage.js +7 -6
- package/dist-lib/integrations/supabase/types.d.ts +104 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/create-order.functions.js +4 -4
- package/dist-lib/lib/floriday-logistic-labels.functions.js +1 -1
- package/dist-lib/lib/order-cancel.server.js +1 -1
- package/dist-lib/lib/plan-coverage.check.d.ts.map +1 -1
- package/dist-lib/lib/plan-coverage.check.js +15 -2
- package/dist-lib/lib/plan-coverage.d.ts +11 -0
- package/dist-lib/lib/plan-coverage.d.ts.map +1 -1
- package/dist-lib/lib/plan-coverage.js +24 -2
- package/dist-lib/lib/salesorders-list.server.d.ts.map +1 -1
- package/dist-lib/lib/salesorders-list.server.js +29 -6
- package/dist-lib/lib/salesorders-mapping.d.ts +2 -0
- package/dist-lib/lib/salesorders-mapping.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -69,7 +69,7 @@ export const ensureCustomerFromTwinfield = createServerFn({ method: "POST" })
|
|
|
69
69
|
.maybeSingle();
|
|
70
70
|
const tw = cacheRes.data;
|
|
71
71
|
if (!tw)
|
|
72
|
-
throw new Error(`
|
|
72
|
+
throw new Error(`Klant ${code} kon niet uit de boekhouding worden overgenomen. Ververs de klantenlijst of maak de klant aan bij Klanten.`);
|
|
73
73
|
// Adresvelden zitten in de Twinfield-payload; de DB-trigger eist
|
|
74
74
|
// straat, huisnummer, postcode, plaats, land en e-mail voor lokale klanten.
|
|
75
75
|
const d = (tw.data ?? {});
|
|
@@ -914,7 +914,7 @@ export const deleteLocalOrder = createServerFn({ method: "POST" })
|
|
|
914
914
|
const cf = order.custom_fields ?? {};
|
|
915
915
|
const src = String(cf?.source ?? order.order_source ?? "").toLowerCase();
|
|
916
916
|
if (src === "floriday" || src === "fo") {
|
|
917
|
-
throw new Error("
|
|
917
|
+
throw new Error("Floriday-orders annuleer of wijzig je in Floriday.");
|
|
918
918
|
}
|
|
919
919
|
// Voorraadmutaties terugdraaien.
|
|
920
920
|
const { data: mutations, error: mErr } = await supabaseAdmin
|
|
@@ -1075,7 +1075,7 @@ export const getLocalOrderForEdit = createServerFn({ method: "POST" })
|
|
|
1075
1075
|
const cf = order.custom_fields ?? {};
|
|
1076
1076
|
const src = String(cf?.source ?? order.order_source ?? "").toLowerCase();
|
|
1077
1077
|
if (src === "floriday" || src === "fo") {
|
|
1078
|
-
throw new Error("
|
|
1078
|
+
throw new Error("Floriday-orders annuleer of wijzig je in Floriday.");
|
|
1079
1079
|
}
|
|
1080
1080
|
const { data: items, error: iErr } = await context.supabase
|
|
1081
1081
|
.from("order_items")
|
|
@@ -1265,7 +1265,7 @@ export const updateLocalOrder = createServerFn({ method: "POST" })
|
|
|
1265
1265
|
const cf = order.custom_fields ?? {};
|
|
1266
1266
|
const src = String(cf?.source ?? order.order_source ?? "").toLowerCase();
|
|
1267
1267
|
if (src === "floriday" || src === "fo") {
|
|
1268
|
-
throw new Error("
|
|
1268
|
+
throw new Error("Floriday-orders annuleer of wijzig je in Floriday.");
|
|
1269
1269
|
}
|
|
1270
1270
|
const removeIds = data.removeItemIds ?? [];
|
|
1271
1271
|
const newItems = data.newItems ?? [];
|
|
@@ -22,7 +22,7 @@ function foutTekst(status, detail) {
|
|
|
22
22
|
return "Levering staat nog in concept — bevestig de levering in Floriday, daarna is de afleverbrief beschikbaar.";
|
|
23
23
|
}
|
|
24
24
|
if (status === 404)
|
|
25
|
-
return "
|
|
25
|
+
return "Floriday heeft voor deze order nog geen verzendbrief. Probeer het later opnieuw.";
|
|
26
26
|
if (status === 401 || status === 403)
|
|
27
27
|
return `Geen toegang tot Floriday (${status}).`;
|
|
28
28
|
return `Ophalen bij Floriday mislukt (${status})${detail ? `: ${detail}` : ""}.`;
|
|
@@ -93,7 +93,7 @@ export async function cancelLocalOrderInternal(input) {
|
|
|
93
93
|
const cf = (o.custom_fields ?? {});
|
|
94
94
|
const src = String(cf?.source ?? o.order_source ?? "").toLowerCase();
|
|
95
95
|
if (src === "floriday" || src === "fo" || o.floriday_sales_order_id) {
|
|
96
|
-
throw new Error("
|
|
96
|
+
throw new Error("Floriday-orders annuleer of wijzig je in Floriday.");
|
|
97
97
|
}
|
|
98
98
|
if (String(o.status ?? "").toLowerCase() === CANCELLED_STATUS) {
|
|
99
99
|
return { ok: true, alreadyCancelled: true, reversedKeys: 0 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-coverage.check.d.ts","sourceRoot":"","sources":["../../src/lib/plan-coverage.check.ts"],"names":[],"mappings":"AAQA,wBAAgB,qBAAqB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"plan-coverage.check.d.ts","sourceRoot":"","sources":["../../src/lib/plan-coverage.check.ts"],"names":[],"mappings":"AAQA,wBAAgB,qBAAqB,IAAI,MAAM,CA2B9C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Test (draait mee in de typecontrole én als script: `bun src/lib/plan-coverage.check.ts`).
|
|
2
2
|
// Ontbrekende tellingen moeten "onbekend" tonen, nooit "0".
|
|
3
|
-
import { coverageDetailText, parsePlanCoverageListRow, summarize } from "./plan-coverage";
|
|
3
|
+
import { combinedCartCount, coverageDetailText, parsePlanCoverageListRow, summarize } from "./plan-coverage";
|
|
4
4
|
function eq(actual, expected, name) {
|
|
5
5
|
if (actual !== expected)
|
|
6
6
|
throw new Error(`${name}: verwacht "${expected}", kreeg "${actual}"`);
|
|
@@ -10,7 +10,20 @@ export function runPlanCoverageChecks() {
|
|
|
10
10
|
eq(coverageDetailText(summarize(parsePlanCoverageListRow(base))), "Karren: onbekend · Pickrijen: onbekend · Pickstand: onbekend", "afwezig");
|
|
11
11
|
eq(coverageDetailText(summarize(parsePlanCoverageListRow({ ...base, cart_count: null, pick_row_count: null, pick_status: null }))), "Karren: onbekend · Pickrijen: onbekend · Pickstand: onbekend", "null");
|
|
12
12
|
eq(coverageDetailText(summarize(parsePlanCoverageListRow({ ...base, cart_count: 0, pick_row_count: 2, pick_status: "open" }))), "Karren: 0 · Pickrijen: 2 · Pickstand: open", "echte waarden");
|
|
13
|
-
|
|
13
|
+
// Losse order met buffer-id is niet gedeeld.
|
|
14
|
+
const solo = parsePlanCoverageListRow({ ...base, buffer_id: "b1", cart_count: 1 });
|
|
15
|
+
eq(String(solo.shared), "false", "losse order niet gedeeld");
|
|
16
|
+
eq(String(combinedCartCount([solo])), "1", "losse order eigen kar");
|
|
17
|
+
// Gecombineerde order zonder Engine-totaal: onbekend, nooit optellen.
|
|
18
|
+
const a = parsePlanCoverageListRow({ ...base, buffer_id: "b2", cart_count: 2, buffer_order_count: 2 });
|
|
19
|
+
const b = parsePlanCoverageListRow({ ...base, buffer_id: "b2", cart_count: 1, buffer_order_count: 2 });
|
|
20
|
+
eq(String(a.shared), "true", "gecombineerd gedeeld");
|
|
21
|
+
eq(String(combinedCartCount([{ ...a, bufferCartCount: null }, { ...b, bufferCartCount: null }])), "null", "zonder totaal onbekend");
|
|
22
|
+
// Met buffer_cart_count: gedeelde kar één keer.
|
|
23
|
+
const a2 = parsePlanCoverageListRow({ ...base, buffer_id: "b2", cart_count: 2, buffer_order_count: 2, buffer_cart_count: 2 });
|
|
24
|
+
const b2 = parsePlanCoverageListRow({ ...base, buffer_id: "b2", cart_count: 1, buffer_order_count: 2, buffer_cart_count: 2 });
|
|
25
|
+
eq(String(combinedCartCount([a2, b2])), "2", "gedeelde kar één keer");
|
|
26
|
+
return 8;
|
|
14
27
|
}
|
|
15
28
|
if (typeof process !== "undefined" && process.argv?.[1]?.endsWith("plan-coverage.check.ts")) {
|
|
16
29
|
console.log(`plan-coverage: ${runPlanCoverageChecks()} tests geslaagd`);
|
|
@@ -38,6 +38,10 @@ export interface PlanCoverage {
|
|
|
38
38
|
pickRowCount?: number | null;
|
|
39
39
|
/** Alleen uit de lijstversie: buffer-id van de Engine (ter informatie). */
|
|
40
40
|
bufferId?: string | null;
|
|
41
|
+
/** Alleen uit de lijstversie: aantal orders in de gecombineerde order (null = Engine levert het nog niet). */
|
|
42
|
+
bufferOrderCount?: number | null;
|
|
43
|
+
/** Alleen uit de lijstversie: unieke karren (cart_id) van de hele gecombineerde order (null = onbekend). */
|
|
44
|
+
bufferCartCount?: number | null;
|
|
41
45
|
/** Alleen uit de lijstversie: ordernummer (ter informatie; match blijft op order_id). */
|
|
42
46
|
orderNumber?: string | null;
|
|
43
47
|
/** Gezet als de Engine-vraag mislukte (fail closed: niets geschreven). */
|
|
@@ -65,4 +69,11 @@ export declare function summarize(c: PlanCoverage): PlanCoverageSummary;
|
|
|
65
69
|
/** Tooltiptekst voor de badge; ontbrekende waarden worden "onbekend", nooit "0". */
|
|
66
70
|
export declare function coverageDetailText(c: Pick<PlanCoverageSummary, "cartCount" | "pickRowCount" | "pickStatus">): string;
|
|
67
71
|
export declare function mergeSummaries(list: (PlanCoverageSummary | null | undefined)[]): PlanCoverageSummary | null;
|
|
72
|
+
/**
|
|
73
|
+
* Karren van een (gecombineerde) order, geteld op unieke cart_id.
|
|
74
|
+
* - Engine levert buffer_cart_count: die gebruiken.
|
|
75
|
+
* - Losse order (1 lid, niet gedeeld): cart_count van de Engine.
|
|
76
|
+
* - Gecombineerde order zonder buffer_cart_count: null ("Karren onbekend"), nooit optellen.
|
|
77
|
+
*/
|
|
78
|
+
export declare function combinedCartCount(members: PlanCoverage[]): number | null;
|
|
68
79
|
//# sourceMappingURL=plan-coverage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-coverage.d.ts","sourceRoot":"","sources":["../../src/lib/plan-coverage.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,OAAO,GAAG,eAAe,GAAG,aAAa,GAAG,UAAU,CAAC;AAErG,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,UAAU,EAAE,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IACjE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,uFAAuF;IACvF,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAYD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAa7D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAY3D;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAsC5D;AAED,8FAA8F;AAC9F,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,GAAG,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"plan-coverage.d.ts","sourceRoot":"","sources":["../../src/lib/plan-coverage.ts"],"names":[],"mappings":"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"}
|
|
@@ -94,7 +94,10 @@ export function parsePlanCoverageListRow(r) {
|
|
|
94
94
|
pickRowCount: num(r.pick_row_count),
|
|
95
95
|
bufferId: str(r.buffer_id),
|
|
96
96
|
orderNumber: str(r.order_number),
|
|
97
|
-
|
|
97
|
+
bufferOrderCount: num(r.buffer_order_count),
|
|
98
|
+
bufferCartCount: num(r.buffer_cart_count),
|
|
99
|
+
// Een buffer-id alleen zegt niets: elke order heeft er één. Gedeeld pas bij >1 order.
|
|
100
|
+
shared: num(r.buffer_order_count) != null ? num(r.buffer_order_count) > 1 : false,
|
|
98
101
|
error: state === "onbekend" ? "Onbekende indelingsstatus van de Engine" : null,
|
|
99
102
|
};
|
|
100
103
|
}
|
|
@@ -139,8 +142,27 @@ export function mergeSummaries(list) {
|
|
|
139
142
|
return {
|
|
140
143
|
...worst,
|
|
141
144
|
shared: xs.some((x) => x.shared),
|
|
142
|
-
|
|
145
|
+
// Karren nooit optellen (gedeelde kar zou dubbel tellen); één order: eigen telling.
|
|
146
|
+
cartCount: xs.length === 1 ? xs[0].cartCount ?? null : null,
|
|
143
147
|
pickRowCount: sumOrNull("pickRowCount"),
|
|
144
148
|
pickStatus: xs.length === 1 ? xs[0].pickStatus : xs.every((x) => x.pickStatus === xs[0].pickStatus) ? xs[0].pickStatus : null,
|
|
145
149
|
};
|
|
146
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Karren van een (gecombineerde) order, geteld op unieke cart_id.
|
|
153
|
+
* - Engine levert buffer_cart_count: die gebruiken.
|
|
154
|
+
* - Losse order (1 lid, niet gedeeld): cart_count van de Engine.
|
|
155
|
+
* - Gecombineerde order zonder buffer_cart_count: null ("Karren onbekend"), nooit optellen.
|
|
156
|
+
*/
|
|
157
|
+
export function combinedCartCount(members) {
|
|
158
|
+
if (!members.length)
|
|
159
|
+
return null;
|
|
160
|
+
const withTotal = members.find((m) => typeof m.bufferCartCount === "number");
|
|
161
|
+
if (withTotal)
|
|
162
|
+
return withTotal.bufferCartCount;
|
|
163
|
+
if (members.length === 1 && !members[0].shared) {
|
|
164
|
+
const c = members[0].cartCount;
|
|
165
|
+
return typeof c === "number" ? c : null;
|
|
166
|
+
}
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"salesorders-list.server.d.ts","sourceRoot":"","sources":["../../src/lib/salesorders-list.server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKjF,4EAA4E;AAC5E,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,cAAc,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AA8ID,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,UAAU,EAClB,kBAAkB,GAAE,cAAyB,GAC5C,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"salesorders-list.server.d.ts","sourceRoot":"","sources":["../../src/lib/salesorders-list.server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKjF,4EAA4E;AAC5E,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,cAAc,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;CACpB;AA8ID,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,UAAU,EAClB,kBAAkB,GAAE,cAAyB,GAC5C,OAAO,CAAC,UAAU,CAAC,CAgnCrB"}
|
|
@@ -9,7 +9,7 @@ import { engineLoadCarrierLabel, normalizeLoadCarrierCode } from "./load-carrier
|
|
|
9
9
|
import { normalizeTime, resolveDeliveryTimeForDate } from "./carrier-availability";
|
|
10
10
|
import { loadPlanCoverage } from "./plan-coverage.server";
|
|
11
11
|
import { combineStages } from "./floriday-status";
|
|
12
|
-
import { mergeSummaries, summarize } from "./plan-coverage";
|
|
12
|
+
import { combinedCartCount, mergeSummaries, summarize } from "./plan-coverage";
|
|
13
13
|
import { resolveOrderNumbers } from "./order-numbers.server";
|
|
14
14
|
import { mergeStages, resolveOrderStage } from "./order-status";
|
|
15
15
|
import { buildPickupOptions } from "./order-pickup.functions";
|
|
@@ -889,8 +889,11 @@ export async function buildSalesOrdersList(supabase, params, connectionSupabase
|
|
|
889
889
|
return head;
|
|
890
890
|
const revenue = members.reduce((s, m) => s + (m.revenue ?? 0), 0);
|
|
891
891
|
const fustCount = members.reduce((s, m) => s + (m.fustCount ?? 0), 0);
|
|
892
|
-
|
|
893
|
-
|
|
892
|
+
// Nooit optellen: een gedeelde kar telt één keer. De echte telling (unieke
|
|
893
|
+
// cart_id) volgt na het ophalen van de indeling; tot dan onbekend.
|
|
894
|
+
const karCount = head.karCount ?? 0;
|
|
895
|
+
const karShared = true;
|
|
896
|
+
const karUnknown = members.some((m) => m.karUnknown);
|
|
894
897
|
const totalPieces = members.reduce((s, m) => s + (m.totalPieces ?? 0), 0);
|
|
895
898
|
const incomplete = Array.from(new Set(members.flatMap((m) => m.incomplete ?? [])));
|
|
896
899
|
return {
|
|
@@ -899,6 +902,7 @@ export async function buildSalesOrdersList(supabase, params, connectionSupabase
|
|
|
899
902
|
fustCount,
|
|
900
903
|
karCount,
|
|
901
904
|
karShared,
|
|
905
|
+
karUnknown,
|
|
902
906
|
totalPieces,
|
|
903
907
|
bufferSize: members.length,
|
|
904
908
|
bufferOrderNumbers: members.map((m) => m.orderNumber).filter(Boolean),
|
|
@@ -1082,8 +1086,12 @@ export async function buildSalesOrdersList(supabase, params, connectionSupabase
|
|
|
1082
1086
|
failed++;
|
|
1083
1087
|
continue; // fail closed: bestaande Engine-telling laten staan
|
|
1084
1088
|
}
|
|
1085
|
-
|
|
1086
|
-
|
|
1089
|
+
const inGroup = (o.bufferSize ?? 1) > 1 && !!o.bufferId;
|
|
1090
|
+
if (!inGroup) {
|
|
1091
|
+
o.karCount = combinedCartCount([c]) ?? 0;
|
|
1092
|
+
o.karUnknown = combinedCartCount([c]) == null;
|
|
1093
|
+
o.karShared = false;
|
|
1094
|
+
}
|
|
1087
1095
|
// Lijstversie levert geen dragertype: bestaand type laten staan.
|
|
1088
1096
|
if (c.carts.length > 0 || (c.cartCount ?? 0) === 0)
|
|
1089
1097
|
o.cartTypeName =
|
|
@@ -1093,8 +1101,23 @@ export async function buildSalesOrdersList(supabase, params, connectionSupabase
|
|
|
1093
1101
|
: null;
|
|
1094
1102
|
o.engineCounts = true;
|
|
1095
1103
|
}
|
|
1104
|
+
// Gecombineerde orders: karren op unieke cart_id (buffer_cart_count van de
|
|
1105
|
+
// Engine). Ontbreekt dat, dan "Karren onbekend" — nooit optellen.
|
|
1106
|
+
for (const g of pageGroups) {
|
|
1107
|
+
if (g.length < 2 && !((g[0]?.bufferSize ?? 1) > 1 && g[0]?.bufferId))
|
|
1108
|
+
continue;
|
|
1109
|
+
const covs = g
|
|
1110
|
+
.map((m) => { const id = idFor(m); return id ? coverage.get(id) : undefined; })
|
|
1111
|
+
.filter((x) => !!x && x.state !== "onbekend");
|
|
1112
|
+
const n = covs.length === g.length ? combinedCartCount(covs.length === 1 ? [{ ...covs[0], shared: true }] : covs) : null;
|
|
1113
|
+
for (const m of g) {
|
|
1114
|
+
m.karCount = n ?? 0;
|
|
1115
|
+
m.karUnknown = n == null;
|
|
1116
|
+
m.karShared = true;
|
|
1117
|
+
}
|
|
1118
|
+
}
|
|
1096
1119
|
if (failed > 0) {
|
|
1097
|
-
warnings.push(`
|
|
1120
|
+
warnings.push(`Van ${failed} order(s) is de karverdeling nu niet bekend. Ververs over een minuut.`);
|
|
1098
1121
|
}
|
|
1099
1122
|
}
|
|
1100
1123
|
}
|
|
@@ -21,6 +21,8 @@ export interface SalesOrderDTO {
|
|
|
21
21
|
cartTypeName?: string | null;
|
|
22
22
|
/** Minstens één kar is gedeeld met andere orders in dezelfde buffer. */
|
|
23
23
|
karShared?: boolean;
|
|
24
|
+
/** Karren niet betrouwbaar bekend (gecombineerde order zonder Engine-totaal): toon "Karren onbekend". */
|
|
25
|
+
karUnknown?: boolean;
|
|
24
26
|
/** Canonieke Engine-code van de ladingdrager (bijv. "trolley"). */
|
|
25
27
|
loadCarrierType?: string | null;
|
|
26
28
|
/** Waar de getoonde belading vandaan komt (order | orderregel | product | trade-item). */
|
|
@@ -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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"}
|