@flowselections/logistiek-engine 1.0.99 → 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/BeladingIndelingCard.d.ts.map +1 -1
- package/dist-lib/components/BeladingIndelingCard.js +5 -1
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +448 -6
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +448 -6
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/moduleClient.d.ts +448 -6
- package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +462 -6
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/cartCoverage.functions.d.ts +448 -6
- package/dist-lib/lib/cartCoverage.functions.d.ts.map +1 -1
- package/dist-lib/lib/controlScan.server.d.ts +8 -0
- package/dist-lib/lib/controlScan.server.d.ts.map +1 -1
- package/dist-lib/lib/controlScan.server.js +49 -5
- package/dist-lib/lib/floridayCancellation.server.d.ts +15 -0
- package/dist-lib/lib/floridayCancellation.server.d.ts.map +1 -0
- package/dist-lib/lib/floridayCancellation.server.js +89 -0
- package/dist-lib/lib/floridayCancellation.test.d.ts +2 -0
- package/dist-lib/lib/floridayCancellation.test.d.ts.map +1 -0
- package/dist-lib/lib/floridayCancellation.test.js +42 -0
- package/dist-lib/lib/floridayDocuments.functions.d.ts +1344 -18
- package/dist-lib/lib/floridayDocuments.functions.d.ts.map +1 -1
- package/dist-lib/lib/floridayPush.functions.d.ts +448 -6
- package/dist-lib/lib/floridayPush.functions.d.ts.map +1 -1
- package/dist-lib/lib/layerUtilization.d.ts +2 -0
- package/dist-lib/lib/layerUtilization.d.ts.map +1 -0
- package/dist-lib/lib/layerUtilization.js +11 -0
- package/dist-lib/lib/layerUtilization.test.d.ts +2 -0
- package/dist-lib/lib/layerUtilization.test.d.ts.map +1 -0
- package/dist-lib/lib/layerUtilization.test.js +11 -0
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts +2240 -30
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanning.server.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanning.server.js +10 -1
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts +896 -12
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts +448 -6
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts.map +1 -1
- package/dist-lib/lib/moduleVersion.d.ts +1 -1
- package/dist-lib/lib/moduleVersion.d.ts.map +1 -1
- package/dist-lib/lib/moduleVersion.js +1 -1
- package/dist-lib/lib/plannerDiff.functions.d.ts +448 -6
- package/dist-lib/lib/plannerDiff.functions.d.ts.map +1 -1
- package/dist-lib/lib/shippingNoteQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/shippingNoteQueue.server.js +11 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BeladingIndelingCard.d.ts","sourceRoot":"","sources":["../../src/components/BeladingIndelingCard.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BeladingIndelingCard.d.ts","sourceRoot":"","sources":["../../src/components/BeladingIndelingCard.tsx"],"names":[],"mappings":"AAoCA,wBAAgB,oBAAoB,gCAmJnC"}
|
|
@@ -11,6 +11,7 @@ import { useServerFn } from "@tanstack/react-start";
|
|
|
11
11
|
import { Boxes, Search } from "lucide-react";
|
|
12
12
|
import { previewLoadCarrierPlan, replanOrderLoadCarriers } from "../lib/loadCarrierPlanning.functions";
|
|
13
13
|
import { carrierLabel } from "../lib/loadCarrierTypes";
|
|
14
|
+
import { layerUtilizationPct } from "../lib/layerUtilization";
|
|
14
15
|
const db = () => supabase;
|
|
15
16
|
export function BeladingIndelingCard() {
|
|
16
17
|
const preview = useServerFn(previewLoadCarrierPlan);
|
|
@@ -73,5 +74,8 @@ export function BeladingIndelingCard() {
|
|
|
73
74
|
}
|
|
74
75
|
};
|
|
75
76
|
const safeCarts = Array.isArray(carts) ? carts : [];
|
|
76
|
-
return (_jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsxs(CardTitle, { className: "flex items-center gap-2", children: [_jsx(Boxes, { className: "h-5 w-5 text-primary" }), "Beladingindeling"] }), _jsx(CardDescription, { children: "De Engine deelt de orderregels van de hele buffer in over ladingdragers. Bekijk eerst het resultaat en leg het daarna vast." }), _jsxs("div", { className: "flex flex-wrap items-end gap-2 pt-2", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsx(Label, { htmlFor: "indeling-order", children: "Ordernummer" }), _jsx(Input, { id: "indeling-order", value: orderNummer, onChange: (e) => setOrderNummer(e.target.value), placeholder: "SO-12345", className: "w-56" })] }), _jsxs(Button, { onClick: () => void bereken(), disabled: bezig || !orderNummer.trim(), children: [_jsx(Search, { className: "mr-2 h-4 w-4" }), "Berekenen"] }), _jsx(Button, { variant: "outline", onClick: () => void vastleggen(), disabled: bezig || !orderId, children: "Vastleggen" })] })] }), _jsxs(CardContent, { className: "space-y-4", children: [warnings.length > 0 && (_jsx("ul", { className: "space-y-1 rounded-lg border border-dashed p-3 text-sm text-muted-foreground", children: warnings.map((w, i) => (_jsx("li", { children: w }, i))) })), safeCarts.length === 0 ? (_jsx("p", { className: "text-sm text-muted-foreground", children: "Nog geen indeling berekend." })) : (safeCarts.map((cart) => (_jsxs("div", { className: "space-y-2 rounded-lg border p-3", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs("span", { className: "font-medium", children: ["Ladingdrager ", cart.cart_number] }), _jsx(Badge, { variant: "secondary", children: carrierLabel(cart.carrier_type) }), _jsxs(Badge, { variant: cart.is_complete ? "default" : "outline", children: [cart.occupancy_pct, "% vol"] }), _jsxs("span", { className: "text-xs text-muted-foreground", children: [cart.total_layers_used, " van ", cart.max_layers, " lagen",
|
|
77
|
+
return (_jsxs(Card, { children: [_jsxs(CardHeader, { children: [_jsxs(CardTitle, { className: "flex items-center gap-2", children: [_jsx(Boxes, { className: "h-5 w-5 text-primary" }), "Beladingindeling"] }), _jsx(CardDescription, { children: "De Engine deelt de orderregels van de hele buffer in over ladingdragers. Bekijk eerst het resultaat en leg het daarna vast." }), _jsxs("div", { className: "flex flex-wrap items-end gap-2 pt-2", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsx(Label, { htmlFor: "indeling-order", children: "Ordernummer" }), _jsx(Input, { id: "indeling-order", value: orderNummer, onChange: (e) => setOrderNummer(e.target.value), placeholder: "SO-12345", className: "w-56" })] }), _jsxs(Button, { onClick: () => void bereken(), disabled: bezig || !orderNummer.trim(), children: [_jsx(Search, { className: "mr-2 h-4 w-4" }), "Berekenen"] }), _jsx(Button, { variant: "outline", onClick: () => void vastleggen(), disabled: bezig || !orderId, children: "Vastleggen" })] })] }), _jsxs(CardContent, { className: "space-y-4", children: [warnings.length > 0 && (_jsx("ul", { className: "space-y-1 rounded-lg border border-dashed p-3 text-sm text-muted-foreground", children: warnings.map((w, i) => (_jsx("li", { children: w }, i))) })), safeCarts.length === 0 ? (_jsx("p", { className: "text-sm text-muted-foreground", children: "Nog geen indeling berekend." })) : (safeCarts.map((cart) => (_jsxs("div", { className: "space-y-2 rounded-lg border p-3", children: [_jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsxs("span", { className: "font-medium", children: ["Ladingdrager ", cart.cart_number] }), _jsx(Badge, { variant: "secondary", children: carrierLabel(cart.carrier_type) }), _jsxs(Badge, { variant: cart.is_complete ? "default" : "outline", children: [cart.occupancy_pct, "% vol"] }), _jsxs("span", { className: "text-xs text-muted-foreground", children: [cart.total_layers_used, " van ", cart.max_layers, " lagen", (() => {
|
|
78
|
+
const p = layerUtilizationPct(cart.total_layers_used, cart.max_layers);
|
|
79
|
+
return p === null ? "" : ` · ${p}% van de kar`;
|
|
80
|
+
})(), cart.weight_kg ? ` · ${cart.weight_kg} kg` : ""] })] }), _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { children: "Partij" }), _jsx(TableHead, { className: "text-right", children: "Fusten" }), _jsx(TableHead, { className: "text-right", children: "Planten" }), _jsx(TableHead, { className: "text-right", children: "Aandeel" })] }) }), _jsx(TableBody, { children: (Array.isArray(cart.items) ? cart.items : []).map((item, idx) => (_jsxs(TableRow, { children: [_jsx(TableCell, { className: "font-medium", children: item.product_name }), _jsx(TableCell, { className: "text-right", children: item.crates }), _jsx(TableCell, { className: "text-right", children: item.plants }), _jsxs(TableCell, { className: "text-right", children: [Math.round(item.layer_share_pct * 10) / 10, "%"] })] }, `${item.order_item_id}-${idx}`))) })] })] }, cart.cart_number))))] })] }));
|
|
77
81
|
}
|