Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rfc2 #18

Closed
wants to merge 78 commits into from
Closed

Rfc2 #18

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
09051d2
Creación Entidades
vanjk Sep 18, 2024
d0adc54
Merge pull request #1 from MonDragoNJU/vanesaperrona
vanjk Sep 18, 2024
e63c12d
atributosBodega
AnaHernandez20 Sep 18, 2024
b9daa50
entidad Bodega
AnaHernandez20 Sep 18, 2024
c00dcfe
entidad orden de compra
AnaHernandez20 Sep 18, 2024
6ab575c
Mis entidades xd
vanjk Sep 18, 2024
1727964
no se subieron las entidades en el anterior
vanjk Sep 18, 2024
a4914db
Había un error XD
vanjk Sep 18, 2024
cef3309
cambiosFinalesEntidades
AnaHernandez20 Sep 18, 2024
d7268e4
siwi
MonDragoNJU Sep 18, 2024
1c4b838
Merge pull request #2 from MonDragoNJU/vanesaperrona
vanjk Sep 18, 2024
8c5f469
Merge pull request #3 from MonDragoNJU/MisEntidades
MonDragoNJU Sep 18, 2024
b340a1e
Merge branch 'main' into laRacha
AnaHernandez20 Sep 18, 2024
2dec5be
Merge pull request #4 from MonDragoNJU/laRacha
AnaHernandez20 Sep 18, 2024
8efc2f8
cambioVersion
AnaHernandez20 Sep 18, 2024
30938ac
Cambios hasta Producto
MonDragoNJU Sep 18, 2024
51f85a5
Merge branch 'main' of https://github.com/MonDragoNJU/ProyectoSuperAlpes
MonDragoNJU Sep 18, 2024
daed1fb
Entidades completadas
MonDragoNJU Sep 18, 2024
b1d9e4c
carpetaRepositorio
AnaHernandez20 Sep 18, 2024
250d9e0
Merge branch 'main' of https://github.com/MonDragoNJU/ProyectoSuperAlpes
AnaHernandez20 Sep 18, 2024
844bcc1
tamanio
AnaHernandez20 Sep 18, 2024
d7e0932
AVANCES BODEGA
AnaHernandez20 Sep 18, 2024
a751652
SucursalRepository
AnaHernandez20 Sep 18, 2024
b85b59a
ProveedorRepository
AnaHernandez20 Sep 18, 2024
ef7097e
CategoriaRepository
AnaHernandez20 Sep 18, 2024
f76982e
cambiosProveedorRepo
AnaHernandez20 Sep 20, 2024
24d3f92
cambiosRepositories
AnaHernandez20 Sep 20, 2024
a1ceac0
Merge pull request #6 from MonDragoNJU/repositoriesAnie
AnaHernandez20 Sep 20, 2024
177d7cf
cambiosController
AnaHernandez20 Sep 20, 2024
9ffc091
ciudadController
AnaHernandez20 Sep 20, 2024
7c65c42
ciudadController
AnaHernandez20 Sep 20, 2024
7094884
sucursalController + correcciones
AnaHernandez20 Sep 20, 2024
3f9a8ce
bodega controller
AnaHernandez20 Sep 20, 2024
3c42b0d
proveedorController + correcciones
AnaHernandez20 Sep 20, 2024
a31ed9f
categoriaController
AnaHernandez20 Sep 20, 2024
92f888c
controllers
AnaHernandez20 Sep 21, 2024
1c4bf66
Merge pull request #7 from MonDragoNJU/controllers-Anie
AnaHernandez20 Sep 21, 2024
2bb2407
NIT
AnaHernandez20 Sep 21, 2024
3ca40be
Bug fix proveedor query
MonDragoNJU Sep 21, 2024
c168466
nit
AnaHernandez20 Sep 21, 2024
f79ec3c
bug fix secuencia sucursal
AnaHernandez20 Sep 21, 2024
b8d56c1
acomodar sucursalGuardar
AnaHernandez20 Sep 21, 2024
9e5ab4d
deleteMapping
AnaHernandez20 Sep 21, 2024
1a66513
deleteMappingFinal
AnaHernandez20 Sep 21, 2024
872f9f9
eliminarCategoria
AnaHernandez20 Sep 21, 2024
84dfc38
Reqs básicos faltantes (6, 7, 8 y 9)
vanjk Sep 27, 2024
80d0754
Merge pull request #8 from MonDragoNJU/vanesaperrona
MonDragoNJU Sep 28, 2024
2aaf6bc
cambios en Producto Repository
AnaHernandez20 Sep 28, 2024
8171744
siwi
MonDragoNJU Sep 28, 2024
f7e95c4
bugfix OrdenDeCompra
AnaHernandez20 Sep 28, 2024
4b460ba
siwi
MonDragoNJU Sep 28, 2024
2f40f90
tkystrxdf
MonDragoNJU Sep 28, 2024
427ba83
Merge pull request #9 from MonDragoNJU/Somoselmiawer
MonDragoNJU Sep 28, 2024
0e0f424
bufix tilde fecha_creacion
AnaHernandez20 Sep 28, 2024
4152063
Merge branch 'main' of https://github.com/MonDragoNJU/ProyectoSuperAlpes
AnaHernandez20 Sep 28, 2024
5ac0775
ooo
MonDragoNJU Sep 28, 2024
8159011
Merge branch 'main' of https://github.com/MonDragoNJU/ProyectoSuperAlpes
MonDragoNJU Sep 28, 2024
d3ca223
bugfix id_sucursal
AnaHernandez20 Sep 28, 2024
d7393cc
bugfix ordenes de compra
AnaHernandez20 Sep 28, 2024
5d1edb2
ordendecompra
MonDragoNJU Sep 28, 2024
72ede37
Merge branch 'main' of https://github.com/MonDragoNJU/ProyectoSuperAlpes
MonDragoNJU Sep 28, 2024
b03c343
miau
MonDragoNJU Sep 28, 2024
a6ec012
bugfix producto controller
AnaHernandez20 Sep 28, 2024
40d2be4
bugfix productoRepository
AnaHernandez20 Sep 28, 2024
c366621
djjdjdjd
MonDragoNJU Sep 28, 2024
a11e15d
Merge branch 'main' of https://github.com/MonDragoNJU/ProyectoSuperAlpes
MonDragoNJU Sep 28, 2024
1647c5d
bog fix ordendecompra
MonDragoNJU Sep 28, 2024
aaf9980
bugfix OrdenDeCompraController
AnaHernandez20 Sep 28, 2024
af5f46f
bugfix Producto
AnaHernandez20 Sep 28, 2024
d7485b4
Bug fix OrdenesDeCompra uf
MonDragoNJU Sep 28, 2024
1f86e37
Bog fix ENTREGADA
MonDragoNJU Sep 28, 2024
db39f5d
Bug fix Anulada
MonDragoNJU Sep 28, 2024
bff9600
bugfix porcentajeOcupacion
AnaHernandez20 Sep 28, 2024
5aeb884
bugfix final bodeja req
AnaHernandez20 Sep 28, 2024
3360f1f
cambiosFinales
AnaHernandez20 Sep 28, 2024
b02469e
Req4 avanzado funciona
MonDragoNJU Sep 28, 2024
e9ca62a
siwi
MonDragoNJU Sep 29, 2024
a08f731
lolol
MonDragoNJU Sep 29, 2024
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
14 changes: 14 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"configurations": [
{
"type": "java",
"name": "Spring Boot-ProyectoApplication<proyecto>",
"request": "launch",
"cwd": "${workspaceFolder}",
"mainClass": "uniandes.edu.co.proyecto.ProyectoApplication",
"projectName": "proyecto",
"args": "",
"envFile": "${workspaceFolder}/.env"
}
]
}
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"java.debug.settings.onBuildFailureProceed": true
}
1 change: 0 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>19.3.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package uniandes.edu.co.proyecto;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ProyectoApplication {

@SpringBootApplication
public class ProyectoApplication{

public static void main(String[] args) {
SpringApplication.run(ProyectoApplication.class, args);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
package uniandes.edu.co.proyecto.controller;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import uniandes.edu.co.proyecto.modelo.Bodega;
import uniandes.edu.co.proyecto.repositorio.BodegaRepository;


@RestController
public class BodegaController {

@Autowired
private BodegaRepository bodegaRepository;

@GetMapping("/bodegas")
public Collection<Bodega> bodegas(){
return bodegaRepository.darBodegas();
}

//Este no dicen como hacerlo xd
@GetMapping("/bodegas/{id}")
public ResponseEntity<Bodega> obtenerBodega(@PathVariable int id){

Bodega bodega = bodegaRepository.darBodega(id);

//Devolver si existe :)
if (bodega != null) {
return new ResponseEntity<>(bodega, HttpStatus.OK);
} else {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
}

@PostMapping("/bodegas/new/save")
public ResponseEntity<String> bodegaGuardar(@RequestBody Bodega bodega){

try{
bodegaRepository.insertarBodega(bodega.getNombre(), bodega.getTamanio(), bodega.getCapacidad(), bodega.getIdSucursal().getId());
return new ResponseEntity<>("Bodega creada exitosamente", HttpStatus.CREATED);
}
catch (Exception e){
return new ResponseEntity<>("Error al crear la bodega", HttpStatus.INTERNAL_SERVER_ERROR);
}
}

@DeleteMapping("/bodegas/{id}/delete")
public ResponseEntity<String> bodegaEliminar(@PathVariable("id") int id) {

bodegaRepository.eliminarBodega(id);
return new ResponseEntity<>("Bodega eliminada exitosamente", HttpStatus.OK);
}

@GetMapping("/bodegas/ocupacion")
public Collection<Map<String, Object>> obtenerOcupacionBodegas(
@RequestParam Integer idSucursalU,
@RequestParam Collection<Integer> listaProductosU) {
Collection<Object[]> resultado = bodegaRepository.obtenerOcupacionBodegas(idSucursalU, listaProductosU);

// Convertir los resultados en una colección de Map<String, Object> para mayor claridad en el retorno.
Collection<Map<String, Object>> ocupacionBodegas = new ArrayList<>();
for (Object[] fila : resultado) {
Map<String, Object> bodega = new HashMap<>();
bodega.put("id", fila[0]);
bodega.put("nombre", fila[1]);
bodega.put("porcentajeOcupacion", fila[2]);
ocupacionBodegas.add(bodega);
}
return ocupacionBodegas;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package uniandes.edu.co.proyecto.controller;

import java.util.Collection;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import uniandes.edu.co.proyecto.modelo.Categoria;
import uniandes.edu.co.proyecto.repositorio.CategoriaRepository;

@RestController
public class CategoriaController {

@Autowired
private CategoriaRepository categoriaRepository;


@GetMapping("/categorias")
public Collection<Categoria> categoria(){
return categoriaRepository.darCategorias();
}

//Este no dicen como hacerlo xd
@GetMapping("/categorias/{codigo}")
public ResponseEntity<Categoria> obtenerCategoria(@PathVariable int codigo){
Categoria categoria = categoriaRepository.darCategoria(codigo);

//Devolver si existe :)
if (categoria != null) {
return new ResponseEntity<>(categoria, HttpStatus.OK);
} else {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
}

@PostMapping("/categorias/new/save")
public ResponseEntity<String> categoriaGuardar(@RequestBody Categoria categoria){

try{
categoriaRepository.insertarCategoria(categoria.getNombre(), categoria.getDescripcion(), categoria.getCaracteristicasAlmacenamiento());
return new ResponseEntity<>("Categoria creada exitosamente", HttpStatus.CREATED);
}
catch (Exception e){
return new ResponseEntity<>("Error al crear la categoria", HttpStatus.INTERNAL_SERVER_ERROR);
}
}

@DeleteMapping("/categorias/{codigo}/delete")
public ResponseEntity<String> categoriaEliminar(@PathVariable("codigo") int codigo) {

categoriaRepository.eliminarCategoria(codigo);
return new ResponseEntity<>("Categoria eliminada exitosamente", HttpStatus.OK);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package uniandes.edu.co.proyecto.controller;

import java.util.Collection;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import uniandes.edu.co.proyecto.modelo.Ciudad;
import uniandes.edu.co.proyecto.repositorio.CiudadRepository;


@RestController
public class CiudadController {

@Autowired
private CiudadRepository ciudadRepository;

@GetMapping("/ciudades")
public Collection<Ciudad> ciudades(){
return ciudadRepository.darCiudades();
}

//Este no dicen como hacerlo xd
@GetMapping("/ciudades/{codigo}")
public ResponseEntity<Ciudad> obtenerCiudad(@PathVariable int codigo){

Ciudad ciudad = ciudadRepository.darCiudad(codigo);

//Devolver si existe :)
if (ciudad != null) {
return new ResponseEntity<>(ciudad, HttpStatus.OK);
} else {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
}

@PostMapping("/ciudades/new/save")
public ResponseEntity<String> ciudadGuardar(@RequestBody Ciudad ciudad){

try{
ciudadRepository.insertarCiudad(ciudad.getNombre());
return new ResponseEntity<>("Ciudad creada exitosamente", HttpStatus.CREATED);
}
catch (Exception e){
return new ResponseEntity<>("Error al crear la ciudad", HttpStatus.INTERNAL_SERVER_ERROR);
}
}




}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package uniandes.edu.co.proyecto.controller;
import java.time.LocalDate;
import java.util.Collection;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import uniandes.edu.co.proyecto.modelo.OrdenDeCompra;
import uniandes.edu.co.proyecto.repositorio.OrdenDeCompraRepository;

@RestController
public class OrdenDeCompraController {

@Autowired
private OrdenDeCompraRepository ordenDeCompraRepository;

// REVISAAAAR XD ESTE ES EL RF7
@PostMapping("/ordenesDeCompra/new/save")
public ResponseEntity<String> ordenDeCompraGuardar(@RequestBody OrdenDeCompra ordenDeCompra) {
try {
ordenDeCompraRepository.insertarOrdenDeCompra(
ordenDeCompra.getFechaEntrega(),
"VIGENTE",
LocalDate.now(),
ordenDeCompra.getIdSucursal().getId(),
ordenDeCompra.getNitProveedor().getNit()
);
return new ResponseEntity<>("Orden de compra creada exitosamente", HttpStatus.CREATED);
} catch (Exception e) {
return new ResponseEntity<>("Error al crear la orden de compra", HttpStatus.INTERNAL_SERVER_ERROR);
}
}

// REVISAAAAR XD ESTE ES EL RF8
@PostMapping("/ordenesDeCompra/{numero}/edit/save")
public ResponseEntity<String> ordenDeCompraEditarGuardar(@PathVariable Integer numero) {
OrdenDeCompra orden = ordenDeCompraRepository.darOrdenDeCompra(numero);
if (orden != null && "VIGENTE".equals(orden.getEstado())) {
ordenDeCompraRepository.actualizarEstadoOrdenDeCompra(numero, "ANULADA");
return new ResponseEntity<>("Orden de compra anulada exitosamente", HttpStatus.OK);
} else if (orden != null && "ENTREGADA".equals(orden.getEstado())) {
return new ResponseEntity<>("No se puede anular una orden de compra entregada", HttpStatus.BAD_REQUEST);
} else if (orden != null && "ANULADA".equals(orden.getEstado())) {
return new ResponseEntity<>("La orden de compra ya se encuentra anulada", HttpStatus.BAD_REQUEST);
}
else {
return new ResponseEntity<>("Orden de compra no encontrada", HttpStatus.NOT_FOUND);
}
}

// Este si debe estar bien pero no sé, revisen pliss, es el RF9
@GetMapping("/ordenesDeCompra")
public Collection<OrdenDeCompra> ordenesDeCompra() {
return ordenDeCompraRepository.darOrdenesDeCompra();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
package uniandes.edu.co.proyecto.controller;

import java.util.Collection;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import uniandes.edu.co.proyecto.modelo.Producto;
import uniandes.edu.co.proyecto.repositorio.ProductoRepository;
import org.springframework.web.bind.annotation.RequestParam;


@RestController
public class ProductoController {

@Autowired
private ProductoRepository productoRepository;


@GetMapping("/productos")
public Collection<Producto> producto(){
return productoRepository.darProductos();
}

//Este no dicen como hacerlo xd
@GetMapping("/productos/{identificador}")
public ResponseEntity<Producto> obtenerProducto(@PathVariable int identificador){
Producto producto = productoRepository.darProducto(identificador);

//Devolver si existe :)
if (producto != null) {
return new ResponseEntity<>(producto, HttpStatus.OK);
} else {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
}

@PostMapping("/productos/new/save")
public ResponseEntity<String> productoGuardar(@RequestBody Producto producto){

try{
productoRepository.insertarProducto(producto.getNombre(), producto.getCostoEnBodega(), producto.getPresentacion(), producto.getCantidadPresentacion(), producto.getUnidadMedida(), producto.getVolumenEmpaque(), producto.getPesoEmpaque(), producto.getFechaExpiracion(), producto.getCodigoDeBarras(), producto.getClasificacionCategoria().getCodigo());
return new ResponseEntity<>("Producto creado exitosamente", HttpStatus.CREATED);
}
catch (Exception e){
return new ResponseEntity<>("Error al crear el producto", HttpStatus.INTERNAL_SERVER_ERROR);
}
}

@PostMapping("/productos/{identificador}/edit/save")
public ResponseEntity<String> productoEditarGuardar(@PathVariable("identificador") Integer identificador, @RequestBody Producto producto){
try {
productoRepository.actualizarProducto(producto.getIdentificador(), producto.getNombre(), producto.getCostoEnBodega(), producto.getPresentacion(), producto.getCantidadPresentacion(), producto.getUnidadMedida(), producto.getVolumenEmpaque(), producto.getPesoEmpaque(), producto.getFechaExpiracion(), producto.getCodigoDeBarras(), producto.getClasificacionCategoria().getCodigo());
return new ResponseEntity<>("Producto actualizado exitosamente", HttpStatus.OK);
}
catch (Exception e){
return new ResponseEntity<>("Error al actualizar el producto", HttpStatus.INTERNAL_SERVER_ERROR);
}
}

@GetMapping("productos/filtrados")
public Collection<Producto> productosfiltrados(
@RequestParam(required = false) Double precioMinU,
@RequestParam(required = false) Double precioMaxU,
@RequestParam(required = false) String fechaSuperiorU,
@RequestParam(required = false) String fechaInferiorU,
@RequestParam(required = false) Integer sucursalIdU,
@RequestParam(required = false) String categoriaNombreU
){
return productoRepository.darProductosFiltrados(precioMinU, precioMaxU, fechaSuperiorU, fechaInferiorU, sucursalIdU, categoriaNombreU);
}


}
Loading
Loading