julio 2017-08-24 01:41:17 +00:00
parent 3877b0ee22
commit aa15ba0222
9 changed files with 196 additions and 69 deletions

View File

@ -20,4 +20,5 @@ public interface AidfDAO extends GenericDAO<Aidf, Long> {
public String buscaUltimoAidfRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId); public String buscaUltimoAidfRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId);
public boolean vaidaRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId, String folio);
} }

View File

@ -61,9 +61,9 @@ public interface FiscalDAO {
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);
public void gravarRMDBoleto(Connection connection, List<ImpressaoRMD> rmds, Aidf aidf, String folio); public void gravarRMDBoleto(Connection connection, List<ImpressaoRMD> rmds, Aidf aidf, String folio, Integer empresaId, Integer estadoId, boolean isECF, boolean isBPR);
public void cancelarRMDBoleto(Connection connection, Date inicio, Date fim, Integer empresaId, Estado estado, Aidf aidf, String folio, boolean isCancela, boolean isInativa, boolean isECF, boolean isBPR); public void cancelarRMDBoleto(Connection connection, Date inicio, Date fim, Integer empresaId, Estado estado, Aidf aidf, String folioInicial, String folioFinal, boolean isCancela, boolean isInativa, boolean isECF, boolean isBPR);
public List<FiscalRdi> buscarRelatorioRDI(Connection connection, Date inicio, Date fim, Integer empresaId, List<Estado> estados, boolean isReceitaTerceiros); public List<FiscalRdi> buscarRelatorioRDI(Connection connection, Date inicio, Date fim, Integer empresaId, List<Estado> estados, boolean isReceitaTerceiros);
} }

View File

@ -156,19 +156,48 @@ public class AidfHibernateDAO extends GenericHibernateDAO<Aidf, Long> implements
public String buscaUltimoAidfRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId) { public String buscaUltimoAidfRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(" select to_char( to_number(max(b.foliormd) + 1 ) ) "); sb.append(" select max(folio) as ultimo ");
sb.append(" from boleto b "); sb.append(" from folio_consumo_rmd ");
sb.append(" inner join marca m on b.marca_id = m.marca_id "); sb.append(" where activo = 1 ");
sb.append(" inner join parada po on po.parada_id = b.origen_id "); sb.append(" and (indimpresso = 1 or indcancelacion = 1) ");
sb.append(" inner join ciudad co on co.ciudad_id = po.ciudad_id "); sb.append(" and rmd_id = :rmdId ");
sb.append(" where m.empresa_id = :empresaId "); sb.append(" and empresa_id = :empresaId ");
sb.append(" and b.rmd_id = :rmdId "); sb.append(" and estado_id = :estadoId ");
sb.append(" and co.estado_id = :estadoId ");
Query query = getSession().createSQLQuery(sb.toString()); Query query = getSession().createSQLQuery(sb.toString());
query.setLong("rmdId", idAidf); query.setLong("rmdId", idAidf);
query.setInteger("empresaId", empresaId); query.setInteger("empresaId", empresaId);
query.setInteger("estadoId", estadoId); query.setInteger("estadoId", estadoId);
return (String) query.uniqueResult();
String resp = (String) query.uniqueResult();
Integer aux = resp == null ? null : Integer.parseInt(resp);
if (aux != null)
aux++;
return aux == null ? null : aux.toString();
}
@Override
public boolean vaidaRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId, String folio) {
StringBuilder sb = new StringBuilder();
sb.append(" select max(folio) as ultimo ");
sb.append(" from folio_consumo_rmd ");
sb.append(" where activo = 1 ");
sb.append(" and (indimpresso = 1 or indcancelacion = 1) ");
sb.append(" and rmd_id = :rmdId ");
sb.append(" and empresa_id = :empresaId ");
sb.append(" and estado_id = :estadoId ");
sb.append(" and folio = :folio ");
Query query = getSession().createSQLQuery(sb.toString());
query.setLong("rmdId", idAidf);
query.setInteger("empresaId", empresaId);
query.setInteger("estadoId", estadoId);
query.setString("folio", folio);
String resp = (String) query.uniqueResult();
return resp == null ? true : false;
} }
} }

View File

