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-87c2c4800839
master
alberto 2016-11-28 21:09:26 +00:00
parent ca641ffaaf
commit 9c5f9e52f8
1 changed files with 64 additions and 0 deletions

View File

@ -1900,6 +1900,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
Integer numeroInicial = null; Integer numeroInicial = null;
Integer numeroFinal = null; Integer numeroFinal = null;
while (rs.next()) { while (rs.next()) {
String key = rs.getInt("num_rmd") + "|" + rs.getInt("num_formulario"); 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) { public List<ExportacaoRMDTipoDBP> buscarRegistroRMDTipoDBP(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
List<ExportacaoRMDTipoDBP> retorno = new ArrayList<ExportacaoRMDTipoDBP>(); 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; return retorno;
} }
} }