<?php
class carga_model {
    private $db;

    public function __construct() {
        $this->db = database::conexion();
    }

    public function set_base($archivo,$id_asignacion) {
        error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE & ~E_WARNING);
        require_once("./model/phpExcel/PHPExcel.php");
        require_once("./model/gestion_model.php");
        date_default_timezone_set("America/Lima");
        $fecha_hoy = date("Y-m-d");

        $subidos = 0;


        $objReader = new PHPExcel_Reader_Excel2007();
        $objPHPExcel = $objReader->load($archivo);
        $objFecha = new PHPExcel_Shared_Date();
        $objPHPExcel->setActiveSheetIndex(0);

        $columnas = $objPHPExcel->setActiveSheetIndex(0)->getHighestColumn();
        $filas = $objPHPExcel->setActiveSheetIndex(0)->getHighestRow();

        $ok = 0;
        $errores = 0;

        $mensaje_error = 'ALERTA:';

            for ($i=2;$i<=$filas;$i++){
                $_DATOS_EXCEL[$i]['dni'] = $objPHPExcel->getActiveSheet()->getCell('B'.$i)->getFormattedValue();
                $_DATOS_EXCEL[$i]['sku'] = utf8_decode($objPHPExcel->getActiveSheet()->getCell('D'.$i)->getFormattedValue());
                $_DATOS_EXCEL[$i]['cantidad'] = utf8_decode($objPHPExcel->getActiveSheet()->getCell('E'.$i)->getFormattedValue());
                $_DATOS_EXCEL[$i]['serie'] = $objPHPExcel->getActiveSheet()->getCell('G'.$i)->getFormattedValue();


                    if($_DATOS_EXCEL[$i]['sku'] != ''){
                        if($_DATOS_EXCEL[$i]['sku'] != ' '){
                            if($_DATOS_EXCEL[$i]['cantidad'] != ''){
                                if($_DATOS_EXCEL[$i]['cantidad'] != ' '){

                                        $con1 = "select id_usuario from usuario where codigo_usuario = '".$_DATOS_EXCEL[$i]['dni']."';";
                                        $stmt1 = sqlsrv_query($this->db, $con1);
                                        $tmp1 = sqlsrv_fetch_array($stmt1, SQLSRV_FETCH_ASSOC);

                                        $con2 = "select id_producto_servicio, id_catalogo_serializado from producto_servicio where sku like '".$_DATOS_EXCEL[$i]['sku']."';";
                                        $stmt2 = sqlsrv_query($this->db, $con2);
                                        $tmp2 = sqlsrv_fetch_array($stmt2, SQLSRV_FETCH_ASSOC);

                                        if(!empty($tmp1['id_usuario']) && isset($tmp1['id_usuario']) && !empty($tmp2['id_producto_servicio']) && isset($tmp2['id_producto_servicio'])){

                                            $con3 = "select id_stock_tecnico,disponible from stock_tecnico where id_asignacion = '".$_SESSION['id_asignacion']."' and id_tecnico = '".$tmp1['id_usuario']."' and id_producto =  '".$tmp2['id_producto_servicio']."';";
                                            $stmt3 = sqlsrv_query($this->db, $con3);
                                            $tmp3 = sqlsrv_fetch_array($stmt3, SQLSRV_FETCH_ASSOC);

                                            if(!empty($tmp3['id_stock_tecnico']) && isset($tmp3['id_stock_tecnico'])){

                                                $nd = (intval($tmp3['disponible']) + intval($_DATOS_EXCEL[$i]['cantidad']));

                                                $con4 = "update stock_tecnico set disponible = '".$nd."' where id_asignacion = '".$_SESSION['id_asignacion']."' and id_tecnico = '".$tmp1['id_usuario']."' and id_producto =  '".$tmp2['id_producto_servicio']."' and id_stock_tecnico = '".$tmp3['id_stock_tecnico']."';";
                                                $stmt4 = sqlsrv_query($this->db, $con4);
                                                $tmp4 = sqlsrv_fetch_array($stmt4, SQLSRV_FETCH_ASSOC);

                                            }else{

                                                $con4 = "insert into stock_tecnico (disponible,malogrado,merma,id_asignacion,id_tecnico,id_producto) values ('".intval($tmp3['disponible'])."','0','0','".$_SESSION['id_asignacion']."','".$tmp1['id_usuario']."','".$tmp2['id_producto_servicio']."');";
                                                $stmt4 = sqlsrv_query($this->db, $con4);
                                                $tmp4 = sqlsrv_fetch_array($stmt4, SQLSRV_FETCH_ASSOC);

                                            }

                                            if($tmp2['id_catalogo_serializado'] == 1){

                                                $con5 = "insert into serie (cantidad,id_asignacion,id_usuario_interactua,id_producto,id_tecnico,serie) values ('1','".$_SESSION['id_asignacion']."','400','".$tmp2['id_producto_servicio']."','".$tmp1['id_usuario']."','".$_DATOS_EXCEL[$i]['serie']."');";
                                                $stmt5 = sqlsrv_query($this->db, $con5);
                                                $tmp5 = sqlsrv_fetch_array($stmt5, SQLSRV_FETCH_ASSOC);

                                            }

                                        }

                                        

                                    
                                }else{
                                    
                                    return $subidos;
                                }
                            }else{
                                
                                return $subidos;
                            }
                        }else{
                            
                            return $subidos;
                        }
                    }else{
                        
                        return $subidos;
                    }

                $subidos++;

            }
        
        return $subidos;
        
    }

}
?>