@flowselections/logistiek-engine 1.0.183 → 1.0.187

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":"BeheerPage.d.ts","sourceRoot":"","sources":["../../src/components/BeheerPage.tsx"],"names":[],"mappings":"AA4JA,wBAAgB,UAAU,gCAiBzB"}
1
+ {"version":3,"file":"BeheerPage.d.ts","sourceRoot":"","sources":["../../src/components/BeheerPage.tsx"],"names":[],"mappings":"AA6JA,wBAAgB,UAAU,gCAkBzB"}
@@ -17,6 +17,7 @@ import { OpruimlijstKarrenCard } from "./OpruimlijstKarrenCard.js";
17
17
  import { HerindelingMeldingCard } from "./HerindelingMeldingCard.js";
18
18
  import { GeblokkeerdeStickersCard } from "./GeblokkeerdeStickersCard.js";
19
19
  import { EtiketInstellenMelding } from "./EtiketInstellenMelding.js";
20
+ import { VervoerderBewakingCard } from "./VervoerderBewakingCard.js";
20
21
  import { BeladingVerstuurderCard } from "./BeladingVerstuurderCard.js";
21
22
  import { DocumentkeuzeCard } from "./DocumentkeuzeCard.js";
22
23
  import { MinuutrondeStartMelding } from "./MinuutrondeStartMelding.js";
@@ -78,5 +79,5 @@ function HerindelenBeheer() {
78
79
  : `${voor?.geprintOfGepickt ?? 0} order(s) die al geprint of gepickt zijn, blijven ongemoeid.` })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: "Annuleren" }), _jsxs(AlertDialogAction, { onClick: () => void voerUit(), disabled: (voor?.aantal ?? 0) === 0, children: ["Ja, ", voor?.aantal ?? 0, " order(s) opnieuw indelen"] })] })] }) })] }));
79
80
  }
80
81
  export function BeheerPage() {
81
- return (_jsx(RolPoort, { rollen: ENGINE_TOEGANG.beheer, children: _jsxs("div", { className: "space-y-6 p-6", children: [_jsx(MinuutrondeStartMelding, {}), _jsx(HerindelenBeheer, {}), _jsx(HerindelingMeldingCard, {}), _jsx(EtiketInstellenMelding, {}), _jsx(GeblokkeerdeStickersCard, {}), _jsx(OudeOrderregelsCard, {}), _jsx(BeladingVerstuurderCard, {}), _jsx(DocumentkeuzeCard, {}), _jsx(AutomatischVersturenCard, {}), _jsx(OpruimlijstKarrenCard, {})] }) }));
82
+ return (_jsx(RolPoort, { rollen: ENGINE_TOEGANG.beheer, children: _jsxs("div", { className: "space-y-6 p-6", children: [_jsx(MinuutrondeStartMelding, {}), _jsx(HerindelenBeheer, {}), _jsx(HerindelingMeldingCard, {}), _jsx(VervoerderBewakingCard, {}), _jsx(EtiketInstellenMelding, {}), _jsx(GeblokkeerdeStickersCard, {}), _jsx(OudeOrderregelsCard, {}), _jsx(BeladingVerstuurderCard, {}), _jsx(DocumentkeuzeCard, {}), _jsx(AutomatischVersturenCard, {}), _jsx(OpruimlijstKarrenCard, {})] }) }));
82
83
  }
