<?php
include "conn.php";

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // Make MySQLi throw exceptions.

        try {
            // Try Connect to the DB with new MySqli object - Params {hostname, userid, password, dbname}
            $mysqli = new mysqli($host, $user, $pass, $base);

            /*$tipo = " rc='".$_GET["rc"]."'";
            if(isset($_GET["tie"])){
            $tipo = $tipo . " and tienda='".$_GET["tie"]."'";
            }*/

            // Select all records from the db. Keep inside try block incase there an issue with sql query
            $query = "# query de lotes_virtuales.php
            SELECT a.tienda,a.genero,a.linea
                        ,a.rc,a.descripcion
                        ,a.`talla`
                        ,a.existencia
                        ,a.transito
                        ,a.total
                        ,FORMAT(b.part,2) AS participacion
                        ,a.departamento,a.color
                        ,IFNULL(v.`piezas`,0) AS venta_pza
                        FROM inv a INNER JOIN tallas_comp b
                        ON a.talla=b.`talla` AND a.rc=b.rc
                        LEFT JOIN ventas_rc v ON v.periodo=DATE_FORMAT(CURDATE(),'%Y%m') AND v.rc=a.rc
                        AND v.`tienda`=a.`tienda` AND v.`genero`=a.`genero` AND v.`linea`=a.`linea`
                        WHERE a.rc='".$_GET["rc"]."'
                        AND a.suc<63
                        ORDER BY venta_pza DESC,a.tienda DESC,a.genero,a.linea,a.rc,a.talla
            ";

            // carga el porcentaje de entallado global
            $query3 = "SELECT porcentaje_entallado_global FROM globales"; 
            if ($result3 = $mysqli->query($query3)) {
              while ($row3 = $result3->fetch_assoc()) {
                $g_porc_ent = $row3["porcentaje_entallado_global"];
                // echo $g_porc_ent;
              }
            }
            $result3->free();

            $tiendas = array();
            $tienda_ant = "";
            $grid = array();
            $tipo_ant = "";
            $renglon = array();
            $venta_pza = "ini";
            $entallados=0;
            $movs_cont=0;
            $futuro=0;
            if ($result = $mysqli->query($query)) {

                
                /* fetch associative array */
                while ($row = $result->fetch_assoc()) {

                  $venta_pza_ult = $row["venta_pza"];
                  if($tipo_ant!==$row["genero"].$row["linea"].$row["departamento"]){
                    // ******************************************
                    // carga todas las tallas solo si cambia de genero,linea,departamento,tipo
                    $tipo_ant=$row["genero"].$row["linea"].$row["departamento"];

                    $query2 = "SELECT talla,format(part,3) as participacion
                    FROM tallas_comp
                    WHERE rc='".$row["rc"]."'"."
                    ORDER BY rc,talla";

                    if ($result2 = $mysqli->query($query2)) {

                        $tallas = array();
                        $noms = array();
                        array_push($noms,'Tienda');
                        $parts = array();
                        // solo para mostrar
                        $parts_100 = array();
                        array_push($parts,'part');
                        array_push($parts_100,'part');

                        /* fetch associative array */
                        while ($row2 = $result2->fetch_assoc()) {
                            array_push($noms,$row2["talla"]);
                            array_push($parts,$row2["participacion"]);
                            array_push($parts_100,round($row2["participacion"]*100));
                        }

                        // renglon 0 son los nombres de las tallas
                        // agrega total
                        array_push($noms,"Porc part");
                        array_push($tallas, $noms);
                        // renglon 1 son los porcentajes de participacion de cada talla
                        // agrega total
                        array_push($parts,array_sum($parts));
                        array_push($parts_100,array_sum($parts_100));
                        array_push($tallas, $parts_100);

                    }
                    //print_r($tallas);

                    //array_push($grid,$noms);
                    //array_push($grid,$parts);

                    // muestra en una tabla encabezado
                    $maxlen = sizeof($tallas);

                    //$tablarow = "tallas<table border=2>";
                    $tablarow="";
                    $footer="";
                    for($renx = 1; $renx < $maxlen; $renx++) {
                        $maxsub = sizeof($tallas[$renx]);

                        $tablarow .= "<tr>";
                        $footer .= "<tr>";
                        for($coly = 0; $coly < $maxsub; $coly++) {
                            $tablarow .= "<th>".$tallas[$renx-1][$coly]."</th>";
                            $footer .= "<th>".$tallas[$renx][$coly]."</th>";
                            //$tablarow .= "<th>".$tallas[$renx-1][$coly]."-".$tallas[$renx][$coly]."</th>";
                        }
                        $tablarow .= "<th>Vtas</th>";
                        $tablarow .= "</tr>";
                        $footer .= "<th>Vtas</th>";
                        $footer .= "</tr>";

                    }
                    //$tablarow .= "</table>"; 
                    //echo $tablarow;
                    $encabezado = $tablarow;


                    // ******************************************
                  } 
 
                    if( $tienda_ant==$row["tienda"].$row["rc"]){
                        
                        // avanza la talla hasta empatar los nombres (sizeof($noms)-1 para descontar la ultima columna de total)
                        for( $talla ; $talla < sizeof($noms)-1 ; $talla++ ){
                            // revisa si es la misma talla
                            if($noms[$talla]==$row["talla"]){
                              array_push($renglon,$row["total"]);
                              $talla++;
                              break;
                            } else {
                              //array_push($renglon,"0 noms=".$noms[$talla]." talla=".$row["talla"]);
                              array_push($renglon,"0");
                              
                            }
                        }
                        
                    } else {
                        // agrega el renglon anterior
                        if(sizeof($renglon)>0){

                          // calcula el porcentaje de entallado de la tienda
                          $maxtalla = sizeof($parts)-1;
                          $suma = 0;
                          for( $coltalla = 1 ; $coltalla < $maxtalla ; $coltalla++ ) {
                            
                            if( $renglon[$coltalla]>0 ){

                              $suma = $suma + $parts[$coltalla];
                            }
                          }
                          // revisa si ya puso totas las tallas hasta el final

                            // avanza la talla hasta el final  (sizeof($noms)-1 para descontar la ultima columna de total)
                            for( $talla ; $talla < sizeof($noms)-1 ; $talla++ ){
                              // revisa si es la misma talla
                              /*if($noms[$talla]==$row["talla"]){
                                array_push($renglon,$row["total"]);
                                $talla++;
                                break;
                              } else {*/
                                //array_push($renglon,"0 noms=".$noms[$talla]." talla=".$row["talla"]);
                                array_push($renglon,"0");
                                
                              //}
                            }

                          // agrega columna de suma
                          array_push($renglon,round($suma*100));
                          if( round($suma*100) >= $g_porc_ent ){
                            $entallados = $entallados + 1;
                          }
                          // agrega columna de venta
                          //echo $venta_pza_ant." pone talla ".$row["tienda"]." <hr>";
                          array_push($renglon,$venta_ant); 
                          // agrega renglon de existencia tallas
                          array_push($grid,$renglon);
        
                        }

                        $venta_pza = "ini";
                        $tienda_ant = $row["tienda"].$row["rc"];
                        $venta_ant = $row["venta_pza"];
                        $renglon = array();
                        $talla = 1;
                        array_push($renglon,$row["tienda"]);
                        // revisa si es la misma talla  (sizeof($noms)-1 para descontar la ultima columna de total)
                        for( $talla ; $talla < sizeof($noms)-1 ; $talla++ ){
                          // revisa si es la misma talla
                          if($noms[$talla]==$row["talla"]){
                            array_push($renglon,$row["total"]);
                            $talla++;
                            break;
                          } else {
                            //array_push($renglon,"0 noms=".$noms[$talla]." talla=".$row["talla"]);
                            array_push($renglon,"0");
                            
                          }
                      }
          
                    }

                    $tabla_off = $tabla_off . '<tr>
                    <td>'.$row["tienda"].'</td>
                    <td>'.$row["genero"].'</td>
                    <td>'.$row["linea"].'</td>
                    <td>'.$row["rc"].'</td>
                    <td>'.$row["talla"].'</td>
                    <td>'.$row["existencia"].'</td>
                    <td>'.$row["transito"].'</td>
                    <td>'.$row["participacion"].'</td>
                    <td>'.$row["departamento"].'</td>
                    <td>'.$row["tipo"].'</td>
                  </tr>';
                  $rc=$row["rc"];
                  $tipo=$row["tipo"];
                  $departamento=$row["departamento"];

                }

                /* free the memory associated with this result set */
                $result->free();
            }

            // final - agrega el renglon anterior
            if(sizeof($renglon)>0){

              // calcula el porcentaje de entallado de la tienda
              $maxtalla = sizeof($parts)-1;
              $suma = 0;
              for( $coltalla = 1 ; $coltalla < $maxtalla ; $coltalla++ ) {
                
                if( $renglon[$coltalla]>0 ){

                  $suma = $suma + $parts[$coltalla];
                } 
              }
              // revisa si ya puso todas las tallas hasta el final

                // avanza la talla hasta el final  (sizeof($noms)-1 para descontar la ultima columna de total)
                for( $talla ; $talla < sizeof($noms)-1 ; $talla++ ){
                  // revisa si es la misma talla
                  /*if($noms[$talla]==$row["talla"]){
                    array_push($renglon,$row["total"]);
                    $talla++;
                    break;
                  } else {*/
                    //array_push($renglon,"0 noms=".$noms[$talla]." talla=".$row["talla"]);
                    array_push($renglon,"0");
                    //array_push($renglon,$noms[$talla].'-'.$row["talla"].'-'.$row["total"]);
                  //}
                }

              // agrega columna de suma
              array_push($renglon,round($suma*100));
              if( round($suma*100) >= $g_porc_ent ){
                $entallados = $entallados + 1;
              }
              // agrega columna de venta
              //echo $venta_pza_ult." final ".$row["tienda"]." <hr>";
              array_push($renglon,$venta_ant);
              // agrega renglon de existencia tallas
              array_push($grid,$renglon);
            }

        } catch (mysqli_sql_exception $e) { // Failed to connect? Lets see the exception details..
            echo "MySQLi Error Code: " . $e->getCode() . "<br />";
            echo "Exception Msg: " . $e->getMessage();
            exit; // exit and close connection.
        }

        //$mysqli->close(); // finally, close the connection

