ZoeApi/controllers/studentController.js

315 lines
16 KiB
JavaScript

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;