@@ -1,5 +1,6 @@
package co.edu.eam.ingesoft.pa.negocio.beans;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.LocalBean;
@@ -12,57 +13,66 @@

import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Horario;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Medicamento;
import co.edu.eam.ingesoft.pa.negocio.dtos.CitaHistorialDTO;
import co.edu.eam.ingesoft.pa.negocio.dtos.MedicamentoEntregadoDTO;
import co.edu.eam.ingesoft.pa.negocio.excepciones.ExcepcionNegocio;

@LocalBean
@Stateless
public class MedicamentoEJB {


@PersistenceContext
private EntityManager em;

/**
* metodo para buscar un medicamento
* @param id, identificador del medicamento a buscar
*
* @param id,
* identificador del medicamento a buscar
* @return el medicamento con el respectivo id, o null de no encontrarlo
*/
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public Medicamento buscar(int id){
public Medicamento buscar(int id) {
return em.find(Medicamento.class, id);
}

/**
* metodo para persistir un medicamento
* @param h, medicamento a persistir
*
* @param h,
* medicamento a persistir
*/
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public void crear(Medicamento h){
public void crear(Medicamento h) {
Medicamento ho = buscar(h.getId());
if(ho==null){
if (ho == null) {
em.persist(h);
} else{
} else {
throw new ExcepcionNegocio("El medicamento ya está registrado");
}
}
}

/**
* metodo para eliminar un medicamento registrado
* @param id, identificador del medicamento a eliminar
*
* @param id,
* identificador del medicamento a eliminar
*/
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public void eliminar(int id) {
Medicamento h = buscar(id);
if(h!=null){
if (h != null) {
em.remove(h);
} else{
} else {
throw new ExcepcionNegocio("El medicamento no está registrado");
}
}
}

/**
* metodo para editar un horario
* @param h, horario a editar
*
* @param h,
* horario a editar
*/
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public void editar(Medicamento h) {
@@ -74,7 +84,7 @@ public void editar(Medicamento h) {
throw new ExcepcionNegocio("No existe el horario a editar");
}
}

/**
* metodo para listar los horarios registrados
*/
@@ -88,4 +98,29 @@ public List<Medicamento> listarMedicamentos() {
return med;
}
}

/**
* metodo para listar los medicamentos del historial
*/
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public List<MedicamentoEntregadoDTO> listarMedicamentoHistorial(int cita) {

Query q = em.createNativeQuery("SELECT m.DESCRIPCION,mr.CANTIDAD_RECETADA FROM MEDICAMENTO_RECETADOS mr "
+ "JOIN MEDICAMENTO m ON m.ID=mr.MEDICAMENTO_ID WHERE mr.CITA_ID=?1");
q.setParameter(1, cita);

List<MedicamentoEntregadoDTO> lista = new ArrayList<MedicamentoEntregadoDTO>();
List<Object[]> medicamentos = q.getResultList();

for (Object[] a : medicamentos) {

MedicamentoEntregadoDTO dto = new MedicamentoEntregadoDTO();
dto.setMedicamentoDescripcion(a[0].toString());
dto.setCantidad(a[1].toString());
lista.add(dto);
}

return lista;
}

}
@@ -15,6 +15,8 @@
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.PatologiaTratamiento;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Tratamiento;
import co.edu.eam.ingesoft.pa.negocio.dtos.CamaDTO;
import co.edu.eam.ingesoft.pa.negocio.dtos.MedicamentoEntregadoDTO;
import co.edu.eam.ingesoft.pa.negocio.dtos.PatologiaHistorialDTO;
import co.edu.eam.ingesoft.pa.negocio.dtos.PatologiaTratamientoDTO;
import co.edu.eam.ingesoft.pa.negocio.excepciones.ExcepcionNegocio;

@@ -108,5 +110,30 @@ public List<PatologiaTratamientoDTO> listarTratamientosPatologia() {

return lista;
}

/**
* metodo para listar las patologias presentadas en la cita
*/
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public List<PatologiaHistorialDTO> listarPatologiasHistorial(int cita) {

Query q = em.createNativeQuery("SELECT p.NOMBRE,p.SINTOMAS FROM CITA_PATOLOGIA_TRATAMIENTO cpt "
+ "JOIN PATOLOGIA_TRATAMIENTO pt ON cpt.PATO_TRATA_PATO_ID=pt.PATOLOGIA_ID "
+ "JOIN PATOLOGIA p ON p.ID=pt.PATOLOGIA_ID WHERE cpt.CITA_ID=?1;");
q.setParameter(1, cita);

List<PatologiaHistorialDTO> lista = new ArrayList<PatologiaHistorialDTO>();
List<Object[]> patologias = q.getResultList();

for (Object[] a : patologias) {

PatologiaHistorialDTO dto = new PatologiaHistorialDTO();
dto.setNombre(a[0].toString());
dto.setSintomas(a[1].toString());
lista.add(dto);
}

return lista;
}

}
@@ -1,14 +1,20 @@
package co.edu.eam.ingesoft.pa.negocio.beans;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Cirugia;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Medico;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Quirofano;
import co.edu.eam.ingesoft.pa.negocio.dtos.MedicamentoEntregadoDTO;
import co.edu.eam.ingesoft.pa.negocio.excepciones.ExcepcionNegocio;

@LocalBean
@@ -77,5 +83,15 @@ public void editar(Quirofano q) {
throw new ExcepcionNegocio("No existe el Quirofano a editar");
}
}

/**
* metodo para listar los quirofanos
*/
public List<Quirofano> listaQuirofano(){
Query query = em.createNamedQuery(Quirofano.CONSULTA_LISTAR_QUIROFANOS);
List<Quirofano> lista = query.getResultList();
return lista;
}


}
@@ -10,6 +10,7 @@
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Acceso;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Rol;
import co.edu.eam.ingesoft.pa.negocio.excepciones.ExcepcionNegocio;

@@ -33,4 +34,25 @@ public List<Rol> listarRoles() {
return roles;
}
}

// @TransactionAttribute(TransactionAttributeType.REQUIRED)
// public List<Rol> ListaRolesPersona(int identificacion){
// Query q = em.createNamedQuery(Persona.ROLES_PERSONA);
// q.setParameter(1, identificacion);
// List<Rol> rolesPersona = q.getResultList();
// return rolesPersona;
// }
//
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public Rol buscarRol (int id){
return em.find(Rol.class, id);
}

