<?php require_once('Agro_Curl.php');

function showHelp(): void
{
    echo <<<HELP
Uso:
  php script.php --data=YYYY-MM-DD

Parâmetros:
  --data    Data obrigatória no formato Y-m-d

Exemplo:
  php enviarformularioscomerroecmplugessor.php --data=2026-07-28

HELP;

    exit(1);
}

$options = getopt("h", ["help", "data:", "verbose"]);
if (isset($options['h']) || isset($options['help'])) {
    showHelp();
}

if (!isset($options['data'])) {
    echo "Erro: o parâmetro --data é obrigatório.\n\n";
    showHelp();
}

$data = DateTime::createFromFormat('Y-m-d', $options['data']);

if (!$data || $data->format('Y-m-d') !== $options['data']) {
    echo "Erro: a data deve estar no formato Y-m-d.\n\n";
    showHelp();
}

preg_match("/^agrobr-app02\.*/", gethostname(), $matches);

$dataInicioExecucao = (new DateTime())->format('Y-m-d H:i:s');

try {
    if (count($matches) > 0) {
        $curl = new Agro_Curl('agronet.agrobrasilseguros.com.br', 'https');
    } else {
        $curl = new Agro_Curl('agronet.local', 'http');
    }

    $curl->setUrl('/seguro/proposta/enviarformularioscomerroecmplugessor');
    $body = [];

    $body = [
        'dataInicio' => $options['data']
    ];

    $curl->doRequest('POST', $body);

    $result = $curl->getResult();

    $result->dataInicioExecucao = $dataInicioExecucao;
    $result->dataFimExecucao = (new DateTime())->format('Y-m-d H:i:s');

} catch (\Throwable $e) {
    $dataFimExecucao = (new DateTime())->format('Y-m-d H:i:s');
    $mensagemErro = $e->getMessage() . '. ' . $e->getTraceAsString() ."\n";

    $result = json_encode(['dataInicioExecucao' => $dataInicioExecucao, 'dataFimExecucao' => $dataFimExecucao, 'mensagemErro' => $mensagemErro]);
}

file_put_contents(
    '/tmp/output_enviarformularioscomerroecmplugessor.jsonl',
    json_encode($result, JSON_UNESCAPED_UNICODE) . PHP_EOL,
    FILE_APPEND
);
