<?php
session_start();

require_once 'script_php/conexao.php';
require_once 'script_php/Softcom.php';
require_once 'script_php/Visao.php';
require_once 'script_php/RemotoInterno.php';

$Softcom = new Softcom();

//nova visao sem construtor para apenas listar os dados da visao cadastrada
$VisaoListar = new Visao();

$dataInicio = isset($_POST['dataInicio']) ? $_POST['dataInicio'] : null;
$dataFinal = isset($_POST['dataFinal']) ? $_POST['dataFinal'] : null;
//$descricaoVisao = isset($_POST['visao']) ? $_POST['visao'] : null;

//descricao para salvar no relatorio
$descricaoVisao = "CONSULTADO " . date('d-m-Y') ;

//se encontrou um periodo salvo como visao
$codVisao = $VisaoListar->buscarVisaoPeriodo($conexao,$dataInicio,$dataFinal);
//pegar codigo de um periodo salvo
foreach ($codVisao as $dados) { $idPeriodoVisao = $dados['ID'];}

//IMPLEMENTAR MOSTRAR O NOME DA VISAO QUE ESTA SENDO CARREGADA

//recebe esse get caso tenho vindo da escolha de uma visao
$id = isset($_GET['id']) ? $_GET['id'] : null;

//buscar a data atual
$dataAtual = date('Y-m-d');

//essa variavel zerada significa que a data final nao é a data de hoje pois se for nao deve cadastrar
$dataIgual = 0;
//se a data final é igual a atual
if ($dataFinal == $dataAtual){ $dataIgual = 1;}

//SE DIGITOU VISAO PARA CADASTRAR
if (!empty($descricaoVisao)){

  //se a data final e igual a data atual nao fazer cadastro de visao
  if ($dataIgual == 1) {
    $_SESSION['msg'] = "<div class='alert alert-success'> Deu tudo certo, mas a data final é hoje por isso não posso salvar esses dados para consultas posteriores!</div>";
  }
}

//se veio de um link de uma visao
if ($id){

  $formattedDate1 =  RemotoInterno::converterData($_GET['dataInicio']);
  $formattedDate2 =  RemotoInterno::converterData($_GET['dataFinal']);

}else{

  $formattedDate1 =  RemotoInterno::converterData($dataInicio);
  $formattedDate2 =  RemotoInterno::converterData($dataFinal);
}

function converterDataSql($data) {
$timestamp2 = strtotime($data);
return date("Y/d/m", $timestamp2);

}
//variaveis para valor total
$totalCompras = 0;
$totalVendas = 0;
$totalLucro = 0;

//converte data para ser compative com sql server
$dataI = converterDataSql($dataInicio);
$dataF = converterDataSql($dataFinal);

//se o sistema encontrou o periodo salvo no remoto
if(isset($idPeriodoVisao)) {
  $dados = $VisaoListar->vendasAgrupadas($conexao,$idPeriodoVisao);
}else{

//se existir id ou seja se tem as informacoes no remoto
if (isset($id)){
  $dados = $VisaoListar->vendasAgrupadas($conexao,$id);
}else{
//chasse que busca os vendas no sql server
$dados = $Softcom->BuscarVendasPeriodo($dataI, $dataF);
  }
}

//SE DIGITOU VISAO PARA CADASTRAR
if (!empty($descricaoVisao)){
  //se nao houver uma visao selecionada
  if(empty($idPeriodoVisao)){
  //classe que interage com as visoes do mysql
  $dataCadastro = date('y-m-d H:m:s');
  $Visao = new Visao($descricaoVisao,$dataInicio,$dataFinal,$dataCadastro);
  
  //so gravar se a data final for diferente da data atual
  if($dataIgual == 0){
  //grava uma visao na tabela onde contra as visoes mas os dados de vendas
  //esses sao gravados dentro do loop 
  $idPeriodo = $Visao->CadastrarVisao($conexao);//aqui recebemos o id que foi inserido na tabela onde tem os dados das visoes
  
    }
  }
}//final se escreveu o nome da visao
?>
<!DOCTYPE html>
<html>
<head>

<?php include_once 'head.html' ?>

<title></title>
</head>

<body>

<?php include_once 'header.php'; ?>

<?php

