julio 2017-03-29 20:20:26 +00:00
parent 8fa48a8b15
commit 4b30c3b3c2
5 changed files with 190 additions and 157 deletions

View File

@ -25,11 +25,11 @@ public interface FiscalDAO {
public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) throws SQLException; public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) throws SQLException;
public List<ImportacionFiscalVO> buscaDatosFiscaisECF(Date inicio, Date fim, Integer empresaId, boolean isNormal, boolean isCancelados, boolean isPendencias, Connection connection) throws SQLException; public List<ImportacionFiscalVO> buscaDatosFiscaisECF(Date inicio, Date fim, Integer empresaId, Integer estadoId, boolean isNormal, boolean isCancelados, boolean isPendencias, Connection connection) throws SQLException;
public List<ImportacionFiscalReducaoZVO> buscaDatosFiscaisReducaoZ(Date inicio, Date fim, Integer empresaId, boolean isPendencias, Connection connection) throws SQLException; public List<ImportacionFiscalReducaoZVO> buscaDatosFiscaisReducaoZ(Date inicio, Date fim, Integer empresaId, Integer estadoId, boolean isPendencias, Connection connection) throws SQLException;
public List<ImportacionManualFiscalVO> buscaDatosFiscaisECFManual(Date inicio, Date fim, Integer empresaId, Connection connection) throws SQLException; public List<ImportacionManualFiscalVO> buscaDatosFiscaisECFManual(Date inicio, Date fim, Integer empresaId, Integer estadoId, Connection connection) throws SQLException;
public List<ImportacionNaoFiscalVO> buscaDatosNaoFiscais(Date inicio, Date fim, Integer empresaId, Connection connection) throws SQLException; public List<ImportacionNaoFiscalVO> buscaDatosNaoFiscais(Date inicio, Date fim, Integer empresaId, Connection connection) throws SQLException;

View File

