 <!DOCTYPE html>
<html lang="es">
    <head>
        <title>Reporte de Ventas</title>
        <link rel="stylesheet" type="text/css" href='<?php echo base_url()?>assets/dist/css/table.css' />
        <link rel="stylesheet" href="<?php echo base_url().'assets/dist/css/styles.css'?>">
        <link rel="stylesheet" href="<?php echo base_url().'assets/plugins/select/bootstrap-select.min.css'?>">
    <!-- Latest compiled and minified JavaScript -->
    <script src="<?php echo base_url().'assets/plugins/select/bootstrap-select.min.js'?>"></script>
    </head>
<body>
    <div class="contenido-form">
        <form action="#" method="POST" class="form-horizontal">
            <div class="form-group">
                <div class="form-content">
                    <label for="" class="col-md-1 control-label">Desde:</label>
                    <div class="col-md-4">
                        <input class="form-control date-picker" name="fechainicio" id="fechainicio" value="<?php echo !empty($fechainicio) ? $fechainicio:'';?>">
                    </div>
                </div>
                <div class="form-content">
                    <label for="" class="col-md-1 control-label">Hasta:</label>
                    <div class="col-md-4">
                        <input class="form-control date-picker" name="fechafin" id="fechafin" value="<?php  echo !empty($fechafin) ? $fechafin:'';?>">
                    </div>
                </div>
            </div>
        </form>
        <form id="ventasReporte" class="navbar-form navbar" action="#">
            <label for="name1">Tipo Reporte  </label>
            <select class="form-control" id="queryReporte" name="queryReporte"> 
                <!-- <option value="">Selecciona una tipo de Reporte</option> -->
                <option value="1">Ventas General</option>
                <option value="2">Ventas Servicios</option>
                <option value="3">Ventas Promociones </option>
                <option value="4">Ventas Productos </option>
                <option value="5">Ventas Canceladas </option>
            </select>

            <!-- <input type="submit" class="btn btn-primary" id="filtrarReportes" value="Buscar" />
            
             <input onclick=location.href="<?php echo base_url();?>reportes/Franquiciatario/reportesF" type="button" id="filtrarReportes" class="btn btn-danger volver" value=" Regresar"/>
             -->
             <div class="col-md-12 col-xs-12">
                <div class="form-group col-md-12 col-xs-12 contenedor2 pull-left">
                  <div class="form-content">
                  <div class="col-md-12 col-xs-12">
                    <a href="javascript:window.history.back()" ><button type="button" class="btn btn-danger col-md-12 col-xs-12 "><span class="glyphicon glyphicon-circle-arrow-left"> </span> Regresar</button></a>
                  </div>
                  </div>
                </div>
                <div class="form-group col-md-12 col-xs-12 contenedor2 pull-right">
                  <div class="form-content">
                  <div class="col-md-12 col-xs-12">
                  <button type="submit" class="btn btn-primary col-md-12 col-xs-12 " id="filtrarReportes"><span class="glyphicon glyphicon-search">  </span> Buscar </button>                    
                  </div>
                  </div>
                </div>                  
          </div>
        </form>
    </div>
    <div class="container">
        <h1>Reporte de Ventas</h1>
        <table id="reporte-ventas" class="display up table" style="width:100%">
        </table>
    </div>
</body>
<!-- Modal loading -->
<div class="modal fade" id="modal-loader" data-backdrop="static" data-keyboard="false">
<div class="vertical-alignment-helper">
  <div class="modal-dialog vertical-align-center modal-sm">
	  	<div style=" text-align: center;">
		<div class="lds-spinner"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>
		<center class="cargando"> Cargando...</center>
		</div>
  </div>
</div>
</div>
<!-- fin modal loading -->
<script type="text/javascript">
$(document).ready(function() {
      $.fn.datepicker.dates['en'] = {
            days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"],
            daysShort: ["Dom", "Lun", "Mar", "Mier", "Jue", "Vier", "Sab"],
            daysMin: ["D", "L", "Ma", "Mi", "J", "V", "S"],
            months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
            monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"],
            today: "Today",
            clear: "Clear",

            weekStart: 0
        };

        $.datepicker.setDefaults($.datepicker.regional['en']);
        $(".date-picker").datepicker( {
            isRTL: false,
            format: "dd-mm-yyyy",
           /* yearRange: "0000",*/
            viewMode: "months,days", 
            minViewMode: "months,days",
        });
        $('.date-picker').datepicker('setDate', 'today');
        //end data-picker

    $('#filtrarReportes').click(function(){        
    $.fn.dataTable.ext.errMode = 'none';
    $('#reporte-ventas').on('error.dt', function(e, settings, techNote, message) {
       console.log( 'An error has been reported by DataTables: ', message);
    });
    $('#reporte-ventas').empty();

    $('#reporte-ventas').unbind();
        var filtrarPor = $('#queryReporte').val();
        var fechainicio = $('#fechainicio').val();
        var fechafin = $("#fechafin").val();
        console.log(filtrarPor);
        console.log(fechainicio);
        console.log(fechafin);



        if( fechainicio != '' && fechafin != '' )
        {
        if(filtrarPor == 1){
            $('#modal-loader').modal();
                 console.log(filtrarPor);
                    console.log(fechainicio);
                $.ajax({
                url:"<?php echo base_url();?>reportes/Franquiciatario/ReportesV/reporteVentasGeneral",
                type:'POST',
                dataType: 'json',
                data:{finicio : fechainicio, ffin : fechafin},
                success:function(response){
                     console.log(response);
                     $('#modal-loader').modal('hide');
                    console.log("exito");
                    toastr.success('Se realizó tu busqueda se encontraron '+ response.length +' resultados').css("width","100%");
                    var columns = [
                        { "title":"Folio Venta" },
                        { "title":"Folio Consecutivo" },
                        { "title":"Fecha" },
                        { "title":"Cliente" },
                        { "title":"Vendedor" },
                        { "title":"Comentario" },
                        { "title":"Propina" },
                        { "title":"Precio Lista" },
                        { "title":"Total a Pagar" },                     
                        { "title":"Pagado" },
                        { "title":"Adeudo" }
                    ];   

                     var hide = [
                            { targets: [0,1,2,3,4,5,6,7,8,9,10], visible: true},
                            { targets: [10], visible: false }
                        ];
                      

                    $("#reporte-ventas").append('<tfoot class="dataFooter"><tr><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th></tr></tfoot>'); 
                    $('#reporte-ventas').DataTable( {
                        dom: 'T<"clear">Bfrtip',
                        responsive: true,
                        columnDefs: hide,
                        data: response,
                        columns: columns,
                        ServerSide: true,
                         destroy: true,
                         footer: true,
                         processing: true,
                         buttons: [
                        {
                            extend: 'print',
                            text:"IMPRIMIR",
                            footer: true,
                            /*messageTop: 'Reporte de Ventas',*/
                            title: '',
                            customize: function ( win ) {

                                $(win.document.body)
                                .css( 'font-size', '10pt' )
                                .prepend(
                                    '<div class="top" style="width: 100%; text-align:center; display:flex; align-items: center; align-content: center;">  <div style="width: 50%;"><img src="<?php echo base_url();?>assets/dist/img/logo.png" style="width: 50%;" /></div><div style="width: 50%; font-size:2em">Reporte de Ventas General</div></div>'
                                    );

                                $(win.document.body).find( 'table' )
                                .addClass( 'compact' )
                                .css( 'font-size', 'inherit' );
                                $(win.document.body).find( 'table' )
                                .addClass( 'mayus' )
                                .css( 'text-transform', 'uppercase' );
                            },
                            
                        },
                        {
                            extend: 'pdf',
                            footer: true,
                            filename: 'ReporteVentasGeneral',
                            /*messageTop: 'Reporte de Ventas',*/
                            title: '',
                            orientation: 'landscape',
                            pageSize: 'letter',
                            key: { 
                                key: 'e',
                                altKey: false
                            }
                            , content: [{ style: 'fullWidth' }]
                            , styles: { 
                                fullWidth: { fontSize: 10, bold: true, alignment: 'right', margin: [0,0,0,0],   }

                            },
                            exportOptions: {
                                modifier: {
                                    pageMargins: [ 0, 0, 0, 0 ],  
                                    margin: [ 0, 0, 0, 0 ],  
                                    alignment: 'center',
                                    page: 'all',
                                   
                                }
                                , body : {margin: [ 0, 0, 0, 0 ], pageMargins: [ 0, 0, 0, 0 ]},
                                footer: true,
                                columns: [ 0, 1, 2, 3, 4, 5, 6, 7, 8,9,10 ]//son las columnas q quiero q se vean al exportarse          

                            },
                            body : {margin: [ 0, 0, 0, 0 ], pageMargins: [ 0, 0, 0, 0 ]},
                            customize: function ( doc ) {
                                console.log(doc.content);

                            },
                        },
                        {
                            extend: 'excel',
                            footer: true,
                            filename: 'ReporteVentasGeneral',
                            title: 'Reporte Ventas General',
                            footer: true,
                        }
                        /*'copy', 'csv', 'excel',*/
                        ],

                        language: {
                            "lengthMenu": "Mostrar _MENU_ registros por pagina",
                            "zeroRecords": "No se encontraron resultados en su busqueda",
                            "searchPlaceholder": "Buscar registros",
                            "info": "Mostrando registros de _START_ al _END_ de un total de  _TOTAL_ registros",
                            "infoEmpty": "No existen registros",
                            "infoFiltered": "(filtrado de un total de _MAX_ registros)",
                            "search": "Buscar:",
                            "paginate": {
                                "first": "Primero",
                                "last": "Último",
                                "next": "Siguiente",
                                "previous": "Anterior"
                            },
                        },
                        initComplete: function(row, data, start, end, display) {
                              
                          var api = this.api();
                           var propina = api
                                        .column( 6 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);
                        var precioLista = api
                                        .column( 7 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);

                          var total = api
                                        .column( 8 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);

                            var cantidadRecibida = api
                                        .column( 9 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);
                            var adeudo = api
                                        .column( 10 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);

                            api.columns(10, {
                            page: 'current'
                          }).every(function() {
                            
                                 console.log("total" + total);  
                             
                                $( api.column( 0 ).footer() ).html('Total');
                                $( api.column( 1 ).footer() ).html("");
                                $( api.column( 2 ).footer() ).html("" );
                                $( api.column( 3 ).footer() ).html("" );
                                $( api.column( 4 ).footer() ).html("" );
                                $( api.column( 5 ).footer() ).html("" );
                                $( api.column( 6 ).footer() ).html(new Intl.NumberFormat('es-MX').format(propina));
                                $( api.column( 7 ).footer() ).html(new Intl.NumberFormat('es-MX').format(precioLista));
                                $( api.column( 8 ).footer() ).html( new Intl.NumberFormat('es-MX').format(total)  );
                                $( api.column( 9 ).footer() ).html( new Intl.NumberFormat('es-MX').format(cantidadRecibida) );
                                $( api.column( 10 ).footer() ).html( new Intl.NumberFormat('es-MX').format(adeudo) );
                                 

                           
                          });
                        }
                        
                    });
                    $('#reporte-ventas').wrap("<div id='scrooll_div' class='scrollbar-tabla' style='width: 100%;'></div>");
                    $('#scrooll_div').doubleScroll({
                          resetOnWindowResize: true
                        });
                    return false;

                },//end success ajax response
                error:function(){

                    console.log("error");
                },

                });//end ajax
        return false;
                   
        }//end filtrar por 1 ventas Generales
        else if(filtrarPor == 2){
            $('#modal-loader').modal();
                $('#reporte-ventas').empty();

                $('#reporte-ventas').unbind();
                $('#reporte-ventas  tfoot').remove();
                    console.log(filtrarPor);
                    console.log(fechainicio);
                    console.log("-----------2--------");

                $.ajax({
                url:"<?php echo base_url();?>reportes/Franquiciatario/ReportesV/reporteVentasServFranquicias",
                type:'POST',
                dataType: 'json',
                data:{finicio : fechainicio, ffin : fechafin},
                success:function(response){
                    $('#modal-loader').modal('hide');
                    console.log(response);
                    console.log("exito");
                    toastr.success('Se realizó tu busqueda se encontraron '+ response.length +' resultados').css("width","100%"); 
                    console.log(response);
                    var columns = [
                        { "title":"Folio Venta" },
                        { "title":"Folio Consecutivo" },
                        { "title":"Fecha" },
                        { "title":"Servicio" },
                        { "title":"Cantidad" },
                        { "title":"Cliente" },
                        { "title":"Vendedor" },
                        { "title":"Precio Lista" },
                        { "title":"Total a Pagar" },
                        { "title":"Cant. Recibida" },
                        { "title":"Adeudo " },
                         
                    ];   
 
                   var hide = [
                            { targets: [0,1,2,3,4,5,6,7,8,9,10], visible: true},
                            { targets: [10], visible: false }
                        ];
                    $('#reporte-ventas  tfoot').remove();
                    $("#reporte-ventas").append('<tfoot class="dataFooter"><tr><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th></tr></tfoot>'); 
                    $('#reporte-ventas').DataTable( {
                        dom: "T<'clear'>Bfrtip",
                        responsive: true,
                        columnDefs: hide,
                        data: response,
                        columns: columns,
                        footer: true,
                        destroy: true,
                         /*paging: false,*/
                        /*searching: false,*/
                        buttons: [
                        {
                            extend: 'print',
                            text:"IMPRIMIR",
                            footer: true,
                            /*filename: 'ReporteVentasServiciosFranquicia',
                            /*messageTop: 'Reporte de Ventas',*/
                            title: '',
                            customize: function ( win ) {

                                $(win.document.body)
                                .css( 'font-size', '10pt' )
                                .prepend(
                                    '<div class="top" style="width: 100%; text-align:center; display:flex; align-items: center; align-content: center;">  <div style="width: 50%;"><img src="<?php echo base_url();?>assets/dist/img/logo.png" style="width: 50%;" /></div><div style="width: 50%; font-size:2em">Reporte de Ventas - Servicios</div></div>'
                                    );

                                $(win.document.body).find( 'table' )
                                .addClass( 'compact' )
                                .css( 'font-size', 'inherit' );
                                $(win.document.body).find( 'table' )
                                .addClass( 'mayus' )
                                .css( 'text-transform', 'uppercase' );
                            }
                        },
                        {
                            extend: 'pdf',
                            filename: 'ReporteVentasServiciosFranquicia',
                            footer: true,
                            /*messageTop: 'Reporte de Ventas',*/
                            title: '',
                            orientation: 'landscape',
                            pageSize: 'letter',
                            key: { 
                                key: 'e',
                                altKey: false
                            }
                            , content: [{ style: 'fullWidth' }]
                            , styles: { 
                                fullWidth: { fontSize: 10, bold: true, alignment: 'right', margin: [0,0,0,0],   }

                            },
                            exportOptions: {
                                modifier: {
                                    pageMargins: [ 0, 0, 0, 0 ],  
                                    margin: [ 0, 0, 0, 0 ],  
                                    alignment: 'center',
                                    footer: true, 
                                    page: 'all',    
                                }
                                , body : {margin: [ 0, 0, 0, 0 ], pageMargins: [ 0, 0, 0, 0 ]},
                                footer: true, 
                                columns: [ 0, 1, 2, 3, 4, 5, 6, 7, 8,9,10]         

                            },
                            body : {margin: [ 0, 0, 0, 0 ], pageMargins: [ 0, 0, 0, 0 ]},
                            customize: function ( doc ) {
                                console.log(doc.content);

                            },
                        },
                        {
                            extend: 'excel',
                            filename: 'ReporteVentasServiciosFranquicia',
                            title: 'Reporte Ventas - Servicios Franquicia',
                            footer: true,
                        }
                       /* ,'copy', 'csv', 'excel',*/
                        ],

                        language: {
                            "lengthMenu": "Mostrar _MENU_ registros por pagina",
                            "zeroRecords": "No se encontraron resultados en su busqueda",
                            "searchPlaceholder": "Buscar registros",
                            "info": "Mostrando registros de _START_ al _END_ de un total de  _TOTAL_ registros",
                            "infoEmpty": "No existen registros",
                            "infoFiltered": "(filtrado de un total de _MAX_ registros)",
                            "search": "Buscar:",
                            "paginate": {
                                "first": "Primero",
                                "last": "Último",
                                "next": "Siguiente",
                                "previous": "Anterior"
                            },
                        },
                        initComplete: function(row, data, start, end, display) {
                              
                          var api = this.api();
                          
                          var total = api
                                        .column( 8 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);

                            var cantidadRecibida = api
                                        .column( 9 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);
                            var adeudo = api
                                        .column( 10 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);

           
                            api.columns(10, {
                            page: 'current'
                          }).every(function() {
                            
                            console.log("total" + total);  
                             
                                $( api.column( 0 ).footer() ).html('Total');
                                $( api.column( 1 ).footer() ).html("");
                                $( api.column( 2 ).footer() ).html("" );
                                $( api.column( 3 ).footer() ).html("");
                                $( api.column( 4 ).footer() ).html("");
                                $( api.column( 5 ).footer() ).html("");
                                $( api.column( 6 ).footer() ).html("");
                                $( api.column( 7 ).footer() ).html("");
                                $( api.column( 8 ).footer() ).html( new Intl.NumberFormat('es-MX').format(total)  );
                                $( api.column( 9 ).footer() ).html( new Intl.NumberFormat('es-MX').format(cantidadRecibida) );
                                $( api.column( 10 ).footer() ).html( new Intl.NumberFormat('es-MX').format(adeudo) );
                                // $( api.column( 10 ).footer() ).html("");

                           
                          });
                        }

                    });

                    $('#reporte-ventas').wrap("<div id='scrooll_div' class='scrollbar-tabla' style='width: 100%;'></div>");
                    $('#scrooll_div').doubleScroll({
                          resetOnWindowResize: true
                        });
                    return false;

                },//end success ajax response
                error:function(){

                    console.log("error");
                },

                });//end ajax
         return false;
                   
        }//end filtrar por 2 Servicios Franquicia
        else if(filtrarPor == 3){
            $('#modal-loader').modal();
                $('#reporte-ventas').empty();

                $('#reporte-ventas').unbind();
                $('#reporte-ventas  tfoot').remove();
                    console.log(filtrarPor);
                    console.log(fechainicio);
                    console.log("-----------3--------");
                $.ajax({
                url:"<?php echo base_url();?>reportes/Franquiciatario/ReportesV/reporteVentasPromociones",
                type:'POST',
                dataType: 'json',
                data:{finicio : fechainicio, ffin : fechafin},
                success:function(response){
                    $('#modal-loader').modal('hide');
                    console.log("exito");
                    toastr.success('Se realizó tu busqueda se encontraron '+ response.length +' resultados').css("width","100%"); 
                    console.log(response);
                    var columns = [
                        { "title":"Folio Venta" },
                        { "title":"Folio Consecutivo" },
                        { "title":"Fecha" },
                        { "title":"Promoción" },
                        { "title":"Cantidad" },
                        { "title":"Cliente" },
                        { "title":"Vendedor" },
                        { "title":"Precio Lista" },
                        { "title":"Total a Pagar" },
                        /*{ "title":"Descuento" },*/
                        { "title":"Cant. Recibida" },
                        { "title":"Adeudo " },
                         
                    ];   
                   var hide = [
                            { targets: [0,1,2,3,4,5,6,7,8,9,10], visible: true},
                            { targets: [10], visible: false }
                        ];
                    $('#reporte-ventas  tfoot').remove();
                    $("#reporte-ventas").append('<tfoot class="dataFooter"><tr><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th></tr></tfoot>'); 
                    $('#reporte-ventas').DataTable( {
                        dom: "Bfrtip",
                        columnDefs: hide,
                        responsive: true,
                        data: response,
                        columns: columns,
                        footer: true,
                        destroy: true,
                        /* paging: false,
                        searching: false,*/
                        buttons: [
                        {
                            extend: 'print',
                            text:"IMPRIMIR",
                            footer: true,
                            /*messageTop: 'Reporte de Ventas',*/
                            title: '',
                            customize: function ( win ) {

                                $(win.document.body)
                                .css( 'font-size', '10pt' )
                                .prepend(
                                    '<div class="top" style="width: 100%; text-align:center; display:flex; align-items: center; align-content: center;">  <div style="width: 50%;"><img src="<?php echo base_url();?>assets/dist/img/logo.png" style="width: 50%;" /></div><div style="width: 50%; font-size:2em">Reporte de Ventas - Promociones</div></div>'
                                    );

                                $(win.document.body).find( 'table' )
                                .addClass( 'compact' )
                                .css( 'font-size', 'inherit' );
                                $(win.document.body).find( 'table' )
                                .addClass( 'mayus' )
                                .css( 'text-transform', 'uppercase' );
                            }
                        },
                        {
                            extend: 'pdf',
                            filename: 'ReporteVentasPromociones',
                            footer: true,
                            /*messageTop: 'Reporte de Ventas',*/
                            title: '',
                            orientation: 'landscape',
                            pageSize: 'letter',
                            key: { 
                                key: 'e',
                                altKey: false
                            }
                            , content: [{ style: 'fullWidth' }]
                            , styles: { 
                                fullWidth: { fontSize: 10, bold: true, alignment: 'right', margin: [0,0,0,0],   }

                            },
                            exportOptions: {
                                modifier: {
                                    pageMargins: [ 0, 0, 0, 0 ],  
                                    margin: [ 0, 0, 0, 0 ],  
                                    alignment: 'center',
                                    page: 'all',

                                }
                                , body : {margin: [ 0, 0, 0, 0 ], pageMargins: [ 0, 0, 0, 0 ]},
                                footer: true,
                                columns: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]           

                            },
                            body : {margin: [ 0, 0, 0, 0 ], pageMargins: [ 0, 0, 0, 0 ]},
                            customize: function ( doc ) {
                                console.log(doc.content);

                            },
                        },
                        {
                            extend: 'excel',
                            filename: 'ReporteVentasPromociones',
                            title: 'Reporte Ventas - Promociones',
                            footer: true,
                        }
                        /*,'copy', 'csv', 'excel',*/
                        ],

                        language: {
                            "lengthMenu": "Mostrar _MENU_ registros por pagina",
                            "zeroRecords": "No se encontraron resultados en su busqueda",
                            "searchPlaceholder": "Buscar registros",
                            "info": "Mostrando registros de _START_ al _END_ de un total de  _TOTAL_ registros",
                            "infoEmpty": "No existen registros",
                            "infoFiltered": "(filtrado de un total de _MAX_ registros)",
                            "search": "Buscar:",
                            "paginate": {
                                "first": "Primero",
                                "last": "Último",
                                "next": "Siguiente",
                                "previous": "Anterior"
                            },
                        },
                        initComplete: function(row, data, start, end, display) {
                              
                          var api = this.api();
                          
                          var total = api
                                        .column( 8 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);

                            var cantidadRecibida = api
                                        .column( 9 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);
                            var adeudo = api
                                        .column( 10 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);

           
                            api.columns(10, {
                            page: 'current'
                          }).every(function() {
                            
                            console.log("total" + total);  
                             
                                $( api.column( 0 ).footer() ).html('Total');
                                $( api.column( 1 ).footer() ).html("");
                                $( api.column( 2 ).footer() ).html("" );
                                $( api.column( 3 ).footer() ).html("");
                                $( api.column( 4 ).footer() ).html("");
                                $( api.column( 5 ).footer() ).html("");
                                $( api.column( 6 ).footer() ).html("");
                                $( api.column( 7 ).footer() ).html("");
                                $( api.column( 8 ).footer() ).html( new Intl.NumberFormat('es-MX').format(total)  );
                                $( api.column( 9 ).footer() ).html( new Intl.NumberFormat('es-MX').format(cantidadRecibida) );
                                $( api.column( 10 ).footer() ).html( new Intl.NumberFormat('es-MX').format(adeudo) );
                                //$( api.column( 10 ).footer() ).html("");


                           
                          });
                        }
                    });

                    $('#reporte-ventas').wrap("<div id='scrooll_div' class='scrollbar-tabla' style='width: 100%;'></div>");
                    $('#scrooll_div').doubleScroll({
                          resetOnWindowResize: true
                        });
                    return false;

                },//end success ajax response
                error:function(){

                    console.log("error");
                },

                });//end ajax
         return false;
                   
        }//end filtrar por 3 Promociones
        else if(filtrarPor == 4){
            $('#modal-loader').modal();
                $('#reporte-ventas').empty();

                $('#reporte-ventas').unbind();

                    console.log(filtrarPor);
                    console.log(fechainicio);
                    console.log("-----------4--------");
                $.ajax({
                url:"<?php echo base_url();?>reportes/Franquiciatario/ReportesV/reporteVentasProductos",
                type:'POST',
                dataType: 'json',
                data:{finicio : fechainicio, ffin : fechafin},
                success:function(response){
                    $('#modal-loader').modal('hide');
                    /* var total = 0;
                    $('#reporte-ventas').DataTable().rows().data().each(function(el, index){
                      //Asumiendo que es la columna 5 de cada fila la que quieres agregar a la sumatoria
                      total += parseInt(el[6]);
                    });

                    console.log(total);*/

                    console.log("exito");
                    toastr.success('Se realizó tu busqueda se encontraron '+ response.length +' resultados').css("width","100%"); 
                    console.log(response);
                    var columns = [
                        { "title":"Folio Venta" },
                        { "title":"Folio Consecutivo" },
                        { "title":"Fecha" },
                        { "title":"Producto" },
                        { "title":"Piezas Vendidas" },
                        { "title":"Cliente" },
                        { "title":"Vendedor" },
                         { "title":"Precio Lista" },
                        { "title":"Total a Pagar" },
                       /* { "title":"Descuento" },*/
                        { "title":"Cant. Recibida" },
                        { "title":"Adeudo " },
                       /* {title: "Size", data: "ABONO", className: "align-right"}*/

                    ];   


                       
                   var hide = [
                            { targets: [0,1,2,3,4,5,6,7,8,9,10], visible: true},
                            { targets: [10], visible: false }
                        ];

                    $('#reporte-ventas  tfoot').remove();
                    $("#reporte-ventas").append('<tfoot class="dataFooter"><tr><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th></tr></tfoot>');      
                    $('#reporte-ventas').DataTable( {
                        dom: "Bfrtip",
                        responsive: true,
                        columnDefs: hide,
                        data: response,
                        columns: columns,
                       
                         destroy: true,
                        /* paging: false,
                        searching: false,*/
                        buttons: [
                        {
                            extend: 'print',
                            text:"IMPRIMIR",
                            /*messageTop: 'Reporte de Ventas',*/
                            title: '',
                            footer: true,
                            customize: function ( win ) {

                                $(win.document.body)
                                .css( 'font-size', '10pt' )
                                .prepend(
                                    '<div class="top" style="width: 100%; text-align:center; display:flex; align-items: center; align-content: center;">  <div style="width: 50%;"><img src="<?php echo base_url();?>assets/dist/img/logo.png" style="width: 50%;" /></div><div style="width: 50%; font-size:2em">Reporte de Ventas - Productos</div></div>'
                                    );

                                $(win.document.body).find( 'table' )
                                .addClass( 'compact' )
                                .css( 'font-size', 'inherit' );
                                $(win.document.body).find( 'table' )
                                .addClass( 'mayus' )
                                .css( 'text-transform', 'uppercase' );
                            }
                        },
                        {
                            extend: 'pdf',
                            filename: 'ReporteVentasProductos',
                            footer: true,
                            /*messageTop: 'Reporte de Ventas',*/
                            title: '',
                            orientation: 'landscape',
                            pageSize: 'letter',
                            key: { 
                                key: 'e',
                                altKey: false
                            }
                            , content: [{ style: 'fullWidth' }]
                            , styles: { 
                                fullWidth: { fontSize: 10, bold: true, alignment: 'right', margin: [0,0,0,0],   }

                            },
                            exportOptions: {
                                modifier: {
                                    pageMargins: [ 0, 0, 0, 0 ],  
                                    margin: [ 0, 0, 0, 0 ],  
                                    alignment: 'center',
                                    page: 'all',
                                }
                                , body : {margin: [ 0, 0, 0, 0 ], pageMargins: [ 0, 0, 0, 0 ]},
                                footer: true,
                                columns: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10 ]           

                            },
                            body : {margin: [ 0, 0, 0, 0 ], pageMargins: [ 0, 0, 0, 0 ]},
                            customize: function ( doc ) {
                                console.log(doc.content);

                            },
                        },
                        {
                            extend: 'excel',
                            filename: 'ReporteVentasProductos',
                            title: 'Reporte Ventas - Productos',
                            footer: true,
                        }
                        /*,'copy', 'csv', 'excel',*/
                        ],

                        language: {
                            "lengthMenu": "Mostrar _MENU_ registros por pagina",
                            "zeroRecords": "No se encontraron resultados en su busqueda",
                            "searchPlaceholder": "Buscar registros",
                            "info": "Mostrando registros de _START_ al _END_ de un total de  _TOTAL_ registros",
                            "infoEmpty": "No existen registros",
                            "infoFiltered": "(filtrado de un total de _MAX_ registros)",
                            "search": "Buscar:",
                            "paginate": {
                                "first": "Primero",
                                "last": "Último",
                                "next": "Siguiente",
                                "previous": "Anterior"
                            },
                        },
                        initComplete: function(row, data, start, end, display) {
                              
                          var api = this.api();
                          
                          var total = api
                                        .column( 8 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);

                            var cantidadRecibida = api
                                        .column( 9 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);
                            var adeudo = api
                                        .column( 10 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);

           
                            api.columns(10, {
                            page: 'current'
                          }).every(function() {
                            
                            console.log("total" + total);  
                             
                                $( api.column( 0 ).footer() ).html('Total');
                                $( api.column( 1 ).footer() ).html("");
                                $( api.column( 2 ).footer() ).html("" );
                                $( api.column( 3 ).footer() ).html("");
                                $( api.column( 4 ).footer() ).html("");
                                $( api.column( 5 ).footer() ).html("");
                                $( api.column( 6 ).footer() ).html("");
                                $( api.column( 7 ).footer() ).html("");
                                $( api.column( 8 ).footer() ).html( new Intl.NumberFormat('es-MX').format(total)  );
                                $( api.column( 9 ).footer() ).html( new Intl.NumberFormat('es-MX').format(cantidadRecibida) );
                                $( api.column( 10 ).footer() ).html( new Intl.NumberFormat('es-MX').format(adeudo) );
                                // $( api.column( 10 ).footer() ).html("");


                           
                          });
                        }
                       

                    });
                    $('#reporte-ventas').wrap("<div id='scrooll_div' class='scrollbar-tabla' style='width: 100%;'></div>");
                    $('#scrooll_div').doubleScroll({
                          resetOnWindowResize: true
                        });
                    return false;

                },//end success ajax response
                error:function(){
                     toastr.error("Ocurrio Algun Error verifica los datos ingresados");
                    console.log("error");
                },

                });//end ajax
         return false;
                   
        }//end filtrar por 4 productos
          else if(filtrarPor == 5){
            $('#modal-loader').modal();
                $('#reporte-ventas').empty();

                $('#reporte-ventas').unbind();

                    console.log(filtrarPor);
                    console.log(fechainicio);
                    console.log("-----------5 canceladas--------");
                $.ajax({
                url:"<?php echo base_url();?>reportes/Franquiciatario/ReportesV/reporteVentasGeneralCanceladas",
                type:'POST',
                dataType: 'json',
                data:{finicio : fechainicio, ffin : fechafin},
                success:function(response){
                    $('#modal-loader').modal('hide');
                    /* var total = 0;
                    $('#reporte-ventas').DataTable().rows().data().each(function(el, index){
                      //Asumiendo que es la columna 5 de cada fila la que quieres agregar a la sumatoria
                      total += parseInt(el[6]);
                    });

                    console.log(total);*/

                    console.log("exito");
                    toastr.success('Se realizó tu busqueda se encontraron '+ response.length +' resultados').css("width","100%"); 
                    console.log(response);
                    var columns = [
                        { "title":"Folio Venta" },
                        { "title":"Folio Consecutivo" },
                        { "title":"Fecha Venta" },
                        { "title":"Cliente" },
                        { "title":"Vendedor" },
                        { "title":"Comentario" },
                        { "title":"Propina" },
                        { "title":"Precio Lista" },
                        { "title":"Total Pagar" },
                        { "title":"Pagado" },
                        { "title":"Adeudo " },
                        { "title":"Fecha Cancelación " },
                       /* {title: "Size", data: "ABONO", className: "align-right"}*/

                    ];   


                       
                   var hide = [
                            { targets: [0,1,2,3,4,5,6,7,8,9,10,11], visible: true},
                          /*  { targets: [8,9], visible: false }*/
                        ];

                    $('#reporte-ventas  tfoot').remove();
                    $("#reporte-ventas").append('<tfoot class="dataFooter"><tr><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th><th></th></tr></tfoot>');      
                    $('#reporte-ventas').DataTable( {
                        dom: "Bfrtip",
                        responsive: true,
                        columnDefs: hide,
                        data: response,
                        columns: columns,
                       
                         destroy: true,
                        /* paging: false,
                        searching: false,*/
                        buttons: [
                        {
                            extend: 'print',
                            text:"IMPRIMIR",
                            /*messageTop: 'Reporte de Ventas',*/
                            title: '',
                            footer: true,
                            customize: function ( win ) {

                                $(win.document.body)
                                .css( 'font-size', '10pt' )
                                .prepend(
                                    '<div class="top" style="width: 100%; text-align:center; display:flex; align-items: center; align-content: center;">  <div style="width: 50%;"><img src="<?php echo base_url();?>assets/dist/img/logo.png" style="width: 50%;" /></div><div style="width: 50%; font-size:2em">Reporte de Ventas Canceladas</div></div>'
                                    );

                                $(win.document.body).find( 'table' )
                                .addClass( 'compact' )
                                .css( 'font-size', 'inherit' );
                                $(win.document.body).find( 'table' )
                                .addClass( 'mayus' )
                                .css( 'text-transform', 'uppercase' );
                            }
                        },
                        {
                            extend: 'pdf',
                            filename: 'ReporteVentasCanceladas',
                            footer: true,
                            /*messageTop: 'Reporte de Ventas',*/
                            title: '',
                            orientation: 'landscape',
                            pageSize: 'letter',
                            key: { 
                                key: 'e',
                                altKey: false
                            }
                            , content: [{ style: 'fullWidth' }]
                            , styles: { 
                                fullWidth: { fontSize: 10, bold: true, alignment: 'right', margin: [0,0,0,0],   }

                            },
                            exportOptions: {
                                modifier: {
                                    pageMargins: [ 0, 0, 0, 0 ],  
                                    margin: [ 0, 0, 0, 0 ],  
                                    alignment: 'center',
                                    page: 'all',
                                }
                                , body : {margin: [ 0, 0, 0, 0 ], pageMargins: [ 0, 0, 0, 0 ]},
                                footer: true,
                                columns: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11]           

                            },
                            body : {margin: [ 0, 0, 0, 0 ], pageMargins: [ 0, 0, 0, 0 ]},
                            customize: function ( doc ) {
                                console.log(doc.content);

                            },
                        },
                        {
                            extend: 'excel',
                            filename: 'ReporteVentasCanceladas',
                            title: 'Reporte Ventas - Canceladas',
                            footer: true,
                        }
                        /*,'copy', 'csv', 'excel',*/
                        ],

                        language: {
                            "lengthMenu": "Mostrar _MENU_ registros por pagina",
                            "zeroRecords": "No se encontraron resultados en su busqueda",
                            "searchPlaceholder": "Buscar registros",
                            "info": "Mostrando registros de _START_ al _END_ de un total de  _TOTAL_ registros",
                            "infoEmpty": "No existen registros",
                            "infoFiltered": "(filtrado de un total de _MAX_ registros)",
                            "search": "Buscar:",
                            "paginate": {
                                "first": "Primero",
                                "last": "Último",
                                "next": "Siguiente",
                                "previous": "Anterior"
                            },
                        },
                        initComplete: function(row, data, start, end, display) {
                              
                          var api = this.api();
                          
                          var total = api
                                        .column( 8 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);

                            var cantidadRecibida = api
                                        .column( 9 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);
                            var adeudo = api
                                        .column( 10 )
                                        .data()
                                        .reduce(function(a, b) {
                                            var x = parseFloat(a) || 0;
                                            var y = parseFloat(b) || 0;
                                            return x + y;
                                          }, 0);

           
                            api.columns(11, {
                            page: 'current'
                          }).every(function() {
                            
                            console.log("total" + total);  
                             
                                $( api.column( 0 ).footer() ).html('Total');
                                $( api.column( 1 ).footer() ).html("");
                                $( api.column( 2 ).footer() ).html("" );
                                $( api.column( 3 ).footer() ).html("");
                                $( api.column( 4 ).footer() ).html("");
                                $( api.column( 5 ).footer() ).html("");
                                $( api.column( 6 ).footer() ).html("");
                                $( api.column( 7 ).footer() ).html("");
                                $( api.column( 8 ).footer() ).html( new Intl.NumberFormat('es-MX').format(total) );
                                $( api.column( 9 ).footer() ).html( new Intl.NumberFormat('es-MX').format(cantidadRecibida));
                                $( api.column( 10 ).footer() ).html( new Intl.NumberFormat('es-MX').format(adeudo));
                                $( api.column( 11 ).footer() ).html("");


                           
                          });
                        }
                       

                    });
                    $('#reporte-ventas').wrap("<div id='scrooll_div' class='scrollbar-tabla' style='width: 100%;'></div>");
                    $('#scrooll_div').doubleScroll({
                          resetOnWindowResize: true
                        });
                    return false;

                },//end success ajax response
                error:function(){
                     toastr.error("Ocurrio Algun Error verifica los datos ingresados");
                    console.log("error");
                },

                });//end ajax
         return false;
                   
        }//end filtrar por 5 productos
    }//end fechainicio y fechafin vacia
    else{
         toastr.error("Hace falta una Fecha");
        console.log("error");
        return false;
    }
    });//end click

});
(function(){
            function removeAccents ( data ) {
                if ( data.normalize ) {
                    /* Use la API I18n si está disponible para dividir caracteres y acentos, luego elimine
                       los acentos al por mayor. Tenga en cuenta que utilizamos los datos originales, así como
                       lo nuevo para permitir la búsqueda de cualquiera de los formularios.*/
                    return data +' '+ data
                        .normalize('NFD')
                        .replace(/[\u0300-\u036f]/g, '');
                }
             
                return data;
            }
             
            var searchType = jQuery.fn.DataTable.ext.type.search; 
            searchType.string = function ( data ) {
                return ! data ?
                    '' :
                    typeof data === 'string' ?
                        removeAccents( data ) :
                        data;
            };
             
            searchType.html = function ( data ) {
                return ! data ?
                    '' :
                    typeof data === 'string' ?
                        removeAccents( data.replace( /<.*?>/g, '' ) ) :
                        data;
            };
        }());      
</script>
</html>
