export interface WarehouseArrivalPlan { plannedAt: string | null version: number planCount: number } /** 默认值只有当地日期,不能作为人工维护的日期时间提交。 */ export function projectWarehouseArrival(arrivalAt: string | null | undefined, plan: WarehouseArrivalPlan | undefined) { const canDefault = !plan || plan.version === 0 && plan.planCount === 0 let date = plan?.plannedAt?.slice(0, 10) || null if (!date && canDefault && arrivalAt) { const day = arrivalAt.slice(0, 10) const calendarDate = new Date(`${day}T12:00:00Z`) if (/^\d{4}-\d{2}-\d{2}$/.test(day) && !Number.isNaN(calendarDate.getTime()) && calendarDate.toISOString().slice(0, 10) === day) { calendarDate.setUTCDate(calendarDate.getUTCDate() + 2) date = calendarDate.toISOString().slice(0, 10) } } return { date, time: plan?.plannedAt?.slice(11, 16) || '', isDefault: !plan?.plannedAt && canDefault } }