Centralización en ProyectosIESService
This commit is contained in:
parent
501a37c035
commit
2ea9bc7d8d
@ -30,7 +30,7 @@ public class AppProyectosIES {
|
||||
*/
|
||||
|
||||
// Generar la estructura de la base de datos en PostgreSQL
|
||||
// GestorSesionesHibernate.getSession();
|
||||
GestorSesionesHibernate.getSession();
|
||||
|
||||
try {
|
||||
app.procesarFicheros();
|
||||
@ -65,14 +65,14 @@ public class AppProyectosIES {
|
||||
private void procesarFicheros() throws ProyectosIESException {
|
||||
// Procesar datos de catálogos
|
||||
ProcesadorFicheroXML procesadorFicheroXML = new ProcesadorFicheroXML();
|
||||
// procesadorFicheroXML.procesarFicheroXMLCatalogos();
|
||||
procesadorFicheroXML.procesarFicheroXMLCatalogos();
|
||||
|
||||
// Procesar datos de Gastos
|
||||
ProcesadorFicheroJSON procesadorFicheroJSON = new ProcesadorFicheroJSON();
|
||||
// procesadorFicheroJSON.procesarFicheroJSONGastos();
|
||||
procesadorFicheroJSON.procesarFicheroJSONGastos();
|
||||
|
||||
// Procesar datos de Ingresos
|
||||
ProcesadorFicheroCSV procesadorFicheroCSV = new ProcesadorFicheroCSV();
|
||||
procesadorFicheroCSV.procesarFicheroCSVIngresos();
|
||||
// procesadorFicheroCSV.procesarFicheroCSVIngresos();
|
||||
}
|
||||
}
|
||||
@ -13,6 +13,8 @@ import es.palomafp.aadd.inm.excepcion.ProyectosIESException;
|
||||
|
||||
public interface IOperacionesDAOEntidad<T, ID> {
|
||||
T obtenerEntidadPorID(ID clave) throws ProyectosIESException;
|
||||
void borrarEntidad(ID clave) throws ProyectosIESException;
|
||||
void actualizarEntidad(T entidad) throws ProyectosIESException;
|
||||
void crearEntidad(T entidad) throws ProyectosIESException;
|
||||
}
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ import es.palomafp.aadd.inm.vo.Concepto;
|
||||
|
||||
/**
|
||||
*
|
||||
* ConceptoDaoHibernate: Clase que implementa el interfaz IOperacionesDAOEntidad
|
||||
* ConceptoDaoHibernate: Clase que implementa el interfaz IConceptoDAO
|
||||
*
|
||||
* @author Isidoro Nevares Martín - IES Virgen de la Paloma
|
||||
* @date 31 oct 2025
|
||||
@ -43,12 +43,6 @@ public class ConceptoDaoHibernate implements IConceptoDAO{
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Concepto obtenerEntidadPorID(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Concepto obtenerConceptoPorNombre(String nombreConcepto) throws ProyectosIESException {
|
||||
Concepto concepto = null;
|
||||
@ -65,4 +59,43 @@ public class ConceptoDaoHibernate implements IConceptoDAO{
|
||||
}
|
||||
return concepto;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actualizarEntidad(Concepto entidad) throws ProyectosIESException {
|
||||
Transaction transaccion = null;
|
||||
Session sesion = null;
|
||||
|
||||
try {
|
||||
sesion = GestorSesionesHibernate.getSession();
|
||||
transaccion = sesion.beginTransaction();
|
||||
|
||||
if(sesion.contains(entidad))
|
||||
sesion.merge(entidad);
|
||||
|
||||
transaccion.commit();
|
||||
} catch (Exception e) {
|
||||
if (transaccion != null && transaccion.isActive()) {
|
||||
transaccion.rollback();
|
||||
}
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_ACTUALIZACION);
|
||||
} finally {
|
||||
if (sesion != null) {
|
||||
sesion.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Concepto obtenerEntidadPorID(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void borrarEntidad(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -10,8 +10,7 @@ import es.palomafp.aadd.inm.vo.CursoAcademico;
|
||||
|
||||
/**
|
||||
*
|
||||
* CursoAcademicoDaoHibernate: Clase que implementa el interfaz
|
||||
* IOperacionesDAOEntidad
|
||||
* CursoAcademicoDaoHibernate: Clase que implementa el interfaz IOperacionesDAOEntidad
|
||||
*
|
||||
* @author Isidoro Nevares Martín - IES Virgen de la Paloma
|
||||
* @date 31 oct 2025
|
||||
@ -43,11 +42,43 @@ public class CursoAcademicoDaoHibernate implements IOperacionesDAOEntidad<CursoA
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actualizarEntidad(CursoAcademico entidad) throws ProyectosIESException {
|
||||
Transaction transaccion = null;
|
||||
Session sesion = null;
|
||||
|
||||
try {
|
||||
sesion = GestorSesionesHibernate.getSession();
|
||||
transaccion = sesion.beginTransaction();
|
||||
|
||||
if(sesion.contains(entidad))
|
||||
sesion.merge(entidad);
|
||||
|
||||
transaccion.commit();
|
||||
} catch (Exception e) {
|
||||
if (transaccion != null && transaccion.isActive()) {
|
||||
transaccion.rollback();
|
||||
}
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_ACTUALIZACION);
|
||||
} finally {
|
||||
if (sesion != null) {
|
||||
sesion.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public CursoAcademico obtenerEntidadPorID(String clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void borrarEntidad(String clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -11,8 +11,7 @@ import es.palomafp.aadd.inm.vo.CursoProyecto;
|
||||
|
||||
/**
|
||||
*
|
||||
* CursoProyectoDaoHibernate: Clase que implementa el interfaz
|
||||
* IOperacionesDAOEntidad
|
||||
* CursoProyectoDaoHibernate: Clase que implementa el interfaz ICursoProyectoDAO
|
||||
*
|
||||
* @author Isidoro Nevares Martín - IES Virgen de la Paloma
|
||||
* @date 31 oct 2025
|
||||
@ -44,6 +43,51 @@ public class CursoProyectoDaoHibernate implements ICursoProyectoDAO {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actualizarEntidad(CursoProyecto entidad) throws ProyectosIESException {
|
||||
Transaction transaccion = null;
|
||||
Session sesion = null;
|
||||
|
||||
try {
|
||||
sesion = GestorSesionesHibernate.getSession();
|
||||
transaccion = sesion.beginTransaction();
|
||||
|
||||
if (sesion.contains(entidad))
|
||||
sesion.merge(entidad);
|
||||
|
||||
transaccion.commit();
|
||||
} catch (Exception e) {
|
||||
if (transaccion != null && transaccion.isActive()) {
|
||||
transaccion.rollback();
|
||||
}
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_ACTUALIZACION);
|
||||
} finally {
|
||||
if (sesion != null) {
|
||||
sesion.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public CursoProyecto obtenerCursoProyectoPorCursoYProyecto(String codigoCursoAcademico, Integer idProyecto)
|
||||
throws ProyectosIESException {
|
||||
CursoProyecto cursoProyecto = null;
|
||||
String sentenciaHQL = "SELECT cp FROM CursoProyecto cp WHERE cp.cursoAcademico.codigo= :codigo and cp.proyecto.identificador= :idProyecto";
|
||||
|
||||
// try con recursos "cerrables": Session
|
||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
||||
SelectionQuery<CursoProyecto> sentenciaConsulta = sesion.createSelectionQuery(sentenciaHQL,
|
||||
CursoProyecto.class);
|
||||
sentenciaConsulta.setParameter("codigo", codigoCursoAcademico);
|
||||
sentenciaConsulta.setParameter("idProyecto", idProyecto);
|
||||
|
||||
cursoProyecto = sentenciaConsulta.getSingleResultOrNull();
|
||||
} catch (Exception e) {
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_CONSULTA);
|
||||
}
|
||||
return cursoProyecto;
|
||||
}
|
||||
|
||||
@Override
|
||||
public CursoProyecto obtenerEntidadPorID(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
@ -51,21 +95,9 @@ public class CursoProyectoDaoHibernate implements ICursoProyectoDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public CursoProyecto obtenerCursoProyectoPorCursoYProyecto(String codigoCursoAcademico, Integer idProyecto) throws ProyectosIESException {
|
||||
CursoProyecto cursoProyecto = null;
|
||||
String sentenciaHQL = "SELECT cp FROM CursoProyecto cp WHERE cp.cursoAcademico.codigo= :codigo and cp.proyecto.identificador= :idProyecto";
|
||||
public void borrarEntidad(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
// try con recursos "cerrables": Session
|
||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
||||
SelectionQuery<CursoProyecto> sentenciaConsulta = sesion.createSelectionQuery(sentenciaHQL, CursoProyecto.class);
|
||||
sentenciaConsulta.setParameter("codigo", codigoCursoAcademico);
|
||||
sentenciaConsulta.setParameter("idProyecto", idProyecto);
|
||||
|
||||
cursoProyecto = sentenciaConsulta.getSingleResultOrNull();
|
||||
} catch (Exception e) {
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_CONSULTA);
|
||||
}
|
||||
return cursoProyecto;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -2,9 +2,8 @@ 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.dao.IOperacionesDAOEntidad;
|
||||
import es.palomafp.aadd.inm.excepcion.ProyectosIESException;
|
||||
import es.palomafp.aadd.inm.gestor.GestorSesionesHibernate;
|
||||
import es.palomafp.aadd.inm.vo.Gasto;
|
||||
@ -16,7 +15,7 @@ import es.palomafp.aadd.inm.vo.Gasto;
|
||||
* @author Isidoro Nevares Martín - IES Virgen de la Paloma
|
||||
* @date 31 oct 2025
|
||||
*/
|
||||
public class GastoDaoHibernate implements IGastoDAO {
|
||||
public class GastoDaoHibernate implements IOperacionesDAOEntidad<Gasto, Integer> {
|
||||
|
||||
@Override
|
||||
public void crearEntidad(Gasto entidad) throws ProyectosIESException {
|
||||
@ -44,20 +43,29 @@ public class GastoDaoHibernate implements IGastoDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Gasto obtenerGastoPorNombre(String nombreGasto) throws ProyectosIESException {
|
||||
Gasto gasto = null;
|
||||
String sentenciaHQL = "SELECT g FROM Gasto g WHERE g.nombre = :nombre";
|
||||
public void actualizarEntidad(Gasto entidad) throws ProyectosIESException {
|
||||
Transaction transaccion = null;
|
||||
Session sesion = null;
|
||||
|
||||
// try con recursos "cerrables": Session
|
||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
||||
SelectionQuery<Gasto> sentenciaConsulta = sesion.createSelectionQuery(sentenciaHQL, Gasto.class);
|
||||
sentenciaConsulta.setParameter("nombre", nombreGasto);
|
||||
try {
|
||||
sesion = GestorSesionesHibernate.getSession();
|
||||
transaccion = sesion.beginTransaction();
|
||||
|
||||
gasto = sentenciaConsulta.getSingleResultOrNull();
|
||||
if (sesion.contains(entidad))
|
||||
sesion.merge(entidad);
|
||||
|
||||
transaccion.commit();
|
||||
} catch (Exception e) {
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_CONSULTA);
|
||||
if (transaccion != null && transaccion.isActive()) {
|
||||
transaccion.rollback();
|
||||
}
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_ACTUALIZACION);
|
||||
} finally {
|
||||
if (sesion != null) {
|
||||
sesion.close();
|
||||
}
|
||||
}
|
||||
return gasto;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -66,4 +74,10 @@ public class GastoDaoHibernate implements IGastoDAO {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void borrarEntidad(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -2,12 +2,11 @@ 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.dao.IOperacionesDAOEntidad;
|
||||
import es.palomafp.aadd.inm.excepcion.ProyectosIESException;
|
||||
import es.palomafp.aadd.inm.gestor.GestorSesionesHibernate;
|
||||
import es.palomafp.aadd.inm.vo.Gasto;
|
||||
import es.palomafp.aadd.inm.vo.Ingreso;
|
||||
|
||||
/**
|
||||
*
|
||||
@ -16,10 +15,10 @@ import es.palomafp.aadd.inm.vo.Gasto;
|
||||
* @author Isidoro Nevares Martín - IES Virgen de la Paloma
|
||||
* @date 31 oct 2025
|
||||
*/
|
||||
public class IngresoDaoHibernate implements IGastoDAO {
|
||||
public class IngresoDaoHibernate implements IOperacionesDAOEntidad<Ingreso, Integer> {
|
||||
|
||||
@Override
|
||||
public void crearEntidad(Gasto entidad) throws ProyectosIESException {
|
||||
public void crearEntidad(Ingreso entidad) throws ProyectosIESException {
|
||||
Transaction transaccion = null;
|
||||
Session sesion = null;
|
||||
|
||||
@ -44,26 +43,41 @@ public class IngresoDaoHibernate implements IGastoDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Gasto obtenerGastoPorNombre(String nombreGasto) throws ProyectosIESException {
|
||||
Gasto gasto = null;
|
||||
String sentenciaHQL = "SELECT g FROM Gasto g WHERE g.nombre = :nombre";
|
||||
public void actualizarEntidad(Ingreso entidad) throws ProyectosIESException {
|
||||
Transaction transaccion = null;
|
||||
Session sesion = null;
|
||||
|
||||
// try con recursos "cerrables": Session
|
||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
||||
SelectionQuery<Gasto> sentenciaConsulta = sesion.createSelectionQuery(sentenciaHQL, Gasto.class);
|
||||
sentenciaConsulta.setParameter("nombre", nombreGasto);
|
||||
try {
|
||||
sesion = GestorSesionesHibernate.getSession();
|
||||
transaccion = sesion.beginTransaction();
|
||||
|
||||
gasto = sentenciaConsulta.getSingleResultOrNull();
|
||||
if (sesion.contains(entidad))
|
||||
sesion.merge(entidad);
|
||||
|
||||
transaccion.commit();
|
||||
} catch (Exception e) {
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_CONSULTA);
|
||||
if (transaccion != null && transaccion.isActive()) {
|
||||
transaccion.rollback();
|
||||
}
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_ACTUALIZACION);
|
||||
} finally {
|
||||
if (sesion != null) {
|
||||
sesion.close();
|
||||
}
|
||||
}
|
||||
return gasto;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Gasto obtenerEntidadPorID(Integer clave) throws ProyectosIESException {
|
||||
public Ingreso obtenerEntidadPorID(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void borrarEntidad(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -2,8 +2,9 @@ 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.IOperacionesDAOEntidad;
|
||||
import es.palomafp.aadd.inm.dao.IPatrocinadorDAO;
|
||||
import es.palomafp.aadd.inm.excepcion.ProyectosIESException;
|
||||
import es.palomafp.aadd.inm.gestor.GestorSesionesHibernate;
|
||||
import es.palomafp.aadd.inm.vo.Patrocinador;
|
||||
@ -15,7 +16,7 @@ import es.palomafp.aadd.inm.vo.Patrocinador;
|
||||
* @author Isidoro Nevares Martín - IES Virgen de la Paloma
|
||||
* @date 31 oct 2025
|
||||
*/
|
||||
public class PatrocinadorDaoHibernate implements IOperacionesDAOEntidad<Patrocinador, Integer>{
|
||||
public class PatrocinadorDaoHibernate implements IPatrocinadorDAO {
|
||||
|
||||
@Override
|
||||
public void crearEntidad(Patrocinador entidad) throws ProyectosIESException {
|
||||
@ -39,7 +40,50 @@ public class PatrocinadorDaoHibernate implements IOperacionesDAOEntidad<Patrocin
|
||||
sesion.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actualizarEntidad(Patrocinador entidad) throws ProyectosIESException {
|
||||
Transaction transaccion = null;
|
||||
Session sesion = null;
|
||||
|
||||
try {
|
||||
sesion = GestorSesionesHibernate.getSession();
|
||||
transaccion = sesion.beginTransaction();
|
||||
|
||||
if (sesion.contains(entidad))
|
||||
sesion.merge(entidad);
|
||||
|
||||
transaccion.commit();
|
||||
} catch (Exception e) {
|
||||
if (transaccion != null && transaccion.isActive()) {
|
||||
transaccion.rollback();
|
||||
}
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_ACTUALIZACION);
|
||||
} finally {
|
||||
if (sesion != null) {
|
||||
sesion.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Patrocinador obtenerPatrocinadorPorNombre(String nombrePatrocinador) throws ProyectosIESException {
|
||||
Patrocinador patrocinador = null;
|
||||
String sentenciaHQL = "SELECT p FROM Patrocinador p WHERE p.nombre = :nombre";
|
||||
|
||||
// try con recursos "cerrables": Session
|
||||
try (Session sesion = GestorSesionesHibernate.getSession();) {
|
||||
SelectionQuery<Patrocinador> sentenciaConsulta = sesion.createSelectionQuery(sentenciaHQL,
|
||||
Patrocinador.class);
|
||||
sentenciaConsulta.setParameter("nombre", nombrePatrocinador);
|
||||
|
||||
patrocinador = sentenciaConsulta.getSingleResultOrNull();
|
||||
} catch (Exception e) {
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_CONSULTA);
|
||||
}
|
||||
return patrocinador;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -48,4 +92,10 @@ public class PatrocinadorDaoHibernate implements IOperacionesDAOEntidad<Patrocin
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void borrarEntidad(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -43,6 +43,31 @@ public class ProyectoDaoHibernate implements IProyectoDAO {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actualizarEntidad(Proyecto entidad) throws ProyectosIESException {
|
||||
Transaction transaccion = null;
|
||||
Session sesion = null;
|
||||
|
||||
try {
|
||||
sesion = GestorSesionesHibernate.getSession();
|
||||
transaccion = sesion.beginTransaction();
|
||||
|
||||
if (sesion.contains(entidad))
|
||||
sesion.merge(entidad);
|
||||
|
||||
transaccion.commit();
|
||||
} catch (Exception e) {
|
||||
if (transaccion != null && transaccion.isActive()) {
|
||||
transaccion.rollback();
|
||||
}
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_ACTUALIZACION);
|
||||
} finally {
|
||||
if (sesion != null) {
|
||||
sesion.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Proyecto obtenerProyectoPorNombre(String nombreProyecto) throws ProyectosIESException {
|
||||
Proyecto proyecto = null;
|
||||
@ -65,4 +90,11 @@ public class ProyectoDaoHibernate implements IProyectoDAO {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void borrarEntidad(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import es.palomafp.aadd.inm.gestor.GestorEntityManagerJPA;
|
||||
import es.palomafp.aadd.inm.vo.Concepto;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.EntityTransaction;
|
||||
import jakarta.persistence.NoResultException;
|
||||
import jakarta.persistence.TypedQuery;
|
||||
|
||||
/**
|
||||
@ -17,15 +18,15 @@ import jakarta.persistence.TypedQuery;
|
||||
*/
|
||||
public class ConceptoDaoJPA implements IConceptoDAO {
|
||||
@Override
|
||||
public void crearEntidad(Concepto entidad) throws ProyectosIESException{
|
||||
EntityManager gestorEntidades= null;
|
||||
public void crearEntidad(Concepto entidad) throws ProyectosIESException {
|
||||
EntityManager gestorEntidades = null;
|
||||
EntityTransaction transaccion = null;
|
||||
|
||||
|
||||
try {
|
||||
gestorEntidades = GestorEntityManagerJPA.getEntityManager();
|
||||
transaccion = gestorEntidades.getTransaction();
|
||||
transaccion .begin();
|
||||
|
||||
transaccion.begin();
|
||||
|
||||
gestorEntidades.persist(entidad);
|
||||
|
||||
transaccion.commit();
|
||||
@ -38,13 +39,33 @@ public class ConceptoDaoJPA implements IConceptoDAO {
|
||||
if (gestorEntidades != null) {
|
||||
gestorEntidades.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Concepto obtenerEntidadPorID(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
public void actualizarEntidad(Concepto entidad) throws ProyectosIESException {
|
||||
EntityManager gestorEntidades = null;
|
||||
EntityTransaction transaccion = null;
|
||||
|
||||
try {
|
||||
gestorEntidades = GestorEntityManagerJPA.getEntityManager();
|
||||
transaccion = gestorEntidades.getTransaction();
|
||||
transaccion.begin();
|
||||
|
||||
if (gestorEntidades.contains(entidad))
|
||||
gestorEntidades.merge(entidad);
|
||||
|
||||
transaccion.commit();
|
||||
} catch (Exception e) {
|
||||
if (transaccion != null && transaccion.isActive()) {
|
||||
transaccion.rollback();
|
||||
}
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_ACTUALIZACION);
|
||||
} finally {
|
||||
if (gestorEntidades != null) {
|
||||
gestorEntidades.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -52,7 +73,7 @@ public class ConceptoDaoJPA implements IConceptoDAO {
|
||||
Concepto concepto = null;
|
||||
|
||||
String sentenciaJPQL = """
|
||||
SELECT p FROM Concepto c
|
||||
SELECT c FROM Concepto c
|
||||
WHERE c.nombre= :nombre
|
||||
""";
|
||||
|
||||
@ -62,10 +83,24 @@ public class ConceptoDaoJPA implements IConceptoDAO {
|
||||
query.setParameter("nombre", nombreConcepto);
|
||||
|
||||
concepto = query.getSingleResult();
|
||||
} catch (Exception e) {
|
||||
}catch (NoResultException e) { // no hace nada, devuelve null
|
||||
}catch (Exception e) {
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_CONSULTA);
|
||||
}
|
||||
|
||||
return concepto;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void borrarEntidad(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Concepto obtenerEntidadPorID(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import es.palomafp.aadd.inm.gestor.GestorEntityManagerJPA;
|
||||
import es.palomafp.aadd.inm.vo.CursoAcademico;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.EntityTransaction;
|
||||
import jakarta.persistence.NoResultException;
|
||||
|
||||
/**
|
||||
*
|
||||
@ -40,7 +41,31 @@ public class CursoAcademicoDaoJPA implements IOperacionesDAOEntidad<CursoAcademi
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actualizarEntidad(CursoAcademico entidad) throws ProyectosIESException {
|
||||
EntityManager gestorEntidades = null;
|
||||
EntityTransaction transaccion = null;
|
||||
|
||||
try {
|
||||
gestorEntidades = GestorEntityManagerJPA.getEntityManager();
|
||||
transaccion = gestorEntidades.getTransaction();
|
||||
transaccion.begin();
|
||||
|
||||
if (gestorEntidades.contains(entidad))
|
||||
gestorEntidades.merge(entidad);
|
||||
|
||||
transaccion.commit();
|
||||
} catch (Exception e) {
|
||||
if (transaccion != null && transaccion.isActive()) {
|
||||
transaccion.rollback();
|
||||
}
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_ACTUALIZACION);
|
||||
} finally {
|
||||
if (gestorEntidades != null) {
|
||||
gestorEntidades.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public CursoAcademico obtenerEntidadPorID(String clave) throws ProyectosIESException {
|
||||
CursoAcademico cursoAcademico = null;
|
||||
@ -48,9 +73,20 @@ public class CursoAcademicoDaoJPA implements IOperacionesDAOEntidad<CursoAcademi
|
||||
// try con recursos "cerrables": Session
|
||||
try (EntityManager entityManager = GestorEntityManagerJPA.getEntityManager();) {
|
||||
cursoAcademico = entityManager.find(CursoAcademico.class, clave);
|
||||
} catch (Exception e) {
|
||||
}catch (NoResultException e) { // no hace nada, devuelve null
|
||||
}catch (Exception e) {
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_CONSULTA);
|
||||
}
|
||||
return cursoAcademico;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void borrarEntidad(String clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import es.palomafp.aadd.inm.gestor.GestorEntityManagerJPA;
|
||||
import es.palomafp.aadd.inm.vo.CursoProyecto;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.EntityTransaction;
|
||||
import jakarta.persistence.NoResultException;
|
||||
import jakarta.persistence.TypedQuery;
|
||||
|
||||
/**
|
||||
@ -42,10 +43,31 @@ public class CursoProyectoDaoJPA implements ICursoProyectoDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public CursoProyecto obtenerEntidadPorID(Integer clave) throws ProyectosIESException {
|
||||
return null;
|
||||
}
|
||||
public void actualizarEntidad(CursoProyecto entidad) throws ProyectosIESException {
|
||||
EntityManager gestorEntidades = null;
|
||||
EntityTransaction transaccion = null;
|
||||
|
||||
try {
|
||||
gestorEntidades = GestorEntityManagerJPA.getEntityManager();
|
||||
transaccion = gestorEntidades.getTransaction();
|
||||
transaccion.begin();
|
||||
|
||||
if (gestorEntidades.contains(entidad))
|
||||
gestorEntidades.merge(entidad);
|
||||
|
||||
transaccion.commit();
|
||||
} catch (Exception e) {
|
||||
if (transaccion != null && transaccion.isActive()) {
|
||||
transaccion.rollback();
|
||||
}
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_ACTUALIZACION);
|
||||
} finally {
|
||||
if (gestorEntidades != null) {
|
||||
gestorEntidades.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public CursoProyecto obtenerCursoProyectoPorCursoYProyecto(String codigoCursoAcademico, Integer idProyecto)
|
||||
throws ProyectosIESException {
|
||||
@ -65,9 +87,21 @@ public class CursoProyectoDaoJPA implements ICursoProyectoDAO {
|
||||
query.setParameter("codigoCurso", codigoCursoAcademico);
|
||||
|
||||
cursoProyecto = query.getSingleResult();
|
||||
} catch (Exception e) {
|
||||
} catch (NoResultException e) { // no hace nada, devuelve null
|
||||
} catch (Exception e) {
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_CONSULTA);
|
||||
}
|
||||
return cursoProyecto;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void borrarEntidad(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public CursoProyecto obtenerEntidadPorID(Integer clave) throws ProyectosIESException {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,21 +1,20 @@
|
||||
package es.palomafp.aadd.inm.dao.jpa;
|
||||
|
||||
import es.palomafp.aadd.inm.dao.IGastoDAO;
|
||||
import es.palomafp.aadd.inm.dao.IOperacionesDAOEntidad;
|
||||
import es.palomafp.aadd.inm.excepcion.ProyectosIESException;
|
||||
import es.palomafp.aadd.inm.gestor.GestorEntityManagerJPA;
|
||||
import es.palomafp.aadd.inm.vo.Gasto;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.EntityTransaction;
|
||||
import jakarta.persistence.TypedQuery;
|
||||
|
||||
/**
|
||||
*
|
||||
* ConceptoDaoJPA: Clase que implementa el interfaz IGastoDAO
|
||||
* GastoDaoJPA: Clase que implementa el interfaz IOperacionesDAOEntidad
|
||||
*
|
||||
* @author Isidoro Nevares Martín - IES Virgen de la Paloma
|
||||
* @date 31 oct 2025
|
||||
*/
|
||||
public class GastoDaoJPA implements IGastoDAO {
|
||||
public class GastoDaoJPA implements IOperacionesDAOEntidad<Gasto, Integer> {
|
||||
|
||||
@Override
|
||||
public void crearEntidad(Gasto entidad) throws ProyectosIESException{
|
||||
@ -43,25 +42,29 @@ public class GastoDaoJPA implements IGastoDAO {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Gasto obtenerGastoPorNombre(String nombreGasto) throws ProyectosIESException {
|
||||
Gasto gasto = null;
|
||||
public void actualizarEntidad(Gasto entidad) throws ProyectosIESException {
|
||||
EntityManager gestorEntidades = null;
|
||||
EntityTransaction transaccion = null;
|
||||
|
||||
String sentenciaJPQL = """
|
||||
SELECT g FROM Gasto g
|
||||
WHERE g.nombre= :nombre
|
||||
""";
|
||||
try {
|
||||
gestorEntidades = GestorEntityManagerJPA.getEntityManager();
|
||||
transaccion = gestorEntidades.getTransaction();
|
||||
transaccion.begin();
|
||||
|
||||
// try con recursos "cerrables": Session
|
||||
try (EntityManager entityManager = GestorEntityManagerJPA.getEntityManager();) {
|
||||
TypedQuery<Gasto> query = entityManager.createQuery(sentenciaJPQL, Gasto.class);
|
||||
query.setParameter("nombre", nombreGasto);
|
||||
if (gestorEntidades.contains(entidad))
|
||||
gestorEntidades.merge(entidad);
|
||||
|
||||
gasto = query.getSingleResult();
|
||||
transaccion.commit();
|
||||
} catch (Exception e) {
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_CONSULTA);
|
||||
}
|
||||
|
||||
return gasto;
|
||||
if (transaccion != null && transaccion.isActive()) {
|
||||
transaccion.rollback();
|
||||
}
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_ACTUALIZACION);
|
||||
} finally {
|
||||
if (gestorEntidades != null) {
|
||||
gestorEntidades.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -70,4 +73,11 @@ public class GastoDaoJPA implements IGastoDAO {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void borrarEntidad(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,83 @@
|
||||
package es.palomafp.aadd.inm.dao.jpa;
|
||||
|
||||
import es.palomafp.aadd.inm.dao.IOperacionesDAOEntidad;
|
||||
import es.palomafp.aadd.inm.excepcion.ProyectosIESException;
|
||||
import es.palomafp.aadd.inm.gestor.GestorEntityManagerJPA;
|
||||
import es.palomafp.aadd.inm.vo.Ingreso;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.EntityTransaction;
|
||||
|
||||
/**
|
||||
*
|
||||
* IngresoDaoJPA: Clase que implementa el interfaz IOperacionesDAOEntidad
|
||||
*
|
||||
* @author Isidoro Nevares Martín - IES Virgen de la Paloma
|
||||
* @date 31 oct 2025
|
||||
*/
|
||||
public class IngresoDaoJPA implements IOperacionesDAOEntidad<Ingreso, Integer> {
|
||||
|
||||
@Override
|
||||
public void crearEntidad(Ingreso entidad) throws ProyectosIESException{
|
||||
EntityManager gestorEntidades= null;
|
||||
EntityTransaction transaccion = null;
|
||||
|
||||
try {
|
||||
gestorEntidades = GestorEntityManagerJPA.getEntityManager();
|
||||
transaccion = gestorEntidades.getTransaction();
|
||||
transaccion .begin();
|
||||
|
||||
gestorEntidades.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 (gestorEntidades != null) {
|
||||
gestorEntidades.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actualizarEntidad(Ingreso entidad) throws ProyectosIESException {
|
||||
EntityManager gestorEntidades = null;
|
||||
EntityTransaction transaccion = null;
|
||||
|
||||
try {
|
||||
gestorEntidades = GestorEntityManagerJPA.getEntityManager();
|
||||
transaccion = gestorEntidades.getTransaction();
|
||||
transaccion.begin();
|
||||
|
||||
if (gestorEntidades.contains(entidad))
|
||||
gestorEntidades.merge(entidad);
|
||||
|
||||
transaccion.commit();
|
||||
} catch (Exception e) {
|
||||
if (transaccion != null && transaccion.isActive()) {
|
||||
transaccion.rollback();
|
||||
}
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_ACTUALIZACION);
|
||||
} finally {
|
||||
if (gestorEntidades != null) {
|
||||
gestorEntidades.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Ingreso obtenerEntidadPorID(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void borrarEntidad(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -1,11 +1,17 @@
|
||||
package es.palomafp.aadd.inm.dao.jpa;
|
||||
|
||||
import es.palomafp.aadd.inm.dao.IOperacionesDAOEntidad;
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.Transaction;
|
||||
|
||||
import es.palomafp.aadd.inm.dao.IPatrocinadorDAO;
|
||||
import es.palomafp.aadd.inm.excepcion.ProyectosIESException;
|
||||
import es.palomafp.aadd.inm.gestor.GestorEntityManagerJPA;
|
||||
import es.palomafp.aadd.inm.gestor.GestorSesionesHibernate;
|
||||
import es.palomafp.aadd.inm.vo.Patrocinador;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.EntityTransaction;
|
||||
import jakarta.persistence.NoResultException;
|
||||
import jakarta.persistence.TypedQuery;
|
||||
|
||||
/**
|
||||
*
|
||||
@ -14,7 +20,7 @@ import jakarta.persistence.EntityTransaction;
|
||||
* @author Isidoro Nevares Martín - IES Virgen de la Paloma
|
||||
* @date 31 oct 2025
|
||||
*/
|
||||
public class PatrocinadorDaoJPA implements IOperacionesDAOEntidad<Patrocinador, Integer> {
|
||||
public class PatrocinadorDaoJPA implements IPatrocinadorDAO {
|
||||
@Override
|
||||
public void crearEntidad(Patrocinador entidad) throws ProyectosIESException{
|
||||
EntityManager gestorEntidades= null;
|
||||
@ -40,9 +46,65 @@ public class PatrocinadorDaoJPA implements IOperacionesDAOEntidad<Patrocinador,
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actualizarEntidad(Patrocinador entidad) throws ProyectosIESException {
|
||||
Transaction transaccion = null;
|
||||
Session sesion = null;
|
||||
|
||||
try {
|
||||
sesion = GestorSesionesHibernate.getSession();
|
||||
transaccion = sesion.beginTransaction();
|
||||
|
||||
if(sesion.contains(entidad))
|
||||
sesion.merge(entidad);
|
||||
|
||||
transaccion.commit();
|
||||
} catch (Exception e) {
|
||||
if (transaccion != null && transaccion.isActive()) {
|
||||
transaccion.rollback();
|
||||
}
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_ACTUALIZACION);
|
||||
} finally {
|
||||
if (sesion != null) {
|
||||
sesion.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Patrocinador obtenerPatrocinadorPorNombre(String nombrePatrocinador) throws ProyectosIESException {
|
||||
Patrocinador patrocinador = null;
|
||||
|
||||
String sentenciaJPQL = """
|
||||
SELECT p FROM Patrocinador p
|
||||
WHERE p.nombre= :nombre
|
||||
""";
|
||||
|
||||
// try con recursos "cerrables": Session
|
||||
try (EntityManager entityManager = GestorEntityManagerJPA.getEntityManager();) {
|
||||
TypedQuery<Patrocinador> query = entityManager.createQuery(sentenciaJPQL, Patrocinador.class);
|
||||
query.setParameter("nombre", nombrePatrocinador);
|
||||
|
||||
patrocinador = query.getSingleResult();
|
||||
} catch (NoResultException e) { // no hace nada, devuelve null
|
||||
} catch (Exception e) {
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_CONSULTA);
|
||||
}
|
||||
|
||||
return patrocinador;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Patrocinador obtenerEntidadPorID(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void borrarEntidad(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,11 +1,16 @@
|
||||
package es.palomafp.aadd.inm.dao.jpa;
|
||||
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.Transaction;
|
||||
|
||||
import es.palomafp.aadd.inm.dao.IProyectoDAO;
|
||||
import es.palomafp.aadd.inm.excepcion.ProyectosIESException;
|
||||
import es.palomafp.aadd.inm.gestor.GestorEntityManagerJPA;
|
||||
import es.palomafp.aadd.inm.gestor.GestorSesionesHibernate;
|
||||
import es.palomafp.aadd.inm.vo.Proyecto;
|
||||
import jakarta.persistence.EntityManager;
|
||||
import jakarta.persistence.EntityTransaction;
|
||||
import jakarta.persistence.NoResultException;
|
||||
import jakarta.persistence.TypedQuery;
|
||||
|
||||
/**
|
||||
@ -56,17 +61,49 @@ public class ProyectoDaoJPA implements IProyectoDAO {
|
||||
query.setParameter("nombre", nombreProyecto);
|
||||
|
||||
proyecto = query.getSingleResult();
|
||||
} catch (Exception e) {
|
||||
}catch (NoResultException e) { // no hace nada, devuelve null
|
||||
}catch (Exception e) {
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_CONSULTA);
|
||||
}
|
||||
|
||||
return proyecto;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actualizarEntidad(Proyecto entidad) throws ProyectosIESException {
|
||||
Transaction transaccion = null;
|
||||
Session sesion = null;
|
||||
|
||||
try {
|
||||
sesion = GestorSesionesHibernate.getSession();
|
||||
transaccion = sesion.beginTransaction();
|
||||
|
||||
if (sesion.contains(entidad))
|
||||
sesion.merge(entidad);
|
||||
|
||||
transaccion.commit();
|
||||
} catch (Exception e) {
|
||||
if (transaccion != null && transaccion.isActive()) {
|
||||
transaccion.rollback();
|
||||
}
|
||||
throw new ProyectosIESException(e, this.getClass(), ProyectosIESException.ERROR_ACTUALIZACION);
|
||||
} finally {
|
||||
if (sesion != null) {
|
||||
sesion.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Proyecto obtenerEntidadPorID(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void borrarEntidad(Integer clave) throws ProyectosIESException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -6,161 +6,65 @@ import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
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;
|
||||
import es.palomafp.aadd.inm.excepcion.ProyectosIESException;
|
||||
import es.palomafp.aadd.inm.gestor.GestorFicheroConfiguracion;
|
||||
import es.palomafp.aadd.inm.vo.Concepto;
|
||||
import es.palomafp.aadd.inm.vo.CursoAcademico;
|
||||
import es.palomafp.aadd.inm.service.ProyectosIESService;
|
||||
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;
|
||||
|
||||
public class ProcesadorFicheroCSV {
|
||||
|
||||
public void procesarFicheroCSVIngresos() {
|
||||
public void procesarFicheroCSVIngresos() throws ProyectosIESException {
|
||||
|
||||
String rutaFichero = GestorFicheroConfiguracion.getValorfromClave("ingresos.fichero.csv.ruta");
|
||||
File fichero = new File(rutaFichero);
|
||||
|
||||
try (BufferedReader lector = new BufferedReader(new FileReader(fichero));) {
|
||||
String linea;
|
||||
|
||||
|
||||
lector.readLine(); // Saltar la cabecera
|
||||
|
||||
|
||||
while ((linea = lector.readLine()) != null) {
|
||||
System.out.println("linea:" + linea);
|
||||
// Procesar la línea leída
|
||||
String[] campos = linea.split(",");
|
||||
// Suponiendo que el CSV tiene dos columnas: id, ingreso
|
||||
|
||||
// Se asume que Curso Académico existe (no disponemos de información suficiente
|
||||
// para crearlo)
|
||||
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);
|
||||
}
|
||||
ProyectosIESService proyectoIESService = new ProyectosIESService();
|
||||
|
||||
// Se obtiene el CursoProyecto ya persistido
|
||||
ICursoProyectoDAO operacionesDAOCursoProyecto = new CursoProyectoDaoHibernate();
|
||||
CursoProyecto cursoProyecto = operacionesDAOCursoProyecto.obtenerCursoProyectoPorCursoYProyecto(codigoCurso,
|
||||
// Tratamiento de proyecto en PostgreSQL y ObjectDB (se devuelve el proyecto
|
||||
// existente o el creado)
|
||||
Proyecto proyecto = new Proyecto();
|
||||
proyecto.setNombre(nombreProyecto);
|
||||
proyecto = proyectoIESService.realizarTratamientoProyecto(proyecto);
|
||||
|
||||
// Tratamiento de CursoProyecto en PostgreSQL y ObjectDB (se devuelve el
|
||||
// proyecto existente o el creado)
|
||||
CursoProyecto cursoProyecto = proyectoIESService.realizarTratamientoCursoProyecto(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 cantidadIngreso = campos[3];
|
||||
String nombrePatrocinador = campos[2];
|
||||
String sCantidadIngreso = campos[3];
|
||||
Double cantidadIngreso = Double.parseDouble(sCantidadIngreso);
|
||||
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);
|
||||
// Fecha en formato yyyy-MM-dd (formato por defecto)
|
||||
String sFecha = campos[5];
|
||||
LocalDate fecha = LocalDate.parse(sFecha);
|
||||
|
||||
// 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);
|
||||
// Tratamiento de Ingresos en PostgreSQL y ObjectDB
|
||||
proyectoIESService.realizarTratamientoIngreso(cantidadIngreso, fecha, observacion, nombrePatrocinador, cursoProyecto);
|
||||
|
||||
|
||||
System.out.println(codCursoAcademico+ nombreProyecto + nombrePatrocinador + ingreso + fecha );
|
||||
}
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
CursoProyecto cursoProyecto = new CursoProyecto();
|
||||
cursoProyecto.setCursoAcademico(cursoAcademico);
|
||||
cursoProyecto.setProyecto(proyecto);
|
||||
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
ICursoProyectoDAO operacionesDAOCursoProyecto = new CursoProyectoDaoHibernate();
|
||||
operacionesDAOCursoProyecto.crearEntidad(cursoProyecto);
|
||||
// Inserción en ObjectDB con JPA
|
||||
operacionesDAOCursoProyecto = new CursoProyectoDaoJPA();
|
||||
operacionesDAOCursoProyecto.crearEntidad(cursoProyecto);
|
||||
|
||||
// Se obtiene el CursoProyecto ya persistido
|
||||
cursoProyecto = operacionesDAOCursoProyecto.obtenerCursoProyectoPorCursoYProyecto(codigoCurso,
|
||||
proyecto.getIdentificador());
|
||||
|
||||
JsonNode nodoGastos = root.get("gastos");
|
||||
// Se obtienen los nodos Gasto
|
||||
ArrayNode nodosGasto = convertirJsonNodeEnArrayNode(nodoGastos);
|
||||
|
||||
for (JsonNode gastoNode : nodosGasto) {
|
||||
String nombreConcepto = gastoNode.get("concepto").asString();
|
||||
double precioUnitario = gastoNode.get("precio_unitario").asDouble();
|
||||
int unidades = gastoNode.get("unidades").asInt();
|
||||
String sFecha = gastoNode.get("fecha").asString();
|
||||
LocalDate fecha = LocalDate.parse(sFecha);
|
||||
|
||||
Gasto gasto = new Gasto();
|
||||
gasto.setFecha(fecha);
|
||||
gasto.setNumeroUnidades(unidades);
|
||||
gasto.setPrecioUnidad(precioUnitario);
|
||||
|
||||
// Obtener el concepto para asociárselo al gasto
|
||||
IConceptoDAO conceptoDAO = new ConceptoDaoHibernate();
|
||||
Concepto concepto = conceptoDAO.obtenerConceptoPorNombre(nombreConcepto);
|
||||
gasto.setConcepto(concepto);
|
||||
gasto.setCursoProyecto(cursoProyecto);
|
||||
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
IGastoDAO operacionesDAOGasto = new GastoDaoHibernate();
|
||||
operacionesDAOGasto.crearEntidad(gasto);
|
||||
// Inserción en ObjectDB con JPA
|
||||
operacionesDAOGasto = new GastoDaoJPA();
|
||||
operacionesDAOGasto.crearEntidad(gasto);
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
@ -3,22 +3,10 @@ package es.palomafp.aadd.inm.procesador;
|
||||
import java.io.File;
|
||||
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.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.ProyectoDaoHibernate;
|
||||
import es.palomafp.aadd.inm.dao.jpa.CursoProyectoDaoJPA;
|
||||
import es.palomafp.aadd.inm.dao.jpa.GastoDaoJPA;
|
||||
import es.palomafp.aadd.inm.excepcion.ProyectosIESException;
|
||||
import es.palomafp.aadd.inm.gestor.GestorFicheroConfiguracion;
|
||||
import es.palomafp.aadd.inm.vo.Concepto;
|
||||
import es.palomafp.aadd.inm.vo.CursoAcademico;
|
||||
import es.palomafp.aadd.inm.service.ProyectosIESService;
|
||||
import es.palomafp.aadd.inm.vo.CursoProyecto;
|
||||
import es.palomafp.aadd.inm.vo.Gasto;
|
||||
import es.palomafp.aadd.inm.vo.Proyecto;
|
||||
import tools.jackson.databind.JsonNode;
|
||||
import tools.jackson.databind.ObjectMapper;
|
||||
@ -37,24 +25,17 @@ public class ProcesadorFicheroJSON {
|
||||
String codigoCurso = root.get("curso").asString();
|
||||
String nombreProyecto = root.get("proyecto").asString();
|
||||
|
||||
CursoAcademico cursoAcademico = new CursoAcademico();
|
||||
cursoAcademico.setCodigo(codigoCurso);
|
||||
IProyectoDAO proyectoDAO = new ProyectoDaoHibernate();
|
||||
Proyecto proyecto = proyectoDAO.obtenerProyectoPorNombre(nombreProyecto);
|
||||
ProyectosIESService proyectoIESService = new ProyectosIESService();
|
||||
|
||||
CursoProyecto cursoProyecto = new CursoProyecto();
|
||||
cursoProyecto.setCursoAcademico(cursoAcademico);
|
||||
cursoProyecto.setProyecto(proyecto);
|
||||
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
ICursoProyectoDAO operacionesDAOCursoProyecto = new CursoProyectoDaoHibernate();
|
||||
operacionesDAOCursoProyecto.crearEntidad(cursoProyecto);
|
||||
// Inserción en ObjectDB con JPA
|
||||
operacionesDAOCursoProyecto = new CursoProyectoDaoJPA();
|
||||
operacionesDAOCursoProyecto.crearEntidad(cursoProyecto);
|
||||
|
||||
// Se obtiene el CursoProyecto ya persistido
|
||||
cursoProyecto = operacionesDAOCursoProyecto.obtenerCursoProyectoPorCursoYProyecto(codigoCurso,
|
||||
// Tratamiento de proyecto en PostgreSQL y ObjectDB (se devuelve el proyecto
|
||||
// existente o el creado)
|
||||
Proyecto proyecto = new Proyecto();
|
||||
proyecto.setNombre(nombreProyecto);
|
||||
proyecto = proyectoIESService.realizarTratamientoProyecto(proyecto);
|
||||
|
||||
// Tratamiento de CursoProyecto en PostgreSQL y ObjectDB (se devuelve el
|
||||
// proyecto existente o el creado)
|
||||
CursoProyecto cursoProyecto = proyectoIESService.realizarTratamientoCursoProyecto(codigoCurso,
|
||||
proyecto.getIdentificador());
|
||||
|
||||
JsonNode nodoGastos = root.get("gastos");
|
||||
@ -63,32 +44,19 @@ public class ProcesadorFicheroJSON {
|
||||
|
||||
for (JsonNode gastoNode : nodosGasto) {
|
||||
String nombreConcepto = gastoNode.get("concepto").asString();
|
||||
double precioUnitario = gastoNode.get("precio_unitario").asDouble();
|
||||
int unidades = gastoNode.get("unidades").asInt();
|
||||
double precioUnitario = gastoNode.get("precio_unitario").asDouble();
|
||||
String sFecha = gastoNode.get("fecha").asString();
|
||||
LocalDate fecha = LocalDate.parse(sFecha);
|
||||
|
||||
Gasto gasto = new Gasto();
|
||||
gasto.setFecha(fecha);
|
||||
gasto.setNumeroUnidades(unidades);
|
||||
gasto.setPrecioUnidad(precioUnitario);
|
||||
|
||||
// Obtener el concepto para asociárselo al gasto
|
||||
IConceptoDAO conceptoDAO = new ConceptoDaoHibernate();
|
||||
Concepto concepto = conceptoDAO.obtenerConceptoPorNombre(nombreConcepto);
|
||||
gasto.setConcepto(concepto);
|
||||
gasto.setCursoProyecto(cursoProyecto);
|
||||
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
IGastoDAO operacionesDAOGasto = new GastoDaoHibernate();
|
||||
operacionesDAOGasto.crearEntidad(gasto);
|
||||
// Inserción en ObjectDB con JPA
|
||||
operacionesDAOGasto = new GastoDaoJPA();
|
||||
operacionesDAOGasto.crearEntidad(gasto);
|
||||
// Tratamiento de Gastos en PostgreSQL y ObjectDB
|
||||
proyectoIESService.realizarTratamientoGasto(fecha, unidades, precioUnitario, nombreConcepto, cursoProyecto);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private ArrayNode convertirJsonNodeEnArrayNode(JsonNode node) {
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
if (node.isArray()) {
|
||||
|
||||
@ -3,18 +3,9 @@ package es.palomafp.aadd.inm.procesador;
|
||||
import java.io.File;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import es.palomafp.aadd.inm.dao.IOperacionesDAOEntidad;
|
||||
import es.palomafp.aadd.inm.dao.IProyectoDAO;
|
||||
import es.palomafp.aadd.inm.dao.hbm.ConceptoDaoHibernate;
|
||||
import es.palomafp.aadd.inm.dao.hbm.CursoAcademicoDaoHibernate;
|
||||
import es.palomafp.aadd.inm.dao.hbm.PatrocinadorDaoHibernate;
|
||||
import es.palomafp.aadd.inm.dao.hbm.ProyectoDaoHibernate;
|
||||
import es.palomafp.aadd.inm.dao.jpa.ConceptoDaoJPA;
|
||||
import es.palomafp.aadd.inm.dao.jpa.CursoAcademicoDaoJPA;
|
||||
import es.palomafp.aadd.inm.dao.jpa.PatrocinadorDaoJPA;
|
||||
import es.palomafp.aadd.inm.dao.jpa.ProyectoDaoJPA;
|
||||
import es.palomafp.aadd.inm.excepcion.ProyectosIESException;
|
||||
import es.palomafp.aadd.inm.gestor.GestorFicheroConfiguracion;
|
||||
import es.palomafp.aadd.inm.service.ProyectosIESService;
|
||||
import es.palomafp.aadd.inm.vo.Concepto;
|
||||
import es.palomafp.aadd.inm.vo.CursoAcademico;
|
||||
import es.palomafp.aadd.inm.vo.Patrocinador;
|
||||
@ -36,7 +27,7 @@ public class ProcesadorFicheroXML {
|
||||
|
||||
// procesar nodos Curso
|
||||
JsonNode nodoCursos = root.get("Cursos");
|
||||
procesarCursos(nodoCursos);
|
||||
procesarCursosAcademicos(nodoCursos);
|
||||
|
||||
// procesar nodos Proyectos
|
||||
JsonNode nodoProyectos = root.get("Proyectos");
|
||||
@ -52,7 +43,7 @@ public class ProcesadorFicheroXML {
|
||||
|
||||
}
|
||||
|
||||
private void procesarCursos(JsonNode nodoCursos) throws ProyectosIESException {
|
||||
private void procesarCursosAcademicos(JsonNode nodoCursos) throws ProyectosIESException {
|
||||
// Se obtienen los nodos Curso
|
||||
ArrayNode nodosCurso = convertirJsonNodeEnArrayNode(nodoCursos.get("Curso"));
|
||||
for (JsonNode nodoCurso : nodosCurso) {
|
||||
@ -69,13 +60,12 @@ public class ProcesadorFicheroXML {
|
||||
curso.setFechaInicio(fechaInicio);
|
||||
curso.setFechaFin(fechaFin);
|
||||
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
IOperacionesDAOEntidad<CursoAcademico, String> operacionesDAOCursoAcademico = new CursoAcademicoDaoHibernate();
|
||||
operacionesDAOCursoAcademico.crearEntidad(curso);
|
||||
// Inserción en ObjectDB con JPA
|
||||
operacionesDAOCursoAcademico = new CursoAcademicoDaoJPA();
|
||||
operacionesDAOCursoAcademico.crearEntidad(curso);
|
||||
}
|
||||
ProyectosIESService proyectoIESService = new ProyectosIESService();
|
||||
|
||||
// Tratamiento de CursoAcademico en PostgreSQL y ObjectDB
|
||||
proyectoIESService.realizarTratamientoCursoAcademico(curso);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void procesarProyectos(JsonNode nodoProyectos) throws ProyectosIESException {
|
||||
@ -92,12 +82,12 @@ public class ProcesadorFicheroXML {
|
||||
proyecto.setDescripcion(descripcion);
|
||||
proyecto.setUrlLogo(urlImagenLogo);
|
||||
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
IProyectoDAO operacionesDAOProyecto = new ProyectoDaoHibernate();
|
||||
operacionesDAOProyecto.crearEntidad(proyecto);
|
||||
// Inserción en ObjectDB con JPA
|
||||
operacionesDAOProyecto = new ProyectoDaoJPA();
|
||||
operacionesDAOProyecto.crearEntidad(proyecto);
|
||||
ProyectosIESService proyectoIESService = new ProyectosIESService();
|
||||
|
||||
// Tratamiento de proyecto en PostgreSQL y ObjectDB (se devuelve el proyecto
|
||||
// existente o el creado)
|
||||
proyectoIESService.realizarTratamientoProyecto(proyecto);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -111,13 +101,11 @@ public class ProcesadorFicheroXML {
|
||||
Concepto concepto = new Concepto();
|
||||
concepto.setNombre(nombre);
|
||||
concepto.setDescripcion(descripcion);
|
||||
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
IOperacionesDAOEntidad<Concepto, Integer> operacionesDAOConcepto = new ConceptoDaoHibernate();
|
||||
operacionesDAOConcepto.crearEntidad(concepto);
|
||||
// Inserción en ObjectDB con JPA
|
||||
operacionesDAOConcepto = new ConceptoDaoJPA();
|
||||
operacionesDAOConcepto.crearEntidad(concepto);
|
||||
|
||||
ProyectosIESService proyectoIESService = new ProyectosIESService();
|
||||
|
||||
// Tratamiento de concepto en PostgreSQL y ObjectDB
|
||||
proyectoIESService.realizarTratamientoConcepto(concepto);
|
||||
}
|
||||
}
|
||||
|
||||
@ -130,12 +118,10 @@ public class ProcesadorFicheroXML {
|
||||
Patrocinador patrocinador = new Patrocinador();
|
||||
patrocinador.setNombre(nombre);
|
||||
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
IOperacionesDAOEntidad<Patrocinador, Integer> operacionesDAOPatrocinador = new PatrocinadorDaoHibernate();
|
||||
operacionesDAOPatrocinador.crearEntidad(patrocinador);
|
||||
// Inserción en ObjectDB con JPA
|
||||
operacionesDAOPatrocinador = new PatrocinadorDaoJPA();
|
||||
operacionesDAOPatrocinador.crearEntidad(patrocinador);
|
||||
ProyectosIESService proyectoIESService = new ProyectosIESService();
|
||||
|
||||
// Tratamiento de patrocinador en PostgreSQL y ObjectDB
|
||||
proyectoIESService.realizarTratamientoPatrocinador(patrocinador);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,236 @@
|
||||
package es.palomafp.aadd.inm.service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
import es.palomafp.aadd.inm.dao.IConceptoDAO;
|
||||
import es.palomafp.aadd.inm.dao.ICursoProyectoDAO;
|
||||
import es.palomafp.aadd.inm.dao.IOperacionesDAOEntidad;
|
||||
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.CursoAcademicoDaoHibernate;
|
||||
import es.palomafp.aadd.inm.dao.hbm.CursoProyectoDaoHibernate;
|
||||
import es.palomafp.aadd.inm.dao.hbm.GastoDaoHibernate;
|
||||
import es.palomafp.aadd.inm.dao.hbm.IngresoDaoHibernate;
|
||||
import es.palomafp.aadd.inm.dao.hbm.PatrocinadorDaoHibernate;
|
||||
import es.palomafp.aadd.inm.dao.hbm.ProyectoDaoHibernate;
|
||||
import es.palomafp.aadd.inm.dao.jpa.ConceptoDaoJPA;
|
||||
import es.palomafp.aadd.inm.dao.jpa.CursoAcademicoDaoJPA;
|
||||
import es.palomafp.aadd.inm.dao.jpa.CursoProyectoDaoJPA;
|
||||
import es.palomafp.aadd.inm.dao.jpa.GastoDaoJPA;
|
||||
import es.palomafp.aadd.inm.dao.jpa.IngresoDaoJPA;
|
||||
import es.palomafp.aadd.inm.dao.jpa.PatrocinadorDaoJPA;
|
||||
import es.palomafp.aadd.inm.dao.jpa.ProyectoDaoJPA;
|
||||
import es.palomafp.aadd.inm.excepcion.ProyectosIESException;
|
||||
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.Patrocinador;
|
||||
import es.palomafp.aadd.inm.vo.Proyecto;
|
||||
|
||||
public class ProyectosIESService {
|
||||
public CursoAcademico realizarTratamientoCursoAcademico(CursoAcademico cursoAcademico)
|
||||
throws ProyectosIESException {
|
||||
// Tratamiento en PostgreSQL
|
||||
IOperacionesDAOEntidad<CursoAcademico, String> cursoAcademicoDAO = new CursoAcademicoDaoHibernate();
|
||||
CursoAcademico cursoAcademicoBBDD = cursoAcademicoDAO.obtenerEntidadPorID(cursoAcademico.getCodigo());
|
||||
|
||||
if (cursoAcademicoBBDD == null) {
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
cursoAcademicoDAO.crearEntidad(cursoAcademico);
|
||||
} else {
|
||||
cursoAcademico = cursoAcademicoBBDD;
|
||||
}
|
||||
|
||||
// Tratamiento en ObjectDB
|
||||
cursoAcademicoDAO = new CursoAcademicoDaoJPA();
|
||||
cursoAcademicoBBDD = cursoAcademicoDAO.obtenerEntidadPorID(cursoAcademico.getCodigo());
|
||||
if (cursoAcademicoBBDD == null) {
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
cursoAcademicoDAO.crearEntidad(cursoAcademico);
|
||||
}
|
||||
|
||||
return cursoAcademico;
|
||||
}
|
||||
|
||||
public Proyecto realizarTratamientoProyecto(Proyecto proyecto) throws ProyectosIESException {
|
||||
// Tratamiento en PostgreSQL
|
||||
IProyectoDAO proyectoDAO = new ProyectoDaoHibernate();
|
||||
Proyecto proyectoBBDD = proyectoDAO.obtenerProyectoPorNombre(proyecto.getNombre());
|
||||
|
||||
if (proyectoBBDD == null) {
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
proyectoDAO.crearEntidad(proyecto);
|
||||
}else{
|
||||
proyecto = proyectoBBDD;
|
||||
}
|
||||
|
||||
// Tratamiento en ObjectDB
|
||||
proyectoDAO = new ProyectoDaoJPA();
|
||||
proyectoBBDD = proyectoDAO.obtenerProyectoPorNombre(proyecto.getNombre());
|
||||
if (proyectoBBDD == null) {
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
proyectoDAO.crearEntidad(proyecto);
|
||||
}
|
||||
|
||||
return proyecto;
|
||||
}
|
||||
|
||||
public Concepto realizarTratamientoConcepto(Concepto concepto) throws ProyectosIESException {
|
||||
// Tratamiento en PostgreSQL
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
IConceptoDAO operacionesDAOConcepto = new ConceptoDaoHibernate();
|
||||
Concepto conceptoBBDD = operacionesDAOConcepto.obtenerConceptoPorNombre(concepto.getNombre());
|
||||
|
||||
if (conceptoBBDD == null) {
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
operacionesDAOConcepto.crearEntidad(concepto);
|
||||
} else {
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
operacionesDAOConcepto.actualizarEntidad(concepto);
|
||||
}
|
||||
|
||||
// Tratamiento en ObjectDB
|
||||
operacionesDAOConcepto = new ConceptoDaoJPA();
|
||||
conceptoBBDD = operacionesDAOConcepto.obtenerConceptoPorNombre(concepto.getNombre());
|
||||
if (conceptoBBDD == null) {
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
operacionesDAOConcepto.crearEntidad(concepto);
|
||||
} else {
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
operacionesDAOConcepto.actualizarEntidad(concepto);
|
||||
}
|
||||
|
||||
return concepto;
|
||||
}
|
||||
|
||||
public Patrocinador realizarTratamientoPatrocinador(Patrocinador patrocinador) throws ProyectosIESException {
|
||||
// Tratamiento en PostgreSQL
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
IPatrocinadorDAO operacionesDAOPatrocinador = new PatrocinadorDaoHibernate();
|
||||
Patrocinador patrocinadorBBDD = operacionesDAOPatrocinador
|
||||
.obtenerPatrocinadorPorNombre(patrocinador.getNombre());
|
||||
|
||||
if (patrocinadorBBDD == null) {
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
operacionesDAOPatrocinador.crearEntidad(patrocinador);
|
||||
} else {
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
operacionesDAOPatrocinador.actualizarEntidad(patrocinador);
|
||||
}
|
||||
|
||||
// Tratamiento en ObjectDB
|
||||
operacionesDAOPatrocinador = new PatrocinadorDaoJPA();
|
||||
patrocinadorBBDD = operacionesDAOPatrocinador.obtenerPatrocinadorPorNombre(patrocinador.getNombre());
|
||||
if (patrocinadorBBDD == null) {
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
operacionesDAOPatrocinador.crearEntidad(patrocinador);
|
||||
} else {
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
operacionesDAOPatrocinador.actualizarEntidad(patrocinador);
|
||||
}
|
||||
|
||||
return patrocinador;
|
||||
}
|
||||
|
||||
|
||||
public CursoProyecto realizarTratamientoCursoProyecto(String codigoCurso, Integer idProyecto)
|
||||
throws ProyectosIESException {
|
||||
CursoProyecto cursoProyecto = null;
|
||||
|
||||
// Tratamiento en PostgreSQL
|
||||
ICursoProyectoDAO operacionesDAOCursoProyecto = new CursoProyectoDaoHibernate();
|
||||
CursoProyecto cursoProyectoBBDD = operacionesDAOCursoProyecto.obtenerCursoProyectoPorCursoYProyecto(codigoCurso,
|
||||
idProyecto);
|
||||
|
||||
// Si no existe CursoProyecto en Hibernate se inserta
|
||||
if (cursoProyectoBBDD == null) {
|
||||
cursoProyecto = new CursoProyecto();
|
||||
CursoAcademico cursoAcademico = new CursoAcademico();
|
||||
cursoAcademico.setCodigo(codigoCurso);
|
||||
cursoAcademico = realizarTratamientoCursoAcademico(cursoAcademico);
|
||||
Proyecto proyecto = new Proyecto();
|
||||
proyecto.setIdentificador(idProyecto);
|
||||
proyecto = realizarTratamientoProyecto(proyecto);
|
||||
cursoProyecto.setProyecto(proyecto);
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
operacionesDAOCursoProyecto.crearEntidad(cursoProyecto);
|
||||
|
||||
}
|
||||
|
||||
// Tratamiento en ObjectDB
|
||||
operacionesDAOCursoProyecto = new CursoProyectoDaoJPA();
|
||||
cursoProyectoBBDD = operacionesDAOCursoProyecto.obtenerCursoProyectoPorCursoYProyecto(codigoCurso, idProyecto);
|
||||
|
||||
// Si no existe CursoProyecto en Hibernate se inserta
|
||||
if (cursoProyectoBBDD == null) {
|
||||
cursoProyecto = new CursoProyecto();
|
||||
CursoAcademico cursoAcademico = new CursoAcademico();
|
||||
cursoAcademico.setCodigo(codigoCurso);
|
||||
Proyecto proyecto = new Proyecto();
|
||||
proyecto.setIdentificador(idProyecto);
|
||||
cursoProyecto.setProyecto(proyecto);
|
||||
|
||||
operacionesDAOCursoProyecto.crearEntidad(cursoProyecto);
|
||||
|
||||
}
|
||||
|
||||
return cursoProyecto;
|
||||
|
||||
}
|
||||
|
||||
public void realizarTratamientoIngreso(Double cantidadIngreso, LocalDate fecha, String observacion,
|
||||
String nombrePatrocinador, CursoProyecto cursoProyecto) throws ProyectosIESException {
|
||||
|
||||
// Tratmiento para patrocinador (se asume que la información del patrocinaor
|
||||
// existe)
|
||||
Patrocinador patrocinador = new Patrocinador();
|
||||
patrocinador.setNombre(nombrePatrocinador);
|
||||
patrocinador = realizarTratamientoPatrocinador(patrocinador);
|
||||
|
||||
// Cargar info de patrocinador
|
||||
Ingreso ingreso = new Ingreso();
|
||||
ingreso.setCantidad(cantidadIngreso);
|
||||
ingreso.setCursoProyecto(cursoProyecto);
|
||||
ingreso.setFecha(fecha);
|
||||
ingreso.setObservacion(observacion);
|
||||
ingreso.setPatrocinador(patrocinador);
|
||||
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
IOperacionesDAOEntidad<Ingreso, Integer> operacionesDAOIngreso = new IngresoDaoHibernate();
|
||||
operacionesDAOIngreso.crearEntidad(ingreso);
|
||||
|
||||
// Inserción en ObjectDB con JPA
|
||||
operacionesDAOIngreso = new IngresoDaoJPA();
|
||||
operacionesDAOIngreso.crearEntidad(ingreso);
|
||||
|
||||
}
|
||||
|
||||
public Gasto realizarTratamientoGasto(LocalDate fecha, Integer unidades, Double precioUnitario,
|
||||
String nombreConcepto, CursoProyecto cursoProyecto) throws ProyectosIESException {
|
||||
|
||||
Gasto gasto = new Gasto();
|
||||
gasto.setFecha(fecha);
|
||||
gasto.setNumeroUnidades(unidades);
|
||||
gasto.setPrecioUnidad(precioUnitario);
|
||||
|
||||
// Obtener el concepto para asociárselo al gasto
|
||||
Concepto concepto = new Concepto();
|
||||
concepto = realizarTratamientoConcepto(concepto);
|
||||
gasto.setConcepto(concepto);
|
||||
gasto.setCursoProyecto(cursoProyecto);
|
||||
|
||||
// Inserción en PostgreSQL con Hibernate
|
||||
IOperacionesDAOEntidad<Gasto, Integer> operacionesDAOGasto = new GastoDaoHibernate();
|
||||
operacionesDAOGasto.crearEntidad(gasto);
|
||||
|
||||
// Inserción en ObjectDB con JPA
|
||||
operacionesDAOGasto = new GastoDaoJPA();
|
||||
operacionesDAOGasto.crearEntidad(gasto);
|
||||
|
||||
return gasto;
|
||||
}
|
||||
|
||||
}
|
||||
@ -4,7 +4,7 @@
|
||||
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
|
||||
<hibernate-configuration>
|
||||
<session-factory>
|
||||
<property name="connection.url">jdbc:postgresql://10.13.0.130:5432/proyectos_ies</property>
|
||||
<property name="connection.url">jdbc:postgresql://172.16.0.181:5432/proyectos_ies</property>
|
||||
<property name="connection.driver_class">org.postgresql.Driver</property>
|
||||
|
||||
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
|
||||
@ -13,7 +13,7 @@
|
||||
<property name="connection.password">postgresql_123</property>
|
||||
|
||||
<!-- DB schema will be updated if needed -->
|
||||
<property name="hbm2ddl.auto">none</property>
|
||||
<property name="hbm2ddl.auto">create-drop</property>
|
||||
<property name="show_sql">true</property>
|
||||
<property name="format_sql">true</property>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user