public void imprimir(TYPE_PRINT bVisualizar) { PreparedStatement ps = null; ResultSet rs = null; StringBuilder sCab = new StringBuilder(); StringBuilder sql = new StringBuilder(); Blob fotoemp = FPrinterJob.getLogo(con); if (txtDatafim.getVlrDate().before(txtDataini.getVlrDate())) { Funcoes.mensagemInforma(this, "Data inicial maior que a data final!"); return; } sCab.append("Período de " + txtDataini.getVlrString() + " a " + txtDatafim.getVlrString()); if (txtCodAtend.getVlrInteger().intValue() > 0) { sCab.append(txtCodAtend.getVlrInteger().toString() + " - " + txtNomeAtend.getVlrString()); } if (!"".equals(txtCodUsu.getVlrString())) { sCab.append(" - Usuário: " + txtCodUsu.getVlrString()); } sql.append( "select e.nomeatend, a.idusuins, a.codatend, a.dataatendo, a.dtins , a.horaatendofin, a.hins, cast ( ( ( ( case when a.hins-a.horaatendofin>0 then "); sql.append(" a.hins-a.horaatendofin else 0 end) / 60 / 60 ) + ( "); sql.append("(a.dtins-a.dataatendo) * 24) / 24 ) as decimal(15,2) ) numdias , "); sql.append("cast ( ( (case when a.hins-a.horaatendofin>0 then "); sql.append("a.hins-a.horaatendofin else 0 end) / 60 / 60 ) + ( "); sql.append("(a.dtins-a.dataatendo) * 24) as decimal(15,2) ) qtdhorasint , "); sql.append( "cast( ( a.horaatendofin- a.horaatendo) / 60 / 60 as decimal(15,2) ) qtdhoras , ea.descespec, ea.codespec "); sql.append( "from atatendimento a, atatendente e, atespecatend ea where a.codemp=? and a.codfilial=? and a.dataatendo between ? and ? "); sql.append("and e.codemp=a.codempae and e.codfilial=a.codfilialae"); if (txtCodAtend.getVlrInteger() > 0) { sql.append(" and a.codatend=? "); } sql.append(" and e.codatend=a.codatend "); if (!"".equals(txtCodUsu.getVlrString())) { sql.append(" and a.idusuins=? "); } sql.append( " and ea.codemp=a.codempea and ea.codfilial=a.codfilialea and ea.codespec=a.codespec "); sql.append("order by "); sql.append(cbOrdem.getVlrString()); try { ps = con.prepareStatement(sql.toString()); int param = 1; ps.setInt(param++, Aplicativo.iCodEmp); ps.setInt(param++, ListaCampos.getMasterFilial("ATATENDIMENTO")); ps.setDate(param++, Funcoes.dateToSQLDate(txtDataini.getVlrDate())); ps.setDate(param++, Funcoes.dateToSQLDate(txtDatafim.getVlrDate())); if (txtCodAtend.getVlrInteger() > 0) { ps.setInt(param++, txtCodAtend.getVlrInteger()); } if (!"".equals(txtCodUsu.getVlrString())) { ps.setString(param++, txtCodUsu.getVlrString().toUpperCase()); } rs = ps.executeQuery(); } catch (Exception err) { Funcoes.mensagemErro( this, "Erro consulta Relatório de premiação!\n" + err.getMessage(), true, con, err); err.printStackTrace(); } imprimiGrafico(bVisualizar, rs, sCab.toString(), fotoemp); }