Cambios en gasto
This commit is contained in:
parent
77cc793ac1
commit
501a37c035
@ -1,18 +0,0 @@
|
|||||||
package es.palomafp.aadd.inm.dao;
|
|
||||||
|
|
||||||
import es.palomafp.aadd.inm.excepcion.ProyectosIESException;
|
|
||||||
import es.palomafp.aadd.inm.vo.Gasto;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* IGastoDAO: Interfaz que representa las operaciones a realizar con la entidad Gasto
|
|
||||||
* @author Isidoro Nevares Martín - IES Virgen de la Paloma
|
|
||||||
* @date 20 ene 2026
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
public interface IGastoDAO extends IOperacionesDAOEntidad<Gasto, Integer> {
|
|
||||||
Gasto obtenerGastoPorNombre(String nombreGasto) throws ProyectosIESException;
|
|
||||||
}
|
|
||||||
|
|
||||||
@ -0,0 +1,69 @@
|
|||||||
|
package es.palomafp.aadd.inm.dao.hbm;
|
||||||
|
|
||||||
|
import org.hibernate.Session;
|
||||||
|
import org.hibernate.Transaction;
|
||||||
|
import org.hibernate.query.SelectionQuery;
|
||||||
|
|
||||||
|
import es.palomafp.aadd.inm.dao.IGastoDAO;
|
||||||
|
import es.palomafp.aadd.inm.excepcion.ProyectosIESException;
|
||||||
|
import es.palomafp.aadd.inm.gestor.GestorSesionesHibernate;
|
||||||
|
import es.palomafp.aadd.inm.vo.Gasto;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* ConceptoDaoHibernate: Clase que implementa el interfaz IOperacionesDAOEntidad
|
||||||
|
*
|
||||||
|
* @author Isidoro Nevares Martín - IES Virgen de la Paloma
|
||||||
|
* @date 31 oct 2025
|
||||||
|
*/
|
||||||
|
public class IngresoDaoHibernate implements IGastoDAO {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void crearEntidad(Gasto entidad) throws ProyectosIESException {
|
||||||
|
Transaction transaccion = null;
|
||||||
|
Session sesion = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
sesion = GestorSesionesHibernate.getSession();
|
||||||
|
transaccion = sesion.beginTransaction();
|
||||||
|
|
||||||
|
sesion.persist(entidad);
|
||||||
|
|
||||||
|
transaccion.commit();
|
||||||
|
} catch (Exception e) {
|
||||||
|
if (transaccion != null && transaccion.isActive()) {
|
||||||
|
transaccion.rollback();
|
||||||
|
}
|
||||||
|
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_INSERCION);
|
||||||
|
} finally {
|
||||||
|
if (sesion != null) {
|
||||||
|
sesion.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Gasto obtenerGastoPorNombre(String nombreGasto) throws ProyectosIESException {
|
||||||
|
Gasto gasto = null;
|
||||||
|
String sentenciaHQL = "SELECT g FROM Gasto g WHERE g.nombre = :nombre";
|
||||||
|
|
||||||
|
// try con recursos "cerrables": Session
|
||||||
|
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
||||||
|
SelectionQuery<Gasto> sentenciaConsulta = sesion.createSelectionQuery(sentenciaHQL, Gasto.class);
|
||||||
|
sentenciaConsulta.setParameter("nombre", nombreGasto);
|
||||||
|
|
||||||
|
gasto = sentenciaConsulta.getSingleResultOrNull();
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_CONSULTA);
|
||||||
|
}
|
||||||
|
return gasto;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Gasto obtenerEntidadPorID(Integer clave) throws ProyectosIESException {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -9,10 +9,12 @@ import java.time.LocalDate;
|
|||||||
import es.palomafp.aadd.inm.dao.IConceptoDAO;
|
import es.palomafp.aadd.inm.dao.IConceptoDAO;
|
||||||
import es.palomafp.aadd.inm.dao.ICursoProyectoDAO;
|
import es.palomafp.aadd.inm.dao.ICursoProyectoDAO;
|
||||||
import es.palomafp.aadd.inm.dao.IGastoDAO;
|
import es.palomafp.aadd.inm.dao.IGastoDAO;
|
||||||
|
import es.palomafp.aadd.inm.dao.IPatrocinadorDAO;
|
||||||
import es.palomafp.aadd.inm.dao.IProyectoDAO;
|
import es.palomafp.aadd.inm.dao.IProyectoDAO;
|
||||||
import es.palomafp.aadd.inm.dao.hbm.ConceptoDaoHibernate;
|
import es.palomafp.aadd.inm.dao.hbm.ConceptoDaoHibernate;
|
||||||
import es.palomafp.aadd.inm.dao.hbm.CursoProyectoDaoHibernate;
|
import es.palomafp.aadd.inm.dao.hbm.CursoProyectoDaoHibernate;
|
||||||
import es.palomafp.aadd.inm.dao.hbm.GastoDaoHibernate;
|
import es.palomafp.aadd.inm.dao.hbm.GastoDaoHibernate;
|
||||||
|
import es.palomafp.aadd.inm.dao.hbm.PatrocinadorDaoHibernate;
|
||||||
import es.palomafp.aadd.inm.dao.hbm.ProyectoDaoHibernate;
|
import es.palomafp.aadd.inm.dao.hbm.ProyectoDaoHibernate;
|
||||||
import es.palomafp.aadd.inm.dao.jpa.CursoProyectoDaoJPA;
|
import es.palomafp.aadd.inm.dao.jpa.CursoProyectoDaoJPA;
|
||||||
import es.palomafp.aadd.inm.dao.jpa.GastoDaoJPA;
|
import es.palomafp.aadd.inm.dao.jpa.GastoDaoJPA;
|
||||||
@ -21,6 +23,7 @@ import es.palomafp.aadd.inm.vo.Concepto;
|
|||||||
import es.palomafp.aadd.inm.vo.CursoAcademico;
|
import es.palomafp.aadd.inm.vo.CursoAcademico;
|
||||||
import es.palomafp.aadd.inm.vo.CursoProyecto;
|
import es.palomafp.aadd.inm.vo.CursoProyecto;
|
||||||
import es.palomafp.aadd.inm.vo.Gasto;
|
import es.palomafp.aadd.inm.vo.Gasto;
|
||||||
|
import es.palomafp.aadd.inm.vo.Ingreso;
|
||||||
import es.palomafp.aadd.inm.vo.Proyecto;
|
import es.palomafp.aadd.inm.vo.Proyecto;
|
||||||
import tools.jackson.databind.JsonNode;
|
import tools.jackson.databind.JsonNode;
|
||||||
import tools.jackson.databind.node.ArrayNode;
|
import tools.jackson.databind.node.ArrayNode;
|
||||||
@ -42,12 +45,66 @@ public class ProcesadorFicheroCSV {
|
|||||||
// Procesar la línea leída
|
// Procesar la línea leída
|
||||||
String[] campos = linea.split(",");
|
String[] campos = linea.split(",");
|
||||||
// Suponiendo que el CSV tiene dos columnas: id, ingreso
|
// Suponiendo que el CSV tiene dos columnas: id, ingreso
|
||||||
String codCursoAcademico = campos[0];
|
String codigoCurso = campos[0];
|
||||||
String nombreProyecto= campos[1];
|
String nombreProyecto= campos[1];
|
||||||
|
|
||||||
|
IProyectoDAO proyectoDAO = new ProyectoDaoHibernate();
|
||||||
|
Proyecto proyecto = proyectoDAO.obtenerProyectoPorNombre(nombreProyecto);
|
||||||
|
if(proyecto==null) {
|
||||||
|
// Inserción en PostgreSQL con Hibernate
|
||||||
|
proyectoDAO.crearEntidad(proyecto);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Se obtiene el CursoProyecto ya persistido
|
||||||
|
ICursoProyectoDAO operacionesDAOCursoProyecto = new CursoProyectoDaoHibernate();
|
||||||
|
CursoProyecto cursoProyecto = operacionesDAOCursoProyecto.obtenerCursoProyectoPorCursoYProyecto(codigoCurso,
|
||||||
|
proyecto.getIdentificador());
|
||||||
|
|
||||||
|
// Si no existe en Hibernate
|
||||||
|
if (cursoProyecto==null) {
|
||||||
|
cursoProyecto= new CursoProyecto();
|
||||||
|
CursoAcademico cursoAcademico = new CursoAcademico();
|
||||||
|
cursoAcademico.setCodigo(codigoCurso);
|
||||||
|
cursoProyecto.setProyecto(proyecto);
|
||||||
|
// Inserción en PostgreSQL con Hibernate
|
||||||
|
operacionesDAOCursoProyecto.crearEntidad(cursoProyecto);
|
||||||
|
|
||||||
|
// Inserción en ObjectDB con JPA
|
||||||
|
operacionesDAOCursoProyecto = new CursoProyectoDaoJPA();
|
||||||
|
operacionesDAOCursoProyecto.crearEntidad(cursoProyecto);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Información ingreso
|
||||||
String nombrePatrocinador= campos[2];
|
String nombrePatrocinador= campos[2];
|
||||||
String ingreso = campos[3];
|
String cantidadIngreso = campos[3];
|
||||||
String fecha= campos[4];
|
String observacion = campos[4];
|
||||||
|
String fecha= campos[5];
|
||||||
|
|
||||||
// Aquí iría la lógica para procesar cada línea
|
// Aquí iría la lógica para procesar cada línea
|
||||||
|
Ingreso ingreso= new Ingreso();
|
||||||
|
ingreso.setCantidad();
|
||||||
|
ingreso.setCursoProyecto(cursoProyecto);
|
||||||
|
ingreso.setFecha(null);
|
||||||
|
ingreso.setObservacion(observacion);
|
||||||
|
ingreso.setPatrocinador(null);
|
||||||
|
|
||||||
|
// Tratmiento para ingresos
|
||||||
|
IPatrocinadorDAO patrocinadorDAO = new PatrocinadorDaoHibernate();
|
||||||
|
Concepto concepto = conceptoDAO.obtenerConceptoPorNombre(nombreConcepto);
|
||||||
|
gasto.setConcepto(concepto);
|
||||||
|
gasto.setCursoProyecto(cursoProyecto);
|
||||||
|
|
||||||
|
// Inserción en PostgreSQL con Hibernate
|
||||||
|
IIngresoDAO operacionesDAOGasto = new GastoDaoHibernate();
|
||||||
|
operacionesDAOGasto.crearEntidad(gasto);
|
||||||
|
// Inserción en ObjectDB con JPA
|
||||||
|
operacionesDAOGasto = new GastoDaoJPA();
|
||||||
|
operacionesDAOGasto.crearEntidad(gasto);
|
||||||
|
|
||||||
|
|
||||||
System.out.println(codCursoAcademico+ nombreProyecto + nombrePatrocinador + ingreso + fecha );
|
System.out.println(codCursoAcademico+ nombreProyecto + nombrePatrocinador + ingreso + fecha );
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
@ -59,10 +116,6 @@ public class ProcesadorFicheroCSV {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
CursoAcademico cursoAcademico = new CursoAcademico();
|
|
||||||
cursoAcademico.setCodigo(codigoCurso);
|
|
||||||
IProyectoDAO proyectoDAO = new ProyectoDaoHibernate();
|
|
||||||
Proyecto proyecto = proyectoDAO.obtenerProyectoPorNombre(nombreProyecto);
|
|
||||||
|
|
||||||
CursoProyecto cursoProyecto = new CursoProyecto();
|
CursoProyecto cursoProyecto = new CursoProyecto();
|
||||||
cursoProyecto.setCursoAcademico(cursoAcademico);
|
cursoProyecto.setCursoAcademico(cursoAcademico);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user