Advertisement
Pedr026

ControleClinica.java

Nov 28th, 2018
800
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.99 KB | None | 0 0
  1. package imc;
  2.  
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.FileOutputStream;
  6. import java.io.IOException;
  7. import java.io.ObjectInputStream;
  8. import java.io.ObjectOutputStream;
  9. import java.text.ParseException;
  10.  
  11. import javax.servlet.RequestDispatcher;
  12. import javax.servlet.ServletException;
  13. import javax.servlet.annotation.WebServlet;
  14. import javax.servlet.http.HttpServlet;
  15. import javax.servlet.http.HttpServletRequest;
  16. import javax.servlet.http.HttpServletResponse;
  17. import javax.xml.ws.Response;
  18.  
  19. @WebServlet("/ControleClinica")
  20. public class ControleClinica extends HttpServlet {
  21.  
  22.     private static final long serialVersionUID = 1L;
  23.  
  24.     private Clinica clinica = new Clinica("Clinica ADS");
  25.  
  26.     private Paciente selecionado;
  27.     private String aviso;
  28.  
  29.     public ControleClinica() {
  30.  
  31.         if (Paciente.gerador == 0) {
  32.             try {
  33.                 deserializar();
  34.             } catch (Exception e) {
  35.                 aviso = "Erro buscando dados";
  36.             }
  37.         }
  38.  
  39. //      Paciente p = new Paciente("Pedro Renan", "26/05/1999", 'M', 65f, 1.75f);
  40. //      Paciente q = new Paciente("John Kim", "27/02/1948", 'M', 69f, 1.82f);
  41. //      Paciente r = new Paciente("Martha Martineau", "18/01/1927", 'F', 51f, 1.63f);
  42. //      Paciente s = new Paciente("Cesar Newton", "23/06/1986", 'M', 81f, 1.84f);
  43. //      Paciente t = new Paciente("Ana Carollyna", "19/03/1999", 'F', 49f, 1.64f);
  44. //      Paciente u = new Paciente("Gary Perez", "23/08/2014", 'M', 14f, 0.88f);
  45. //      Paciente v = new Paciente("John Cox", "26/08/2015", 'M', 11f, 0.80f);
  46. //      Paciente w = new Paciente("Giovanna Barbosa", "04/01/1974", 'F', 64f, 1.69f);
  47. //     
  48. //       clinica.clear();
  49. //     
  50. //       clinica.add(p);
  51. //       clinica.add(q);
  52. //       clinica.add(r);
  53. //       clinica.add(s);
  54. //       clinica.add(t);
  55. //       clinica.add(u);
  56. //       clinica.add(v);
  57. //       clinica.add(w);
  58. //       
  59. //       try {
  60. //          serializar();
  61. //      } catch (Exception e) {
  62. //          // TODO Auto-generated catch block
  63. //          e.printStackTrace();
  64. //      }
  65.     }
  66.  
  67.     protected void doGet(HttpServletRequest request, HttpServletResponse response)
  68.             throws ServletException, IOException {
  69.         doPost(request, response);
  70.     }
  71.  
  72.     protected void doPost(HttpServletRequest request, HttpServletResponse response)
  73.             throws ServletException, IOException {
  74.  
  75.         String arquivo = "formClinica.jsp";
  76.  
  77.         String acao = request.getParameter("acao");
  78.  
  79.         if ("delete".equals(acao)) {
  80.             String id = request.getParameter("id");
  81.  
  82.             arquivo = "formClinica.jsp";
  83.  
  84.             try {
  85.  
  86.                 paciente(Integer.parseInt(id));
  87.  
  88.                 if (selecionado != null) {
  89.                     clinica.retira(selecionado);
  90.                     this.selecionado = null;
  91.                     clinica.getRelatorio();
  92.  
  93.                 }
  94.             } catch (Exception e) {
  95.                 aviso = "Erro buscando paciente para deletar;";
  96.             }
  97.         }
  98.  
  99.         try {
  100.             serializar();
  101.  
  102.         } catch (Exception e) {
  103.             aviso = "Erro buscando paciente para deletar;";
  104.         }
  105.  
  106.         RequestDispatcher rd = request.getRequestDispatcher(arquivo);
  107.  
  108.         rd.forward(request, response);
  109.     }
  110.  
  111.     public String getRelatorio() {
  112.         return clinica.getRelatorio();
  113.     }
  114.  
  115.     public void setPaciente(String id) {
  116.  
  117.         try {
  118.             if (id != null && !"".equals(id.trim())) {
  119.                 aviso = "";
  120.                 try {
  121.                     paciente(Integer.parseInt(id));
  122.                 } catch (Exception e) {
  123.                     aviso = "Código inválido";
  124.                 }
  125.             } else {
  126.                 limpa();
  127.             }
  128.         } catch (Exception e) {
  129.             //
  130.         }
  131.     }
  132.  
  133.     private void limpa() {
  134.         paciente(0);
  135.         aviso = "";
  136.         setNome("");
  137.         setNascimento("");
  138.         setPeso("");
  139.         setAltura("");
  140.         setSexo(" ");
  141.     }
  142.  
  143.     public void setNovo(String novo) {
  144.         aviso = "";
  145.         if (!"".equals(novo)) {
  146.             this.selecionado = new Paciente(novo, "", '?', 0, 0);
  147.             clinica.add(this.selecionado);
  148.         }
  149.     }
  150.  
  151.     public String getNomeClinica() {
  152.         return clinica.getNomeClinica();
  153.     }
  154.  
  155.     public String getAviso() {
  156.         return aviso;
  157.     }
  158.  
  159.     public Paciente getSelecionado() {
  160.         return this.selecionado;
  161.     }
  162.  
  163.     public String getNome() {
  164.         return selecionado != null ? selecionado.getNome() : "";
  165.     }
  166.  
  167.     public String getNascimento() throws ParseException {
  168.         return selecionado != null ? selecionado.getDtNascimento() : "";
  169.     }
  170.  
  171.     public String getDiagnostico() {
  172.         return selecionado != null ? selecionado.getImc().diagnostico() : "";
  173.     }
  174.  
  175.     public String getSexo() {
  176.         return selecionado != null ? selecionado.getSexo() + "" : "";
  177.     }
  178.  
  179.     public void setSexo(String sexo) {
  180.         if (selecionado != null && sexo.length() > 0) {
  181.             char s = sexo.toUpperCase().charAt(0);
  182.             if (s == 'F' || s == 'M') {
  183.                 this.selecionado.setSexo(s);
  184.             } else {
  185.                 aviso = "Sexo deve ser F ou M";
  186.                 clinica.retira(this.selecionado);
  187.                 this.selecionado = null;
  188.             }
  189.         }
  190.     }
  191.  
  192.     public String getImc() {
  193.         return selecionado != null ? selecionado.getImc().calcImc() + "" : "";
  194.     }
  195.  
  196.     public void setNome(String nome) {
  197.  
  198.         if (selecionado != null && !"".equals(nome))
  199.             this.selecionado.setNome(nome);
  200.     }
  201.  
  202.     public void setNascimento(String data) {
  203.  
  204.         if (selecionado != null && !"".equals(data))
  205.             this.selecionado.setDtNascimento(data);
  206.     }
  207.  
  208.     public void setPeso(String peso) {
  209.         try {
  210.             if (selecionado != null && !"".equals(peso)) {
  211.                 this.aviso = "";
  212.                 this.selecionado.setPeso(Float.parseFloat(peso));
  213.             }
  214.         } catch (Exception e) {
  215.             this.aviso = "Valor do peso inválido";
  216.         }
  217.     }
  218.  
  219.     public String getPeso() {
  220.         return selecionado != null ? this.selecionado.getPeso() + "" : "";
  221.     }
  222.  
  223.     public String getAltura() {
  224.         return selecionado != null ? this.selecionado.getAltura() + "" : "";
  225.     }
  226.  
  227.     public void setAltura(String altura) {
  228.         try {
  229.             if (selecionado != null && !"".equals(altura)) {
  230.                 this.aviso = "";
  231.                 this.selecionado.setAltura(Float.parseFloat(altura));
  232.             }
  233.         } catch (Exception e) {
  234.             this.aviso = "Valor da altura inválida";
  235.             clinica.retira(this.selecionado);
  236.             this.selecionado = null;
  237.         }
  238.     }
  239.  
  240.     public String getId() {
  241.         return selecionado != null ? selecionado.getId() + "" : "";
  242.     }
  243.  
  244.     public void serializar() throws Exception {
  245.  
  246.         if (clinica.getPacientes().size() > 0) {
  247.             FileOutputStream outFile = new FileOutputStream("C:\\Teste\\DadosClinica.dat");
  248.             ObjectOutputStream s = new ObjectOutputStream(outFile);
  249.             s.writeObject(clinica);
  250.             s.close();
  251.         }
  252.     }
  253.  
  254.     public void setSalvar(String dummy) {
  255.         try {
  256.  
  257.             serializar();
  258.  
  259.         } catch (Exception e) {
  260.             aviso = "Erro: " + e.getMessage();
  261.         }
  262.     }
  263.  
  264.     public void deserializar() throws Exception {
  265.  
  266.         File file = new File("C:\\Teste\\DadosClinica.dat");
  267.  
  268.         if (file.exists()) {
  269.  
  270.             FileInputStream inFile = new FileInputStream("C:\\Teste\\DadosClinica.dat");
  271.             ObjectInputStream d = new ObjectInputStream(inFile);
  272.             clinica = (Clinica) d.readObject();
  273.             d.close();
  274.             clinica.getRelatorio();
  275.             Paciente.setGerador(clinica.pegaMaiorId());
  276.         }
  277.     }
  278.  
  279.     public void paciente(int idPaciente) {
  280.         selecionado = null;
  281.         if (0 == idPaciente) {
  282.             return;
  283.         }
  284.         aviso = "";
  285.         for (Paciente paciente : clinica.getPacientes()) {
  286.  
  287.             if (idPaciente == paciente.getId()) {
  288.                 selecionado = paciente;
  289.                 return;
  290.             }
  291.         }
  292.         this.aviso = "Nao achei o paciente código: " + idPaciente + " " + clinica.getPacientes().size();
  293.     }
  294.  
  295. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement