julio 2017-06-02 14:45:17 +00:00
parent fcf81e1c0c
commit 8eae090a59
5 changed files with 131 additions and 140 deletions

View File

@ -49,7 +49,7 @@ public interface FiscalDAO {
public List<ExportacaoRMDTipoDBP> buscarRegistroRMDTipoDBP(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado); public List<ExportacaoRMDTipoDBP> buscarRegistroRMDTipoDBP(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado);
public List<ImpressaoRMD> getRegistroImpressaoRMDTipoDVB(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, String rmd, String folio); public List<ImpressaoRMD> getRegistroImpressaoRMDTipoBPR(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, String rmd, String folio);
public List<ImpressaoRMD> getRegistroImpressaoRMDTipoECF(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, String rmd, String folio); public List<ImpressaoRMD> getRegistroImpressaoRMDTipoECF(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, String rmd, String folio);

View File

@ -32,6 +32,7 @@ import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.utilerias.MoneyHelper; import com.rjconsultores.ventaboletos.utilerias.MoneyHelper;
import com.rjconsultores.ventaboletos.utilerias.StringHelper; import com.rjconsultores.ventaboletos.utilerias.StringHelper;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; 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.ExportacaoECFTipoCCF;
import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoECFTipoCFC; import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoECFTipoCFC;
import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoECFTipoICF; import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoECFTipoICF;
@ -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 ciudad co ON o.ciudad_id = co.ciudad_id ");
sql.append(" INNER JOIN estado eo ON eo.estado_id = co.estado_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 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 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 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 ");
@ -1400,42 +1401,42 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
// sb.append(" select distinct"); // sb.append(" select distinct");
// sb.append(" r5.numserie20 as ecf,"); // sb.append(" r5.numserie20 as ecf,");
// sb.append(" r5.datamov as datamov,"); // sb.append(" r5.datamov as datamov,");
// sb.append(" r5.coo as coo,"); // sb.append(" r5.coo as coo,");
// sb.append(" r5.imptotalliquido as valortarifa,"); // 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 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.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 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.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.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.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.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 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(" (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(" r4.impsubtotal as valortotal,");
// sb.append(" b.numfoliosistema as numfoliosistema"); // sb.append(" b.numfoliosistema as numfoliosistema");
// sb.append(" from fiscal_r5 r5"); // 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_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 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 boleto b on b.boleto_id = r4.boleto_id");
// sb.append(" join parada po on po.parada_id = b.origen_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 ciudad co on co.ciudad_id = po.ciudad_id");
// sb.append(" join estado eo on eo.estado_id = co.estado_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 parada pd on pd.parada_id = b.destino_id");
// sb.append(" join ciudad cd on cd.ciudad_id = pd.ciudad_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 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(" 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 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 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 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 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 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 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 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(" 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(" 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(" select distinct");
sb.append(" r4.numserie20 as ecf,"); sb.append(" r4.numserie20 as ecf,");
@ -1562,7 +1563,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
} }
if (rs.getInt("isenta") == 1) { if (rs.getInt("isenta") == 1) {
valorBaseCalculoICMS= null; valorBaseCalculoICMS = null;
} }
registro.setValorTotal(valorTotal); registro.setValorTotal(valorTotal);
@ -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(" 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 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 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 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(" 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"); 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 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 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 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 a on a.aidf_id = b.aidf_id");
sb.append(" join aidf r on r.aidf_id = b.rmd_id"); sb.append(" join aidf r on r.aidf_id = b.rmd_id");
sb.append(" where"); sb.append(" where");
@ -2366,7 +2367,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
public void cancelarRMDBoleto(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, Aidf aidf, String folio) { public void cancelarRMDBoleto(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, Aidf aidf, String folio) {
String def = null; 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(); StringBuilder sb = new StringBuilder();
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
@ -2430,76 +2431,43 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
} }
@Override @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) { String cveestado, String rmd, String folio) {
List<ImpressaoRMD> list = new ArrayList<ImpressaoRMD>(); List<ImpressaoRMD> list = new ArrayList<ImpressaoRMD>();
// IMPRESSAO RMD MANUAL // IMPRESSAO RMD MANUAL
String serie = null;
Date data = null; Date data = null;
// int primeiroFolio = 0; String numPuntoVenta = null;
int anteriorFolio = 0;
ImpressaoRMD impRmd = 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(), impRmd = new ImpressaoRMD(brp.getEmpresa(), brp.getEnderecoEmpresa(), brp.getCnpjEmpresa(), brp.getIeEmpresa(),
brp.getFechorVenta(), rmd, "SERVIÇO DE TRANSPORTE", "DVB", "", brp.getSerie(), folio); brp.getFechorVenta(), rmd, "SERVIÇO DE TRANSPORTE", "DVB", null, null, folio);
serie = brp.getSerie(); numPuntoVenta = brp.getNumPuntoVenta();
data = brp.getFechorVenta(); data = brp.getFechorVenta();
} else {
if (serie.equals(brp.getSerie()) && data.equals(brp.getFechorVenta())) { } else if (!(numPuntoVenta.equals(brp.getNumPuntoVenta()) && data.equals(brp.getFechorVenta()))) {
if (anteriorFolio + 1 == brp.getFolio()) { impRmd.setNumero(brp.getCcf());
} 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)
list.add(impRmd); 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; return list;
} }
@ -2514,11 +2482,11 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
String datamov = null; String datamov = null;
ImpressaoRMD impRmd = 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) { if (serie == null) {
impRmd = new ImpressaoRMD(brp.getEmpresa(), brp.getEnderecoEmpresa(), brp.getCnpjEmpresa(), brp.getIeEmpresa(), 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(); serie = brp.getEcf();
datamov = brp.getDatamov(); datamov = brp.getDatamov();
@ -2527,7 +2495,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
list.add(impRmd); list.add(impRmd);
impRmd = new ImpressaoRMD(brp.getEmpresa(), brp.getEnderecoEmpresa(), brp.getCnpjEmpresa(), brp.getIeEmpresa(), 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(); serie = brp.getEcf();
datamov = brp.getDatamov(); datamov = brp.getDatamov();
} }
@ -2560,13 +2528,17 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
if (brp.getIsenta()) { if (brp.getIsenta()) {
isentos = isentos == null ? BigDecimal.ZERO : isentos.add(somarTotalBilhete(brp)); isentos = isentos == null ? BigDecimal.ZERO : isentos.add(somarTotalBilhete(brp));
} else { } else {
valorContabil = valorContabil == null ? BigDecimal.ZERO : valorContabil.add(somarTotalBilhete(brp)); valorContabil = valorContabil == null ? BigDecimal.ZERO : valorContabil.add(brp.getTarifa() == null ? BigDecimal.ZERO : brp.getTarifa());
baseCalculo = baseCalculo == null ? BigDecimal.ZERO : baseCalculo.add(brp.getTarifa() == null ? BigDecimal.ZERO : brp.getTarifa());
aliquota = brp.getTributacaoImportacao(); 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))); 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.setNumero(cooFim);
impRmd.setValorContabil(valorContabil); impRmd.setValorContabil(valorContabil);
@ -2589,7 +2561,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
return total; 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) { String cveestado, Long rmdId, String foliormd, boolean isManual, boolean isECF, boolean isCancelamento) {
List<DetalhadoRMD> list = new ArrayList<DetalhadoRMD>(); List<DetalhadoRMD> list = new ArrayList<DetalhadoRMD>();
@ -2599,17 +2571,22 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql = getSqlImpressaoRMDTipoECF(); sql = getSqlImpressaoRMDTipoECF();
} else if (isManual) { } else if (isManual) {
sql = getSqlImpressaoRMDTipoDVB(); sql = getSqlImpressaoRMDTipoBPR();
} else if (isCancelamento) { } else if (isCancelamento) {
sql = getSqlCancelarRMDTipoECF(); sql = getSqlCancelarRMDTipoECF();
} }
PreparedStatement ps = connection.prepareStatement(sql); PreparedStatement ps = connection.prepareStatement(sql);
ps.setLong(1, Long.valueOf(empresaId)); ps.setLong(1, Long.valueOf(empresaId));
ps.setTimestamp(2, new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime())); if (isECF) {
ps.setTimestamp(3, new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime())); 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); ps.setString(4, cveestado);
if (isCancelamento) { if (isCancelamento) {
@ -2657,6 +2634,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
brp.setCoo(rs.getString("coo")); brp.setCoo(rs.getString("coo"));
brp.setCcf(rs.getString("ccf")); brp.setCcf(rs.getString("ccf"));
brp.setTotalFiscal(rs.getString("totalFiscal")); brp.setTotalFiscal(rs.getString("totalFiscal"));
brp.setEstadoImpressora(rs.getString("estadoImpressora"));
} }
list.add(brp); list.add(brp);
@ -2672,7 +2650,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
return list; return list;
} }
private String getSqlImpressaoRMDTipoDVB() { private String getSqlImpressaoRMDTipoBPR() {
StringBuilder sql = new StringBuilder(); StringBuilder sql = new StringBuilder();
sql.append("select "); sql.append("select ");
sql.append(" b.boleto_id as boletoId, "); 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.importeseguro, 0) as seguro, ");
sql.append(" coalesce(b.importeoutros, 0) as outros "); sql.append(" coalesce(b.importeoutros, 0) as outros ");
sql.append("from boleto b "); 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 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 ciudad ce on ce.ciudad_id = e.ciudad_id ");
sql.append(" join estado ee on ee.estado_id = ce.estado_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(" and a.estado_id = (CASE WHEN s.aliasorigen_id IS NULL ");
sql.append(" THEN eo.estado_id ELSE eos.estado_id END) "); sql.append(" THEN eo.estado_id ELSE eos.estado_id END) ");
sql.append("where "); sql.append("where ");
sql.append(" b.activo = 1 "); sql.append(" b.tipoventa_id = 3 ");
sql.append(" and b.tipoventa_id = 3 ");
sql.append(" and b.rmd_id is null "); sql.append(" and b.rmd_id is null ");
sql.append(" and b.indstatusboleto = 'V' "); 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 b.fechorventa between ? and ? ");
sql.append(" and coalesce(eos.cveestado, eo.cveestado) = ? "); 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(); return sql.toString();
} }
@ -2799,13 +2777,18 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" r4.datamov as datamov, "); sql.append(" r4.datamov as datamov, ");
sql.append(" r4.coo as coo, "); sql.append(" r4.coo as coo, ");
sql.append(" r4.contador as ccf, "); 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("from fiscal_r4 r4 ");
sql.append(" join boleto b on b.boleto_id = r4.boleto_id "); 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 marca m on b.marca_id = m.marca_id ");
sql.append(" join punto_venta pv on pv.puntoventa_id = b.puntoventa_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 ciudad ce on ce.ciudad_id = e.ciudad_id ");
sql.append(" join estado ee on ee.estado_id = ce.estado_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 parada po on po.parada_id = b.origen_id ");
sql.append(" join ciudad co on co.ciudad_id = po.ciudad_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 "); sql.append(" join estado eo on eo.estado_id = co.estado_id ");
@ -2823,17 +2806,16 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" left join estado eds on eds.estado_id = cds.estado_id "); 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(" 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(" 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(" 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(" 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(" and a.estado_id = (CASE WHEN s.aliasorigen_id IS NULL ");
sql.append(" THEN eo.estado_id ELSE eos.estado_id END) "); sql.append(" THEN eo.estado_id ELSE eos.estado_id END) ");
sql.append("where "); sql.append("where ");
sql.append(" b.activo = 1 "); sql.append(" b.tipoventa_id <> 3 ");
sql.append(" and b.tipoventa_id <> 3 ");
sql.append(" and b.rmd_id is null "); sql.append(" and b.rmd_id is null ");
sql.append(" and b.empresacorrida_id = ? "); sql.append(" and e.empresa_id = ? ");
sql.append(" and b.fechorventa between ? and ? "); sql.append(" and r4.datamov between ? and ? ");
sql.append(" and coalesce(eos.cveestado, eo.cveestado) = ? "); sql.append(" and coalesce(eos.cveestado, eo.cveestado) = ? ");
sql.append("order by estadoId, datamov, ecf, coo "); sql.append("order by estadoId, datamov, ecf, coo ");
@ -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(" 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(" and a.estado_id = (CASE WHEN s.aliasorigen_id IS NULL ");
sql.append(" THEN eo.estado_id ELSE eos.estado_id END) "); 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 b.fechorventa between ? and ? ");
sql.append(" and coalesce(eos.cveestado, eo.cveestado) = ? "); sql.append(" and coalesce(eos.cveestado, eo.cveestado) = ? ");
sql.append(" and b.rmd_id = ? "); sql.append(" and b.rmd_id = ? ");

View File

@ -46,7 +46,7 @@ public interface FiscalService {
public File buscarArquivoExportacaoRMD(Date value, Date value2, Empresa empresa, Estado estado, String nomeArquivo); public File buscarArquivoExportacaoRMD(Date value, Date value2, Empresa empresa, Estado estado, String nomeArquivo);
public List<ImpressaoRMD> getRegistroImpressaoRMDTipoDVB(Date inicio, Date fim, Empresa empresa, Estado estado, String rmd, String folio); public List<ImpressaoRMD> getRegistroImpressaoRMDTipoBPR(Date inicio, Date fim, Empresa empresa, Estado estado, String rmd, String folio);
public List<ImpressaoRMD> getRegistroImpressaoRMDTipoECF(Date inicio, Date fim, Empresa empresa, Estado estado, String rmd, String folio); public List<ImpressaoRMD> getRegistroImpressaoRMDTipoECF(Date inicio, Date fim, Empresa empresa, Estado estado, String rmd, String folio);

View File

@ -131,11 +131,11 @@ public class FiscalServiceImpl implements FiscalService {
} }
@Override @Override
public List<ImpressaoRMD> getRegistroImpressaoRMDTipoDVB(Date inicio, Date fim, Empresa empresa, Estado estado, String rmd, String folio) { public List<ImpressaoRMD> getRegistroImpressaoRMDTipoBPR(Date inicio, Date fim, Empresa empresa, Estado estado, String rmd, String folio) {
Connection connection = null; Connection connection = null;
try { try {
connection = getConnection(); connection = getConnection();
return fiscalDAO.getRegistroImpressaoRMDTipoDVB(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado(), rmd, folio); return fiscalDAO.getRegistroImpressaoRMDTipoBPR(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado(), rmd, folio);
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
} finally { } finally {

View File

@ -41,6 +41,7 @@ public class DetalhadoRMD {
private String coo; private String coo;
private String ccf; private String ccf;
private String totalFiscal; private String totalFiscal;
private String estadoImpressora;
public Long getBoletoId() { public Long getBoletoId() {
return boletoId; return boletoId;
@ -314,4 +315,12 @@ public class DetalhadoRMD {
this.numPuntoVenta = numPuntoVenta; this.numPuntoVenta = numPuntoVenta;
} }
public String getEstadoImpressora() {
return estadoImpressora;
}
public void setEstadoImpressora(String estadoImpressora) {
this.estadoImpressora = estadoImpressora;
}
} }