<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
date_default_timezone_set('Europe/Madrid');

// Parámetros
$discordchannel	= "883046233017552956";
$serverName 	= "localhost";
$connectionInfo = array( "Database"=>"ICF", "UID"=>"VAIO", "PWD"=>"VAIO");

// Conexión con Navision
$connNavision=false;
$retries=0;
while(!$connNavision && $retries<3){
	$connNavision = sqlsrv_connect( $serverName, $connectionInfo);
	$retries++;
}

if($connNavision) {
	 //echo "Conexion establecida con Navision.\r\n";
}else{
	file_get_contents("https://icfbot.ferreteriacampollano.com/message.php?channel=".$discordchannel."&msg=".urlencode(":sos:"."SCRIPT ".basename(__FILE__, '.php').": No se pudo establecer la conexion con Navision"));
	echo json_encode(["result"=>-1 , "text"=>"No se pudo conectar con Navision"]);
	die;
}

$result = [];

// Obtención de los productos que han cambiado
$sql = "SELECT 
	codigo_antiguo as saleorder
	FROM [navisionChanges]
	WHERE entidad='SALE' 
	ORDER BY fecha asc";

$stmt_changes = sqlsrv_query( $connNavision, $sql);
if(sqlsrv_errors(SQLSRV_ERR_ERRORS)!==NULL) {
	echo json_encode(["result"=>-2, "text"=>"Ocurrio un error en la consulta SQL de Navision"]);
	file_get_contents("https://icfbot.ferreteriacampollano.com/message.php?channel=".$discordchannel."&msg=".urlencode(":sos:"."SCRIPT ".basename(__FILE__, '.php').": No se pudo obtener la lista de albaranes de compra de Navision que han cambiado"));
	die;
}

if($stmt_changes !== false){
	while($row = sqlsrv_fetch_array($stmt_changes, SQLSRV_FETCH_ASSOC)){					
		$aLine = [];
		foreach($row as $key=>$object){
			$aLine[$key] = !is_object($object)?utf8_encode($object):$object;
		}
		$result[] = trim($aLine['saleorder']);
	}				
}

header('Content-Type: application/json');
echo json_encode($result, JSON_UNESCAPED_UNICODE);
?>