@ -3105,12 +3105,21 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
@Override @Override
public void cancelarRMDBoleto(Connection connection, Date inicio, Date fim, Integer empresaId, Estado estado, Aidf aidf, public void cancelarRMDBoleto(Connection connection, Date inicio, Date fim, Integer empresaId, Estado estado, Aidf aidf,
String folio, boolean isCancela, boolean isInativa, boolean isECF, boolean isBPR) { String folioInicial, String folioFinal, boolean isCancela, boolean isInativa, boolean isECF, boolean isBPR) {
List<String> boletos = new ArrayList<String>(); List<String> boletos = new ArrayList<String>();
String boletoAgr = null; String boletoAgr = null;
int cont = 0; int cont = 0;
for (DetalhadoRMD brp : buscarRegistroImpressaoBPR(connection, inicio, fim, empresaId, estado.getCveestado(), aidf.getAidfId(), folio, isBPR, isECF, true)) {
List<String> foliosRmd = new ArrayList<String>();
inativarFolioConsumoRmd(connection, empresaId, estado.getEstadoId(), aidf.getAidfId(), folioInicial, folioFinal);
for (DetalhadoRMD brp : buscarRegistroImpressaoBPR(connection, inicio, fim, empresaId, estado.getCveestado(), aidf.getAidfId(),
folioInicial, folioFinal, isBPR, isECF, true)) {
if (!foliosRmd.contains(brp.getFoliormd()))
foliosRmd.add(brp.getFoliormd());
if (cont == 999) { if (cont == 999) {
boletos.add(boletoAgr); boletos.add(boletoAgr);
@ -3125,35 +3134,38 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
cont++; cont++;
} }
boletos.add(boletoAgr); boletos.add(boletoAgr);
for (String folio : foliosRmd) {
insereConsulmoFolioRMD(connection, inicio, empresaId, estado.getEstadoId(), aidf, folio, isCancela, isInativa, false, isECF, isBPR);
}
marcarRMDBoletos(connection, boletos, null, null);
}
private void inativarFolioConsumoRmd(Connection connection, Integer empresaId, Integer estadoId,
Long rmdId, String folioInicial, String folioFinal) {
PreparedStatement pstmt = null; PreparedStatement pstmt = null;
try { try {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(" insert into FOLIO_CONSUMO_RMD (FOLIOCONSUMORMD_ID, RMD_ID, FOLIO, "); sb.append(" update folio_consumo_rmd ");
sb.append(" EMPRESA_ID, ESTADO_ID, INDCANCELACION, INDINACTIVO, FECHORFOLIO, "); sb.append(" set activo = 0, fecmodif = sysdate ");
sb.append(" INDECF, INDBPR, ACTIVO, FECMODIF, USUARIO_ID) "); sb.append(" where activo = 1 ");
sb.append(" values (").append("FOLIO_CONSUMO_RMD_SEQ.NEXTVAL").append(","); sb.append(" and indimpresso = 1 ");
sb.append(aidf.getAidfId()).append(",").append(folio).append(","); sb.append(" and rmd_id = ? ");
sb.append(empresaId).append(",").append(estado.getEstadoId()).append(","); sb.append(" and empresa_id = ? ");
sb.append(" and estado_id = ? ");
if (isCancela) sb.append(" and folio between ? and ? ");
sb.append(1).append(",").append(0).append(",");
else
sb.append(0).append(",").append(1).append(",");
sb.append("?").append(",");
if (isECF)
sb.append(1).append(",").append(0).append(",");
else
sb.append(0).append(",").append(1).append(",");
sb.append(1).append(",").append("SYSDATE").append(",").append(UsuarioLogado.getUsuarioLogado().getUsuarioId()).append(")");
pstmt = connection.prepareStatement(sb.toString()); pstmt = connection.prepareStatement(sb.toString());
pstmt.setTimestamp(1, new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime())); pstmt.setInt(1, rmdId.intValue());
pstmt.setInt(2, empresaId);
pstmt.setInt(3, estadoId);
pstmt.setString(4, folioInicial);
pstmt.setString(5, folioFinal);
// pstmt = connection.prepareStatement(sb.toString());
pstmt.executeUpdate(); pstmt.executeUpdate();
} catch (Exception e) { } catch (Exception e) {
@ -3165,25 +3177,70 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
log.error("", e); log.error("", e);
} }
} }
}
marcarRMDBoletos(connection, boletos, null, null); private void insereConsulmoFolioRMD(Connection connection, Date dataBilhete, Integer empresaId, Integer estadoId, Aidf aidf,
String folio, boolean isCancela, boolean isInativa, boolean isImpresso, boolean isECF, boolean isBPR) {
PreparedStatement pstmt = null;
try {
StringBuilder sb = new StringBuilder();
sb.append(" insert into FOLIO_CONSUMO_RMD (FOLIOCONSUMORMD_ID, RMD_ID, FOLIO, ");
sb.append(" EMPRESA_ID, ESTADO_ID, INDCANCELACION, INDINACTIVO, INDIMPRESSO, FECHORFOLIO, ");
sb.append(" INDECF, INDBPR, ACTIVO, FECMODIF, USUARIO_ID) ");
sb.append(" values (").append("FOLIO_CONSUMO_RMD_SEQ.NEXTVAL").append(",");
sb.append(aidf.getAidfId()).append(",").append(folio).append(",");
sb.append(empresaId).append(",").append(estadoId).append(",");
if (isCancela)
sb.append(1).append(",").append(0).append(",").append(0).append(",");
else if (isInativa)
sb.append(0).append(",").append(1).append(",").append(0).append(",");
else if (isImpresso)
sb.append(0).append(",").append(0).append(",").append(1).append(",");
sb.append("?").append(",");
if (isECF)
sb.append(1).append(",").append(0).append(",");
else
sb.append(0).append(",").append(1).append(",");
sb.append(1).append(",").append("SYSDATE").append(",").append(UsuarioLogado.getUsuarioLogado().getUsuarioId()).append(")");
pstmt = connection.prepareStatement(sb.toString());
pstmt.setTimestamp(1, new java.sql.Timestamp(DateUtil.inicioFecha(dataBilhete).getTime()));
pstmt.executeUpdate();
} catch (Exception e) {
log.error("", e);
} finally {
try {
pstmt.close();
} catch (Exception e) {
log.error("", e);
}
}
} }
@Override @Override
public void gravarRMDBoleto(Connection connection, List<ImpressaoRMD> rmds, Aidf aidf, String folio) { public void gravarRMDBoleto(Connection connection, List<ImpressaoRMD> rmds, Aidf aidf, String folio, Integer empresaId, Integer estadoId, boolean isECF, boolean isBPR) {
int cont = 0; int cont = 0;
int rmdIterate = Integer.parseInt(folio); Integer rmdIterate = Integer.parseInt(folio);
rmdIterate = rmdIterate - 1; rmdIterate = rmdIterate - 1;
String boletoAgr = null; String boletoAgr = null;
List<String> boletos = new ArrayList<String>(); List<String> boletos = new ArrayList<String>();
int contBolto = 0; int contBolto = 0;
Date dataBilhete = null;
for (ImpressaoRMD imp : rmds) { for (ImpressaoRMD imp : rmds) {
if (dataBilhete == null)
dataBilhete = imp.getData();
// Numero maximo de itens na folha do RMD // Numero maximo de itens na folha do RMD
if (cont == 23) { if (cont == 23 || (!dataBilhete.equals(imp.getData()))) {
// add primeiro ou ultimo na lista de insercao dos boletos // add primeiro ou ultimo na lista de insercao dos boletos
boletos.add(boletoAgr); boletos.add(boletoAgr);
@ -3192,12 +3249,15 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
rmdIterate++; rmdIterate++;
cont = 0; cont = 0;
insereConsulmoFolioRMD(connection, dataBilhete, empresaId, estadoId, aidf, rmdIterate.toString(), false, false, true, isECF, isBPR);
marcarRMDBoletos(connection, boletos, aidf.getAidfId(), rmdIterate); marcarRMDBoletos(connection, boletos, aidf.getAidfId(), rmdIterate);
// limpa a lista de inseções do boleto // limpa a lista de inseções do boleto
boletos = new ArrayList<String>(); boletos = new ArrayList<String>();
boletoAgr = null; boletoAgr = null;
contBolto = 0; contBolto = 0;
dataBilhete = imp.getData();
} }
for (DetalhadoRMD det : imp.getDetalhada()) { for (DetalhadoRMD det : imp.getDetalhada()) {
@ -3218,9 +3278,12 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
cont++; cont++;
} }
rmdIterate++; if (boletos.isEmpty()) {
boletos.add(boletoAgr); rmdIterate++;
marcarRMDBoletos(connection, boletos, aidf.getAidfId(), rmdIterate); boletos.add(boletoAgr);
insereConsulmoFolioRMD(connection, dataBilhete, empresaId, estadoId, aidf, rmdIterate.toString(), false, false, true, isECF, isBPR);
marcarRMDBoletos(connection, boletos, aidf.getAidfId(), rmdIterate);
}
} }
private void marcarRMDBoletos(Connection connection, List<String> boletos, Long rmdId, Integer folio) { private void marcarRMDBoletos(Connection connection, List<String> boletos, Long rmdId, Integer folio) {
@ -3259,7 +3322,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
ImpressaoRMD impRmd = null; ImpressaoRMD impRmd = null;
for (DetalhadoRMD brp : buscarRegistroImpressaoBPR(connection, inicio, fim, empresaId, cveestado, null, null, true, false, false)) { for (DetalhadoRMD brp : buscarRegistroImpressaoBPR(connection, inicio, fim, empresaId, cveestado, null, null, null, true, false, false)) {
if (numPuntoVenta == 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(),
@ -3299,7 +3362,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
String datamov = null; String datamov = null;
ImpressaoRMD impRmd = null; ImpressaoRMD impRmd = null;
for (DetalhadoRMD brp : buscarRegistroImpressaoBPR(connection, inicio, fim, empresaId, cveestado, null, null, false, true, false)) { for (DetalhadoRMD brp : buscarRegistroImpressaoBPR(connection, inicio, fim, empresaId, cveestado, null, null, null, false, true, false)) {
Date dataMovimento = null; Date dataMovimento = null;
try { try {
dataMovimento = DateUtil.getDateFromString(brp.getDatamov(), DATE_FORMAT_FISCAL); dataMovimento = DateUtil.getDateFromString(brp.getDatamov(), DATE_FORMAT_FISCAL);
@ -3385,7 +3448,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
} }
public List<DetalhadoRMD> buscarRegistroImpressaoBPR(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 folioInicial, String folioFinal, boolean isManual, boolean isECF, boolean isCancelamento) {
List<DetalhadoRMD> list = new ArrayList<DetalhadoRMD>(); List<DetalhadoRMD> list = new ArrayList<DetalhadoRMD>();
try { try {
@ -3415,7 +3478,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
if (isCancelamento) { if (isCancelamento) {
ps.setLong(5, rmdId); ps.setLong(5, rmdId);
ps.setLong(6, NumberUtils.toLong(foliormd)); ps.setLong(6, NumberUtils.toLong(folioInicial));
ps.setLong(7, NumberUtils.toLong(folioFinal));
} }
ResultSet rs = ps.executeQuery(); ResultSet rs = ps.executeQuery();
@ -3452,6 +3516,11 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
brp.setNombPuntoVenta(rs.getString("nombPuntoVenta")); brp.setNombPuntoVenta(rs.getString("nombPuntoVenta"));
brp.setNumPuntoVenta(rs.getString("numPuntoVenta")); brp.setNumPuntoVenta(rs.getString("numPuntoVenta"));
if (isCancelamento) {
brp.setRmdId(rs.getInt("rmd_id"));
brp.setFoliormd(rs.getString("foliormd"));
}
if (isECF && !isCancelamento) { if (isECF && !isCancelamento) {
brp.setEcf(rs.getString("ecf")); brp.setEcf(rs.getString("ecf"));
brp.setDatamov(rs.getString("datamov")); brp.setDatamov(rs.getString("datamov"));
@ -3484,7 +3553,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" a.acfiscal as numAidf, "); sql.append(" a.acfiscal as numAidf, ");
sql.append(" a.serie as serieAidf, "); sql.append(" a.serie as serieAidf, ");
sql.append(" a.subserie as subSerieAidf, "); sql.append(" a.subserie as subSerieAidf, ");
sql.append(" trunc(b.fechorventa) as fechorVenta, "); sql.append(" trunc(b.feccreacion) as fechorVenta, ");
sql.append(" e.nombempresa as empresa, "); sql.append(" e.nombempresa as empresa, ");
sql.append(" coalesce(ie.cnpj, e.cnpj) as cnpjEmpresa, "); sql.append(" coalesce(ie.cnpj, e.cnpj) as cnpjEmpresa, ");
sql.append(" case when ie.logradouro is null "); sql.append(" case when ie.logradouro is null ");
@ -3550,7 +3619,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
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 e.empresa_id = ? "); sql.append(" and e.empresa_id = ? ");
sql.append(" and b.fechorventa between ? and ? "); sql.append(" and b.feccreacion between ? and ? ");
sql.append(" and coalesce(eos.cveestado, eo.cveestado) = ? "); sql.append(" and coalesce(eos.cveestado, eo.cveestado) = ? ");
sql.append("order by estadoId, fechorVenta, nombPuntoVenta, numPuntoVenta "); sql.append("order by estadoId, fechorVenta, nombPuntoVenta, numPuntoVenta ");
@ -3568,7 +3637,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" a.acfiscal as numAidf, "); sql.append(" a.acfiscal as numAidf, ");
sql.append(" a.serie as serieAidf, "); sql.append(" a.serie as serieAidf, ");
sql.append(" a.subserie as subSerieAidf, "); sql.append(" a.subserie as subSerieAidf, ");
sql.append(" trunc(b.fechorventa) as fechorVenta, "); sql.append(" trunc(b.feccreacion) as fechorVenta, ");
sql.append(" e.nombempresa as empresa, "); sql.append(" e.nombempresa as empresa, ");
sql.append(" coalesce(ie.cnpj, e.cnpj) as cnpjEmpresa, "); sql.append(" coalesce(ie.cnpj, e.cnpj) as cnpjEmpresa, ");
sql.append(" case when ie.logradouro is null "); sql.append(" case when ie.logradouro is null ");
@ -3664,7 +3733,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" a.acfiscal as numAidf, "); sql.append(" a.acfiscal as numAidf, ");
sql.append(" a.serie as serieAidf, "); sql.append(" a.serie as serieAidf, ");
sql.append(" a.subserie as subSerieAidf, "); sql.append(" a.subserie as subSerieAidf, ");
sql.append(" trunc(b.fechorventa) as fechorVenta, "); sql.append(" trunc(b.feccreacion) as fechorVenta, ");
sql.append(" e.nombempresa as empresa, "); sql.append(" e.nombempresa as empresa, ");
sql.append(" e.cnpj as cnpjEmpresa, "); sql.append(" e.cnpj as cnpjEmpresa, ");
sql.append(" e.logradouro || ', ' || e.numero || ' - ' || e.bairro || ', ' || ce.nombciudad "); sql.append(" e.logradouro || ', ' || e.numero || ' - ' || e.bairro || ', ' || ce.nombciudad ");
@ -3694,7 +3763,9 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" coalesce(b.importetaxaembarque, 0) as taxaEmbarque, "); sql.append(" coalesce(b.importetaxaembarque, 0) as taxaEmbarque, ");
sql.append(" coalesce(b.importepedagio, 0) as pedagio, "); sql.append(" coalesce(b.importepedagio, 0) as pedagio, ");
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(" b.rmd_id as rmd_id, ");
sql.append(" b.foliormd as foliormd ");
sql.append("from boleto b "); sql.append("from boleto b ");
sql.append(isECF ? " join fiscal_r4 r4 on b.boleto_id = r4.boleto_id " : ""); sql.append(isECF ? " join fiscal_r4 r4 on b.boleto_id = r4.boleto_id " : "");
@ -3730,11 +3801,11 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append("where e.empresa_id = ? "); sql.append("where e.empresa_id = ? ");
sql.append(isECF ? " and r4.datamov between ? and ? " : ""); sql.append(isECF ? " and r4.datamov between ? and ? " : "");
sql.append(isManual ? " and b.fechorventa between ? and ? " : ""); sql.append(isManual ? " and b.feccreacion 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 = ? ");
sql.append(" and b.foliormd = ? "); sql.append(" and b.foliormd between ? and ? ");
return sql.toString(); return sql.toString();
} }
@ -4007,7 +4078,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" b.caja_id as cajaId, "); sql.append(" b.caja_id as cajaId, ");
sql.append(" 'REC' as tipoReceita, "); sql.append(" 'REC' as tipoReceita, ");
sql.append(" b.numoperacion as numoperacion, "); sql.append(" b.numoperacion as numoperacion, ");
sql.append(" trunc(b.fechorventa) as fechorVenta, "); sql.append(" trunc(b.feccreacion) as fechorVenta, ");
sql.append(" coalesce(eos.estado_id, eo.estado_id) as estadoId, "); sql.append(" coalesce(eos.estado_id, eo.estado_id) as estadoId, ");
sql.append(" coalesce(ei.icms, eo.icms) as icmsInterestadual, "); sql.append(" coalesce(ei.icms, eo.icms) as icmsInterestadual, ");
sql.append(" ei.icmsim as icmsIntermunicipal, "); sql.append(" ei.icmsim as icmsIntermunicipal, ");
@ -4072,7 +4143,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" b.caja_id as cajaId, "); sql.append(" b.caja_id as cajaId, ");
sql.append(" 'REC' as tipoReceita, "); sql.append(" 'REC' as tipoReceita, ");
sql.append(" b.numoperacion as numoperacion, "); sql.append(" b.numoperacion as numoperacion, ");
sql.append(" trunc(b.fechorventa) as fechorVenta, "); sql.append(" trunc(b.feccreacion) as fechorVenta, ");
sql.append(" coalesce(eos.estado_id, eo.estado_id) as estadoId, "); sql.append(" coalesce(eos.estado_id, eo.estado_id) as estadoId, ");
sql.append(" coalesce(ei.icms, eo.icms) as icmsInterestadual, "); sql.append(" coalesce(ei.icms, eo.icms) as icmsInterestadual, ");
sql.append(" ei.icmsim as icmsIntermunicipal, "); sql.append(" ei.icmsim as icmsIntermunicipal, ");
@ -4100,7 +4171,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" coalesce(b.importepedagio, 0) as pedagio, "); sql.append(" coalesce(b.importepedagio, 0) as pedagio, ");
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(" to_char(trunc(b.fechorventa), 'yyyymmdd') as datamov "); sql.append(" to_char(trunc(b.feccreacion), 'yyyymmdd') as datamov ");
sql.append("from caja b "); sql.append("from caja b ");
sql.append(" join marca m on b.marca_id = m.marca_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 empresa e on e.empresa_id = m.empresa_id ");
@ -4128,7 +4199,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append("where b.tipoventa_id = 3 "); sql.append("where b.tipoventa_id = 3 ");
sql.append(" and (b.indstatusboleto like 'V' or b.indstatusboleto like 'C') "); sql.append(" and (b.indstatusboleto like 'V' or b.indstatusboleto like 'C') ");
sql.append(" and e.empresa_id = :EMPRESA_ID "); sql.append(" and e.empresa_id = :EMPRESA_ID ");
sql.append(" and b.fechorventa between :DATE_INICIO and :DATE_FIM "); sql.append(" and b.feccreacion between :DATE_INICIO and :DATE_FIM ");
sql.append(" and coalesce(eos.cveestado, eo.cveestado) in ( ").append(ufs).append(" ) "); sql.append(" and coalesce(eos.cveestado, eo.cveestado) in ( ").append(ufs).append(" ) ");
sql.append("order by estadoId, isInterEstadual "); sql.append("order by estadoId, isInterEstadual ");
@ -4142,7 +4213,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" caj.caja_id as cajaId, "); sql.append(" caj.caja_id as cajaId, ");
sql.append(" 'DEV' as tipoReceita, "); sql.append(" 'DEV' as tipoReceita, ");
sql.append(" caj.numoperacion as numoperacion, "); sql.append(" caj.numoperacion as numoperacion, ");
sql.append(" trunc(caj.fechorventa) as fechorVenta, "); sql.append(" trunc(caj.feccreacion) as fechorVenta, ");
sql.append(" coalesce(eos.estado_id, eo.estado_id) as estadoId, "); sql.append(" coalesce(eos.estado_id, eo.estado_id) as estadoId, ");
sql.append(" coalesce(ei.icms, eo.icms) as icmsInterestadual, "); sql.append(" coalesce(ei.icms, eo.icms) as icmsInterestadual, ");
sql.append(" ei.icmsim as icmsIntermunicipal, "); sql.append(" ei.icmsim as icmsIntermunicipal, ");
@ -4203,7 +4274,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
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("where caj.tipoventa_id <> 3 "); sql.append("where caj.tipoventa_id <> 3 ");
sql.append(" and e.empresa_id = :EMPRESA_ID "); sql.append(" and e.empresa_id = :EMPRESA_ID ");
sql.append(" and caj.fechorventa between :DATE_INICIO and :DATE_FIM "); sql.append(" and caj.feccreacion between :DATE_INICIO and :DATE_FIM ");
sql.append(" and caj.motivocancelacion_id in (31,32,10,37,99,36) "); sql.append(" and caj.motivocancelacion_id in (31,32,10,37,99,36) ");
sql.append(" and caj.indcancelacion = 1 "); sql.append(" and caj.indcancelacion = 1 ");
sql.append(" and caj.indstatusboleto = 'C' "); sql.append(" and caj.indstatusboleto = 'C' ");
@ -4216,7 +4287,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" caj.caja_id as cajaId, "); sql.append(" caj.caja_id as cajaId, ");
sql.append(" 'DEV' as tipoReceita, "); sql.append(" 'DEV' as tipoReceita, ");
sql.append(" caj.numoperacion as numoperacion, "); sql.append(" caj.numoperacion as numoperacion, ");
sql.append(" trunc(caj.fechorventa) as fechorVenta, "); sql.append(" trunc(caj.feccreacion) as fechorVenta, ");
sql.append(" coalesce(eos.estado_id, eo.estado_id) as estadoId, "); sql.append(" coalesce(eos.estado_id, eo.estado_id) as estadoId, ");
sql.append(" coalesce(ei.icms, eo.icms) as icmsInterestadual, "); sql.append(" coalesce(ei.icms, eo.icms) as icmsInterestadual, ");
sql.append(" ei.icmsim as icmsIntermunicipal, "); sql.append(" ei.icmsim as icmsIntermunicipal, ");
@ -4244,7 +4315,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
sql.append(" coalesce(caj.importepedagio, 0) as pedagio, "); sql.append(" coalesce(caj.importepedagio, 0) as pedagio, ");
sql.append(" coalesce(caj.importeseguro, 0) as seguro, "); sql.append(" coalesce(caj.importeseguro, 0) as seguro, ");
sql.append(" coalesce(caj.importeoutros, 0) as outros, "); sql.append(" coalesce(caj.importeoutros, 0) as outros, ");
sql.append(" to_char(trunc(caj.fechorventa), 'yyyymmdd') as datamov "); sql.append(" to_char(trunc(caj.feccreacion), 'yyyymmdd') as datamov ");
sql.append("from caja caj "); sql.append("from caja caj ");
sql.append(" inner join caja cajb on (((cajb.feccorrida = caj.feccorrida) or (cajb.feccorrida is null and caj.feccorrida is null)) "); sql.append(" inner join caja cajb on (((cajb.feccorrida = caj.feccorrida) or (cajb.feccorrida is null and caj.feccorrida is null)) ");
sql.append(" and ((cajb.numasiento = caj.numasiento) or (cajb.numasiento is null and caj.numasiento is null)) "); sql.append(" and ((cajb.numasiento = caj.numasiento) or (cajb.numasiento is null and caj.numasiento is null)) ");
@ -4275,7 +4346,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
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("where cajb.tipoventa_id <> 3 "); sql.append("where cajb.tipoventa_id <> 3 ");
sql.append(" and e.empresa_id = :EMPRESA_ID "); sql.append(" and e.empresa_id = :EMPRESA_ID ");
sql.append(" and caj.fechorventa between :DATE_INICIO and :DATE_FIM "); sql.append(" and caj.feccreacion between :DATE_INICIO and :DATE_FIM ");
sql.append(" and caj.motivocancelacion_id in (31,32,10,37,99,36) "); sql.append(" and caj.motivocancelacion_id in (31,32,10,37,99,36) ");
sql.append(" and caj.indcancelacion = 1 "); sql.append(" and caj.indcancelacion = 1 ");
sql.append(" and caj.indstatusboleto = 'C' "); sql.append(" and caj.indstatusboleto = 'C' ");

View File

@ -41,4 +41,6 @@ public interface AidfService {
public List<Aidf> buscaAidfRMD(Integer empresaId, Integer estadoId); public List<Aidf> buscaAidfRMD(Integer empresaId, Integer estadoId);
public String buscaUltimoAidfRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId); public String buscaUltimoAidfRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId);
public boolean vaidaRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId, String folio);
} }