// muestra en una tabla
$maxlen = sizeof($grid);
//$tablarow = "<table border=1>";
$tablarow ="";
for($renx = 0; $renx < $maxlen; $renx++) {
    $maxsub = sizeof($grid[$renx]);

    $tablarow .= "<tr>";
    for($coly = 0; $coly < $maxsub; $coly++) {
      if($coly==0 || $coly>$maxsub-3){
        $tablarow .= "<td>".$grid[$renx][$coly]."</td>";
      } else {
        $tablarow .= "<td bgcolor=green>".$grid[$renx][$coly]."</td>";
      }
        
    }
    $tablarow .= "</tr>";

}
//$tablarow .= "</table>"; 
$tabla = $tablarow;
//echo $tablarow;   



//*******************
// lotifica
// hace un barrido de abajo hacia arriba y distribuyendo los dobles o mas de arriba hacia abajo
// muestra tabla inversa
$maxlen = sizeof($grid)-1;
$renx = $maxlen;
//echo "maxlen=".$renx;
$tablarow = "<table border=1>";
for( $renx ; $renx > -1; $renx--) {
    //echo "renglo ".$renx;
    $maxsub = sizeof($grid[$renx]);
    // porcentaje de venta
    //echo "max col ".$maxsub." porc vta ".$grid[$renx][$maxsub-2]." ";

    //$tablarow .= "<tr>";

    for($coly = 1; $coly < $maxsub-2; $coly++) {
        //$tablarow .= "<td>".$grid[$renx][$coly]."</td>";
        // intenta donar su existencia barriendo hacia arriba
        $max2 = $renx;
        $ren2 = 0;
        for( $ren2 ; $ren2 < $max2 ; $ren2++) {

          if($_GET["metodo"]=='2'){
            // **************************************
            // metodo 2 lotifica lo omas posible

          // solo si hay existencia en el origen 
          // o si hay existencia y es del Cedis
          if( ($grid[$renx][$coly] > 0 ) 
            || ($grid[$renx][$coly] > 0 && $grid[$renx][0] == '00 CDS') 
          ){
            // solo si el lote destino está en cero
            if( $grid[$ren2][$coly] == "0" ){
               // destino 
               $grid[$ren2][$coly] = $grid[$ren2][$coly] + 1;
               // origen 
               $grid[$renx][$coly] = $grid[$renx][$coly] - 1;
 
 
               // origen calcula el porcentaje de entallado de la tienda
               $maxtalla = sizeof($parts)-1;
               $suma = 0;
               for( $coltalla = 1 ; $coltalla < $maxtalla ; $coltalla++ ) {
                 
                 if( $grid[$renx][$coltalla] > 0 ){
 
                   $suma = $suma + $parts[$coltalla];
                 } 
               }
               // origen agrega columna de suma
               $grid[$renx][$maxsub-2] = round($suma*100);
               // si el destino completo el porcentaje de lote lo guarda
               $porc_orig = round($suma*100);
 
               // modifica entallado origen
               $query_movs = "update inv_res_loti 
               set entallado = ".strval(round($suma*100))." 
               where fecha=curdate() and suc='".$grid[$renx][0]."'
               and rc='".$rc."' and departamento='".$departamento."'
               and tallatipo='".$tipo."'
               ";
               //echo $query_movs."<hr>";
               $mysqli->query($query_movs);     
 
               // destino calcula el porcentaje de entallado de la tienda
               $maxtalla = sizeof($parts)-1;
               $suma = 0;
               for( $coltalla = 1 ; $coltalla < $maxtalla ; $coltalla++ ) {
                 
                 if( $grid[$ren2][$coltalla] > 0 ){
 
                   $suma = $suma + $parts[$coltalla];
                 } 
               }
               // destino agrega columna de suma
               $grid[$ren2][$maxsub-2] = round($suma*100);
               // si el destino completo el porcentaje de lote lo guarda
               $porc_dest = round($suma*100);
 
               // modifica entallado destino
               $query_movs = "update inv_res_loti 
               set entallado = ".strval(round($suma*100))." 
               where fecha=curdate() and suc='".$grid[$ren2][0]."'
               and rc='".$rc."' and departamento='".$departamento."'
               and tallatipo='".$tipo."'
               ";
               //echo $query_movs."<hr>";
               $mysqli->query($query_movs);
          
 
 
               $movs_tabla .= "<tr><td>".$grid[$renx][0]."</td><td>". $grid[$ren2][0]."</td><td>".$noms[$coly]."</td><td>".$grid[$ren2][$coly]."</td><td>".$grid[$renx][$coly]."</tr>";
               $movs_cont = $movs_cont + 1;
               //echo "movs_cont:".$movs_cont."origen: ".$grid[$renx][0]." destino: ". $grid[$ren2][0]." talla: ".$noms[$coly]." new exist dest: ".$grid[$ren2][$coly]." orig: ".$grid[$renx][$coly]."<br>";
               $query_movs = "replace into movs(fecha,rc,origen,destino,talla,cant,exist_dest,exist_orig,porc_orig,porc_dest)
               values(curdate(),'".$rc."','".$grid[$renx][0]."','".$grid[$ren2][0]."','".$noms[$coly]."','1','".$grid[$ren2][$coly]."','".$grid[$renx][$coly]."','".$porc_orig."','".$porc_dest."')
               ";
               $mysqli->query($query_movs);
 
 
             } // fin de solo si el lote destino

           }// fin de solo si hay existencia


          } else {

          // solo si hay existencia en el origen y no cumple con el porcentaje de entallado
          // o si hay existencia y es del Cedis
          if( ($grid[$renx][$coly] > 0) 
            || ($grid[$renx][$coly] > 0 && $grid[$renx][0] == '00 CDS') 
          ){
            // solo si el lote destino no esta entallado y está en cero
            if( $grid[$ren2][$coly] == "0" ){
               // destino 
               $grid[$ren2][$coly] = $grid[$ren2][$coly] + 1;
               // origen 
               $grid[$renx][$coly] = $grid[$renx][$coly] - 1;
 
 
               // origen calcula el porcentaje de entallado de la tienda
               $maxtalla = sizeof($parts)-1;
               $suma = 0;
               for( $coltalla = 1 ; $coltalla < $maxtalla ; $coltalla++ ) {
                 
                 if( $grid[$renx][$coltalla] > 0 ){
 
                   $suma = $suma + $parts[$coltalla];
                 } 
               }
               // origen agrega columna de suma
               $grid[$renx][$maxsub-2] = round($suma*100);
               // si el destino completo el porcentaje de lote lo guarda
               $porc_orig = round($suma*100);
 
               // modifica entallado origen
               $query_movs = "update inv_res_loti 
               set entallado = ".strval(round($suma*100))." 
               where fecha=curdate() and suc='".$grid[$renx][0]."'
               and rc='".$rc."' and departamento='".$departamento."'
               and tallatipo='".$tipo."'
               ";
               //echo $query_movs."<hr>";
               $mysqli->query($query_movs);     
 
               // destino calcula el porcentaje de entallado de la tienda
               $maxtalla = sizeof($parts)-1;
               $suma = 0;
               for( $coltalla = 1 ; $coltalla < $maxtalla ; $coltalla++ ) {
                 
                 if( $grid[$ren2][$coltalla] > 0 ){
 
                   $suma = $suma + $parts[$coltalla];
                 } 
               }
               // destino agrega columna de suma
               $grid[$ren2][$maxsub-2] = round($suma*100);
               // si el destino completo el porcentaje de lote lo guarda
               $porc_dest = round($suma*100);
 
               // modifica entallado destino
               $query_movs = "update inv_res_loti 
               set entallado = ".strval(round($suma*100))." 
               where fecha=curdate() and suc='".$grid[$ren2][0]."'
               and rc='".$rc."' and departamento='".$departamento."'
               and tallatipo='".$tipo."'
               ";
               //echo $query_movs."<hr>";
               $mysqli->query($query_movs);
          
 
 
               $movs_tabla .= "<tr><td>".$grid[$renx][0]."</td><td>". $grid[$ren2][0]."</td><td>".$noms[$coly]."</td><td>".$grid[$ren2][$coly]."</td><td>".$grid[$renx][$coly]."</tr>";
               $movs_cont = $movs_cont + 1;
               //echo "movs_cont:".$movs_cont."origen: ".$grid[$renx][0]." destino: ". $grid[$ren2][0]." talla: ".$noms[$coly]." new exist dest: ".$grid[$ren2][$coly]." orig: ".$grid[$renx][$coly]."<br>";
               $query_movs = "replace into movs(fecha,rc,origen,destino,talla,cant,exist_dest,exist_orig,porc_orig,porc_dest)
               values(curdate(),'".$rc."','".$grid[$renx][0]."','".$grid[$ren2][0]."','".$noms[$coly]."','1','".$grid[$ren2][$coly]."','".$grid[$renx][$coly]."','".$porc_orig."','".$porc_dest."')
               ";
               $mysqli->query($query_movs);
 
 
             } // fin de solo si el lote destino

           }// fin de solo si hay existencia

          } // fin del else
         } // fin del for
     }
     //$tablarow .= "</tr>";
     $movs_encabezado = "<tr><th>ORIGEN</th><th>DESTINO</th><th>TALLA</th><th>EXIST ORIG</th><th>EXIST DEST</th></tr>";
 
} 