@@ -0,0 +1,15 @@
1
+ export interface VervoerderStand {
2
+ zonderVervoerder: number;
3
+ viaFavoriet: number;
4
+ nogNietBerekend: number;
5
+ bronOud: number;
6
+ bestaandeOrders: boolean;
7
+ lijstZonder: {
8
+ orderId: string;
9
+ orderNumber: string | null;
10
+ reden: string;
11
+ }[];
12
+ }
13
+ export declare function leesVervoerderStand(data: unknown): VervoerderStand | null;
14
+ export declare function VervoerderBewakingCard(): import("react").JSX.Element | null;
15
+ //# sourceMappingURL=VervoerderBewakingCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VervoerderBewakingCard.d.ts","sourceRoot":"","sources":["../../src/components/VervoerderBewakingCard.tsx"],"names":[],"mappings":"AAYA,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAiBzE;AAED,wBAAgB,sBAAsB,uCA6DrC"}
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // ============================================================================
3
+ // src/components/VervoerderBewakingCard.tsx — bewaking vervoerder per order
4
+ // ============================================================================
5
+ // Leest logistics_carrier_status(); schakelaar via logistics_carrier_set_backfill.
6
+ // GEEN <Header /> hier — die levert de shell.
7
+ // ============================================================================
8
+ import { useEffect, useState } from "react";
9
+ import { Button, Card, CardContent, CardDescription, CardHeader, CardTitle } from "@flowselections/core";
10
+ import { Truck } from "lucide-react";
11
+ import { toast } from "sonner";
12
+ import { supabase } from "../integrations/supabase/client.js";
13
+ export function leesVervoerderStand(data) {
14
+ if (!data || typeof data !== "object")
15
+ return null;
16
+ const d = data;
17
+ const n = (v) => (typeof v === "number" ? v : Number(v) || 0);
18
+ const lijst = Array.isArray(d["lijstZonder"]) ? d["lijstZonder"] : [];
19
+ return {
20
+ zonderVervoerder: n(d["zonderVervoerder"]),
21
+ viaFavoriet: n(d["viaFavoriet"]),
22
+ nogNietBerekend: n(d["nogNietBerekend"]),
23
+ bronOud: n(d["bronOud"]),
24
+ bestaandeOrders: d["bestaandeOrders"] === true,
25
+ lijstZonder: lijst.slice(0, 20).map((r) => ({
26
+ orderId: String(r?.orderId ?? ""),
27
+ orderNumber: r?.orderNumber ?? null,
28
+ reden: String(r?.reden ?? ""),
29
+ })),
30
+ };
31
+ }
32
+ export function VervoerderBewakingCard() {
33
+ const [stand, setStand] = useState(null);
34
+ const [bezig, setBezig] = useState(false);
35
+ const laad = () => supabase.rpc("logistics_carrier_status").then(({ data, error }) => {
36
+ if (!error)
37
+ setStand(leesVervoerderStand(data));
38
+ });
39
+ useEffect(() => {
40
+ void laad();
41
+ }, []);
42
+ if (!stand)
43
+ return null;
44
+ const zet = async (aan) => {
45
+ setBezig(true);
46
+ const { error } = await supabase.rpc("logistics_carrier_set_backfill", { p_on: aan });
47
+ setBezig(false);
48
+ if (error)
49
+ toast.error(error.message ?? "Schakelaar niet aangepast");
50
+ else {
51
+ toast.success(aan ? "Bestaande orders worden berekend" : "Bestaande orders worden niet meer berekend");
52
+ void laad();
53
+ }
54
+ };
55
+ return (_jsxs(Card, { className: stand.zonderVervoerder > 0 ? "border-destructive" : undefined, children: [_jsxs(CardHeader, { children: [_jsxs(CardTitle, { className: "flex items-center gap-2", children: [_jsx(Truck, { className: "h-4 w-4" }), "Vervoerder per order"] }), _jsxs(CardDescription, { children: ["Open orders zonder vervoerder: ", _jsx("strong", { children: stand.zonderVervoerder }), " (hoort 0 te zijn) \u00B7 via de favoriet: ", _jsx("strong", { children: stand.viaFavoriet }), " (hier ontbreken werkgebieden of locaties) \u00B7 overgenomen (oud): ", _jsx("strong", { children: stand.bronOud })] })] }), _jsxs(CardContent, { className: "space-y-3", children: [stand.zonderVervoerder > 0 && (_jsx("ul", { className: "space-y-1 text-sm text-destructive", children: stand.lijstZonder.map((r) => (_jsxs("li", { children: [r.orderNumber ?? r.orderId, ": ", r.reden] }, r.orderId))) })), _jsxs("div", { className: "flex flex-wrap items-center gap-3 text-sm", children: [_jsxs("span", { children: ["Vervoerder berekenen voor bestaande orders: ", _jsx("strong", { children: stand.bestaandeOrders ? "aan" : "uit" }), !stand.bestaandeOrders && stand.nogNietBerekend > 0 ? ` (${stand.nogNietBerekend} wachten op akkoord)` : ""] }), _jsx(Button, { size: "sm", variant: "outline", disabled: bezig, onClick: () => void zet(!stand.bestaandeOrders), children: stand.bestaandeOrders ? "Uitzetten" : "Aanzetten" })] })] })] }));
56
+ }
@@ -20,6 +20,7 @@ export { WerkwijzeHerindelingCard } from './components/WerkwijzeHerindelingCard.
20
20
  export { HerindelingMeldingCard } from './components/HerindelingMeldingCard.js';
21
21
  export { GeblokkeerdeStickersCard } from './components/GeblokkeerdeStickersCard.js';
22
22
  export { EtiketInstellenMelding } from './components/EtiketInstellenMelding.js';
23
+ export { VervoerderBewakingCard, leesVervoerderStand } from './components/VervoerderBewakingCard.js';
23
24
  export { WerktijdenCard } from './components/WerktijdenCard.js';
24
25
  export { useWerktijden } from './hooks/useWerktijden.js';
25
26
  export { FloridayPoortCard } from './components/FloridayPoortCard.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist-lib/index.js CHANGED
@@ -23,6 +23,7 @@ export { WerkwijzeHerindelingCard } from './components/WerkwijzeHerindelingCard.
23
23
  export { HerindelingMeldingCard } from './components/HerindelingMeldingCard.js';
24
24
  export { GeblokkeerdeStickersCard } from './components/GeblokkeerdeStickersCard.js';
25
25
  export { EtiketInstellenMelding } from './components/EtiketInstellenMelding.js';
26
+ export { VervoerderBewakingCard, leesVervoerderStand } from './components/VervoerderBewakingCard.js';
26
27
  export { WerktijdenCard } from './components/WerktijdenCard.js';
27
28
  export { useWerktijden } from './hooks/useWerktijden.js';
28
29
  export { FloridayPoortCard } from './components/FloridayPoortCard.js';