Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
"ejs": "^2.6.1",
"express": "5.1.0",
"express-validator": "7.2.1",
"fast-csv": "^5.0.5",
"handlebars": "^4.7.8",
"jsonwebtoken": "9.0.2",
"knex": "2.5.1",
Expand Down
3 changes: 1 addition & 2 deletions src/controllers/fichas-tombos-controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ function formataDataSaida(data) {

export default function fichaTomboController(request, response, next) {
const { tombo_id: tomboId } = request.params;
const { qtd, code } = request.query;
const { qtd } = request.query;

if (qtd < 1) {
Promise.reject(new Error('Quantidade inválida'));
Expand Down Expand Up @@ -259,7 +259,6 @@ export default function fichaTomboController(request, response, next) {
romano_data_identificacao: romanoDataIdentificacao,
romano_data_coleta: romanoDataColeta,
numero_copias: qtd || 1,
codigo_barras_selecionado: code,
};

const caminhoArquivoHtml = path.resolve(__dirname, '../views/ficha-tombo.ejs');
Expand Down
117 changes: 3 additions & 114 deletions src/controllers/locais-coleta-controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import models from '../models';
import codigos from '../resources/codigos-http';

const {
Relevo, Solo, Vegetacao, LocalColeta, Cidade, FaseSucessional, Estado, Pais, sequelize,
Relevo, Solo, Vegetacao, LocalColeta, Cidade, FaseSucessional, sequelize,
} = models;

export const cadastrarSolo = (request, response, next) => {
Expand Down Expand Up @@ -134,7 +134,7 @@ export const cadastrarLocalColeta = async (request, response, next) => {

export const buscarLocaisColeta = async (request, response, next) => {
try {
const { cidade_id: cidadeId } = request.query;
const { cidadeId } = request.query;
const { limite, pagina, offset } = request.paginacao;

const where = {};
Expand All @@ -145,15 +145,7 @@ export const buscarLocaisColeta = async (request, response, next) => {
const { count, rows } = await LocalColeta.findAndCountAll({
where,
include: [
{ model: Cidade,
include: [
{ model: Estado,
include: [
Pais,
],
},
],
},
{ model: Cidade },
{ model: FaseSucessional },
],
limit: limite,
Expand All @@ -173,107 +165,4 @@ export const buscarLocaisColeta = async (request, response, next) => {
}
};

export const buscarLocalColetaPorId = async (request, response, next) => {
try {
const { id } = request.params;

const localColeta = await LocalColeta.findOne({
where: { id },
include: [
{ model: Cidade,
include: [
{ model: Estado,
include: [
Pais,
],
},
],
},
{ model: FaseSucessional },
],
});

if (!localColeta) {
response.status(404).json({
mensagem: 'Local de coleta não encontrado.',
});
return;
}

response.status(200).json(localColeta);
} catch (error) {
next(error);
}
};

export const atualizarLocalColeta = async (request, response, next) => {
try {
const { id } = request.params;
const dados = pick(request.body, ['descricao', 'complemento', 'cidade_id', 'fase_sucessional_id']);

const [updated] = await LocalColeta.update(dados, {
where: { id },
});

if (updated === 0) {
response.status(404).json({
mensagem: 'Local de coleta não encontrado.',
});
return;
}

const localColetaAtualizado = await LocalColeta.findOne({
where: { id },
include: [
{ model: Cidade },
{ model: FaseSucessional },
],
});

response.status(200).json(localColetaAtualizado);
} catch (error) {
next(error);
}
};

export const deletarLocalColeta = async (request, response, next) => {
try {
const { id } = request.params;

const localColeta = await LocalColeta.findOne({
where: { id },
});

if (!localColeta) {
response.status(404).json({
mensagem: 'Local de coleta não encontrado.',
});
return;
}

const { Tombo } = models;
const tombosAssociados = await Tombo.count({
where: {
local_coleta_id: id,
ativo: true,
},
});

if (tombosAssociados > 0) {
response.status(400).json({
mensagem: `Não é possível excluir o local de coleta. Existem ${tombosAssociados} tombo(s) associado(s) a este local.`,
});
return;
}

await LocalColeta.destroy({
where: { id },
});

response.status(204).send();

} catch (error) {
next(error);
}
};
export default {};
Loading