<?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);

// PARA QUE LA META DEL CEDIS SEA CALCULADO
// elimina las importadas del archivo
if($_POST["calcula"]=="cedis"){
    //die($_POST["calcula_cds"]." --> ".$_POST["porc_cedis"]);
  $query = "delete from metas WHERE tienda='00 CDS'";
  $mysqli->query($query);

  $porcentaje_entallado_cedis = $_POST["porc_cedis"];
  $query = "insert into metas
  select '00 CDS' as tienda,genero,linea,almacen,SUM( ROUND(meta*($porcentaje_entallado_cedis/100)) ) as meta,0 as total
  from metas inner join globales
  where tienda not in ('00 CDS') and almacen='piso'
  group by 1,2,3,4";
  $mysqli->query($query);

  $query = "update globales set porcentaje_entallado_cedis=$porcentaje_entallado_cedis";
  $mysqli->query($query);
} 
// PARA QUE LA META DE LA BODEGA SEA CALCULADO
// elimina las importadas del archivo
if($_POST["calcula"]=="bodega"){

  $porcentaje_entallado_bodega = $_POST["porc_bodega"];
  $query = "replace into metas(tienda,genero,linea,almacen,meta,total)
  select tienda,genero,linea,'BODEGA' as almacen,sum(round(meta*($porcentaje_entallado_bodega/100))) as meta,0 as total
  from metas inner join globales
  where tienda not in ('00 CDS') and almacen='piso'
  group by 1,2,3,4";
  $mysqli->query($query);

  $query = "update globales set porcentaje_entallado_bodega=$porcentaje_entallado_bodega";
  $mysqli->query($query);

}  

// CEDIS regresa metas guardadas de importacion CSV
if($_POST["calcula"]=="regresa_cedis"){

    $query = "# regresa metas guardadas de importacion
    replace into metas(tienda,genero,linea,almacen,meta,total)
    select tienda,genero,linea,almacen,meta,total from metas_cds where tienda='00 CDS'";
    $mysqli->query($query);
  
  }  
//# BODEGA regresa metas guardadas de importacion CSV
if($_POST["calcula"]=="regresa_bodega"){

    $query = "# BODEGA regresa metas guardadas de importacion
    replace into metas(tienda,genero,linea,almacen,meta,total)
    select tienda,genero,linea,almacen,meta,total from metas_cds where almacen='BODEGA' and tienda<>'00 CDS'";
    $mysqli->query($query);
  
  } 
// recalcula tablas secundarias
// ########################
$query = "DROP TABLE linea_gen_meta";
$mysqli->query($query);

$query = "create table linea_gen_meta
select genero,linea,sum(meta) as meta
from metas 
where almacen='piso' 
group by 1,2";
$mysqli->query($query);

$query = "DELETE FROM tot_entallado";
$mysqli->query($query);

$query = "INSERT INTO tot_entallado(tienda,genero,total)
SELECT tienda,genero,SUM(meta) AS tot_meta
FROM metas where almacen='piso'
GROUP BY 1,2";
$mysqli->query($query);

$query = "DELETE FROM metas2";
$mysqli->query($query);

$query = "INSERT INTO metas2(tienda,genero,linea,meta_piso)
SELECT tienda,genero,linea,meta
FROM metas 
WHERE almacen='piso'";
$mysqli->query($query);

# pone meta bodega
$query = "UPDATE metas2 a INNER JOIN metas b ON a.tienda=b.`tienda` 
AND a.`genero`=b.`genero` AND a.`linea`=b.linea AND b.almacen='bodega'
SET a.`meta_bodega`=b.`meta`";
$mysqli->query($query);

# metas que no tienen existencia
# inserta en tabla de tienda_entallado para que aparezacan en el query que muestra todas las metas 
# en index.php y detalle metas que no tienen existencia
# este query también debe de ejecutarse al subirse nuevas metas
$mysqli->query("INSERT INTO tienda_entallado(fecha,suc,genero,linea,articulos_entallados,parte_entallados,articulos_picos,
parte_picos,articulos_unitalla,parte_unitalla,tot_articulos,tot_existencia,tot_transito)
SELECT CURDATE() AS fecha,a.tienda AS suc,a.genero,a.linea,0 AS ent,0 AS pent,0 AS pic,0 AS ppic,0 AS uni,0 AS puni,0 AS arti,0 AS exi,0 AS transi 
FROM metas a
LEFT JOIN tienda_entallado b ON b.suc=a.tienda AND b.genero=a.genero AND b.linea=a.linea
AND b.fecha=CURDATE()
WHERE b.linea IS NULL
GROUP BY 1,2,3,4");

  # calcula el % de la meta del cedis
  $query = "REPLACE INTO metas_cedis_calc(tienda,genero,linea,meta_tot,meta_calc)
  SELECT a.tienda,a.genero,a.linea,SUM(a.meta) AS meta_tot
  ,ROUND(SUM(a.meta)*(porcentaje_entallado_cedis/100)) AS meta_calc
  FROM metas a INNER JOIN globales
  WHERE a.almacen='piso' and tienda<>'00 CDS'
  GROUP BY 1,2,3";
  $mysqli->query($query);

  # actualiza la meta del cedis calculada
  $query = "UPDATE metas2 a INNER JOIN metas_cedis_calc b ON a.tienda=b.tienda AND a.genero=b.genero AND a.linea=b.linea
  SET a.meta_cedis_calc=b.meta_calc";
  $mysqli->query($query);

  # borra cedis calculada
  $query = "UPDATE metas2 SET meta_cedis_calc=0 WHERE tienda='00 CDS'";
  $mysqli->query($query);

