<?php
session_start();
header("Access-Control-Allow-Origin: *");
require_once("./conexao.php");
date_default_timezone_set('America/Bahia');
$conn   = conn();
$conn_s = conn_s();

$result = '';

$loja_id = $_SESSION['loja'];
$lojas_com_boqueta_e_estoque = [1,2,3,4,5,6,7];

$__LOJA_STOCK = 'LOJA_'.$loja_id.'STOCK';

$filtrar_user = "";
if($_SESSION['id_user'] != 6){
  $filtrar_user = " a.id_user <> 6 AND ";
}

if ($_SESSION['loja'] != 'todas') {

  $pesquisa = "SELECT *,a.id,b.id_processo,b.id_user, b.data_cadastro as ddt FROM processos_iniciados as a 
  INNER JOIN processos_gerenciamento as b ON a.id = b.id_processo_iniciado
  WHERE $filtrar_user a.loja_id = $loja_id AND";
  
} else {
  
  $pesquisa = "SELECT *,a.id,b.id_processo,b.id_user, b.data_cadastro as ddt FROM processos_iniciados as a 
  INNER JOIN processos_gerenciamento as b ON a.id = b.id_processo_iniciado
  WHERE $filtrar_user ";
}

if (!empty($_SESSION['tipo_user']) && $_SESSION['tipo_user'] == '1') {
  $pesquisa .= " a.id_user = '". $_SESSION['id_user'] ."' AND";
}

$pesquisa .= " a.situacao = '0' AND b.id = (
select MAX(id) as id FROM processos_gerenciamento WHERE id_processo_iniciado = a.id
) GROUP BY a.id ORDER BY a.id DESC ";


