136 lines
No EOL
4.9 KiB
PHP
136 lines
No EOL
4.9 KiB
PHP
<?php
|
|
|
|
/** Importação de classes */
|
|
use vendor\model\FinancialMovements;
|
|
use vendor\controller\financial_movements\FinancialMovementsValidate;
|
|
|
|
try{
|
|
|
|
|
|
/** Instânciamento de classes */
|
|
$FinancialMovements = new FinancialMovements();
|
|
$FinancialMovementsValidate = new FinancialMovementsValidate();
|
|
|
|
/** Parametros de entrada */
|
|
$cns = isset($_POST['cns']) ? (string)filter_input(INPUT_POST, 'cns',FILTER_SANITIZE_SPECIAL_CHARS ) : '';
|
|
$hash = isset($_POST['hash']) ? (string)filter_input(INPUT_POST, 'hash',FILTER_SANITIZE_SPECIAL_CHARS ) : '';
|
|
$i = 0;
|
|
|
|
/** Validando os campos de entrada */
|
|
$FinancialMovementsValidate->setCns($cns);
|
|
$FinancialMovementsValidate->setHash($hash);
|
|
|
|
/** Verifica se não existem erros a serem informados */
|
|
if (!empty($FinancialMovementsValidate->getErrors())) {
|
|
|
|
/** Informo */
|
|
throw new InvalidArgumentException($FinancialMovementsValidate->getErrors(), 0);
|
|
|
|
} else {
|
|
|
|
/** Verifico se o hash enviado é válido */
|
|
if($Main->decryptData($FinancialMovementsValidate->getHash()) === $Main->getLiberation()){
|
|
|
|
/** Consulta por movimentações em atraso de um determinado cliente pelo seu CNS */
|
|
$FinancialMovementsResult = $FinancialMovements->SearchDebit($FinancialMovementsValidate->getCns());
|
|
|
|
/** Verifica se a consulta retornou resultados */
|
|
if(count($FinancialMovementsResult) > 0){
|
|
|
|
$result = new stdClass();
|
|
$result->code = 200;
|
|
|
|
foreach($FinancialMovementsResult as $FinancialMovementsKey => $Result){
|
|
|
|
/** Caso o registro esteja em atraso */
|
|
if(($Result->status_registro == 'em_atraso') && ($Result->days_passed > 0)){
|
|
|
|
// Se ainda não existe $result->data, cria
|
|
if(!isset($result->data)){
|
|
$result->data = new stdClass();
|
|
}
|
|
|
|
// Se ainda não existe a lista expired, cria
|
|
if(!isset($result->data->expired)){
|
|
$result->data->expired = [];
|
|
}
|
|
|
|
// Define mensagem apenas na primeira vez
|
|
if($i == 0){
|
|
$result->message = "Existem pendências financeiras Junto a Orius Tecnologia";
|
|
}
|
|
|
|
// Monta o objeto de item vencido
|
|
$expired = new stdClass();
|
|
$expired->description = $Result->description;
|
|
$expired->reference = $Result->movement_date_scheduled;
|
|
$expired->days = $Result->days_passed;
|
|
|
|
// Adiciona ao array de expirados
|
|
$result->data->expired[] = $expired;
|
|
|
|
}
|
|
/** Caso o registro seja próximo vencimento */
|
|
elseif($Result->status_registro == 'proximo_vencimento') {
|
|
|
|
// Se ainda não existe $result->data, cria
|
|
if(!isset($result->data)){
|
|
$result->data = new stdClass();
|
|
}
|
|
|
|
// Se ainda não existe a lista next_due_date, cria
|
|
if(!isset($result->data->next_due_date)){
|
|
$result->data->next_due_date = [];
|
|
}
|
|
|
|
// Define mensagem apenas na primeira vez
|
|
if($i == 0){
|
|
$result->message = "Próximo vencimento";
|
|
}
|
|
|
|
// Monta o objeto de próximo vencimento
|
|
$next = new stdClass();
|
|
$next->description = $Result->description;
|
|
$next->reference = $Result->movement_date_scheduled;
|
|
$next->days = $Result->days_passed;
|
|
|
|
// Adiciona ao array de próximos vencimentos
|
|
$result->data->next_due_date[] = $next;
|
|
}
|
|
|
|
// Incrementa contador de registros
|
|
$i++;
|
|
}
|
|
}
|
|
|
|
echo json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
|
|
exit;
|
|
|
|
} else {
|
|
|
|
/** Informo */
|
|
throw new InvalidArgumentException('O Hash informado é inválido', 0);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}catch(Exception $exception){
|
|
|
|
/** Preparo o formulario para retorno **/
|
|
$result = [
|
|
|
|
'cod' => 0,
|
|
'message' => $exception->getMessage(),
|
|
'title' => 'Atenção',
|
|
'type' => 'exception',
|
|
'authenticate' => $authenticate
|
|
|
|
];
|
|
|
|
/** Envio **/
|
|
echo json_encode($result);
|
|
|
|
/** Paro o procedimento **/
|
|
exit;
|
|
} |