View File

@ -51,9 +51,9 @@ public interface FiscalService {
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);
public void gravarRMDBoleto(List<ImpressaoRMD> rmds, Aidf aidf, String folio); public void gravarRMDBoleto(List<ImpressaoRMD> rmds, Aidf aidf, String folio, Empresa empresa, Estado estado, boolean isECF, boolean isBPR);
public void cancelarRMDBoleto(Date inicio, Date fim, Empresa empresa, Estado estado, Aidf aidf, String folio, boolean isCancela, boolean isInativa, boolean isECF, boolean isBPR); public void cancelarRMDBoleto(Date inicio, Date fim, Empresa empresa, Estado estado, Aidf aidf, String folioInicial, String folioFinal, boolean isCancela, boolean isInativa, boolean isECF, boolean isBPR);
public List<FiscalRdi> buscarRelatorioRDI(Date inicio, Date fim, Empresa empresa, List<Estado> estados, boolean isReceitaTerceiros); public List<FiscalRdi> buscarRelatorioRDI(Date inicio, Date fim, Empresa empresa, List<Estado> estados, boolean isReceitaTerceiros);
} }

View File

@ -143,4 +143,9 @@ public class AidfServiceImpl implements AidfService {
return aidfDAO.buscaUltimoAidfRMDUtilizado(idAidf, empresaId, estadoId); return aidfDAO.buscaUltimoAidfRMDUtilizado(idAidf, empresaId, estadoId);
} }
@Override
public boolean vaidaRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId, String folio) {
return aidfDAO.vaidaRMDUtilizado(idAidf, empresaId, estadoId, folio);
}
} }

