|
|
|
@ -64,7 +64,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@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;
|
|
|
|
|
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(" inner join clase_servicio cs ON cs.claseservicio_id = b.claseservicio_id ");
|
|
|
|
|
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.preciopagado > 0 OR b.importetaxaembarque > 0 OR b.importepedagio > 0) ");
|
|
|
|
|
sql.append("GROUP BY r4.numserie20, ");
|
|
|
|
@ -171,10 +172,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
stmt.setFetchSize(100);
|
|
|
|
|
stmt.setTimestamp(1, new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime()));
|
|
|
|
|
stmt.setTimestamp(2, new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime()));
|
|
|
|
|
|
|
|
|
|
if (empresaId != null) {
|
|
|
|
|
stmt.setInt(3, empresaId);
|
|
|
|
|
}
|
|
|
|
|
stmt.setInt(3, empresaId);
|
|
|
|
|
stmt.setInt(4, estadoId);
|
|
|
|
|
|
|
|
|
|
rset = stmt.executeQuery();
|
|
|
|
|
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(" inner join empresa e ON (TRANSLATE(t2.cnpj, ' / - . ', ' ') = (TRANSLATE(e.cnpj, ' / - . ', ' ')) ) or ");
|
|
|
|
|
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(" FROM fiscal_r2) anterior ");
|
|
|
|
|
sql.append("WHERE r2.datamov BETWEEN ? AND ? ");
|
|
|
|
|
sql.append(" AND r2.activo = 1 ");
|
|
|
|
|
sql.append(" AND e.empresa_id = ? ");
|
|
|
|
|
sql.append(" AND ie.estado_id = ? ");
|
|
|
|
|
sql.append(" AND r3.totparcial IN (");
|
|
|
|
|
sql.append("'" + SituacaoTributaria.CANCELADO.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(" inner join empresa e ON (TRANSLATE(t2.cnpj, ' / - . ', ' ') = (TRANSLATE(e.cnpj, ' / - . ', ' ')) ) or ");
|
|
|
|
|
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(" FROM fiscal_r2) anterior ");
|
|
|
|
|
sql.append("WHERE r2.datamov BETWEEN ? AND ? ");
|
|
|
|
|
sql.append(" AND r2.activo = 1 ");
|
|
|
|
|
sql.append(" AND e.empresa_id = ? ");
|
|
|
|
|
sql.append(" AND ie.estado_id = ? ");
|
|
|
|
|
sql.append(" AND r3.totparcial not in (");
|
|
|
|
|
sql.append("'" + SituacaoTributaria.NAO_FISCAL.getValue() + "'").append(")");
|
|
|
|
|
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(" inner join empresa e ON (TRANSLATE(t2.cnpj, ' / - . ', ' ') = (TRANSLATE(e.cnpj, ' / - . ', ' ')) ) or ");
|
|
|
|
|
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(" FROM fiscal_r2) anterior ");
|
|
|
|
|
sql.append("WHERE r2.datamov BETWEEN ? AND ? ");
|
|
|
|
|
sql.append(" AND r2.activo = 1 ");
|
|
|
|
|
sql.append(" AND e.empresa_id = ? ");
|
|
|
|
|
sql.append(" AND ie.estado_id = ? ");
|
|
|
|
|
sql.append(" AND r3.totparcial not in (");
|
|
|
|
|
sql.append("'" + SituacaoTributaria.NAO_FISCAL.getValue() + "'").append(")");
|
|
|
|
|
sql.append(" AND anterior.numserie20 = r2.numserie20 ");
|
|
|
|
@ -428,19 +433,19 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@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) {
|
|
|
|
|
List<ImportacionFiscalReducaoZVO> list = new ArrayList<ImportacionFiscalReducaoZVO>();
|
|
|
|
|
list.addAll(montarItensReducaoZ(inicio, fim, empresaId, sqlFiscaisReducaoZPendencia(), connection));
|
|
|
|
|
list.addAll(montarItensReducaoZ(inicio, fim, empresaId, sqlFiscaisReducaoZPendenciaInconcistencias(), connection));
|
|
|
|
|
list.addAll(montarItensReducaoZ(inicio, fim, empresaId, estadoId, sqlFiscaisReducaoZPendencia(), connection));
|
|
|
|
|
list.addAll(montarItensReducaoZ(inicio, fim, empresaId, estadoId, sqlFiscaisReducaoZPendenciaInconcistencias(), connection));
|
|
|
|
|
return list;
|
|
|
|
|
|
|
|
|
|
} 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>();
|
|
|
|
|
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(3, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
|
|
|
|
|
stmt.setInt(4, empresaId);
|
|
|
|
|
stmt.setInt(5, estadoId);
|
|
|
|
|
|
|
|
|
|
ResultSet rset = stmt.executeQuery();
|
|
|
|
|
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 estado ed ON ed.estado_id = cd.estado_id ");
|
|
|
|
|
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 be.indstatusboleto = 'C' ");
|
|
|
|
|
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 estado ed ON ed.estado_id = cd.estado_id ");
|
|
|
|
|
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(" (SELECT r3.numserie20 FROM fiscal_r3 r3 ");
|
|
|
|
|
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(" FROM fiscal_r4 r4 ");
|
|
|
|
|
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(" 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(" 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(" GROUP BY r4.numserie20, r4.coo, r4.datamov, r4.cpfcnpjcliente, ");
|
|
|
|
|
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(" 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(" 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(" 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 (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 ");
|
|
|
|
@ -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(" 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(" 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(" 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 b.preciopagado = 0 ");
|
|
|
|
|
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(" 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(" 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(" 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 (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 ");
|
|
|
|
@ -834,28 +864,28 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@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) {
|
|
|
|
|
return montarItensECF(inicio, fim, empresaId, connection, sqlFiscaisECF(), false);
|
|
|
|
|
return montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECF(), false);
|
|
|
|
|
|
|
|
|
|
} else if (isCancelados) {
|
|
|
|
|
return montarItensECF(inicio, fim, empresaId, connection, sqlFiscaisECFCancelados(), true);
|
|
|
|
|
return montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFCancelados(), true);
|
|
|
|
|
|
|
|
|
|
} else if (isPendencias) {
|
|
|
|
|
|
|
|
|
|
List<ImportacionFiscalVO> list = new ArrayList<ImportacionFiscalVO>();
|
|
|
|
|
list.addAll(montarItensECF(inicio, fim, empresaId, connection, sqlFiscaisECFPendenciasCancelado(), false));
|
|
|
|
|
list.addAll(montarItensECF(inicio, fim, empresaId, connection, sqlFiscaisECFPendenciasDesconto(), false));
|
|
|
|
|
list.addAll(montarItensECF(inicio, fim, empresaId, connection, sqlFiscaisECFPendenciasInconsistente(), false));
|
|
|
|
|
list.addAll(montarItensECF(inicio, fim, empresaId, connection, sqlFiscaisECFPendenciasGratuidade(), false));
|
|
|
|
|
list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasCancelado(), false));
|
|
|
|
|
list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasDesconto(), false));
|
|
|
|
|
list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasInconsistente(), false));
|
|
|
|
|
list.addAll(montarItensECF(inicio, fim, empresaId, estadoId, connection, sqlFiscaisECFPendenciasGratuidade(), false));
|
|
|
|
|
return list;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
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);
|
|
|
|
|
stmt.setFetchSize(100);
|
|
|
|
@ -867,6 +897,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
stmt.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
|
|
|
|
|
}
|
|
|
|
|
stmt.setInt(3, empresaId);
|
|
|
|
|
stmt.setInt(4, estadoId);
|
|
|
|
|
|
|
|
|
|
List<ImportacionFiscalVO> list = new ArrayList<ImportacionFiscalVO>();
|
|
|
|
|
ImportacionFiscalVO fiscal = null;
|
|
|
|
@ -1326,7 +1357,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
registro.setEstabelecimentoECF(rs.getString("codestabelecimentoimpressora"));
|
|
|
|
|
registro.setNumeroSerie(rs.getString("numserie"));
|
|
|
|
|
registro.setInfoPadraoBilhetePassagem("00000060");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
retorno.add(registro);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1435,24 +1466,24 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
BigDecimal porc_red_estadual = rs.getBigDecimal("porc_red_estadual");
|
|
|
|
|
BigDecimal tributacao_importacao = rs.getBigDecimal("tributacao_importacao");
|
|
|
|
|
BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (red_base_calc_icms != null) {
|
|
|
|
|
valorBaseCalculoICMS = valorTotal.subtract(valorTotal.multiply(red_base_calc_icms.divide(BigDecimal.valueOf(100d))));
|
|
|
|
|
} else {
|
|
|
|
|
// if (tributacao_importacao != null) {
|
|
|
|
|
// if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
|
|
|
|
|
// if (porc_red_municipal != null) {
|
|
|
|
|
// BigDecimal porc = tributacao_importacao.subtract(tributacao_importacao.multiply(porc_red_municipal.divide(BigDecimal.valueOf(100d))));
|
|
|
|
|
// valorBaseCalculoICMS = valorTotal.multiply(porc.divide(BigDecimal.valueOf(100d)));
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// if (porc_red_estadual != null) {
|
|
|
|
|
// BigDecimal porc = tributacao_importacao.subtract(tributacao_importacao.multiply(porc_red_estadual.divide(BigDecimal.valueOf(100d))));
|
|
|
|
|
// valorBaseCalculoICMS = valorTotal.multiply(porc.divide(BigDecimal.valueOf(100d)));
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// if (tributacao_importacao != null) {
|
|
|
|
|
// if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
|
|
|
|
|
// if (porc_red_municipal != null) {
|
|
|
|
|
// BigDecimal porc = tributacao_importacao.subtract(tributacao_importacao.multiply(porc_red_municipal.divide(BigDecimal.valueOf(100d))));
|
|
|
|
|
// valorBaseCalculoICMS = valorTotal.multiply(porc.divide(BigDecimal.valueOf(100d)));
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// if (porc_red_estadual != null) {
|
|
|
|
|
// BigDecimal porc = tributacao_importacao.subtract(tributacao_importacao.multiply(porc_red_estadual.divide(BigDecimal.valueOf(100d))));
|
|
|
|
|
// valorBaseCalculoICMS = valorTotal.multiply(porc.divide(BigDecimal.valueOf(100d)));
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// Email 17/02/2017
|
|
|
|
|
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 tributacao_importacao = MoneyHelper.instanciar(rs.getBigDecimal("tributacao_importacao"));
|
|
|
|
|
BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (red_base_calc_icms != null) {
|
|
|
|
|
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));
|
|
|
|
|
} else {
|
|
|
|
|
// if (tributacao_importacao != null) {
|
|
|
|
|
// if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
|
|
|
|
|
// if (porc_red_municipal != null) {
|
|
|
|
|
// 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 aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
|
|
|
|
|
//
|
|
|
|
|
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// if (porc_red_estadual != null) {
|
|
|
|
|
// 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 aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
|
|
|
|
|
//
|
|
|
|
|
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// if (tributacao_importacao != null) {
|
|
|
|
|
// if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
|
|
|
|
|
// if (porc_red_municipal != null) {
|
|
|
|
|
// 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 aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
|
|
|
|
|
//
|
|
|
|
|
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// if (porc_red_estadual != null) {
|
|
|
|
|
// 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 aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
|
|
|
|
|
//
|
|
|
|
|
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// Email 17/02/2017
|
|
|
|
|
valorBaseCalculoICMS = valorTotal;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
BigDecimal valorICMSDebitado = BigDecimal.ZERO;
|
|
|
|
|
|
|
|
|
|
BigDecimal valorICMSDebitado = BigDecimal.ZERO;
|
|
|
|
|
|
|
|
|
|
if (tributacao_importacao != null) {
|
|
|
|
|
BigDecimal aTributacao_importacao = MoneyHelper.dividir(tributacao_importacao, BigDecimal.valueOf(100d));
|
|
|
|
|
valorICMSDebitado = MoneyHelper.multiplicar(valorBaseCalculoICMS, aTributacao_importacao);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BigDecimal valorICMSIsento = BigDecimal.ZERO;
|
|
|
|
|
BigDecimal valorICMSOutros = valorTotal.subtract(valorBaseCalculoICMS);
|
|
|
|
|
|
|
|
|
@ -1629,7 +1660,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
registro.setAliquotaICMS(tributacao_importacao);
|
|
|
|
|
registro.setUfOrigem(ufOrigem);
|
|
|
|
|
registro.setMunicipioOrigem(municipioOrigem);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
registro.setRedutorBaseCalculoIcms(red_base_calc_icms);
|
|
|
|
|
registro.setRedutorMunicipalIcms(porc_red_municipal);
|
|
|
|
|
registro.setRedutorEstadualIcms(porc_red_estadual);
|
|
|
|
@ -1661,7 +1692,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
@Override
|
|
|
|
|
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 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(" 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(" ) 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;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
session = getSessionFactory().openSession();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
session.doWork(new Work() {
|
|
|
|
|
@Override
|
|
|
|
|
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.setLong(3, Long.valueOf(empresaId));
|
|
|
|
|
ps.setString(4, cveestado);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ResultSet rs = ps.executeQuery();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ExportacaoECFTipoPRC registro = null;
|
|
|
|
|
|
|
|
|
|
Map<String, ExportacaoECFTipoPRC> group = new HashMap<String, ExportacaoECFTipoPRC>();
|
|
|
|
|
|
|
|
|
|
Map<String, ExportacaoECFTipoPRC> group = new HashMap<String, ExportacaoECFTipoPRC>();
|
|
|
|
|
|
|
|
|
|
while (rs.next()) {
|
|
|
|
|
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 porc_red_municipal = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_municipal"));
|
|
|
|
|
BigDecimal porc_red_estadual = MoneyHelper.instanciar(rs.getBigDecimal("porc_red_estadual"));
|
|
|
|
|
BigDecimal tributacao_importacao = MoneyHelper.instanciar(rs.getBigDecimal("tributacao_importacao"));
|
|
|
|
|
BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (tributacao_importacao != null) {
|
|
|
|
|
tributacao_importacao = MoneyHelper.dividir(tributacao_importacao, BigDecimal.valueOf(100d));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (red_base_calc_icms != null) {
|
|
|
|
|
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));
|
|
|
|
|
} else {
|
|
|
|
|
// if (tributacao_importacao != null) {
|
|
|
|
|
// if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
|
|
|
|
|
// if (porc_red_municipal != null) {
|
|
|
|
|
// 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 aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
|
|
|
|
|
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// if (porc_red_estadual != null) {
|
|
|
|
|
// 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 aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
|
|
|
|
|
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// if (tributacao_importacao != null) {
|
|
|
|
|
// if (rs.getString("estado_origem").equals(rs.getString("estado_destino"))) {
|
|
|
|
|
// if (porc_red_municipal != null) {
|
|
|
|
|
// 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 aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
|
|
|
|
|
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// if (porc_red_estadual != null) {
|
|
|
|
|
// 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 aPorc = MoneyHelper.dividir(porc, BigDecimal.valueOf(100d));
|
|
|
|
|
// valorBaseCalculoICMS = MoneyHelper.multiplicar(valorTotal, aPorc);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// Email 17/02/2017
|
|
|
|
|
valorBaseCalculoICMS = valorTotal;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BigDecimal valorICMS = BigDecimal.ZERO;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (group.containsKey(key)) {
|
|
|
|
|
registro = group.get(key);
|
|
|
|
|
|
|
|
|
|
registro.setValorTotal(registro.getValorTotal().add(valorTotal));
|
|
|
|
|
registro.setValorBaseCalculoICMS(registro.getValorBaseCalculoICMS().add(valorBaseCalculoICMS));
|
|
|
|
|
registro.setValorICMS(registro.getValorICMS().add(valorICMS));
|
|
|
|
|
|
|
|
|
|
registro.setValorTotal(registro.getValorTotal().add(valorTotal));
|
|
|
|
|
registro.setValorBaseCalculoICMS(registro.getValorBaseCalculoICMS().add(valorBaseCalculoICMS));
|
|
|
|
|
registro.setValorICMS(registro.getValorICMS().add(valorICMS));
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
registro = new ExportacaoECFTipoPRC();
|
|
|
|
|
registro.setEcf(rs.getString("ecf"));
|
|
|
|
|
registro.setDataEmissao(rs.getString("datamov"));
|
|
|
|
|
registro.setUfOrigem(rs.getString("estado_origem"));
|
|
|
|
|
registro.setMunicipioOrigem(Integer.valueOf(rs.getString("municipio_origem")));
|
|
|
|
|
registro.setValorTotal(valorTotal);
|
|
|
|
|
registro.setValorBaseCalculoICMS(valorBaseCalculoICMS);
|
|
|
|
|
registro.setValorICMS(valorICMS);
|
|
|
|
|
registro.setValorTotal(valorTotal);
|
|
|
|
|
registro.setValorBaseCalculoICMS(valorBaseCalculoICMS);
|
|
|
|
|
registro.setValorICMS(valorICMS);
|
|
|
|
|
registro.setTributacao(tributacao_importacao);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
group.put(key, registro);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (Map.Entry<String, ExportacaoECFTipoPRC> entry : group.entrySet()) {
|
|
|
|
|
retorno.add(entry.getValue());
|
|
|
|
|
}
|
|
|
|
|
retorno.add(entry.getValue());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rs.close();
|
|
|
|
|
ps.close();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error(e.getMessage(), e);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} finally {
|
|
|
|
|
session.close();
|
|
|
|
|
|
|
|
|
|
session.close();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return retorno;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<ExportacaoRMDTipoPAR> buscarRegistroRMDTipoPAR(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
|
|
|
|
|
List<ExportacaoRMDTipoPAR> retorno = new ArrayList<ExportacaoRMDTipoPAR>();
|
|
|
|
@ -2179,7 +2210,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
|
|
|
|
|
BigDecimal valorIsenta = BigDecimal.ZERO;
|
|
|
|
|
BigDecimal valorIsentaOutros = BigDecimal.ZERO;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (rs.getInt("reg_metropolitana") == 1) {
|
|
|
|
|
valorIsenta = valorTotal;
|
|
|
|
|
valorTotal = BigDecimal.ZERO;
|
|
|
|
|