import { useSuspenseQuery } from "@tanstack/react-query"; import { createFileRoute, useNavigate } from "@tanstack/react-router"; import { format } from "date-fns"; import { toast } from "sonner"; import { Button } from "../../../components/ui/button"; import { Card, CardContent, CardDescription, CardFooter, CardHeader, } from "../../../components/ui/card"; import { Separator } from "../../../components/ui/separator"; import { api } from "../../../lib/apiHelper"; import { getActiveLoadingOrders } from "../../../lib/queries/getActiveDockScanners"; import { getActiveDockScanners } from "../../../lib/queries/getActiveLoadingOrders"; import { finishLoadingOrder } from "./index"; export const Route = createFileRoute("/warehouse/dockdoorscanning/$dock")({ component: RouteComponent, }); export const startOrder = async ( loadingOrder: string, dockId: string, refetch: any, refetchActiveLoading: any, ) => { try { const res = await api.post( "/dockDoor/startLoad", { loadingOrder: String(loadingOrder), dockId: dockId, }, { validateStatus: (status) => status < 500 }, ); if (!res.data.success) { toast.error(res.data.message); refetch(); refetchActiveLoading(); return; } toast.success(res.data.message); refetch(); refetchActiveLoading(); } catch (error) { console.log(error); toast.error(`Encountered error: ${JSON.stringify(error)}`); } }; function RouteComponent() { const { dock } = Route.useParams(); const { data, refetch } = useSuspenseQuery(getActiveDockScanners()); const { data: loadingPlanItems, refetch: refetchActiveLoading } = useSuspenseQuery(getActiveLoadingOrders()); const navigate = useNavigate(); const dockData = data.filter((i: any) => i.dockId === dock); const loadingPlans = loadingPlanItems.filter( (l: any) => l.dockId === Number(dock), ); return (
Please select an active loading order for {dockData[0].name}
Loading Date: {format(i.loadingDate, "MM/dd/yyyy HH:mm")}
Below are the loading order details please validate the loading order you are selecting before pressing start.
Loading Sequence {l.loadingSequence}
Article: {l.articleId} - {l.articleDescription}
Current loaded: {l.loadedQuantityLUs}/ {l.plannedQuantityLUs}
{l.remark !== "" &&Remark: {l.remark}
} {i?.loadingPlanItems.length > 1 && (There are know loading orders currently active.
Head over to Outbound deliveries to create a loading order to start the flow