$getSolicitacos = mysqli_query($conn, $pesquisa);
$contador_total = 0;
$array_id_processos = array();
$array_geral = array();
$array_times = array();
if (mysqli_num_rows($getSolicitacos) > 0) {
  while ($lista = mysqli_fetch_array($getSolicitacos)) {

    if (empty($lista['id'])) {continue;}

    $cor_da_caixa = "";
    $icon_da_caixa = "";

    $array_id_processos[$contador_total] = $lista['id'];
    $array_geral[$contador_total] = array(
      "id" => $lista['id'],
      "andamento" => $lista['id_processo']
    );
    $contador_total++;

    //pegar dados do usuário
    $getDadosUser = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM user WHERE id = '".$lista['id_user']."'"));
    if ($lista['id_processo'] == '1') {//Solicitação do Vendedor
      $cor_da_caixa = "color-success";
      $icon_da_caixa = "<img src='./utils/img/icons/check.svg' width='20'>";
    } else if ($lista['id_processo'] == '2') {//Peça retirada do depósito p/boqueta
      $cor_da_caixa = "color-info";
      $icon_da_caixa = "<img src='./utils/img/icons/right-arrow.svg' width='20'>";
    } else if ($lista['id_processo'] == '3') {//Peça recebida na boqueta
      $cor_da_caixa = "color-indigo";
      $icon_da_caixa = "<img src='./utils/img/icons/archive.svg' width='20'>";
    } else if ($lista['id_processo'] == '4') {//Vendedor retira peça da boqueta
      $cor_da_caixa = "color-secondary";
      $icon_da_caixa = "<img src='./utils/img/icons/vendedor.svg' width='20'>";
    } else if ($lista['id_processo'] == '5') {//Peça retornada para a boqueta p/despache
      $cor_da_caixa = "color-warning";
      $icon_da_caixa = "<img src='./utils/img/icons/shuffle.svg' width='20'>";
    } else if ($lista['id_processo'] == '6') {//Peça retornada para a boqueta p/guardar
      $cor_da_caixa = "color-orange";
      $icon_da_caixa = "<img src='./utils/img/icons/stock.svg' width='20'>";
    } else if ($lista['id_processo'] == '8') {//Peça retirada da boqueta para voltar ao depósito
      $cor_da_caixa = "color-danger";
      $icon_da_caixa = "<img src='./utils/img/icons/refresh.svg' width='20'>";
    }

    $date1 = new DateTime(date("Y-m-d H:i:s"));
    $date2 = new DateTime($lista['ddt']);
    $diff = $date2->diff($date1);
    $mensagem_data = "Há ".$diff->format('%h:%i:%s');

    //calcular diferença de tempo 
    $date1_ = strtotime(date("Y-m-d H:i:s"));
    $date2_ = strtotime($lista['ddt']);
    $diff_ = ($date1_ - $date2_);
    array_push($array_times, array(
      'id'          => $lista['id'],
      'processo'    => $lista['id_processo'],
      'time'        => $diff_
    ));

    //atribuir classe de alerta para o caso de a solicitação atrazar
    $class_alert = $diff_ >= 300 ? "btn-pulse" : "";

    $result .= '<div class="col-12 col-sm-12 col-md-6 col-lg-4 col-xl-4">';
    $result .= '<div class="card '. $class_alert .' '. $cor_da_caixa .'" data-toggle="modal" onClick="popularModal(this,'.$lista['id'].')" style="margin-bottom: 20px;"';

    if ($lista['id_processo'] == '1' && (in_array($loja_id, $lojas_com_boqueta_e_estoque) || $loja_id == 'todas')) {//Solicitação feita pelo vendedor
      $result .= "data-target='#modal1' data-active='1' data-senha='#drop_senha_1' data-perfil='0'";
    } else if ($lista['id_processo'] == '1') {//Solicitação feita pelo vendedor
      $result .= "data-target='#modal2' data-active='1' data-senha='#drop_senha_3' data-perfil='0'";
    } else if ($lista['id_processo'] == '2') {//Peça retirada do depósito
      $result .= "data-target='#modal2' data-active='2' data-senha='#drop_senha_3' data-perfil='1'";
    } else if ($lista['id_processo'] == '3') {//Peça recebida na boqueta
      $result .= "data-target='#modal3' data-active='2' data-senha='#drop_senha_4' data-perfil='0'";
    } else if ($lista['id_processo'] == '4') {//Peça retirada da boquera
      $result .= "data-target='#modal4' data-active='2' data-senha='#drop_senha_5' data-perfil='0'";
    } else if ($lista['id_processo'] == '5') {//Peça recebida na boqueta para despache
      $result .= "data-target='#modal5' data-active='2' data-senha='#drop_senha_7' data-perfil='0'";
    } else if ($lista['id_processo'] == '6' && (in_array($loja_id, $lojas_com_boqueta_e_estoque)  || $loja_id == 'todas')) {//Peça recebida na boqueta para guardar
      $result .= "data-target='#modal7' data-active='2' data-senha='#drop_senha_8' data-perfil='0'";
    } else if ($lista['id_processo'] == '6') {//Peça recebida na boqueta para guardar
      $result .= "data-target='#modal8' data-active='2' data-senha='#drop_senha_9' data-perfil='0'";
    } else if ($lista['id_processo'] == '8') {//Peça retirada da boqueta
      $result .= "data-target='#modal8' data-active='2' data-senha='#drop_senha_9' data-perfil='0'";
    }
    $result .= '>';
    $result .= '<div class="card-header">'. $icon_da_caixa .'<span class="card_time">'. $mensagem_data .'</span></div>';
    $result .= '<div class="card-body">';
     
    $result_produto_n_encontrado = "";
    $qtd_produto_n_encontrado = 0;

    $getProdutos = mysqli_query($conn, "SELECT * FROM processos_produtos WHERE id_processo = '".$lista['id']."'");
    if (mysqli_num_rows($getProdutos) > 0) {
      while ($lista_produtos = mysqli_fetch_array($getProdutos)) {
        $getProduto = mysqli_fetch_array(mysqli_query($conn_s, "SELECT * FROM UNI_PRODUTOS_WEB WHERE id = '".$lista_produtos['id_produto']."'"));

        $qtd = $lista_produtos['qtd_produto'];
        if ($lista_produtos['qtd_retirada'] != null) {
          $qtd = $lista_produtos['qtd_retirada'];

          $qtd_produto_n_encontrado++;
          $result_produto_n_encontrado .= "
            <p class='text-danger m-0 my-ob-class'><strong>X".($lista_produtos['qtd_produto'] - $lista_produtos['qtd_retirada'])."</strong> &nbsp;
            <small>".$getProduto['SQL_ICODBUS']." - ".$getProduto['SQL_IDESCRI']."</small>
            <span class='my-ob-span'>
              <small class='text-dark'>Informações do início a solicitação: </small> <br>
              <span  class='text-dark'><b>X".$lista_produtos['qtd_produto']."</b> - ".$getProduto['SQL_ICODBUS']." - ".$getProduto['SQL_IDESCRI']." </span>
            </span>
            </p>
          ";
        }

        $cor_texto = "";
        if ($qtd == 0) { $cor_texto = "text-danger"; }

        $result .= "<p class='m-0 ".$cor_texto."'>";
        $result .= "
        <span data-toggle='tooltip' data-placement='top' title='DEPÓSITO'>DEP: ". $getProduto['SQL_ILOCDEP'] ." | QTD: ". $getProduto[$__LOJA_STOCK] ." | </span>
        <span class='card_qtd' data-toggle='tooltip' data-placement='top' title='QUANTIDADE'>". $qtd ."x</span> - ";
        $result .= "<span data-toggle='tooltip' data-placement='top' title='PRODUTO' class='font-ajus'>".$getProduto['SQL_ICODBUS']." - ".$getProduto['SQL_IDESCRI']."</span>";
        $result .= "</p>";

      }

      if ($qtd_produto_n_encontrado > 0) {
        $result .= "<hr>
        <small class='text-danger'>Produtos não encontrados: </small>$result_produto_n_encontrado";
      }
    }

    $result .= '</div>';
    $result .= '<div class="card-header">'. $getDadosUser['nome'] .'</div>';

    $getAtividades = mysqli_query($conn, "SELECT * FROM processos_atividade WHERE processo_id = '".$lista['id']."' AND status = '0'");
    if (!empty($getAtividades)) {
      while ($lista_Atividade = mysqli_fetch_array($getAtividades)) {
        //pegar nome do usuário
        $getNome = mysqli_fetch_array(mysqli_query($conn, "SELECT nome FROM user WHERE id = '". $lista_Atividade['user_id'] ."'"));
        $result .= '<div class="card-header"><img src="./utils/img/icons/walking.svg" width="20"> '. $getNome['nome'] .', Foi buscar a(s) peça(s).</div>';
      }
    }

    //pegar nome do vendedor que iniciou esse processo
    $getVendedor = mysqli_query($conn, "SELECT id_user FROM processos_gerenciamento WHERE id_processo_iniciado = '".$lista['id']."' AND id_processo = '1'");
    if (mysqli_num_rows($getVendedor) > 0) {
      $listaNomeVendedor = mysqli_fetch_array($getVendedor);
      $getNomeV = mysqli_fetch_array(mysqli_query($conn, "SELECT nome FROM user WHERE id = '". $listaNomeVendedor['id_user'] ."'"));
      
      $result .= '<div class="card-header"><b>Vendedor:</b> '. $getNomeV['nome'] .'</div>';
    }

    //pegar observações
    $getObs = mysqli_query($conn, "SELECT * FROM processos_obs WHERE id_processo = '".$lista['id']."'");
    if (mysqli_num_rows($getObs) > 0) {
      $listaObs = mysqli_fetch_array($getObs);

      $result .= '<div class="card-header bg-warning btn-pulse"><b>OBS:</b> '. $listaObs['obs_descricao'] .'</div>';
    }

    $result .= '</div></div>';
  }
}

$var = array(
  'cards' => $result,
  'total_itens_encontrados' => $contador_total,
  'array_id_processos' => $array_id_processos,
  'array_geral' => $array_geral,
  'array_times' => $array_times
);

echo json_encode($var); 