@TransactionAttribute(TransactionAttributeType.REQUIRED)
public List<Acceso> ListaAccesosRol(Rol rol){
Query q = em.createNamedQuery(Acceso.LISTA_ACCESOS_ROL);
q.setParameter(1, rol);
List<Acceso> accesosRoles = q.getResultList();
return accesosRoles;
}
}
@@ -0,0 +1,59 @@
package co.edu.eam.ingesoft.pa.negocio.dtos;

public class CirugiaHistorialDTO {

private String descripcion;

private String duracion;

private String fecha;

public CirugiaHistorialDTO() {
super();
}

/**
* @return the descripcion
*/
public String getDescripcion() {
return descripcion;
}

/**
* @param descripcion the descripcion to set
*/
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}

/**
* @return the duracion
*/
public String getDuracion() {
return duracion;
}

/**
* @param duracion the duracion to set
*/
public void setDuracion(String duracion) {
this.duracion = duracion;
}

/**
* @return the fecha
*/
public String getFecha() {
return fecha;
}

/**
* @param fecha the fecha to set
*/
public void setFecha(String fecha) {
this.fecha = fecha;
}



}
@@ -0,0 +1,106 @@
package co.edu.eam.ingesoft.pa.negocio.dtos;

public class CitaHistorialDTO {

private String idCita;

private String nombrePaciente;

private String fecha;

private int hora;

private String nombreMedico;

private String anotaciones;

public CitaHistorialDTO() {
super();
}

/**
* @return the nombrePaciente
*/
public String getNombrePaciente() {
return nombrePaciente;
}

/**
* @param nombrePaciente the nombrePaciente to set
*/
public void setNombrePaciente(String nombrePaciente) {
this.nombrePaciente = nombrePaciente;
}

/**
* @return the fecha
*/
public String getFecha() {
return fecha;
}

/**
* @param fecha the fecha to set
*/
public void setFecha(String fecha) {
this.fecha = fecha;
}

/**
* @return the hora
*/
public int getHora() {
return hora;
}

/**
* @param hora the hora to set
*/
public void setHora(int hora) {
this.hora = hora;
}

/**
* @return the nombreMedico
*/
public String getNombreMedico() {
return nombreMedico;
}

/**
* @param nombreMedico the nombreMedico to set
*/
public void setNombreMedico(String nombreMedico) {
this.nombreMedico = nombreMedico;
}

/**
* @return the anotaciones
*/
public String getAnotaciones() {
return anotaciones;
}

/**
* @param anotaciones the anotaciones to set
*/
public void setAnotaciones(String anotaciones) {
this.anotaciones = anotaciones;
}

/**
* @return the idCita
*/
public String getIdCita() {
return idCita;
}

/**
* @param idCita the idCita to set
*/
public void setIdCita(String idCita) {
this.idCita = idCita;
}


}
@@ -0,0 +1,56 @@
package co.edu.eam.ingesoft.pa.negocio.dtos;

public class ExamenHistorialDTO {

private String nombreExamen;

private String descripcionExamen;


/**
* @return the nombreExamen
*/
public String getNombreExamen() {
return nombreExamen;
}




/**
* @param nombreExamen the nombreExamen to set
*/
public void setNombreExamen(String nombreExamen) {
this.nombreExamen = nombreExamen;
}




/**
* @return the descripcionExamen
*/
public String getDescripcionExamen() {
return descripcionExamen;
}




/**
* @param descripcionExamen the descripcionExamen to set
*/
public void setDescripcionExamen(String descripcionExamen) {
this.descripcionExamen = descripcionExamen;
}




public ExamenHistorialDTO() {
super();
}



}
@@ -85,8 +85,7 @@ public String getDescripcionTipoExamen() {
*/
public void setDescripcionTipoExamen(String descripcionTipoExamen) {
this.descripcionTipoExamen = descripcionTipoExamen;
}

}


}
@@ -0,0 +1,44 @@
package co.edu.eam.ingesoft.pa.negocio.dtos;

public class MedicamentoEntregadoDTO {

private String medicamentoDescripcion;

private String cantidad;


public MedicamentoEntregadoDTO() {
super();
}

/**
* @return the medicamentoDescripcion
*/
public String getMedicamentoDescripcion() {
return medicamentoDescripcion;
}

/**
* @param medicamentoDescripcion the medicamentoDescripcion to set
*/
public void setMedicamentoDescripcion(String medicamentoDescripcion) {
this.medicamentoDescripcion = medicamentoDescripcion;
}

/**
* @return the cantidad
*/
public String getCantidad() {
return cantidad;
}

/**
* @param cantidad the cantidad to set
*/
public void setCantidad(String cantidad) {
this.cantidad = cantidad;
}



}
@@ -0,0 +1,45 @@
package co.edu.eam.ingesoft.pa.negocio.dtos;

public class PatologiaHistorialDTO {

private String nombre;

private String sintomas;


public PatologiaHistorialDTO() {
super();
}

/**
* @return the nombre
*/
public String getNombre() {
return nombre;
}

/**
* @param nombre the nombre to set
*/
public void setNombre(String nombre) {
this.nombre = nombre;
}

/**
* @return the sintomas
*/
public String getSintomas() {
return sintomas;
}

/**
* @param sintomas the sintomas to set
*/
public void setSintomas(String sintomas) {
this.sintomas = sintomas;
}




}
@@ -0,0 +1,80 @@
package co.edu.eam.ingesoft.avanzada.persistencia.entidades;
import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

@Entity
@Table(name="ACCESO")
@NamedQueries({
@NamedQuery(name=Acceso.LISTA_ACCESOS_ROL,query="SELECT ar FROM AccesoRol ar WHERE ar.rol=?1 ")
})
public class Acceso implements Serializable{

public static final String LISTA_ACCESOS_ROL ="AccesosXRol";

@Id
@Column(name="ID", nullable=false)
private int id;

@Column(name="PANTALLA", length=200, nullable=false)
private String pantalla;

@Column(name="NOMBRE", length=60, nullable=false)
private String nombre;


/*
* Constructor
*/


public Acceso(int id, String url, String nombre) {
super();
this.id = id;
this.pantalla = url;
this.nombre = nombre;
}

public Acceso() {

}

/*
* Getters and setters
*/

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public String getPantalla() {
return pantalla;
}

public void setPantalla(String pantalla) {
this.pantalla = pantalla;
}

@Override
public String toString() {
return nombre;
}

}
@@ -0,0 +1,74 @@
package co.edu.eam.ingesoft.avanzada.persistencia.entidades;


