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}

{loadingPlans && loadingPlans.length > 0 ? (
{loadingPlans.map((i: any) => { return ( Loading order ID: {i.id}{" "}

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.

{/* Mapping the items out so in case we have more than 1 it will display correctly */} {i?.loadingPlanItems?.map((l: any) => { return (

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

)}
); }