<?php

namespace app\models;

use Yii;
use app\models\Productos; 
use app\models\DocumentosPedido; 

/**
 * This is the model class for table "pedido_reporte_precios".
 *
 * @property int $id
 * @property int $pedido_id
 * @property int $producto_id
 * @property int $cantidad <--- AÑADIDO: Propiedad para la cantidad de productos pedida
 * @property float|null $precio_1
 * @property string|null $orden_1
 * @property string|null $fecha_1
 * @property float|null $precio_2
 * @property string|null $orden_2
 * @property string|null $fecha_2
 * @property float|null $precio_3
 * @property string|null $orden_3
 * @property string|null $fecha_3
 * @property int|null $documento_id
 * @property string|null $status_documento
 *
 * @property Pedidos $pedido
 * @property Productos $producto
 * @property DocumentosPedido $documento
 */
class PedidoReportePrecios extends \yii\db\ActiveRecord
{


    /**
     * {@inheritdoc}
     */
    public static function tableName()
    {
        return 'pedido_reporte_precios';
    }

    /**
     * {@inheritdoc}
     */
    public function rules()
    {
        return [
            [['precio_1', 'orden_1', 'fecha_1', 'precio_2', 'orden_2', 'fecha_2', 'precio_3', 'orden_3', 'fecha_3'], 'default', 'value' => null],
            [['pedido_id', 'producto_id'], 'required'],
            // CLAVE: Añadida 'cantidad' y 'documento_id' a la lista de enteros
            [['pedido_id', 'producto_id', 'cantidad', 'documento_id'], 'integer'], 
            [['precio_1', 'precio_2', 'precio_3'], 'number'],
            [['fecha_1', 'fecha_2', 'fecha_3'], 'safe'],
            [['orden_1', 'orden_2', 'orden_3'], 'string', 'max' => 50],
            [['status_documento'], 'string', 'max' => 50],
            [['pedido_id'], 'exist', 'skipOnError' => true, 'targetClass' => Pedidos::class, 'targetAttribute' => ['pedido_id' => 'id']],
            [['producto_id'], 'exist', 'skipOnError' => true, 'targetClass' => Productos::class, 'targetAttribute' => ['producto_id' => 'id']],
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'pedido_id' => 'Pedido ID',
            'producto_id' => 'Producto ID',
            'cantidad' => 'Cantidad Pedida',
            'precio_1' => 'Precio 1',
            'orden_1' => 'Orden 1',
            'fecha_1' => 'Fecha 1',
            'precio_2' => 'Precio 2',
            'orden_2' => 'Orden 2',
            'fecha_2' => 'Fecha 2',
            'precio_3' => 'Precio 3',
            'orden_3' => 'Orden 3',
            'fecha_3' => 'Fecha 3',
        ];
    }

    /**
     * Gets query for [[Pedido]].
     *
     * @return \yii\db\ActiveQuery
     */

    
    public function getPedido()
    {
        return $this->hasOne(Pedidos::class, ['id' => 'pedido_id']);
    }

    /**
     * Gets query for [[Producto]].
     *
     * @return \yii\db\ActiveQuery
     */
    public function getProducto()
    {
        // Un item del reporte pertenece a UN producto.
        return $this->hasOne(Productos::class, ['id' => 'producto_id']);
    }


    public function getDocumento()
{
    // Una línea de reporte pertenece a UN documento CLAC/PI
    return $this->hasOne(DocumentosPedido::class, ['id' => 'documento_id']);
}
}