'nullable|string|max:50', 'order_id' => 'nullable|integer|exists:orders,id', 'scheduled_date' => 'nullable|date', 'priority' => 'nullable|in:urgent,normal,low', 'delivery_method' => 'nullable|in:pickup,direct,logistics', // 발주처/배송 정보 'client_id' => 'nullable|integer|exists:clients,id', 'customer_name' => 'nullable|string|max:100', 'site_name' => 'nullable|string|max:100', 'delivery_address' => 'nullable|string|max:255', 'receiver' => 'nullable|string|max:50', 'receiver_contact' => 'nullable|string|max:50', // 상태 플래그 'can_ship' => 'nullable|boolean', 'deposit_confirmed' => 'nullable|boolean', 'invoice_issued' => 'nullable|boolean', 'customer_grade' => 'nullable|string|max:20', // 상차 정보 'loading_manager' => 'nullable|string|max:50', 'loading_time' => 'nullable|date', // 물류/배차 정보 'logistics_company' => 'nullable|string|max:50', 'vehicle_tonnage' => 'nullable|string|max:20', 'shipping_cost' => 'nullable|numeric|min:0', // 차량/운전자 정보 'vehicle_no' => 'nullable|string|max:20', 'driver_name' => 'nullable|string|max:50', 'driver_contact' => 'nullable|string|max:50', 'expected_arrival' => 'nullable|date', // 기타 'remarks' => 'nullable|string', // 출하 품목 'items' => 'nullable|array', 'items.*.seq' => 'nullable|integer|min:1', 'items.*.item_code' => 'nullable|string|max:50', 'items.*.item_name' => 'required|string|max:100', 'items.*.floor_unit' => 'nullable|string|max:50', 'items.*.specification' => 'nullable|string|max:100', 'items.*.quantity' => 'nullable|numeric|min:0', 'items.*.unit' => 'nullable|string|max:20', 'items.*.lot_no' => 'nullable|string|max:50', 'items.*.stock_lot_id' => 'nullable|integer|exists:stock_lots,id', 'items.*.remarks' => 'nullable|string', ]; } }