<?php

include('../../path.php');

require_once(ROOT_CONFIG);



    class lote_qr

    {

        public function insert_lote_qr($Qr_Icon_Image, $Cantidad_Qrs, $Url_Base, $Lote, $Borrado_Logico, $Status, $Usuario_Registro, $Id_Fk_Usuario_Registro, $Usuario_Modifico, $Id_Fk_Usuario_Modifico, $Veces_Impreso, $Fecha_Registro, $Fecha_Modificacion)

        {

            require_once('../../log/controller/log.php');

            $Obj_log = new log();

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            $consulta="INSERT INTO lote_qr_appquadrata(Qr_Icon_Image, Cantidad_Qrs, Url_Base, Lote, Borrado_Logico, Status, Usuario_Registro, Id_Fk_Usuario_Registro, Usuario_Modifico, Id_Fk_Usuario_Modifico, Veces_Impreso, Fecha_Registro, Fecha_Modificacion) VALUES ('$Qr_Icon_Image', '$Cantidad_Qrs', '$Url_Base', '$Lote', '$Borrado_Logico', '$Status', '$Usuario_Registro', '$Id_Fk_Usuario_Registro', '$Usuario_Modifico', '$Id_Fk_Usuario_Modifico', '$Veces_Impreso', '$Fecha_Registro', '$Fecha_Modificacion') ";

            $conexion->query($consulta);

            $whatsmyid=$conexion->insert_id;

            $conexion->close();

            return $whatsmyid;

        }

        

        public function get_max_id(){

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            $consulta = "SELECT MAX(Id_Qr_Tag) as maxId FROM qr_tag_appquadrata";

            $Array_adapter = $conexion->query($consulta);

            $conexion->close();

            if ($Array_adapter->num_rows > 0) {

                $row = $Array_adapter->fetch_assoc();

                $maxId = $row['maxId'];

            } else {

                $maxId = 0; // Si no hay resultados, puedes manejar este caso

            }

            return (int) $maxId + 1; 

        }

        

        public function get_lote_qr($_Clausula_Fk,$_IdFk)

        {

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            if($_Clausula_Fk!='' && $_IdFk!=''){

                $consulta = "SELECT count(*) as numregis FROM lote_qr_appquadrata WHERE $_Clausula_Fk=$_IdFk";

            }else{

                $consulta = "SELECT count(*) as numregis FROM lote_qr_appquadrata";

            }

            $Array_adapter = $conexion->query($consulta);

            $conexion->close();

            return $Array_adapter;

        }

        

        public function get_lote_qrpg($inicio,$TAMANO_PAGINA,$_Clausula_Fk,$_IdFk)

        {

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            if($_Clausula_Fk!='' && $_IdFk!=''){

                $consulta = "SELECT * FROM lote_qr_appquadrata WHERE $_Clausula_Fk=$_IdFk ORDER BY Id_Lote_Qr DESC";

            }else{

                $consulta = "SELECT * FROM lote_qr_appquadrata ORDER BY Id_Lote_Qr DESC";

            }

            

            if ($TAMANO_PAGINA != "Todos") {

                $consulta .= " LIMIT $inicio, $TAMANO_PAGINA";

            }

            $Array_adapter = $conexion->query($consulta);

            $conexion->close();

            return $Array_adapter;

        }

        

        public function get_tags_byid($Id_Lote_Qr){

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            $consulta = "SELECT * FROM qr_tag_appquadrata WHERE Id_Fk_Lote=$Id_Lote_Qr";

            $Array_adapter = $conexion->query($consulta);

            $conexion->close();

            return $Array_adapter;

        }

        

        //public function update_lote_qr($Id_Lote_Qr, $Qr_Icon_Image, $Cantidad_Qrs, $Url_Base, $Lote, $Borrado_Logico, $Status, $Usuario_Registro, $Id_Fk_Usuario_Registro, $Usuario_Modifico, $Id_Fk_Usuario_Modifico, $Veces_Impreso, $Fecha_Registro, $Fecha_Modificacion)

        public function update_lote_qr($Id_Lote_Qr, $Qr_Icon_Image, $Url_Base)

        {

            require_once('../../log/controller/log.php');

            $Obj_log = new log();

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            $consulta="UPDATE lote_qr_appquadrata SET Qr_Icon_Image='$Qr_Icon_Image', Url_Base='$Url_Base' WHERE Id_Lote_Qr = '$Id_Lote_Qr'";

            $conexion->query($consulta);

            $rowaffected=$conexion->affected_rows;

            $conexion->close();

            $_Tabla='lote_qr';

            $_Evento_Log='editar';

            $_Consulta = '"'.$consulta.'"';

            $Obj_log->insert_log_crud($_Tabla,$_Evento_Log,$_Consulta);

            return $rowaffected;

        }



        public function delete_lote_qr($Id_Lote_Qr)

        {

            require_once('../../log/controller/log.php');

            $Obj_log = new log();

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            $consulta="DELETE FROM lote_qr_appquadrata WHERE Id_Lote_Qr='$Id_Lote_Qr'";

            $conexion->query($consulta);

            $consulta="DELETE FROM qr_tag_appquadrata WHERE Id_Fk_Lote='$Id_Lote_Qr'";

            $conexion->query($consulta);

            $rowaffected=$conexion->affected_rows;

            $conexion->close();

            $_Tabla='lote_qr';

            $_Evento_Log='eliminar';

            $_Consulta = '"'.$consulta.'"';

            $Obj_log->insert_log_crud($_Tabla,$_Evento_Log,$_Consulta);

            return $rowaffected;

        }



        //Funciones adicionales.

        public function getorderby_lote_qr($Nombre,$Orderby,$_Clausula_Fk,$_IdFk)

        {

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            if($_Clausula_Fk!='' && $_IdFk!=''){

                $consulta="SELECT count(*) as numregis FROM lote_qr_appquadrata WHERE $_Clausula_Fk=$_IdFk";

            }else{

                $consulta="SELECT count(*) as numregis FROM lote_qr_appquadrata";

            }

            $Array_adapter=$conexion->query($consulta);

            $conexion->close();

            return $Array_adapter;

        }



        public function getorderby_lote_qrpg($Nombre,$Orderby,$inicio,$TAMANO_PAGINA,$_Clausula_Fk,$_IdFk)

        {

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            if($_Clausula_Fk!='' && $_IdFk!=''){

                $consulta="SELECT * FROM lote_qr_appquadrata WHERE $_Clausula_Fk=$_IdFk ORDER BY $Nombre $Orderby";

            }else{

                $consulta="SELECT * FROM lote_qr_appquadrata ORDER BY $Nombre $Orderby";

            }

            if ($TAMANO_PAGINA != "Todos") {

                $consulta .= " LIMIT $inicio, $TAMANO_PAGINA";

            }

            $Array_adapter=$conexion->query($consulta);

            $conexion->close();

            return $Array_adapter;

        }



        public function getbyid_lote_qr($Id_Lote_Qr)

        {

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            $consulta="SELECT * FROM lote_qr_appquadrata WHERE Id_Lote_Qr='$Id_Lote_Qr'";

            $Array_adapter=$conexion->query($consulta);

            $conexion->close();

            return $Array_adapter;

        }

        

        public function get_lote_qr_paginador_frm()

        {

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            $consulta="SELECT * FROM lote_qr_appquadrata";

            $Array_adapter=$conexion->query($consulta);

            $conexion->close();

            return $Array_adapter;

        }



        public function search_lote_qr($Buscar,$_Clausula_Fk,$_IdFk)

        {

            require_once('../../log/controller/log.php');

            $Obj_log = new log();

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            if($_Clausula_Fk!='' && $_IdFk!=''){

                $consulta="SELECT count(*) as numregis FROM lote_qr_appquadrata WHERE $_Clausula_Fk=$_IdFk AND (Id_Lote_Qr LIKE '%$Buscar%' || Qr_Icon_Image LIKE '%$Buscar%' || Cantidad_Qrs LIKE '%$Buscar%' || Url_Base LIKE '%$Buscar%' || Lote LIKE '%$Buscar%' || Borrado_Logico LIKE '%$Buscar%' || Status LIKE '%$Buscar%' || Usuario_Registro LIKE '%$Buscar%' || Id_Fk_Usuario_Registro LIKE '%$Buscar%' || Usuario_Modifico LIKE '%$Buscar%' || Id_Fk_Usuario_Modifico LIKE '%$Buscar%' || Veces_Impreso LIKE '%$Buscar%' || Fecha_Registro LIKE '%$Buscar%' || Fecha_Modificacion LIKE '%$Buscar%')";

            }else{

                $consulta="SELECT count(*) as numregis FROM lote_qr_appquadrata WHERE Id_Lote_Qr LIKE '%$Buscar%' || Qr_Icon_Image LIKE '%$Buscar%' || Cantidad_Qrs LIKE '%$Buscar%' || Url_Base LIKE '%$Buscar%' || Lote LIKE '%$Buscar%' || Borrado_Logico LIKE '%$Buscar%' || Status LIKE '%$Buscar%' || Usuario_Registro LIKE '%$Buscar%' || Id_Fk_Usuario_Registro LIKE '%$Buscar%' || Usuario_Modifico LIKE '%$Buscar%' || Id_Fk_Usuario_Modifico LIKE '%$Buscar%' || Veces_Impreso LIKE '%$Buscar%' || Fecha_Registro LIKE '%$Buscar%' || Fecha_Modificacion LIKE '%$Buscar%'";  

            }

            $Array_adapter=$conexion->query($consulta);

            $conexion->close();

            $_Tabla='lote_qr';

            $_Evento_Log='busco:'.$Buscar;

            $_Consulta = '"'.$consulta.'"';

            $Obj_log->insert_log_consultas($_Tabla,$_Evento_Log,$_Consulta);

            return $Array_adapter;

        }



        public function search_lote_qrpg($Buscar,$inicio,$TAMANO_PAGINA,$_Clausula_Fk,$_IdFk)

        {

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            if($_Clausula_Fk!='' && $_IdFk!=''){

                $consulta="SELECT * FROM lote_qr_appquadrata WHERE $_Clausula_Fk=$_IdFk AND (Id_Lote_Qr LIKE '%$Buscar%' || Qr_Icon_Image LIKE '%$Buscar%' || Cantidad_Qrs LIKE '%$Buscar%' || Url_Base LIKE '%$Buscar%' || Lote LIKE '%$Buscar%' || Borrado_Logico LIKE '%$Buscar%' || Status LIKE '%$Buscar%' || Usuario_Registro LIKE '%$Buscar%' || Id_Fk_Usuario_Registro LIKE '%$Buscar%' || Usuario_Modifico LIKE '%$Buscar%' || Id_Fk_Usuario_Modifico LIKE '%$Buscar%' || Veces_Impreso LIKE '%$Buscar%' || Fecha_Registro LIKE '%$Buscar%' || Fecha_Modificacion LIKE '%$Buscar%') ORDER BY Id_Lote_Qr DESC";

            }else{

                $consulta="SELECT * FROM lote_qr_appquadrata WHERE Id_Lote_Qr LIKE '%$Buscar%' || Qr_Icon_Image LIKE '%$Buscar%' || Cantidad_Qrs LIKE '%$Buscar%' || Url_Base LIKE '%$Buscar%' || Lote LIKE '%$Buscar%' || Borrado_Logico LIKE '%$Buscar%' || Status LIKE '%$Buscar%' || Usuario_Registro LIKE '%$Buscar%' || Id_Fk_Usuario_Registro LIKE '%$Buscar%' || Usuario_Modifico LIKE '%$Buscar%' || Id_Fk_Usuario_Modifico LIKE '%$Buscar%' || Veces_Impreso LIKE '%$Buscar%' || Fecha_Registro LIKE '%$Buscar%' || Fecha_Modificacion LIKE '%$Buscar%' ORDER BY Id_Lote_Qr DESC";

            }

            if ($TAMANO_PAGINA != "Todos") {

                $consulta .= " LIMIT $inicio, $TAMANO_PAGINA";

            }

            $Array_adapter=$conexion->query($consulta);

            $conexion->close();

            return $Array_adapter;

        }



        public function searchbyparameter_lote_qr($Parametro,$Buscar)

        {

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            $consulta="SELECT * FROM lote_qr_appquadrata WHERE $Parametro LIKE '%$Buscar%' ORDER BY Id_Lote_Qr DESC";

            $Array_adapter=$conexion->query($consulta);

            $conexion->close();

            return $Array_adapter;

        }

  

        public function execute_lote_qr($query)

        {

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            $Array_adapter=$conexion->query($query);

            $conexion->close();

            return $Array_adapter;

        }



        public function update_field_lote_qr($Field,$Value,$Id_Lote_Qr)

        {

            require_once('../../log/controller/log.php');

            $Obj_log = new log();

            $Valueinto=strtoupper($Value);

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            $consulta="UPDATE lote_qr_appquadrata SET $Field='$Valueinto' WHERE Id_Lote_Qr= '$Id_Lote_Qr'";

            $conexion->query($consulta);

            $rowaffected=$conexion->affected_rows;

            $conexion->close();

            $_Tabla='lote_qr';

            $_Evento_Log='editar';

            $_Consulta = '"'.$consulta.'"';

            $Obj_log->insert_log_crud($_Tabla,$_Evento_Log,$_Consulta);

            return $rowaffected;                          

        }

        

        public function insert_tag_qr($Id_Lote,$Qr_Icon_Image,$Url_Base,$Hash_Qr,$Try_Insert){

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            $consulta="INSERT INTO qr_tag_appquadrata(Id_Fk_Lote, Lote,Qr_Icon_Img, Url_Base, Try_Insert, Hash_Tag_Qr) VALUES ('$Id_Lote','$Id_Lote','$Qr_Icon_Image', '$Url_Base', '$Try_Insert', '$Hash_Qr') ";

            $conexion->query($consulta);

            $whatsmyid=$conexion->insert_id;

            $conexion->close();

            return $whatsmyid;

        }

        

        public function update_tag_qr($Id_Qr_Tag,$Qr_Img1px,$Qr_Img3px,$Qr_Img5px,$Qr_Img10px){

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            $consulta="UPDATE qr_tag_appquadrata SET Qr_Img1px='$Qr_Img1px',Qr_Img3px='$Qr_Img3px',Qr_Img5px='$Qr_Img5px',Qr_Img10px='$Qr_Img10px' WHERE Id_Qr_Tag='$Id_Qr_Tag'";

            $conexion->query($consulta);

            $rowaffected=$conexion->affected_rows;

            $conexion->close();

            return $rowaffected;

        }

        

        public function impreso($lote_id){

            $Odbj_conexion = new odbconexion;

            $conexion=$Odbj_conexion->openconection();

            $consulta="UPDATE lote_qr_appquadrata SET Veces_Impreso=Veces_Impreso+1 WHERE Id_Lote_Qr='$lote_id'";

            $conexion->query($consulta);

            $rowaffected=$conexion->affected_rows;

            $conexion->close();

            return $rowaffected;

        }



}



?>