|
|
|
@ -32,6 +32,7 @@ import com.rjconsultores.ventaboletos.utilerias.DateUtil;
|
|
|
|
|
import com.rjconsultores.ventaboletos.utilerias.MoneyHelper;
|
|
|
|
|
import com.rjconsultores.ventaboletos.utilerias.StringHelper;
|
|
|
|
|
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
|
|
|
|
|
import com.rjconsultores.ventaboletos.utilerias.UtiliteriasFiscal;
|
|
|
|
|
import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoECFTipoCCF;
|
|
|
|
|
import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoECFTipoCFC;
|
|
|
|
|
import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoECFTipoICF;
|
|
|
|
@ -63,7 +64,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
public FiscalHibernateDAO(@Qualifier("sessionFactory") SessionFactory factory) {
|
|
|
|
|
setSessionFactory(factory);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private boolean isEstadoTodos(Integer estadoId) {
|
|
|
|
|
if (estadoId == -1 || estadoId == null)
|
|
|
|
|
return true;
|
|
|
|
@ -181,7 +182,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
stmt.setTimestamp(1, new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime()));
|
|
|
|
|
stmt.setTimestamp(2, new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime()));
|
|
|
|
|
stmt.setInt(3, empresaId);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!isEstadoTodos(estadoId))
|
|
|
|
|
stmt.setInt(4, estadoId);
|
|
|
|
|
|
|
|
|
@ -464,7 +465,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);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!isEstadoTodos(estadoId))
|
|
|
|
|
stmt.setInt(5, estadoId);
|
|
|
|
|
|
|
|
|
@ -629,7 +630,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id ");
|
|
|
|
|
sql.append(" INNER JOIN estado eo ON eo.estado_id = co.estado_id ");
|
|
|
|
|
sql.append(" LEFT JOIN empresa_imposto ei ON ei.estado_id = eo.estado_id AND b.marca_id = ei.empresa_id ");
|
|
|
|
|
//sql.append(" LEFT JOIN empresa_imposto ei ON b.marca_id = ei.empresa_id ").append(isEstadoTodos ? "" : " AND ei.estado_id = eo.estado_id ");
|
|
|
|
|
// sql.append(" LEFT JOIN empresa_imposto ei ON b.marca_id = ei.empresa_id ").append(isEstadoTodos ? "" : " AND ei.estado_id = eo.estado_id ");
|
|
|
|
|
sql.append(" INNER JOIN parada d ON coalesce(ase.aliasdestino_id, b.destino_id) = d.parada_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 ");
|
|
|
|
@ -1264,7 +1265,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
stmt.setInt(1, empresaId);
|
|
|
|
|
stmt.setDate(2, new java.sql.Date(inicio.getTime()));
|
|
|
|
|
stmt.setDate(3, new java.sql.Date(fim.getTime()));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!isEstadoTodos(estadoId))
|
|
|
|
|
stmt.setInt(4, estadoId);
|
|
|
|
|
|
|
|
|
@ -1399,44 +1400,44 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
List<ExportacaoECFTipoCCF> retorno = new ArrayList<ExportacaoECFTipoCCF>();
|
|
|
|
|
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
|
|
|
|
|
// sb.append(" select distinct");
|
|
|
|
|
// sb.append(" r5.numserie20 as ecf,");
|
|
|
|
|
// sb.append(" r5.datamov as datamov,");
|
|
|
|
|
// sb.append(" r5.coo as coo,");
|
|
|
|
|
// sb.append(" r5.imptotalliquido as valortarifa,");
|
|
|
|
|
// sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN co.codibge ELSE cos.codibge END) as municipio_origem,");
|
|
|
|
|
// sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) as estado_origem,");
|
|
|
|
|
// sb.append(" (CASE WHEN s.aliasdestino_id IS NULL THEN cd.codibge ELSE cds.codibge END) as municipio_destino,");
|
|
|
|
|
// sb.append(" (CASE WHEN s.aliasdestino_id IS NULL THEN ed.cveestado ELSE eds.cveestado END) as estado_destino,");
|
|
|
|
|
// 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 s.aliasorigen_id IS NULL THEN po.regionmetropolitana_id ELSE pos.regionmetropolitana_id END),-1) = nvl((CASE WHEN s.aliasdestino_id IS NULL THEN pd.regionmetropolitana_id ELSE pds.regionmetropolitana_id END),-2)) THEN 1 ELSE 0 END) as isenta,");
|
|
|
|
|
// sb.append(" r4.impsubtotal as valortotal,");
|
|
|
|
|
// sb.append(" b.numfoliosistema as numfoliosistema");
|
|
|
|
|
// sb.append(" from fiscal_r5 r5");
|
|
|
|
|
// sb.append(" join fiscal_r4 r4 on r4.numserie20 = r5.numserie20 and r4.coo = r5.coo");
|
|
|
|
|
// sb.append(" join fiscal_r2 r2 on r2.numserie20 = r4.numserie20 and r2.datamov = r4.datamov");
|
|
|
|
|
// sb.append(" join boleto b on b.boleto_id = r4.boleto_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(" join empresa_imposto ei on ei.empresa_id = b.empresacorrida_id and ei.estado_id = eo.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(" left join empresa_imposto eis on eis.empresa_id = b.empresacorrida_id and eis.estado_id = eos.estado_id");
|
|
|
|
|
// sb.append(" where coalesce(r4.indcancelamento, 'N') <> 'S' and nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and b.activo = 1 and r5.codproduto like '%-TA' and r5.datamov >= ? and r5.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// sb.append(" select distinct");
|
|
|
|
|
// sb.append(" r5.numserie20 as ecf,");
|
|
|
|
|
// sb.append(" r5.datamov as datamov,");
|
|
|
|
|
// sb.append(" r5.coo as coo,");
|
|
|
|
|
// sb.append(" r5.imptotalliquido as valortarifa,");
|
|
|
|
|
// sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN co.codibge ELSE cos.codibge END) as municipio_origem,");
|
|
|
|
|
// sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) as estado_origem,");
|
|
|
|
|
// sb.append(" (CASE WHEN s.aliasdestino_id IS NULL THEN cd.codibge ELSE cds.codibge END) as municipio_destino,");
|
|
|
|
|
// sb.append(" (CASE WHEN s.aliasdestino_id IS NULL THEN ed.cveestado ELSE eds.cveestado END) as estado_destino,");
|
|
|
|
|
// 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 s.aliasorigen_id IS NULL THEN po.regionmetropolitana_id ELSE pos.regionmetropolitana_id END),-1) = nvl((CASE WHEN s.aliasdestino_id IS NULL THEN pd.regionmetropolitana_id ELSE pds.regionmetropolitana_id END),-2)) THEN 1 ELSE 0 END) as isenta,");
|
|
|
|
|
// sb.append(" r4.impsubtotal as valortotal,");
|
|
|
|
|
// sb.append(" b.numfoliosistema as numfoliosistema");
|
|
|
|
|
// sb.append(" from fiscal_r5 r5");
|
|
|
|
|
// sb.append(" join fiscal_r4 r4 on r4.numserie20 = r5.numserie20 and r4.coo = r5.coo");
|
|
|
|
|
// sb.append(" join fiscal_r2 r2 on r2.numserie20 = r4.numserie20 and r2.datamov = r4.datamov");
|
|
|
|
|
// sb.append(" join boleto b on b.boleto_id = r4.boleto_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(" join empresa_imposto ei on ei.empresa_id = b.empresacorrida_id and ei.estado_id = eo.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(" left join empresa_imposto eis on eis.empresa_id = b.empresacorrida_id and eis.estado_id = eos.estado_id");
|
|
|
|
|
// sb.append(" where coalesce(r4.indcancelamento, 'N') <> 'S' and nvl(CASE WHEN s.aliasorigen_id IS NULL THEN ei.activo ELSE eis.activo END, 0) = 1 and b.activo = 1 and r5.codproduto like '%-TA' and r5.datamov >= ? and r5.datamov <= ? and b.empresacorrida_id = ? and ((CASE WHEN s.aliasorigen_id IS NULL THEN eo.cveestado ELSE eos.cveestado END) = ?)");
|
|
|
|
|
|
|
|
|
|
sb.append(" select distinct");
|
|
|
|
|
sb.append(" r4.numserie20 as ecf,");
|
|
|
|
|
sb.append(" r4.datamov as datamov,");
|
|
|
|
@ -1489,15 +1490,15 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
|
|
|
|
|
while (rs.next()) {
|
|
|
|
|
BigDecimal valorTarifa = BigDecimal.ZERO;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (rs.getString("valortarifa") != null) {
|
|
|
|
|
valorTarifa = BigDecimal.valueOf(Double.valueOf(rs.getString("valortarifa")) / 100);
|
|
|
|
|
} else {
|
|
|
|
|
valorTarifa = rs.getBigDecimal("preciopagado");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log.info("Tarifa nao encontrada na R5. (ECF: " + rs.getString("ecf") + " / DATAMOV: " + rs.getString("datamov") + " / COO: " + rs.getString("coo") + ")");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
registro = new ExportacaoECFTipoCCF();
|
|
|
|
|
registro.setEcf(rs.getString("ecf"));
|
|
|
|
|
registro.setDataEmissao(rs.getString("datamov"));
|
|
|
|
@ -1562,9 +1563,9 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (rs.getInt("isenta") == 1) {
|
|
|
|
|
valorBaseCalculoICMS= null;
|
|
|
|
|
valorBaseCalculoICMS = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
registro.setValorTotal(valorTotal);
|
|
|
|
|
|
|
|
|
|
// 1 - Demais; 2 - Região Metropolitanao ou seja, quando o campo CSTB for "40", esse campo deve vir "2". Do contrário, deve vir "1"
|
|
|
|
@ -2010,7 +2011,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
sb.append(" join ciudad cd on cd.ciudad_id = po.ciudad_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(" join aidf a on a.serie = substr(b.numseriepreimpresa, 1, 3) and a.estado_id = (CASE WHEN s.aliasorigen_id IS NULL THEN eo.estado_id ELSE eos.estado_id END)");
|
|
|
|
|
// sb.append(" join aidf a on a.serie = substr(b.numseriepreimpresa, 1, 3) and a.estado_id = (CASE WHEN s.aliasorigen_id IS NULL THEN eo.estado_id ELSE eos.estado_id END)");
|
|
|
|
|
sb.append(" join aidf a on a.aidf_id = b.aidf_id");
|
|
|
|
|
sb.append(" join empresa_imposto ei on ei.empresa_id = b.empresacorrida_id and ei.estado_id = co.estado_id");
|
|
|
|
|
sb.append(" left join empresa_imposto eis on eis.empresa_id = b.empresacorrida_id and eis.estado_id = cos.estado_id");
|
|
|
|
@ -2091,7 +2092,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
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(" join aidf a on a.serie = substr(b.numseriepreimpresa, 1, 3) and a.estado_id = (CASE WHEN s.aliasorigen_id IS NULL THEN eo.estado_id ELSE eos.estado_id END)");
|
|
|
|
|
// sb.append(" join aidf a on a.serie = substr(b.numseriepreimpresa, 1, 3) and a.estado_id = (CASE WHEN s.aliasorigen_id IS NULL THEN eo.estado_id ELSE eos.estado_id END)");
|
|
|
|
|
sb.append(" join aidf a on a.aidf_id = b.aidf_id");
|
|
|
|
|
sb.append(" join aidf r on r.aidf_id = b.rmd_id");
|
|
|
|
|
sb.append(" where");
|
|
|
|
@ -2361,12 +2362,12 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
|
|
|
|
|
return retorno;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void cancelarRMDBoleto(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, Aidf aidf, String folio) {
|
|
|
|
|
|
|
|
|
|
String def = null;
|
|
|
|
|
for (DetalhadoRMD brp : buscarRegistroImpressaoRMD(connection, inicio, fim, empresaId, cveestado, aidf.getAidfId(), folio, false, false, true)) {
|
|
|
|
|
for (DetalhadoRMD brp : buscarRegistroImpressaoBPR(connection, inicio, fim, empresaId, cveestado, aidf.getAidfId(), folio, false, false, true)) {
|
|
|
|
|
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
PreparedStatement pstmt = null;
|
|
|
|
@ -2401,7 +2402,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
rmdIterate++;
|
|
|
|
|
cont = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (DetalhadoRMD det : imp.getDetalhada()) {
|
|
|
|
|
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
@ -2430,76 +2431,43 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<ImpressaoRMD> getRegistroImpressaoRMDTipoDVB(Connection connection, Date inicio, Date fim, Integer empresaId,
|
|
|
|
|
public List<ImpressaoRMD> getRegistroImpressaoRMDTipoBPR(Connection connection, Date inicio, Date fim, Integer empresaId,
|
|
|
|
|
String cveestado, String rmd, String folio) {
|
|
|
|
|
|
|
|
|
|
List<ImpressaoRMD> list = new ArrayList<ImpressaoRMD>();
|
|
|
|
|
|
|
|
|
|
// IMPRESSAO RMD MANUAL
|
|
|
|
|
String serie = null;
|
|
|
|
|
Date data = null;
|
|
|
|
|
// int primeiroFolio = 0;
|
|
|
|
|
int anteriorFolio = 0;
|
|
|
|
|
String numPuntoVenta = null;
|
|
|
|
|
|
|
|
|
|
ImpressaoRMD impRmd = null;
|
|
|
|
|
|
|
|
|
|
for (DetalhadoRMD brp : buscarRegistroImpressaoRMD(connection, inicio, fim, empresaId, cveestado, null, null, true, false, false)) {
|
|
|
|
|
for (DetalhadoRMD brp : buscarRegistroImpressaoBPR(connection, inicio, fim, empresaId, cveestado, null, null, true, false, false)) {
|
|
|
|
|
|
|
|
|
|
if (serie == null) {
|
|
|
|
|
if (numPuntoVenta == null) {
|
|
|
|
|
impRmd = new ImpressaoRMD(brp.getEmpresa(), brp.getEnderecoEmpresa(), brp.getCnpjEmpresa(), brp.getIeEmpresa(),
|
|
|
|
|
brp.getFechorVenta(), rmd, "SERVIÇO DE TRANSPORTE", "DVB", "", brp.getSerie(), folio);
|
|
|
|
|
serie = brp.getSerie();
|
|
|
|
|
brp.getFechorVenta(), rmd, "SERVIÇO DE TRANSPORTE", "DVB", null, null, folio);
|
|
|
|
|
numPuntoVenta = brp.getNumPuntoVenta();
|
|
|
|
|
data = brp.getFechorVenta();
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
if (serie.equals(brp.getSerie()) && data.equals(brp.getFechorVenta())) {
|
|
|
|
|
if (anteriorFolio + 1 == brp.getFolio()) {
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
impRmd.setNumero(brp.getFolio().toString());
|
|
|
|
|
list.add(impRmd);
|
|
|
|
|
impRmd = new ImpressaoRMD(brp.getEmpresa(), brp.getEnderecoEmpresa(), brp.getCnpjEmpresa(), brp.getIeEmpresa(),
|
|
|
|
|
brp.getFechorVenta(), rmd, "SERVIÇO DE TRANSPORTE", "DVB", "", brp.getSerie(), folio);
|
|
|
|
|
serie = brp.getSerie();
|
|
|
|
|
data = brp.getFechorVenta();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
impRmd.setNumero(brp.getFolio().toString());
|
|
|
|
|
list.add(impRmd);
|
|
|
|
|
impRmd = new ImpressaoRMD(brp.getEmpresa(), brp.getEnderecoEmpresa(), brp.getCnpjEmpresa(), brp.getIeEmpresa(),
|
|
|
|
|
brp.getFechorVenta(), rmd, "SERVIÇO DE TRANSPORTE", "DVB", "", brp.getSerie(), folio);
|
|
|
|
|
serie = brp.getSerie();
|
|
|
|
|
data = brp.getFechorVenta();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
BigDecimal valorContabil = impRmd.getValorContabil() == null ? BigDecimal.ZERO : impRmd.getValorContabil().add(somarTotalBilhete(brp));
|
|
|
|
|
BigDecimal baseCalculo = impRmd.getBaseCalculo() == null ? BigDecimal.ZERO : impRmd.getBaseCalculo().add(
|
|
|
|
|
brp.getTarifa() == null ? BigDecimal.ZERO : brp.getTarifa());
|
|
|
|
|
|
|
|
|
|
BigDecimal aliquota = brp.getTributacaoImportacao();
|
|
|
|
|
|
|
|
|
|
BigDecimal icms = baseCalculo.multiply(aliquota.divide(BigDecimal.TEN.multiply(BigDecimal.TEN)));
|
|
|
|
|
|
|
|
|
|
BigDecimal isentos = BigDecimal.ZERO;
|
|
|
|
|
BigDecimal outros = valorContabil.subtract(baseCalculo);
|
|
|
|
|
|
|
|
|
|
impRmd.setValorContabil(valorContabil);
|
|
|
|
|
impRmd.setBaseCalculo(baseCalculo);
|
|
|
|
|
impRmd.setAliquota(aliquota);
|
|
|
|
|
impRmd.setIcms(icms);
|
|
|
|
|
impRmd.setIsentos(isentos);
|
|
|
|
|
impRmd.setOutros(outros);
|
|
|
|
|
impRmd.setNumero(brp.getNumPuntoVenta());
|
|
|
|
|
impRmd.getDetalhada().add(brp);
|
|
|
|
|
|
|
|
|
|
if (anteriorFolio == 0)
|
|
|
|
|
} else if (!(numPuntoVenta.equals(brp.getNumPuntoVenta()) && data.equals(brp.getFechorVenta()))) {
|
|
|
|
|
impRmd.setNumero(brp.getCcf());
|
|
|
|
|
list.add(impRmd);
|
|
|
|
|
|
|
|
|
|
anteriorFolio = brp.getFolio();
|
|
|
|
|
impRmd = new ImpressaoRMD(brp.getEmpresa(), brp.getEnderecoEmpresa(), brp.getCnpjEmpresa(), brp.getIeEmpresa(),
|
|
|
|
|
brp.getFechorVenta(), rmd, "SERVIÇO DE TRANSPORTE", "DVB", null, null, folio);
|
|
|
|
|
numPuntoVenta = brp.getNumPuntoVenta();
|
|
|
|
|
data = brp.getFechorVenta();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
impRmd.getDetalhada().add(brp);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (impRmd != null)
|
|
|
|
|
list.add(impRmd);
|
|
|
|
|
|
|
|
|
|
agruparImpressaoRMD(list);
|
|
|
|
|
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -2513,12 +2481,12 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
String serie = null;
|
|
|
|
|
String datamov = null;
|
|
|
|
|
ImpressaoRMD impRmd = null;
|
|
|
|
|
|
|
|
|
|
for (DetalhadoRMD brp : buscarRegistroImpressaoRMD(connection, inicio, fim, empresaId, cveestado, null, null, false, true, false)) {
|
|
|
|
|
|
|
|
|
|
for (DetalhadoRMD brp : buscarRegistroImpressaoBPR(connection, inicio, fim, empresaId, cveestado, null, null, false, true, false)) {
|
|
|
|
|
|
|
|
|
|
if (serie == null) {
|
|
|
|
|
impRmd = new ImpressaoRMD(brp.getEmpresa(), brp.getEnderecoEmpresa(), brp.getCnpjEmpresa(), brp.getIeEmpresa(),
|
|
|
|
|
brp.getFechorVenta(), rmd, "SERVIÇO DE TRANSPORTE", "ECF", brp.getEcf(), brp.getEstadoOrigem(), folio);
|
|
|
|
|
brp.getFechorVenta(), rmd, "SERVIÇO DE TRANSPORTE", "ECF", brp.getEcf(), brp.getEstadoImpressora(), folio);
|
|
|
|
|
serie = brp.getEcf();
|
|
|
|
|
datamov = brp.getDatamov();
|
|
|
|
|
|
|
|
|
@ -2527,7 +2495,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
list.add(impRmd);
|
|
|
|
|
|
|
|
|
|
impRmd = new ImpressaoRMD(brp.getEmpresa(), brp.getEnderecoEmpresa(), brp.getCnpjEmpresa(), brp.getIeEmpresa(),
|
|
|
|
|
brp.getFechorVenta(), rmd, "SERVIÇO DE TRANSPORTE", "ECF", brp.getEcf(), brp.getEstadoOrigem(), folio);
|
|
|
|
|
brp.getFechorVenta(), rmd, "SERVIÇO DE TRANSPORTE", "ECF", brp.getEcf(), brp.getEstadoImpressora(), folio);
|
|
|
|
|
serie = brp.getEcf();
|
|
|
|
|
datamov = brp.getDatamov();
|
|
|
|
|
}
|
|
|
|
@ -2560,13 +2528,17 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
if (brp.getIsenta()) {
|
|
|
|
|
isentos = isentos == null ? BigDecimal.ZERO : isentos.add(somarTotalBilhete(brp));
|
|
|
|
|
} else {
|
|
|
|
|
valorContabil = valorContabil == null ? BigDecimal.ZERO : valorContabil.add(somarTotalBilhete(brp));
|
|
|
|
|
baseCalculo = baseCalculo == null ? BigDecimal.ZERO : baseCalculo.add(brp.getTarifa() == null ? BigDecimal.ZERO : brp.getTarifa());
|
|
|
|
|
aliquota = brp.getTributacaoImportacao();
|
|
|
|
|
valorContabil = valorContabil == null ? BigDecimal.ZERO : valorContabil.add(brp.getTarifa() == null ? BigDecimal.ZERO : brp.getTarifa());
|
|
|
|
|
|
|
|
|
|
BigDecimal redBaseCalcIcms = brp.getRedBaseCalcIcms() == null ? BigDecimal.ONE : brp.getRedBaseCalcIcms().divide(UtiliteriasFiscal.CEM);
|
|
|
|
|
BigDecimal redutor = valorContabil.multiply(redBaseCalcIcms);
|
|
|
|
|
baseCalculo = valorContabil.subtract(redutor);
|
|
|
|
|
|
|
|
|
|
aliquota = brp.getTributacaoImportacao() == null ? brp.getIcmsInterestadual() : brp.getTributacaoImportacao();
|
|
|
|
|
icms = baseCalculo.multiply(aliquota.divide(BigDecimal.TEN.multiply(BigDecimal.TEN)));
|
|
|
|
|
outros = outros.add(valorContabil.subtract(baseCalculo));
|
|
|
|
|
outros = valorContabil.subtract(baseCalculo);
|
|
|
|
|
}
|
|
|
|
|
cooFim = brp.getCoo();
|
|
|
|
|
cooFim = brp.getCoo() == null ? brp.getNumPuntoVenta() : brp.getCoo();
|
|
|
|
|
}
|
|
|
|
|
impRmd.setNumero(cooFim);
|
|
|
|
|
impRmd.setValorContabil(valorContabil);
|
|
|
|
@ -2589,7 +2561,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
return total;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public List<DetalhadoRMD> buscarRegistroImpressaoRMD(Connection connection, Date inicio, Date fim, Integer empresaId,
|
|
|
|
|
public List<DetalhadoRMD> buscarRegistroImpressaoBPR(Connection connection, Date inicio, Date fim, Integer empresaId,
|
|
|
|
|
String cveestado, Long rmdId, String foliormd, boolean isManual, boolean isECF, boolean isCancelamento) {
|
|
|
|
|
|
|
|
|
|
List<DetalhadoRMD> list = new ArrayList<DetalhadoRMD>();
|
|
|
|
@ -2599,17 +2571,22 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
sql = getSqlImpressaoRMDTipoECF();
|
|
|
|
|
|
|
|
|
|
} else if (isManual) {
|
|
|
|
|
sql = getSqlImpressaoRMDTipoDVB();
|
|
|
|
|
sql = getSqlImpressaoRMDTipoBPR();
|
|
|
|
|
|
|
|
|
|
} else if (isCancelamento) {
|
|
|
|
|
sql = getSqlCancelarRMDTipoECF();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
PreparedStatement ps = connection.prepareStatement(sql);
|
|
|
|
|
|
|
|
|
|
ps.setLong(1, Long.valueOf(empresaId));
|
|
|
|
|
ps.setTimestamp(2, new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime()));
|
|
|
|
|
ps.setTimestamp(3, new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime()));
|
|
|
|
|
if (isECF) {
|
|
|
|
|
ps.setString(2, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
|
|
|
|
|
ps.setString(3, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
|
|
|
|
|
} else {
|
|
|
|
|
ps.setTimestamp(2, new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime()));
|
|
|
|
|
ps.setTimestamp(3, new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ps.setString(4, cveestado);
|
|
|
|
|
|
|
|
|
|
if (isCancelamento) {
|
|
|
|
@ -2657,6 +2634,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
brp.setCoo(rs.getString("coo"));
|
|
|
|
|
brp.setCcf(rs.getString("ccf"));
|
|
|
|
|
brp.setTotalFiscal(rs.getString("totalFiscal"));
|
|
|
|
|
brp.setEstadoImpressora(rs.getString("estadoImpressora"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
list.add(brp);
|
|
|
|
@ -2672,7 +2650,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private String getSqlImpressaoRMDTipoDVB() {
|
|
|
|
|
private String getSqlImpressaoRMDTipoBPR() {
|
|
|
|
|
StringBuilder sql = new StringBuilder();
|
|
|
|
|
sql.append("select ");
|
|
|
|
|
sql.append(" b.boleto_id as boletoId, ");
|
|
|
|
@ -2714,7 +2692,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
sql.append(" coalesce(b.importeseguro, 0) as seguro, ");
|
|
|
|
|
sql.append(" coalesce(b.importeoutros, 0) as outros ");
|
|
|
|
|
sql.append("from boleto b ");
|
|
|
|
|
sql.append(" join empresa e on e.empresa_id = b.empresacorrida_id ");
|
|
|
|
|
sql.append(" join marca m on b.marca_id = m.marca_id ");
|
|
|
|
|
sql.append(" join empresa e on e.empresa_id = m.empresa_id ");
|
|
|
|
|
sql.append(" join punto_venta pv on pv.puntoventa_id = b.puntoventa_id ");
|
|
|
|
|
sql.append(" join ciudad ce on ce.ciudad_id = e.ciudad_id ");
|
|
|
|
|
sql.append(" join estado ee on ee.estado_id = ce.estado_id ");
|
|
|
|
@ -2741,14 +2720,13 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
sql.append(" and a.estado_id = (CASE WHEN s.aliasorigen_id IS NULL ");
|
|
|
|
|
sql.append(" THEN eo.estado_id ELSE eos.estado_id END) ");
|
|
|
|
|
sql.append("where ");
|
|
|
|
|
sql.append(" b.activo = 1 ");
|
|
|
|
|
sql.append(" and b.tipoventa_id = 3 ");
|
|
|
|
|
sql.append(" b.tipoventa_id = 3 ");
|
|
|
|
|
sql.append(" and b.rmd_id is null ");
|
|
|
|
|
sql.append(" and b.indstatusboleto = 'V' ");
|
|
|
|
|
sql.append(" and b.empresacorrida_id = ? ");
|
|
|
|
|
sql.append(" and e.empresa_id = ? ");
|
|
|
|
|
sql.append(" and b.fechorventa between ? and ? ");
|
|
|
|
|
sql.append(" and coalesce(eos.cveestado, eo.cveestado) = ? ");
|
|
|
|
|
sql.append("order by estadoId, serieCompl, folio, fechorVenta ");
|
|
|
|
|
sql.append("order by estadoId, fechorVenta, nombPuntoVenta, numPuntoVenta ");
|
|
|
|
|
|
|
|
|
|
return sql.toString();
|
|
|
|
|
}
|
|
|
|
@ -2799,13 +2777,18 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
sql.append(" r4.datamov as datamov, ");
|
|
|
|
|
sql.append(" r4.coo as coo, ");
|
|
|
|
|
sql.append(" r4.contador as ccf, ");
|
|
|
|
|
sql.append(" r4.impsubtotal as totalFiscal ");
|
|
|
|
|
sql.append(" r4.impsubtotal as totalFiscal, ");
|
|
|
|
|
sql.append(" epv.cveestado as estadoImpressora ");
|
|
|
|
|
sql.append("from fiscal_r4 r4 ");
|
|
|
|
|
sql.append(" join boleto b on b.boleto_id = r4.boleto_id ");
|
|
|
|
|
sql.append(" join empresa e on e.empresa_id = b.empresacorrida_id ");
|
|
|
|
|
sql.append(" join punto_venta pv on pv.puntoventa_id = b.puntoventa_id ");
|
|
|
|
|
sql.append(" join marca m on b.marca_id = m.marca_id ");
|
|
|
|
|
sql.append(" join empresa e on e.empresa_id = m.empresa_id ");
|
|
|
|
|
sql.append(" join ciudad ce on ce.ciudad_id = e.ciudad_id ");
|
|
|
|
|
sql.append(" join estado ee on ee.estado_id = ce.estado_id ");
|
|
|
|
|
sql.append(" join punto_venta pv on pv.puntoventa_id = b.puntoventa_id ");
|
|
|
|
|
sql.append(" left join parada ppv on ppv.parada_id = pv.parada_id ");
|
|
|
|
|
sql.append(" left join ciudad cpv on cpv.ciudad_id = ppv.ciudad_id ");
|
|
|
|
|
sql.append(" left join estado epv on epv.estado_id = cpv.estado_id ");
|
|
|
|
|
sql.append(" join parada po on po.parada_id = b.origen_id ");
|
|
|
|
|
sql.append(" join ciudad co on co.ciudad_id = po.ciudad_id ");
|
|
|
|
|
sql.append(" join estado eo on eo.estado_id = co.estado_id ");
|
|
|
|
@ -2823,23 +2806,22 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
sql.append(" left join estado eds on eds.estado_id = cds.estado_id ");
|
|
|
|
|
sql.append(" join inscricao_estadual ie on e.empresa_id = ie.empresa_id ");
|
|
|
|
|
sql.append(" and ie.estado_id = coalesce(eos.estado_id, eo.estado_id) and ie.activo = 1 ");
|
|
|
|
|
sql.append(" join empresa_imposto ei on ei.empresa_id = b.empresacorrida_id ");
|
|
|
|
|
sql.append(" join empresa_imposto ei on ei.empresa_id = e.empresa_id ");
|
|
|
|
|
sql.append(" and ei.estado_id = coalesce(eos.estado_id, eo.estado_id) and ei.activo = 1 ");
|
|
|
|
|
sql.append(" left join aidf a on a.serie = substr(b.numseriepreimpresa, 1, 3) ");
|
|
|
|
|
sql.append(" and a.estado_id = (CASE WHEN s.aliasorigen_id IS NULL ");
|
|
|
|
|
sql.append(" THEN eo.estado_id ELSE eos.estado_id END) ");
|
|
|
|
|
sql.append("where ");
|
|
|
|
|
sql.append(" b.activo = 1 ");
|
|
|
|
|
sql.append(" and b.tipoventa_id <> 3 ");
|
|
|
|
|
sql.append(" b.tipoventa_id <> 3 ");
|
|
|
|
|
sql.append(" and b.rmd_id is null ");
|
|
|
|
|
sql.append(" and b.empresacorrida_id = ? ");
|
|
|
|
|
sql.append(" and b.fechorventa between ? and ? ");
|
|
|
|
|
sql.append(" and e.empresa_id = ? ");
|
|
|
|
|
sql.append(" and r4.datamov between ? and ? ");
|
|
|
|
|
sql.append(" and coalesce(eos.cveestado, eo.cveestado) = ? ");
|
|
|
|
|
sql.append("order by estadoId, datamov, ecf, coo ");
|
|
|
|
|
|
|
|
|
|
return sql.toString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private String getSqlCancelarRMDTipoECF() {
|
|
|
|
|
|
|
|
|
|
StringBuilder sql = new StringBuilder();
|
|
|
|
@ -2909,7 +2891,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|
|
|
|
sql.append(" left join aidf a on a.serie = substr(b.numseriepreimpresa, 1, 3) ");
|
|
|
|
|
sql.append(" and a.estado_id = (CASE WHEN s.aliasorigen_id IS NULL ");
|
|
|
|
|
sql.append(" THEN eo.estado_id ELSE eos.estado_id END) ");
|
|
|
|
|
sql.append("where b.empresacorrida_id = ? ");
|
|
|
|
|
sql.append("where e.empresa_id = ? ");
|
|
|
|
|
sql.append(" and b.fechorventa between ? and ? ");
|
|
|
|
|
sql.append(" and coalesce(eos.cveestado, eo.cveestado) = ? ");
|
|
|
|
|
sql.append(" and b.rmd_id = ? ");
|
|
|
|
|