import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="ACCESO_ROL")
@IdClass(AccesoRolPK.class)
public class AccesoRol implements Serializable{

/*
* Atributos
*/

@Id
@ManyToOne(cascade={})
@JoinColumn(name = "ROL_ID", nullable = false)
private Rol rol;

@Id
@ManyToOne(cascade={})
@JoinColumn(name = "ACCESO_ID", nullable = false)
private Acceso acceso;

/*
* Constructor
*/


public AccesoRol(Rol rol, Acceso acceso) {
super();
this.rol = rol;
this.acceso = acceso;
}

public AccesoRol() {

}

/*
* Getters and setters
*/

public Rol getRol() {
return rol;
}

public void setRol(Rol rol) {
this.rol = rol;
}

public Acceso getAcceso() {
return acceso;
}

public void setAcceso(Acceso acceso) {
this.acceso = acceso;
}

@Override
public String toString() {
return "AccesoRol [rol=" + rol + ", acceso=" + acceso + "]";
}



}
@@ -0,0 +1,74 @@
package co.edu.eam.ingesoft.avanzada.persistencia.entidades;

import java.io.Serializable;

public class AccesoRolPK implements Serializable {

/*
* atributos
*/

private int rol;

private int acceso;

/*
* Constructores
*/

public AccesoRolPK(int rol, int acceso) {
super();
this.rol = rol;
this.acceso = acceso;
}

public AccesoRolPK() {

}

/*
* Getters and setters
*/

public int getRol() {
return rol;
}

public void setRol(int rol) {
this.rol = rol;
}

public int getAcceso() {
return acceso;
}

public void setAcceso(int acceso) {
this.acceso = acceso;
}

@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + acceso;
result = prime * result + rol;
return result;
}

