From 9bdbb38ddebdad603d4e972cf4eb8031f5d4cb42 Mon Sep 17 00:00:00 2001 From: fabio Date: Fri, 12 Jul 2019 21:27:04 +0000 Subject: [PATCH] =?UTF-8?q?fixes=20bug#14929=20dev:=20Lucas=20Silv=C3=A9ri?= =?UTF-8?q?o=20qua:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@95724 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../dao/RemessaCNABBancosDAO.java | 2 +- .../RemessaCNABBancosHibernateDAO.java | 92 ++++++++++++------- .../entidad/FechamentoBoleto.java | 4 - .../service/ArquivoRemessaCNAB.java | 2 +- .../service/impl/ArquivoRemessaCNABImpl.java | 4 +- 5 files changed, 65 insertions(+), 39 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/RemessaCNABBancosDAO.java b/src/com/rjconsultores/ventaboletos/dao/RemessaCNABBancosDAO.java index 669aa3478..9289ede75 100644 --- a/src/com/rjconsultores/ventaboletos/dao/RemessaCNABBancosDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/RemessaCNABBancosDAO.java @@ -21,7 +21,7 @@ public interface RemessaCNABBancosDAO extends GenericDAO public ArquivoRemessa remessaBancoBrasil(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) throws Exception; - public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte); + public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar); public List getEmpresas(); diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/RemessaCNABBancosHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/RemessaCNABBancosHibernateDAO.java index f1290d098..4aa102fa5 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/RemessaCNABBancosHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/RemessaCNABBancosHibernateDAO.java @@ -6,6 +6,7 @@ import java.sql.Statement; import java.text.DateFormat; import java.text.DecimalFormat; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -44,6 +45,8 @@ import com.rjconsultores.ventaboletos.blocos.santander.DetalheObrigatorioSantand import com.rjconsultores.ventaboletos.dao.RemessaCNABBancosDAO; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.FechamentoBoleto; +import com.rjconsultores.ventaboletos.entidad.FechamentoCntcorrente; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.enuns.AceiteBB; import com.rjconsultores.ventaboletos.enuns.BancoLayout; import com.rjconsultores.ventaboletos.enuns.TipoInscricaoPagador; @@ -82,7 +85,7 @@ public class RemessaCNABBancosHibernateDAO extends GenericHibernateDAO obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte) { + public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) { StringBuilder sb = new StringBuilder(); - sb.append("SELECT fb "); - sb.append("FROM FechamentoBoleto fb "); - sb.append("JOIN FETCH fb.fechamentoCntcorrente fc "); - sb.append("JOIN FETCH fc.empresa emp "); - sb.append("WHERE fb.activo = 1 "); - sb.append("AND fc.activo = 1 "); - sb.append("AND emp.activo = 1"); - //sb.append("AND fb.remessaId IS NULL "); - sb.append("AND fb.status = 'I' "); - if (empresa != null && empresa.getEmpresaId() != null) { - sb.append("AND emp.empresaId = " + empresa.getEmpresaId()); - } + sb.append(" SELECT "); + sb.append(" fb.FECHAMENTOBOLETO_ID AS fechamentoboletoId, "); + sb.append(" fb.nossonumero, "); + sb.append(" fb.FECDOCUMENTO, "); + sb.append(" fb.FECVENCIMENTO, "); + sb.append(" fb.VALORDOCUMENTO, "); + sb.append(" fb.STATUS, "); + sb.append(" fb.REMESSA_ID as remessaId, "); + sb.append(" fc.FECHAMENTOCNTCORRENTE_ID as fcId, "); + sb.append(" emp.NOMBEMPRESA, "); + sb.append(" pv.NOMBPUNTOVENTA, "); + sb.append(" emp.EMPRESA_ID AS codEmpresaBanco, "); + sb.append(" pv.PUNTOVENTA_ID "); + + writeFROMClause(sb, dataDe != null && dataAte != null, reenviar); + + Query query = getSession().createSQLQuery(sb.toString()); + query.setInteger("empresaId", empresa.getEmpresaId()); + if(dataDe != null && dataAte != null){ - sb.append(" AND fb.fecdocumento BETWEEN :dataDe AND :dataAte"); + query.setDate("dataDe", dataDe); + query.setDate("dataAte", dataAte); } - Query c = getSession().createQuery(sb.toString()); - if(dataDe != null && dataDe != null){ - c.setDate("dataDe", dataDe); - c.setDate("dataAte", dataAte); + List list = query.list(); + List retorno = new ArrayList(); + + for(Object[] tupla : list){ + FechamentoBoleto fb = new FechamentoBoleto(); + fb.setFechamentoboletoId( Long.valueOf(tupla[0].toString())); + fb.setNossonumero( tupla[1].toString()); + fb.setFecdocumento( (Date)tupla[2]); + fb.setFecvencimento( (Date)tupla[3]); + fb.setValordocumento( (BigDecimal)tupla[4]); + fb.setStatus( tupla[5].toString() ); + fb.setRemessaId( tupla[6]==null?null:Long.valueOf(tupla[6].toString()) ); + + FechamentoCntcorrente fcc = new FechamentoCntcorrente(); + fcc.setFechamentocntcorrenteId( Long.valueOf(tupla[7].toString())); + + Integer codEmpresaBanco = tupla[10] != null ? Integer.valueOf(tupla[10].toString()) : 0; + fcc.setEmpresa( new Empresa(codEmpresaBanco, tupla[8].toString())); + + Integer codPuntoVenta = tupla[11] != null ? Integer.valueOf(tupla[11].toString()) : 0; + fcc.setPuntoventa( new PuntoVenta(codPuntoVenta, tupla[9].toString())); + + fb.setFechamentoCntcorrente(fcc); + + retorno.add(fb); } + - return (List) c.list(); + return retorno; } @Override diff --git a/src/com/rjconsultores/ventaboletos/entidad/FechamentoBoleto.java b/src/com/rjconsultores/ventaboletos/entidad/FechamentoBoleto.java index 6bc238b98..6b275cb53 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/FechamentoBoleto.java +++ b/src/com/rjconsultores/ventaboletos/entidad/FechamentoBoleto.java @@ -19,10 +19,6 @@ import javax.persistence.TemporalType; @Table(name = "FECHAMENTO_BOLETO") public class FechamentoBoleto implements java.io.Serializable{ - - /** - * - */ private static final long serialVersionUID = 1L; @SequenceGenerator(name = "FECHAMENTO_BOLETO_SEQ", sequenceName = "FECHAMENTO_BOLETO_SEQ", allocationSize = 1) diff --git a/src/com/rjconsultores/ventaboletos/service/ArquivoRemessaCNAB.java b/src/com/rjconsultores/ventaboletos/service/ArquivoRemessaCNAB.java index 6e290734b..55cea86a2 100644 --- a/src/com/rjconsultores/ventaboletos/service/ArquivoRemessaCNAB.java +++ b/src/com/rjconsultores/ventaboletos/service/ArquivoRemessaCNAB.java @@ -11,7 +11,7 @@ public interface ArquivoRemessaCNAB extends GenericService obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte); + public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar); public Boolean atualizaRemessa(Empresa empresa, ArquivoRemessa arquivoRemessa) throws Exception; diff --git a/src/com/rjconsultores/ventaboletos/service/impl/ArquivoRemessaCNABImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/ArquivoRemessaCNABImpl.java index 99f8d47ea..5900d8e06 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/ArquivoRemessaCNABImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/ArquivoRemessaCNABImpl.java @@ -56,8 +56,8 @@ public class ArquivoRemessaCNABImpl implements ArquivoRemessaCNAB { } @Override - public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte) { - return remessaCNABBancosDAO.obtenerTodosParaRemessa(empresa, dataDe, dataAte); + public List obtenerTodosParaRemessa(Empresa empresa, Date dataDe, Date dataAte, Boolean reenviar) { + return remessaCNABBancosDAO.obtenerTodosParaRemessa(empresa, dataDe, dataAte, reenviar); } @Override