require("../connections/mysql-server"); require("../connections/sql-server"); require("../helpers/CheckToken"); const express = require("express"); const router = express.Router(); const bodyParser = require("body-parser"); router.use(bodyParser.urlencoded({ extended: true })); router.use(bodyParser.json()); const sqlServer = function (sqlQry) { return new Promise((resolve, reject) => { sqlServerConnection .request() .query(sqlQry, function (error, Result, fields) { let Retorno = []; if (error) { Retorno = { status: 500, error: error, response: [] }; console.log(error); return reject(error); } else { resolve(Result); } }); }); }; var routes = function () { router.get("/getAllStudent", (req, res) => { execSQLQuery( `SELECT * FROM agenda;`, res, req.originalUrl ); }); router.post("/insertStudent/:banco", (req, res) => { const db = req.params.banco; console.log(db, "banco de dado"); let { nome, senha, IdUnidade, IdCurso, idFuncionario } = req.body; senha = encriptPassword(senha); console.log([nome, senha, IdUnidade, IdCurso]); let sqlQry = `SELECT MAX([IDCliente]) as 'lastClientId' FROM ${db}[Clientes];`; console.log(sqlQry); sqlServerConnection .request() .query(sqlQry, function (error, IdClientResult, fields) { let Retorno = []; if (error || IdClientResult.length == 0) { Retorno = { status: 500, error: error, response: [] }; return res.send(JSON.stringify(Retorno)); } else { let { lastClientId } = IdClientResult.recordsets[0][0]; console.log(lastClientId); let newClientId = lastClientId + 1; let sqlInsertClient = `INSERT INTO ${db}[Clientes] (IDCliente, IDUnidade, Nome, PessoaFisica, SenhaIntranet) VALUES (${newClientId}, ${IdUnidade}, '${nome}', 1, '${senha}');`; console.log("antes da segunda"); console.log(sqlInsertClient); sqlServerConnection .request() .query( sqlInsertClient, function (error, cadastroClientResult, fields) { console.log("dentro da segunda"); if (error) { Retorno = { status: 500, error: error, response: [] }; return res.send(JSON.stringify(Retorno)); } else { let sqlLastTurmaId = `(SELECT MAX([IdTurma]) as lastTurmaId FROM ${db}[Turmas])`; sqlServerConnection .request() .query( sqlLastTurmaId, function (error, IdTurmarResult, fields) { console.log("dentro da quinta"); let Retorno = []; if (error || IdTurmarResult.length == 0) { Retorno = { status: 500, error: error, response: [], }; return res.send(JSON.stringify(Retorno)); } else { let { lastTurmaId } = IdTurmarResult.recordsets[0][0]; console.log(lastTurmaId); let newTurmaId = lastTurmaId + 1; let sqlInsertTurma = `INSERT INTO ${db}[Turmas] (IdTurma, Codigo, Nome, DataInicio, DataTermino, HorarioRegular, Domingo, Segunda, Terca, Quarta, Quinta, Sexta, Sabado, Cancelada, Suspensa, IgnoraFerias, ServeCafe, ValorHoraAula, SequenciaRotativa, BloqueadaVenda, CursosParalelos, ForcarDataFinal, IDFuncionario) Values (${newTurmaId}, '230PYCO000', '${nome}', getDate(), dateadd(yy, 1, getdate()), 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ${idFuncionario});`; console.log(sqlInsertTurma); sqlServerConnection .request() .query( sqlInsertTurma, function (error, CadastroTurmaResult, fields) { console.log("dentro da sexta"); let Retorno = []; if (error) { Retorno = { status: 500, error: error, response: [], }; return res.send(JSON.stringify(Retorno)); } else { let sqlLastMatriculaId = `SELECT MAX([IDMatricula]) as 'lastMatriculaId' FROM ${db}[Matriculas];`; sqlServerConnection .request() .query( sqlLastMatriculaId, function ( error, IdMatriculaResult, fields ) { console.log("dentro da terceira"); let Retorno = []; if ( error || IdMatriculaResult.length == 0 ) { Retorno = { status: 500, error: error, response: [], }; return res.send( JSON.stringify(Retorno) ); } else { let { lastMatriculaId } = IdMatriculaResult.recordsets[0][0]; console.log(lastMatriculaId); let newMatriculaId = lastMatriculaId + 1; let sqlIsertMatricula = `INSERT INTO ${db}[Matriculas] (IDMatricula, IDUnidade, CodigoTurma, ContratoImpresso, Certificado, Folha, CartasBoasVindas, DescontoDiferencial, DescontoPontualidade, UsaPerDescPontualidade) values (${newMatriculaId}, ${IdUnidade}, ${newTurmaId}, 0, 0, 0, 0, 0, 0, 0);`; console.log(sqlIsertMatricula); sqlServerConnection .request() .query( sqlIsertMatricula, function ( error, CadMatriculasResult, fields ) { console.log("dentro da quarta"); let Retorno = []; if (error) { Retorno = { status: 500, error: error, response: [], }; return res.send( JSON.stringify(Retorno) ); } else { let sqlInsertMatriculaCursos = `insert into ${db}[MatriculasCursos] (IDMatricula, IDCurso, CodigoTurma, Gratis, MaterialImbutido) values (${newMatriculaId}, ${IdCurso}, ${newTurmaId}, 0, 1);`; sqlServerConnection .request() .query( sqlInsertMatriculaCursos, function ( error, CadastroMatriculaCursoResult, fields ) { let Retorno = []; if (error) { Retorno = { status: 500, error: error, response: [], }; return res.send( JSON.stringify( Retorno ) ); } else { let sqlInsertTreinandoTurmas = ` Insert Into ${db}[TreinandosTurmas] (IDMatricula, IDTreinando, IDCurso, CodigoTurma, Concluiu, Desistente, Faltoso, EmitiuCertificado, RecebeuMaterial, Aprovado) Values (${newMatriculaId}, ${newClientId}, ${IdCurso}, ${newTurmaId}, 0, 0, 0, 0, 0, 0);`; sqlServerConnection .request() .query( sqlInsertTreinandoTurmas, function ( error, CadastroMatriculaCursoResult, fields ) { let Retorno = []; if (error) { Retorno = { status: 500, error: error, response: [], }; return res.send( JSON.stringify( Retorno ) ); } else { return res.send( JSON.stringify( { mensage: "Aluno matriculado com sucesso", matricula: newMatriculaId, idturma: newTurmaId, } ) ); } } ); } } ); } } ); } } ); } } ); } } ); } } ); } }); }); router.post("/editStudent", (req, res) => { const id = req.body.id; const title = req.body.title; const date = req.body.date; const hour = req.body.hour; const duration = req.body.duration; const description = req.body.description; const access = req.body.access; execSQLQuery( ` UPDATE agenda SET title='${title}', date='${date}', hour='2021-01-01T${hour}', duration='${duration}', description='${description}', access='${access}' WHERE (idagenda = '${id}')`, res, req.originalUrl ); }); router.post("/deleteStudent", (req, res) => { const id = req.body.id; execSQLQuery( ` DELETE FROM agenda WHERE (idagenda = '${id}')`, res, req.originalUrl ); }); router.post("/insertTurmaCalendarioChamada/:banco", async (req, res) => { const db = req.params.banco; const { IDCurso, IDTurma, IDFuncionario, numeroDeAulas } = req.body; console.log(IDCurso, IDTurma, IDFuncionario, numeroDeAulas); let sqlQry = `insert into ${db}[TurmasCalendario] (IdTurmasCalendario, IdTurma, CodigoCurso, CodigoInstrutor, Data, HoraInicial, HoraFinal, Ministrado, PesquisaOpiniao ) values((select max(IdTurmasCalendario) from ${db}[TurmasCalendario]) + 1, ${IDTurma}, ${IDCurso}, ${IDFuncionario}, getDate(), getDate(), getDate(), 0, 0 )`; console.log(sqlQry); let infos = []; for (let i = 0; i < numeroDeAulas; i++) { try { let result = await sqlServer(sqlQry); console.log(result); console.log("cadastrei papai"); setTimeout(() => {}, 1000); console.log(`cadastro ${i}`); } catch (error) { console.log(error); } } console.log(infos); // return res.send( // JSON.stringify({ // message: "InseridoAulasChamadas", // }) // ); }); return router; }; module.exports = routes;