@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
AccesoRolPK other = (AccesoRolPK) obj;
if (acceso != other.acceso)
return false;
if (rol != other.rol)
return false;
return true;
}

}
@@ -36,6 +36,9 @@ public class CitaCirugia implements Serializable {
@JoinColumn(name = "QUIROFANO_ID")
@ManyToOne
private Quirofano quirofano;

@Column(name = "REALIZADA")
private boolean realizada;

@ManyToOne
@JoinColumns({ @JoinColumn(name = "HORARIO_MEDICO_HORARIO_ID", referencedColumnName = "MEDICO_CEDULA"),
@@ -44,6 +47,7 @@ public class CitaCirugia implements Serializable {

public CitaCirugia() {
super();
realizada = false;
}

public Cita getCita() {
@@ -86,6 +90,20 @@ public void setHorarioMedico(HorarioMedico horarioMedico) {
this.horarioMedico = horarioMedico;
}

/**
* @return the realizada
*/
public boolean isRealizada() {
return realizada;
}

/**
* @param realizada the realizada to set
*/
public void setRealizada(boolean realizada) {
this.realizada = realizada;
}




@@ -7,12 +7,20 @@
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

@Entity
@Table(name="EXAMEN")
@NamedQueries({
@NamedQuery(name = Examen.CONSULTA_LISTAR_EXAMENES, query = "SELECT e FROM Examen e")
})
public class Examen implements Serializable{


public static final String CONSULTA_LISTAR_EXAMENES = "Examen.ListarExamenes";

@Id
@Column(name="NOMBRE",nullable=false,length=50)
private String nombre;
@@ -7,12 +7,19 @@
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

@Entity
@Table(name="QUIROFANO")
@NamedQueries({
@NamedQuery(name = Quirofano.CONSULTA_LISTAR_QUIROFANOS, query = "SELECT q FROM Quirofano q")
})
public class Quirofano implements Serializable{

public static final String CONSULTA_LISTAR_QUIROFANOS = "Quirofano.ListarQuirofanos";

@Id
@Column(name="ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
@@ -23,7 +23,7 @@ public class Rol implements Serializable{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="ID")
private long id;
private int id;

@Column(name="DESCRIPCION")
private String descripcion;
@@ -33,11 +33,11 @@ public Rol() {
super();
}

public long getId() {
public int getId() {
return id;
}

public void setId(long id) {
public void setId(int id) {
this.id = id;
}

@@ -13,11 +13,18 @@

@Entity
@Table(name="USUARIO")
@NamedQueries({
@NamedQuery(name="Usuario.buscarXUser",query="SELECT u FROM Usuario u WHERE u.user=?1")
@NamedQueries({
@NamedQuery(name=Usuario.PACIENTE_POR_USUARIO,query="SELECT p FROM Paciente p WHERE p.usuario.user=?1"),
@NamedQuery(name=Usuario.MEDICO_POR_USUARIO,query="SELECT m FROM Medico m WHERE m.usuario.user=?1"),
@NamedQuery(name=Usuario.BUSCAR_POR_USUARIO,query="SELECT u FROM Usuario u WHERE u.user=?1")
})
public class Usuario implements Serializable {
public class Usuario implements Serializable{


public static final String PACIENTE_POR_USUARIO = "Usuario.buscarXPaciente";

public static final String MEDICO_POR_USUARIO = "Usuario.buscarXMedico";

public static final String BUSCAR_POR_USUARIO = "Usuario.buscarXUser";

@Id
@@ -12,13 +12,12 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="co.edu.eam.ingesoft.pa.hospitalizacion.web.controladores"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<classpathentry exported="true" kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
@@ -3,7 +3,7 @@
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/co.edu.eam.ingesoft.pa.hospitalizacion.web.controladores"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/java"/>
<property name="context-root" value="hospitalizacion-web"/>
<property name="java-output-path" value="/hospitalizacion-web/target/classes"/>
</wb-module>
@@ -0,0 +1,106 @@
package co.edu.eam.ingesoft.pa.hospitalizacion.web.controladores;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.inject.Named;
import javax.validation.constraints.NotNull;

import org.omnifaces.cdi.ViewScoped;
import org.omnifaces.util.Messages;

import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Cita;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Medicamento;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.MedicamentoRecetado;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.MedicamentosRecetadosPK;
import co.edu.eam.ingesoft.pa.negocio.beans.CitaEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.MedicamentoEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.MedicamentoRecetadoEJB;
import co.edu.eam.ingesoft.pa.negocio.dtos.MedicamentoRecetadoDTO;
import co.edu.eam.ingesoft.pa.negocio.excepciones.ExcepcionNegocio;

@Named("atenderCitaAjaxController")
@ViewScoped
public class AtenderCitaAjaxController implements Serializable{

/**
* cantidad del medicamento
*/
@NotNull(message = "Debe ingresar la cantidad")
private String cantidad;

/**
* dosis del medicamento
*/
@NotNull(message = "Debe ingresar la dosis")
private String dosis;
/**
* recomendaciones para el medicamento
*/
@NotNull(message = "Debe ingresar las recomendaciones")
private String recomendaciones;

@EJB
private MedicamentoEJB medicamentoEJB;

@EJB
private MedicamentoRecetadoEJB medicamentoRecetadoEJB;

@EJB
private CitaEJB citaEJB;

private Medicamento medicamentoSeleccionado;

private List<Medicamento> medicamentos;

private List<MedicamentoRecetadoDTO> medicamentosRecetados;


@PostConstruct
public void inicializar() {
try {
listarMedicamentos();
} catch (ExcepcionNegocio e1) {
Messages.addFlashGlobalError(e1.getMessage());
e1.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
Messages.addFlashGlobalInfo(e.getMessage());
e.printStackTrace();
}

}

public void listarMedicamentos(){
medicamentos = medicamentoEJB.listarMedicamentos();
}

public void listarMedicamentosRecetados(){
medicamentosRecetados = medicamentoRecetadoEJB.listarMedicamentosRecetados(1);
}

public void agregarRecetaMedica(){
MedicamentoRecetado mr = new MedicamentoRecetado();
Cita c = citaEJB.buscar(1);
mr.setCita(c);
mr.setCantidadRecetada(Integer.parseInt(cantidad));
mr.setDosis(dosis);
mr.setMedicamento(medicamentoSeleccionado);
mr.setDescripcion(recomendaciones);
mr.setReclamado(false);

medicamentoRecetadoEJB.crear(mr);
Messages.addFlashGlobalInfo("Se recetó el medicamento con exito!");
}

public void eliminarRecetaMedica(MedicamentoRecetadoDTO med){
Cita c = citaEJB.buscar(1);
MedicamentosRecetadosPK mrPk = new MedicamentosRecetadosPK();
mrPk.setCita(c.getId());
mrPk.setMedicamento(med.getId());
medicamentoRecetadoEJB.eliminar(mrPk);
Messages.addFlashGlobalInfo("Se eliminó el medicamento con recetado!");
}
}
File renamed without changes.
@@ -0,0 +1,257 @@
package co.edu.eam.ingesoft.pa.hospitalizacion.web.controladores;

import java.io.Serializable;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.inject.Named;

import org.omnifaces.cdi.ViewScoped;

import co.edu.eam.ingesoft.pa.negocio.beans.CirugiaEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.CitaEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.ExamenEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.MedicamentoEJB;

import co.edu.eam.ingesoft.pa.negocio.beans.PacienteEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.PatologiaEJB;

import co.edu.eam.ingesoft.pa.negocio.dtos.CirugiaHistorialDTO;
import co.edu.eam.ingesoft.pa.negocio.dtos.CitaHistorialDTO;
import co.edu.eam.ingesoft.pa.negocio.dtos.ExamenHistorialDTO;
import co.edu.eam.ingesoft.pa.negocio.dtos.MedicamentoEntregadoDTO;
import co.edu.eam.ingesoft.pa.negocio.dtos.PatologiaHistorialDTO;

@Named("historialController")
@ViewScoped
public class HistorialMedicoAjaxController implements Serializable {

@EJB
private PacienteEJB pacienteEJB;

@EJB
private CitaEJB citaEJB;

@EJB
private MedicamentoEJB medicamentoEJB;

@EJB
private ExamenEJB examenEJB;

@EJB
private PatologiaEJB patologiaEJB;

@EJB
private CirugiaEJB cirugiaEJB;

private String documentoBuscar;

private String nombrePaciente;

private String anotaciones;

private String descripcionExamen;

private String sintomas;

private List<CitaHistorialDTO> citas;

private List<MedicamentoEntregadoDTO> medicamentos;

private List<ExamenHistorialDTO> examenes;

private List<PatologiaHistorialDTO> patologias;

private List<CirugiaHistorialDTO> cirugias;

@PostConstruct
public void inicializar() {
System.out.print("yoloooooooooooooooo");
// pacientes = pacienteEJB.listarPacietes();

}

public void buscarHistorial() {
citas = citaEJB.listarCitaHistorial(Integer.parseInt(documentoBuscar));
nombrePaciente = citas.get(0).getNombrePaciente();
}

public void verCita(CitaHistorialDTO cita) {

anotaciones = cita.getAnotaciones();
llenarTodo(cita.getIdCita());

}

public void llenarTodo(String cita) {
medicamentos = medicamentoEJB.listarMedicamentoHistorial(Integer.parseInt(cita));
examenes = examenEJB.listarExamenesHistorial(Integer.parseInt(cita));
patologias = patologiaEJB.listarPatologiasHistorial(Integer.parseInt(cita));
cirugias = cirugiaEJB.listarCirugiasHistorial(Integer.parseInt(cita));
}

public void verResultadosExamen(ExamenHistorialDTO ex) {

descripcionExamen = ex.getDescripcionExamen();
}

public void verSintomas(PatologiaHistorialDTO pat) {

sintomas = pat.getSintomas();
}

/**
* @return the documentoBuscar
*/
public String getDocumentoBuscar() {
return documentoBuscar;
}

/**
* @param documentoBuscar
* the documentoBuscar to set
*/
public void setDocumentoBuscar(String documentoBuscar) {
this.documentoBuscar = documentoBuscar;
}

/**
* @return the nombrePaciente
*/
public String getNombrePaciente() {
return nombrePaciente;
}

/**
* @param nombrePaciente
* the nombrePaciente to set
*/
public void setNombrePaciente(String nombrePaciente) {
this.nombrePaciente = nombrePaciente;
}

/**
* @return the citas
*/
public List<CitaHistorialDTO> getCitas() {
return citas;
}

/**
* @param citas
* the citas to set
*/
public void setCitas(List<CitaHistorialDTO> citas) {
this.citas = citas;
}

/**
* @return the medicamentos
*/
public List<MedicamentoEntregadoDTO> getMedicamentos() {
return medicamentos;
}

/**
* @param medicamentos
* the medicamentos to set
*/
public void setMedicamentos(List<MedicamentoEntregadoDTO> medicamentos) {
this.medicamentos = medicamentos;
}

/**
* @return the sintomas
*/
public String getSintomas() {
return sintomas;
}

/**
* @param sintomas
* the sintomas to set
*/
public void setSintomas(String sintomas) {
this.sintomas = sintomas;
}

/**
* @return the examenes
*/
public List<ExamenHistorialDTO> getExamenes() {
return examenes;
}

/**
* @param examenes
* the examenes to set
*/
public void setExamenes(List<ExamenHistorialDTO> examenes) {
this.examenes = examenes;
}

/**
* @return the patologias
*/
public List<PatologiaHistorialDTO> getPatologias() {
return patologias;
}

/**
* @param patologias
* the patologias to set
*/
public void setPatologias(List<PatologiaHistorialDTO> patologias) {
this.patologias = patologias;
}

/**
* @return the cirugias
*/
public List<CirugiaHistorialDTO> getCirugias() {
return cirugias;
}

/**
* @param cirugias
* the cirugias to set
*/
public void setCirugias(List<CirugiaHistorialDTO> cirugias) {
this.cirugias = cirugias;
}

/**
* @return the anotaciones
*/
public String getAnotaciones() {
return anotaciones;
}

/**
* @param anotaciones
* the anotaciones to set
*/
public void setAnotaciones(String anotaciones) {
this.anotaciones = anotaciones;
}

/**
* @return the descripcionExamen
*/
public String getDescripcionExamen() {
return descripcionExamen;
}

/**
* @param descripcionExamen
* the descripcionExamen to set
*/
public void setDescripcionExamen(String descripcionExamen) {
this.descripcionExamen = descripcionExamen;
}

}
File renamed without changes.
@@ -1,7 +1,6 @@
package co.edu.eam.ingesoft.pa.hospitalizacion.web.controladores;

import java.io.Serializable;
import java.text.ParseException;
import java.util.List;

import javax.annotation.PostConstruct;
@@ -12,13 +11,10 @@
import org.omnifaces.util.Messages;

import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Cama;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Paciente;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Quirofano;
import co.edu.eam.ingesoft.avanzada.persistencia.enumeraciones.GeneroEnum;
import co.edu.eam.ingesoft.pa.negocio.beans.CamaEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.QuirofanoEJB;
import co.edu.eam.ingesoft.pa.negocio.dtos.CamaDTO;
import co.edu.eam.ingesoft.pa.negocio.excepciones.ExcepcionNegocio;

@ViewScoped
@Named("instalacontroller")
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,140 @@
package co.edu.eam.ingesoft.pa.hospitalizacion.web.controladores;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.inject.Named;

import org.omnifaces.cdi.ViewScoped;
import org.omnifaces.util.Messages;

import co.edu.eam.ingesoft.avanzada.persistencia.entidades.CaracterCita;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Cita;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Horario;
import co.edu.eam.ingesoft.pa.negocio.beans.CaracterCitaEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.CitaEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.HorarioEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.MedicoEJB;
import co.edu.eam.ingesoft.pa.negocio.dtos.CitaPendienteDTO;
import co.edu.eam.ingesoft.pa.negocio.dtos.MedicoDisponibleDTO;
import co.edu.eam.ingesoft.pa.negocio.excepciones.ExcepcionNegocio;

@Named("pedirCitaAjaxController")
@ViewScoped
public class PedirCitaAjaxController implements Serializable{

private int medicoSeleccionado;

private List<MedicoDisponibleDTO> medicos;

private Horario horarioSeleccionado;

private List<Horario> horarios;

private CaracterCita caracterSeleccionado;

private List<CaracterCita> caracteres;

private List<CitaPendienteDTO> citasPendientes;

@EJB
private MedicoEJB medicoEJB;

@EJB
private HorarioEJB horarioEJB;

@EJB
private CitaEJB citaEJB;

@EJB
private CaracterCitaEJB caracterCitaEJB;

@PostConstruct
public void inicializar() {
try {
listarMedicosDisponibles();
listarCaracterCita();
} catch (ExcepcionNegocio e1) {
Messages.addFlashGlobalError(e1.getMessage());
e1.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
Messages.addFlashGlobalInfo(e.getMessage());
e.printStackTrace();
}

}

public void listarCitasPEndientes(){
citasPendientes = citaEJB.listarCitasPendientes(1);
}

public void listarMedicosDisponibles(){
medicos = medicoEJB.listarMedicosDisponibles();
}

public void listarCaracterCita(){
caracteres = caracterCitaEJB.listarCaracterCita();
}

public void listarHorariosMedico(){
if(medicoSeleccionado!=0){
horarios = horarioEJB.listarHorariosMedicoDisponible(medicoSeleccionado);
}
}

public void cancelarCita(CitaPendienteDTO cita){
citaEJB.eliminar(cita.getId());
}

public int getMedicoSeleccionado() {
return medicoSeleccionado;
}

public void setMedicoSeleccionado(int medicoSeleccionado) {
this.medicoSeleccionado = medicoSeleccionado;
}

public List<MedicoDisponibleDTO> getMedicos() {
return medicos;
}

public void setMedicos(List<MedicoDisponibleDTO> medicos) {
this.medicos = medicos;
}

public Horario getHorarioSeleccionado() {
return horarioSeleccionado;
}

public void setHorarioSeleccionado(Horario horarioSeleccionado) {
this.horarioSeleccionado = horarioSeleccionado;
}

public List<Horario> getHorarios() {
return horarios;
}

public void setHorarios(List<Horario> horarios) {
this.horarios = horarios;
}

public CaracterCita getCaracterSeleccionado() {
return caracterSeleccionado;
}

public void setCaracterSeleccionado(CaracterCita caracterSeleccionado) {
this.caracterSeleccionado = caracterSeleccionado;
}

public List<CaracterCita> getCaracteres() {
return caracteres;
}

public void setCaracteres(List<CaracterCita> caracteres) {
this.caracteres = caracteres;
}

}
@@ -0,0 +1,309 @@
package co.edu.eam.ingesoft.pa.hospitalizacion.web.controladores;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.inject.Named;

import org.omnifaces.cdi.ViewScoped;
import org.omnifaces.util.Messages;

import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Cama;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Cirugia;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.CitaCirugia;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Horario;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.HorarioMedico;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.HorarioMedicoPK;
import co.edu.eam.ingesoft.avanzada.persistencia.entidades.Quirofano;
import co.edu.eam.ingesoft.pa.negocio.beans.CamaEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.CirugiaEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.CitaCirugiaEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.CitaEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.HorarioEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.HorarioMedicoEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.MedicoEJB;
import co.edu.eam.ingesoft.pa.negocio.beans.QuirofanoEJB;
import co.edu.eam.ingesoft.pa.negocio.dtos.CamaDTO;
import co.edu.eam.ingesoft.pa.negocio.dtos.MedicoDisponibleDTO;

@ViewScoped
@Named("remitircirugiacontroller")
public class RemitirCirugiaAjaxController implements Serializable {

@EJB
private CitaCirugiaEJB citaCirugiaEJB;

@EJB
private CirugiaEJB cirugiaEJB;

@EJB
private QuirofanoEJB quirofanoEJB;

@EJB
private MedicoEJB medicoEJB;

@EJB
private HorarioEJB horarioEJB;

@EJB
private CitaEJB citaEJB;

@EJB
private HorarioMedicoEJB horarioMedicoEJB;

// Componentes de citacirugia

private String idCita;

private String cedulaPaciente;

private String nombrePaciente;

private Cirugia cirugiaSeleccionada;

private List<Cirugia> cirugias;

private Quirofano quirofanoSeleccionado;

private List<Quirofano> quirofanos;

private Date fecha;

private int medicoSeleccionado;

private List<MedicoDisponibleDTO> medicos;

private Horario horarioSeleccionado;

private List<Horario> horarios;

@PostConstruct
public void inicializar() {

// listarCombos();
// pacientes = pacienteEJB.listarPacietes();

}

public void listarCombos() {

try {

cirugias = cirugiaEJB.listarCirugia();
quirofanos = quirofanoEJB.listaQuirofano();

} catch (Exception e) {
Messages.addFlashGlobalError(e.getMessage());
e.printStackTrace();
}
}

// registrar
public void remitirCirugia() {

try {

System.out.println("entro");

CitaCirugia citaCirugia = new CitaCirugia();

citaCirugia.setCirugia(cirugiaSeleccionada);
// citaCirugia.setCita(cita);
citaCirugia.setFecha(fecha);
HorarioMedicoPK hmPK = new HorarioMedicoPK();
hmPK.setHorario(horarioSeleccionado.getId());
hmPK.setMedico(medicoSeleccionado);
HorarioMedico horarioMedico = horarioMedicoEJB.buscar(hmPK);
citaCirugia.setHorarioMedico(horarioMedico);
citaCirugia.setQuirofano(quirofanoSeleccionado);

citaCirugiaEJB.crearCitaCirugia(citaCirugia);

Messages.addFlashGlobalInfo("Se ha hecho registrado la remision con exito");

} catch (Exception e) {
Messages.addFlashGlobalError(e.getMessage());
e.printStackTrace();
}
}

/**
* @return the idCita
*/
public String getIdCita() {
return idCita;
}

/**
* @param idCita
* the idCita to set
*/
public void setIdCita(String idCita) {
this.idCita = idCita;
}

/**
* @return the cedulaPaciente
*/
public String getCedulaPaciente() {
return cedulaPaciente;
}

/**
* @param cedulaPaciente
* the cedulaPaciente to set
*/
public void setCedulaPaciente(String cedulaPaciente) {
this.cedulaPaciente = cedulaPaciente;
}

/**
* @return the nombrePaciente
*/
public String getNombrePaciente() {
return nombrePaciente;
}

/**
* @param nombrePaciente
* the nombrePaciente to set
*/
public void setNombrePaciente(String nombrePaciente) {
this.nombrePaciente = nombrePaciente;
}

/**
* @return the cirugias
*/
public List<Cirugia> getCirugias() {
return cirugias;
}

/**
* @param cirugias
* the cirugias to set
*/
public void setCirugias(List<Cirugia> cirugias) {
this.cirugias = cirugias;
}

/**
* @return the quirofanos
*/
public List<Quirofano> getQuirofanos() {
return quirofanos;
}

/**
* @param quirofanos
* the quirofanos to set
*/
public void setQuirofanos(List<Quirofano> quirofanos) {
this.quirofanos = quirofanos;
}

/**
* @return the fecha
*/
public Date getFecha() {
return fecha;
}

/**
* @param fecha
* the fecha to set
*/
public void setFecha(Date fecha) {
this.fecha = fecha;
}

/**
* @return the cirugiaSeleccionada
*/
public Cirugia getCirugiaSeleccionada() {
return cirugiaSeleccionada;
}

/**
* @param cirugiaSeleccionada the cirugiaSeleccionada to set
*/
public void setCirugiaSeleccionada(Cirugia cirugiaSeleccionada) {
this.cirugiaSeleccionada = cirugiaSeleccionada;
}

/**
* @return the quirofanoSeleccionado
*/
public Quirofano getQuirofanoSeleccionado() {
return quirofanoSeleccionado;
}

/**
* @param quirofanoSeleccionado the quirofanoSeleccionado to set
*/
public void setQuirofanoSeleccionado(Quirofano quirofanoSeleccionado) {
this.quirofanoSeleccionado = quirofanoSeleccionado;
}

/**
* @return the medicoSeleccionado
*/
public int getMedicoSeleccionado() {
return medicoSeleccionado;
}

/**
* @param medicoSeleccionado the medicoSeleccionado to set
*/
public void setMedicoSeleccionado(int medicoSeleccionado) {
this.medicoSeleccionado = medicoSeleccionado;
}

/**
* @return the medicos
*/
public List<MedicoDisponibleDTO> getMedicos() {
return medicos;
}

/**
* @param medicos the medicos to set
*/
public void setMedicos(List<MedicoDisponibleDTO> medicos) {
this.medicos = medicos;
}

/**
* @return the horarioSeleccionado
*/
public Horario getHorarioSeleccionado() {
return horarioSeleccionado;
}

/**
* @param horarioSeleccionado the horarioSeleccionado to set
*/
public void setHorarioSeleccionado(Horario horarioSeleccionado) {
this.horarioSeleccionado = horarioSeleccionado;
}

/**
* @return the horarios
*/
public List<Horario> getHorarios() {
return horarios;
}

/**
* @param horarios the horarios to set
*/
public void setHorarios(List<Horario> horarios) {
this.horarios = horarios;
}



}
@@ -42,22 +42,22 @@
<h:selectOneMenu id="tftipomedico" class="form-control" value="#{medicoajaxcontroller.tipoMedicoSeleccionado}">
<f:selectItem itemValue="0" itemLabel="Seleccione..." />
<f:selectItems value="#{medicoajaxcontroller.listaTipoMedico}" var="tipo"
itemValue="#{tipo.id}" itemLabel="#{tipo.descripcion}"/>
itemValue="#{tipo}" itemLabel="#{tipo.descripcion}"/>
</h:selectOneMenu>
<p:message for="tftipomedico" />

<p:outputLabel for="cbdptomed" id="lbdptomed" value="Departamento" />
<h:selectOneMenu id="cbdptomed" class="form-control" value="#{medicoajaxcontroller.dptoSeleccionado}">
<f:selectItems value="#{medicoajaxcontroller.listaDptos}" var="dpto"
itemValue="#{dpto.id}" itemLabel="#{dpto.descripcion}"/>
itemValue="#{dpto}" itemLabel="#{dpto.descripcion}"/>
<f:ajax event="change" execute="@this" render="cbmunicipio" listener="#{medicoajaxcontroller.listarMunicipios}"/>
</h:selectOneMenu>
<p:message for="lbdptomed" />

<p:outputLabel for="cbmunicipiomed" id="lbmunicipiomed" value="Municipio" />
<h:selectOneMenu id="cbmunicipiomed" class="form-control" value="#{medicoajaxcontroller.municipioSeleccionado}">
<f:selectItems value="#{medicoajaxcontroller.listaMunicipios}" var="mun"
itemValue="#{mun.id}" itemLabel="#{mun.descripcion}"/>
itemValue="#{mun}" itemLabel="#{mun.descripcion}"/>
</h:selectOneMenu>
<p:message for="lbmunicipiomed" />

@@ -13,15 +13,15 @@
<h:panelGrid id="buscarhistorial" columns="3">
<p:outputLabel id="lblcedulahistorial" value="Cedula del paciente:" />
<p:inputText id="tfcedulahistorial"
value="#{customerController.numerodocumento}" />
value="#{historialController.documentoBuscar}" />
<p:commandButton styleClass="ui-priority-primary" value="Buscar"
process="@this tfcedulahistorial " update="" action="#" />

<p:outputLabel id="lblnombrehistorial" value="Nombre del paciente:" />
<br />
<br />
<p:outputLabel id="lblnombremostrarhistorial"
value=" #{customerController.numerodocumento}" />
value=" #{historialController.nombrePaciente}" />


</h:panelGrid>
@@ -36,49 +36,67 @@
<h:panelGrid id="citashistorial" columns="4">

<p:dataTable id="tablaClientes"
value="#{customerController.customers}" var="cus" border="1">
value="#{historialController.citas}" var="cit" border="1">
<p:column>
<f:facet name="header">
Fecha
</f:facet>
<!-- El label es el valor del atributo -->
<h:outputLabel value="#{cus.idType}" />
<h:outputLabel value="#{cit.fecha}" />
</p:column>

<p:column>
<f:facet name="header">
Hora
</f:facet>
<h:outputLabel value="#{cus.idNum}" />
<h:outputLabel value="#{cit.hora}" />
</p:column>

<p:column>
<f:facet name="header">
Medico
</f:facet>
<h:outputLabel value="#{cus.name}" />
<h:outputLabel value="#{cit.nombreMedico}" />
</p:column>

<p:column headerText="Ver cita">
<p:commandButton action="#" process="@this"
value="#{msj['asociacioncuenta.verificar']}"
update="tablaCuentasAsociadas" />
<p:column headerText="Opciones">
<p:commandButton action="#{historialController.verCita(cit)}"
process="@this" value="Ver cita"
update="buspacientehistorialpaciente" />
</p:column>
</p:dataTable>

<p:panel id="panelanotacioncita" header="Anotaciones de la cita"
style="margin-left:20px">

<p:inputTextarea id="tfanotacioncita"
value="#{customerController.numerodocumento}" />
value="#{historialController.anotaciones}" />

</p:panel>

<p:panel id="panelmedicamentoscita" header="Medicamentos recetados"
style="margin-left:20px">
<p:panel id="panelmedicamentoscita"
header="Medicamentos recetados" style="margin-left:20px">

<p:dataTable id="tablaClientes"
value="#{historialController.medicamentos}" var="med"
border="1">
<p:column>
<f:facet name="header">
Medicamento
</f:facet>
<!-- El label es el valor del atributo -->
<h:outputLabel value="#{med.medicamentoDescripcion}" />
</p:column>

<p:column>
<f:facet name="header">
Cantidad
</f:facet>
<h:outputLabel value="#{med.cantidad}" />
</p:column>

</p:dataTable>

<p:inputTextarea id="tfmedicamentoscita"
value="#{customerController.numerodocumento}" />

</p:panel>

@@ -88,119 +106,121 @@
</p:accordionPanel>


<h:panelGrid id="examenfermedadhistorial" columns="2">
<p:accordionPanel>
<h:panelGrid id="examenfermedadhistorial" columns="2">
<p:accordionPanel>

<p:tab title="Examenes">
<p:tab title="Examenes">

<h:panelGrid id="examhistorialkk" columns="2">
<h:panelGrid id="examhistorialkk" columns="2">

<p:dataTable id="tablaExamenHistorial"
value="#{customerController.customers}" var="cus" border="1">
<p:column>
<f:facet name="header">
<p:dataTable id="tablaExamenHistorial"
value="#{historialController.examenes}" var="ex" border="1">
<p:column>
<f:facet name="header">
Examen
</f:facet>
<!-- El label es el valor del atributo -->
<h:outputLabel value="#{cus.idType}" />
</p:column>
<!-- El label es el valor del atributo -->
<h:outputLabel value="#{ex.nombreExamen}" />
</p:column>

<p:column headerText="Ver resultados">
<p:commandButton action="#" process="@this"
value="#{msj['asociacioncuenta.verificar']}"
update="tablaCuentasAsociadas" />
</p:column>
</p:dataTable>
<p:column headerText="Opciones">
<p:commandButton
action="#{historialController.verResultadosExamen(ex)}"
process="@this" value="Ver resultados"
update="resultadoexamenhistorial" />
</p:column>
</p:dataTable>

<p:panel id="resultadoexamenhistorial" header="Resultado"
style="margin-left:20px">
<p:panel id="resultadoexamenhistorial"
header="Descripcion examen" style="margin-left:20px">

<p:inputTextarea id="tfresultadoexamenhistorial"
value="#{customerController.numerodocumento}" />
<p:inputTextarea id="tfresultadoexamenhistorial"
value="#{historialController.descripcionExamen}" />

</p:panel>
</p:panel>

</h:panelGrid>
</h:panelGrid>

</p:tab>
</p:tab>

</p:accordionPanel>
</p:accordionPanel>

<p:accordionPanel style="margin-left:20px">
<p:accordionPanel style="margin-left:20px">

<p:tab title="Patologia">
<p:tab title="Patologia">

<h:panelGrid id="patolhistorialkk" columns="2">
<h:panelGrid id="patolhistorialkk" columns="2">

<p:dataTable id="tablaExamenHistorial"
value="#{customerController.customers}" var="cus" border="1">
<p:column>
<f:facet name="header">
<p:dataTable id="tablaExamenHistorial"
value="#{historialController.patologias}" var="pat" border="1">
<p:column>
<f:facet name="header">
Patologia
</f:facet>
<!-- El label es el valor del atributo -->
<h:outputLabel value="#{cus.idType}" />
</p:column>
<!-- El label es el valor del atributo -->
<h:outputLabel value="#{pat.nombre}" />
</p:column>

<p:column headerText="Ver resultados">
<p:commandButton action="#" process="@this"
value="#{msj['asociacioncuenta.verificar']}"
update="tablaCuentasAsociadas" />
</p:column>
</p:dataTable>
<p:column headerText="Opciones">
<p:commandButton
action="#{historialController.verSintomas(pat)}"
process="@this" value="Ver sintomas"
update="tablaCuentasAsociadas" />
</p:column>
</p:dataTable>

<p:panel id="enfermdescripcionhistorial" header="Descripcion"
style="margin-left:20px">
<p:panel id="enfermsintomashistorial" header="Sintomas"
style="margin-left:20px">

<p:inputTextarea id="tfdescripcionenfermedadhistorial"
value="#{customerController.numerodocumento}" />
<p:inputTextarea id="tfdescripcionenfermedadhistorial"
value="#{historialController.sintomas}" />

</p:panel>
</p:panel>

</h:panelGrid>
</h:panelGrid>

</p:tab>
</p:tab>

</p:accordionPanel>
</p:accordionPanel>

</h:panelGrid>
<p:accordionPanel>
</h:panelGrid>

<p:accordionPanel>

<p:tab title="Procedimientos quirugicos">

<h:panelGrid id="cirugiashistorial" columns="2">

<p:dataTable id="tablaClientes"
value="#{customerController.customers}" var="cus" border="1">
value="#{historialController.cirugias}" var="ciru" border="1">
<p:column>
<f:facet name="header">
Cirugia
</f:facet>
<!-- El label es el valor del atributo -->
<h:outputLabel value="#{cus.idType}" />
<h:outputLabel value="#{ciru.descripcion}" />
</p:column>

<p:column>
<f:facet name="header">
Fecha
</f:facet>
<h:outputLabel value="#{cus.idNum}" />
<h:outputLabel value="#{ciru.fecha}" />
</p:column>

<p:column>
<f:facet name="header">
Duracion
</f:facet>
<h:outputLabel value="#{cus.name}" />
<h:outputLabel value="#{ciru.duracion}" />
</p:column>
</p:dataTable>

</h:panelGrid>
</p:tab>

</p:accordionPanel>

</p:panel>
</h:form>
</ui:define>
@@ -0,0 +1,69 @@
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui" template="/templates/index.xhtml">

<ui:define name="cuerpo">

<p:messages id="facesMessage" autoUpdate="true" globalOnly="true"
closable="true" />
<h:form prependId="false">

<p:fieldset legend="Datos de la cirugia" style="margin-top:10px">
<h:panelGrid id="datosmed" columns="3">

<p:outputLabel for=tfidcita id="idcitacirugia" value="Cita" />
<p:inputText id="tfidcita" class="form-control"
value="#{remitircirugiacontroller.idCita}" />
<p:message for="tfidcita" />

<p:outputLabel for="tfcedpaciente" id="cedpaciente"
value="Numero documento" />
<p:inputText id="tfcedpaciente" class="form-control"
placeholder="Numero documento"
value="#{remitircirugiacontroller.cedulaPaciente}" />
<p:message for="tfcedpaciente" />

<p:outputLabel for="tfnompaciente" id="nompaciente" value="Nombre" />
<p:inputText id="tfnompaciente" class="form-control"
placeholder="Nombre"
value="#{remitircirugiacontroller.nombrePaciente}" />
<p:message for="tfnompaciente" />

<p:outputLabel for="cbcirugiapac" id="lblcirugiapa" value="Cirugia" />
<h:selectOneMenu id="cbcirugiapac" class="form-control"
value="#{remitircirugiacontroller.cirugiaSeleccionada}">
<f:selectItems value="#{remitircirugiacontroller.cirugias}"
var="ciru" itemValue="#{ciru.id}" itemLabel="#{ciru.descripcion}" />
</h:selectOneMenu>
<p:message for="lblcirugiapa" />

<p:outputLabel for="tfquirofanopa" id="quirofanopa"
value="Quirofano" />
<h:selectOneMenu id="tfquirofanopa" class="form-control"
value="#{remitircirugiacontroller.quirofanoSeleccionado}">
<f:selectItem itemValue="0" itemLabel="Seleccione..." />
<f:selectItems value="#{remitircirugiacontroller.quirofanos}"
var="qui" itemValue="#{qui.id}" itemLabel="#{tipo.nombre}" />
</h:selectOneMenu>
<p:message for="tfquirofanopa" />

<p:outputLabel for="fechacirupa" value="Fecha:" />
<p:calendar id="fechacirupa"
value="#{remitircirugiacontroller.fecha}" showOn="fechacirupa" />


<h:panelGrid columns="2">
<p:commandButton styleClass="ui-priority-primary"
value="Registrar" action="#{remitircirugiacontroller.registrar}"
process="@this datosmed" update="datosmed panellistamed" />

</h:panelGrid>
</h:panelGrid>
</p:fieldset>

</h:form>
</ui:define>

</ui:composition>