120 lines
2.2 KiB
JavaScript
120 lines
2.2 KiB
JavaScript
const pool = require('../../../database/mysql');
|
|
|
|
function extrairIdUsuarioLogado(usuario) {
|
|
return (
|
|
usuario?.idusuarios ||
|
|
usuario?.idusuario ||
|
|
usuario?.id ||
|
|
usuario?.userId ||
|
|
null
|
|
);
|
|
}
|
|
|
|
async function listarBancos() {
|
|
const [rows] = await pool.query(
|
|
`
|
|
SELECT
|
|
b.idbancos AS id,
|
|
b.idbancos,
|
|
b.descricao AS banco_descricao,
|
|
u.idusuarios,
|
|
u.nome AS usuario_nome,
|
|
CONCAT(
|
|
COALESCE(u.nome, 'Usuário sem nome'),
|
|
' - ',
|
|
b.descricao
|
|
) AS descricao,
|
|
b.saldo,
|
|
b.debito,
|
|
b.investimento,
|
|
b.dia_vencimento
|
|
FROM bancos b
|
|
LEFT JOIN usuarios u
|
|
ON u.idusuarios = b.idusuarios
|
|
WHERE b.habilitado = 1
|
|
ORDER BY
|
|
COALESCE(u.nome, 'Usuário sem nome') ASC,
|
|
b.descricao ASC
|
|
`
|
|
);
|
|
|
|
return rows;
|
|
}
|
|
|
|
async function listarMeusBancos(usuarioLogado) {
|
|
const idUsuario = extrairIdUsuarioLogado(usuarioLogado);
|
|
|
|
if (!idUsuario) {
|
|
const error = new Error('Usuário logado não identificado.');
|
|
error.statusCode = 401;
|
|
throw error;
|
|
}
|
|
|
|
const [rows] = await pool.query(
|
|
`
|
|
SELECT
|
|
b.idbancos AS id,
|
|
b.idbancos,
|
|
b.descricao AS banco_descricao,
|
|
b.descricao,
|
|
b.saldo,
|
|
b.debito,
|
|
b.investimento,
|
|
b.dia_vencimento
|
|
FROM bancos b
|
|
WHERE b.habilitado = 1
|
|
AND b.idusuarios = ?
|
|
ORDER BY
|
|
b.descricao ASC
|
|
`,
|
|
[idUsuario]
|
|
);
|
|
|
|
return rows;
|
|
}
|
|
|
|
async function listarCentrosCusto() {
|
|
const [rows] = await pool.query(
|
|
`
|
|
SELECT
|
|
idcentrodecustos AS id,
|
|
descricao,
|
|
limite,
|
|
simular,
|
|
investimento
|
|
FROM centrodecustos
|
|
WHERE habilitado = 1
|
|
ORDER BY descricao ASC
|
|
`
|
|
);
|
|
|
|
return rows;
|
|
}
|
|
|
|
async function listarClientes() {
|
|
const [rows] = await pool.query(
|
|
`
|
|
SELECT
|
|
idclientes AS id,
|
|
cpf_cnpj,
|
|
nome,
|
|
celular,
|
|
email,
|
|
cidade,
|
|
estado,
|
|
pessoafisica
|
|
FROM clientes
|
|
WHERE habilitado = 1
|
|
ORDER BY nome ASC
|
|
`
|
|
);
|
|
|
|
return rows;
|
|
}
|
|
|
|
module.exports = {
|
|
listarBancos,
|
|
listarMeusBancos,
|
|
listarCentrosCusto,
|
|
listarClientes,
|
|
}; |