<?php
require_once('./config/app/views.php');
require_once('./config/app/controller.php');
require_once('./models/VendedorModel.php');

class Vendedor extends controller
{       //INICIO DE SSECIO
    public function __construct()
    {
        SESSION_START();
       
        //INICIO DE SSECION 

         parent::__construct();
        $this->model = new VendedorModel();
    }

     public function index()
    {
        if (empty($_SESSION ['activo'])) {
            header("location:" . base_url);
         }
        $this->views->getviews($this, "index",);
    }

    public function productosVendedor(){
        $productos = $this->model->traerProductosVendedor();
    
        $data = array();
    
        for ($i = 0; $i < count($productos); $i++) {
            $productoData = array(
                'id' => $productos[$i]['id'], 
                'nombre_corto' => $productos[$i]['nombre_corto'],
                'descripcion' => $productos[$i]['descripcion'],
                'precio_venta' => $productos[$i]['precio_venta'],
                'foto' => $productos[$i]['foto']
            );
    
            array_push($data, $productoData);
        }
    
        echo json_encode($data, JSON_UNESCAPED_UNICODE);
        exit;
    } 
    

    public function obteniendoClienteP() {
        $id_user = (int)$_SESSION['id_usuario'];
        $cliente = isset($_POST['clientePedidos']) ? $_POST['clientePedidos'] : '';
        $clienteExistente = $this->model->consultarClienteExistente($id_user);
    
        if (!$clienteExistente) {
            $vendedorRegis = $this->model->registrarCliente($id_user, $cliente);
    
            if ($vendedorRegis == 1) {
                $res = "si";
            } else {
                $res = "error";
            }
        } else {
            $res = "NO PUEDES INGRESAR DOS CLIENTES";
        }
    
        echo json_encode($res, JSON_UNESCAPED_UNICODE);
    }
    

    public function activarEstado(){
        $id_user = (int)$_SESSION['id_usuario'];
        $estados = $this->model->avtivarEstado($id_user);
        echo json_encode($estados, JSON_UNESCAPED_UNICODE);
        die();
    }

    public function clientesporAtender() {
        $id_user = (int)$_SESSION['id_usuario'];
        $clientes = $this->model->traerClientes($id_user);
        
        echo json_encode($clientes, JSON_UNESCAPED_UNICODE);
    }


    public function agregarVentss(){
        $id_user = (int)$_SESSION['id_usuario'];
        $id_producto = $_POST['producto_id'];
        $cantida = 1;
        $productos = $this->model->getProducs($id_producto);
        $id_medida = $productos['id_medida'];    
        $precio_venta = $productos['precio_venta'];    
        $precio_compra = $productos['precio_compra'];  
        $verificar = $this->model->consultarsiExiste($id_producto, $id_medida, $id_user);
        if (!empty($verificar)) {
            $detalleVendedor = $this->model->productosLista($id_producto, $id_medida, $id_user);
            $cantidad = $detalleVendedor['cantidad'];
            $cantidades = $cantidad + 1;
            $actualizarDetalles = $this->model->ActualizarDetallesVenta($cantidades, $id_producto, $id_medida, $id_user);
            if ($actualizarDetalles == 1) {
              $res = "ok";
              $calcularPreio = $this->model->calcularPrecio($id_producto, $id_medida, $id_user);
              $precioProduc = $calcularPreio['precio'];
              $cantidads = $calcularPreio['cantidad'];
              $precio = $precioProduc * $cantidads;
              $Pcompra = $precio_compra * $cantidads;
              $detalleVendedor = $this->model->ActualizarPrecio($precio, $id_producto, $id_medida, $id_user, $Pcompra);
             
            }
        } else {
            $registrar = $this->model->registrarProducsd($id_user, $id_producto, $cantida, $precio_venta, $precio_compra, $id_medida);
            if ($registrar == 1) {
              $res = "reg";
              $calcularPreio = $this->model->calcularPrecio($id_producto, $id_medida, $id_user);
              $precioProduc = $calcularPreio['precio'];
              $cantidads = $calcularPreio['cantidad'];
              $precio = $precioProduc * $cantidads;
              $Pcompra = $precio_compra * $cantidads;
              $detalleVendedor = $this->model->ActualizarPrecio($precio, $id_producto, $id_medida, $id_user, $Pcompra);
              
            }
        }
        
        echo json_encode($res, JSON_UNESCAPED_UNICODE);
        die();
    }
    
    public function mostrarProducList(){
        $id_user = (int)$_SESSION['id_usuario'];
        $listaProducs = $this->model->productosTemp($id_user);
        echo json_encode($listaProducs, JSON_UNESCAPED_UNICODE);
        
    }

    public function deleteitem($id){
        $eliminar = $this->model->eliminarProsList($id);
        $res = "";
        if ($eliminar == 1 ) {
           $res = "ok";
        }else {
            $res = "error";
        }
     echo json_encode($res, JSON_UNESCAPED_UNICODE);
    }
    

    public function cancelarPedido(){
        $id = $_GET['id'];
        $id_usuario = $_GET['id_usuario'];
      
        $cancelarpedido = $this->model->cancelarPedidos($id, $id_usuario);
         if ($cancelarpedido == 1) {
           $eliminarLista = $this->model->eliminarLista($id_usuario);
           if ($eliminarLista == 1) {
             $res = "ok";
           } else {
             $res = "error";
           }
         } else {
             $res = "error";
         }
         echo json_encode($res, JSON_UNESCAPED_UNICODE);
     }




     public function EmviarPedidosCaja() {
        $id_user = (int)$_SESSION['id_usuario'];
        $confirmado = $this->model->registrarVenta($id_user);
    
        foreach ($confirmado as $venta) {
            $id_producto = $venta['id_producto'];
            $cantidad = $venta['cantidad'];
            $precio = $venta['precio'];
            $subtotal = $venta['subtotal'];
            $precio_compra = $venta['precio_compra'];
            $id_medida = $venta['id_medida'];
            $sub_total_compra = $venta['sub_total_compra'];
    
            $id_pedidoCliente = $this->model->recogerIdDelCliente($id_user);
            $id_pedido = $id_pedidoCliente['id'];
            
            $emviarVentas = $this->model->emviarVentasVendedor($id_user, $id_producto, $cantidad, $precio, $subtotal, $precio_compra, $id_medida, $id_pedido, $sub_total_compra);
            
        }
        
    
        if ($emviarVentas == 1) { 
            $selecionarDatos = $this->model->obtenerDatos($id_user, $id_pedido);
            $fecha_actual = date("Y-m-d H:i:s");
            $id_pedidos = $selecionarDatos['id_pedidos'];
            $id_usuario = $selecionarDatos['id_usuario'];
            $total_compras = $selecionarDatos['total_compras'];
            $total_ventas = $selecionarDatos['total'];

            $registraVentasCaja = $this->model->emviarAcaja($id_usuario, $id_pedidos, $total_ventas, $total_compras, $fecha_actual);     
          
            if ($registraVentasCaja == 1) {
                $eliminarLista = $this->model->eliminarLista($id_user);
                $cancelarpedido = $this->model->cancelarPedidos($id_pedido, $id_user);
                $res = "ok";
            }else {
                $res = "error";
            }
         
        } else {
            $res = "error al enviar ventas";
        }
   

    echo json_encode($res, JSON_UNESCAPED_UNICODE);
    die();    
}



    public function sumarTotalVendedor(){
        $id_user = (int)$_SESSION['id_usuario'];
        $sumarTotal = $this->model->sumarTotal($id_user);
        echo  json_encode($sumarTotal, JSON_UNESCAPED_UNICODE);
        
    }



    
}