<?php
require 'autoloader.php';

use OpenBoleto\Banco\Caixa;
use OpenBoleto\Agente;


if ($_GET['cod3'] == "H") {
    echo "<!-- ACESSANDO HOMOLOGACAO -->\n";
    $db ="(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.254.112)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCLHMG) ) )";
} else {
    echo "<!-- ACESSANDO PRODUCAO -->\n";
    $db ="(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.254.114)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) )";
}

$conn = oci_connect('boleto', 'Boleto@2011', $db);

// $query = "ALTER SESSION SET NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'";
$query = "ALTER SESSION SET NLS_DATE_FORMAT='dd-mm-yyyy'";
$stid = oci_parse($conn, $query);
oci_execute($stid);


if ($_GET['cod3'] == "H") {
    $query = sprintf("select cxr.* from roman.vw_boletos_caixa_reg cxr where idpagamentonegociacao= %d and idvendedora = %d 
    union 
    select cx.*, null, null from roman.vw_boletos_caixa cx where idpagamentonegociacao= %d and idvendedora = %d", 
    $_GET['cod1'], $_GET['cod2'], $_GET['cod1'], $_GET['cod2']);
} else {
    $query = sprintf("select cxr.* from roman.vw_boletos_caixa_reg cxr where idpagamentonegociacao= %d and idvendedora = %d 
    union 
    select cx.*, null, null from roman.vw_boletos_caixa cx where idpagamentonegociacao= %d and idvendedora = %d", 
    $_GET['cod1'], $_GET['cod2'], $_GET['cod1'], $_GET['cod2']);    
}

try {
    $stid = oci_parse($conn, $query);
    if (!oci_execute($stid)) {
        echo "Falha no oci_execute...";
    }

    // echo "<!-- " . $query . "-->";

    while($row = oci_fetch_array($stid)) {
        // echo "<!-- ";
        // print_r($row);
        // echo "-->";

        $sacado = new Agente($row["NOMEPESSOA"],    // NOME
            $row["CPF"],                            // CPF
            $row["ENDERECOPRINCIPAL"],              // ENDERECO
            $row["CEP"],                            // CEP
            $row["NOMECIDADE"],                     // NOMECIDADE
            $row["SIGLA"]);                         // SIGLA ESTADO

        $vencimento = $row["DATAVENCIMENTO"];
        $valor = $row["VALOR"];
        $sequencial = $row["NUMEROBOLETO"];
        $numero = $row["NUMEROBOLETO"];
        }
} catch (Exception $e) {
    echo "ERRO!!!";
    echo $e->getMessage();
}

if ($sacado == null) {
    echo "<html>
<body>
<pre>
Ops... boleto nao encontrado!
</pre>
</body>
</html>";
} else {

    $cedente = new Agente('CRISDU MODA INTIMA LTDA', 
        '07.318.638/0001-14', 
        'Rua Santa Catarina 650', 
        '95650-000', 
        'Igrejinha', 
        'RS');

    $boleto = new Caixa(array(
        // Parâmetros obrigatórios
        'dataVencimento' => new DateTime($vencimento),
        'valor' => $valor,
        'sequencial' => $sequencial,
        'sacado' => $sacado,
        'cedente' => $cedente,
        'agencia' => '2515', // Até 4 dígitos
        'carteira' => 'RG', // SR => Sem Registro ou RG => Registrada
        'conta' => '818889', // Até 6 dígitos

        // Parâmetros recomendáveis
        //'logoPath' => 'http://empresa.com.br/logo.jpg', // Logo da sua empresa
        'contaDv' => 0,
        'agenciaDv' => null,
        'descricaoDemonstrativo' => array( // Até 5
            '',
            '',
        ),
        'instrucoes' => array( // Até 8
            'Após o vencimento, cobrar 2% de',
            'multa e 1% de juros ao dia',
        ),

        // Parâmetros opcionais
        //'resourcePath' => '../resources',
        //'moeda' => Caixa::MOEDA_REAL,
        //'dataDocumento' => new DateTime(),
        //'dataProcessamento' => new DateTime(),
        //'contraApresentacao' => true,
        //'pagamentoMinimo' => 23.00,
        //'aceite' => 'N',
        //'especieDoc' => 'ABC',
        'numeroDocumento' => $numero
        //'usoBanco' => 'Uso banco',
        //'layout' => 'caixa.phtml',
        //'logoPath' => 'http://boletophp.com.br/img/opensource-55x48-t.png',
        //'sacadorAvalista' => new Agente('Antônio da Silva', '02.123.123/0001-11'),
        //'descontosAbatimentos' => 123.12,
        //'moraMulta' => 123.12,
        //'outrasDeducoes' => 123.12,
        //'outrosAcrescimos' => 123.12,
        //'valorCobrado' => 123.12,
        //'valorUnitario' => 123.12,
        //'quantidade' => 1,
    ));

    echo $boleto->getOutput();    

}
?>