| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- const { BuscaFatura } = require("../Modules/saperx/circuitos");
- const IxcFactory = require("../core/ixc/Ixc.factory");
- const SaperxFactory = require("../core/saperx/Saperx.factory");
- const { Cdr } = require("../models/Cdr.model");
- const { Ramais } = require("../models/Ramais.model");
- module.exports = {
- Token: async function (req, res) {
- const { month_bill, id_sip } = req.body;
- await SaperxFactory.RefreshToken();
- res.json({ ok: "ok" });
- },
- BuscaPorIDs: async function (req, res) {
- var { busca } = req.body;
- // Use .query() para começar uma nova consulta
- const query = Ramais.query()
- .withGraphFetched("did")
- .withGraphFetched("ramais_franquias")
- .withGraphFetched("plano_franquia");
- // Use .orWhere para adicionar as condições "like" nas colunas id, circuito e numero da tabela did
- query.joinRelated("did").whereIn("ramais.id", busca);
- // Execute a consulta e envie a resposta quando terminar
- try {
- const ramais = await query;
- res.json({ ramais });
- } catch (error) {
- console.error(error);
- res.status(500).json({ error: "Ocorreu um erro ao buscar os ramais." });
- }
- },
- BuscaCircuitos: async function (req, res) {
- var { busca } = req.body;
- // Use .query() para começar uma nova consulta
- const query = Ramais.query()
- .withGraphFetched("did")
- .withGraphFetched("ramais_franquias");
- // Use .orWhere para adicionar as condições "like" nas colunas id, circuito e numero da tabela did
- query
- .joinRelated("did")
- .orWhere("ramais.id", "like", `%${busca}%`)
- .orWhere("ramais.nome", "like", `%${busca}%`)
- .orWhere("ramais.ramal", "like", `%${busca}%`)
- .orWhere("did.numero", "like", `%${busca}%`).groupBy('ramais.id').limit(100);
- // Execute a consulta e envie a resposta quando terminar
- try {
- const ramais = await query;
- res.json({ ramais });
- } catch (error) {
- console.error(error);
- res.status(500).json({ error: "Ocorreu um erro ao buscar os ramais." });
- }
- },
- VerCircuitos: async function (req, res) {
- var { busca } = req.body;
- // Use .query() para começar uma nova consulta
- const query = Ramais.query()
- .withGraphFetched("did")
- .withGraphFetched("ramais_franquias");
- // Use .orWhere para adicionar as condições "like" nas colunas id, circuito e numero da tabela did
- query
- .joinRelated("did")
- .orWhere("ramais.id", busca)
- .orWhere("ramais.nome", busca)
- .orWhere("ramais.ramal", busca)
- .orWhere("did.numero", busca);
- // Execute a consulta e envie a resposta quando terminar
- try {
- const ramais = await query;
- res.json({ ramais });
- } catch (error) {
- console.error(error);
- res.status(500).json({ error: "Ocorreu um erro ao buscar os ramais." });
- }
- },
- Circuitos: async function (req, res) {
- try {
- let { IdCliente } = req.body;
- if (!IdCliente) {
- return res.status(401).send({ msg: "Informacoes faltando!" });
- }
- var dados = await IxcFactory.BuscaTelefonia(IdCliente);
- var { id_sip } = dados.circuitos[2];
- var dados = await SaperxFactory.Buscacircuitos(id_sip);
- res.json({ dados });
- } catch (error) {
- console.log(error);
- return res.status();
- }
- },
- Fatura: async function (req, res) {
- const { month_bill, id_sip } = req.body;
- var dados = await BuscaFatura(id_sip, month_bill);
- res.json({ ok: "ok", dados: dados });
- },
- Cdr: async function (req, res) {
- const { month_bill, id_sip } = req.body;
- var dados = Cdr.query()
- .where("channel","like","%8009007%")
- //.where("sentido", "S")
- .orderBy("id", "desc")
- .limit(100)
- .then((cdr) => {
- cdr.map((cdrss) => {
-
- cdrss.src = cdrss.src.toString("utf8")
- cdrss.log = cdrss.log.toString("utf8")
- });
- return res.send(cdr);
- });
- //res.json({ ok: "ok", dados: dados });
- },
- };
|