// muestra en una tabla
$maxlen = sizeof($grid);
//$tablarow = "<table border=1>";
$tablarow = "";
for($renx = 0; $renx < $maxlen; $renx++) {
    $maxsub = sizeof($grid[$renx]);

    $tablarow .= "<tr>";
    for($coly = 0; $coly < $maxsub; $coly++) {

      if($coly==0 || $coly>$maxsub-3){
        $tablarow .= "<td>".$grid[$renx][$coly]."</td>";
      } else {
        $tablarow .= "<td bgcolor=green>".$grid[$renx][$coly]."</td>";
      }

    }
    $tablarow .= "</tr>";
    // revisa cuantos se entallaron
    if( $grid[$renx][$coly-2] >= $g_porc_ent ){
      $futuro = $futuro + 1;

    }

}
//$tablarow .= "</table>"; 
//echo "tabla despues";
//echo $tablarow; 
$despues=$tablarow;
$subtitulo = "Entallados al ".strval($g_porc_ent)."% actual ".$entallados." y despues de ".strval($movs_cont)." movs a ".$futuro;

 ?>  
 
<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <meta name="description" content="Start your development with a Dashboard for Bootstrap 4.">
  <meta name="author" content="Creative Tim">
  <title><?php echo $marca;?></title>

  <!-- Fonts -->
  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700">
  <!-- Icons -->
  <link rel="stylesheet" href="../../assets/vendor/nucleo/css/nucleo.css" type="text/css">
  <link rel="stylesheet" href="../../assets/vendor/@fortawesome/fontawesome-free/css/all.min.css" type="text/css">
  <!-- Page plugins -->
  <link rel="stylesheet" href="../../assets/vendor/datatables.net-bs4/css/dataTables.bootstrap4.min.css">
  <link rel="stylesheet" href="../../assets/vendor/datatables.net-buttons-bs4/css/buttons.bootstrap4.min.css">
  <link rel="stylesheet" href="../../assets/vendor/datatables.net-select-bs4/css/select.bootstrap4.min.css">
  <!-- Argon CSS -->
  <link rel="stylesheet" href="../../assets/css/argon.css?v=1.1.0" type="text/css">