// ##################################################


              $tienda = "Metas de Entallado";
              
              $titulo = "Cedis y Bodegas";
              $subtitulo = "Se pueden calcular en base al porcentaje global o regresar a las cargadas por plantilla";


            // Select all records from the db. Keep inside try block incase there an issue with sql query
            $query = "# revisa metas caballero y dama Cedis
            SELECT 'CDS Calculado' AS tienda,genero,almacen
            ,SUM(ROUND(meta*(porcentaje_entallado_cedis/100))) AS meta_cedis_calculado
            ,SUM(meta) AS meta_piso_tiendas,porcentaje_entallado_cedis as porcentaje_entallado
            ,porcentaje_entallado_cedis,porcentaje_entallado_bodega
            FROM metas INNER JOIN globales
            WHERE tienda NOT IN ('00 CDS') AND almacen='piso' AND genero='caballero'
            UNION
            SELECT 'CDS Importado',genero,almacen,'CSV',SUM(meta),porcentaje_entallado_cedis as porcentaje_entallado
            ,porcentaje_entallado_cedis,porcentaje_entallado_bodega
            FROM metas_cds INNER JOIN globales
            WHERE tienda  IN ('00 CDS') AND almacen='piso' AND genero='caballero'
            union
            SELECT 'CDS real',genero,almacen,0,SUM(meta),porcentaje_entallado_cedis as porcentaje_entallado
            ,porcentaje_entallado_cedis,porcentaje_entallado_bodega
            FROM metas INNER JOIN globales
            WHERE tienda  IN ('00 CDS') AND almacen='piso' AND genero='caballero'
            union
            SELECT 'CDS Calculado' AS tienda,genero,almacen
            ,SUM(ROUND(meta*(porcentaje_entallado_cedis/100))) AS meta_cedis_calculado
            ,SUM(meta) AS meta_piso_tiendas,porcentaje_entallado_cedis AS porcentaje_entallado
            ,porcentaje_entallado_cedis,porcentaje_entallado_bodega
            FROM metas INNER JOIN globales
            WHERE tienda NOT IN ('00 CDS') AND almacen='piso' AND genero='dama'
            UNION
            SELECT 'CDS Importado',genero,almacen,'CSV',SUM(meta),porcentaje_entallado_cedis as porcentaje_entallado
            ,porcentaje_entallado_cedis,porcentaje_entallado_bodega
            FROM metas_cds INNER JOIN globales
            WHERE tienda  IN ('00 CDS') AND almacen='piso' AND genero='dama'
            union
            SELECT 'CDS Real',genero,almacen,0,SUM(meta),porcentaje_entallado_cedis as porcentaje_entallado
            ,porcentaje_entallado_cedis,porcentaje_entallado_bodega
            FROM metas INNER JOIN globales
            WHERE tienda  IN ('00 CDS') AND almacen='piso' AND genero='dama'
            union
            # revisa caballero y dama Bodega
            SELECT 'Bodega Calculado' AS tienda,genero,almacen
            ,SUM(ROUND(meta*(porcentaje_entallado_bodega/100))) AS meta_bodega_calculado
            ,SUM(meta) AS meta_piso_tiendas,porcentaje_entallado_bodega as porcentaje_entallado
            ,porcentaje_entallado_cedis,porcentaje_entallado_bodega
            FROM metas INNER JOIN globales
            WHERE tienda NOT IN ('00 CDS') AND almacen='piso' AND genero='caballero'
            UNION
            SELECT 'Bodega Importado',genero,almacen,'CSV',SUM(meta),porcentaje_entallado_bodega as porcentaje_entallado
            ,porcentaje_entallado_cedis,porcentaje_entallado_bodega
            FROM metas_cds INNER JOIN globales
            WHERE tienda NOT IN ('00 CDS') AND almacen='bodega' AND genero='caballero'
            union
            SELECT 'Bodega Real',genero,almacen,0,SUM(meta),porcentaje_entallado_bodega as porcentaje_entallado
            ,porcentaje_entallado_cedis,porcentaje_entallado_bodega
            FROM metas INNER JOIN globales
            WHERE almacen='bodega' AND genero='caballero'
            union
            SELECT 'Bodega Calculado' AS tienda,genero,almacen
            ,SUM(ROUND(meta*(porcentaje_entallado_bodega/100))) AS meta_bodega_calculado
            ,SUM(meta) AS meta_piso_tiendas,porcentaje_entallado_bodega as porcentaje_entallado
            ,porcentaje_entallado_cedis,porcentaje_entallado_bodega
            FROM metas INNER JOIN globales
            WHERE tienda NOT IN ('00 CDS') AND almacen='piso' AND genero='dama'
            UNION
            SELECT 'Bodega Importado',genero,almacen,'CSV',SUM(meta),porcentaje_entallado_bodega as porcentaje_entallado
            ,porcentaje_entallado_cedis,porcentaje_entallado_bodega
            FROM metas_cds INNER JOIN globales
            WHERE tienda NOT IN ('00 CDS') AND almacen='bodega' AND genero='dama'
            union
            SELECT 'Bodega Real',genero,almacen,0,SUM(meta),porcentaje_entallado_bodega as porcentaje_entallado
            ,porcentaje_entallado_cedis,porcentaje_entallado_bodega
            FROM metas INNER JOIN globales
            WHERE almacen='bodega' AND genero='dama'
            ";

            //echo $query;
            
            if ($result = $mysqli->query($query)) {

                /* fetch associative array */
                while ($row = $result->fetch_assoc()) {
                    
                    $porcentaje_entallado_cedis = $row["porcentaje_entallado_cedis"];
                    $porcentaje_entallado_bodega = $row["porcentaje_entallado_bodega"];
                    $tabla = $tabla . '<tr>
                    <td>'.$row["tienda"].'</td>
                    <td>'.$row["genero"].'</td>
                    <td>'.$row["almacen"].'</td>
                    <td>'.$row["meta_piso_tiendas"].'</td>
                    <td>'.$row["meta_cedis_calculado"].'</td>
                    <td>'.$row["porcentaje_entallado"].'%</td>
                  </tr>';
                }

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

        } 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
        
 ?>  
 
