import service from '/@/utils/request'; export interface Paged { total: number; page: number; pageSize: number; list: T[]; } export interface ExecutableDailyPlanRow { id: number; domain?: string | null; status?: string | null; workOrds?: string | null; itemNum?: string | null; descr?: string | null; lotSerial?: string | null; batch?: string | null; eff?: string | null; planDate?: string | null; workStartTime?: string | null; workEndTime?: string | null; ordQty?: number | null; drawing?: string | null; rev?: string | null; compQty?: number | null; rejectQty?: number | null; descr0?: string | null; rate?: number | null; standardStaffCount?: number | null; opStdOp?: string | null; machineName?: string | null; deviceWorkHours?: number | null; manWorkHours?: number | null; deviceAllocationCount?: number | null; qtyOrded?: number | null; setupTimeInMinutes?: number | null; isLabor?: string | null; background?: string | null; } function unwrapDailyPlanPaged(raw: unknown): Paged { const d = raw as Record | null | undefined; if (d && Array.isArray(d.list)) return d as Paged; const inner = d?.result as Record | undefined; if (inner && Array.isArray(inner.list)) return inner as Paged; return { total: Number(d?.total ?? inner?.total ?? 0), page: Number(d?.page ?? inner?.page ?? 1), pageSize: Number(d?.pageSize ?? inner?.pageSize ?? 20), list: [], }; } export function fetchExecutableDailyPlanList(params: Record) { return service .get('/api/Production/daily-plan/list', { params }) .then((r) => unwrapDailyPlanPaged(r.data)); } export function releaseExecutableDailyPlan(body: { domain: string; ids: string }) { return service.post('/api/Production/daily-plan/release', body).then((r) => r.data); } export function patchDailyPlanWoStatus(body: { workOrd: string; domain: string; status: string }) { return service.post('/api/Production/daily-plan/patch-wo-status', body).then((r) => r.data); }