<?php
namespace App\Models;
use CodeIgniter\Model;

class AuditoriaModel extends Model
{
    /*protected $table      = 'x';
    protected $primaryKey = 'x';*/
    protected $db;
    protected function initialize()
    {
        // $this->db = \Config\Database::connect();
        $this->db = db_connect();
    }
    
    public function listarAuditoriaEstadosOrdenCompra($idOrdenCompra)
    {
        $builder = $this->db->table('aud_ordencompra');
        $builder->select('IDOrdenCompra_ALTER AS IDOrdenCompra,
            Valor_ALTER AS EstadoPrevio,
            FechaRegistroEstado AS FechaEstadoPrevio,
            Valor_NEW AS Estado,
            UsuarioModifica,
            FechaModifica AS Fecha,
            MotivoModifica');
            
        $builder->where('IDOrdenCompra_ALTER', $idOrdenCompra);
        $builder->where('Campo_ALTER', 'Estado');
        $builder->orderBy('FechaModifica', 'DESC');
        $sql = $builder->getCompiledSelect();
        $datos = $this->db->query($sql)->getResultArray();
        
        return $datos;
    }
    
    public function listarAuditoriaEstadosPeticion($idPeticion)
    {
        $builder = $this->db->table('aud_peticiones_estado');
        $builder->select('"" AS IDComentarioPeticion,
            IDPeticion_ALTER AS IDPeticion,
            Valor_NEW AS Estado,
            UsuarioModifica AS IDUsuario,
            IDDireccionModifica AS IDDireccion,
            IDAreaModifica AS IDArea,
            IDSubareaModifica AS IDSubarea,
            IDDelegacionModifica AS IDDelegacion,
            IDPerfilModifica AS IDPerfil,
            IDCargoModifica AS IDCargo,
            FechaModifica AS Fecha,
            MotivoModifica AS Comentario,
            "" AS Link');
        $builder->where('IDPeticion_ALTER', $idPeticion);
        $builder->orderBy('FechaModifica', 'DESC');
        $sql = $builder->getCompiledSelect();
        $datos = $this->db->query($sql)->getResultArray();
        
        return $datos;
    }
    // public function listarAuditoriaEstadosPeticion($idPeticion)
    // {
    //     $estados = $this->db->table('aud_peticiones_estado');
    //     $estados->select('IDPeticion_ALTER AS IDPeticion,
    //     Valor_NEW AS Estado,
    //     UsuarioModifica AS IDUsuario,
    //     IDDireccionModifica AS IDDireccion,
    //     IDAreaModifica AS IDArea,
    //     IDSubareaModifica AS IDSubarea,
    //     IDDelegacionModifica AS IDDelegacion,
    //     IDPerfilModifica AS IDPerfil,
    //     IDCargoModifica AS IDCargo,
    //     FechaModifica AS Fecha,
    //     MotivoModifica AS Comentario,
    //     "" AS Link');
    //     $estados->where('IDPeticion_ALTER', $idPeticion);
        
    //     $comentarios = $this->db->table('peticiones_comentarios');
    //     $comentarios->select('IDPeticion,
    //     "COME" AS Estado,
    //     UsuarioCrea AS IDUsuario,
    //     IDDireccionCrea AS IDDireccion,
    //     IDAreaCrea AS IDArea,
    //     IDSubareaCrea AS IDSubarea,
    //     IDDelegacionCrea AS IDDelegacion,
    //     IDPerfilCrea AS IDPerfil,
    //     IDCargoCrea AS IDCargo,
    //     FechaCrea AS Fecha,
    //     Comentario,
    //     Link');
    //     $comentarios->where('IDPeticion', $idPeticion);
    //     // $comentarios->union($estados);
        
    //     // $sql = $this->db->newQuery()->fromSubquery($comentarios, 'q')->orderBy('Fecha', 'DESC')->getCompiledSelect();
    //     $sql = $estados->union($comentarios)->orderBy('Fecha', 'DESC')->getCompiledSelect();
    //     $datos = $this->db->query($sql)->getResultArray();
        
    //     return $datos;
    // }
}