</head>

<body>

  <!-- menu lateral -->
  <?php include "menu.php"?>
  
  <!-- Main content -->
  <div class="main-content" id="panel">
    <!-- Topnav -->
    
    <!-- Header -->
    <!-- Header -->
    <div class="header bg-primary pb-6">
      <div class="container-fluid">
        <div class="header-body">
        <div class="row align-items-center py-4">

<div class="col-lg-6 col-7">
  <h6 class="h2 text-white d-inline-block mb-0">LOTES VIRTUALES</h6>
</div>

  <!-- Sidenav toggler -->
  <?php include "toggler.php"?>


</div>
        </div>
      </div>
    </div>
    <!-- Page content -->
    <div class="container-fluid mt--6">

      <!-- Table -->
      <div class="row">
        <div class="col">
          <div class="card">
            <!-- Card header -->
            <div class="card-header">
              <h3 class="mb-0"><?php echo $subtitulo;?></h3>
              <p class="text-sm mb-0">
              Como quedarían una vez que se realizaran todos los movimientos
              </p>
            </div>

            <div>
              Antes
              <table class="table-dark" border="2" cellpadding=2 cellsapcing=2 style="align: center">
                <thead class="thead-light" style="font-size: small">
<?php echo $encabezado;?>
                </thead>
                <tfoot class="thead-light" style="font-size: small">
