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.ICursoProyectoDAO;
|
||||
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.hbm.ConceptoDaoHibernate;
|
||||
import es.palomafp.aadd.inm.dao.hbm.CursoProyectoDaoHibernate;
|
||||
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.jpa.CursoProyectoDaoJPA;
|
||||
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.CursoProyecto;
|
||||
import es.palomafp.aadd.inm.vo.Gasto;
|
||||
import es.palomafp.aadd.inm.vo.Ingreso;
|
||||
import es.palomafp.aadd.inm.vo.Proyecto;
|
||||
import tools.jackson.databind.JsonNode;
|
||||
import tools.jackson.databind.node.ArrayNode;
|
||||
@ -42,12 +45,66 @@ public class ProcesadorFicheroCSV {
|
||||
// Procesar la línea leída
|
||||
String[] campos = linea.split(",");
|
||||
// Suponiendo que el CSV tiene dos columnas: id, ingreso
|
||||
String codCursoAcademico = campos[0];
|
||||
String codigoCurso = campos[0];
|
||||
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 ingreso = campos[3];
|
||||
String fecha= campos[4];
|
||||
String cantidadIngreso = campos[3];
|
||||
String observacion = campos[4];
|
||||
String fecha= campos[5];
|
||||
|
||||
// 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 );
|
||||
}
|
||||
} 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.setCursoAcademico(cursoAcademico);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user