<!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"><?php echo $tienda;?></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 $titulo;?></h3>
              <p class="text-sm mb-0">
              <?php echo $subtitulo;?>
              </p>
            </div>

            <!-- Botones -->
            <div class="card-header bg-transparent border-0">
              <form method="post" name="forma1" id="forma1">
                <input type="hidden" name="calcula" id="calcula">

                Porcentaje para calcular Cedis: <input type="text" value="<?php echo $porcentaje_entallado_cedis;?>" size="1" maxlength="2" name="porc_cedis" id="porc_cedis">% 
                <a href="#" class="btn btn-sm btn-neutral" onclick="document.getElementById('calcula').value='cedis';document.getElementById('forma1').submit();return false;">Cedis: Calcula y sobreescribe metas</a>
                <br><a href="#" class="btn btn-sm btn-neutral" onclick="document.getElementById('calcula').value='regresa_cedis';document.getElementById('forma1').submit();return false;">Regresar metas plantilla Cedis</a>
                <hr>
                Porcentaje para calcular Bodegas: <input type="text" value="<?php echo $porcentaje_entallado_bodega;?>" size="1" maxlength="2" name="porc_bodega" id="porc_bodega">% 
                <a href="#" class="btn btn-sm btn-neutral" onclick="document.getElementById('calcula').value='bodega';document.getElementById('forma1').submit();return false;">Bodegas: Calcula y sobreescribe metas</a>
                <br><a href="#" class="btn btn-sm btn-neutral" onclick="document.getElementById('calcula').value='regresa_bodega';document.getElementById('forma1').submit();return false;">Regresar metas plantilla Bodegas</a>

                <!--div class="custom-control custom-checkbox">
                <input class="custom-control-input" type="checkbox" name="tie" id="tie" value="5" <?php if($_GET["tie"]=="5"){echo "checked";}?>>
                <label class="custom-control-label" for="tie">Fitra 5 tiendas</label>
                </div>

                <div class="custom-control custom-checkbox">
                <input class="custom-control-input" type="checkbox" name="cds" id="cds" value="si" <?php if($_GET["cds"]=="si"){echo "checked";}?>>
                <label class="custom-control-label" for="cds">00 CDS</label>
                </div-->

              </form>
            </div>

            <div class="table-responsive py-4">
              <table class="table table-flush" id="datatable-basic" data-order='[[ 1, "asc" ]]' data-page-length='100'>
                <thead class="thead-light">
                  <tr>
                  <th>Tienda</th>  
                  <th>Genero</th>
                    <th>Almacen</th>
                    <th>Meta ent</th>
                    <th>Meta calc</th>
                    <th>Porc% calc</th>
                  </tr>
                </thead>
                <tfoot>
                  <tr>
                  <th>Tienda</th>  
                  <th>Genero</th>
                    <th>Almacen</th>
                    <th>Meta ent</th>
                    <th>Meta calc</th>
                    <th>Porc% calc</th>
                  </tr>
                </tfoot>
                <tbody>
                  <?php echo $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>