@ -64,7 +64,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
} }
@Override @Override
public List<ImportacionManualFiscalVO> buscaDatosFiscaisECFManual(Date inicio, Date fim, Integer empresaId, Connection connection) throws SQLException { public List<ImportacionManualFiscalVO> buscaDatosFiscaisECFManual(Date inicio, Date fim, Integer empresaId, Integer estadoId, Connection connection) throws SQLException {
PreparedStatement stmt = null; PreparedStatement stmt = null;
ResultSet rset = null; ResultSet rset = null;
@ -127,7 +127,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" and a.empresa_id = e.empresa_id "); sql.append(" and a.empresa_id = e.empresa_id ");
sql.append(" inner join clase_servicio cs ON cs.claseservicio_id = b.claseservicio_id "); sql.append(" inner join clase_servicio cs ON cs.claseservicio_id = b.claseservicio_id ");
sql.append("WHERE b.fechorventa BETWEEN ? AND ? "); sql.append("WHERE b.fechorventa BETWEEN ? AND ? ");
sql.append(" AND b.marca_id = ? "); sql.append(" AND be.empresacorrida_id = ? ");
sql.append(" AND eo.estado_id = ? ");
sql.append(" AND b.tipoventa_id = 3 "); sql.append(" AND b.tipoventa_id = 3 ");
sql.append(" AND (b.preciopagado > 0 OR b.importetaxaembarque > 0 OR b.importepedagio > 0) "); sql.append(" AND (b.preciopagado > 0 OR b.importetaxaembarque > 0 OR b.importepedagio > 0) ");
sql.append("GROUP BY r4.numserie20, "); sql.append("GROUP BY r4.numserie20, ");
@ -171,10 +172,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
stmt.setFetchSize(100); stmt.setFetchSize(100);
stmt.setTimestamp(1, new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime())); stmt.setTimestamp(1, new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime()));
stmt.setTimestamp(2, new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime())); stmt.setTimestamp(2, new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime()));
stmt.setInt(3, empresaId);
if (empresaId != null) { stmt.setInt(4, estadoId);
stmt.setInt(3, empresaId);
}
rset = stmt.executeQuery(); rset = stmt.executeQuery();
while (rset.next()) { while (rset.next()) {
@ -253,12 +252,14 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" ON ifi.fiscalimpressora_id = t2.fiscalimpressora_id "); sql.append(" ON ifi.fiscalimpressora_id = t2.fiscalimpressora_id ");
sql.append(" inner join empresa e ON (TRANSLATE(t2.cnpj, ' / - . ', ' ') = (TRANSLATE(e.cnpj, ' / - . ', ' ')) ) or "); sql.append(" inner join empresa e ON (TRANSLATE(t2.cnpj, ' / - . ', ' ') = (TRANSLATE(e.cnpj, ' / - . ', ' ')) ) or ");
sql.append(" (TRANSLATE(t2.cnpj, ' / - . ', ' ') in "); sql.append(" (TRANSLATE(t2.cnpj, ' / - . ', ' ') in ");
sql.append(" (select TRANSLATE(cnpj, ' / - . ', ' ') from inscricao_estadual where empresa_id = ? and activo = 1 )), "); sql.append(" (select TRANSLATE(cnpj, ' / - . ', ' ') from inscricao_estadual where empresa_id = ? and activo = 1 )) ");
sql.append(" inner join inscricao_estadual ie ON e.empresa_id = ie.empresa_id, ");
sql.append(" (SELECT numserie20, crz, totgeral "); sql.append(" (SELECT numserie20, crz, totgeral ");
sql.append(" FROM fiscal_r2) anterior "); sql.append(" FROM fiscal_r2) anterior ");
sql.append("WHERE r2.datamov BETWEEN ? AND ? "); sql.append("WHERE r2.datamov BETWEEN ? AND ? ");
sql.append(" AND r2.activo = 1 "); sql.append(" AND r2.activo = 1 ");
sql.append(" AND e.empresa_id = ? "); sql.append(" AND e.empresa_id = ? ");
sql.append(" AND ie.estado_id = ? ");
sql.append(" AND r3.totparcial IN ("); sql.append(" AND r3.totparcial IN (");
sql.append("'" + SituacaoTributaria.CANCELADO.getValue() + "'").append(", "); sql.append("'" + SituacaoTributaria.CANCELADO.getValue() + "'").append(", ");
sql.append("'" + SituacaoTributaria.DESCONTO.getValue() + "'").append(")"); sql.append("'" + SituacaoTributaria.DESCONTO.getValue() + "'").append(")");
@ -322,12 +323,14 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" ON ifi.fiscalimpressora_id = t2.fiscalimpressora_id "); sql.append(" ON ifi.fiscalimpressora_id = t2.fiscalimpressora_id ");
sql.append(" inner join empresa e ON (TRANSLATE(t2.cnpj, ' / - . ', ' ') = (TRANSLATE(e.cnpj, ' / - . ', ' ')) ) or "); sql.append(" inner join empresa e ON (TRANSLATE(t2.cnpj, ' / - . ', ' ') = (TRANSLATE(e.cnpj, ' / - . ', ' ')) ) or ");
sql.append(" (TRANSLATE(t2.cnpj, ' / - . ', ' ') in "); sql.append(" (TRANSLATE(t2.cnpj, ' / - . ', ' ') in ");
sql.append(" (select TRANSLATE(cnpj, ' / - . ', ' ') from inscricao_estadual where empresa_id = ? and activo = 1 )), "); sql.append(" (select TRANSLATE(cnpj, ' / - . ', ' ') from inscricao_estadual where empresa_id = ? and activo = 1 )) ");
sql.append(" inner join inscricao_estadual ie ON e.empresa_id = ie.empresa_id, ");
sql.append(" (SELECT numserie20, crz, totgeral "); sql.append(" (SELECT numserie20, crz, totgeral ");
sql.append(" FROM fiscal_r2) anterior "); sql.append(" FROM fiscal_r2) anterior ");
sql.append("WHERE r2.datamov BETWEEN ? AND ? "); sql.append("WHERE r2.datamov BETWEEN ? AND ? ");
sql.append(" AND r2.activo = 1 "); sql.append(" AND r2.activo = 1 ");
sql.append(" AND e.empresa_id = ? "); sql.append(" AND e.empresa_id = ? ");
sql.append(" AND ie.estado_id = ? ");
sql.append(" AND r3.totparcial not in ("); sql.append(" AND r3.totparcial not in (");
sql.append("'" + SituacaoTributaria.NAO_FISCAL.getValue() + "'").append(")"); sql.append("'" + SituacaoTributaria.NAO_FISCAL.getValue() + "'").append(")");
sql.append(" AND anterior.numserie20 = r2.numserie20 "); sql.append(" AND anterior.numserie20 = r2.numserie20 ");
@ -390,12 +393,14 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" ON ifi.fiscalimpressora_id = t2.fiscalimpressora_id "); sql.append(" ON ifi.fiscalimpressora_id = t2.fiscalimpressora_id ");
sql.append(" inner join empresa e ON (TRANSLATE(t2.cnpj, ' / - . ', ' ') = (TRANSLATE(e.cnpj, ' / - . ', ' ')) ) or "); sql.append(" inner join empresa e ON (TRANSLATE(t2.cnpj, ' / - . ', ' ') = (TRANSLATE(e.cnpj, ' / - . ', ' ')) ) or ");
sql.append(" (TRANSLATE(t2.cnpj, ' / - . ', ' ') in "); sql.append(" (TRANSLATE(t2.cnpj, ' / - . ', ' ') in ");
sql.append(" (select TRANSLATE(cnpj, ' / - . ', ' ') from inscricao_estadual where empresa_id = ? and activo = 1 )), "); sql.append(" (select TRANSLATE(cnpj, ' / - . ', ' ') from inscricao_estadual where empresa_id = ? and activo = 1 )) ");
sql.append(" inner join inscricao_estadual ie ON e.empresa_id = ie.empresa_id, ");
sql.append(" (SELECT numserie20, crz, totgeral "); sql.append(" (SELECT numserie20, crz, totgeral ");
sql.append(" FROM fiscal_r2) anterior "); sql.append(" FROM fiscal_r2) anterior ");
sql.append("WHERE r2.datamov BETWEEN ? AND ? "); sql.append("WHERE r2.datamov BETWEEN ? AND ? ");
sql.append(" AND r2.activo = 1 "); sql.append(" AND r2.activo = 1 ");
sql.append(" AND e.empresa_id = ? "); sql.append(" AND e.empresa_id = ? ");
sql.append(" AND ie.estado_id = ? ");
sql.append(" AND r3.totparcial not in ("); sql.append(" AND r3.totparcial not in (");
sql.append("'" + SituacaoTributaria.NAO_FISCAL.getValue() + "'").append(")"); sql.append("'" + SituacaoTributaria.NAO_FISCAL.getValue() + "'").append(")");
sql.append(" AND anterior.numserie20 = r2.numserie20 "); sql.append(" AND anterior.numserie20 = r2.numserie20 ");
@ -428,19 +433,19 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
} }
@Override @Override
public List<ImportacionFiscalReducaoZVO> buscaDatosFiscaisReducaoZ(Date inicio, Date fim, Integer empresaId, boolean isPendencias, Connection connection) throws SQLException { public List<ImportacionFiscalReducaoZVO> buscaDatosFiscaisReducaoZ(Date inicio, Date fim, Integer empresaId, Integer estadoId, boolean isPendencias, Connection connection) throws SQLException {
if (isPendencias) { if (isPendencias) {
List<ImportacionFiscalReducaoZVO> list = new ArrayList<ImportacionFiscalReducaoZVO>(); List<ImportacionFiscalReducaoZVO> list = new ArrayList<ImportacionFiscalReducaoZVO>();
list.addAll(montarItensReducaoZ(inicio, fim, empresaId, sqlFiscaisReducaoZPendencia(), connection)); list.addAll(montarItensReducaoZ(inicio, fim, empresaId, estadoId, sqlFiscaisReducaoZPendencia(), connection));
list.addAll(montarItensReducaoZ(inicio, fim, empresaId, sqlFiscaisReducaoZPendenciaInconcistencias(), connection)); list.addAll(montarItensReducaoZ(inicio, fim, empresaId, estadoId, sqlFiscaisReducaoZPendenciaInconcistencias(), connection));
return list; return list;
} else { } else {
return montarItensReducaoZ(inicio, fim, empresaId, sqlFiscaisReducaoZ(), connection); return montarItensReducaoZ(inicio, fim, empresaId, estadoId, sqlFiscaisReducaoZ(), connection);
} }
} }
private List<ImportacionFiscalReducaoZVO> montarItensReducaoZ(Date inicio, Date fim, Integer empresaId, String sql, Connection connection) throws SQLException { private List<ImportacionFiscalReducaoZVO> montarItensReducaoZ(Date inicio, Date fim, Integer empresaId, Integer estadoId, String sql, Connection connection) throws SQLException {
List<ImportacionFiscalReducaoZVO> listRedZ = new ArrayList<ImportacionFiscalReducaoZVO>(); List<ImportacionFiscalReducaoZVO> listRedZ = new ArrayList<ImportacionFiscalReducaoZVO>();
PreparedStatement stmt = connection.prepareStatement(sql); PreparedStatement stmt = connection.prepareStatement(sql);
@ -449,6 +454,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
stmt.setString(2, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL)); stmt.setString(2, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
stmt.setString(3, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL)); stmt.setString(3, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
stmt.setInt(4, empresaId); stmt.setInt(4, empresaId);
stmt.setInt(5, estadoId);
ResultSet rset = stmt.executeQuery(); ResultSet rset = stmt.executeQuery();
while (rset.next()) { while (rset.next()) {
@ -526,7 +532,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" INNER JOIN ciudad cd ON d.ciudad_id = cd.ciudad_id "); sql.append(" INNER JOIN ciudad cd ON d.ciudad_id = cd.ciudad_id ");
sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id "); sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id ");
sql.append(" WHERE be.fechorventa BETWEEN ? AND ? "); sql.append(" WHERE be.fechorventa BETWEEN ? AND ? ");
sql.append(" AND be.marca_id = ? "); sql.append(" AND be.empresacorrida_id = ? ");
sql.append(" AND eo.estado_id = ? ");
sql.append(" AND b.motivocancelacion_id IN (31,32,10) "); sql.append(" AND b.motivocancelacion_id IN (31,32,10) ");
sql.append(" AND be.indstatusboleto = 'C' "); sql.append(" AND be.indstatusboleto = 'C' ");
sql.append(" AND r4.indcancelamento = 'N' "); sql.append(" AND r4.indcancelamento = 'N' ");
@ -614,7 +621,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" INNER JOIN ciudad cd ON d.ciudad_id = cd.ciudad_id "); sql.append(" INNER JOIN ciudad cd ON d.ciudad_id = cd.ciudad_id ");
sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id "); sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id ");
sql.append(" WHERE r4.datamov BETWEEN ? AND ? "); sql.append(" WHERE r4.datamov BETWEEN ? AND ? ");
sql.append(" AND b.marca_id = ? "); sql.append(" AND b.empresacorrida_id = ? ");
sql.append(" AND eo.estado_id = ? ");
sql.append(" AND (r4.indcancelamento = 'N' OR (r4.indcancelamento = 'S' AND "); sql.append(" AND (r4.indcancelamento = 'N' OR (r4.indcancelamento = 'S' AND ");
sql.append(" (SELECT r3.numserie20 FROM fiscal_r3 r3 "); sql.append(" (SELECT r3.numserie20 FROM fiscal_r3 r3 ");
sql.append(" WHERE r3.numserie20 = r4.numserie20 AND r3.datamov = r4.datamov "); sql.append(" WHERE r3.numserie20 = r4.numserie20 AND r3.datamov = r4.datamov ");
@ -676,11 +684,18 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" 'DESCONTO' as status"); sql.append(" 'DESCONTO' as status");
sql.append(" FROM fiscal_r4 r4 "); sql.append(" FROM fiscal_r4 r4 ");
sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id "); sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id ");
sql.append(" LEFT JOIN alias_servico ase ON ase.origen_id = b.origen_id ");
sql.append(" and ase.destino_id = b.destino_id and ase.ruta_id = b.ruta_id and ase.activo = 1 and ase.corrida_id is null ");
sql.append(" INNER JOIN parada o ON coalesce(ase.aliasorigen_id, b.origen_id) = o.parada_id ");
sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id ");
sql.append(" INNER JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 AND r4.coo = r5.coo "); sql.append(" INNER JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 AND r4.coo = r5.coo ");
sql.append(" AND r4.datamov = r5.datamov AND r4.contador = r5.contador "); sql.append(" AND r4.datamov = r5.datamov AND r4.contador = r5.contador ");
sql.append(" LEFT JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 AND fi.fiscalimpressora_id = r5.fiscalimpressora_id "); sql.append(" LEFT JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 AND fi.fiscalimpressora_id = r5.fiscalimpressora_id ");
sql.append(" WHERE r4.datamov BETWEEN ? AND ? "); sql.append(" WHERE r4.datamov BETWEEN ? AND ? ");
sql.append(" AND b.marca_id = ? "); sql.append(" AND b.empresacorrida_id = ? ");
sql.append(" AND co.estado_id = ? ");
sql.append(" AND r5.impdesconto <> 0 "); sql.append(" AND r5.impdesconto <> 0 ");
sql.append(" GROUP BY r4.numserie20, r4.coo, r4.datamov, r4.cpfcnpjcliente, "); sql.append(" GROUP BY r4.numserie20, r4.coo, r4.datamov, r4.cpfcnpjcliente, ");
sql.append(" r4.imptotalliquido, fi.numcnpj, fi.numserie, r5.impdesconto, "); sql.append(" r4.imptotalliquido, fi.numcnpj, fi.numserie, r5.impdesconto, ");
@ -721,8 +736,13 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" AND r4.datamov = r5.datamov AND r4.contador = r5.contador "); sql.append(" AND r4.datamov = r5.datamov AND r4.contador = r5.contador ");
sql.append(" INNER JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 AND fi.fiscalimpressora_id = r5.fiscalimpressora_id "); sql.append(" INNER JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 AND fi.fiscalimpressora_id = r5.fiscalimpressora_id ");
sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id "); sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id ");
sql.append(" LEFT JOIN alias_servico ase ON ase.origen_id = b.origen_id ");
sql.append(" and ase.destino_id = b.destino_id and ase.ruta_id = b.ruta_id and ase.activo = 1 and ase.corrida_id is null ");
sql.append(" INNER JOIN parada o ON coalesce(ase.aliasorigen_id, b.origen_id) = o.parada_id ");
sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id ");
sql.append("WHERE r4.datamov BETWEEN ? AND ? "); sql.append("WHERE r4.datamov BETWEEN ? AND ? ");
sql.append(" AND b.marca_id = ? "); sql.append(" AND b.empresacorrida_id = ? ");
sql.append(" AND co.estado_id = ? ");
sql.append(" AND r4.indcancelamento = 'S' "); sql.append(" AND r4.indcancelamento = 'S' ");
sql.append(" AND (SELECT r3.numserie20 FROM fiscal_r3 r3 where r3.numserie20 = r4.numserie20"); sql.append(" AND (SELECT r3.numserie20 FROM fiscal_r3 r3 where r3.numserie20 = r4.numserie20");
sql.append(" AND r3.datamov = r4.datamov AND r3.totparcial IN ('Can-T')) IS NOT NULL "); sql.append(" AND r3.datamov = r4.datamov AND r3.totparcial IN ('Can-T')) IS NOT NULL ");
@ -769,8 +789,13 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" AND r4.datamov = r5.datamov AND r4.contador = r5.contador "); sql.append(" AND r4.datamov = r5.datamov AND r4.contador = r5.contador ");
sql.append(" INNER JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 AND fi.fiscalimpressora_id = r5.fiscalimpressora_id "); sql.append(" INNER JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 AND fi.fiscalimpressora_id = r5.fiscalimpressora_id ");
sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id "); sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id ");
sql.append(" LEFT JOIN alias_servico ase ON ase.origen_id = b.origen_id ");
sql.append(" and ase.destino_id = b.destino_id and ase.ruta_id = b.ruta_id and ase.activo = 1 and ase.corrida_id is null ");
sql.append(" INNER JOIN parada o ON coalesce(ase.aliasorigen_id, b.origen_id) = o.parada_id ");
sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id ");
sql.append("WHERE r4.datamov BETWEEN ? AND ? "); sql.append("WHERE r4.datamov BETWEEN ? AND ? ");
sql.append(" AND b.marca_id = ? "); sql.append(" AND b.empresacorrida_id = ? ");
sql.append(" AND co.estado_id = ? ");
sql.append(" AND r5.imptotalliquido = 1 "); sql.append(" AND r5.imptotalliquido = 1 ");
sql.append(" AND b.preciopagado = 0 "); sql.append(" AND b.preciopagado = 0 ");
sql.append("GROUP BY r4.numserie20, r4.coo, r4.datamov, "); sql.append("GROUP BY r4.numserie20, r4.coo, r4.datamov, ");
@ -816,8 +841,13 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" AND r4.datamov = r5.datamov AND r4.contador = r5.contador "); sql.append(" AND r4.datamov = r5.datamov AND r4.contador = r5.contador ");
sql.append(" LEFT JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 AND fi.fiscalimpressora_id = r5.fiscalimpressora_id "); sql.append(" LEFT JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 AND fi.fiscalimpressora_id = r5.fiscalimpressora_id ");
sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id "); sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id ");
sql.append(" LEFT JOIN alias_servico ase ON ase.origen_id = b.origen_id ");
sql.append(" and ase.destino_id = b.destino_id and ase.ruta_id = b.ruta_id and ase.activo = 1 and ase.corrida_id is null ");
sql.append(" INNER JOIN parada o ON coalesce(ase.aliasorigen_id, b.origen_id) = o.parada_id ");
sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id ");
sql.append("WHERE r4.datamov BETWEEN ? AND ? "); sql.append("WHERE r4.datamov BETWEEN ? AND ? ");
sql.append(" AND b.marca_id = ? "); sql.append(" AND b.empresacorrida_id = ? ");
sql.append(" AND co.estado_id = ? ");
sql.append(" AND r4.indcancelamento = 'S' "); sql.append(" AND r4.indcancelamento = 'S' ");
sql.append(" AND (SELECT MAX(r3.numserie20) FROM fiscal_r3 r3 where r3.numserie20 = r4.numserie20"); sql.append(" AND (SELECT MAX(r3.numserie20) FROM fiscal_r3 r3 where r3.numserie20 = r4.numserie20");
sql.append(" AND r3.datamov = r4.datamov AND r3.totparcial IN ('Can-T', 'DT')) IS NULL "); sql.append(" AND r3.datamov = r4.datamov AND r3.totparcial IN ('Can-T', 'DT')) IS NULL ");
@ -834,28 +864,28 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
} }
@Override @Override
public List<ImportacionFiscalVO> buscaDatosFiscaisECF(Date inicio, Date fim, Integer empresaId, boolean isNormal, boolean isCancelados, boolean isPendencias, Connection connection) throws SQLException { public List<ImportacionFiscalVO> buscaDatosFiscaisECF(Date inicio, Date fim, Integer empresaId, Integer estadoId, boolean isNormal, boolean isCancelados, boolean isPendencias, Connection connection) throws SQLException {
if (isNormal) { if (isNormal) {
return montarItensECF(inicio, fim, empresaId, connection, sqlFiscaisECF(), false); return montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECF(), false);
} else if (isCancelados) { } else if (isCancelados) {
return montarItensECF(inicio, fim, empresaId, connection, sqlFiscaisECFCancelados(), true); return montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFCancelados(), true);
} else if (isPendencias) { } else if (isPendencias) {
List<ImportacionFiscalVO> list = new ArrayList<ImportacionFiscalVO>(); List<ImportacionFiscalVO> list = new ArrayList<ImportacionFiscalVO>();
list.addAll(montarItensECF(inicio, fim, empresaId, connection, sqlFiscaisECFPendenciasCancelado(), false)); list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasCancelado(), false));
list.addAll(montarItensECF(inicio, fim, empresaId, connection, sqlFiscaisECFPendenciasDesconto(), false)); list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasDesconto(), false));
list.addAll(montarItensECF(inicio, fim, empresaId, connection, sqlFiscaisECFPendenciasInconsistente(), false)); list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasInconsistente(), false));
list.addAll(montarItensECF(inicio, fim, empresaId, connection, sqlFiscaisECFPendenciasGratuidade(), false)); list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasGratuidade(), false));
return list; return list;
} }
return null; return null;
} }
private List<ImportacionFiscalVO> montarItensECF(Date inicio, Date fim, Integer empresaId, Connection connection, String sql, boolean isDate) throws SQLException { private List<ImportacionFiscalVO> montarItensECF(Date inicio, Date fim, Integer empresaId, Integer estadoId, Connection connection, String sql, boolean isDate) throws SQLException {
PreparedStatement stmt = connection.prepareStatement(sql); PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setFetchSize(100); stmt.setFetchSize(100);
@ -867,6 +897,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
stmt.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL)); stmt.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
} }
stmt.setInt(3, empresaId); stmt.setInt(3, empresaId);
stmt.setInt(4, estadoId);
List<ImportacionFiscalVO> list = new ArrayList<ImportacionFiscalVO>(); List<ImportacionFiscalVO> list = new ArrayList<ImportacionFiscalVO>();
ImportacionFiscalVO fiscal = null; ImportacionFiscalVO fiscal = null;
@ -1326,7 +1357,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
registro.setEstabelecimentoECF(rs.getString("codestabelecimentoimpressora")); registro.setEstabelecimentoECF(rs.getString("codestabelecimentoimpressora"));
registro.setNumeroSerie(rs.getString("numserie")); registro.setNumeroSerie(rs.getString("numserie"));
registro.setInfoPadraoBilhetePassagem("00000060"); registro.setInfoPadraoBilhetePassagem("00000060");
retorno.add(registro); retorno.add(registro);
} }
@ -1435,24 +1466,24 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
BigDecimal porc_red_estadual = rs.getBigDecimal("porc_red_estadual"); BigDecimal porc_red_estadual = rs.getBigDecimal("porc_red_estadual");
BigDecimal tributacao_importacao = rs.getBigDecimal("tributacao_importacao"); BigDecimal tributacao_importacao = rs.getBigDecimal("tributacao_importacao");
BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO; BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO;
if (red_base_calc_icms != null) { if (red_base_calc_icms != null) {
valorBaseCalculoICMS = valorTotal.subtract(valorTotal.multiply(red_base_calc_icms.divide(BigDecimal.valueOf(100d)))); valorBaseCalculoICMS = valorTotal.subtract(valorTotal.multiply(red_base_calc_icms.divide(BigDecimal.valueOf(100d))));
} else { } else {
// if (tributacao_importacao != null) { // if (tributacao_importacao != null) {
// if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) { // if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
// if (porc_red_municipal != null) { // if (porc_red_municipal != null) {
// BigDecimal porc = tributacao_importacao.subtract(tributacao_importacao.multiply(porc_red_municipal.divide(BigDecimal.valueOf(100d)))); // BigDecimal porc = tributacao_importacao.subtract(tributacao_importacao.multiply(porc_red_municipal.divide(BigDecimal.valueOf(100d))));
// valorBaseCalculoICMS = valorTotal.multiply(porc.divide(BigDecimal.valueOf(100d))); // valorBaseCalculoICMS = valorTotal.multiply(porc.divide(BigDecimal.valueOf(100d)));
// } // }
// } else { // } else {
// if (porc_red_estadual != null) { // if (porc_red_estadual != null) {
// BigDecimal porc = tributacao_importacao.subtract(tributacao_importacao.multiply(porc_red_estadual.divide(BigDecimal.valueOf(100d)))); // BigDecimal porc = tributacao_importacao.subtract(tributacao_importacao.multiply(porc_red_estadual.divide(BigDecimal.valueOf(100d))));
// valorBaseCalculoICMS = valorTotal.multiply(porc.divide(BigDecimal.valueOf(100d))); // valorBaseCalculoICMS = valorTotal.multiply(porc.divide(BigDecimal.valueOf(100d)));
// } // }
// } // }
// } // }
// Email 17/02/2017 // Email 17/02/2017
valorBaseCalculoICMS = valorTotal; valorBaseCalculoICMS = valorTotal;
} }
@ -1538,42 +1569,42 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
BigDecimal porc_red_estadual = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_estadual")); BigDecimal porc_red_estadual = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_estadual"));
BigDecimal tributacao_importacao = MoneyHelper.instanciar(rs.getBigDecimal("tributacao_importacao")); BigDecimal tributacao_importacao = MoneyHelper.instanciar(rs.getBigDecimal("tributacao_importacao"));
BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO; BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO;
if (red_base_calc_icms != null) { if (red_base_calc_icms != null) {
BigDecimal aRed_base_calc_icms = MoneyHelper.dividir(red_base_calc_icms, BigDecimal.valueOf(100d)); BigDecimal aRed_base_calc_icms = MoneyHelper.dividir(red_base_calc_icms, BigDecimal.valueOf(100d));
valorBaseCalculoICMS = MoneyHelper.subtrair(valorTotal, MoneyHelper.multiplicar(valorTotal, aRed_base_calc_icms)); valorBaseCalculoICMS = MoneyHelper.subtrair(valorTotal, MoneyHelper.multiplicar(valorTotal, aRed_base_calc_icms));
} else { } else {
// if (tributacao_importacao != null) { // if (tributacao_importacao != null) {
// if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) { // if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
// if (porc_red_municipal != null) { // if (porc_red_municipal != null) {
// BigDecimal aPorc_red_municipal = MoneyHelper.dividir(porc_red_municipal, BigDecimal.valueOf(100d)); // BigDecimal aPorc_red_municipal = MoneyHelper.dividir(porc_red_municipal, BigDecimal.valueOf(100d));
// BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_municipal)); // BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_municipal));
// BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d)); // BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
// //
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc); // valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
// } // }
// } else { // } else {
// if (porc_red_estadual != null) { // if (porc_red_estadual != null) {
// BigDecimal aPorc_red_estadual = MoneyHelper.dividir(porc_red_estadual, BigDecimal.valueOf(100d)); // BigDecimal aPorc_red_estadual = MoneyHelper.dividir(porc_red_estadual, BigDecimal.valueOf(100d));
// BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_estadual)); // BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_estadual));
// BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d)); // BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
// //
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc); // valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
// } // }
// } // }
// } // }
// Email 17/02/2017 // Email 17/02/2017
valorBaseCalculoICMS = valorTotal; valorBaseCalculoICMS = valorTotal;
} }
BigDecimal valorICMSDebitado = BigDecimal.ZERO; BigDecimal valorICMSDebitado = BigDecimal.ZERO;
if (tributacao_importacao != null) { if (tributacao_importacao != null) {
BigDecimal aTributacao_importacao = MoneyHelper.dividir(tributacao_importacao, BigDecimal.valueOf(100d)); BigDecimal aTributacao_importacao = MoneyHelper.dividir(tributacao_importacao, BigDecimal.valueOf(100d));
valorICMSDebitado = MoneyHelper.multiplicar(valorBaseCalculoICMS, aTributacao_importacao); valorICMSDebitado = MoneyHelper.multiplicar(valorBaseCalculoICMS, aTributacao_importacao);
} }
BigDecimal valorICMSIsento = BigDecimal.ZERO; BigDecimal valorICMSIsento = BigDecimal.ZERO;
BigDecimal valorICMSOutros = valorTotal.subtract(valorBaseCalculoICMS); BigDecimal valorICMSOutros = valorTotal.subtract(valorBaseCalculoICMS);
@ -1629,7 +1660,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
registro.setAliquotaICMS(tributacao_importacao); registro.setAliquotaICMS(tributacao_importacao);
registro.setUfOrigem(ufOrigem); registro.setUfOrigem(ufOrigem);
registro.setMunicipioOrigem(municipioOrigem); registro.setMunicipioOrigem(municipioOrigem);
registro.setRedutorBaseCalculoIcms(red_base_calc_icms); registro.setRedutorBaseCalculoIcms(red_base_calc_icms);
registro.setRedutorMunicipalIcms(porc_red_municipal); registro.setRedutorMunicipalIcms(porc_red_municipal);
registro.setRedutorEstadualIcms(porc_red_estadual); registro.setRedutorEstadualIcms(porc_red_estadual);
@ -1661,7 +1692,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
@Override @Override
public List<ExportacaoECFTipoPRC> buscarRegistroECFTipoPRC(final Connection conn, final Date inicio, final Date fim, final Integer empresaId, final String cveestado) { public List<ExportacaoECFTipoPRC> buscarRegistroECFTipoPRC(final Connection conn, final Date inicio, final Date fim, final Integer empresaId, final String cveestado) {
final List<ExportacaoECFTipoPRC> retorno = new ArrayList<ExportacaoECFTipoPRC>(); final List<ExportacaoECFTipoPRC> retorno = new ArrayList<ExportacaoECFTipoPRC>();
final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder();
sb.append(" select ecf, datamov, municipio_origem, estado_origem, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao, SUM(valortotal) as valortotal"); sb.append(" select ecf, datamov, municipio_origem, estado_origem, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao, SUM(valortotal) as valortotal");
sb.append(" from ("); sb.append(" from (");
@ -1698,12 +1729,12 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sb.append(" where nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and b.activo = 1 and r4.datamov >= ? and r4.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)"); sb.append(" where nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and b.activo = 1 and r4.datamov >= ? and r4.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
sb.append(" ) group by ecf, datamov, municipio_origem, estado_origem, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao"); sb.append(" ) group by ecf, datamov, municipio_origem, estado_origem, estado_destino, red_base_calc_icms, porc_red_municipal, porc_red_estadual, tributacao_importacao");
Session session = null; Session session = null;
try { try {
session = getSessionFactory().openSession(); session = getSessionFactory().openSession();
session.doWork(new Work() { session.doWork(new Work() {
@Override @Override
public void execute(Connection connection) throws SQLException { public void execute(Connection connection) throws SQLException {
@ -1712,104 +1743,104 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
ps.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL)); ps.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
ps.setLong(3, Long.valueOf(empresaId)); ps.setLong(3, Long.valueOf(empresaId));
ps.setString(4, cveestado); ps.setString(4, cveestado);
ResultSet rs = ps.executeQuery(); ResultSet rs = ps.executeQuery();
ExportacaoECFTipoPRC registro = null; ExportacaoECFTipoPRC registro = null;
Map<String, ExportacaoECFTipoPRC> group = new HashMap<String, ExportacaoECFTipoPRC>(); Map<String, ExportacaoECFTipoPRC> group = new HashMap<String, ExportacaoECFTipoPRC>();
while (rs.next()) { while (rs.next()) {
BigDecimal valorTotal = MoneyHelper.dividir(MoneyHelper.instanciar(rs.getString("valortotal")), BigDecimal.valueOf(100d)); BigDecimal valorTotal = MoneyHelper.dividir(MoneyHelper.instanciar(rs.getString("valortotal")), BigDecimal.valueOf(100d));
BigDecimal red_base_calc_icms = MoneyHelper.instanciar(rs.getBigDecimal("red_base_calc_icms")); BigDecimal red_base_calc_icms = MoneyHelper.instanciar(rs.getBigDecimal("red_base_calc_icms"));
BigDecimal porc_red_municipal = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_municipal")); BigDecimal porc_red_municipal = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_municipal"));
BigDecimal porc_red_estadual = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_estadual")); BigDecimal porc_red_estadual = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_estadual"));
BigDecimal tributacao_importacao = MoneyHelper.instanciar(rs.getBigDecimal("tributacao_importacao")); BigDecimal tributacao_importacao = MoneyHelper.instanciar(rs.getBigDecimal("tributacao_importacao"));
BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO; BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO;
if (tributacao_importacao != null) { if (tributacao_importacao != null) {
tributacao_importacao = MoneyHelper.dividir(tributacao_importacao, BigDecimal.valueOf(100d)); tributacao_importacao = MoneyHelper.dividir(tributacao_importacao, BigDecimal.valueOf(100d));
} }
if (red_base_calc_icms != null) { if (red_base_calc_icms != null) {
BigDecimal aRed_base_calc_icms = MoneyHelper.dividir(red_base_calc_icms, BigDecimal.valueOf(100d)); BigDecimal aRed_base_calc_icms = MoneyHelper.dividir(red_base_calc_icms, BigDecimal.valueOf(100d));
valorBaseCalculoICMS = MoneyHelper.subtrair(valorTotal, MoneyHelper.multiplicar(valorTotal, aRed_base_calc_icms)); valorBaseCalculoICMS = MoneyHelper.subtrair(valorTotal, MoneyHelper.multiplicar(valorTotal, aRed_base_calc_icms));
} else { } else {
// if (tributacao_importacao != null) { // if (tributacao_importacao != null) {
// if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) { // if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
// if (porc_red_municipal != null) { // if (porc_red_municipal != null) {
// BigDecimal aPorc_red_municipal = MoneyHelper.dividir(porc_red_municipal, BigDecimal.valueOf(100d)); // BigDecimal aPorc_red_municipal = MoneyHelper.dividir(porc_red_municipal, BigDecimal.valueOf(100d));
// BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_municipal)); // BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_municipal));
// //
// BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d)); // BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc); // valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
// } // }
// } else { // } else {
// if (porc_red_estadual != null) { // if (porc_red_estadual != null) {
// BigDecimal aPorc_red_estadual = MoneyHelper.dividir(porc_red_estadual, BigDecimal.valueOf(100d)); // BigDecimal aPorc_red_estadual = MoneyHelper.dividir(porc_red_estadual, BigDecimal.valueOf(100d));
// BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_estadual)); // BigDecimal porc = MoneyHelper.subtrair(tributacao_importacao, MoneyHelper.multiplicar(tributacao_importacao, aPorc_red_estadual));
// //
// BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d)); // BigDecimal aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc); // valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
// } // }
// } // }
// } // }
// Email 17/02/2017 // Email 17/02/2017
valorBaseCalculoICMS = valorTotal; valorBaseCalculoICMS = valorTotal;
} }
BigDecimal valorICMS = BigDecimal.ZERO; BigDecimal valorICMS = BigDecimal.ZERO;
if (tributacao_importacao != null) { if (tributacao_importacao != null) {
valorICMS = MoneyHelper.multiplicar(valorBaseCalculoICMS, tributacao_importacao); valorICMS = MoneyHelper.multiplicar(valorBaseCalculoICMS, tributacao_importacao);
} }
String key = rs.getString("ecf") + "|" + rs.getString("datamov") + "|" + rs.getString("estado_origem") + "|" + rs.getString("municipio_origem"); String key = rs.getString("ecf") + "|" + rs.getString("datamov") + "|" + rs.getString("estado_origem") + "|" + rs.getString("municipio_origem");
if (group.containsKey(key)) { if (group.containsKey(key)) {
registro = group.get(key); registro = group.get(key);
registro.setValorTotal(registro.getValorTotal().add(valorTotal)); registro.setValorTotal(registro.getValorTotal().add(valorTotal));
registro.setValorBaseCalculoICMS(registro.getValorBaseCalculoICMS().add(valorBaseCalculoICMS)); registro.setValorBaseCalculoICMS(registro.getValorBaseCalculoICMS().add(valorBaseCalculoICMS));
registro.setValorICMS(registro.getValorICMS().add(valorICMS)); registro.setValorICMS(registro.getValorICMS().add(valorICMS));
} else { } else {
registro = new ExportacaoECFTipoPRC(); registro = new ExportacaoECFTipoPRC();
registro.setEcf(rs.getString("ecf")); registro.setEcf(rs.getString("ecf"));
registro.setDataEmissao(rs.getString("datamov")); registro.setDataEmissao(rs.getString("datamov"));
registro.setUfOrigem(rs.getString("estado_origem")); registro.setUfOrigem(rs.getString("estado_origem"));
registro.setMunicipioOrigem(Integer.valueOf(rs.getString("municipio_origem"))); registro.setMunicipioOrigem(Integer.valueOf(rs.getString("municipio_origem")));
registro.setValorTotal(valorTotal); registro.setValorTotal(valorTotal);
registro.setValorBaseCalculoICMS(valorBaseCalculoICMS); registro.setValorBaseCalculoICMS(valorBaseCalculoICMS);
registro.setValorICMS(valorICMS); registro.setValorICMS(valorICMS);
registro.setTributacao(tributacao_importacao); registro.setTributacao(tributacao_importacao);
} }
group.put(key, registro); group.put(key, registro);
} }
for (Map.Entry<String, ExportacaoECFTipoPRC> entry : group.entrySet()) { for (Map.Entry<String, ExportacaoECFTipoPRC> entry : group.entrySet()) {
retorno.add(entry.getValue()); retorno.add(entry.getValue());
} }
rs.close(); rs.close();
ps.close(); ps.close();
} }
}); });
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
} finally { } finally {
session.close(); session.close();
} }
return retorno; return retorno;
} }
@Override @Override
public List<ExportacaoRMDTipoPAR> buscarRegistroRMDTipoPAR(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) { public List<ExportacaoRMDTipoPAR> buscarRegistroRMDTipoPAR(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
List<ExportacaoRMDTipoPAR> retorno = new ArrayList<ExportacaoRMDTipoPAR>(); List<ExportacaoRMDTipoPAR> retorno = new ArrayList<ExportacaoRMDTipoPAR>();
@ -2179,7 +2210,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
BigDecimal valorIsenta = BigDecimal.ZERO; BigDecimal valorIsenta = BigDecimal.ZERO;
BigDecimal valorIsentaOutros = BigDecimal.ZERO; BigDecimal valorIsentaOutros = BigDecimal.ZERO;
if (rs.getInt("reg_metropolitana") == 1) { if (rs.getInt("reg_metropolitana") == 1) {
valorIsenta = valorTotal; valorIsenta = valorTotal;
valorTotal = BigDecimal.ZERO; valorTotal = BigDecimal.ZERO;

View File

@ -17,19 +17,19 @@ public interface FiscalService {
public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) throws SQLException; public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte) throws SQLException;
public HashMap<String, Object> importacionFiscalECFValidaReducaoZ(Date inicio, Date fim, Empresa empresa); public HashMap<String, Object> importacionFiscalECFValidaReducaoZ(Date inicio, Date fim, Empresa empresa, Estado estado);
public File importacionFiscalECF(Date inicio, Date fim, Empresa empresa); public File importacionFiscalECF(Date inicio, Date fim, Empresa empresa, Estado estado);
public File importacionFiscalReducaoZ(Date inicio, Date fim, Empresa empresa); public File importacionFiscalReducaoZ(Date inicio, Date fim, Empresa empresa, Estado estado);
public File importacionFiscalReducaoZPendencia(Date inicio, Date fim, Empresa empresa); public File importacionFiscalReducaoZPendencia(Date inicio, Date fim, Empresa empresa, Estado estado);
public File importacionFiscalECFManual(Date inicio, Date fim, Empresa empresa); public File importacionFiscalECFManual(Date inicio, Date fim, Empresa empresa, Estado estado);
public File importacionNaoFiscal(Date inicio, Date fim, Empresa empresa); public File importacionNaoFiscal(Date inicio, Date fim, Empresa empresa);
public File importacionFiscalECFCancelados(Date inicio, Date fim, Empresa empresa); public File importacionFiscalECFCancelados(Date inicio, Date fim, Empresa empresa, Estado estado);
public File importacionFiscalECFXls(Empresa empresa, File arquivoTxt); public File importacionFiscalECFXls(Empresa empresa, File arquivoTxt);
@ -41,7 +41,7 @@ public interface FiscalService {
public File importacionFiscalECFCanceladosXls(Empresa empresa, File arquivoTxt); public File importacionFiscalECFCanceladosXls(Empresa empresa, File arquivoTxt);
public File importacionFiscalECFPendencias(Date inicio, Date fim, Empresa empresa); public File importacionFiscalECFPendencias(Date inicio, Date fim, Empresa empresa, Estado estado);
public File buscarArquivoExportacaoECF(Date value, Date value2, Empresa empresa, Estado estado, String nomeArquivo); public File buscarArquivoExportacaoECF(Date value, Date value2, Empresa empresa, Estado estado, String nomeArquivo);

View File

@ -106,13 +106,13 @@ public class FiscalServiceImpl implements FiscalService {
} }
@Override @Override
public File importacionFiscalECFManual(Date inicio, Date fim, Empresa empresa) { public File importacionFiscalECFManual(Date inicio, Date fim, Empresa empresa, Estado estado) {
Connection connection = null; Connection connection = null;
try { try {
connection = getConnection(); connection = getConnection();
List<ImportacionManualFiscalVO> list = fiscalDAO.buscaDatosFiscaisECFManual(inicio, fim, empresa.getEmpresaId(), connection); List<ImportacionManualFiscalVO> list = fiscalDAO.buscaDatosFiscaisECFManual(inicio, fim, empresa.getEmpresaId(), estado.getEstadoId(), connection);
return new ArchivoIntegracionECFManual().importacionFiscalECFManual(inicio, fim, empresa, list); return new ArchivoIntegracionECFManual().importacionFiscalECFManual(inicio, fim, empresa, list);
} catch (Exception e) { } catch (Exception e) {
@ -131,13 +131,13 @@ public class FiscalServiceImpl implements FiscalService {
} }
@Override @Override
public File importacionFiscalReducaoZPendencia(Date inicio, Date fim, Empresa empresa) { public File importacionFiscalReducaoZPendencia(Date inicio, Date fim, Empresa empresa, Estado estado) {
Connection connection = null; Connection connection = null;
try { try {
connection = getConnection(); connection = getConnection();
List<ImportacionFiscalReducaoZVO> list = fiscalDAO.buscaDatosFiscaisReducaoZ(inicio, fim, empresa.getEmpresaId(), true, connection); List<ImportacionFiscalReducaoZVO> list = fiscalDAO.buscaDatosFiscaisReducaoZ(inicio, fim, empresa.getEmpresaId(), estado.getEstadoId(), true, connection);
return new ArchivoIntegracionReducaoZ().importacionReducaoZ(inicio, fim, empresa, true, list); return new ArchivoIntegracionReducaoZ().importacionReducaoZ(inicio, fim, empresa, true, list);
} catch (Exception e) { } catch (Exception e) {
@ -156,13 +156,13 @@ public class FiscalServiceImpl implements FiscalService {
} }
@Override @Override
public File importacionFiscalReducaoZ(Date inicio, Date fim, Empresa empresa) { public File importacionFiscalReducaoZ(Date inicio, Date fim, Empresa empresa, Estado estado) {
Connection connection = null; Connection connection = null;
try { try {
connection = getConnection(); connection = getConnection();
List<ImportacionFiscalReducaoZVO> list = fiscalDAO.buscaDatosFiscaisReducaoZ(inicio, fim, empresa.getEmpresaId(), false, connection); List<ImportacionFiscalReducaoZVO> list = fiscalDAO.buscaDatosFiscaisReducaoZ(inicio, fim, empresa.getEmpresaId(), estado.getEstadoId(), false, connection);
return new ArchivoIntegracionReducaoZ().importacionReducaoZ(inicio, fim, empresa, false, list); return new ArchivoIntegracionReducaoZ().importacionReducaoZ(inicio, fim, empresa, false, list);
} catch (Exception e) { } catch (Exception e) {
@ -181,12 +181,12 @@ public class FiscalServiceImpl implements FiscalService {
} }
@Override @Override
public File importacionFiscalECFPendencias(Date inicio, Date fim, Empresa empresa) { public File importacionFiscalECFPendencias(Date inicio, Date fim, Empresa empresa, Estado estado) {
Connection connection = null; Connection connection = null;
try { try {
connection = getConnection(); connection = getConnection();
List<ImportacionFiscalVO> list = fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId(), false, false, true, connection); List<ImportacionFiscalVO> list = fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId(), estado.getEstadoId(), false, false, true, connection);
return new ArchivoIntegracionECF().importacionFiscalECFGenerico(inicio, fim, empresa, false, false, true, list); return new ArchivoIntegracionECF().importacionFiscalECFGenerico(inicio, fim, empresa, false, false, true, list);
} catch (Exception e) { } catch (Exception e) {
@ -205,12 +205,12 @@ public class FiscalServiceImpl implements FiscalService {
} }
@Override @Override
public File importacionFiscalECFCancelados(Date inicio, Date fim, Empresa empresa) { public File importacionFiscalECFCancelados(Date inicio, Date fim, Empresa empresa, Estado estado) {
Connection connection = null; Connection connection = null;
try { try {
connection = getConnection(); connection = getConnection();
List<ImportacionFiscalVO> list = fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId(), false, true, false, connection); List<ImportacionFiscalVO> list = fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId(), estado.getEstadoId(), false, true, false, connection);
return new ArchivoIntegracionECF().importacionFiscalECFGenerico(inicio, fim, empresa, false, true, false, list); return new ArchivoIntegracionECF().importacionFiscalECFGenerico(inicio, fim, empresa, false, true, false, list);
} catch (Exception e) { } catch (Exception e) {
@ -229,15 +229,15 @@ public class FiscalServiceImpl implements FiscalService {
} }
@Override @Override
public HashMap<String, Object> importacionFiscalECFValidaReducaoZ(Date inicio, Date fim, Empresa empresa) { public HashMap<String, Object> importacionFiscalECFValidaReducaoZ(Date inicio, Date fim, Empresa empresa, Estado estado) {
Connection connection = null; Connection connection = null;
try { try {
connection = getConnection(); connection = getConnection();
List<ImportacionFiscalVO> listEcf = fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId(), true, false, false, connection); List<ImportacionFiscalVO> listEcf = fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId(), estado.getEstadoId(), true, false, false, connection);
List<ImportacionFiscalReducaoZVO> listRedZ = fiscalDAO.buscaDatosFiscaisReducaoZ(inicio, fim, empresa.getEmpresaId(), false, connection); List<ImportacionFiscalReducaoZVO> listRedZ = fiscalDAO.buscaDatosFiscaisReducaoZ(inicio, fim, empresa.getEmpresaId(), estado.getEstadoId(), false, connection);
ArchivoIntegracionECFReducaoZ ecfRedZ = new ArchivoIntegracionECFReducaoZ(); ArchivoIntegracionECFReducaoZ ecfRedZ = new ArchivoIntegracionECFReducaoZ();
ecfRedZ.importacionFiscalECFValidaReducaoZ(listEcf, listRedZ); ecfRedZ.importacionFiscalECFValidaReducaoZ(listEcf, listRedZ);
@ -273,12 +273,12 @@ public class FiscalServiceImpl implements FiscalService {
} }
@Override @Override
public File importacionFiscalECF(Date inicio, Date fim, Empresa empresa) { public File importacionFiscalECF(Date inicio, Date fim, Empresa empresa, Estado estado) {
Connection connection = null; Connection connection = null;
try { try {
connection = getConnection(); connection = getConnection();
List<ImportacionFiscalVO> list = fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId(), true, false, false, connection); List<ImportacionFiscalVO> list = fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId(), estado.getEstadoId(), true, false, false, connection);
return new ArchivoIntegracionECF().importacionFiscalECFGenerico(inicio, fim, empresa, true, false, false, list); return new ArchivoIntegracionECF().importacionFiscalECFGenerico(inicio, fim, empresa, true, false, false, list);
} catch (Exception e) { } catch (Exception e) {
@ -809,23 +809,23 @@ public class FiscalServiceImpl implements FiscalService {
List<String> tempos = new ArrayList<String>(0); List<String> tempos = new ArrayList<String>(0);
Long begin = 0L; Long begin = 0L;
begin = Calendar.getInstance().getTimeInMillis(); begin = Calendar.getInstance().getTimeInMillis();
List<ExportacaoECFTipoCFC> listaRegistroECFTipoCFC = fiscalDAO.buscarRegistroECFTipoCFC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); List<ExportacaoECFTipoCFC> listaRegistroECFTipoCFC = fiscalDAO.buscarRegistroECFTipoCFC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
tempos.add(infoTempo("CFC", begin)); tempos.add(infoTempo("CFC", begin));
begin = Calendar.getInstance().getTimeInMillis(); begin = Calendar.getInstance().getTimeInMillis();
List<ExportacaoECFTipoCCF> listaRegistroECFTipoCCF = fiscalDAO.buscarRegistroECFTipoCCF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); List<ExportacaoECFTipoCCF> listaRegistroECFTipoCCF = fiscalDAO.buscarRegistroECFTipoCCF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
tempos.add(infoTempo("CCF", begin)); tempos.add(infoTempo("CCF", begin));
begin = Calendar.getInstance().getTimeInMillis(); begin = Calendar.getInstance().getTimeInMillis();
List<ExportacaoECFTipoICF> listaRegistroECFTipoICF = fiscalDAO.buscarRegistroECFTipoICF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); List<ExportacaoECFTipoICF> listaRegistroECFTipoICF = fiscalDAO.buscarRegistroECFTipoICF(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
tempos.add(infoTempo("ICF", begin)); tempos.add(infoTempo("ICF", begin));
begin = Calendar.getInstance().getTimeInMillis(); begin = Calendar.getInstance().getTimeInMillis();
List<ExportacaoECFTipoPRC> listaRegistroECFTipoPRC = fiscalDAO.buscarRegistroECFTipoPRC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado()); List<ExportacaoECFTipoPRC> listaRegistroECFTipoPRC = fiscalDAO.buscarRegistroECFTipoPRC(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado());
tempos.add(infoTempo("PRC", begin)); tempos.add(infoTempo("PRC", begin));
return exportacaoFiscal.gerarArquivoECF(tempos, nomeArquivo, inicio, fim, estado.getCveestado(), empresa.getNombempresa(), listaRegistroECFTipoCFC, listaRegistroECFTipoCCF, listaRegistroECFTipoICF, return exportacaoFiscal.gerarArquivoECF(tempos, nomeArquivo, inicio, fim, estado.getCveestado(), empresa.getNombempresa(), listaRegistroECFTipoCFC, listaRegistroECFTipoCCF, listaRegistroECFTipoICF,
listaRegistroECFTipoPRC); listaRegistroECFTipoPRC);
@ -852,8 +852,8 @@ public class FiscalServiceImpl implements FiscalService {
final Long tempo = termino - inicio; final Long tempo = termino - inicio;
return descricao + ": " + String.format("%dm %ds", TimeUnit.MILLISECONDS.toMinutes(tempo), TimeUnit.MILLISECONDS.toSeconds(tempo) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(tempo))); return descricao + ": " + String.format("%dm %ds", TimeUnit.MILLISECONDS.toMinutes(tempo), TimeUnit.MILLISECONDS.toSeconds(tempo) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(tempo)));
} }
@Override @Override
public File buscarArquivoExportacaoRMD(Date inicio, Date fim, Empresa empresa, Estado estado) { public File buscarArquivoExportacaoRMD(Date inicio, Date fim, Empresa empresa, Estado estado) {
Connection connection = null; Connection connection = null;

View File

@ -160,7 +160,8 @@ public class ArchivoIntegracionECFReducaoZ {
} }
} }
agps.add(atual); if (atual != null)
agps.add(atual);
return agps; return agps;
} }
@ -187,7 +188,8 @@ public class ArchivoIntegracionECFReducaoZ {
} }
} }
agps.add(atual); if (atual != null)
agps.add(atual);
return agps; return agps;
} }