cc087841fa836d842e0e92917bc3416e1be3cc8b
[simdecs2.git] / src / java / org / ufcspa / simdecs / comunicacao / MetodoGravaHistorico.java
1 /*
2  * To change this template, choose Tools | Templates
3  * and open the template in the editor.
4  */
5 package org.ufcspa.simdecs.comunicacao;
6
7 import java.io.PrintWriter;
8 import java.util.Date;
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;
17
18 /**
19  *
20  * @author maroni
21  */
22 public class MetodoGravaHistorico extends BaseComunicacao {
23
24     @Override
25     protected void executaServico(EntityManager em, HttpServletRequest request, HttpServletResponse response, PrintWriter out) throws Exception {
26         response.setContentType("text/html;charset=UTF-8");
27         response.setContentType("text/xml");
28         response.setHeader("Cache-Control", "no-cache");
29
30         long pIdSessao = Long.parseLong(request.getParameter("idsessao"));
31         String pIdPaciente = request.getParameter("idpaciente");
32
33         // Registra Log
34         SessaoUsuario sessaoUsuario = em.find(SessaoUsuario.class, pIdSessao);
35         if (sessaoUsuario == null) {
36             return;
37         }
38
39         Paciente paciente = em.find(Paciente.class, pIdPaciente);
40         if (paciente == null) {
41             return;
42         }
43
44         if (!em.getTransaction().isActive()) {
45             em.getTransaction().begin();
46         }
47
48         Log log = new Log();
49         log.setTipo(em.find(TipoEventoLog.class, TipoEventoLog.VISUALIZA_HISTORICO));
50         log.setPaciente(paciente);
51         log.setRede(paciente.getRede());
52         log.setCaso(sessaoUsuario.getCaso());
53         log.setData(new Date());
54         log.setSessaoUsuario(sessaoUsuario);
55
56         em.persist(log);
57         em.getTransaction().commit();
58
59         out.println("<xml>");
60
61 //            out.println("   <grava_historico registrado=\"sim\" />");
62 //        out.println("   <resposta_acao_mediador acao=\"sim\" problema=\"PROBLEMA: " + this.getClass() + "\" mensagem=\"MENSAGEM:" + this.getClass() + "\" />");
63         out.println("   <execucao sucesso=\"sim\" />" );
64         NegociacaoPedagogica negociacaoPedagogica = new NegociacaoPedagogica(pIdSessao, paciente);
65         out.println("<xml>");
66             out.println(negociacaoPedagogica.getIntervencao(Log.ETAPA_INVESTIGACAO));
67         out.println("</xml>");
68
69         out.println("</xml>");
70     }
71 }