public static ArrayList<bAssistecConsulta> getSintomas(
            String arg_prod,
            String cod_comp,
            String arg_serial,
            String arg_dt1,
            String arg_dt2) throws SQLException, ClassNotFoundException {

        ResultSet rs;
        ArrayList<bAssistecConsulta> sts = new ArrayList<bAssistecConsulta>();
        Connection conPol = conMgr.getConnection("PD");
        if (conPol == null) {
            throw new SQLException("Numero Maximo de Conexoes Atingida!");
        }
        String sql = "	SELECT "
                + "	  tb_assis_tec.cod_prod, "
                + "	  tb_assis_tec.cod_deposito, "
                + "	  tb_assis_tec.serial, "
                + "	  tb_tp_defeito.str_defeito, "
                + "	  tb_sintoma.str_sintoma, "
                + "	  tb_assistec_rep.tipo_montagem, "
                + "	  tb_assistec_rep.cod_comp, "
                + "	  tb_assistec_rep.pos_comp, "
                + "	  tb_assistec_rep.datareg, "
                + "	  tb_assistec_rep.str_compo, "
                + "	  tb_assis_tec.obs, "
                + "	  tb_operador.str_nome"
                + "	FROM "
                + "	  public.tb_assis_tec, "
                + "	  public.tb_assistec_rep, "
                + "	  public.tb_operador, "
                + "	  public.tb_tp_defeito, "
                + "	  public.tb_sintoma"
                + "	WHERE "
                + "	  tb_assis_tec.cod_assistec = tb_assistec_rep.cod_assistec AND"
                + "	  tb_assistec_rep.cod_tp_defeito = tb_tp_defeito.cod_tp_defeito AND"
                + "	  tb_operador.cod_cr = tb_assis_tec.cod_cr AND"
                + "	  tb_sintoma.cod_sintoma = tb_assistec_rep.cod_sintoma AND"
                + "       cod_prod like ? AND "
                + "       upper(cod_comp) like ? AND "
                + "       upper(serial) like ? AND "
                + "       datah BETWEEN TO_timestamp('" + arg_dt1 + "','DD/MM/YYYY HH24:MI:SS') AND TO_timestamp('" + arg_dt2 + "','DD/MM/YYYY HH24:MI:SS');";


        try {
            call = conPol.prepareCall(sql);
            call.setString(1, arg_prod + "%");
            call.setString(2, cod_comp.toUpperCase() + "%");
            call.setString(3, arg_serial.toUpperCase() + "%");
            rs = call.executeQuery();

            while (rs.next()) {
                bAssistecConsulta bObj = new bAssistecConsulta();
                bObj.setCod_prod(rs.getString("cod_prod"));
                bObj.setCod_deposito(rs.getInt("cod_deposito"));
                bObj.setSerial(rs.getString("serial"));
                bObj.setStr_tp_defeito(rs.getString("str_defeito"));
                bObj.setStr_sintoma(rs.getString("str_sintoma"));
                bObj.setTipo_montagem(rs.getString("tipo_montagem").charAt(0));
                bObj.setCod_comp(rs.getString("cod_comp"));
                bObj.setPos_comp(rs.getInt("pos_comp"));
                bObj.setDatahora(rs.getTimestamp("datareg"));
                bObj.setObs(rs.getString("obs"));
                bObj.setStr_cr_operador(rs.getString("str_nome"));
                bObj.setStr_compo(rs.getString("str_compo"));
                sts.add(bObj);
            }
            call.close();
        } finally {
            if (conPol != null) {
                conMgr.freeConnection("PD", conPol);
            }
        }
        return sts;
    }