<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\Auth;
use App\Socio;
use App\Parrilla;
use App\Visita;
use App\VisitaParrilla;
use App\ListaPrecios;
use App\Bonificacion;
use App\VisitaPedido;
use App\VisitaPedidoProducto;
use App\VisitaPedidoCombo;
use App\VisitaPedidoProductoCombo;
use App\VisitaEVA;
use App\Combo;
use App\VisitaEVAProducto;
use App\ProductoPromocional;
use App\ProductoLaboratorio;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Mail;

class FichaSocioController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index($idSocio, $idDistribucion)
    {
        $ultimo_pedido = VisitaPedido::where('id_socio', $idSocio)
            ->with('pedido_visita')
            ->with('socio')
            ->orderBy('created_at', 'desc')
            ->first();
        //Inicia
        $fechaAhora = date("Y/m/d");
        //Comentarios
        $visita = Visita::where('id_distribucion', $idDistribucion)
            ->first();
        $comentarios = Visita::where('id_apm', Auth::id())
            ->where('id_socio', $idSocio)
            ->get();
        $status_visita = Visita::where('id_apm', Auth::id())
            ->where('id_socio', $idSocio)
            ->where('status', 1)
            ->orderBy('id', 'DESC')
            ->first();
        if (@$status_visita->id) {
            if ($status_visita->created_at) {
                $fechaAhora = date("Y/m/d");
                $fechaUltimaConexion = date("Y/m/d", strtotime($status_visita->created_at));
                if ($fechaAhora != $fechaUltimaConexion) {
                    //Cerrado automatico
                    $status_visita->status = 4;
                    $status_visita->update();
                    $status_visita = 0;
                } else {
                    $status_visita = $status_visita->id;
                }
            }
        } else {
            $status_visita = 0;
        }
        //Combos
        $combos = Combo::where('fecha_inicio', '<=', $fechaAhora)
            ->where('fecha_final', '>=', $fechaAhora)
            ->with('combo_productos')
            ->get();
        $anoAcutal = intval(date("Y")) - 2;
        $socio = Socio::with('especialidad')->with('clasificacion')->with('tipoSocio')->find($idSocio);
        //Obtiene las facturas
        $parrillas = Parrilla::where('fecha_inicio', '<=', $fechaAhora)
            ->where('fecha_final', '>=', $fechaAhora)
            ->where('id_especialidad', $socio->id_especialidad)
            ->with('parrilla_presentacion')
            ->first();
        //Listado de precios
        $productoPromocionales = ProductoPromocional::all();

        //$listado = ListaPrecios::where('id_tipo_socio', $socio->id_tipo_socio)->with('listado_precios'); // Asegúrate de que la relacion
        $listado = ListaPrecios::with('listado_precios')->find($socio->id_lista, 'id');
        $listadoJson = json_encode($listado->listado_precios ?? '');
        $bonificaciones = Bonificacion::all();
        $bonificacionesJson = json_encode($bonificaciones);
        $laboratorios = ProductoLaboratorio::all();
        //Generar visita
        $productos = [];
        $cupones = [];
        $facturas = [];

        //Agregado 2024-01-16
        //Close Up Socio
        $close_up_list = DB::table('crm_close_up')
            ->where('colegiado', $socio->numero_colegiado_socio)
            ->get();
        return view('ficha_socio.ficha', compact('visita', 'ultimo_pedido', 'cupones', 'idDistribucion', 'listadoJson', 'comentarios', 'combos', 'socio', 'parrillas', 'listado', 'bonificaciones', 'facturas', 'productos', 'productoPromocionales', 'laboratorios', 'bonificacionesJson', 'status_visita', 'close_up_list'));
    }

    function pedidosSocios()
    {

        //$listado=ListaPrecios::with('listado_precios')->find($socio->id_lista,'id');
        $pedidos = VisitaPedido::with('pedido_visita')
            ->with('socio')
            ->orderBy('created_at', 'desc')
            ->get();

        return view('reportes.pedidos', compact('pedidos'));
    }


    public function index_pedido($idSocio)
    {
        //Inicia
        $fechaAhora = date("Y/m/d");
        //Comentarios
        $comentarios = Visita::where('id_apm', Auth::id())
            ->where('id_socio', $idSocio)
            ->get();
        $status_visita = Visita::where('id_apm', Auth::id())
            ->where('id_socio', $idSocio)
            ->where('status', 1)
            ->first();
        if (@$status_visita->id) {
            $status_visita = $status_visita->id;
        } else {
            $status_visita = 0;
        }
        //Combos
        $combos = Combo::where('fecha_inicio', '<=', $fechaAhora)
            ->where('fecha_final', '>=', $fechaAhora)
            ->with('combo_productos')
            ->get();
        $anoAcutal = intval(date("Y")) - 2;
        $socio = Socio::with('especialidad')->with('clasificacion')->with('tipoSocio')->find($idSocio);
        //Obtiene las facturas
        $cons_usuario = "mercafar_sell_in";
        $cons_contra = "TroyanoMerca20180113+";
        $cons_base_datos = "mercafar_mecafarma";
        $cons_equipo = "162.241.166.75";
        @$obj_conexion = mysqli_connect($cons_equipo, $cons_usuario, $cons_contra, $cons_base_datos);
        if (!$obj_conexion) {
            $fechaAhora = date("Y/m/d");
            $parrillas = Parrilla::where('fecha_inicio', '<=', $fechaAhora)
                ->where('fecha_final', '>=', $fechaAhora)
                ->where('id_especialidad', $socio->id_especialidad)
                ->with('parrilla_presentacion')
                ->first();
            //Listado de precios
            $cupones = [];
            $facturas = [];
            $productos = [];
            $productoPromocionales = ProductoPromocional::all();
            $listado = ListaPrecios::with('listado_precios')->find($socio->id_lista);
            $listadoJson = json_encode($listado->listado_precios);
            $bonificaciones = Bonificacion::all();
            $bonificacionesJson = json_encode($bonificaciones);
            $laboratorios = ProductoLaboratorio::all();
            return view('ficha_socio.ficha_pedido', compact('cupones', 'status_visita', 'listadoJson', 'socio', 'comentarios', 'combos', 'parrillas', 'listado', 'bonificaciones', 'facturas', 'productos', 'productoPromocionales', 'laboratorios', 'bonificacionesJson'));
        }
        $var_consulta = "
            SELECT v.tipo_transaccion, v.fecha_documento as fecha, v.num_movi as numero_doc, v.cod_serie_movi as serie_docu, v.cod_cliente as cod_cliente,
            v.nit, v.nombre_cliente, v.orden,
            v.cod_producto, v.nombre_producto, v.total_articulos as total_articulos, v.reng_neto_con_iva/v.total_articulos as precio_unitario, v.reng_neto_con_iva as total_factura, v.iva, v.ano, v.mes, v.tipo_cliente
            FROM
            D_DETALLE_VENTAS_SELL_IN v
            WHERE v.COD_CLIENTE = '240'  AND YEAR(v.fecha_documento)>$anoAcutal
            GROUP BY v.num_movi
            ORDER BY v.fecha_documento DESC, v.num_movi, v.orden";
        $var_resultado = $obj_conexion->query($var_consulta);
        if ($var_resultado->num_rows > 0) {
            while ($var_fila = $var_resultado->fetch_array()) {
                $facturas[] = [
                    'fecha' => $var_fila["fecha"],
                    'numero_doc' => $var_fila["numero_doc"],
                    'serie_docu' => $var_fila["serie_docu"],
                    'total_articulos' => $var_fila["total_articulos"],
                    'total_factura' => $var_fila["total_factura"],
                ];
            }
        }
        $cons_usuario = "mercafa1_cuponconsultas";
        $cons_contra = "TroyanoMerca20180113+";
        $cons_base_datos = "mercafa1_cupones";
        $cons_equipo = "50.87.253.17";
        $obj_conexion2 = mysqli_connect($cons_equipo, $cons_usuario, $cons_contra, $cons_base_datos);
        $var_consulta2 = "SELECT t1.tipo_cupon as tipo_cupon,
        t1.cod_colegiado,
        t1.producto_id,
       t1.nombre_promocion,
       SUM(case when t1.status = '1 EMITIDO' THEN 1 ELSE 0 END) AS emitido,
       SUM(case when t1.status = '2 SUSCRITO' THEN 1 ELSE 0 END) AS suscrito,
       SUM(case when t1.status = '3 CANJEADO' THEN 1 ELSE 0 END) AS canjeado,
       SUM(case when t1.status = '4 LIQUIDADO' THEN 1 ELSE 0 END) AS liquidado,
       SUM(case when t1.status = '5 PAGADO' THEN 1 ELSE 0 END) AS pagado,
       SUM(case when t1.status != '' then 1 else 0 END) AS total
        FROM (
        SELECT c.tipo_cupon as tipo_cupon,
        c.producto_id,
        p.nombre as nombre_promocion,
        c.no_colegiado,
        zc.cod_colegiado,
        zc.cod_elvis,
        zc.nombre_medico,
        if (l.status =1, '5 PAGADO', if (c.liquidacion != 0, '4 LIQUIDADO', if (c.sucursal_id != 0, '3 CANJEADO', if (c.user_id != '','2 SUSCRITO', if (c.no_cupon !='', '1 EMITIDO', 0))))) AS status
        FROM cupones c LEFT JOIN facturas_cupones fc ON c.no_cupon = fc.numero_cupon
                        LEFT JOIN sucursals s ON c.sucursal_id = s.id
                    LEFT JOIN cadenas cd ON s.cadena_id = cd.id
                    LEFT JOIN productos p ON c.producto_id = p.id
                    LEFT JOIN promocions pns ON c.producto_id = pns.producto_id
                    LEFT JOIN municipios m ON s.municipio_id = m.id
                    LEFT JOIN departamentos dt ON m.departamento_id = dt.id
                    LEFT JOIN pais ps ON dt.pais_id = ps.id
                    LEFT JOIN Presentaciones pt ON fc.presentacion = pt.id
                    LEFT JOIN suscriptors sts ON c.user_id = sts.id
                    LEFT JOIN doctors dts ON c.no_colegiado = dts.codigo
                    LEFT JOIN Z_CUPONES zc ON c.no_cupon = zc.cod_cupon
                    LEFT JOIN liquidacion l ON c.liquidacion = l.id
        WHERE c.tipo_cupon = 'fisico'
        ORDER BY c.tipo_cupon, c.producto_id, p.nombre, zc.cod_colegiado, zc.cod_elvis, zc.nombre_medico
        )t1
        WHERE t1.cod_colegiado = '20443'
        GROUP BY t1.tipo_cupon, t1.cod_colegiado, t1.producto_id, t1.nombre_promocion";
        $var_resultado2 = $obj_conexion2->query($var_consulta2);
        if ($var_resultado2->num_rows > 0) {
            while ($var_fila = $var_resultado2->fetch_array()) {
                $cupones[] = [
                    'tipo_cupon' => $var_fila["tipo_cupon"],
                    'cod_colegiado' => $var_fila["cod_colegiado"],
                    'producto_id' => $var_fila["producto_id"],
                    'nombre_promocion' => $var_fila["nombre_promocion"],
                    'EMITIDO' => $var_fila["emitido"],
                    'SUSCRITO' => $var_fila["suscrito"],
                    'CANJEADO' => $var_fila["canjeado"],
                    'LIQUIDADO' => $var_fila["liquidado"],
                    'PAGADO' => $var_fila["pagado"],
                    'TOTAL' => $var_fila["total"],
                ];
            }
        }
        //Listado de precios
        $productoPromocionales = ProductoPromocional::all();
        $listado = ListaPrecios::with('listado_precios')->find($socio->id_lista);
        $listadoJson = json_encode($listado->listado_precios);
        $bonificaciones = Bonificacion::all();
        $bonificacionesJson = json_encode($bonificaciones);
        $laboratorios = ProductoLaboratorio::all();
        //Generar visita
        $productos = [];
        return view('ficha_socio.ficha_pedido', compact('cupones', 'status_visita', 'listadoJson', 'comentarios', 'combos', 'socio', 'listado', 'bonificaciones', 'facturas', 'productos', 'productoPromocionales', 'laboratorios', 'bonificacionesJson'));
    }
    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }
    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }
    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }
    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }
    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    function UpdateSocioApm(Request $request)
    {

        //dd($request);

        $socio = Socio::find($request->socio_id);

        $socio->primer_nombre_socio = $request->name_up ?? '';
        $socio->primer_apellido_socio = $request->lastname_up ?? '';
        $socio->telefono_oficina_socio = $request->phone_up ?? '';
        $socio->telefono_movil_socio = $request->cel_up ?? '';
        $socio->horario = $request->horario_up ?? '';
        $socio->direccion = $request->direction_up ?? '';
        $socio->fecha_cumpleanos = $request->birthday_up ?? '';
        $socio->id_clasificacion = $request->clasificacion_up ?? '';

        $socio->save();

        return redirect()->back()->with('message', 'Socio actualizado correctamente');
    }
    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
    //Nueva cita
    public function nuevaCita(Request $request)
    {
        $visita = new Visita();
        $visita->id_apm = Auth::id();
        $visita->id_socio = $request->idSocio;
        $visita->id_parrilla = $request->idParrilla;
        $visita->comentario = '';
        $visita->coordenada_log = $request->logitud;
        $visita->coordenada_lat = $request->latitud;
        $visita->status = 1;
        $visita->id_distribucion = $request->idDistribucion;
        $visita->save();
        $arrResponse = [
            'idVisita' => $visita->id,
            'message' => 'Visita creada correctamente'
        ];
        return response($arrResponse);
    }
    public function terminarVisita(Request $request)
    {
        $visita = Visita::where('id', $request->idVisita)->first();
        $visita->status = 2;
        $visita->update();
        $arrResponse = [
            'message' => 'Visita actualizada correctamente'
        ];
        return response($arrResponse);
    }
    public function actualizarParrilla(Request $request)
    {
        $i = 0;
        foreach ($request->cantidadesParrilla as $cantidad) {
            $visitaParrilla = new VisitaParrilla();
            $visitaParrilla->id_parrilla = $request->idParrilla;
            $visitaParrilla->id_visita = $request->idVisita;
            $visitaParrilla->id_producto = $request->idCantidaesParrilla[$i];
            $visitaParrilla->id_apm = Auth::id();
            $visitaParrilla->cantidad = $cantidad;
            $visitaParrilla->save();
            $i++;
        }
        $arrResponse = [
            'message' => 'Parrila actualizada correctamente'
        ];
        return response($arrResponse);
    }
    public function guardarPedido(Request $request)
    {
        $i = 0;
        $visitaPedido = new VisitaPedido();
        $visitaPedido->id_visita = $request->idVisita;
        $visitaPedido->id_apm = Auth::id();
        $visitaPedido->id_socio = $request->idSocio;
        $visitaPedido->comentario = $request->comentario;
        $visitaPedido->save();
        if ($visitaPedido->id > 0) {
            foreach ($request->idProductos as $idProducto) {
                $visitaPedidoProducto = new VisitaPedidoProducto();
                $visitaPedidoProducto->id_visita = $request->idVisita;
                $visitaPedidoProducto->id_visita_pedido = $visitaPedido->id;
                $visitaPedidoProducto->id_producto = $idProducto;
                $visitaPedidoProducto->cantidad = $request->cantidadPedido[$i];
                $visitaPedidoProducto->precio = $request->precioPedido[$i];
                $visitaPedidoProducto->id_bonificacion = $request->idBonificacion[$i];
                $visitaPedidoProducto->save();
                $i++;
            }
        }
        $ultimo_pedido = VisitaPedido::where('id', $visitaPedido->id)
            ->with('pedido_visita')
            ->with('socio')
            ->orderBy('created_at', 'desc')
            ->first();
        $correo = 'dev@paginawebguatemala.com';
        Mail::send('ficha_socio.enviar_pedido', compact('ultimo_pedido'), function ($message) use ($correo) {
            $message->from('pruebas_laravel@cuatroaces.com', 'Sistema - Visita Médica');
            $message->to($correo);
            $message->subject('Solicitud de pedido');
        });
        $arrResponse = [
            'message' => 'Pedido guardado correctamente',
            'id_pedido' => $visitaPedido->id
        ];
        return response($arrResponse);
    }
    public function mostrarPedido(Request $request)
    {
        //$pedidoInfo=VisitaPedido::where('id',$request->id_visita)->get();
        //$productos=VisitaPedidoProducto::where('id_visita',$request->id_visita)->get();
        $pedidoInfo = VisitaPedido::where('id', $request->idVisita)->first();
        $productos = VisitaPedidoProducto::where('id_visita_pedido', $request->idVisita)
            ->with('producto')
            ->get();
        $html = view('ficha_socio.mostrar_pedido', compact('pedidoInfo', 'productos'))->render();
        $arrResponse = [
            'message' => 'true',
            'html' => $html
        ];
        return response($arrResponse);
    }

    public function guardarPedidoCombo(Request $request)
    {
        $id_apm = Auth::id();
        $visitaPedido = new VisitaPedidoCombo();
        $visitaPedido->id_visita = $request->idVisita;
        $visitaPedido->id_apm = $id_apm;
        $visitaPedido->id_socio = $request->idSocio;
        $visitaPedido->save();
        $i = 0;
        if ($visitaPedido->id > 0) {
            foreach ($request->id_cantidad as $id_cantidad) {
                if ($id_cantidad) {
                    $visitaPedidoProducto = new VisitaPedidoProductoCombo();
                    $visitaPedidoProducto->id_visita = $request->idVisita;
                    $visitaPedidoProducto->id_apm = $id_apm;
                    $visitaPedidoProducto->id_visita_combo = $visitaPedido->id;
                    $visitaPedidoProducto->id_combo = $request->id_combo[$i];
                    $visitaPedidoProducto->cantidad = $id_cantidad;
                    $visitaPedidoProducto->save();
                }
                $i++;
            }
        }
        $arrResponse = [
            'message' => 'Combo guardado correctamente',
            'id_pedido' => $visitaPedido->id
        ];
        return response($arrResponse);
    }

    public function guardarComentario(Request $request)
    {
        Visita::where('id', $request->idVisita)
            ->update(['comentario' => $request->comentario]);
        $arrResponse = [
            'message' => 'Comentario guardado correctamente',
        ];
        return response($arrResponse);
    }
    public function guardarEVA(Request $request)
    {
        $i = 0;
        $visitaPedido = new VisitaEVA();
        $visitaPedido->id_visita = $request->idVisita;
        $visitaPedido->id_apm = Auth::id();
        $visitaPedido->id_socio = $request->idSocio;
        $visitaPedido->comentario = $request->comentario;
        $visitaPedido->save();
        if ($visitaPedido->id > 0) {
            foreach ($request->idProductos as $idProducto) {
                $visitaPedidoProducto = new VisitaEVAProducto();
                $visitaPedidoProducto->id_visita = $request->idVisita;
                $visitaPedidoProducto->id_visita_eva = $visitaPedido->id;
                $visitaPedidoProducto->id_producto = $idProducto;
                $visitaPedidoProducto->id_bonificacion = $request->idBonificacion[$i];
                $visitaPedidoProducto->cantidad = $request->cantidadPedido[$i];
                $visitaPedidoProducto->precio = $request->precioPedido[$i];
                $visitaPedidoProducto->porcentaje = $request->porcentaje[$i];
                $visitaPedidoProducto->save();
                $i++;
            }
        }
        $arrResponse = [
            'message' => 'EVA guardado correctamente',
            'id_pedido' => $visitaPedido->id
        ];
        return response($arrResponse);
    }
    public function mostrarPedidoEVA(Request $request)
    {
        $pedidoInfo = VisitaEVA::where('id', $request->idVisita)->first();
        $productos = VisitaEVAProducto::where('id_visita_eva', $request->idVisita)
            ->with('producto')
            ->with('bonificacion')
            ->get();
        $html = view('ficha_socio.mostrar_pedidoEVA', compact('pedidoInfo', 'productos'))->render();
        $arrResponse = [
            'message' => 'true',
            'html' => $html
        ];
        return response($arrResponse);
    }
    //Busca las facturas del cliente por codigo
    public function facturasCliente(Request $request)
    {
        $cons_usuario = "mercafar_crm";
        $cons_contra = "CRM3040989018350";
        $cons_base_datos = "mercafar_mecafarma";
        $cons_equipo = "162.241.31.209";
        $obj_conexion =
            mysqli_connect($cons_equipo, $cons_usuario, $cons_contra, $cons_base_datos);
        if (!$obj_conexion) {
            echo "<h3>No se ha podido conectar PHP - MySQL, verifique sus datos.</h3><hr><br>";
            exit();
        }
        $var_consulta = "SELECT v.cod_tipo_movi as tipo_doc,
                v.fecha_documento as fecha,
                v.num_movi as numero_doc,
                v.cod_serie_movi as serie_docu,
                v.cod_cliente as cod_cliente,
                v.nit,
                v.nombre_cliente,
                v.tipo_cliente,
                YEAR(v.fecha_documento),
                v.total_articulos as total_articulos,
                v.reng_neto_con_iva as total_factura
                    FROM view_crm_fac v
                    WHERE v.COD_CLIENTE = '2264' AND YEAR(v.fecha_documento)>2019
                    ORDER BY v.fecha_documento DESC, v.num_movi";
        $var_resultado = $obj_conexion->query($var_consulta);
        if ($var_resultado->num_rows > 0) {
            while ($var_fila = $var_resultado->fetch_array()) {
                $facturas[] = [
                    'fecha' => $var_fila["fecha"],
                    'numero_doc' => $var_fila["numero_doc"],
                    'serie_docu' => $var_fila["serie_docu"],
                    'total_articulos' => $var_fila["total_articulos"],
                    'total_factura' => $var_fila["total_factura"],
                ];
            }
        }
        return response($facturas);
    }
    public function consultarFactura(Request $request)
    {
        $cons_usuario = "mercafar_sell_in";
        $cons_contra = "TroyanoMerca20180113+";
        $cons_base_datos = "mercafar_mecafarma";
        $cons_equipo = "162.241.166.75";
        @$obj_conexion = mysqli_connect($cons_equipo, $cons_usuario, $cons_contra, $cons_base_datos);
        if (!$obj_conexion) {
            echo "<h3>No se ha podido conectar PHP - MySQL, verifique sus datos.</h3><hr><br>";
            exit();
        }
        $serie = $request->serie;
        $factura = $request->factura;
        $codigoDiamante = $request->codigoDiamante;
        $var_consulta = "
            SELECT v.tipo_transaccion, v.fecha_documento as fecha, v.num_movi as numero_doc, v.cod_serie_movi as serie_docu, v.cod_cliente as cod_cliente,
            v.nit, v.nombre_cliente, v.orden,
            v.cod_producto, v.nombre_producto, v.total_articulos as total_articulos, v.reng_neto_con_iva/v.total_articulos as precio_unitario, v.reng_neto_con_iva as total_factura, v.iva, v.ano, v.mes, v.tipo_cliente
            FROM
            D_DETALLE_VENTAS_SELL_IN v
            WHERE v.COD_CLIENTE = '240'  AND v.cod_serie_movi = '" . $serie . "' AND v.num_movi = '" . $factura . "'
            ORDER BY v.fecha_documento DESC, v.num_movi, v.orden";
        $var_resultado = $obj_conexion->query($var_consulta);
        if ($var_resultado->num_rows > 0) {
            while ($var_fila = $var_resultado->fetch_array()) {
                $facturas[] = [
                    'fecha' => $var_fila["fecha"],
                    'numero_doc' => $var_fila["numero_doc"],
                    'serie_docu' => $var_fila["serie_docu"],
                    'nombre_producto' => $var_fila["nombre_producto"],
                    'total_articulos' => $var_fila["total_articulos"],
                    'precio_unitario' => number_format($var_fila["precio_unitario"], 2),
                    'total_factura' => $var_fila["total_factura"],
                ];
            }
        }
        return response($facturas);
    }
    public function productosFacturas(Request $request)
    {
        $cons_usuario = "mercafar_crm";
        $cons_contra = "CRM3040989018350";
        $cons_base_datos = "mercafar_mecafarma";
        $cons_equipo = "162.241.31.209";
        $obj_conexion =
            mysqli_connect($cons_equipo, $cons_usuario, $cons_contra, $cons_base_datos);
        if (!$obj_conexion) {
            echo "<h3>No se ha podido conectar PHP - MySQL, verifique sus datos.</h3><hr><br>";
            exit();
        }
        $producto = $request->producto;
        $codigoDiamante = $request->codigoDiamante;
        $var_consulta = "SELECT v.cod_tipo_movi as tipo_doc,
                v.fecha_documento as fecha,
                v.num_movi as numero_doc,
                v.cod_serie_movi as serie_docu,
                v.cod_cliente as cod_cliente,
                v.nit,
                v.nombre_cliente,
                v.tipo_cliente,
                v.orden,
                v.cod_producto,
                v.codigo_producto,
                v.nombre_producto,
                v.total_articulos,
                v.precio_unitario,
                v.reng_neto_con_iva as total_factura
                    FROM view_crm_fac_det v
                    WHERE v.cod_cliente = '" . $codigoDiamante . "' AND v.cod_producto= '" . $producto . "'
                    ORDER BY v.fecha_documento DESC, v.num_movi, v.orden";
        $var_resultado = $obj_conexion->query($var_consulta);
        if ($var_resultado->num_rows > 0) {
            while ($var_fila = $var_resultado->fetch_array()) {
                $productos[] = [
                    'fecha_documento' => $var_fila["fecha"],
                    'serie_docu' => $var_fila["serie_docu"],
                    'numero_doc' => $var_fila["numero_doc"],
                    'total_articulos' => $var_fila["total_articulos"],
                    'precio_unitario' => number_format($var_fila["precio_unitario"]),
                    'total_factura' => $var_fila["total_factura"],
                ];
            }
        }
        return response($productos);
    }
}
