package br.com.elotech.websaude.integracao.esus.model;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import static br.com.elotech.websaude.integracao.esus.model.dao.Conexao.CONN;

public class VisitaDomiciliar {

  protected static String sql = "";
  protected static PreparedStatement pstmt;

  public ResultSet getDadosVisitaDomiciliar() throws SQLException {
    sql = "SELECT evi.*," +
      "       atd.vd_peso," +
      "       atd.vd_altura," +
      "       eqp.nu_ine as nu_ine," +
      "       mic.mic_descricao as usu_microarea," +
      "       atd.st_fora_area as usu_microarea_fa," +
      "       atd.turno," +
      "       tpi.no_cds_tipo_imovel," +
      "       atd.st_visita_compartilhada," +
      "       usu.usu_cpf" +
      " FROM esus_visita_domiciliar evi" +
      " JOIN atendimento atd ON evi.ate_codigo = atd.ate_codigo" +
      " JOIN usuario usu ON atd.usu_codigo = usu.usu_codigo" +
      " LEFT JOIN rl_ate_tipo_imovel tpi ON atd.ate_codigo = tpi.ate_codigo" +
      " LEFT JOIN tb_equipe eqp ON atd.usr_equipe_codigo=eqp.co_seq_equipe" +
      " LEFT JOIN microarea mic ON atd.microarea=mic.mic_codigo" +
      " WHERE uuid_ficha IS NULL OR uuid_ficha = ''";
    pstmt = CONN.prepareStatement(sql);
    return pstmt.executeQuery();
  }

  public ResultSet getCodigosVisita(int codVisita) throws SQLException {
    sql = "SELECT co_cds_visita_dom_motivo FROM rl_cds_visita_dom_motivo WHERE co_cds_visita_domiciliar = ?";
    pstmt = CONN.prepareStatement(sql);
    pstmt.setInt(1, codVisita);
    return pstmt.executeQuery();
  }

  public boolean atualizaStatus(String uuid, int codigo) throws SQLException {
    sql = "UPDATE esus_visita_domiciliar SET uuid_ficha = ? WHERE ate_codigo = ?";
    pstmt = CONN.prepareStatement(sql);
    pstmt.setString(1, uuid);
    pstmt.setInt(2, codigo);
    pstmt.executeUpdate();
    return true;
  }

}
