@flowselections/floriday-verkoop-module 1.0.98 → 1.0.100
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/ConfirmDialog.d.ts +11 -0
- package/dist-lib/components/verkoop/ConfirmDialog.d.ts.map +1 -0
- package/dist-lib/components/verkoop/ConfirmDialog.js +10 -0
- package/dist-lib/components/verkoop/CreateOrderPage.d.ts.map +1 -1
- package/dist-lib/components/verkoop/CreateOrderPage.js +36 -12
- package/dist-lib/components/verkoop/OrderKarindelingCard.d.ts.map +1 -1
- package/dist-lib/components/verkoop/OrderKarindelingCard.js +28 -2
- package/dist-lib/components/verkoop/OrderShipmentsCard.d.ts.map +1 -1
- package/dist-lib/components/verkoop/OrderShipmentsCard.js +16 -13
- package/dist-lib/components/verkoop/SalesOrderDetailView.d.ts.map +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 +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +99 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/create-order.functions.d.ts +3 -0
- package/dist-lib/lib/create-order.functions.d.ts.map +1 -1
- package/dist-lib/lib/create-order.functions.js +34 -5
- package/dist-lib/lib/departure-preview.check.js +24 -1
- package/dist-lib/lib/departure-preview.d.ts +25 -1
- package/dist-lib/lib/departure-preview.d.ts.map +1 -1
- package/dist-lib/lib/departure-preview.functions.d.ts +1 -0
- package/dist-lib/lib/departure-preview.functions.d.ts.map +1 -1
- package/dist-lib/lib/departure-preview.functions.js +1 -0
- package/dist-lib/lib/departure-preview.js +65 -2
- package/dist-lib/lib/departure-preview.server.d.ts +1 -0
- package/dist-lib/lib/departure-preview.server.d.ts.map +1 -1
- package/dist-lib/lib/departure-preview.server.js +3 -0
- package/dist-lib/lib/invoice-timing.server.d.ts +3 -1
- package/dist-lib/lib/invoice-timing.server.d.ts.map +1 -1
- package/dist-lib/lib/invoice-timing.server.js +3 -2
- package/dist-lib/lib/module-version.d.ts +2 -0
- package/dist-lib/lib/module-version.d.ts.map +1 -0
- package/dist-lib/lib/module-version.js +3 -0
- package/dist-lib/lib/salesorders-list.server.d.ts.map +1 -1
- package/dist-lib/lib/salesorders-list.server.js +2 -1
- package/dist-lib/lib/salesorders-mapping.d.ts +2 -0
- package/dist-lib/lib/salesorders-mapping.d.ts.map +1 -1
- package/dist-lib/lib/salesorders.functions.d.ts.map +1 -1
- package/dist-lib/lib/salesorders.functions.js +4 -0
- package/package.json +1 -1
|
@@ -150,6 +150,9 @@ export declare const createManualOrder: import("@tanstack/start-client-core").Op
|
|
|
150
150
|
acceptLateSignup?: boolean | undefined;
|
|
151
151
|
acceptedByName?: string | null | undefined;
|
|
152
152
|
source?: "manual" | "mailbox" | undefined;
|
|
153
|
+
customerReference?: string | null | undefined;
|
|
154
|
+
ownTransport?: boolean | undefined;
|
|
155
|
+
ownTransportPickupAt?: string | null | undefined;
|
|
153
156
|
}, Promise<{
|
|
154
157
|
ok: true;
|
|
155
158
|
orderId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-order.functions.d.ts","sourceRoot":"","sources":["../../src/lib/create-order.functions.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,2BAA2B;;;;;;GA+CpC,CAAC;AAIL,eAAO,MAAM,2BAA2B;;;;0CAElB,OAAO;;;;GAoDzB,CAAC;AAWL,eAAO,MAAM,0BAA0B;;;;;;YA+D7B,MAAM;iBACD,MAAM;sBACD,MAAM,GAAG,IAAI;cACrB,MAAM;oBACA,MAAM,GAAG,IAAI;0BACP,MAAM;0BACN,MAAM;yBACP,MAAM;wBACP,MAAM;wBACN,MAAM;yBACL,MAAM;kBACb,OAAO;gBACT,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS;;GA6RpD,CAAC;AAGL,eAAO,MAAM,kCAAkC;;;;0CAEzB,OAAO;;;;;;;;;;;;;;;;;;;;;;GAkDzB,CAAC;AAKL,eAAO,MAAM,qBAAqB;;;;;;YAoBI,MAAM;;;GAIxC,CAAC;AAGL,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;GAWnC,CAAC;AASL,eAAO,MAAM,8BAA8B;;;;8CAEjB,OAAO;;;;GAU7B,CAAC;AASL,eAAO,MAAM,mBAAmB;;;;;;;;0BAgBuB,MAAM;0BAAoB,MAAM;yBAAmB,MAAM;;;GA8C5G,CAAC;AAGL,eAAO,MAAM,kBAAkB;;;;;;GAU3B,CAAC;
|
|
1
|
+
{"version":3,"file":"create-order.functions.d.ts","sourceRoot":"","sources":["../../src/lib/create-order.functions.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,2BAA2B;;;;;;GA+CpC,CAAC;AAIL,eAAO,MAAM,2BAA2B;;;;0CAElB,OAAO;;;;GAoDzB,CAAC;AAWL,eAAO,MAAM,0BAA0B;;;;;;YA+D7B,MAAM;iBACD,MAAM;sBACD,MAAM,GAAG,IAAI;cACrB,MAAM;oBACA,MAAM,GAAG,IAAI;0BACP,MAAM;0BACN,MAAM;yBACP,MAAM;wBACP,MAAM;wBACN,MAAM;yBACL,MAAM;kBACb,OAAO;gBACT,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS;;GA6RpD,CAAC;AAGL,eAAO,MAAM,kCAAkC;;;;0CAEzB,OAAO;;;;;;;;;;;;;;;;;;;;;;GAkDzB,CAAC;AAKL,eAAO,MAAM,qBAAqB;;;;;;YAoBI,MAAM;;;GAIxC,CAAC;AAGL,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;GAWnC,CAAC;AASL,eAAO,MAAM,8BAA8B;;;;8CAEjB,OAAO;;;;GAU7B,CAAC;AASL,eAAO,MAAM,mBAAmB;;;;;;;;0BAgBuB,MAAM;0BAAoB,MAAM;yBAAmB,MAAM;;;GA8C5G,CAAC;AAGL,eAAO,MAAM,kBAAkB;;;;;;GAU3B,CAAC;AA+CL,eAAO,MAAM,iBAAiB;;;;8CAEJ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA4PY,MAAM;GAE/C,CAAC;AAKL,eAAO,MAAM,gBAAgB;;;;8CAEH,OAAO;;;;;;;GAY7B,CAAC;AAQL,eAAO,MAAM,gBAAgB;;;;8CAEH,OAAO;;;;;;GAoG7B,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;8CAER,OAAO;;;;GAyB7B,CAAC;AA0CL,eAAO,MAAM,oBAAoB;;;;8CAEP,OAAO;;;aA0JG,MAAM;iBACQ,MAAM,GAAG,IAAI;kBACX,MAAM;;YAEnB,MAAM,GAAG,IAAI;;;;YAkB7B,MAAM;mBACS,MAAM,GAAG,IAAI;qBACT,MAAM;;cAErB,MAAM,GAAG,IAAI;;;;;;GAQpC,CAAC;AAIL,eAAO,MAAM,gBAAgB;;;;8CAEH,OAAO;;;;;;;;;;;;;;;;;;;;;GAuO7B,CAAC;AAKL,eAAO,MAAM,kBAAkB;;;;8CAEL,OAAO;;;;;;;;WAUM,MAAM;YAAU,MAAM,GAAG,IAAI;WAahE,CAAC"}
|
|
@@ -665,6 +665,11 @@ const CreateManualOrderInput = z.object({
|
|
|
665
665
|
acceptLateSignup: z.boolean().optional(),
|
|
666
666
|
acceptedByName: z.string().max(255).nullable().optional(),
|
|
667
667
|
source: z.enum(["manual", "mailbox"]).optional(),
|
|
668
|
+
// Referentie van de klant (custom_fields.customer_reference).
|
|
669
|
+
customerReference: z.string().trim().max(100).nullable().optional(),
|
|
670
|
+
// Eigen vervoer / zelf afleveren: geen vervoerder, bewuste keuze.
|
|
671
|
+
ownTransport: z.boolean().optional(),
|
|
672
|
+
ownTransportPickupAt: z.string().regex(/(Z|[+-]\d{2}:\d{2})$/, "Tijd zonder tijdzone").nullable().optional(),
|
|
668
673
|
});
|
|
669
674
|
export const createManualOrder = createServerFn({ method: "POST" })
|
|
670
675
|
.middleware([requireSupabaseAuth])
|
|
@@ -681,7 +686,9 @@ export const createManualOrder = createServerFn({ method: "POST" })
|
|
|
681
686
|
const loadCarrierType = await resolveLoadCarrierType(context.supabase, data.loadCarrierType);
|
|
682
687
|
// Ophaalmoment en haalbaarheid komen alleen van de Logistiek Engine
|
|
683
688
|
// (logistics_departure_preview). Geen eigen berekening of terugval.
|
|
684
|
-
|
|
689
|
+
const ownTransport = !data.isReservation && data.ownTransport === true;
|
|
690
|
+
let carrierId = data.isReservation || ownTransport ? null : (data.carrierId ?? null);
|
|
691
|
+
let ownTransportInfo = null;
|
|
685
692
|
let momentKey = null;
|
|
686
693
|
let deliveryTime = null;
|
|
687
694
|
let lateSignup = null;
|
|
@@ -694,11 +701,25 @@ export const createManualOrder = createServerFn({ method: "POST" })
|
|
|
694
701
|
carrierId,
|
|
695
702
|
deliveryLocation: data.deliveryLocationId,
|
|
696
703
|
deliveryDate: data.deliveryDate.slice(0, 10),
|
|
697
|
-
momentKey: data.momentKey ?? null,
|
|
704
|
+
momentKey: ownTransport ? null : (data.momentKey ?? null),
|
|
705
|
+
ownTransport,
|
|
698
706
|
});
|
|
699
707
|
const d = decidePreview(preview);
|
|
700
708
|
if (d.kind === "blocked")
|
|
701
709
|
throw new Error(d.reason);
|
|
710
|
+
// Vervoerder al vertrokken: nooit aanmaken, ook niet met "toch aanmaken".
|
|
711
|
+
if (d.kind === "departed") {
|
|
712
|
+
throw new Error(d.firstDate ? `${d.reason} De eerstvolgende leverdatum is ${d.firstDate}.` : d.reason);
|
|
713
|
+
}
|
|
714
|
+
if (ownTransport) {
|
|
715
|
+
const by = context.claims?.email ?? null;
|
|
716
|
+
ownTransportInfo = {
|
|
717
|
+
by: data.acceptedByName ?? by ?? context.userId ?? null,
|
|
718
|
+
by_user_id: context.userId ?? null,
|
|
719
|
+
at: new Date().toISOString(),
|
|
720
|
+
...(data.ownTransportPickupAt ? { pickup_at: data.ownTransportPickupAt } : {}),
|
|
721
|
+
};
|
|
722
|
+
}
|
|
702
723
|
if (d.kind === "late") {
|
|
703
724
|
if (!data.acceptLateSignup) {
|
|
704
725
|
throw new Error(d.firstDate
|
|
@@ -717,11 +738,13 @@ export const createManualOrder = createServerFn({ method: "POST" })
|
|
|
717
738
|
source: data.source ?? "manual",
|
|
718
739
|
};
|
|
719
740
|
}
|
|
720
|
-
|
|
721
|
-
|
|
741
|
+
if (!ownTransport)
|
|
742
|
+
carrierId = preview?.carrierId ?? carrierId;
|
|
743
|
+
if (!ownTransport && !carrierId)
|
|
722
744
|
throw new Error("Er is geen vervoerder bekend voor deze afleverlocatie. Kies een vervoerder.");
|
|
723
745
|
momentKey = d.momentKey;
|
|
724
|
-
|
|
746
|
+
if (!ownTransport)
|
|
747
|
+
deliveryTime = await deliveryTimeForMoment(context.supabase, carrierId, momentKey);
|
|
725
748
|
}
|
|
726
749
|
const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
|
|
727
750
|
// Zorg dat elk product_id (= identiteit uit de voorraadmodule) een rij
|
|
@@ -839,6 +862,8 @@ export const createManualOrder = createServerFn({ method: "POST" })
|
|
|
839
862
|
delivery_time: deliveryTime,
|
|
840
863
|
pickup_moment: momentKey,
|
|
841
864
|
...(lateSignup ? { late_signup_override: lateSignup } : {}),
|
|
865
|
+
...(ownTransportInfo ? { own_transport: ownTransportInfo } : {}),
|
|
866
|
+
...(data.customerReference ? { customer_reference: data.customerReference } : {}),
|
|
842
867
|
is_reservation: !!data.isReservation,
|
|
843
868
|
load_carrier_type: loadCarrierType,
|
|
844
869
|
},
|
|
@@ -1404,6 +1429,10 @@ export const updateLocalOrder = createServerFn({ method: "POST" })
|
|
|
1404
1429
|
const d = decidePreview(preview);
|
|
1405
1430
|
if (d.kind === "blocked")
|
|
1406
1431
|
throw new Error(d.reason);
|
|
1432
|
+
// Vervoerder al vertrokken: ook bij wijzigen nooit doorlaten.
|
|
1433
|
+
if (d.kind === "departed") {
|
|
1434
|
+
throw new Error(d.firstDate ? `${d.reason} De eerstvolgende leverdatum is ${d.firstDate}.` : d.reason);
|
|
1435
|
+
}
|
|
1407
1436
|
if (d.kind === "late") {
|
|
1408
1437
|
if (!data.acceptLateSignup) {
|
|
1409
1438
|
throw new Error(d.firstDate ? `${d.reason} De eerste haalbare leverdatum is ${d.firstDate}.` : d.reason);
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// Controle voorbeeld-ophaalmoment. Draai: bun src/lib/departure-preview.check.ts
|
|
2
|
-
import { decidePreview, normalizePreview } from "./departure-preview.js";
|
|
2
|
+
import { decidePreview, normalizePreview, firstDateText } from "./departure-preview.js";
|
|
3
|
+
// Vaste "nu" zodat de controles niet verouderen.
|
|
4
|
+
Date.now = () => Date.parse("2026-10-19T12:00:00Z");
|
|
3
5
|
import { LIST_CHUNK } from "./order-departure.server.js";
|
|
4
6
|
let failed = 0;
|
|
5
7
|
function check(name, got, want) {
|
|
@@ -30,6 +32,27 @@ check("ok=false: geblokkeerd", bad.kind, "blocked");
|
|
|
30
32
|
check("ok=false: alleen reden", bad.kind === "blocked" ? bad.reason : null, "Geen vervoerder bekend");
|
|
31
33
|
check("geen antwoord: geblokkeerd", decidePreview(null).kind, "blocked");
|
|
32
34
|
check("lijst in delen van 1000", LIST_CHUNK, 1000);
|
|
35
|
+
// Vervoerder al vertrokken (HO-2601443): aanmeldtijd én ophaalmoment voorbij → niet "toch aanmaken".
|
|
36
|
+
const gone = decidePreview(normalizePreview({
|
|
37
|
+
ok: true, deliveryDateFeasible: false, reason: "Aanmelden kon tot ma 19-10 13:00",
|
|
38
|
+
chosen: { momentKey: "k", departureAt: "2026-10-19T13:00:00Z" },
|
|
39
|
+
firstFeasibleDeliveryDate: "2026-10-21",
|
|
40
|
+
}), Date.parse("2026-10-19T20:58:00Z"));
|
|
41
|
+
check("vertrokken (afgeleid uit vertrekmoment)", gone.kind, "departed");
|
|
42
|
+
check("vertrokken: eerste datum", gone.kind === "departed" ? gone.firstDate : null, "2026-10-21");
|
|
43
|
+
const lateNotGone = decidePreview(normalizePreview({
|
|
44
|
+
ok: true, deliveryDateFeasible: false, chosen: { momentKey: "k", departureAt: "2026-10-19T13:00:00Z" },
|
|
45
|
+
}), Date.parse("2026-10-19T11:30:00Z"));
|
|
46
|
+
check("aanmeldtijd voorbij, ophalen nog niet: te laat", lateNotGone.kind, "late");
|
|
47
|
+
const engineSays = decidePreview(normalizePreview({
|
|
48
|
+
ok: true, deliveryDateFeasible: true,
|
|
49
|
+
chosen: { momentKey: "k", departureAt: "2026-10-30T13:00:00Z", departed: true },
|
|
50
|
+
nextFeasibleMoment: { momentKey: "n", departureAt: "x", signupDeadline: null, deliveryDate: "2026-10-31" },
|
|
51
|
+
}));
|
|
52
|
+
check("Engine-veld departed gaat voor", engineSays.kind, "departed");
|
|
53
|
+
check("volgende moment uit Engine", engineSays.kind === "departed" ? engineSays.firstDate : null, "2026-10-31");
|
|
54
|
+
check("eigen vervoer: nooit vertrokken", decidePreview(normalizePreview({ ok: true, ownTransport: true, deliveryDateFeasible: true, chosen: { departureAt: "2026-10-01T10:00:00Z" } })).kind, "ok");
|
|
55
|
+
check("tekst eerste leverdatum", firstDateText("2026-10-21", "2026-10-20T11:00:00Z"), "Eerst mogelijke leverdatum: woensdag 21 oktober (aanmelden vóór dinsdag 13:00).");
|
|
33
56
|
if (failed) {
|
|
34
57
|
console.error(`${failed} controle(s) mislukt`);
|
|
35
58
|
process.exit(1);
|
|
@@ -3,6 +3,14 @@ export interface PreviewMoment {
|
|
|
3
3
|
departureAt: string | null;
|
|
4
4
|
signupDeadline: string | null;
|
|
5
5
|
feasible: boolean;
|
|
6
|
+
/** Ophaalmoment al voorbij (Engine 1.0.168; anders afgeleid uit departureAt). */
|
|
7
|
+
departed: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface NextFeasibleMoment {
|
|
10
|
+
momentKey: string | null;
|
|
11
|
+
departureAt: string | null;
|
|
12
|
+
signupDeadline: string | null;
|
|
13
|
+
deliveryDate: string | null;
|
|
6
14
|
}
|
|
7
15
|
export interface DeparturePreview {
|
|
8
16
|
ok: boolean;
|
|
@@ -13,7 +21,10 @@ export interface DeparturePreview {
|
|
|
13
21
|
momentKey: string | null;
|
|
14
22
|
departureAt: string | null;
|
|
15
23
|
signupDeadline: string | null;
|
|
24
|
+
departed: boolean | null;
|
|
16
25
|
} | null;
|
|
26
|
+
nextFeasibleMoment: NextFeasibleMoment | null;
|
|
27
|
+
ownTransport: boolean;
|
|
17
28
|
deliveryDateFeasible: boolean;
|
|
18
29
|
deliveryDateReason: string | null;
|
|
19
30
|
firstFeasibleDeliveryDate: string | null;
|
|
@@ -32,16 +43,29 @@ export type PreviewDecision = {
|
|
|
32
43
|
firstReason: string | null;
|
|
33
44
|
momentKey: string | null;
|
|
34
45
|
text: string | null;
|
|
46
|
+
} | {
|
|
47
|
+
kind: "departed";
|
|
48
|
+
reason: string;
|
|
49
|
+
firstDate: string | null;
|
|
50
|
+
next: NextFeasibleMoment | null;
|
|
35
51
|
} | {
|
|
36
52
|
kind: "blocked";
|
|
37
53
|
reason: string;
|
|
38
54
|
};
|
|
55
|
+
/**
|
|
56
|
+
* Is het gekozen ophaalmoment al voorbij? Eerst het veld van de Engine
|
|
57
|
+
* (chosen.departed); ontbreekt dat, dan alleen het door de Engine gegeven
|
|
58
|
+
* vertrekmoment met nu vergelijken — geen eigen rekenwerk.
|
|
59
|
+
*/
|
|
60
|
+
export declare function chosenDeparted(p: DeparturePreview, now?: number): boolean;
|
|
39
61
|
/**
|
|
40
62
|
* Wat je ziet / of je mag aanmaken.
|
|
41
63
|
* - ok = false of geen antwoord: geblokkeerd, alleen de reden.
|
|
42
64
|
* - leverdatum niet haalbaar: "te laat" — alleen aanmaken na bewuste keuze.
|
|
43
65
|
*/
|
|
44
|
-
export declare function decidePreview(p: DeparturePreview | null): PreviewDecision;
|
|
66
|
+
export declare function decidePreview(p: DeparturePreview | null, now?: number): PreviewDecision;
|
|
45
67
|
export declare function momentLabel(m: PreviewMoment): string;
|
|
68
|
+
/** "Eerst mogelijke leverdatum: woensdag 21 oktober (aanmelden vóór dinsdag 13:00)." */
|
|
69
|
+
export declare function firstDateText(date: string | null, signupDeadline: string | null): string | null;
|
|
46
70
|
export declare const LATE_CONFIRM = "Deze order komt na de aanmeldtijd. De vervoerder krijgt hem als te laat aangemeld. Doorgaan?";
|
|
47
71
|
//# sourceMappingURL=departure-preview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"departure-preview.d.ts","sourceRoot":"","sources":["../../src/lib/departure-preview.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"departure-preview.d.ts","sourceRoot":"","sources":["../../src/lib/departure-preview.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,iFAAiF;IACjF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACjI,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC9C,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAID,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CA2CtE;AAED,eAAO,MAAM,eAAe,6EAA6E,CAAC;AAE1G,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACrI;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAA;CAAE,GAC/F;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,gBAAgB,EAAE,GAAG,GAAE,MAAmB,GAAG,OAAO,CAKrF;AASD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,gBAAgB,GAAG,IAAI,EAAE,GAAG,GAAE,MAAmB,GAAG,eAAe,CAyBnG;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAEpD;AAgBD,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAM/F;AAED,eAAO,MAAM,YAAY,iGACuE,CAAC"}
|
|
@@ -7,6 +7,7 @@ export declare const getDeparturePreview: import("@tanstack/start-client-core").
|
|
|
7
7
|
deliveryLocation: string;
|
|
8
8
|
deliveryDate: string;
|
|
9
9
|
momentKey?: string | null | undefined;
|
|
10
|
+
ownTransport?: boolean | undefined;
|
|
10
11
|
}, Promise<{
|
|
11
12
|
preview: import("./departure-preview.js").DeparturePreview | null;
|
|
12
13
|
}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"departure-preview.functions.d.ts","sourceRoot":"","sources":["../../src/lib/departure-preview.functions.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB;;;;8CAEN,OAAO
|
|
1
|
+
{"version":3,"file":"departure-preview.functions.d.ts","sourceRoot":"","sources":["../../src/lib/departure-preview.functions.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB;;;;8CAEN,OAAO;;;;;;;;GAc7B,CAAC"}
|
|
@@ -9,6 +9,7 @@ export const getDeparturePreview = createServerFn({ method: "GET" })
|
|
|
9
9
|
deliveryLocation: z.string().min(1).max(100),
|
|
10
10
|
deliveryDate: z.string().regex(/^\d{4}-\d{2}-\d{2}$/),
|
|
11
11
|
momentKey: z.string().max(64).nullable().optional(),
|
|
12
|
+
ownTransport: z.boolean().optional(),
|
|
12
13
|
})
|
|
13
14
|
.parse(input))
|
|
14
15
|
.handler(async ({ data, context }) => {
|
|
@@ -15,6 +15,7 @@ export function normalizePreview(raw) {
|
|
|
15
15
|
departureAt: s(m.departureAt),
|
|
16
16
|
signupDeadline: s(m.signupDeadline),
|
|
17
17
|
feasible: m.feasible === true,
|
|
18
|
+
departed: m.departed === true,
|
|
18
19
|
}))
|
|
19
20
|
: [];
|
|
20
21
|
const c = r.chosen && typeof r.chosen === "object" ? r.chosen : null;
|
|
@@ -24,8 +25,22 @@ export function normalizePreview(raw) {
|
|
|
24
25
|
carrierId: s(r.carrierId),
|
|
25
26
|
moments,
|
|
26
27
|
chosen: c
|
|
27
|
-
? {
|
|
28
|
+
? {
|
|
29
|
+
momentKey: s(c.momentKey),
|
|
30
|
+
departureAt: s(c.departureAt),
|
|
31
|
+
signupDeadline: s(c.signupDeadline),
|
|
32
|
+
departed: typeof c.departed === "boolean" ? c.departed : null,
|
|
33
|
+
}
|
|
28
34
|
: null,
|
|
35
|
+
nextFeasibleMoment: r.nextFeasibleMoment && typeof r.nextFeasibleMoment === "object"
|
|
36
|
+
? {
|
|
37
|
+
momentKey: s(r.nextFeasibleMoment.momentKey),
|
|
38
|
+
departureAt: s(r.nextFeasibleMoment.departureAt),
|
|
39
|
+
signupDeadline: s(r.nextFeasibleMoment.signupDeadline),
|
|
40
|
+
deliveryDate: s(r.nextFeasibleMoment.deliveryDate),
|
|
41
|
+
}
|
|
42
|
+
: null,
|
|
43
|
+
ownTransport: r.ownTransport === true,
|
|
29
44
|
deliveryDateFeasible: r.deliveryDateFeasible === true,
|
|
30
45
|
deliveryDateReason: s(r.deliveryDateReason) ?? s(r.reason),
|
|
31
46
|
firstFeasibleDeliveryDate: s(r.firstFeasibleDeliveryDate),
|
|
@@ -33,6 +48,19 @@ export function normalizePreview(raw) {
|
|
|
33
48
|
};
|
|
34
49
|
}
|
|
35
50
|
export const PREVIEW_UNKNOWN = "Het ophaalmoment is nu niet bekend. Probeer het over een minuut opnieuw.";
|
|
51
|
+
/**
|
|
52
|
+
* Is het gekozen ophaalmoment al voorbij? Eerst het veld van de Engine
|
|
53
|
+
* (chosen.departed); ontbreekt dat, dan alleen het door de Engine gegeven
|
|
54
|
+
* vertrekmoment met nu vergelijken — geen eigen rekenwerk.
|
|
55
|
+
*/
|
|
56
|
+
export function chosenDeparted(p, now = Date.now()) {
|
|
57
|
+
if (p.ownTransport)
|
|
58
|
+
return false;
|
|
59
|
+
if (typeof p.chosen?.departed === "boolean")
|
|
60
|
+
return p.chosen.departed;
|
|
61
|
+
const at = p.chosen?.departureAt ? new Date(p.chosen.departureAt).getTime() : NaN;
|
|
62
|
+
return Number.isFinite(at) && at <= now;
|
|
63
|
+
}
|
|
36
64
|
function momentText(departureAt, signup) {
|
|
37
65
|
const p = formatMoment(departureAt);
|
|
38
66
|
if (!p)
|
|
@@ -45,13 +73,23 @@ function momentText(departureAt, signup) {
|
|
|
45
73
|
* - ok = false of geen antwoord: geblokkeerd, alleen de reden.
|
|
46
74
|
* - leverdatum niet haalbaar: "te laat" — alleen aanmaken na bewuste keuze.
|
|
47
75
|
*/
|
|
48
|
-
export function decidePreview(p) {
|
|
76
|
+
export function decidePreview(p, now = Date.now()) {
|
|
49
77
|
if (!p)
|
|
50
78
|
return { kind: "blocked", reason: PREVIEW_UNKNOWN };
|
|
51
79
|
if (!p.ok)
|
|
52
80
|
return { kind: "blocked", reason: p.reason ?? "Voor deze leverdatum is geen ophaalmoment mogelijk." };
|
|
53
81
|
const momentKey = p.chosen?.momentKey ?? null;
|
|
54
82
|
const text = momentText(p.chosen?.departureAt ?? null, p.chosen?.signupDeadline ?? null);
|
|
83
|
+
if (chosenDeparted(p, now)) {
|
|
84
|
+
return {
|
|
85
|
+
kind: "departed",
|
|
86
|
+
reason: "De vervoerder is voor deze leverdatum al vertrokken. Kies een latere leverdatum of eigen vervoer.",
|
|
87
|
+
firstDate: p.nextFeasibleMoment?.deliveryDate ?? p.firstFeasibleDeliveryDate,
|
|
88
|
+
next: p.nextFeasibleMoment,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
if (p.ownTransport)
|
|
92
|
+
return { kind: "ok", momentKey: null, text: "Eigen vervoer / zelf afleveren" };
|
|
55
93
|
if (!p.deliveryDateFeasible) {
|
|
56
94
|
return {
|
|
57
95
|
kind: "late",
|
|
@@ -67,4 +105,29 @@ export function decidePreview(p) {
|
|
|
67
105
|
export function momentLabel(m) {
|
|
68
106
|
return momentText(m.departureAt, m.signupDeadline) ?? m.momentKey;
|
|
69
107
|
}
|
|
108
|
+
const NL = "Europe/Amsterdam";
|
|
109
|
+
function nlDateLong(d) {
|
|
110
|
+
const t = new Date(`${d.slice(0, 10)}T12:00:00Z`);
|
|
111
|
+
if (Number.isNaN(t.getTime()))
|
|
112
|
+
return null;
|
|
113
|
+
return new Intl.DateTimeFormat("nl-NL", { timeZone: NL, weekday: "long", day: "numeric", month: "long" }).format(t);
|
|
114
|
+
}
|
|
115
|
+
function nlDayTime(iso) {
|
|
116
|
+
const t = new Date(iso);
|
|
117
|
+
if (Number.isNaN(t.getTime()))
|
|
118
|
+
return null;
|
|
119
|
+
const day = new Intl.DateTimeFormat("nl-NL", { timeZone: NL, weekday: "long" }).format(t);
|
|
120
|
+
const time = new Intl.DateTimeFormat("nl-NL", { timeZone: NL, hour: "2-digit", minute: "2-digit", hour12: false }).format(t);
|
|
121
|
+
return `${day} ${time}`;
|
|
122
|
+
}
|
|
123
|
+
/** "Eerst mogelijke leverdatum: woensdag 21 oktober (aanmelden vóór dinsdag 13:00)." */
|
|
124
|
+
export function firstDateText(date, signupDeadline) {
|
|
125
|
+
if (!date)
|
|
126
|
+
return null;
|
|
127
|
+
const d = nlDateLong(date);
|
|
128
|
+
if (!d)
|
|
129
|
+
return null;
|
|
130
|
+
const a = signupDeadline ? nlDayTime(signupDeadline) : null;
|
|
131
|
+
return a ? `Eerst mogelijke leverdatum: ${d} (aanmelden vóór ${a}).` : `Eerst mogelijke leverdatum: ${d}.`;
|
|
132
|
+
}
|
|
70
133
|
export const LATE_CONFIRM = "Deze order komt na de aanmeldtijd. De vervoerder krijgt hem als te laat aangemeld. Doorgaan?";
|
|
@@ -4,6 +4,7 @@ export declare function loadDeparturePreview(supabase: any, input: {
|
|
|
4
4
|
deliveryLocation: string;
|
|
5
5
|
deliveryDate: string;
|
|
6
6
|
momentKey?: string | null;
|
|
7
|
+
ownTransport?: boolean;
|
|
7
8
|
}): Promise<DeparturePreview | null>;
|
|
8
9
|
/** Aanlevertijd opzoeken bij het door de Engine gekozen moment (geen berekening). */
|
|
9
10
|
export declare function deliveryTimeForMoment(supabase: any, carrierId: string | null, momentKey: string | null): Promise<string | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"departure-preview.server.d.ts","sourceRoot":"","sources":["../../src/lib/departure-preview.server.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,GAAG,EACb,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"departure-preview.server.d.ts","sourceRoot":"","sources":["../../src/lib/departure-preview.server.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,GAAG,EACb,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACrI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAoBlC;AAED,qFAAqF;AACrF,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKxB"}
|
|
@@ -7,6 +7,9 @@ export async function loadDeparturePreview(supabase, input) {
|
|
|
7
7
|
p_delivery_location: input.deliveryLocation,
|
|
8
8
|
p_delivery_date: input.deliveryDate,
|
|
9
9
|
p_moment_key: input.momentKey ?? null,
|
|
10
|
+
// Alleen meesturen bij eigen vervoer (Engine 1.0.168+); oudere Engine
|
|
11
|
+
// kent de parameter niet en geeft dan een fout → fail closed.
|
|
12
|
+
...(input.ownTransport ? { p_own_transport: true } : {}),
|
|
10
13
|
});
|
|
11
14
|
if (error) {
|
|
12
15
|
console.warn("[departure-preview]", error.message);
|
|
@@ -21,7 +21,9 @@ export declare function releaseDueInvoices(supabase: any, limit?: number): Promi
|
|
|
21
21
|
}>;
|
|
22
22
|
/** Volledige cyclus: eerst herberekenen, daarna vrijgeven. */
|
|
23
23
|
export declare function runInvoiceTimingCycle(): Promise<{
|
|
24
|
-
|
|
24
|
+
version: string;
|
|
25
|
+
checked: number;
|
|
26
|
+
changed: number;
|
|
25
27
|
released: number;
|
|
26
28
|
}>;
|
|
27
29
|
//# sourceMappingURL=invoice-timing.server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoice-timing.server.d.ts","sourceRoot":"","sources":["../../src/lib/invoice-timing.server.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAE1B,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AAE7D,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAkB7F;AA6ED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,GAAG,EACb,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GACpC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAmD/C;AAED,8EAA8E;AAC9E,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,GAAG,EACb,KAAK,SAAM,GACV,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAgCnD;AAED,8DAA8D;AAC9D,wBAAsB,qBAAqB,IAAI,OAAO,CAAC;IACrD,
|
|
1
|
+
{"version":3,"file":"invoice-timing.server.d.ts","sourceRoot":"","sources":["../../src/lib/invoice-timing.server.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAE1B,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AAE7D,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAkB7F;AA6ED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,GAAG,EACb,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GACpC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAmD/C;AAED,8EAA8E;AAC9E,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,GAAG,EACb,KAAK,SAAM,GACV,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAgCnD;AAED,8DAA8D;AAC9D,wBAAsB,qBAAqB,IAAI,OAAO,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAMD"}
|
|
@@ -185,7 +185,8 @@ export async function releaseDueInvoices(supabase, limit = 200) {
|
|
|
185
185
|
/** Volledige cyclus: eerst herberekenen, daarna vrijgeven. */
|
|
186
186
|
export async function runInvoiceTimingCycle() {
|
|
187
187
|
const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
|
|
188
|
-
const
|
|
188
|
+
const { MODULE_VERSION } = await import("./module-version.js");
|
|
189
|
+
const r = await recomputeInvoiceDueDates(supabaseAdmin);
|
|
189
190
|
const released = (await releaseDueInvoices(supabaseAdmin, 200)).released;
|
|
190
|
-
return {
|
|
191
|
+
return { version: MODULE_VERSION, checked: r.checked, changed: r.updated, released };
|
|
191
192
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-version.d.ts","sourceRoot":"","sources":["../../src/lib/module-version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,WAAW,CAAC"}
|
|
@@ -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;AAIjF,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;AAIjF,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,CA8lCrB"}
|
|
@@ -724,6 +724,7 @@ export async function buildSalesOrdersList(supabase, params, connectionSupabase
|
|
|
724
724
|
floridayFulfilled: Boolean(cf.floriday_fulfilled),
|
|
725
725
|
floridayExternalFulfilledAt: cf.floriday_external_fulfilled_at ?? null,
|
|
726
726
|
floridayMissingLineKeyNotice: typeof cf.floriday_missing_line_key_notice === "string" ? cf.floriday_missing_line_key_notice : null,
|
|
727
|
+
customerReference: typeof cf.customer_reference === "string" && cf.customer_reference.trim() ? cf.customer_reference.trim() : null,
|
|
727
728
|
floridayExternalFulfilledIds: Array.isArray(cf.floriday_external_fulfilled_sales_order_ids) ? cf.floriday_external_fulfilled_sales_order_ids : [],
|
|
728
729
|
notReportedToFloriday: (sourceRaw === "floriday" || !!r.floriday_sales_order_id) &&
|
|
729
730
|
isNotReportedLocally(resolveOrderStage({
|
|
@@ -969,7 +970,7 @@ export async function buildSalesOrdersList(supabase, params, connectionSupabase
|
|
|
969
970
|
// 13) Filteren (zoek + status), tellen, pagineren — op samengevouwen rijen.
|
|
970
971
|
const search = (params.search ?? "").trim().toLowerCase();
|
|
971
972
|
const matchesSearch = (members) => !search ||
|
|
972
|
-
members.some((o) => `${o.productName} ${o.sku} ${o.orderNumber} ${o.customer.name}`.toLowerCase().includes(search));
|
|
973
|
+
members.some((o) => `${o.productName} ${o.sku} ${o.orderNumber} ${o.customer.name} ${o.customerReference ?? ""}`.toLowerCase().includes(search));
|
|
973
974
|
const stageOf = (members) => mergeStages(members.map((m) => m.stage ?? "incoming"));
|
|
974
975
|
const matchesStatusFilter = (members) => {
|
|
975
976
|
const stage = stageOf(members);
|
|
@@ -53,6 +53,8 @@ export interface SalesOrderDTO {
|
|
|
53
53
|
/** Tijdstip waarop de order in Floriday zelf (buiten het ERP om) is afgehandeld. */
|
|
54
54
|
floridayExternalFulfilledAt?: string | null;
|
|
55
55
|
floridayMissingLineKeyNotice?: string | null;
|
|
56
|
+
/** Referentie van de klant (custom_fields.customer_reference), alleen lezen. */
|
|
57
|
+
customerReference?: string | null;
|
|
56
58
|
/** Floriday-bestellingen op deze order die in Floriday zijn afgehandeld. */
|
|
57
59
|
floridayExternalFulfilledIds?: string[];
|
|
58
60
|
/** Verzonden in het ERP, nog niet afgemeld bij Floriday (alleen weergave). */
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"salesorders.functions.d.ts","sourceRoot":"","sources":["../../src/lib/salesorders.functions.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,KAAK,aAAa,EAEnB,MAAM,uBAAuB,CAAC;AAqD/B,wBAAsB,0BAA0B,iBAM/C;AAGD,eAAO,MAAM,kBAAkB;;;;;QA3BzB,OAAO;cACD,OAAO;cACP,MAAM;GA2B+B,CAAC;AA6BlD,eAAO,MAAM,gBAAgB;;;;6CAEJ,OAAO;;;;;;;;;;;;;GAmC5B,CAAC;AAGL,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDnC,CAAC;AASL,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;0CAEV,OAAO;;
|
|
1
|
+
{"version":3,"file":"salesorders.functions.d.ts","sourceRoot":"","sources":["../../src/lib/salesorders.functions.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,KAAK,aAAa,EAEnB,MAAM,uBAAuB,CAAC;AAqD/B,wBAAsB,0BAA0B,iBAM/C;AAGD,eAAO,MAAM,kBAAkB;;;;;QA3BzB,OAAO;cACD,OAAO;cACP,MAAM;GA2B+B,CAAC;AA6BlD,eAAO,MAAM,gBAAgB;;;;6CAEJ,OAAO;;;;;;;;;;;;;GAmC5B,CAAC;AAGL,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDnC,CAAC;AASL,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;0CAEV,OAAO;;mCA+ZzB,CAAC;AAQL,eAAO,MAAM,uBAAuB;;;;0CAEd,OAAO;;;;;GAQzB,CAAC;AAOL,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAIF,eAAO,MAAM,qBAAqB;;;;6EA4E9B,CAAC"}
|
|
@@ -331,6 +331,10 @@ export const getSalesOrderDetail = createServerFn({ method: "POST" })
|
|
|
331
331
|
});
|
|
332
332
|
dto.floridayFulfilled = Boolean((ownRow?.custom_fields ?? {})?.floriday_fulfilled);
|
|
333
333
|
dto.floridayExternalFulfilledAt = (ownRow?.custom_fields ?? {})?.floriday_external_fulfilled_at ?? null;
|
|
334
|
+
{
|
|
335
|
+
const r = (ownRow?.custom_fields ?? {})?.customer_reference;
|
|
336
|
+
dto.customerReference = typeof r === "string" && r.trim() ? r.trim() : null;
|
|
337
|
+
}
|
|
334
338
|
{
|
|
335
339
|
const n = (ownRow?.custom_fields ?? {})?.floriday_missing_line_key_notice;
|
|
336
340
|
dto.floridayMissingLineKeyNotice = typeof n === "string" ? n : null;
|