2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
5 package org.ufcspa.simdecs.comunicacao;
7 import java.io.PrintWriter;
9 import javax.persistence.EntityManager;
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
12 import org.ufcspa.simdecs.entities.Log;
13 import org.ufcspa.simdecs.entities.Paciente;
14 import org.ufcspa.simdecs.entities.SessaoUsuario;
15 import org.ufcspa.simdecs.entities.TipoEventoLog;
16 import org.ufcspa.simdecs.mediador.NegociacaoPedagogica;
22 public class MetodoRegistraAcao extends BaseComunicacao {
25 protected void executaServico(EntityManager em, HttpServletRequest request, HttpServletResponse response, PrintWriter out) throws Exception
27 response.setContentType("text/html;charset=UTF-8");
28 response.setContentType("text/xml");
29 response.setHeader("Cache-Control", "no-cache");
31 long pIdSessao = Long.parseLong(request.getParameter("idsessao"));
32 long pIdPaciente = Long.parseLong(request.getParameter("idpaciente"));
33 String pAcao = request.getParameter("acao"); //Acoes: abre_investigacao, fecha_investigacao, abre_diagnostico, fecha_diagnostico, abre_conduta, fecha_conduta
37 if (pAcao.toLowerCase().equals("abre_investigacao")) {
38 acao = Log.ACAO_ABERTURA;
39 etapa = Log.ETAPA_INVESTIGACAO;
40 } else if (pAcao.toLowerCase().equals("fecha_investigacao")) {
41 acao = Log.ACAO_FECHAMENTO;
42 etapa = Log.ETAPA_INVESTIGACAO;
43 } else if (pAcao.toLowerCase().equals("abre_diagnostico")) {
44 acao = Log.ACAO_ABERTURA;
45 etapa = Log.ETAPA_DIAGNOSTICO;
46 } else if (pAcao.toLowerCase().equals("fecha_diagnostico")) {
47 acao = Log.ACAO_FECHAMENTO;
48 etapa = Log.ETAPA_DIAGNOSTICO;
49 } else if (pAcao.toLowerCase().equals("abre_conduta")) {
50 acao = Log.ACAO_ABERTURA;
51 etapa = Log.ETAPA_CONDUTA;
52 } else if (pAcao.toLowerCase().equals("fecha_conduta")) {
53 acao = Log.ACAO_FECHAMENTO;
54 etapa = Log.ETAPA_CONDUTA;
61 SessaoUsuario sessaoUsuario = em.find(SessaoUsuario.class, pIdSessao);
62 if (sessaoUsuario == null) {
66 Paciente paciente = em.find(Paciente.class, pIdPaciente);
67 if (paciente == null) {
71 if (!em.getTransaction().isActive()) {
72 em.getTransaction().begin();
76 log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.REGISTRO_ACAO));
79 log.setPaciente(paciente);
80 log.setRede(paciente.getRede());
81 log.setCaso(sessaoUsuario.getCaso());
82 log.setData(new Date());
83 log.setSessaoUsuario(sessaoUsuario);
86 em.getTransaction().commit();
89 NegociacaoPedagogica negociacaoPedagogica = new NegociacaoPedagogica(pIdSessao, paciente);
91 out.println(negociacaoPedagogica.getIntervencao(etapa));
92 out.println("</xml>");