You are on page 1of 23

Allan Kenny Sac Tzirin 201808009

RUTAS
const pool = require('./conexion')
const ruteador = app=>{
//alimentos
app.get('/menu', (request, response)=>{
pool.query('SELECT * FROM PRODUCTOS',(error, result)=>{
if(error) throw error
response.send(result)
})
})

app.get('/menu/:id', (request, response)=>{


pool.query('SELECT * FROM PRODUCTOS WHERE ID_Producto = ?', request.
params.id,(error, result)=>{
if(error) throw error
response.send(result)
})
})

app.post('/menu', (request, response)=>{


let consulta = 'INSERT INTO PRODUCTOS (Codigo, Nombre, Descripcion,
Precio) VALUES (?,?,?,?)'
pool.query(consulta,[request.body.codigo,request.body.nombre,request
.body.describe,request.body.precio],(error,result)=>{
if(error) throw error
response.status(201).send('Comida ingresada exitosamente')
})
})

app.put('/menu/:id', (request, response)=>{


let id = request.params.id
let consulta = 'UPDATE PRODUCTOS SET Codigo = ?, Nombre = ?, Descri
pcion = ?, Precio = ? WHERE ID_Producto = ?'
pool.query(consulta,[request.body.codigo,request.body.nombre,request
.body.describe,request.body.precio,id],(error,result)=>{
if(error) throw error
response.status(201).send('Comida actualizada exitosamente')
})
})

app.delete('/menu/:id', (request, response)=>{


let id = request.params.id
let consulta = 'DELETE FROM PRODUCTOS WHERE ID_Producto = ?'
pool.query(consulta,id,(error,result)=>{
if(error) throw error
response.status(201).send('Comida eliminada exitosamente')
})
})

//clientes
app.get('/clientes', (request, response)=>{
pool.query('SELECT * FROM PERSONAS',(error, result)=>{
if(error) throw error
response.send(result)
})
})

app.get('/clientes/:id', (request, response)=>{


pool.query('SELECT * FROM PERSONAS WHERE ID_Persona = ?', request.pa
rams.id,(error, result)=>{
if(error) throw error
response.send(result)
})
})

app.post('/clientes', (request, response)=>{


let consulta = 'INSERT INTO PERSONAS (Nombre, NIT) VALUES (?,?)'
pool.query(consulta,[request.body.nombre,request.body.nit],(error,re
sult)=>{
if(error) throw error
response.status(201).send('Cliente ingresado exitosamente')
})
})

app.put('/clientes/:id', (request, response)=>{


let id = request.params.id
let consulta = 'UPDATE PERSONAS SET Nombre = ?, NIT = ? WHERE ID_P
ersona = ?'
pool.query(consulta,[request.body.nombre,request.body.nit,id],(error
,result)=>{
if(error) throw error
response.status(201).send('Cliente actualizado exitosamente')
})
})

app.delete('/clientes/:id', (request, response)=>{


let id = request.params.id
let consulta = 'DELETE FROM PERSONAS WHERE ID_Persona = ?'
pool.query(consulta,id,(error,result)=>{
if(error) throw error
response.status(201).send('Cliente eliminado exitosamente')
})
})

//pedidos
app.get('/compras', (request, response)=>{
pool.query('SELECT * FROM COMPRAS',(error, result)=>{
if(error) throw error
response.send(result)
})
})

app.get('/compras/:id', (request, response)=>{


pool.query('SELECT * FROM COMPRAS WHERE ID_Compra = ?', request.para
ms.id,(error, result)=>{
if(error) throw error
response.send(result)
})
})

app.post('/compras', (request, response)=>{


let consulta = 'INSERT INTO COMPRAS (Id_Per, Fecha, Total) VALUES (?
,?,?)'
pool.query(consulta,[request.body.idper,request.body.fecha,request.b
ody.total],(error,result)=>{
if(error) throw error
response.status(201).send('Compra creada exitosamente')
})
})

app.put('/compras/:id', (request, response)=>{


let id = request.params.id
let consulta = 'UPDATE COMPRAS SET Id_Per = ?, Fecha = ?, Total =
? WHERE ID_Compra = ?'
pool.query(consulta,[request.body.idper,request.body.fecha,request.b
ody.total,id],(error,result)=>{
if(error) throw error
response.status(201).send('Compra actualizada exitosamente')
})
})
app.delete('/compras/:id', (request, response)=>{
let id = request.params.id
let consulta = 'DELETE FROM COMPRAS WHERE ID_Compra = ?'
pool.query(consulta,id,(error,result)=>{
if(error) throw error
response.status(201).send('Compra eliminada exitosamente')
})
})

