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