Añadir metodos addVisit, updateVisit y remove

This commit is contained in:
Alejandro Linares Amado
2019-12-28 20:58:04 +01:00
parent 74bef5814a
commit b2258e7ba0
2 changed files with 56 additions and 11 deletions

View File

@@ -2,6 +2,7 @@ package ejb.visit;
import java.util.ArrayList;
import java.util.Date;
import java.time.LocalTime;
import java.util.List;
import javax.ejb.EJB;
@@ -12,11 +13,13 @@ import javax.persistence.TypedQuery;
import TO.VisitTO;
import ejb.common.CommonFacadeLocal;
import jpa.PatientJPA;
import jpa.VisitJPA;
/**
* EJB Session Bean Class para la Practica 2, Ejercicio 1 (ISCSD) Implementa los métodos de la capa de negocio que implementan la logica de negocio y la interacción con la capa de
* persistencia.
* EJB Session Bean Class para la Practica 2, Ejercicio 1 (ISCSD) Implementa los
* métodos de la capa de negocio que implementan la logica de negocio y la
* interacción con la capa de persistencia.
*
* @author mark
*
@@ -31,7 +34,8 @@ public class VisitFacadeBean implements VisitFacadeRemote {
CommonFacadeLocal commonServices;
public Long getScheduledVisitsCount(int familyDoctorId, Date date) {
TypedQuery<Long> query = entman.createQuery("SELECT count(1) from VisitJPA v where v.date=:date and v.familyDoctor.id=:docId", Long.class);
TypedQuery<Long> query = entman.createQuery(
"SELECT count(1) from VisitJPA v where v.date=:date and v.familyDoctor.id=:docId", Long.class);
query.setParameter("date", date);
query.setParameter("docId", familyDoctorId);
@@ -39,7 +43,9 @@ public class VisitFacadeBean implements VisitFacadeRemote {
}
public List<VisitTO> listAllScheduledVisitsPaged(int familyDoctorId, Date date, int pageNumber, int pageSize) {
TypedQuery<VisitJPA> query = entman.createQuery("SELECT v from VisitJPA v where v.date=:date and v.familyDoctor.id=:docId order by v.date, v.time", VisitJPA.class);
TypedQuery<VisitJPA> query = entman.createQuery(
"SELECT v from VisitJPA v where v.date=:date and v.familyDoctor.id=:docId order by v.date, v.time",
VisitJPA.class);
query.setParameter("date", date);
query.setParameter("docId", familyDoctorId);
@@ -57,7 +63,7 @@ public class VisitFacadeBean implements VisitFacadeRemote {
return listTO;
}
public Long getVisitsCount(Integer patientId, Date date) {
String strQuery = "SELECT count(1) from VisitJPA v %s";
String strFilter = "";
@@ -80,7 +86,7 @@ public class VisitFacadeBean implements VisitFacadeRemote {
return query.getSingleResult();
}
public List<VisitTO> listVisitsPaged(Integer patientId, Date date, int pageNumber, int pageSize) {
String strQuery = "SELECT v from VisitJPA v %s order by v.patient, v.date";
String strFilter = "";
@@ -93,7 +99,7 @@ public class VisitFacadeBean implements VisitFacadeRemote {
strFilter = "WHERE 1=1 " + strFilter;
}
strQuery = String.format(strQuery, strFilter);
TypedQuery<VisitJPA> query = entman.createQuery(strQuery, VisitJPA.class);
if (patientId != null)
@@ -105,7 +111,7 @@ public class VisitFacadeBean implements VisitFacadeRemote {
query.setFirstResult(pageNumber * pageSize);
query.setMaxResults(pageSize);
}
List<VisitJPA> allJPA = query.getResultList();
List<VisitTO> listTO = new ArrayList<VisitTO>();
@@ -116,7 +122,6 @@ public class VisitFacadeBean implements VisitFacadeRemote {
return listTO;
}
public VisitTO getVisit(int id) throws Exception {
VisitJPA vi = entman.find(VisitJPA.class, id);
if (vi == null) {
@@ -125,4 +130,33 @@ public class VisitFacadeBean implements VisitFacadeRemote {
return this.commonServices.getPOJOforVisitJPA(vi, 1);
}
public void addResultToVisit(int id, String result) {
VisitJPA vi = entman.find(VisitJPA.class, id);
vi.setResult(result);
entman.persist(vi);
}
public void removeVisit(int id) {
VisitJPA vi = entman.find(VisitJPA.class, id);
entman.remove(vi);
}
public void updateVisit(int id, Date date, LocalTime time) {
VisitJPA vi = entman.find(VisitJPA.class, id);
vi.setDate(date);
vi.setTime(time);
entman.persist(vi);
}
public VisitTO addVisit(int patientId, Date date, LocalTime time, String observations) {
PatientJPA pat = entman.find(PatientJPA.class, patientId);
VisitJPA vi = new VisitJPA(date, time, observations, "", pat, pat.getFamilyDoctor());
entman.persist(vi);
return this.commonServices.getPOJOforVisitJPA(vi, 1);
}
}

View File

@@ -1,5 +1,6 @@
package ejb.visit;
import java.time.LocalTime;
import java.util.Date;
import java.util.List;
@@ -8,9 +9,10 @@ import javax.ejb.Remote;
import TO.VisitTO;
/**
* Interfaz remota del EJB Definimos los métodos que estarán disponibles para los clientes del EJB
* Interfaz remota del EJB Definimos los métodos que estarán disponibles para
* los clientes del EJB
*
* @author mark
* @author alina
*
*/
@Remote
@@ -28,4 +30,13 @@ public interface VisitFacadeRemote {
public List<VisitTO> listVisitsPaged(Integer patientId, Date date, int pageNumber, int pageSize);
public VisitTO getVisit(int id) throws Exception;
public void addResultToVisit(int id, String result);
public void removeVisit(int id);
public void updateVisit(int id, Date date, LocalTime time);
public VisitTO addVisit(int patientId, Date date, LocalTime time, String observations);
}