@flowselections/floriday-afhandeling-module 1.0.46 → 1.0.47

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.
Files changed (30) hide show
  1. package/dist-lib/components/afhandeling/DagDetailDialog.d.ts.map +1 -1
  2. package/dist-lib/components/afhandeling/DagDetailDialog.js +31 -8
  3. package/dist-lib/integrations/supabase/auth-middleware.d.ts +500 -3
  4. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  5. package/dist-lib/integrations/supabase/client.server.d.ts +500 -3
  6. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  7. package/dist-lib/integrations/supabase/moduleClient.d.ts +500 -3
  8. package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
  9. package/dist-lib/integrations/supabase/types.d.ts +514 -3
  10. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  11. package/dist-lib/lib/afhandelingSettings.functions.d.ts +1000 -6
  12. package/dist-lib/lib/afhandelingSettings.functions.d.ts.map +1 -1
  13. package/dist-lib/lib/carriers.functions.d.ts +2500 -15
  14. package/dist-lib/lib/carriers.functions.d.ts.map +1 -1
  15. package/dist-lib/lib/cartAssignments.functions.d.ts +33860 -41
  16. package/dist-lib/lib/cartAssignments.functions.d.ts.map +1 -1
  17. package/dist-lib/lib/cartAssignments.functions.js +69 -0
  18. package/dist-lib/lib/cartControl.functions.d.ts +5500 -33
  19. package/dist-lib/lib/cartControl.functions.d.ts.map +1 -1
  20. package/dist-lib/lib/deliveryNote.functions.d.ts +500 -3
  21. package/dist-lib/lib/deliveryNote.functions.d.ts.map +1 -1
  22. package/dist-lib/lib/engineLayouts.functions.d.ts +500 -3
  23. package/dist-lib/lib/engineLayouts.functions.d.ts.map +1 -1
  24. package/dist-lib/lib/floriday.functions.d.ts +1000 -6
  25. package/dist-lib/lib/floriday.functions.d.ts.map +1 -1
  26. package/dist-lib/lib/orderFulfilment.functions.d.ts +500 -3
  27. package/dist-lib/lib/orderFulfilment.functions.d.ts.map +1 -1
  28. package/dist-lib/lib/pickDates.functions.d.ts +500 -3
  29. package/dist-lib/lib/pickDates.functions.d.ts.map +1 -1
  30. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"DagDetailDialog.d.ts","sourceRoot":"","sources":["../../../src/components/afhandeling/DagDetailDialog.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAyEjE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC;AAQD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,sCAG1D"}
1
+ {"version":3,"file":"DagDetailDialog.d.ts","sourceRoot":"","sources":["../../../src/components/afhandeling/DagDetailDialog.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AA+EjE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC;AAQD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,sCAG1D"}
@@ -8,7 +8,7 @@ import { ResponsiveDialogBody, ResponsiveDialogContent, ResponsiveDialogFooter,
8
8
  import { usePickAgenda } from "../../hooks/usePickAgenda";
9
9
  import { useOrderBuffers } from "../../hooks/useOrderBuffers";
10
10
  import { isSameDay } from "../../lib/pickDate";
11
- import { getOrderLines, } from "../../lib/cartAssignments.functions";
11
+ import { getOrderLines, getDayCartContents, } from "../../lib/cartAssignments.functions";
12
12
  import { printLayoutDocument, printPdfDocument, printFoutMelding } from "../../lib/printing";
13
13
  import { AutoProcessStatus } from "./AutoProcessStatus";
14
14
  import { CapacityWarning } from "./CapacityWarning";
@@ -82,23 +82,44 @@ function DagDetailContent({ open, date, planned, onOpenChange, }) {
82
82
  planned: p,
83
83
  });
84
84
  }
85
+ // Echte karindeling per order ophalen.
86
+ const fetchCartContents = useServerFn(getDayCartContents);
87
+ const refsForQuery = ordersOnDay.map((o) => o.ref).sort();
88
+ const contentsQuery = useQuery({
89
+ queryKey: ["day-cart-contents", dayKey, refsForQuery],
90
+ queryFn: () => fetchCartContents({ data: { orderRefs: refsForQuery } }),
91
+ enabled: open && refsForQuery.length > 0,
92
+ });
93
+ const contentsByRef = new Map();
94
+ for (const c of contentsQuery.data?.carts ?? []) {
95
+ const k = refKey(c.orderRef);
96
+ const list = contentsByRef.get(k) ?? [];
97
+ list.push(c);
98
+ contentsByRef.set(k, list);
99
+ }
85
100
  // Eén rij per kar die op deze dag valt.
86
101
  const cartRows = [];
87
102
  for (const o of ordersOnDay) {
88
103
  const total = Math.max(0, o.carts);
89
- const plantsPerCart = total > 0 ? Math.round(o.plants / total) : 0;
104
+ const real = contentsByRef.get(refKey(o.ref)) ?? [];
90
105
  for (let idx = 0; idx < total; idx++) {
106
+ const rc = real[idx] ?? null;
107
+ const nr = rc?.cartNumber ?? idx + 1;
91
108
  cartRows.push({
92
109
  key: `${o.ref}-${idx}`,
93
110
  orderRef: o.ref,
94
111
  customerName: o.planned?.order.customerName ?? "—",
95
112
  cartIndex: idx,
96
- cartNumber: `${o.ref}-${String(idx + 1).padStart(2, "0")}`,
113
+ cartNumber: `${o.ref}-${String(nr).padStart(2, "0")}`,
97
114
  order: o.planned,
98
- layers: 4,
99
- crates: 0,
100
- plants: plantsPerCart,
101
- occupancy: 100,
115
+ layers: rc?.layersUsed ?? null,
116
+ maxLayers: rc?.maxLayers ?? null,
117
+ crates: rc?.crates ?? null,
118
+ plants: rc?.plants ?? null,
119
+ occupancy: rc?.occupancy ?? null,
120
+ layerUtilization: rc?.layerUtilization ?? null,
121
+ hasContent: !!rc,
122
+ contentLoading: contentsQuery.isLoading,
102
123
  status: o.status,
103
124
  });
104
125
  }
@@ -601,7 +622,9 @@ function KarRow({ cart: c, cartTotal, selected, onToggle, }) {
601
622
  setBezig(null);
602
623
  }
603
624
  };
