import java.io.PrintWriter;
import java.util.Date;
+import java.util.Iterator;
import javax.persistence.EntityManager;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
return Long.parseLong(id);
}
- private String registraLog(EntityManager em, SessaoUsuario sessaoUsuario, String pUID, boolean desmarcado) {
+
+ private void registraLog(EntityManager em, SessaoUsuario sessaoUsuario, String etapa, Nodo nodo, Paciente paciente, boolean desmarcado, String tipoEvento) {
+
- String taticaPedagogica=null;
-
- // Sintoma vindo de NodoPaciente
- if (pUID.toLowerCase().startsWith("sintoma-np-")) {
- NodoPaciente nodoPaciente = em.find(NodoPaciente.class, getIdFromUID(pUID, "sintoma-np-"));
+ if (etapa.equals(Log.ETAPA_INVESTIGACAO)) {
+ Iterator itLogs = em.createQuery("From Log where sessaoUsuario.id=:pIdSessao and paciente.id=:pIdPaciente and etapa=:pEtapa and tipo.id=:pTipo and (nodo.id=:pIdNodo or :pIdNodo is null) and desmarcado=:pDesmarcado")
+ .setParameter("pIdSessao", sessaoUsuario.getId())
+ .setParameter("pIdPaciente", paciente.getId())
+ .setParameter("pEtapa", etapa)
+ .setParameter("pIdNodo", nodo.getId())
+ .setParameter("pDesmarcado", desmarcado)
+ .setParameter("pTipo", tipoEvento)
+ .getResultList().iterator();
+
+ while (itLogs.hasNext()) {
+ return;
+ }
+ }
if (!em.getTransaction().isActive())
em.getTransaction().begin();
log.setSessaoUsuario(sessaoUsuario);
log.setCaso(sessaoUsuario.getCaso());
log.setData(new Date());
- log.setEtapa(Log.ETAPA_INVESTIGACAO);
- log.setNodo(nodoPaciente.getNodo());
+ log.setEtapa(etapa);
+ log.setNodo(nodo);
log.setDesmarcado(desmarcado);
- log.setPaciente(nodoPaciente.getPaciente());
- log.setRede(nodoPaciente.getPaciente().getRede());
- log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.PERGUNTA_SINAL_SINTOMA));
+ log.setPaciente(paciente);
+ log.setRede(paciente.getRede());
+ log.setTipo(em.find(TipoEventoLog.class, tipoEvento));
em.persist(log);
em.getTransaction().commit();
-
+
+ }
+
+ private String registraLog(EntityManager em, SessaoUsuario sessaoUsuario, String pUID, boolean desmarcado) {
+
+ String taticaPedagogica=null;
+
+ // Sintoma vindo de NodoPaciente
+ if (pUID.toLowerCase().startsWith("sintoma-np-")) {
+ NodoPaciente nodoPaciente = em.find(NodoPaciente.class, getIdFromUID(pUID, "sintoma-np-"));
+
+ registraLog(em, sessaoUsuario, Log.ETAPA_INVESTIGACAO, nodoPaciente.getNodo(), nodoPaciente.getPaciente(), desmarcado, TipoEventoLog.PERGUNTA_SINAL_SINTOMA);
+
if (nodoPaciente.getNodo().getTaticaPedagogica() != null && nodoPaciente.getNodo().getTaticaPedagogica() != "")
taticaPedagogica = nodoPaciente.getNodo().getTaticaPedagogica();
}
Nodo nodo = em.find(Nodo.class, getIdFromUID(pUID, "sintoma-nd-"));
Paciente paciente = em.find(Paciente.class, getIdPacienteFromUID(pUID));
- if (!em.getTransaction().isActive())
- em.getTransaction().begin();
+ registraLog(em, sessaoUsuario, Log.ETAPA_INVESTIGACAO, nodo, paciente, desmarcado, TipoEventoLog.PERGUNTA_SINAL_SINTOMA);
- Log log = new Log();
- log.setSessaoUsuario(sessaoUsuario);
- log.setCaso(sessaoUsuario.getCaso());
- log.setDesmarcado(desmarcado);
- log.setData(new Date());
- log.setEtapa(Log.ETAPA_INVESTIGACAO);
- log.setNodo(nodo);
- log.setRede(paciente.getRede());
- log.setPaciente(paciente);
- log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.PERGUNTA_SINAL_SINTOMA));
- em.persist(log);
-
if (nodo.getTaticaPedagogica() != null && nodo.getTaticaPedagogica() != "")
taticaPedagogica = nodo.getTaticaPedagogica();
-
- em.getTransaction().commit();
}
// Exame físico vindo de NodoPaciente
if (pUID.toLowerCase().startsWith("exame-fisico-np-")) {
NodoPaciente nodoPaciente = em.find(NodoPaciente.class, getIdFromUID(pUID, "exame-fisico-np-"));
- if (!em.getTransaction().isActive())
- em.getTransaction().begin();
-
- Log log = new Log();
- log.setDesmarcado(desmarcado);
- log.setSessaoUsuario(sessaoUsuario);
- log.setCaso(sessaoUsuario.getCaso());
- log.setData(new Date());
- log.setEtapa(Log.ETAPA_INVESTIGACAO);
- log.setNodo(nodoPaciente.getNodo());
- log.setPaciente(nodoPaciente.getPaciente());
- log.setRede(nodoPaciente.getPaciente().getRede());
- log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.SOLICITA_EXAME_FISICO));
- em.persist(log);
-
- em.getTransaction().commit();
+ registraLog(em, sessaoUsuario, Log.ETAPA_INVESTIGACAO, nodoPaciente.getNodo(), nodoPaciente.getPaciente(), desmarcado, TipoEventoLog.SOLICITA_EXAME_FISICO);
if (nodoPaciente.getNodo().getTaticaPedagogica() != null && nodoPaciente.getNodo().getTaticaPedagogica() != "")
taticaPedagogica = nodoPaciente.getNodo().getTaticaPedagogica();
if (pUID.toLowerCase().startsWith("exame-complementar-np-")) {
NodoPaciente nodoPaciente = em.find(NodoPaciente.class, getIdFromUID(pUID, "exame-complementar-np-"));
- if (!em.getTransaction().isActive())
- em.getTransaction().begin();
-
- Log log = new Log();
- log.setDesmarcado(desmarcado);
- log.setSessaoUsuario(sessaoUsuario);
- log.setCaso(sessaoUsuario.getCaso());
- log.setData(new Date());
- log.setEtapa(Log.ETAPA_INVESTIGACAO);
- log.setNodo(nodoPaciente.getNodo());
- log.setPaciente(nodoPaciente.getPaciente());
- log.setRede(nodoPaciente.getPaciente().getRede());
- log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.SOLICITA_EXAME_COMPLEMENTAR));
- em.persist(log);
-
- em.getTransaction().commit();
+ registraLog(em, sessaoUsuario, Log.ETAPA_INVESTIGACAO, nodoPaciente.getNodo(), nodoPaciente.getPaciente(), desmarcado, TipoEventoLog.SOLICITA_EXAME_COMPLEMENTAR);
if (nodoPaciente.getNodo().getTaticaPedagogica() != null && nodoPaciente.getNodo().getTaticaPedagogica() != "")
taticaPedagogica = nodoPaciente.getNodo().getTaticaPedagogica();
if (pUID.toLowerCase().startsWith("historico-medico-")) {
Paciente paciente = em.find(Paciente.class, getIdPacienteFromUID(pUID));
- if (!em.getTransaction().isActive())
- em.getTransaction().begin();
-
- Log log = new Log();
- log.setDesmarcado(desmarcado);
- log.setSessaoUsuario(sessaoUsuario);
- log.setCaso(sessaoUsuario.getCaso());
- log.setData(new Date());
- log.setEtapa(Log.ETAPA_INVESTIGACAO);
- log.setPaciente(paciente);
- log.setRede(paciente.getRede());
- log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.PERGUNTA_HISTORICO));
- em.persist(log);
-
- em.getTransaction().commit();
+ registraLog(em, sessaoUsuario, Log.ETAPA_INVESTIGACAO, null, paciente, desmarcado, TipoEventoLog.PERGUNTA_HISTORICO);
}
// Diagnostico
Nodo nodo = em.find(Nodo.class, getIdFromUID(pUID, "diagnostico-"));
Paciente paciente = em.find(Paciente.class, getIdPacienteFromUID(pUID));
- if (!em.getTransaction().isActive())
- em.getTransaction().begin();
+ registraLog(em, sessaoUsuario, Log.ETAPA_DIAGNOSTICO, nodo, paciente, desmarcado, TipoEventoLog.SELECIONA_DIAGNOSTICO);
- Log log = new Log();
- log.setDesmarcado(desmarcado);
- log.setSessaoUsuario(sessaoUsuario);
- log.setCaso(sessaoUsuario.getCaso());
- log.setData(new Date());
- log.setEtapa(Log.ETAPA_DIAGNOSTICO);
- log.setNodo(nodo);
- log.setPaciente(paciente);
- log.setRede(paciente.getRede());
- log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.SELECIONA_DIAGNOSTICO));
- em.persist(log);
-
- em.getTransaction().commit();
if (nodo.getTaticaPedagogica() != null && nodo.getTaticaPedagogica() != "")
taticaPedagogica = nodo.getTaticaPedagogica();
}
Nodo nodo = em.find(Nodo.class, getIdFromUID(pUID, "conduta-"));
Paciente paciente = em.find(Paciente.class, getIdPacienteFromUID(pUID));
- if (!em.getTransaction().isActive())
- em.getTransaction().begin();
+ registraLog(em, sessaoUsuario, Log.ETAPA_CONDUTA, nodo, paciente, desmarcado, TipoEventoLog.SELECIONA_CONDUTA);
- Log log = new Log();
- log.setSessaoUsuario(sessaoUsuario);
- log.setDesmarcado(desmarcado);
- log.setCaso(sessaoUsuario.getCaso());
- log.setData(new Date());
- log.setEtapa(Log.ETAPA_CONDUTA);
- log.setNodo(nodo);
- log.setPaciente(paciente);
- log.setRede(paciente.getRede());
- log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.SELECIONA_CONDUTA));
- em.persist(log);
-
- em.getTransaction().commit();
if (nodo.getTaticaPedagogica() != null && nodo.getTaticaPedagogica() != "")
taticaPedagogica = nodo.getTaticaPedagogica();
}