$PaginaP, 'limite' => $limite, 'padrao' => $padrao); } public function get_listagem() { $comandoSQL = 'SELECT uuid_lanc AS uuid, vtab_titulos.titulo, valor, valorpag, formapag, datavenc, celular, nossonum, linhadig, nome, login, cpf_cnpj, tipo, email, endereco, numero, bairro, complemento, cidade, estado, cep, status, cli_ativado, bloqueado, uuid_lanc, sis_qrpix.qrcode AS pix FROM vtab_titulos LEFT JOIN sis_qrpix ON vtab_titulos.uuid_lanc = sis_qrpix.titulo WHERE deltitulo = 0 ORDER BY vtab_titulos.titulo;'; $rotinaSQL = DB::prepare($comandoSQL); $rotinaSQL -> execute(); $resultadosSQL = $rotinaSQL -> fetchAll(); $numeroDeLinhas = $rotinaSQL -> rowCount(); if (function_exists('api_linkpix')) { foreach ($resultadosSQL as $Titulo) { if ($Titulo -> pix !== null) { $Titulo -> pix_link = api_linkpix($Titulo->uuid); $Titulo -> pix_qr = api_qrpix($Titulo->uuid); } else { unset($Titulo -> pix); } } } echo json_encode(array('Total' => $numeroDeLinhas, 'titulos' => $resultadosSQL)); } public function get_listar($valor) { $parametros = $this->parametros($valor); $countSQL = 'SELECT COUNT(*) AS total FROM vtab_titulos WHERE deltitulo = 0'; $rotinaCount = DB::prepare($countSQL); $rotinaCount -> execute(); $resultadosCount = $rotinaCount -> fetch(); $total = intval($resultadosCount->total); $totalPaginas = ceil($total / $parametros['limite']); $comandoSQL = 'SELECT uuid_lanc AS uuid, vtab_titulos.titulo, valor, valorpag, datavenc, nossonum, linhadig, nome, login, cpf_cnpj, tipo, email, endereco, numero, bairro, complemento, cidade, estado, cep, status, cli_ativado, uuid_lanc, sis_qrpix.qrcode AS pix FROM vtab_titulos LEFT JOIN sis_qrpix ON vtab_titulos.uuid_lanc = sis_qrpix.titulo WHERE deltitulo = 0 ORDER BY vtab_titulos.titulo LIMIT :pagina, :limite;'; $rotinaSQL = DB::prepare($comandoSQL); $rotinaSQL -> bindParam('pagina', $parametros['padrao'], PDO::PARAM_INT); $rotinaSQL -> bindParam('limite', $parametros['limite'], PDO::PARAM_INT); $rotinaSQL -> execute(); $resultadosSQL = $rotinaSQL -> fetchAll(); $numeroDeLinhas = $rotinaSQL -> rowCount(); if (function_exists('api_linkpix')) { foreach ($resultadosSQL as $Titulo) { if ($Titulo -> pix !== null) { $Titulo -> pix_link = api_linkpix($Titulo->uuid); $Titulo -> pix_qr = api_qrpix($Titulo->uuid); } else { unset($Titulo -> pix); } } } $ConsultaLimite = ($parametros['pagina'] == $totalPaginas) ? $numeroDeLinhas : $parametros['limite']; if ($parametros['padrao'] >= $total) { echo json_encode(array('mensagem' => 'Pagina atual acima do limite de paginas')); } else { echo json_encode(array('total_registros' => $total ,'consulta_atual' => $ConsultaLimite, 'pagina_atual' => $parametros['pagina'], 'total_paginas' => $totalPaginas, 'titulos' => $resultadosSQL)); } } public function get_show($valor) { $comandoSQL = 'SELECT sis_lanc.*, sis_qrpix.qrcode AS pix FROM sis_lanc LEFT JOIN sis_qrpix ON sis_lanc.uuid_lanc = sis_qrpix.titulo WHERE sis_lanc.id = :titulo OR sis_lanc.uuid_lanc = :titulo LIMIT 1'; $rotinaSQL = DB::prepare($comandoSQL); $rotinaSQL -> bindParam('titulo', $valor); $rotinaSQL -> execute(); $resultadosSQL = $rotinaSQL -> fetch(); $numeroDeLinhas = $rotinaSQL -> rowCount(); if (function_exists('api_linkpix')) { if ($resultadosSQL -> pix !== null) { $resultadosSQL -> pix_link = api_linkpix($resultadosSQL->uuid); $resultadosSQL -> pix_qr = api_qrpix($resultadosSQL->uuid); } else { unset($resultadosSQL -> pix); } } echo json_encode($resultadosSQL); } public function get_titulos($valor) { $comandoSQL = "SELECT uuid_lanc AS uuid, login, nome, vtab_titulos.titulo, status, celular, cli_ativado, tipo, valor, linhadig, datavenc, login, cpf_cnpj, sis_qrpix.qrcode AS pix FROM vtab_titulos LEFT JOIN sis_qrpix ON vtab_titulos.uuid_lanc = sis_qrpix.titulo WHERE (login = :valor OR cpf_cnpj = :valor OR datavenc = :valor) AND deltitulo = 0 ORDER BY vtab_titulos.titulo;"; $rotinaSQL = DB::prepare($comandoSQL); $rotinaSQL -> bindParam('valor', $valor); $rotinaSQL -> execute(); $resultadosSQL = $rotinaSQL -> fetchAll(); $numeroDeLinhas = $rotinaSQL -> rowCount(); if (function_exists('api_linkpix')) { foreach ($resultadosSQL as $Titulo) { if ($Titulo -> pix !== null) { $Titulo -> pix_link = api_linkpix($Titulo->uuid); $Titulo -> pix_qr = api_qrpix($Titulo->uuid); } else { unset($Titulo -> pix); } } } if ($numeroDeLinhas > 0) { echo json_encode(array('Total' => $numeroDeLinhas, 'titulos' => $resultadosSQL)); } else { echo json_encode(array('mensagem' => 'Registro não encontrado')); } } public function get_aberto($valor) { $comandoSQL = "SELECT uuid_lanc AS uuid, login, nome, vtab_titulos.titulo, status, cli_ativado, tipo, valor, linhadig, datavenc, login, cpf_cnpj, sis_qrpix.qrcode AS pix FROM vtab_titulos LEFT JOIN sis_qrpix ON vtab_titulos.uuid_lanc = sis_qrpix.titulo WHERE (login = :valor OR cpf_cnpj = :valor) AND status = 'aberto' AND deltitulo = 0 ORDER BY vtab_titulos.titulo;"; $rotinaSQL = DB::prepare($comandoSQL); $rotinaSQL -> bindParam('valor', $valor); $rotinaSQL -> execute(); $resultadosSQL = $rotinaSQL -> fetchAll(); $numeroDeLinhas = $rotinaSQL -> rowCount(); if (function_exists('api_linkpix')) { foreach ($resultadosSQL as $Titulo) { if ($Titulo -> pix !== null) { $Titulo -> pix_link = api_linkpix($Titulo->uuid); $Titulo -> pix_qr = api_qrpix($Titulo->uuid); } else { unset($Titulo -> pix); } } } if ($numeroDeLinhas > 0) { echo json_encode(array('Total' => $numeroDeLinhas, 'titulos' => $resultadosSQL)); } else { echo json_encode(array('mensagem' => 'Registro não encontrado')); } } public function get_vencido($valor) { $comandoSQL = "SELECT uuid_lanc AS uuid, login, nome, vtab_titulos.titulo, status, cli_ativado, tipo, valor, linhadig, datavenc, login, cpf_cnpj, sis_qrpix.qrcode AS pix FROM vtab_titulos LEFT JOIN sis_qrpix ON vtab_titulos.uuid_lanc = sis_qrpix.titulo WHERE (login = :valor OR cpf_cnpj = :valor) AND status = 'vencido' AND deltitulo = 0 ORDER BY vtab_titulos.titulo;"; $rotinaSQL = DB::prepare($comandoSQL); $rotinaSQL -> bindParam('valor', $valor); $rotinaSQL -> execute(); $resultadosSQL = $rotinaSQL -> fetchAll(); $numeroDeLinhas = $rotinaSQL -> rowCount(); if (function_exists('api_linkpix')) { foreach ($resultadosSQL as $Titulo) { if ($Titulo -> pix !== null) { $Titulo -> pix_link = api_linkpix($Titulo->uuid); $Titulo -> pix_qr = api_qrpix($Titulo->uuid); } else { unset($Titulo -> pix); } } } if ($numeroDeLinhas > 0) { echo json_encode(array('Total' => $numeroDeLinhas, 'titulos' => $resultadosSQL)); } else { echo json_encode(array('mensagem' => 'Registro não encontrado')); } } public function get_pago($valor) { $comandoSQL = "SELECT uuid_lanc AS uuid, login, nome, valorpag, formapag, vtab_titulos.titulo, status, zap, cli_ativado, tipo, valor, linhadig, datavenc, login, cpf_cnpj, sis_qrpix.qrcode AS pix FROM vtab_titulos LEFT JOIN sis_qrpix ON vtab_titulos.uuid_lanc = sis_qrpix.titulo WHERE (login = :valor OR cpf_cnpj = :valor OR vtab_titulos.titulo = :valor) AND status = 'pago' AND deltitulo = 0 ORDER BY vtab_titulos.titulo;"; $rotinaSQL = DB::prepare($comandoSQL); $rotinaSQL -> bindParam('valor', $valor); $rotinaSQL -> execute(); $resultadosSQL = $rotinaSQL -> fetchAll(); $numeroDeLinhas = $rotinaSQL -> rowCount(); if (function_exists('api_linkpix')) { foreach ($resultadosSQL as $Titulo) { if ($Titulo -> pix !== null) { $Titulo -> pix_link = api_linkpix($Titulo->uuid); $Titulo -> pix_qr = api_qrpix($Titulo->uuid); } else { unset($Titulo -> pix); } } } if ($numeroDeLinhas > 0) { echo json_encode(array('Total' => $numeroDeLinhas, 'titulos' => $resultadosSQL)); } else { echo json_encode(array('mensagem' => 'Registro não encontrado')); } } public function post_titulos($data) { $usuarios_login = count($data->login) != 0 ? $data->login : $usuarios_login = [""]; $usuarios_cpf = count($data->cpf_cnpj) != 0 ? $data->cpf_cnpj : $usuarios_cpf = [""]; $dadosConsulta = array_merge($usuarios_login, $usuarios_cpf); $status = isset($data->status) ? $data->status : null; $login = $this->implodeDados($usuarios_login); $cpf_cnpj = $this->implodeDados($usuarios_cpf); $comandoSQL = "SELECT uuid_lanc AS uuid, login, nome, vtab_titulos.titulo, status, cli_ativado, tipo, valor, linhadig, datavenc, login, cpf_cnpj, sis_qrpix.qrcode AS pix FROM vtab_titulos LEFT JOIN sis_qrpix ON vtab_titulos.uuid_lanc = sis_qrpix.titulo WHERE (login IN ($login) OR cpf_cnpj IN ($cpf_cnpj)) AND deltitulo = 0"; if ($status != null) $comandoSQL .= " AND status = ?"; $comandoSQL .= " ORDER BY vtab_titulos.titulo;"; $rotinaSQL = DB::prepare($comandoSQL); foreach($dadosConsulta as $key => $valor) { $atual = $key + 1; $rotinaSQL -> bindParam($atual, $dadosConsulta[$key]); } if ($status != null) $rotinaSQL -> bindParam($atual + 1, $status); $rotinaSQL -> execute(); $resultadosSQL = $rotinaSQL -> fetchAll(); $numeroDeLinhas = $rotinaSQL -> rowCount(); if (function_exists('api_linkpix')) { foreach ($resultadosSQL as $Titulo) { if ($Titulo -> pix !== null) { $Titulo -> pix_link = api_linkpix($Titulo->uuid); $Titulo -> pix_qr = api_qrpix($Titulo->uuid); } else { unset($Titulo -> pix); } } } if ($numeroDeLinhas > 0) { echo json_encode(array('Total' => $numeroDeLinhas, 'titulos' => $resultadosSQL)); } else { echo json_encode(array('mensagem' => 'Registro não encontrado')); } } public function put_receber($data) { $coletor = isset($data->coletor) && $data->coletor !== '' ? $data->coletor : 'API'; $valor_pago = $data->valor; $formapag = $data->forma; $titulo = $data->uuid; $consultaSQL = "SELECT id, login, valor FROM sis_lanc WHERE uuid_lanc = :titulo"; $Consulta = DB::prepare($consultaSQL); $Consulta -> bindParam('titulo', $titulo); $Consulta -> execute(); $Result = $Consulta -> fetch(); $numeroDeLinhas = $Consulta -> rowCount(); if ($numeroDeLinhas > 0) { $valor = isset($valor_pago) && $valor_pago !== '' ? $valor_pago : $Result->valor; $comandoSQL = "UPDATE sis_lanc SET coletor = :coletor, valorpag = :valorpag, datapag = now(), status = 'pago', formapag = :formapag WHERE uuid_lanc = :titulo AND status <> 'pago';"; $rotinaSQL = DB::prepare($comandoSQL); $rotinaSQL -> bindParam('coletor', $coletor); $rotinaSQL -> bindParam('valorpag', $valor); $rotinaSQL -> bindParam('formapag', $formapag); $rotinaSQL -> bindParam('titulo', $titulo); $rotinaSQL -> execute(); $numeroDeLinhas = $rotinaSQL -> rowCount(); if ($numeroDeLinhas > 0) { $comandoSQLInsert = "INSERT INTO sis_caixa (uuid_caixa, usuario, data, historico, entrada, tipomov, planodecontas) VALUES (uuid(), :coletor, now(), 'Recebimento do titulo $Result->id via API / $Result->login ', :valorpag, 'aut', 'Outros');"; $rotinaSQLInsert = DB::prepare($comandoSQLInsert); $rotinaSQLInsert->bindParam('valorpag', $valor); $rotinaSQLInsert->bindParam('coletor', $coletor); $rotinaSQLInsert->execute(); echo json_encode(array('status' => 'sucesso', 'mensagem' => 'Registro fechado com sucesso', 'dados' => $data)); } else { echo json_encode(array('status' => 'erro', 'mensagem' => 'Registro não encontrado')); } } else { echo json_encode(array('status' => 'erro', 'mensagem' => 'Registro não encontrado')); } } public function put_estornar($data) { $titulo = $data->uuid; $usuario = isset($data->usuario) && $data->usuario !== '' ? $data->usuario : 'API'; $consultaSQL = "SELECT id, valorpag, login FROM sis_lanc WHERE uuid_lanc = :titulo"; $Consulta = DB::prepare($consultaSQL); $Consulta -> bindParam('titulo', $titulo); $Consulta -> execute(); $Result = $Consulta -> fetch(); $numeroDeLinhas = $Consulta -> rowCount(); if ($numeroDeLinhas > 0) { $comandoSQL = "UPDATE sis_lanc SET datapag = null, status = 'aberto', valorpag = null WHERE uuid_lanc = :titulo AND status = 'pago';"; $rotinaSQL = DB::prepare($comandoSQL); $rotinaSQL -> bindParam('titulo', $titulo); $rotinaSQL -> execute(); $numeroDeLinhas = $rotinaSQL -> rowCount(); if ($numeroDeLinhas > 0) { $comandoCaixa = "INSERT INTO sis_caixa (uuid_caixa, usuario, data, historico, saida, tipomov, planodecontas) VALUES (uuid(), :usuario, now(), 'Titulo $Result->id estornado via API / $Result->login', $Result->valorpag, 'aut', 'Outros')"; $rotinaSQLInsert = DB::prepare($comandoCaixa); $rotinaSQLInsert->bindParam('usuario', $usuario); $rotinaSQLInsert->execute(); echo json_encode(array('status' => 'sucesso', 'mensagem' => 'Registro estornado com sucesso', 'dados' => $data)); } else { echo json_encode(array('status' => 'erro', 'mensagem' => 'Registro não encontrado')); } } else { echo json_encode(array('status' => 'erro', 'mensagem' => 'Registro não encontrado')); } } public function delete_id($key) { $comandoSQL = 'DELETE FROM sis_lanc WHERE uuid_lanc = :uuid'; $rotinaSQL = DB::prepare($comandoSQL); $rotinaSQL -> bindParam('uuid', $key); $rotinaSQL -> execute(); $numeroDeLinhas = $rotinaSQL -> rowCount(); if ($numeroDeLinhas > 0) { echo json_encode(array('status' => 'sucesso', 'mensagem' => 'Registro excluido com sucesso')); } else { echo json_encode(array('status' => 'erro', 'mensagem' => 'Registro não encontrado')); } } }