604
- return (_jsxs("div", { className: `rounded-md border p-3 ${selected ? "border-primary bg-primary/5" : ""}`, children: [_jsxs("div", { className: "flex items-start gap-3", children: [_jsx(Checkbox, { checked: selected, onCheckedChange: onToggle, className: "mt-1" }), _jsxs("div", { className: "grid flex-1 gap-3 lg:grid-cols-[1fr_1.4fr_1fr_auto] lg:items-center", children: [_jsx(Field, { label: "Karnummer", value: c.cartNumber }), _jsx(Field, { label: "Klant", value: c.customerName }), _jsx(Field, { label: "Bestelling", value: c.orderRef }), _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx(Badge, { variant: voortgang(c.status).variant, children: voortgang(c.status).label }), _jsxs(Badge, { variant: "outline", children: [c.occupancy, "%"] }), _jsxs(Badge, { variant: "outline", children: [c.layers, " lagen"] }), _jsxs(Badge, { variant: "outline", children: [c.plants, " planten"] }), _jsxs(Button, { size: "sm", variant: "outline", disabled: bezig !== null, onClick: printPakbon, title: "Pakbon van deze kar opnieuw printen", children: [_jsx(Printer, { className: "mr-1 h-3.5 w-3.5" }), bezig === "pakbon" ? "Bezig…" : "Pakbon"] }), _jsxs(Button, { size: "sm", variant: "outline", disabled: bezig !== null, onClick: printVerzendbrief, title: "Verzendbrief van deze bestelling printen", children: [_jsx(Printer, { className: "mr-1 h-3.5 w-3.5" }), bezig === "brief" ? "Bezig…" : "Verzendbrief"] }), _jsxs(Button, { size: "sm", variant: "outline", onClick: () => setVerzetOpen(true), title: "Ophaaldag of ophaaltijd van de bestelling van deze kar wijzigen", children: [_jsx(CalendarClock, { className: "mr-1 h-3.5 w-3.5" }), "Verzetten"] })] })] })] }), _jsx(VerzetOrderDialog, { open: verzetOpen, orderRef: c.orderRef, carrierTarget: {
625
+ return (_jsxs("div", { className: `rounded-md border p-3 ${selected ? "border-primary bg-primary/5" : ""}`, children: [_jsxs("div", { className: "flex items-start gap-3", children: [_jsx(Checkbox, { checked: selected, onCheckedChange: onToggle, className: "mt-1" }), _jsxs("div", { className: "grid flex-1 gap-3 lg:grid-cols-[1fr_1.4fr_1fr_auto] lg:items-center", children: [_jsx(Field, { label: "Karnummer", value: c.cartNumber }), _jsx(Field, { label: "Klant", value: c.customerName }), _jsx(Field, { label: "Bestelling", value: c.orderRef }), _jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [_jsx(Badge, { variant: voortgang(c.status).variant, children: voortgang(c.status).label }), c.hasContent ? (_jsxs(_Fragment, { children: [_jsxs(Badge, { variant: "outline", children: [c.occupancy ?? "—", "%", c.layerUtilization != null
626
+ ? ` · ${Number(c.layerUtilization.toFixed(1)).toLocaleString("nl-NL")}% van de kar`
627
+ : ""] }), _jsxs(Badge, { variant: "outline", children: [c.layers ?? "—", c.maxLayers != null ? ` / ${c.maxLayers}` : "", " lagen"] }), _jsxs(Badge, { variant: "outline", children: [c.crates ?? "—", " fusten"] }), _jsxs(Badge, { variant: "outline", children: [c.plants ?? "—", " planten"] })] })) : (_jsx(Badge, { variant: "outline", className: "text-muted-foreground", children: c.contentLoading ? "Karinhoud laden…" : "Nog geen karindeling" })), _jsxs(Button, { size: "sm", variant: "outline", disabled: bezig !== null, onClick: printPakbon, title: "Pakbon van deze kar opnieuw printen", children: [_jsx(Printer, { className: "mr-1 h-3.5 w-3.5" }), bezig === "pakbon" ? "Bezig…" : "Pakbon"] }), _jsxs(Button, { size: "sm", variant: "outline", disabled: bezig !== null, onClick: printVerzendbrief, title: "Verzendbrief van deze bestelling printen", children: [_jsx(Printer, { className: "mr-1 h-3.5 w-3.5" }), bezig === "brief" ? "Bezig…" : "Verzendbrief"] }), _jsxs(Button, { size: "sm", variant: "outline", onClick: () => setVerzetOpen(true), title: "Ophaaldag of ophaaltijd van de bestelling van deze kar wijzigen", children: [_jsx(CalendarClock, { className: "mr-1 h-3.5 w-3.5" }), "Verzetten"] })] })] })] }), _jsx(VerzetOrderDialog, { open: verzetOpen, orderRef: c.orderRef, carrierTarget: {
605
628
  carrierId: c.order?.order.carrierId ?? null,
606
629
  country: c.order?.order.country ?? null,
607
630
  province: c.order?.order.province ?? null,