//detalle
app.get('/detalle', (request, response)=>{
pool.query('SELECT * FROM DETALLE_COMPRAS',(error, result)=>{
if(error) throw error
response.send(result)
})
})

app.get('/detalle/:id', (request, response)=>{


pool.query('SELECT * FROM DETALLE_COMPRAS WHERE ID_Detalle = ?', req
uest.params.id,(error, result)=>{
if(error) throw error
response.send(result)
})
})

app.post('/detalle', (request, response)=>{


let precio = 0
pool.query('SELECT * FROM PRODUCTOS WHERE ID_Producto = ?', request.
body.idprod,(error, result)=>{
if(error) throw error
let x = JSON.stringify(result)
let d = JSON.parse(x)
precio = d[0]['Precio']
let costoped = precio * request.body.cantidad
let consulta = 'INSERT INTO DETALLE_COMPRAS (Id_Ped, Id_Prod, Ca
ntidad, Total) VALUES (?,?,?,?)'
pool.query(consulta,[request.body.idped,request.body.idprod,requ
est.body.cantidad,costoped],(error,result)=>{
if(error) throw error
pool.query('SELECT * FROM COMPRAS WHERE ID_Compra = ?', requ
est.body.idped,(error, result)=>{
if(error) throw error
let a = JSON.stringify(result)
let b = JSON.parse(a)
let agregar = 0
agregar = b[0]['Total']
let nuevo = agregar + costoped
let id_c = request.body.idped
let consulta2 = 'UPDATE COMPRAS SET Total = ? WHERE ID_
Compra = ?'
pool.query(consulta2,[nuevo,id_c],(error,result)=>{
if(error) throw error
response.status(201).send('Detalle añadido al pedido')
})
})
})
})
})

app.put('/detalle/:id', (request, response)=>{


let id = request.params.id
let consulta = 'UPDATE DETALLE_COMPRAS SET Id_Ped = ?, Id_Prod = ?
, Cantidad = ?, Total = ? WHERE ID_Detalle = ?'
pool.query(consulta,[request.body.idped,request.body.idprod,request.
body.cantidad,request.body.total,id],(error,result)=>{
if(error) throw error
response.status(201).send('Detalle actualizado exitosamente')
})
})

app.delete('/detalle/:id', (request, response)=>{


pool.query('SELECT * FROM DETALLE_COMPRAS WHERE ID_Detalle = ?', req
uest.params.id,(error, result)=>{
if(error) throw error
let a = JSON.stringify(result)
let b = JSON.parse(a)
let quitar = 0
quitar = b[0]['Total']
let idcompra = 0
idcompra = b[0]['Id_Ped']
pool.query('DELETE FROM DETALLE_COMPRAS WHERE ID_Detalle = ?',re
quest.params.id,(error,result)=>{
if(error) throw error
pool.query('SELECT * FROM COMPRAS WHERE ID_Compra = ?', idcompra
,(error, result)=>{
if(error) throw error
let c = JSON.stringify(result)
let d = JSON.parse(c)
let precioactual = 0
precioactual = d[0]['Total']
let nuevo = precioactual - quitar
let consulta2 = 'UPDATE COMPRAS SET Total = ? WHERE ID_Comp
ra = ?'
pool.query(consulta2,[nuevo,idcompra],(error,result)=>{
if(error) throw error
response.status(201).send('Detalle removido del pedido con é
xitos')
})
})
})
})
})
}

module.exports = ruteador

Diagrama Base de Datos


La base de datos la cree migrando modelos que cree en laravel, utilizo las tablas personas,
productos, compras y detalle compras, compras esta conectada al id de persona mientras que
detalle compras esta asociada al id de compras y también al id de producto
Capturas
Clientes
Antes

INSERT
Después:

Select
Select con ID

Update
Delete

Base de datos actualizada (ver la hora)


Productos
Base al inicio

Select
Select con ID

INSERT
UPDATE

BASE CON LOS DATOS


DELETE

Compras (Factura)
Select
Select con ID

INSERT
UPDATE

BASE ANTES DE BORRAR


DELETE

Detalle de compra
Base al inicio
Select

Select con ID
INSERT (Esta función también actualiza la compra con la que esté conectada y es capaz de
calcular sola el precio total de los artículos

BASE SIN ACTUALIZAR


AL REFRESCAR (VER TOTAL)
DELETE
UPDATE

You might also like