package br.com.elotech.saude.scripts;

public abstract class AtendimentosClassificacaoScript {

    public static String getSql(){

      StringBuilder sb = new StringBuilder();
        sb.append(" SELECT")
          .append(" age.age_data AS data,")
          .append(" sum(CASE (pc.pc_clas_risco) WHEN 1 THEN 1 ELSE 0 END) AS imediato,")
          .append(" sum(CASE (pc.pc_clas_risco) WHEN 2 THEN 1 ELSE 0 END) AS muitoUrgente,")
          .append(" sum(CASE (pc.pc_clas_risco) WHEN 3 THEN 1 ELSE 0 END) AS urgente,")
          .append(" sum(CASE (pc.pc_clas_risco) WHEN 4 THEN 1 ELSE 0 END) AS poucoUrgente,")
          .append(" sum(CASE (pc.pc_clas_risco) WHEN 5 THEN 1 ELSE 0 END) AS naoUrgente,")
          .append(" uni.uni_desc AS unidade,")
          .append(" count(pc.pc_clas_risco) AS total")
          .append(" FROM pre_consulta AS pc")
          .append(" JOIN agendamento age ON age.age_codigo = pc.age_codigo")
          .append(" JOIN unidade uni ON age.uni_codigo = uni.uni_codigo")
          .append(" WHERE uni.uni_codigo = :unidade")
          .append(" AND age.age_data BETWEEN :dtInicial AND :dtFinal")
          .append(" GROUP BY age.age_data, uni.uni_desc")
          .append(" ORDER BY age.age_data ASC");
        return sb.toString();
    }


}
