diff --git a/src/com/rjconsultores/ventaboletos/dao/AidfDAO.java b/src/com/rjconsultores/ventaboletos/dao/AidfDAO.java index 96fa7fe8a..054793324 100644 --- a/src/com/rjconsultores/ventaboletos/dao/AidfDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/AidfDAO.java @@ -20,4 +20,5 @@ public interface AidfDAO extends GenericDAO { public String buscaUltimoAidfRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId); + public boolean vaidaRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId, String folio); } diff --git a/src/com/rjconsultores/ventaboletos/dao/FiscalDAO.java b/src/com/rjconsultores/ventaboletos/dao/FiscalDAO.java index 297f2a79e..f87daa82b 100644 --- a/src/com/rjconsultores/ventaboletos/dao/FiscalDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/FiscalDAO.java @@ -61,9 +61,9 @@ public interface FiscalDAO { public List getRegistroImpressaoRMDTipoECF(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, String rmd, String folio); - public void gravarRMDBoleto(Connection connection, List rmds, Aidf aidf, String folio); + public void gravarRMDBoleto(Connection connection, List 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 buscarRelatorioRDI(Connection connection, Date inicio, Date fim, Integer empresaId, List estados, boolean isReceitaTerceiros); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/AidfHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/AidfHibernateDAO.java index d0af23727..c9404fe9a 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/AidfHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/AidfHibernateDAO.java @@ -156,19 +156,48 @@ public class AidfHibernateDAO extends GenericHibernateDAO implements public String buscaUltimoAidfRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId) { StringBuilder sb = new StringBuilder(); - sb.append(" select to_char( to_number(max(b.foliormd) + 1 ) ) "); - sb.append(" from boleto b "); - sb.append(" inner join marca m on b.marca_id = m.marca_id "); - sb.append(" inner join parada po on po.parada_id = b.origen_id "); - sb.append(" inner join ciudad co on co.ciudad_id = po.ciudad_id "); - sb.append(" where m.empresa_id = :empresaId "); - sb.append(" and b.rmd_id = :rmdId "); - sb.append(" and co.estado_id = :estadoId "); + 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 "); Query query = getSession().createSQLQuery(sb.toString()); query.setLong("rmdId", idAidf); query.setInteger("empresaId", empresaId); 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; } } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java index d9ea10b56..895352b7f 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java @@ -3105,12 +3105,21 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO @Override 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 boletos = new ArrayList(); String boletoAgr = null; int cont = 0; - for (DetalhadoRMD brp : buscarRegistroImpressaoBPR(connection, inicio, fim, empresaId, estado.getCveestado(), aidf.getAidfId(), folio, isBPR, isECF, true)) { + + List foliosRmd = new ArrayList(); + + 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) { boletos.add(boletoAgr); @@ -3125,35 +3134,38 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO cont++; } - 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; 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, 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(estado.getEstadoId()).append(","); - - if (isCancela) - 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(")"); + sb.append(" update folio_consumo_rmd "); + sb.append(" set activo = 0, fecmodif = sysdate "); + sb.append(" where activo = 1 "); + sb.append(" and indimpresso = 1 "); + sb.append(" and rmd_id = ? "); + sb.append(" and empresa_id = ? "); + sb.append(" and estado_id = ? "); + sb.append(" and folio between ? and ? "); 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(); } catch (Exception e) { @@ -3165,25 +3177,70 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO 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 - public void gravarRMDBoleto(Connection connection, List rmds, Aidf aidf, String folio) { + public void gravarRMDBoleto(Connection connection, List rmds, Aidf aidf, String folio, Integer empresaId, Integer estadoId, boolean isECF, boolean isBPR) { int cont = 0; - int rmdIterate = Integer.parseInt(folio); + Integer rmdIterate = Integer.parseInt(folio); rmdIterate = rmdIterate - 1; String boletoAgr = null; List boletos = new ArrayList(); int contBolto = 0; + Date dataBilhete = null; for (ImpressaoRMD imp : rmds) { + if (dataBilhete == null) + dataBilhete = imp.getData(); + // 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 boletos.add(boletoAgr); @@ -3192,12 +3249,15 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO rmdIterate++; cont = 0; + insereConsulmoFolioRMD(connection, dataBilhete, empresaId, estadoId, aidf, rmdIterate.toString(), false, false, true, isECF, isBPR); + marcarRMDBoletos(connection, boletos, aidf.getAidfId(), rmdIterate); // limpa a lista de inseções do boleto boletos = new ArrayList(); boletoAgr = null; contBolto = 0; + dataBilhete = imp.getData(); } for (DetalhadoRMD det : imp.getDetalhada()) { @@ -3217,10 +3277,13 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO } cont++; } - - rmdIterate++; - boletos.add(boletoAgr); - marcarRMDBoletos(connection, boletos, aidf.getAidfId(), rmdIterate); + + if (boletos.isEmpty()) { + 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 boletos, Long rmdId, Integer folio) { @@ -3259,7 +3322,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO 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) { 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; 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; try { dataMovimento = DateUtil.getDateFromString(brp.getDatamov(), DATE_FORMAT_FISCAL); @@ -3385,7 +3448,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO } public List 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 list = new ArrayList(); try { @@ -3415,7 +3478,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO if (isCancelamento) { 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(); @@ -3452,6 +3516,11 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO brp.setNombPuntoVenta(rs.getString("nombPuntoVenta")); brp.setNumPuntoVenta(rs.getString("numPuntoVenta")); + if (isCancelamento) { + brp.setRmdId(rs.getInt("rmd_id")); + brp.setFoliormd(rs.getString("foliormd")); + } + if (isECF && !isCancelamento) { brp.setEcf(rs.getString("ecf")); 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.serie as serieAidf, "); 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(" coalesce(ie.cnpj, e.cnpj) as cnpjEmpresa, "); 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.indstatusboleto = 'V' "); 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("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.serie as serieAidf, "); 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(" coalesce(ie.cnpj, e.cnpj) as cnpjEmpresa, "); 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.serie as serieAidf, "); 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.cnpj as cnpjEmpresa, "); 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.importepedagio, 0) as pedagio, "); 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(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(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 b.rmd_id = ? "); - sql.append(" and b.foliormd = ? "); + sql.append(" and b.foliormd between ? and ? "); return sql.toString(); } @@ -4007,7 +4078,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" b.caja_id as cajaId, "); sql.append(" 'REC' as tipoReceita, "); 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(ei.icms, eo.icms) as icmsInterestadual, "); 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(" 'REC' as tipoReceita, "); 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(ei.icms, eo.icms) as icmsInterestadual, "); 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.importeseguro, 0) as seguro, "); 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(" join marca m on b.marca_id = m.marca_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(" and (b.indstatusboleto like 'V' or b.indstatusboleto like 'C') "); 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("order by estadoId, isInterEstadual "); @@ -4142,7 +4213,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO sql.append(" caj.caja_id as cajaId, "); sql.append(" 'DEV' as tipoReceita, "); 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(ei.icms, eo.icms) as icmsInterestadual, "); 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("where caj.tipoventa_id <> 3 "); 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.indcancelacion = 1 "); 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(" 'DEV' as tipoReceita, "); 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(ei.icms, eo.icms) as icmsInterestadual, "); 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.importeseguro, 0) as seguro, "); 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(" 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)) "); @@ -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("where cajb.tipoventa_id <> 3 "); 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.indcancelacion = 1 "); sql.append(" and caj.indstatusboleto = 'C' "); diff --git a/src/com/rjconsultores/ventaboletos/service/AidfService.java b/src/com/rjconsultores/ventaboletos/service/AidfService.java index 78ec46ed4..67a74cc56 100644 --- a/src/com/rjconsultores/ventaboletos/service/AidfService.java +++ b/src/com/rjconsultores/ventaboletos/service/AidfService.java @@ -41,4 +41,6 @@ public interface AidfService { public List buscaAidfRMD(Integer empresaId, Integer estadoId); public String buscaUltimoAidfRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId); + + public boolean vaidaRMDUtilizado(Long idAidf, Integer empresaId, Integer estadoId, String folio); } diff --git a/src/com/rjconsultores/ventaboletos/service/FiscalService.java b/src/com/rjconsultores/ventaboletos/service/FiscalService.java index b16a38eac..4dec7225f 100644 --- a/src/com/rjconsultores/ventaboletos/service/FiscalService.java +++ b/src/com/rjconsultores/ventaboletos/service/FiscalService.java @@ -51,9 +51,9 @@ public interface FiscalService { public List getRegistroImpressaoRMDTipoECF(Date inicio, Date fim, Empresa empresa, Estado estado, String rmd, String folio); - public void gravarRMDBoleto(List rmds, Aidf aidf, String folio); + public void gravarRMDBoleto(List 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 buscarRelatorioRDI(Date inicio, Date fim, Empresa empresa, List estados, boolean isReceitaTerceiros); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java index c124ea848..9519fc784 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/AidfServiceImpl.java @@ -142,5 +142,10 @@ public class AidfServiceImpl implements AidfService { public String buscaUltimoAidfRMDUtilizado(Long idAidf, Integer empresaId, Integer 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); + } } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java index cffa965d5..273e25212 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java @@ -105,11 +105,11 @@ public class FiscalServiceImpl implements FiscalService { } @Override - public void gravarRMDBoleto(List rmds, Aidf aidf, String folio) { + public void gravarRMDBoleto(List rmds, Aidf aidf, String folio, Empresa empresa, Estado estado, boolean isECF, boolean isBPR) { Connection connection = null; try { connection = getConnection(); - fiscalDAO.gravarRMDBoleto(connection, rmds, aidf, folio); + fiscalDAO.gravarRMDBoleto(connection, rmds, aidf, folio, empresa.getEmpresaId(), estado.getEstadoId(), isECF, isBPR); } catch (Exception e) { log.error(e.getMessage(), e); } finally { @@ -125,11 +125,11 @@ public class FiscalServiceImpl implements FiscalService { } @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; try { 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); } catch (Exception e) { log.error(e.getMessage(), e); diff --git a/src/com/rjconsultores/ventaboletos/utilerias/impressaormd/vo/DetalhadoRMD.java b/src/com/rjconsultores/ventaboletos/utilerias/impressaormd/vo/DetalhadoRMD.java index 1d9f005b4..75fd8c578 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/impressaormd/vo/DetalhadoRMD.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/impressaormd/vo/DetalhadoRMD.java @@ -43,6 +43,9 @@ public class DetalhadoRMD { private String totalFiscal; private String estadoImpressora; + private Integer rmdId; + private String foliormd; + public Long getBoletoId() { return boletoId; } @@ -323,4 +326,20 @@ public class DetalhadoRMD { 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; + } + }