Exportação Fiscal : ECF e RMD (issue 8120)
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@62948 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
ca641ffaaf
commit
9c5f9e52f8
|
@ -1900,6 +1900,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
|
||||
Integer numeroInicial = null;
|
||||
Integer numeroFinal = null;
|
||||
|
||||
while (rs.next()) {
|
||||
String key = rs.getInt("num_rmd") + "|" + rs.getInt("num_formulario");
|
||||
|
||||
|
@ -1979,6 +1980,69 @@ public class FiscalHibernateDAO implements FiscalDAO {
|
|||
public List<ExportacaoRMDTipoDBP> buscarRegistroRMDTipoDBP(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
|
||||
List<ExportacaoRMDTipoDBP> retorno = new ArrayList<ExportacaoRMDTipoDBP>();
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(" select");
|
||||
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) as estado_origem,");
|
||||
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ed.cveestado ELSE eds.cveestado END) as estado_destino,");
|
||||
sb.append(" (CASE WHEN cos.codibge IS NULL THEN co.codibge ELSE cos.codibge END) as municipio_origem,");
|
||||
sb.append(" (CASE WHEN ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = (CASE WHEN s.aliasorigen_id IS NULL THEN ed.cveestado ELSE eds.cveestado END)) THEN 5357 ELSE 6357 END) as cod_operacao,");
|
||||
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredbaseicms ELSE eis.porcredbaseicms END) as red_base_calc_icms,");
|
||||
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredmunicipal ELSE eis.porcredmunicipal END) as porc_red_municipal,");
|
||||
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredestadual ELSE eis.porcredestadual END) as porc_red_estadual,");
|
||||
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.tributacaoimportacao ELSE eis.tributacaoimportacao END) as tributacao_importacao,");
|
||||
sb.append(" (CASE WHEN (nvl((CASE WHEN pos.parada_id IS NULL THEN pos.regionmetropolitana_id ELSE po.regionmetropolitana_id END),-1) = nvl((CASE WHEN pds.parada_id IS NULL THEN pds.regionmetropolitana_id ELSE pd.regionmetropolitana_id END),-2)) THEN 1 ELSE 0 END) as isenta,");
|
||||
sb.append(" (nvl(b.preciopagado,0) - nvl(b.importetaxaembarque,0) - nvl(b.importepedagio,0) - nvl(b.importeseguro,0) - nvl(b.importeoutros,0)) as valor_tarifa,");
|
||||
sb.append(" b.preciopagado as valor_total");
|
||||
sb.append(" from boleto b");
|
||||
sb.append(" join empresa e on e.empresa_id = b.empresacorrida_id");
|
||||
sb.append(" join parada po on po.parada_id = b.origen_id");
|
||||
sb.append(" join ciudad co on co.ciudad_id = po.ciudad_id");
|
||||
sb.append(" join estado eo on eo.estado_id = co.estado_id");
|
||||
sb.append(" join parada pd on pd.parada_id = b.destino_id");
|
||||
sb.append(" join ciudad cd on cd.ciudad_id = pd.ciudad_id");
|
||||
sb.append(" join estado ed on ed.estado_id = cd.estado_id");
|
||||
sb.append(" left join alias_servico s on s.origen_id = b.origen_id and s.destino_id = b.destino_id and s.corrida_id = b.corrida_id and s.ruta_id = b.ruta_id");
|
||||
sb.append(" left join parada pos on pos.parada_id = s.aliasorigen_id");
|
||||
sb.append(" left join ciudad cos on cos.ciudad_id = pos.ciudad_id");
|
||||
sb.append(" left join estado eos on eos.estado_id = cos.estado_id");
|
||||
sb.append(" left join parada pds on pds.parada_id = s.aliasdestino_id");
|
||||
sb.append(" left join ciudad cds on cds.ciudad_id = pds.ciudad_id");
|
||||
sb.append(" left join estado eds on eds.estado_id = cds.estado_id");
|
||||
sb.append(" join empresa_imposto ei on ei.empresa_id = b.empresacorrida_id and ei.estado_id = eo.estado_id");
|
||||
sb.append(" left join empresa_imposto eis on eis.empresa_id = b.empresacorrida_id and eis.estado_id = eos.estado_id");
|
||||
sb.append(" where");
|
||||
sb.append(" b.activo = 1");
|
||||
sb.append(" and b.tipoventa_id = 3");
|
||||
sb.append(" and (b.indstatusboleto like 'V' or b.indstatusboleto like 'C')");
|
||||
sb.append(" and (CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END) = 1");
|
||||
sb.append(" and b.empresacorrida_id = ?");
|
||||
sb.append(" and (b.feccorrida >= ? and b.feccorrida >= ?)");
|
||||
sb.append(" and (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) like ?");
|
||||
|
||||
try {
|
||||
PreparedStatement ps = connection.prepareStatement(sb.toString());
|
||||
ps.setLong(1, Long.valueOf(empresaId));
|
||||
ps.setDate(2, new java.sql.Date(inicio.getTime()));
|
||||
ps.setDate(3, new java.sql.Date(fim.getTime()));
|
||||
ps.setString(4, cveestado);
|
||||
|
||||
ResultSet rs = ps.executeQuery();
|
||||
|
||||
ExportacaoRMDTipoDBP registro = null;
|
||||
|
||||
while (rs.next()) {
|
||||
registro = new ExportacaoRMDTipoDBP();
|
||||
|
||||
retorno.add(registro);
|
||||
}
|
||||
|
||||
rs.close();
|
||||
ps.close();
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
||||
return retorno;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue