diff --git a/src/app/api/do/actions.tsx b/src/app/api/do/actions.tsx index 5d8114c..7f144bc 100644 --- a/src/app/api/do/actions.tsx +++ b/src/app/api/do/actions.tsx @@ -364,12 +364,6 @@ export const fetchDoDetail = cache(async (id: number) => { }); }); -/** 車線搜尋為「車線-X」時改走後端專用 API(只含推算車線為 null/空白之送貨單) */ -function isTruckLaneXSearch(truckLanceCode?: string): boolean { - const t = truckLanceCode?.trim().toLowerCase() ?? ""; - return t === "車線-x"; -} - export async function fetchDoSearch( code: string, shopName: string, @@ -380,7 +374,9 @@ export async function fetchDoSearch( estArrEndDate: string, pageNum?: number, pageSize?: number, - truckLanceCode?: string + truckLanceCode?: string, + /** 後端:All/null 為全部;2F/4F 依供應商白名單篩選 */ + floor?: string | null, ): Promise { // 构建请求体 const requestBody: any = { @@ -391,6 +387,7 @@ export async function fetchDoSearch( truckLanceCode: truckLanceCode || null, pageNum: pageNum || 1, pageSize: pageSize || 10, + floor: floor && floor !== "All" ? floor : null, }; // 如果日期不为空,转换为 LocalDateTime 格式 @@ -400,20 +397,15 @@ export async function fetchDoSearch( requestBody.estimatedArrivalDate = null; } - const useUnassignedTruck = isTruckLaneXSearch(truckLanceCode); - if (useUnassignedTruck) { - delete requestBody.truckLanceCode; - } - - const url = useUnassignedTruck - ? `${BASE_API_URL}/do/search-do-lite-unassigned-truck` - : `${BASE_API_URL}/do/search-do-lite`; - - const data = await serverFetchJson(url, { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify(requestBody), - }); + /** v2:車線正規化、未指派合併、分批掃描(後端 /do/search-do-lite-v2) */ + const data = await serverFetchJson( + `${BASE_API_URL}/do/search-do-lite-v2`, + { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(requestBody), + }, + ); return data; } @@ -633,7 +625,8 @@ export async function fetchAllDoSearch( shopName: string, status: string, estArrStartDate: string, - truckLanceCode?: string // 添加这个参数 + truckLanceCode?: string, + floor?: string | null, ): Promise { // 使用一个很大的 pageSize 来获取所有匹配的记录 const requestBody: any = { @@ -641,9 +634,10 @@ export async function fetchAllDoSearch( shopName: shopName || null, status: status || null, estimatedArrivalDate: estArrStartDate || null, - truckLanceCode: truckLanceCode || null, // 添加这个字段 + truckLanceCode: truckLanceCode || null, pageNum: 1, pageSize: 10000, // 使用一个很大的值来获取所有记录 + floor: floor && floor !== "All" ? floor : null, }; if (estArrStartDate) { @@ -652,20 +646,14 @@ export async function fetchAllDoSearch( requestBody.estimatedArrivalDate = null; } - const useUnassignedTruck = isTruckLaneXSearch(truckLanceCode); - if (useUnassignedTruck) { - delete requestBody.truckLanceCode; - } - - const url = useUnassignedTruck - ? `${BASE_API_URL}/do/search-do-lite-unassigned-truck` - : `${BASE_API_URL}/do/search-do-lite`; - - const data = await serverFetchJson(url, { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify(requestBody), - }); + const data = await serverFetchJson( + `${BASE_API_URL}/do/search-do-lite-v2`, + { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(requestBody), + }, + ); return data.records; }