From: maroni Date: Thu, 29 Mar 2012 13:08:33 +0000 (-0300) Subject: Implementação dos registros de Log de eventos! X-Git-Url: http://200.18.67.61/gitweb/?a=commitdiff_plain;h=2f5d1c392a6b8734420a014cf77b97d0a67f2858;p=simdecs2.git Implementação dos registros de Log de eventos! --- diff --git a/src/java/org/ufcspa/simdecs/comunicacao/MetodoConfiancaEtapa.java b/src/java/org/ufcspa/simdecs/comunicacao/MetodoConfiancaEtapa.java index bfbde48..dc14ac5 100644 --- a/src/java/org/ufcspa/simdecs/comunicacao/MetodoConfiancaEtapa.java +++ b/src/java/org/ufcspa/simdecs/comunicacao/MetodoConfiancaEtapa.java @@ -6,11 +6,16 @@ package org.ufcspa.simdecs.comunicacao; import java.io.IOException; import java.io.PrintWriter; +import java.util.Date; import javax.persistence.EntityManager; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.ufcspa.simdecs.entities.Log; +import org.ufcspa.simdecs.entities.Paciente; +import org.ufcspa.simdecs.entities.SessaoUsuario; +import org.ufcspa.simdecs.entities.TipoEventoLog; import org.ufcspa.simdecs.util.DbUtil; /** @@ -38,16 +43,56 @@ public class MetodoConfiancaEtapa extends HttpServlet { response.setHeader( "Cache-Control", "no-cache" ); EntityManager em = DbUtil.getInstance().getEntityManager(); - long pIdSessao = Long.parseLong(request.getParameter("idsessao")); - String pNivel = request.getParameter("nivelconfianca"); - String pEtapa = request.getParameter("etapa"); - - if (!pNivel.toLowerCase().equals("baixo") && !pNivel.toLowerCase().equals("medio") && !pNivel.toLowerCase().equals("alto")) + long pIdSessao = Long.parseLong(request.getParameter("idsessao")); + String pNivel = request.getParameter("nivelconfianca"); + String pEtapa = request.getParameter("etapa"); + long pIdPaciente = Long.parseLong(request.getParameter("idpaciente")); + String nivelConfianca; + String etapa; + + if (pNivel.toLowerCase().equals("baixo")) + nivelConfianca = Log.CONFIANCA_BAIXA; + else if(pNivel.toLowerCase().equals("medio")) + nivelConfianca = Log.CONFIANCA_MEDIA; + else if(pNivel.toLowerCase().equals("alto")) + nivelConfianca = Log.CONFIANCA_ALTA; + else return; - if (!pEtapa.toLowerCase().equals("diagnostico") && !pEtapa.toLowerCase().equals("investigacao") && !pEtapa.toLowerCase().equals("conduta")) + if (pEtapa.toLowerCase().equals("diagnostico")) + etapa = Log.ETAPA_DIAGNOSTICO; + else if(pEtapa.toLowerCase().equals("investigacao")) + etapa = Log.ETAPA_INVESTIGACAO; + else if (pEtapa.toLowerCase().equals("conduta")) + etapa = Log.ETAPA_CONDUTA; + else return; + // Registra Log + SessaoUsuario sessaoUsuario = em.find(SessaoUsuario.class, pIdSessao); + if (sessaoUsuario == null) + return; + + Paciente paciente = em.find(Paciente.class, pIdPaciente); + if (paciente == null) + return; + + if (!em.getTransaction().isActive()) + em.getTransaction().begin(); + + Log log = new Log(); + log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.CONFIANCA_ETAPA)); + log.setRede(paciente.getRede()); + log.setConfianca(nivelConfianca); + log.setEtapa(etapa); + log.setPaciente(paciente); + log.setCaso(sessaoUsuario.getCaso()); + log.setData(new Date()); + log.setSessaoUsuario(sessaoUsuario); + + em.persist(log); + em.getTransaction().commit(); + out.println( "" ); out.println(" "); diff --git a/src/java/org/ufcspa/simdecs/comunicacao/MetodoConfiancaInicial.java b/src/java/org/ufcspa/simdecs/comunicacao/MetodoConfiancaInicial.java index 3969560..712159f 100644 --- a/src/java/org/ufcspa/simdecs/comunicacao/MetodoConfiancaInicial.java +++ b/src/java/org/ufcspa/simdecs/comunicacao/MetodoConfiancaInicial.java @@ -6,11 +6,15 @@ package org.ufcspa.simdecs.comunicacao; import java.io.IOException; import java.io.PrintWriter; +import java.util.Date; import javax.persistence.EntityManager; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.ufcspa.simdecs.entities.Log; +import org.ufcspa.simdecs.entities.SessaoUsuario; +import org.ufcspa.simdecs.entities.TipoEventoLog; import org.ufcspa.simdecs.util.DbUtil; /** @@ -40,10 +44,37 @@ public class MetodoConfiancaInicial extends HttpServlet { EntityManager em = DbUtil.getInstance().getEntityManager(); long pIdSessao = Long.parseLong(request.getParameter("idsessao")); String pNivel = request.getParameter("nivelconfianca"); + String nivelConfianca; + + if (pNivel.toLowerCase().equals("baixo")) + nivelConfianca = Log.CONFIANCA_BAIXA; + else if(pNivel.toLowerCase().equals("medio")) + nivelConfianca = Log.CONFIANCA_MEDIA; + else if(pNivel.toLowerCase().equals("alto")) + nivelConfianca = Log.CONFIANCA_ALTA; + else + return; + - if (!pNivel.toLowerCase().equals("baixo") && !pNivel.toLowerCase().equals("medio") && !pNivel.toLowerCase().equals("alto")) + // Registra Log + SessaoUsuario sessaoUsuario = em.find(SessaoUsuario.class, pIdSessao); + if (sessaoUsuario == null) return; + + // Logo inicio do caso + if (!em.getTransaction().isActive()) + em.getTransaction().begin(); + Log log = new Log(); + log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.CONFIANCA_INICIAL)); + log.setConfianca(nivelConfianca); + log.setCaso(sessaoUsuario.getCaso()); + log.setData(new Date()); + log.setSessaoUsuario(sessaoUsuario); + + em.persist(log); + em.getTransaction().commit(); + out.println( "" ); out.println(" "); diff --git a/src/java/org/ufcspa/simdecs/comunicacao/MetodoFimCaso.java b/src/java/org/ufcspa/simdecs/comunicacao/MetodoFimCaso.java index 3a14317..148e908 100644 --- a/src/java/org/ufcspa/simdecs/comunicacao/MetodoFimCaso.java +++ b/src/java/org/ufcspa/simdecs/comunicacao/MetodoFimCaso.java @@ -6,11 +6,16 @@ package org.ufcspa.simdecs.comunicacao; import java.io.IOException; import java.io.PrintWriter; +import java.util.Date; import javax.persistence.EntityManager; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.ufcspa.simdecs.entities.Log; +import org.ufcspa.simdecs.entities.Paciente; +import org.ufcspa.simdecs.entities.SessaoUsuario; +import org.ufcspa.simdecs.entities.TipoEventoLog; import org.ufcspa.simdecs.util.DbUtil; /** @@ -40,6 +45,23 @@ public class MetodoFimCaso extends HttpServlet { EntityManager em = DbUtil.getInstance().getEntityManager(); long pIdSessao = Long.parseLong(request.getParameter("idsessao")); + // Registra Log + SessaoUsuario sessaoUsuario = em.find(SessaoUsuario.class, pIdSessao); + if (sessaoUsuario == null) + return; + + if (!em.getTransaction().isActive()) + em.getTransaction().begin(); + + Log log = new Log(); + log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.FIM_CASO)); + log.setCaso(sessaoUsuario.getCaso()); + log.setData(new Date()); + log.setSessaoUsuario(sessaoUsuario); + + em.persist(log); + em.getTransaction().commit(); + out.println( "" ); out.println(" "); diff --git a/src/java/org/ufcspa/simdecs/comunicacao/MetodoGravaHistorico.java b/src/java/org/ufcspa/simdecs/comunicacao/MetodoGravaHistorico.java index 54aa334..f01f964 100644 --- a/src/java/org/ufcspa/simdecs/comunicacao/MetodoGravaHistorico.java +++ b/src/java/org/ufcspa/simdecs/comunicacao/MetodoGravaHistorico.java @@ -6,11 +6,16 @@ package org.ufcspa.simdecs.comunicacao; import java.io.IOException; import java.io.PrintWriter; +import java.util.Date; import javax.persistence.EntityManager; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.ufcspa.simdecs.entities.Log; +import org.ufcspa.simdecs.entities.Paciente; +import org.ufcspa.simdecs.entities.SessaoUsuario; +import org.ufcspa.simdecs.entities.TipoEventoLog; import org.ufcspa.simdecs.util.DbUtil; /** @@ -41,6 +46,29 @@ public class MetodoGravaHistorico extends HttpServlet { long pIdSessao = Long.parseLong(request.getParameter("idsessao")); String pIdPaciente = request.getParameter("idpaciente"); + // Registra Log + SessaoUsuario sessaoUsuario = em.find(SessaoUsuario.class, pIdSessao); + if (sessaoUsuario == null) + return; + + Paciente paciente = em.find(Paciente.class, pIdPaciente); + if (paciente == null) + return; + + if (!em.getTransaction().isActive()) + em.getTransaction().begin(); + + Log log = new Log(); + log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.VISUALIZA_HISTORICO)); + log.setPaciente(paciente); + log.setRede(paciente.getRede()); + log.setCaso(sessaoUsuario.getCaso()); + log.setData(new Date()); + log.setSessaoUsuario(sessaoUsuario); + + em.persist(log); + em.getTransaction().commit(); + out.println( "" ); out.println(" "); diff --git a/src/java/org/ufcspa/simdecs/comunicacao/MetodoGravaLog.java b/src/java/org/ufcspa/simdecs/comunicacao/MetodoGravaLog.java index 9c6c2cf..e59bcd7 100644 --- a/src/java/org/ufcspa/simdecs/comunicacao/MetodoGravaLog.java +++ b/src/java/org/ufcspa/simdecs/comunicacao/MetodoGravaLog.java @@ -6,13 +6,13 @@ package org.ufcspa.simdecs.comunicacao; import java.io.IOException; import java.io.PrintWriter; -import java.util.Iterator; +import java.util.Date; import javax.persistence.EntityManager; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.ufcspa.simdecs.entities.Caso; +import org.ufcspa.simdecs.entities.*; import org.ufcspa.simdecs.util.DbUtil; /** @@ -31,6 +31,184 @@ public class MetodoGravaLog extends HttpServlet { * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ + + private long getIdFromUID(String pUID, String prefixo) { + String id = pUID.replaceAll(prefixo, ""); + id = id.substring(0, id.indexOf(":")); + return Long.parseLong(id); + } + + private long getIdPacienteFromUID(String pUID) { + String id = pUID.substring(pUID.indexOf(":paciente-") + ":paciente-".length()); + return Long.parseLong(id); + } + + private void registraLog(EntityManager em, SessaoUsuario sessaoUsuario, String pUID, boolean desmarcado) { + + // Sintoma vindo de NodoPaciente + if (pUID.toLowerCase().startsWith("sintoma-np-")) { + NodoPaciente nodoPaciente = em.find(NodoPaciente.class, getIdFromUID(pUID, "sintoma-np-")); + + if (!em.getTransaction().isActive()) + em.getTransaction().begin(); + + Log log = new Log(); + log.setSessaoUsuario(sessaoUsuario); + log.setCaso(sessaoUsuario.getCaso()); + log.setData(new Date()); + log.setEtapa(Log.ETAPA_INVESTIGACAO); + log.setNodo(nodoPaciente.getNodo()); + log.setDesmarcado(desmarcado); + log.setPaciente(nodoPaciente.getPaciente()); + log.setRede(nodoPaciente.getPaciente().getRede()); + log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.PERGUNTA_SINAL_SINTOMA)); + log.setDescricao("CLICOU SOBRE SINAL/SINTOMA INDICADO PELO PROFESSOR!"); + em.persist(log); + + em.getTransaction().commit(); + } + + // Sintoma vindo de Nodo + if (pUID.toLowerCase().startsWith("sintoma-nd-")) { + 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(); + + 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)); + log.setDescricao("CLICOU SOBRE SINAL/SINTOMA NAO INDICADO PELO PROFESSOR!"); + em.persist(log); + + 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)); + log.setDescricao("CLICOU SOBRE EXAME FISICO INDICADO PELO PROFESSOR!"); + em.persist(log); + + em.getTransaction().commit(); + + } + + // Exame complementar vindo de NodoPaciente + 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)); + log.setDescricao("CLICOU SOBRE EXAME COMPLEMENTAR INDICADO PELO PROFESSOR!"); + em.persist(log); + + em.getTransaction().commit(); + } +// ARRUMAR DO HISTORICO PARA BAIXO E REVISTAR TODOS OS DEMAIS LOGS SALVOS + // Historico médico + 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)); + log.setDescricao("CLICOU SOBRE O HISTORICO INDICADO PELO PROFESSOR!"); + em.persist(log); + + em.getTransaction().commit(); + } + + // Diagnostico + if (pUID.toLowerCase().startsWith("diagnostico-")) { + NodoPaciente nodoPaciente = em.find(NodoPaciente.class, getIdFromUID(pUID, "diagnostico-")); + + 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_DIAGNOSTICO); + log.setNodo(nodoPaciente.getNodo()); + log.setPaciente(nodoPaciente.getPaciente()); + log.setRede(nodoPaciente.getPaciente().getRede()); + log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.SELECIONA_DIAGNOSTICO)); + log.setDescricao("SELECIONOU O DIAGNOSTICO"); + em.persist(log); + + em.getTransaction().commit(); + } + + // Conduta + if (pUID.toLowerCase().startsWith("conduta-")) { + NodoPaciente nodoPaciente = em.find(NodoPaciente.class, getIdFromUID(pUID, "conduta-")); + + if (!em.getTransaction().isActive()) + em.getTransaction().begin(); + + 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(nodoPaciente.getNodo()); + log.setPaciente(nodoPaciente.getPaciente()); + log.setRede(nodoPaciente.getPaciente().getRede()); + log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.SELECIONA_CONDUTA)); + log.setDescricao("SELECIONOU A CONDUTA"); + em.persist(log); + + em.getTransaction().commit(); + } + + } + protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); @@ -48,6 +226,12 @@ public class MetodoGravaLog extends HttpServlet { if (pDesmarcado != null && !pDesmarcado.equals("")) desmarcado = true; + SessaoUsuario sessaoUsuario = em.find(SessaoUsuario.class, pIdSessao); + if (sessaoUsuario == null) + return; + + registraLog(em, sessaoUsuario, pUID, desmarcado); + out.println( "" ); boolean isPar; diff --git a/src/java/org/ufcspa/simdecs/comunicacao/MetodoIniciaCaso.java b/src/java/org/ufcspa/simdecs/comunicacao/MetodoIniciaCaso.java index 805857a..98c204d 100644 --- a/src/java/org/ufcspa/simdecs/comunicacao/MetodoIniciaCaso.java +++ b/src/java/org/ufcspa/simdecs/comunicacao/MetodoIniciaCaso.java @@ -137,7 +137,7 @@ public class MetodoIniciaCaso extends HttpServlet { em.persist(sessaoUsuario); em.flush(); - // Logo inicio do caso + // Logo inicio do caso. Log log = new Log(); log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.INICIO_CASO)); log.setCaso(caso); @@ -172,7 +172,7 @@ public class MetodoIniciaCaso extends HttpServlet { if (!nodo.getNodo().getTipo().equals(Nodo.SINAL_SINTOMA) && !nodo.getNodo().getTipo().equals(Nodo.HISTORICO)) continue; - out.println(" "); + out.println(" "); } // Sinais e sintomas inativos @@ -184,7 +184,7 @@ public class MetodoIniciaCaso extends HttpServlet { if (!nodo.getTipo().equals(Nodo.SINAL_SINTOMA) && !nodo.getTipo().equals(Nodo.HISTORICO)) continue; - out.println(" "); + out.println(" "); } out.println(" "); @@ -195,7 +195,7 @@ public class MetodoIniciaCaso extends HttpServlet { if (!nodo.getNodo().getTipo().equals(Nodo.EXAME_FISICO)) continue; - out.println(" "); + out.println(" "); } out.println(" "); @@ -205,7 +205,7 @@ public class MetodoIniciaCaso extends HttpServlet { if (!nodo.getNodo().getTipo().equals(Nodo.EXAME_COMPLEMENTAR)) continue; - out.println(" "); + out.println(" "); } out.println(" "); /* @@ -217,7 +217,7 @@ public class MetodoIniciaCaso extends HttpServlet { out.println(" "); } */ - out.println(" "); + out.println(" "); out.println(" "); @@ -229,7 +229,7 @@ public class MetodoIniciaCaso extends HttpServlet { .iterator(); while(itDiagnosticos.hasNext()) { Nodo nodo = itDiagnosticos.next(); - out.println(" "); + out.println(" "); } out.println(" "); @@ -240,7 +240,7 @@ public class MetodoIniciaCaso extends HttpServlet { .iterator(); while(itConduta.hasNext()) { Nodo nodo = itConduta.next(); - out.println(" "); + out.println(" "); } out.println(" "); out.println(" "); diff --git a/src/java/org/ufcspa/simdecs/comunicacao/MetodoRegistraAcao.java b/src/java/org/ufcspa/simdecs/comunicacao/MetodoRegistraAcao.java index 0bfb71e..69671f0 100644 --- a/src/java/org/ufcspa/simdecs/comunicacao/MetodoRegistraAcao.java +++ b/src/java/org/ufcspa/simdecs/comunicacao/MetodoRegistraAcao.java @@ -6,11 +6,16 @@ package org.ufcspa.simdecs.comunicacao; import java.io.IOException; import java.io.PrintWriter; +import java.util.Date; import javax.persistence.EntityManager; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.ufcspa.simdecs.entities.Log; +import org.ufcspa.simdecs.entities.Paciente; +import org.ufcspa.simdecs.entities.SessaoUsuario; +import org.ufcspa.simdecs.entities.TipoEventoLog; import org.ufcspa.simdecs.util.DbUtil; /** @@ -39,10 +44,60 @@ public class MetodoRegistraAcao extends HttpServlet { EntityManager em = DbUtil.getInstance().getEntityManager(); long pIdSessao = Long.parseLong(request.getParameter("idsessao")); - String pAcao = request.getParameter("acao"); -//Acoes: abre_investigacao, fecha_investigacao, abre_diagnostico, fecha_diagnostico, abre_conduta, fecha_conduta - out.println( "" ); + long pIdPaciente = Long.parseLong(request.getParameter("idpaciente")); + String pAcao = request.getParameter("acao"); //Acoes: abre_investigacao, fecha_investigacao, abre_diagnostico, fecha_diagnostico, abre_conduta, fecha_conduta + String acao; + String etapa; + + if (pAcao.toLowerCase().equals("abre_investigacao")) { + acao = Log.ACAO_ABERTURA; + etapa = Log.ETAPA_INVESTIGACAO; + } else if (pAcao.toLowerCase().equals("fecha_investigacao")) { + acao = Log.ACAO_FECHAMENTO; + etapa = Log.ETAPA_INVESTIGACAO; + } else if (pAcao.toLowerCase().equals("abre_diagnostico")) { + acao = Log.ACAO_ABERTURA; + etapa = Log.ETAPA_DIAGNOSTICO; + } else if (pAcao.toLowerCase().equals("fecha_diagnostico")) { + acao = Log.ACAO_FECHAMENTO; + etapa = Log.ETAPA_DIAGNOSTICO; + } else if (pAcao.toLowerCase().equals("abre_conduta")) { + acao = Log.ACAO_ABERTURA; + etapa = Log.ETAPA_CONDUTA; + } else if (pAcao.toLowerCase().equals("fecha_conduta")) { + acao = Log.ACAO_FECHAMENTO; + etapa = Log.ETAPA_CONDUTA; + } else + return; + + + // Registra Log + SessaoUsuario sessaoUsuario = em.find(SessaoUsuario.class, pIdSessao); + if (sessaoUsuario == null) + return; + + Paciente paciente = em.find(Paciente.class, pIdPaciente); + if (paciente == null) + return; + + if (!em.getTransaction().isActive()) + em.getTransaction().begin(); + Log log = new Log(); + log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.REGISTRO_ACAO)); + log.setAcao(acao); + log.setEtapa(etapa); + log.setPaciente(paciente); + log.setRede(paciente.getRede()); + log.setCaso(sessaoUsuario.getCaso()); + log.setData(new Date()); + log.setSessaoUsuario(sessaoUsuario); + + em.persist(log); + em.getTransaction().commit(); + + + out.println( "" ); //if (isPar) // out.println(" "); //else diff --git a/src/java/org/ufcspa/simdecs/comunicacao/MetodoSelecionaCaso.java b/src/java/org/ufcspa/simdecs/comunicacao/MetodoSelecionaCaso.java index d5f0800..9d62b12 100644 --- a/src/java/org/ufcspa/simdecs/comunicacao/MetodoSelecionaCaso.java +++ b/src/java/org/ufcspa/simdecs/comunicacao/MetodoSelecionaCaso.java @@ -48,6 +48,7 @@ public class MetodoSelecionaCaso extends HttpServlet { .iterator(); out.println( "" ); + while(it.hasNext()) { Caso caso = it.next(); out.println(" "); diff --git a/src/java/org/ufcspa/simdecs/entities/Log.java b/src/java/org/ufcspa/simdecs/entities/Log.java index a23291c..a69e20f 100644 --- a/src/java/org/ufcspa/simdecs/entities/Log.java +++ b/src/java/org/ufcspa/simdecs/entities/Log.java @@ -18,6 +18,18 @@ public class Log implements Serializable { private static final long serialVersionUID = 1L; + public static final String ETAPA_INVESTIGACAO = "INV"; + public static final String ETAPA_DIAGNOSTICO = "DIA"; + public static final String ETAPA_CONDUTA = "CON"; + + public static final String CONFIANCA_BAIXA = "BAI"; + public static final String CONFIANCA_MEDIA = "MED"; + public static final String CONFIANCA_ALTA = "ALT"; + + public static final String ACAO_ABERTURA = "ABR"; + public static final String ACAO_FECHAMENTO = "FEC"; + + @Id @SequenceGenerator(name="seqLog", sequenceName="SQLOG") @GeneratedValue(strategy=GenerationType.AUTO, generator="seqLog") @@ -52,7 +64,19 @@ public class Log implements Serializable { @JoinColumn(name="rede_id", nullable=true) private Rede rede; - @Column(name = "descricao") + @Column(length=3) + private String etapa; + + @Column(length=3) + private String confianca; + + @Column + private boolean desmarcado; + + @Column(length=3) + private String acao; + + @Column(name = "descricao", nullable=true) private String descricao; public Log(Date data, TipoEventoLog tipo, SessaoUsuario sessaoUsuario, Caso caso, Paciente paciente, Nodo nodo, Rede rede, String descricao) { @@ -69,6 +93,38 @@ public class Log implements Serializable { public Log() { } + public boolean isDesmarcado() { + return desmarcado; + } + + public void setDesmarcado(boolean desmarcado) { + this.desmarcado = desmarcado; + } + + public String getAcao() { + return acao; + } + + public void setAcao(String acao) { + this.acao = acao; + } + + + public String getConfianca() { + return confianca; + } + + public void setConfianca(String confianca) { + this.confianca = confianca; + } + + public String getEtapa() { + return etapa; + } + + public void setEtapa(String etapa) { + this.etapa = etapa; + } public Caso getCaso() { diff --git a/src/java/org/ufcspa/simdecs/entities/TipoEventoLog.java b/src/java/org/ufcspa/simdecs/entities/TipoEventoLog.java index bc3de0e..09623c2 100644 --- a/src/java/org/ufcspa/simdecs/entities/TipoEventoLog.java +++ b/src/java/org/ufcspa/simdecs/entities/TipoEventoLog.java @@ -16,7 +16,18 @@ import javax.persistence.*; public class TipoEventoLog implements Serializable { private static final long serialVersionUID = 1L; - public static String INICIO_CASO = "INICIO_CASO"; + public static String INICIO_CASO = "INICIO_CASO"; + public static String CONFIANCA_INICIAL = "CONFIANCA_INICIAL"; + public static String CONFIANCA_ETAPA = "CONFIANCA_ETAPA"; + public static String VISUALIZA_HISTORICO = "VISUALIZA_HISTORICO"; + public static String REGISTRO_ACAO = "REGISTRO_ACAO"; + public static String PERGUNTA_SINAL_SINTOMA = "PERGUNTA_SINAL_SINTOMA"; + public static String SOLICITA_EXAME_FISICO = "SOLICITA_EXAME_FISICO"; + public static String SOLICITA_EXAME_COMPLEMENTAR = "SOLICITA_EXAME_COMPLEMENTAR"; + public static String PERGUNTA_HISTORICO = "PERGUNTA_HISTORICO"; + public static String SELECIONA_DIAGNOSTICO = "SELECIONA_DIAGNOSTICO"; + public static String SELECIONA_CONDUTA = "SELECIONA_CONDUTA"; + public static String FIM_CASO = "FIM_CASO"; @Id private String id; diff --git a/src/java/org/ufcspa/simdecs/test/Teste.java b/src/java/org/ufcspa/simdecs/test/Teste.java index 7bc47ff..06428db 100644 --- a/src/java/org/ufcspa/simdecs/test/Teste.java +++ b/src/java/org/ufcspa/simdecs/test/Teste.java @@ -4,23 +4,24 @@ */ package org.ufcspa.simdecs.test; -import java.io.File; -import unbbayes.io.xmlbif.version6.XMLBIFIO; -import unbbayes.prs.Node; -import unbbayes.prs.bn.ProbabilisticNetwork; -import unbbayes.prs.bn.ProbabilisticNode; - /** * * @author maroni */ public class Teste { + private static long getIdFromUID(String pUID, String prefixo) { + String id = pUID.replaceAll(prefixo, ""); + id = id.substring(0, id.indexOf(":")); + return Long.parseLong(id); + } + + private static long getIdPacienteFromUID(String pUID) { + String id = pUID.substring(pUID.indexOf(":paciente-") + ":paciente-".length()); + return Long.parseLong(id); + } public static void main(String[] args) { - String resposta = "vinicius maroni"; - if (resposta.substring(0,1).equals(resposta.substring(0,1).toLowerCase())) - resposta = resposta.substring(0,1).toUpperCase() + resposta.substring(1); - System.out.println(resposta); - + System.out.println(getIdFromUID("sintoma-np-12:paciente-1", "sintoma-np-")); + System.out.println(getIdPacienteFromUID("sintoma-np-12:paciente-15")); } } diff --git a/web/login.xhtml b/web/login.xhtml index 26af0a4..b74f1be 100644 --- a/web/login.xhtml +++ b/web/login.xhtml @@ -33,7 +33,7 @@

- +