<?php echo $footer;?>
                </tfoot>
                <tbody alig=center>
                  <?php echo $tabla;?>
                </tbody>
              </table>
            </div>

            <div>
              Después
            <table class="table-dark" border="2" cellpadding=2 cellsapcing=2 style="align: center">
                <thead class="thead-light" style="font-size: small">
<?php echo $encabezado;?>
                </thead>
                <tfoot class="thead-light" style="font-size: small">
<?php echo $footer;?>
                </tfoot>
                <tbody>
                  <?php echo $despues;?>
                </tbody>
              </table>
            </div>

            <div>
              Movimientos
            <table class="table-dark" border="2" cellpadding=2 cellsapcing=2 style="align: center">
    <thead  class="thead-light" style="font-size: small">
<?php echo $movs_encabezado;?>
    </thead>
    <tbody>
      <?php echo $movs_tabla;?>
    </tbody>
  </table>
</div>


          </div>
          
        </div>
      </div>
       <!-- Footer -->
       <footer class="footer pt-0">
         <div class="row align-items-center justify-content-lg-between">
           <div class="col-lg-6">
             <div class="copyright text-center text-lg-left text-muted">
               &copy; <?php echo $anio;?> <a href="#" class="font-weight-bold ml-1" ><?php echo $marca;?></a>
             </div>
           </div>

         </div>
       </footer>
    </div>
  </div>



  <!-- Argon Scripts -->
  <!-- Core -->
  <script src="../../assets/vendor/jquery/dist/jquery.min.js"></script>
  <script src="../../assets/vendor/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
  <script src="../../assets/vendor/js-cookie/js.cookie.js"></script>
  <script src="../../assets/vendor/jquery.scrollbar/jquery.scrollbar.min.js"></script>
  <script src="../../assets/vendor/jquery-scroll-lock/dist/jquery-scrollLock.min.js"></script>
  <!-- Optional JS -->
  <script src="../../assets/vendor/datatables.net/js/jquery.dataTables.min.js"></script>
  <script src="../../assets/vendor/datatables.net-bs4/js/dataTables.bootstrap4.min.js"></script>
  <script src="../../assets/vendor/datatables.net-buttons/js/dataTables.buttons.min.js"></script>
  <script src="../../assets/vendor/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js"></script>
  <script src="../../assets/vendor/datatables.net-buttons/js/buttons.html5.min.js"></script>
  <script src="../../assets/vendor/datatables.net-buttons/js/buttons.flash.min.js"></script>
  <script src="../../assets/vendor/datatables.net-buttons/js/buttons.print.min.js"></script>
  <script src="../../assets/vendor/datatables.net-select/js/dataTables.select.min.js"></script>
  <!-- Argon JS -->
  <script src="../../assets/js/argon.js?v=1.1.0"></script>

</body>

</html>