diff --git a/vendor/action/liberation/liberation.php b/vendor/action/liberation/liberation.php index 0b297dc..b734d37 100644 --- a/vendor/action/liberation/liberation.php +++ b/vendor/action/liberation/liberation.php @@ -34,7 +34,8 @@ try{ /** 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; @@ -45,14 +46,20 @@ try{ foreach($FinancialMovementsResult as $FinancialMovementsKey => $Result){ $expired = new stdClass(); + $expired->description = $Result->description; $expired->reference = $Result->movement_date_scheduled; $expired->days = $Result->days_passed; $result->data->expired[] = $expired; } - echo json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); - exit; + } else { + + + } + + echo json_encode($result, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); + exit; } else { diff --git a/vendor/model/FinancialMovements.class.php b/vendor/model/FinancialMovements.class.php index e4c964b..a232a4b 100644 --- a/vendor/model/FinancialMovements.class.php +++ b/vendor/model/FinancialMovements.class.php @@ -413,14 +413,33 @@ class FinancialMovements $this->cns = $cns; /** Consulta SQL */ - $this->sql = 'SELECT fm.financial_movements_id, - fm.movement_date_scheduled, - DATEDIFF(CURRENT_DATE, fm.movement_date_scheduled) AS days_passed + $this->sql = '( + -- Registros em atraso + SELECT + fm.*, + DATEDIFF(CURRENT_DATE, fm.movement_date_scheduled) AS days_passed, + \'em_atraso\' AS status_registro FROM financial_movements fm INNER JOIN companies c ON fm.company_id = c.company_id WHERE c.cns = :cns AND fm.movement_date_paid IS NULL - AND fm.movement_date_scheduled <= CURRENT_DATE;'; + AND fm.movement_date_scheduled <= CURRENT_DATE + ) + UNION + ( + -- Próximo vencimento (caso não haja atrasados) + SELECT + fm.*, + DATEDIFF(CURRENT_DATE, fm.movement_date_scheduled) AS days_passed, + \'proximo_vencimento\' AS status_registro + FROM financial_movements fm + INNER JOIN companies c ON fm.company_id = c.company_id + WHERE c.cns = :cns + AND fm.movement_date_paid IS NULL + AND fm.movement_date_scheduled > CURRENT_DATE + ORDER BY fm.movement_date_scheduled ASC + LIMIT 1 + );'; /** Preparo o SQL para execução */ $this->stmt = $this->connection->connect()->prepare($this->sql);