<?php
//sessao
session_start();

//requires
require_once '../../script_php/conexaoSQL.php';
require_once '../../script_php/conexao.php';
require_once '../SqlServer.php';
require_once '../Datas.php';
require_once '../MysqlConsulta.php';
require_once '../../script_php/SisNotasSQL.php';
require_once '../../script_php/RemotoInterno.php';

//objetos
$tratamentoDatas = new Data;
$sqlServer = new Sqlserver;
$MysqlConsulta = new MysqlConsulta;
$mysql = new SisNotasSQL;
$remoto = new RemotoInterno;

//constantes ou variavel fixas
$prazo = 0;
$Periodicidade = 0;

$fornecedor = null;

//variaveis de sessao
$usuario = $_SESSION['usuario'];

//variaveis de formularios
//$desativar = $_POST['desativar'];

$produtos = $_POST['produto'];
$lojaPedido = $_POST['loja'];
$observacao = $_POST['observacao'];
$fabricante = $_POST['fabricante'];

//recebe o estoque minimo visualizado pelo usuario
$minimo = $_POST['minimo'];
//recebe o estoque minimo sem alteracao do usuario
$minimoAnterior = $_POST['minimoAnterior'];

if(isset($_POST['mensagem'])) {$mensagemGravar = $_POST['mensagem'];}
$fornecedorForm = $_POST['fornecedor'];

//pegar o fabricante recebido e transformar em array
$fabricanteRelatorio = str_split($fabricante);


// ATUALIZAR ESTOQUE MINIMO

//percorre o estoque minimo visualizado pelo usuario
foreach ($minimo AS $key => $value) {
    //veririfica se um produto foi alterado o estoque minimo pelo usuario
    $altualzarEstoqueMinimo =  $remoto->verificarEstoqueMinimoAnterior($minimoAnterior, $key, $value);
    //se o estoque minimo anterior esta diferente do atual
    if($altualzarEstoqueMinimo <> $value){
    //atualiza apenas os produtos com estoque minimo alterado pelo usuario

     $sqlServer->atualizarEstoqueMinimo($key, $lojaPedido, $value);
    }

}



//percorrer o array
foreach ($fabricanteRelatorio as $fab2)
{   
    //buscar o ultimo fornecedor de um fabricante 
    $fornecedor = $sqlServer->fornecedorDaUltimaCompra($fab2,$lojaPedido);
}

//se nao encontrou o fornecedor usar o enviado pelo relatorio via post
if(!isset($fornecedor))
{
    $fornecedor = $fornecedorForm;
}

//transforme a loja recebida do relatorio para usar no remoto
$lojaRemoto = $remoto->TransformarLojaSoftcomParaRemoto($lojaPedido);

//pegar a quantidade de itens do formulario
$quantidade = 0;

foreach($produtos as $produtos2){
    $quantidade = $quantidade + $produtos2;
}

if($quantidade > 0){

//variaveis de objetos
$dataAtual = date('d/m/Y H:m:s');

$dataEmissao = $tratamentoDatas->converterDataEmString($dataAtual);
$dataLimite = $tratamentoDatas->converterDataEmString($dataAtual);
$dataHoraAtual = date('Ymd H:i:s');

//grava um novo pedido no softcom
$sqlServer->gravarPedidoSoftcom($dataEmissao,
                                 $dataLimite,
                                 $lojaPedido, 
                                 $observacao,
                                 $usuario,
                                 $dataHoraAtual,
                                 $fornecedor,
                                 $fabricante

                                );




//pegar o id do cabecalho do pedido gravado acima
$idpedido =  $sqlServer->ultimoIdUsuarioCompras($usuario,$dataHoraAtual);






//cadastrar as mercadorias
$sqlServer->CadastrarProdutosPedidos($produtos,$idpedido);


/*
foreach($produtos as $prod){

    echo $prod[0] .  "<br>";
}


*/

//importar pedido no remoto
//se quer que o sistema avise quando chegar o pedido
if(isset($mensagemGravar)){
    $mensagemGravar = 2;
    $MysqlConsulta->cadatrarMensagem($conexao, $idpedido,$usuario);

}else{

    $mensagemGravar = 10;
}

//busca o valor do pedido no softcom
$valorpedido = 0;
$valor =  $sqlServer->PrecoPedido($idpedido);
foreach ($valor as $valorPedidoArray){
   $valorpedido = $valorPedidoArray[0] + $valorpedido;

}


//informa que o numero do pedido ao remoto
$mysql->cadastrarPedidoSoft($conexao,$idpedido);

//cadastra um novo pedido no remoto
$mysql->cadastrarPedidoNovo($conexao,
                        $fornecedor,
                        $dataEmissao,
                        $fabricante,
                        $observacao,
                        $lojaRemoto,
                        'Pendente',
                        $valorpedido,
                        $idpedido,
                        $mensagemGravar,
                        1
                    );
       

	$_SESSION['msg'] = "<div class='alert alert-success'> Pedido realizado com sucesso</div>";
	header("Location: ../../imprimirPedido.php?idpedido=$idpedido&loja=$lojaPedido&datapedido=$dataEmissao&fornecedor=$fornecedor&datapedido=$dataEmissao&fabricante=$fabricante");

}else{
    
	$_SESSION['msg'] = "<div class='alert alert-danger'> Não houveram produtos neste pedido</div>";
	header("Location: ../../comprasanalise.php");

}



/*
USE BaseCasadoCabelereiro;

--SELECT max(ID) FROM GestaoCompras_Cotacao WHERE Lancamento_Usuario = 'TIMOTEO' AND Lancamento_DataHora = '20250520 15:43:57' ;
-- SELECT * FROM GestaoCompras_Cotacao ORDER BY ID DESC;
-- DELETE GestaoCompras_Cotacao WHERE Lancamento_Usuario = 'TIMOTEO' AND DataEmissao = '20250520 00:00:00.000'
*/