View File

@ -105,11 +105,11 @@ public class FiscalServiceImpl implements FiscalService {
} }
@Override @Override
public void gravarRMDBoleto(List<ImpressaoRMD> rmds, Aidf aidf, String folio) { public void gravarRMDBoleto(List<ImpressaoRMD> rmds, Aidf aidf, String folio, Empresa empresa, Estado estado, boolean isECF, boolean isBPR) {
Connection connection = null; Connection connection = null;
try { try {
connection = getConnection(); connection = getConnection();
fiscalDAO.gravarRMDBoleto(connection, rmds, aidf, folio); fiscalDAO.gravarRMDBoleto(connection, rmds, aidf, folio, empresa.getEmpresaId(), estado.getEstadoId(), isECF, isBPR);
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
} finally { } finally {
@ -125,11 +125,11 @@ public class FiscalServiceImpl implements FiscalService {
} }
@Override @Override
public void cancelarRMDBoleto(Date inicio, Date fim, Empresa empresa, Estado estado, Aidf aidf, String folio, boolean isCancela, boolean isInativa, boolean isECF, boolean isBPR) { public void cancelarRMDBoleto(Date inicio, Date fim, Empresa empresa, Estado estado, Aidf aidf, String folioInicial, String folioFinal, boolean isCancela, boolean isInativa, boolean isECF, boolean isBPR) {
Connection connection = null; Connection connection = null;
try { try {
connection = getConnection(); connection = getConnection();
fiscalDAO.cancelarRMDBoleto(connection, inicio, fim, empresa.getEmpresaId(), estado, aidf, folio, isCancela, fiscalDAO.cancelarRMDBoleto(connection, inicio, fim, empresa.getEmpresaId(), estado, aidf, folioInicial, folioFinal, isCancela,
isInativa, isECF, isBPR); isInativa, isECF, isBPR);
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);

View File

@ -43,6 +43,9 @@ public class DetalhadoRMD {
private String totalFiscal; private String totalFiscal;
private String estadoImpressora; private String estadoImpressora;
private Integer rmdId;
private String foliormd;
public Long getBoletoId() { public Long getBoletoId() {
return boletoId; return boletoId;
} }
@ -323,4 +326,20 @@ public class DetalhadoRMD {
this.estadoImpressora = estadoImpressora; this.estadoImpressora = estadoImpressora;
} }
public Integer getRmdId() {
return rmdId;
}
public void setRmdId(Integer rmdId) {
this.rmdId = rmdId;
}
public String getFoliormd() {
return foliormd;
}
public void setFoliormd(String foliormd) {
this.foliormd = foliormd;
}
} }