if (isset($_SESSION["msg"])) {
  echo $_SESSION["msg"];
  unset($_SESSION["msg"]);
}
?>
<h4>
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" fill="currentColor" class="bi bi-basket2" viewBox="0 0 16 16">
  <path d="M4 10a1 1 0 0 1 2 0v2a1 1 0 0 1-2 0zm3 0a1 1 0 0 1 2 0v2a1 1 0 0 1-2 0zm3 0a1 1 0 1 1 2 0v2a1 1 0 0 1-2 0z"/>
  <path d="M5.757 1.071a.5.5 0 0 1 .172.686L3.383 6h9.234L10.07 1.757a.5.5 0 1 1 .858-.514L13.783 6H15.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-.623l-1.844 6.456a.75.75 0 0 1-.722.544H3.69a.75.75 0 0 1-.722-.544L1.123 8H.5a.5.5 0 0 1-.5-.5v-1A.5.5 0 0 1 .5 6h1.717L5.07 1.243a.5.5 0 0 1 .686-.172zM2.163 8l1.714 6h8.246l1.714-6z"/>
</svg>
Vendas por loja por período</h4>
<hr>
<?php ?>
<h6> Data Início: <?php echo $formattedDate1;?> | Data Início: <?php echo $formattedDate2;?> 

<?php ?>

<?php if (!empty($descricaoVisao)){

  echo '| Descrição Visão:' . $descricaoVisao;

} ?>

</h6>

<hr>

<a href="vendasPeriodoLojas.php">

<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" class="bi bi-arrow-return-left" viewBox="0 0 16 16">
  <path fill-rule="evenodd" d="M14.5 1.5a.5.5 0 0 1 .5.5v4.8a2.5 2.5 0 0 1-2.5 2.5H2.707l3.347 3.346a.5.5 0 0 1-.708.708l-4.2-4.2a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 8.3H12.5A1.5 1.5 0 0 0 14 6.8V2a.5.5 0 0 1 .5-.5"/>
</svg>
<small> Voltar </small>

</a>  

<table class="table table-striped tabelaindex">
  <thead >
    <tr class="table-dark">
      <th>LOJA</th>
      <th>COMPRA</th>
      <th>VENDA</th>
      <th>LUCRO</th>
    </tr>
  </thead>
  <tbody>
<?php

foreach ($dados as $dados2) {
	
$totalCompras = $totalCompras + $dados2['COMPRA'];
$totalVendas = $totalVendas + $dados2['VENDA'];
$totalLucro = $totalLucro + $dados2['LUCRO'];

//SE DIGITOU VISAO PARA CADASTRAR
if (!empty($descricaoVisao)){
//se nao houver uma visao selecionada
if(empty($idPeriodoVisao)){

if($dataIgual == 0){
//escrever os dados da visao
$cadastro = $Visao->cadastrarVisaoDados($conexao,$dados2['LOJA'],$dados2['COMPRA'],$dados2['VENDA'],$dados2['LUCRO'],$idPeriodo);
    }
  }
}
?>
<tr>
     <td><?php echo $dados2['LOJA'];?></td>
     <td>R$ <?php echo RemotoInterno::converterNumero($dados2['COMPRA']);?></td>
     <td>R$ <?php echo RemotoInterno::converterNumero($dados2['VENDA']);?></td>
     <td>R$ <?php echo RemotoInterno::converterNumero($dados2['LUCRO']);?></td>
</tr>

<?php }

//se houve cadastro de visao 
if (isset($cadastro)){
//if($cadastro == true) {
  
  /*$_SESSION['msg'] = "<div class='alert alert-success'>Período salvo :)</div>";
  
  if (isset($_SESSION["msg"])) {
    echo $_SESSION["msg"];
    unset($_SESSION["msg"]);
  }
*/

  //se nao houve cadastro de visao
  }

  //se digitou uma descricao para uma visao porem ja existe uma para o periodo selecionado
  //se o banco retornou o numero de uma visao desse periodo e o usuario digitou uma visao



?>

<tr class="table-dark">
	<td> TOTAIS </td>
	<td>R$ <?php echo   RemotoInterno::converterNumero($totalCompras);?> </td>
	<td>R$ <?php echo   RemotoInterno::converterNumero($totalVendas);?> </td>
	<td>R$ <?php echo   RemotoInterno::converterNumero($totalLucro);?> </td>
</tr>
</tbody>
</table>

<?php include_once 'footer.php' ?>
