585 lines
24 KiB
JavaScript
585 lines
24 KiB
JavaScript
require('../connector');
|
|
const express = require('express');
|
|
const router = express.Router();
|
|
|
|
var routes = function () {
|
|
|
|
//#region LOGIN
|
|
|
|
router.post('/login', function(req, res) {
|
|
const usuario = req.body.usuario;
|
|
const senha = req.body.senha;
|
|
ExecuteQueryPriorie(`select * from usuarios where usuario = '${usuario}' and senha = '${senha}' and habilitado = 1;`, req, res);
|
|
});
|
|
|
|
//#endregion
|
|
|
|
//#region USUARIOS
|
|
|
|
router.post('/cadastrarUsuario', function(req, res) {
|
|
const idusuarios = parseInt(req.body.idusuarios);
|
|
const iddepartamentos = req.body.iddepartamentos;
|
|
const nome = req.body.nome;
|
|
const usuario = req.body.usuario;
|
|
const senha = req.body.senha;
|
|
const habilitado = req.body.habilitado ? 1 : 0;
|
|
const email = req.body.email;
|
|
ExecuteQueryPriorie(`insert into usuarios (iddepartamentos, nome, senha, usuario, habilitado, email) values
|
|
(${iddepartamentos}, '${nome}', '${senha}', '${usuario}', ${habilitado}, '${email}');`, req, res);
|
|
});
|
|
|
|
router.patch('/atualizarUsuario', function(req, res) {
|
|
const idusuarios = parseInt(req.body.idusuarios);
|
|
const iddepartamentos = parseInt(req.body.iddepartamentos);
|
|
const nome = req.body.nome;
|
|
const usuario = req.body.usuario;
|
|
const senha = req.body.senha;
|
|
const habilitado = req.body.habilitado ? 1 : 0;
|
|
const email = req.body.email;
|
|
ExecuteQueryPriorie(`update usuarios set
|
|
iddepartamentos = ${iddepartamentos},
|
|
nome = '${nome}',
|
|
senha = '${senha}',
|
|
usuario = '${usuario}',
|
|
habilitado = ${habilitado},
|
|
email = '${email}'
|
|
where idusuarios = ${idusuarios};`, req, res);
|
|
});
|
|
|
|
router.delete('/removerUsuario/:idusuarios', function(req, res) {
|
|
const idusuarios = parseInt(req.params.idusuarios);
|
|
ExecuteQueryPriorie(`delete from usuarios
|
|
where idusuarios = ${idusuarios};`, req, res);
|
|
});
|
|
|
|
router.get('/getAllUsuarios', function(req, res) {
|
|
ExecuteQueryPriorie(`select
|
|
us.* ,
|
|
dp.descricao as 'departamento'
|
|
from usuarios us
|
|
inner join departamentos dp on dp.iddepartamentos = us.iddepartamentos
|
|
order by nome asc;`, req, res);
|
|
});
|
|
|
|
router.get('/getUsuariosEnabled', function(req, res) {
|
|
ExecuteQueryPriorie(`select * from usuarios where habilitado = 1;`, req, res);
|
|
});
|
|
|
|
router.get('/getUsuario/:idusuarios', function(req, res) {
|
|
const idusuarios = parseInt(req.params.idusuarios);
|
|
ExecuteQueryPriorie(`select * from usuarios
|
|
where idusuarios = ${idusuarios};`, req, res);
|
|
});
|
|
|
|
//#endregion
|
|
|
|
//#region TAREFAS
|
|
|
|
router.post('/cadastrarTarefa', function(req, res) {
|
|
const idtarefas = parseInt(req.body.idtarefas);
|
|
const criadapor = parseInt(req.body.criadapor);
|
|
const descricao = fixApostrofe(req.body.descricao);
|
|
const idprojetos = parseInt(req.body.idprojetos);
|
|
const idtopicos = parseInt(req.body.idtopicos);
|
|
const idstatus = parseInt(req.body.idstatus);
|
|
const idtipotarefa = parseInt(req.body.idtipotarefa);
|
|
const previsaoinicio = req.body.previsaoinicio;
|
|
const iniciadoem = req.body.iniciadoem;
|
|
const previsaotermino = req.body.previsaotermino;
|
|
const concluidoem = req.body.concluidoem;
|
|
const prioridade = parseInt(req.body.prioridade);
|
|
const observacao = fixApostrofe(req.body.observacao);
|
|
ExecuteQueryPriorie(`insert into tarefas (criadapor, descricao, idprojetos, idtopicos, idstatus, idtipotarefa, ${(previsaoinicio) ? 'previsaoinicio,' : ''} ${(iniciadoem) ? 'iniciadoem,' : ''} ${(previsaotermino) ? 'previsaotermino,' : ''} ${(concluidoem) ? 'concluidoem,' : ''} prioridade, observacao) values
|
|
(${criadapor}, '${descricao}', ${idprojetos}, ${idtopicos}, ${idstatus}, ${idtipotarefa}, ${(previsaoinicio) ? "'" + previsaoinicio + "'," : ''} ${(iniciadoem) ? "'" + iniciadoem + "'," : ''} ${(previsaotermino) ? "'" + previsaotermino + "'," : ''} ${(concluidoem) ? "'" + concluidoem + "'," : ''} ${prioridade}, '${observacao}');`, req, res);
|
|
});
|
|
|
|
router.patch('/atualizarTarefa', function(req, res) {
|
|
const idtarefas = parseInt(req.body.idtarefas);
|
|
const criadapor = parseInt(req.body.criadapor);
|
|
const descricao = fixApostrofe(req.body.descricao);
|
|
const idprojetos = parseInt(req.body.idprojetos);
|
|
const idtopicos = parseInt(req.body.idtopicos);
|
|
const idstatus = parseInt(req.body.idstatus);
|
|
const idtipotarefa = parseInt(req.body.idtipotarefa);
|
|
const previsaoinicio = req.body.previsaoinicio;
|
|
const iniciadoem = req.body.iniciadoem;
|
|
const previsaotermino = req.body.previsaotermino;
|
|
const concluidoem = req.body.concluidoem;
|
|
const prioridade = parseInt(req.body.prioridade);
|
|
const observacao = fixApostrofe(req.body.observacao);
|
|
ExecuteQueryPriorie(`update tarefas set
|
|
criadapor = ${criadapor},
|
|
descricao = '${descricao}',
|
|
idprojetos = ${idprojetos},
|
|
idtopicos = ${idtopicos},
|
|
idstatus = ${idstatus},
|
|
idtipotarefa = ${idtipotarefa},
|
|
${(previsaoinicio) ? "previsaoinicio = '" + previsaoinicio + "',": ''}
|
|
${(iniciadoem) ? "iniciadoem = '" + iniciadoem + "',": ''}
|
|
${(previsaotermino) ? "previsaotermino = '" + previsaotermino + "',": ''}
|
|
${(concluidoem) ? "concluidoem = '" + concluidoem + "',": ''}
|
|
prioridade = ${prioridade},
|
|
observacao = '${observacao}'
|
|
where idtarefas = ${idtarefas};`, req, res, function(Status) {
|
|
if (Status == 200 && idstatus == 4) {
|
|
const SQLDados = `select
|
|
A.*,
|
|
us.nome as 'Gerente',
|
|
us.email as 'EmailGerente',
|
|
us2.nome
|
|
from (select distinct
|
|
ta.idtarefas,
|
|
date_format(ta.concluidoem, '%d/%m/%Y') as 'ConcluidaEm',
|
|
dm.idusuarios,
|
|
pr.descricao as 'Projeto',
|
|
tp.descricao as 'Topico',
|
|
ta.descricao as 'Tarefa'
|
|
from tarefas ta
|
|
inner join projetos pr on pr.idprojetos = ta.idprojetos
|
|
inner join topicos tp on tp.idtopicos = ta.idtopicos
|
|
inner join departamentosmembros dm on dm.iddepartamentos = pr.iddepartamentos
|
|
inner join usuarios us on us.iddepartamentos = dm.iddepartamentos and dm.gestor = 1
|
|
where ta.idtarefas = ${idtarefas}) A
|
|
inner join usuarios us on us.idusuarios = A.idusuarios
|
|
inner join projetosmembros pm on pm.idtarefas = A.idtarefas
|
|
inner join usuarios us2 on us2.idusuarios = pm.idusuarios;`;
|
|
connection.query(SQLDados, function(error, Dados, fields) {
|
|
if (Dados && Dados[0]['EmailGerente'] != "" && Dados[0]['EmailGerente'] != null) {
|
|
let Membros = "";
|
|
for (let i = 0; i < Dados.length; i++) {
|
|
if (i > 0)
|
|
Membros += ", ";
|
|
Membros += Dados[i]['nome'];
|
|
}
|
|
const Mensagem = `Olá ${Dados[0]['Gerente']}!<br>
|
|
Uma tarefa do projeto ${Dados[0]['Projeto']} foi marcada com concluída:<br><br>
|
|
Projeto: ${Dados[0]['Projeto']}<br>
|
|
Tópico: ${Dados[0]['Topico']}<br>
|
|
Tarefa: ${Dados[0]['Tarefa']}<br>
|
|
Data de Conclusão: ${Dados[0]['ConcluidaEm']}<br>
|
|
Membros: ${Membros}<br><br>
|
|
Acesse o sistema para conferir!<br><br>
|
|
<a href="http://priorie.mooo.com/login">Clique aqui para acessar o sistema</a>`;
|
|
EnviarEmail(Mensagem, "Tarefa Concluída", Dados[0]['EmailGerente']);
|
|
}
|
|
});
|
|
}
|
|
});
|
|
});
|
|
|
|
router.delete('/removerTarefa/:idtarefas', function(req, res) {
|
|
const idtarefas = parseInt(req.params.idtarefas);
|
|
ExecuteQueryPriorie(`delete from tarefas
|
|
where idtarefas = ${idtarefas};`, req, res);
|
|
});
|
|
|
|
router.get('/getAllTarefas', function(req, res) {
|
|
ExecuteQueryPriorie(`select * from tarefas;`, req, res);
|
|
});
|
|
|
|
router.get('/getTarefa/:idtarefas', function(req, res) {
|
|
const idtarefas = parseInt(req.params.idtarefas);
|
|
ExecuteQueryPriorie(`select * from tarefas
|
|
where idtarefas = ${idtarefas};`, req, res);
|
|
});
|
|
|
|
router.get('/getTarefasUsuario/:idusuarios/:iddepartamentos/:IdsStatus/:idprojetos/:idtopicos', function(req, res) {
|
|
const idusuarios = parseInt(req.params.idusuarios);
|
|
const iddepartamentos = parseInt(req.params.iddepartamentos);
|
|
const idprojetos = parseInt(req.params.idprojetos);
|
|
const idtopicos = parseInt(req.params.idtopicos);
|
|
const IdsStatus = req.params.IdsStatus;
|
|
|
|
let Condicao = `pr.iddepartamentos = ${iddepartamentos} /*${(idusuarios == 0) ? 'or' : 'and'}*/and ((`;
|
|
if (idusuarios == 0)
|
|
Condicao += `pm.idusuarios in (select distinct dm.idusuarios from departamentosmembros dm where dm.iddepartamentos = ${iddepartamentos})`;
|
|
else
|
|
Condicao += "pm.idusuarios = " + idusuarios;
|
|
Condicao += " and st.idstatus in " + IdsStatus;
|
|
if (idprojetos > 0)
|
|
Condicao += " and ta.idprojetos = " + idprojetos;
|
|
if (idtopicos > 0)
|
|
Condicao += " and ta.idtopicos = " + idtopicos;
|
|
if (IdsStatus.includes("100")) {
|
|
//Condicao += `) or (0 = (select count(*) from projetosmembros pm1 where pm1.idtarefas = ta.idtarefas)${(idprojetos > 0) ? ' and ta.idprojetos = ' + idprojetos : ''}))`;
|
|
Condicao += `) or (0 = (select count(*) from projetosmembros pm1 inner join tarefas ta1 on ta1.idtarefas = pm1.idtarefas inner join projetos pr1 on pr1.idprojetos = ta1.idprojetos where pm1.idtarefas = ta.idtarefas)${(idprojetos > 0) ? ' and ta.idprojetos = ' + idprojetos : ''}))`;
|
|
}
|
|
else
|
|
Condicao += "))";
|
|
let sqlQuery = `select
|
|
A.*,
|
|
GROUP_CONCAT(us.nome SEPARATOR ', ') as 'Membros',
|
|
GROUP_CONCAT(us.idusuarios SEPARATOR ',') as 'MembrosIDs'
|
|
from (
|
|
SELECT distinct
|
|
ta.idtarefas,
|
|
ta.descricao,
|
|
ta.criadapor,
|
|
(select us2.nome from usuarios us2 where us2.idusuarios = ta.criadapor) as 'criadapor_d',
|
|
ta.idprojetos,
|
|
pr.descricao as 'projeto',
|
|
pr.iddepartamentos,
|
|
ta.idtopicos,
|
|
tp.descricao as 'topico',
|
|
ta.idstatus,
|
|
ta.idstatus as 'idstatus_c',
|
|
st.descricao as 'status',
|
|
st.prioridade as 'prioridade_s',
|
|
st.color,
|
|
st.background,
|
|
ta.idtipotarefa,
|
|
tt.descricao as 'tipotarefa',
|
|
ta.previsaoinicio,
|
|
ta.iniciadoem,
|
|
ta.previsaotermino,
|
|
ta.concluidoem,
|
|
ta.prioridade,
|
|
pd.descricao as 'prioridade_d',
|
|
ta.observacao,
|
|
date_format(ta.insert_date, '%d/%m/%Y %H:%i') as 'insert_date',
|
|
(select count(*) from projetosmembros pm2 where pm2.idtarefas = ta.idtarefas) as 'QtdMembros'
|
|
FROM tarefas ta
|
|
inner join projetos pr on pr.idprojetos = ta.idprojetos
|
|
inner join topicos tp on tp.idtopicos = ta.idtopicos
|
|
inner join status st on st.idstatus = ta.idstatus
|
|
inner join tipotarefa tt on tt.idtipotarefa = ta.idtipotarefa
|
|
left join projetosmembros pm on pm.idtarefas = ta.idtarefas
|
|
inner join prioridades pd on pd.prioridade = ta.prioridade
|
|
where ${Condicao}) A
|
|
left join projetosmembros pm on pm.idtarefas = A.idtarefas
|
|
left join usuarios us on us.idusuarios = pm.idusuarios
|
|
group by A.idtarefas
|
|
order by A.prioridade_s desc, A.prioridade asc, A.idtipotarefa asc;`;
|
|
//console.log(sqlQuery);
|
|
ExecuteQueryPriorie(sqlQuery, req, res);
|
|
});
|
|
|
|
router.get('/getMembrosTarefa/:idtarefas', function(req, res) {
|
|
const idtarefas = parseInt(req.params.idtarefas);
|
|
ExecuteQueryPriorie(`SELECT
|
|
pm.idprojetosmembros,
|
|
pm.idusuarios,
|
|
pm.idtarefas,
|
|
us.nome
|
|
FROM projetosmembros pm
|
|
left join usuarios us on us.idusuarios = pm.idusuarios
|
|
where pm.idtarefas = ${idtarefas};`, req, res);
|
|
});
|
|
|
|
router.delete('/removerMembroTarefa/:idtarefas/:idusuarios', function(req, res) {
|
|
const idtarefas = parseInt(req.params.idtarefas);
|
|
const idusuarios = parseInt(req.params.idusuarios);
|
|
ExecuteQueryPriorie(`delete from projetosmembros
|
|
where idtarefas = ${idtarefas} and idusuarios = ${idusuarios};`, req, res);
|
|
});
|
|
|
|
router.post('/cadastrarTarefaMembros', function(req, res) {
|
|
const idtarefas = parseInt(req.body.idtarefas);
|
|
const idusuarios = parseInt(req.body.idusuarios);
|
|
ExecuteQueryPriorie(`insert into projetosmembros (idusuarios, idtarefas)
|
|
values (${idusuarios}, ${idtarefas});`, req, res, function(Status, idprojetosmembros) {
|
|
if (Status != 200) {
|
|
return;
|
|
}
|
|
const SQLDados = `select
|
|
pm.idusuarios,
|
|
us.nome,
|
|
us.email,
|
|
pr.descricao as 'Projeto',
|
|
tp.descricao as 'Topico',
|
|
ta.descricao as 'Tarefa',
|
|
date_format(ta.previsaoinicio, '%d/%m/%Y') as 'Inicio',
|
|
date_format(ta.previsaotermino, '%d/%m/%Y') as 'Previsao',
|
|
pd.descricao as 'Prioridade',
|
|
dp.descricao as 'Departamento'
|
|
from projetosmembros pm
|
|
inner join tarefas ta on ta.idtarefas = pm.idtarefas
|
|
inner join projetos pr on pr.idprojetos = ta.idprojetos
|
|
inner join topicos tp on tp.idtopicos = ta.idtopicos
|
|
inner join prioridades pd on pd.prioridade = ta.prioridade
|
|
inner join usuarios us on us.idusuarios = pm.idusuarios
|
|
inner join departamentos dp on dp.iddepartamentos = pr.iddepartamentos
|
|
where idprojetosmembros = ${idprojetosmembros};`;
|
|
connection.query(SQLDados, function(error, Dados, fields) {
|
|
if (Dados && Dados[0]['email'] != "" && Dados[0]['email'] != null) {
|
|
const Mensagem = `Olá ${Dados[0]['nome']}!<br>
|
|
Você tem uma nova tarefa atribuída no sistema Priorie para o departamento ${Dados[0]['Departamento']}:<br><br>
|
|
Projeto: ${Dados[0]['Projeto']}<br>
|
|
Tópico: ${Dados[0]['Topico']}<br>
|
|
Tarefa: ${Dados[0]['Tarefa']}<br>
|
|
Prioridade: ${Dados[0]['Prioridade']}<br>
|
|
Previsão de início: ${Dados[0]['Inicio']}<br>
|
|
Previsão de término: ${Dados[0]['Previsao']}<br><br>
|
|
Acesse o sistema para conferir!<br><br>
|
|
<a href="http://priorie.mooo.com/login">Clique aqui para acessar o sistema</a>`;
|
|
EnviarEmail(Mensagem, "Nova Tarefa Atribuída", Dados[0]['email']);
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
router.get('/getTarefasPorMembro/:IdsStatus/:idprojetos/:idtopicos', function(req, res) {
|
|
const IdsStatus = req.params.IdsStatus;
|
|
const idprojetos = parseInt(req.params.idprojetos);
|
|
const idtopicos = parseInt(req.params.idtopicos);
|
|
let Condicao = "";
|
|
if (idprojetos > 0)
|
|
Condicao += " and ta.idprojetos = " + idprojetos;
|
|
if (idtopicos > 0)
|
|
Condicao += " and ta.idtopicos = " + idtopicos;
|
|
ExecuteQueryPriorie(`SELECT
|
|
pm.idusuarios,
|
|
pr.iddepartamentos,
|
|
ta.idstatus,
|
|
count(*) as 'QtdeTarefas'
|
|
FROM projetosmembros pm
|
|
inner join tarefas ta on ta.idtarefas = pm.idtarefas
|
|
inner join projetos pr on pr.idprojetos = ta.idprojetos
|
|
where ta.idstatus in ${IdsStatus}${Condicao}
|
|
group by pr.iddepartamentos, pm.idusuarios, ta.idstatus;`, req, res);
|
|
});
|
|
|
|
|
|
//#endregion
|
|
|
|
//#region STATUS
|
|
|
|
router.get('/getAllStatus', function(req, res) {
|
|
ExecuteQueryPriorie(`select * from status;`, req, res);
|
|
});
|
|
|
|
//#endregion
|
|
|
|
//#region DEPARTAMENTOS
|
|
|
|
router.get('/getAllDepartamentos', function(req, res) {
|
|
ExecuteQueryPriorie(`SELECT * from departamentos order by descricao asc;`, req, res);
|
|
});
|
|
|
|
router.get('/getDepartamento/:iddepartamentos', function(req, res) {
|
|
const iddepartamentos = parseInt(req.params.iddepartamentos);
|
|
ExecuteQueryPriorie(`SELECT * from departamentos where iddepartamentos = ${iddepartamentos} order by descricao asc;`, req, res);
|
|
});
|
|
|
|
router.get('/getDepartamentosMembro/:idusuarios', function(req, res) {
|
|
const idusuarios = parseInt(req.params.idusuarios);
|
|
ExecuteQueryPriorie(`select * from departamentosmembros where idusuarios = ${idusuarios};`, req, res);
|
|
});
|
|
|
|
router.get('/getDepMembroDetalhe/:idusuarios', function(req, res) {
|
|
const idusuarios = parseInt(req.params.idusuarios);
|
|
ExecuteQueryPriorie(`SELECT
|
|
dm.iddepartamentosmembros,
|
|
dm.idusuarios,
|
|
us.nome,
|
|
us.iddepartamentos as 'iddepartamentos_u',
|
|
dm.iddepartamentos,
|
|
dp.descricao,
|
|
dm.gestor,
|
|
dm.permitecadastro
|
|
FROM departamentosmembros dm
|
|
inner join usuarios us on us.idusuarios = dm.idusuarios
|
|
inner join departamentos dp on dp.iddepartamentos = dm.iddepartamentos
|
|
where dm.idusuarios = ${idusuarios}
|
|
order by us.nome asc;`, req, res);
|
|
});
|
|
|
|
router.get('/getMemborsDepartamento/:iddepartamentos', function(req, res) {
|
|
const iddepartamentos = parseInt(req.params.iddepartamentos);
|
|
ExecuteQueryPriorie(`SELECT
|
|
dm.iddepartamentosmembros,
|
|
dm.idusuarios,
|
|
us.nome,
|
|
us.iddepartamentos as 'iddepartamentos_u',
|
|
dm.iddepartamentos,
|
|
dp.descricao,
|
|
dm.gestor,
|
|
dm.permitecadastro
|
|
FROM departamentosmembros dm
|
|
inner join usuarios us on us.idusuarios = dm.idusuarios
|
|
inner join departamentos dp on dp.iddepartamentos = dm.iddepartamentos
|
|
where dm.iddepartamentos = ${iddepartamentos}
|
|
order by us.nome asc;`, req, res);
|
|
});
|
|
|
|
|
|
router.post('/cadastrarDepMembro', function(req, res) {
|
|
const iddepartamentosmembros = parseInt(req.body.iddepartamentosmembros);
|
|
const idusuarios = parseInt(req.body.idusuarios);
|
|
const iddepartamentos = parseInt(req.body.iddepartamentos);
|
|
const gestor = req.body.gestor ? 1 : 0;
|
|
const permitecadastro = req.body.permitecadastro ? 1 : 0;
|
|
ExecuteQueryPriorie(`insert into departamentosmembros (idusuarios, iddepartamentos, gestor, permitecadastro)
|
|
values (${idusuarios}, ${iddepartamentos}, ${gestor}, ${permitecadastro});`, req, res);
|
|
});
|
|
|
|
router.patch('/atualizarDepMembro', function(req, res) {
|
|
const iddepartamentosmembros = parseInt(req.body.iddepartamentosmembros);
|
|
const idusuarios = parseInt(req.body.idusuarios);
|
|
const iddepartamentos = parseInt(req.body.iddepartamentos);
|
|
const gestor = req.body.gestor ? 1 : 0;
|
|
const permitecadastro = req.body.permitecadastro ? 1 : 0;
|
|
ExecuteQueryPriorie(`update departamentosmembros set
|
|
idusuarios = ${idusuarios},
|
|
iddepartamentos = ${iddepartamentos},
|
|
gestpr = ${gestor},
|
|
permitecadastro = ${permitecadastro}
|
|
where idtopicos = ${idtopicos};`, req, res);
|
|
});
|
|
|
|
router.delete('/removerDepMembro/:iddepartamentosmembros', function(req, res) {
|
|
const iddepartamentosmembros = parseInt(req.params.iddepartamentosmembros);
|
|
ExecuteQueryPriorie(`delete from departamentosmembros
|
|
where iddepartamentosmembros = ${iddepartamentosmembros};`, req, res);
|
|
});
|
|
|
|
|
|
//#endregion
|
|
|
|
//#region PROJETOS
|
|
|
|
router.post('/cadastrarProjeto', function(req, res) {
|
|
const idprojetos = parseInt(req.body.idprojetos);
|
|
const iddepartamentos = parseInt(req.body.iddepartamentos);
|
|
const descricao = fixApostrofe(req.body.descricao);
|
|
ExecuteQueryPriorie(`insert into projetos (iddepartamentos, descricao) values
|
|
(${iddepartamentos}, '${descricao}');`, req, res);
|
|
});
|
|
|
|
router.patch('/atualizarProjeto', function(req, res) {
|
|
const idprojetos = parseInt(req.body.idprojetos);
|
|
const iddepartamentos = parseInt(req.body.iddepartamentos);
|
|
const descricao = fixApostrofe(req.body.descricao);
|
|
ExecuteQueryPriorie(`update projetos set
|
|
iddepartamentos = ${iddepartamentos},
|
|
descricao = '${descricao}'
|
|
where idprojetos = ${idprojetos};`, req, res);
|
|
});
|
|
|
|
router.delete('/removerProjeto/:idprojetos', function(req, res) {
|
|
const idprojetos = parseInt(req.params.idprojetos);
|
|
ExecuteQueryPriorie(`delete from projetos
|
|
where idprojetos = ${idprojetos};`, req, res);
|
|
});
|
|
|
|
router.get('/getAllProjetos', function(req, res) {
|
|
ExecuteQueryPriorie(`select * from projetos;`, req, res);
|
|
});
|
|
|
|
router.get('/getProjetosDepartamento/:iddepartamentos', function(req, res) {
|
|
const iddepartamentos = parseInt(req.params.iddepartamentos);
|
|
ExecuteQueryPriorie(`select * from projetos where iddepartamentos = ${iddepartamentos} order by descricao asc;`, req, res);
|
|
});
|
|
|
|
router.get('/getAllTiposTarefas', function(req, res) {
|
|
ExecuteQueryPriorie(`select * from tipotarefa;`, req, res);
|
|
});
|
|
|
|
//#endregion
|
|
|
|
//#region TOPICOS
|
|
|
|
router.post('/cadastrarTopico', function(req, res) {
|
|
const idtopicos = parseInt(req.body.idtopicos);
|
|
const idprojetos = parseInt(req.body.idprojetos);
|
|
const descricao = fixApostrofe(req.body.descricao);
|
|
ExecuteQueryPriorie(`insert into topicos (idprojetos, descricao) values
|
|
(${idprojetos}, '${descricao}');`, req, res);
|
|
});
|
|
|
|
router.patch('/atualizarTopico', function(req, res) {
|
|
const idtopicos = parseInt(req.body.idtopicos);
|
|
const idprojetos = parseInt(req.body.idprojetos);
|
|
const descricao = fixApostrofe(req.body.descricao);
|
|
ExecuteQueryPriorie(`update topicos set
|
|
idprojetos = ${idprojetos},
|
|
descricao = '${descricao}'
|
|
where idtopicos = ${idtopicos};`, req, res);
|
|
});
|
|
|
|
router.delete('/removerTopico/:idtopicos', function(req, res) {
|
|
const idtopicos = parseInt(req.params.idtopicos);
|
|
ExecuteQueryPriorie(`delete from topicos
|
|
where idtopicos = ${idtopicos};`, req, res);
|
|
});
|
|
|
|
router.get('/getAllTopicos', function(req, res) {
|
|
ExecuteQueryPriorie(`select * from topicos;`, req, res);
|
|
});
|
|
|
|
router.get('/getTopico/:idtopicos', function(req, res) {
|
|
const idtopicos = parseInt(req.params.idtopicos);
|
|
ExecuteQueryPriorie(`select * from topicos where idtopicos = ${idtopicos} order by descricao asc;`, req, res);
|
|
});
|
|
|
|
router.get('/getAllTopicosTarefa/:idprojetos', function(req, res) {
|
|
const idprojetos = parseInt(req.params.idprojetos);
|
|
ExecuteQueryPriorie(`select * from topicos where idprojetos = ${idprojetos} order by descricao asc;`, req, res);
|
|
});
|
|
|
|
//#endregion
|
|
|
|
//#region PRIORIDADES
|
|
|
|
router.get('/getAllPrioridades', function(req, res) {
|
|
ExecuteQueryPriorie(`select * from prioridades;`, req, res);
|
|
});
|
|
|
|
//#endregion
|
|
|
|
//#region ENVIO DE NOTIFICACOES
|
|
|
|
const nodemailer = require('nodemailer');
|
|
const transporter = nodemailer.createTransport({
|
|
service: 'gmail',
|
|
auth: {
|
|
user: "zendioninc.contato@gmail.com",
|
|
pass: "gmailzendioninc",
|
|
}
|
|
});
|
|
/*var transporter = nodemailer.createTransport({
|
|
host: "email-ssl.com.br",
|
|
port: 465,
|
|
secure: true,
|
|
auth: {
|
|
user: 'staff@myrobot.com.br',
|
|
pass: 'stAff66**'
|
|
}
|
|
});*/
|
|
|
|
function EnviarEmail(Mensagem, Assunto, Email) {
|
|
var mailOptions = {
|
|
from: '"Zendion, INC" <zendioninc.contato@gmail.com>',
|
|
to: Email,
|
|
subject: Assunto,
|
|
html: Mensagem
|
|
};
|
|
transporter.sendMail(mailOptions, function (error, info) {
|
|
if (error) {
|
|
console.log("Erro ao enviar e-mail para: " + mailOptions.to);
|
|
console.log(error);
|
|
}
|
|
else {
|
|
console.log('Email enviado com sucesso para: ' + mailOptions.to + ' - ' + info.response);
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
//#endregion
|
|
|
|
//#region FUNCOES
|
|
|
|
function fixApostrofe(content) {
|
|
for (let i = 0; i < 20; i++) {
|
|
content = content.replace("'", ''');
|
|
}
|
|
return content;
|
|
}
|
|
|
|
//#endregion
|
|
|
|
return router;
|
|
}
|
|
|
|
module.exports = routes; |